浏览代码

发布需求

jack 8 年之前
父节点
当前提交
180797c42e
共有 2 个文件被更改,包括 192 次插入33 次删除
  1. 14 33
      app/html/needIssue.html
  2. 178 0
      app/js/needIssue.js

+ 14 - 33
app/html/needIssue.html

@ -47,23 +47,23 @@
47 47
							<div class="littip"></div>
48 48
						</li>
49 49
						<li><label>需求主题<em class="requiredcon"></em></label></li>
50
						<li class="basicfrm"><input type="text" name="comname" placeholder="请用一句话概括您的需求" class="mui-input-clear frmtype"></li>
50
						<li class="basicfrm"><input type="text" name="comname" placeholder="请用一句话概括您的需求" class="mui-input-clear frmtype" id="demandContent"></li>
51 51
						<li><label>需求内容<em class="requiredcon" ></em></label></li>
52 52
						<li class="divideSpace" style="height:auto">
53 53
							<div class="textareabox textareaboxEmp borderarea" contenteditable="true" placeholder="请详细描述您遇到的问题,以便为您找到最合适的专家"></div>
54
							<div class="limitNum">您还能输入<span class="countNum">300</span> 字</div>
54
							<div class="limitNum">您还能输入<span id="countNum">300</span> 字</div>
55 55
						</li>
56 56
						<li><label>请选择需求涉及的行业或领域(可多选)</label></li>
57 57
						<li class="divideSpace">
58 58
							<ul class="hotsearch chooseBox">
59
					       		<li><span>材料检测</span></li>
60
					       		<li><span>防腐蚀</span></li>
61
					       		<li class="checkedLi"><span>金属基复合材料</span></li>
62
					       		<li class="checkedLi"><span>金属基复合材料</span></li>
63
					       		<li><span>微晶金属材料</span></li>
64
					       		<li class="checkedLi"><span>金属基复合材料</span></li>
65
					       		<li><span>微晶金属材料</span></li>
66
					       		<li><span>微晶金属材料</span></li>
59
					       		<!--<li><span>材料检测</span></li>
60
					       		<li><span>防腐蚀</span></li>
61
					       		<li class="checkedLi"><span>金属基复合材料</span></li>
62
					       		<li class="checkedLi"><span>金属基复合材料</span></li>
63
					       		<li><span>微晶金属材料</span></li>
64
					       		<li class="checkedLi"><span>金属基复合材料</span></li>
65
					       		<li><span>微晶金属材料</span></li>
66
					       		<li><span>微晶金属材料</span></li>-->
67 67
					       </ul>
68 68
						</li>
69 69
						<li class="divideSpace">
@ -72,9 +72,9 @@
72 72
								<button class="mui-btn mui-pull-left addlabelbtn">添加</button>
73 73
							</div>
74 74
							<div class="labelarea">
75
	                        	<ul class="labelshow chooseBox">
76
						       		<li>4565566<em class='mui-icon mui-icon-closeempty'></em></li>
77
						       		<li>4565566<em class='mui-icon mui-icon-closeempty'></em></li>
75
	                        	<ul class="labelshow chooseBox" id="labelshow">
76
						       		<!--<li>4565566<em class='mui-icon mui-icon-closeempty'></em></li>
77
						       		<li>4565566<em class='mui-icon mui-icon-closeempty'></em></li>-->
78 78
						       	</ul>
79 79
	                        </div>
80 80
						</li>
@ -84,26 +84,7 @@
84 84
		</div>
85 85
		<script src="../js/public/mui.min.js"></script>
86 86
		<script src="../js/public/base.js"></script>
87
		<script type="text/javascript"> 
88
			//处理iOS下弹出软键盘后头部会随页面的滚动条消失问题
89
		    iosheader();
90
		     mui.plusReady(function(){
91
		    	var self = plus.webview.currentWebview();
92
		    })
93
			tab("navsub");//身份切换
94
			function tab(name) { 
95
				var oDome = document.getElementById(name);
96
				var oSpan = oDome.getElementsByTagName('ul')[0].childNodes;
97
				for(var i = 0; i < oSpan.length; i++) {
98
					oSpan[i].onclick = function() {
99
						for(var i = 0; i < oSpan.length; i++) {
100
							oSpan[i].className = '';
101
						}
102
						this.className = 'set';
103
					}
104
				}
105
			}
106
		</script>
87
		<script type="text/javascript" src="../js/needIssue.js"></script>
107 88
	</body>
108 89
109 90
</html>

+ 178 - 0
app/js/needIssue.js

@ -0,0 +1,178 @@
1
mui.ready(function() {
2
	mui.plusReady(function() {
3
		var userid = plus.storage.getItem('userid');
4
		var ws = plus.webview.currentWebview();
5
		var oconsultcon = document.getElementsByClassName("borderarea")[0];
6
		var demandContent = document.getElementById("demandContent");
7
		var oNavsub = document.getElementById("navsub");
8
		var consun;
9
		//处理iOS下弹出软键盘后头部会随页面的滚动条消失问题
10
		iosheader();
11
		tab("navsub"); //身份切换
12
		function tab(name) {
13
			var oDome = document.getElementById(name);
14
			var oSpan = oDome.getElementsByTagName('ul')[0].childNodes;
15
			for(var i = 0; i < oSpan.length; i++) {
16
				oSpan[i].onclick = function() {
17
					for(var i = 0; i < oSpan.length; i++) {
18
						oSpan[i].className = '';
19
					}
20
					this.className = 'set';
21
					if(this.getElementsByTagName("span")[0].innerText=="咨询技术难题"){
22
						consun=1;
23
					}else if(this.getElementsByTagName("span")[0].innerText=="寻求研发资源"){
24
						consun=2;
25
					}else{
26
						consun=3;
27
					}
28
				}
29
			}
30
		}
31
		/*需求内容*/
32
		function checkLen(obj) {
33

34
			var maxChars = 300; //最多字符数  
35

36
			if(obj.innerText.length > maxChars) {
37

38
				obj.innerText = obj.innerText.substring(0, maxChars);
39
			}
40

41
			var curr = maxChars - obj.innerText.length;
42
			document.getElementById("countNum").innerHTML = curr.toString();
43
		};
44

45
		oconsultcon.addEventListener('keyup', function() {
46
			checkLen(oconsultcon);
47
		});
48
		/*需求题目*/
49
		demandContent.addEventListener('keyup', function() {
50
			if(demandContent.value.length > 30){
51
				demandContent.value = demandContent.value.substring(0, 30);
52
			}
53
		});
54
		/*行业及领域选择*/
55
		mui('.hotsearch').on('tap', 'li', function() {
56
				if(this.className == "checkedLi") {
57
					this.classList.remove("checkedLi")
58
				} else {
59
					this.classList.add("checkedLi")
60
				}
61
			})
62
			/*行业及领域选择添加及删除*/
63
		function trim(str) { //删除左右两端的空格
64
			  
65
			return str.replace(/(^\s*)|(\s*$)/g, "");  
66
		}
67
		mui(".labelshow").on("tap", "em", function() {
68
			var val = this.parentNode;
69
			document.getElementsByClassName('labelshow')[0].removeChild(val);
70
		});
71
		document.getElementsByClassName("addlabelbtn")[0].addEventListener("tap", function() {
72
				var labelshow1 = document.getElementById("labelshow").getElementsByTagName("li");
73
				if(labelshow1.length > 4) {
74
					plus.nativeUI.toast("添加内容不能超过5个", toastStyle);
75
					return;
76
				}
77
				var addContent = document.getElementsByClassName('lineInput')[0].value;
78
				var content = trim(addContent);
79
				if(content) {
80
					var node = document.createElement("li");
81
					node.innerHTML 
82
					
83
					= content + '<em class="mui-icon mui-icon-closeempty"></em>';
84
					document.getElementsByClassName("labelshow")[0].appendChild(node);
85
					document.getElementsByClassName('lineInput')[0].value = ''
86
				} else {
87
					plus.nativeUI.toast("添加内容不能为空", toastStyle);
88
				}
89
			})
90
			/*查询应用行业及学术领域*/
91
		function industry(insu) {
92
			mui.ajax(baseUrl + "/ajax/dataDict/qaDictCode", {
93
				dataType: 'json', //数据格式类型
94
				type: 'GET', //http请求类型
95
				timeout: 10000, //超时设置
96
				data: {
97
					"dictCode": insu
98
				},
99
				success: function(data) {
100
					if(data.success) {
101
						var $data = data.data;
102
						var n;
103
						($data.length > 5) ? n = 5:
104
							n = $data.length
105
						for(var i = 0; i < n; i++) {
106
							var node = document.createElement("li");
107
							node.innerHTML = '<span>' + $data[i].caption + '</span>';
108
							document.getElementsByClassName('hotsearch')[0].appendChild(node);
109
						}
110
					}
111
				},
112
				error: function() {
113
					plus.nativeUI.toast("服务器链接超时", toastStyle);
114
					return;
115
				}
116
			});
117
		}
118
		industry("INDUSTRY");
119
		industry("SUBJECT");
120
		/*发布新需求*/
121
		document.getElementsByClassName("topsave")[0].addEventListener("tap", function() {
122
				var dd = oNavsub.getElementsByClassName("set");
123
				if(dd.length == 0) {
124
					plus.nativeUI.toast("请选择您发布需求的目的", toastStyle);
125
					return;
126
				}
127
				if(!trim(demandContent.value)) {
128
					plus.nativeUI.toast("请填写需求主题", toastStyle);
129
					return;
130
				}
131
				if(!trim(oconsultcon.innerText)) {
132
					plus.nativeUI.toast("请填写需求内容", toastStyle);
133
					return;
134
				}
135
				publish()
136
			})
137
			/*发布需求函数*/
138
		function publish() {
139
			var arr=[];
140
			var arr1=[0,1,2]
141
			var oSuin=document.getElementsByClassName("checkedLi");
142
			var oin= document.getElementById("labelshow").getElementsByTagName("li");
143
			for(var i=0;i<oSuin.length;i++){
144
				arr[i]=oSuin[i].innerText;
145
			}
146
			for(var j=0;j<oin.length;j++,i++){
147
				arr[i]=oin[j].innerText;
148
			}
149
			
150
			mui.ajax(baseUrl + '/ajax/demand', {
151
				dataType: 'json', //数据格式类型
152
				type: 'post', //http请求类型
153
				timeout: 10000, //超时设置
154
				traditional:true,
155
				data: {
156
					"demander": userid,
157
					"demandAim":consun, 
158
					"demandType": 1,
159
					"demandTitle": demandContent.value,
160
					"demandContent": oconsultcon.innerText,
161
					"args":arr
162
				},
163
				success: function(data) {
164
					console.log(JSON.stringify(data))
165
					if(data.success) {
166
						
167
						plus.nativeUI.toast("需求发布成功!很快会有专家与您联系,您可以在咨询列表中查看专家回复的信息", toastStyle);
168
						mui.back();
169
					}
170
				},
171
				error: function() {
172
					plus.nativeUI.toast("服务器链接超时", toastStyle);
173
					return;
174
				}
175
			});
176
		}
177
	})
178
})