ソースを参照

需求发布修改及修改姓名机构

jack 7 年 前
コミット
2a9ef58a8f
共有10 個のファイルを変更した900 個の追加28 個の削除を含む
  1. 82 0
      app/html/demandModify.html
  2. 112 0
      app/html/demandPublish.html
  3. 2 2
      app/html/needList.html
  4. 61 0
      app/html/updataName.html
  5. 6 2
      app/html/updateBasic.html
  6. 265 0
      app/js/demondModify.js
  7. 274 0
      app/js/demondPublish.js
  8. 7 23
      app/js/updateBasic-org.js
  9. 13 1
      app/js/updateBasic.js
  10. 78 0
      app/js/updateName.js

+ 82 - 0
app/html/demandModify.html

@ -0,0 +1,82 @@
1
<!doctype html>
2
<html>
3

4
	<head>
5
		<meta charset="UTF-8">
6
		<title>编辑教育背景</title>
7
		<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
8
		<link href="../css/mui.min.css" rel="stylesheet" />
9
		<link href="../css/mui.picker.min.css" rel="stylesheet" />
10
		<link href="../css/app.css" rel="stylesheet" />
11
		<style>
12
			html,body{height: 100%;margin:0;padding:0px;overflow: hidden;}
13
			.mui-content{height:100%;overflow: auto;}
14
			.simulation{
15
				padding:2px;
16
				height:24px;
17
				overflow:hidden;
18
				width:100%;
19
				font-size:14px;
20
			}
21
		</style>
22
		<script>
23
			function autoGrow(oField) {
24
				document.getElementById("tt").style.width=oField.scrollWidth+"px";
25
				document.getElementById("tt").value=oField.value;
26
				oField.style.height=document.getElementById("tt").scrollHeight+"px";
27
			}
28
		</script>
29
	</head>
30

31
	<body>
32
		<header class="mui-bar mui-bar-nav toptitbox">
33
		    <a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left topback"></a>
34
		    <h1 class="mui-title toptit">修改</h1>
35
		</header>
36
		<div class="mui-content" style="padding-top:34px;">
37
		    <div class="mui-input-group mainbox">
38
	 		    <div class="infocontit infocontitM OnetitM mui-navigate-right mui-clearfix" id="showCityPicker">
39
					<span class="mui-pull-left">所在城市</span><span class="requiredThis"> *</span>
40
				    <span class="rightword" id="cityResult">请选择所在城市</span>
41
				</div>
42
			</div>
43
		    <div class="mui-input-group mainbox">
44
				<div class="infocontit infocontitM OnetitM mui-navigate-right mui-clearfix" id="showDegreePicker">
45
    				<span class="mui-pull-left">费用预算</span>
46
				    <span class="rightword" id="degreeResult">请选择预算范围</span>
47
    			</div>
48
		    </div>
49
		     <div class="mui-input-group mainbox">
50
				<div class="infocontit infocontitM OnetitM mui-navigate-right mui-clearfix" id="ExpecteDuration">
51
    				<span class="mui-pull-left">预期时长</span>
52
				    <span class="rightword" id="ExpecteResult">请选择预期时长</span>
53
    			</div>
54
		    </div>
55
		    <div class="mui-input-group mainbox">
56
				<div class="infocontit infocontitM OnetitM mui-navigate-right mui-clearfix" id='showYearPicker' data-options='{"type":"date"}'>
57
    				<span class="mui-pull-left">需求有效期</span><span class="requiredThis"> *</span>
58
				    <span class="rightword" id="yearResult">请选择需求的截止日期</span>
59
    			</div>
60
		    </div>
61
		   <div class="mui-input-group mainbox">
62
		   		<div class="infocontit infocontitM">联系电话<span class="requiredThis"> *</span></div>
63
				<div class="infocon">
64
					<textarea class="textareabox simulation" id="phone" oninput="autoGrow(this)" maxlength="50" placeholder="请填写您的联系电话"></textarea>
65
					<textarea class="textareabox simulation" id="tt" style="position:absolute;top:0;left:-999px;"></textarea>
66
				</div>
67
		    </div>
68
		    <div class="mui-content-padded frmboxNew">
69
				<button id="login" class="mui-btn mui-btn-block frmbtn frmactive">保存</button>
70
			</div>
71
		</div>
72
		<script src="../js/public/mui.min.js"></script>
73
		<script src="../js/public/zepto.min.js"></script>
74
		<script src="../js/public/mui.picker.min.js"></script>
75
		<script src="../js/public/mui.picker.js"></script>
76
		<script src="../js/public/mui.dtpicker.js"></script>
77
		<script src="../js/public/city.data.js"></script>
78
		<script src="../js/public/base.js"></script>
79
		<script type="text/javascript" src="../js/demondModify.js"></script>
80
	</body>
81

82
</html>

+ 112 - 0
app/html/demandPublish.html

@ -0,0 +1,112 @@
1
<!doctype html>
2
<html>
3

4
	<head>
5
		<meta charset="UTF-8">
6
		<title>编辑教育背景</title>
7
		<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
8
		<link href="../css/mui.min.css" rel="stylesheet" />
9
		<link href="../css/mui.picker.min.css" rel="stylesheet" />
10
		<link href="../css/app.css" rel="stylesheet" />
11
		<style>
12
			html,body{height: 100%;margin:0;padding:0px;overflow: hidden;}
13
			.mui-content{height:100%;overflow: auto;}
14
			.simulation{
15
				padding:2px;
16
				height:24px;
17
				overflow:hidden;
18
				width:100%;
19
				font-size:14px;
20
			}
21
		</style>
22
		<script>
23
			function autoGrow(oField) {
24
				document.getElementById("tt").style.width=oField.scrollWidth+"px";
25
				document.getElementById("tt").value=oField.value;
26
				oField.style.height=document.getElementById("tt").scrollHeight+"px";
27
			}
28
		</script>
29
	</head>
30

31
	<body>
32
		<header class="mui-bar mui-bar-nav toptitbox">
33
		    <a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left topback"></a>
34
		    <h1 class="mui-title toptit">需求发布</h1>
35
		</header>
36
		<div class="mui-content" style="padding-top:34px;">
37
			<div class="mui-input-group mainbox">
38
				<div class="infocontit infocontitM OnetitM  mui-clearfix" style="line-height:19px;background-color: rgba(0,0,0,.8);">
39
    				<p style="color:white;padding-top:10px;">只能发布你所在机构的需求</p>
40
    				<p style="color:white;">您可以使用【修改资料】功能,变更您的所在机构</p>
41
    			</div>
42
		    </div>
43
			<div class="mui-input-group mainbox">
44
				<div class="infocontit infocontitM OnetitM  mui-clearfix" id="publish">
45
    				<span class="mui-pull-left">发布者</span>
46
				    <span class="rightword" id="publisher" style="right:19px;color:#333;"></span>
47
    			</div>
48
		    </div>
49
			<div class="mui-input-group mainbox">
50
				<div class="infocontit infocontitM">需求主题<span class="requiredThis"> *</span></div>
51
				<div class="infocon">
52
					<textarea class="textareabox simulation textareaboxEmp" id="demandTitle" oninput="autoGrow(this)" maxlength="50" placeholder="请用一句话概括您的需求,50字以内"></textarea>
53
					<textarea class="textareabox simulation" id="tt" style="position:absolute;top:0;left:-999px;"></textarea>
54
					<!--<div class="textareabox textareaboxEmp" contenteditable="true" placeholder="请填写就读的学校(50个字以内)" id="project"></div>-->  
55
				</div>
56
		    </div>
57
		    <div class="mui-input-group mainbox">
58
				<div class="infocontit infocontitM">需求内容<span class="requiredThis"> *</span></div>
59
				<div class="infocon">
60
					<textarea class="textareabox simulation textareaboxEmp" id="demandContent" oninput="autoGrow(this)" maxlength="50" placeholder="请描述您的需求背景、具体问题、对专家的要求等等,1000字以内"style="min-height:46px;"></textarea>
61
					<!--<div class="textareabox textareaboxEmp" contenteditable="true" placeholder="请填写就读的院系(20个字以内)" id="college"></div>-->   
62
				</div>
63
		    </div>
64
		    <div class="mui-input-group mainbox">
65
	 		    <div class="infocontit infocontitM OnetitM mui-navigate-right mui-clearfix" id="showCityPicker">
66
					<span class="mui-pull-left">所在城市</span><span class="requiredThis"> *</span>
67
				    <span class="rightword" id="cityResult">请选择所在城市</span>
68
				</div>
69
			</div>
70
		    <div class="mui-input-group mainbox">
71
				<div class="infocontit infocontitM OnetitM mui-navigate-right mui-clearfix" id="showDegreePicker">
72
    				<span class="mui-pull-left">费用预算</span>
73
				    <span class="rightword" id="degreeResult" flag="">请选择预算范围</span>
74
    			</div>
75
		    </div>
76
		     <div class="mui-input-group mainbox">
77
				<div class="infocontit infocontitM OnetitM mui-navigate-right mui-clearfix" id="ExpecteDuration">
78
    				<span class="mui-pull-left">预期时长</span>
79
				    <span class="rightword" id="ExpecteResult" flag="">请选择预期时长</span>
80
    			</div>
81
		    </div>
82
		    <div class="mui-input-group mainbox">
83
				<div class="infocontit infocontitM OnetitM mui-navigate-right mui-clearfix" id='showYearPicker' data-options='{"type":"date"}'>
84
    				<span class="mui-pull-left">需求有效期</span><span class="requiredThis"> *</span>
85
				    <span class="rightword" id="yearResult">请选择需求的截止日期</span>
86
    			</div>
87
		    </div>
88
		   <div class="mui-input-group mainbox">
89
		   		<div class="infocontit infocontitM">联系电话<span class="requiredThis"> *</span></div>
90
				<div class="infocon">
91
					<textarea class="textareabox simulation" id="phone" oninput="autoGrow(this)" maxlength="50" placeholder="请填写您的联系电话"></textarea>
92
				</div>
93
		    </div>
94
		    <div class="mui-content-padded frmboxNew">
95
				<button id="publishDemand" class="mui-btn mui-btn-block frmbtn frmactive">发布</button>
96
			</div>
97
		</div>
98
		<script src="../js/public/mui.min.js"></script>
99
		<script src="../js/public/zepto.min.js"></script>
100
		<script src="../js/public/mui.picker.min.js"></script>
101
		<script src="../js/public/mui.picker.js"></script>
102
		<script src="../js/public/mui.dtpicker.js"></script>
103
		<script src="../js/public/city.data.js"></script>
104
		<script src="../js/public/base.js"></script>
105
		<script type="text/javascript" src="../js/demondPublish.js"></script>
106
		<script type="text/javascript"> 
107
			//处理iOS下弹出软键盘后头部会随页面的滚动条消失问题
108
		    iosheader();
109
		</script>
110
	</body>
111

112
</html>

+ 2 - 2
app/html/needList.html

@ -50,8 +50,8 @@
50 50
							var statusN=data.data;
51 51
							if(statusN!=0){
52 52
								mui.openWindow({
53
									url: '../html/needIssue.html',
54
									id: '../html/needIssue.html',
53
									url: '../html/demandPublish.html',
54
									id: '../html/demandPublish.html',
55 55
									show: {
56 56
										aniShow: "slide-in-right"
57 57
									},

+ 61 - 0
app/html/updataName.html

@ -0,0 +1,61 @@
1
<!doctype html>
2
<html>
3

4
	<head>
5
		<meta charset="UTF-8">
6
		<title>编辑个人资料-所在机构</title>
7
		<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
8
		<link href="../css/mui.min.css" rel="stylesheet" />
9
		<link href="../css/mui.picker.min.css" rel="stylesheet" />
10
		<link href="../css/app.css" rel="stylesheet" />
11
		<style>
12
			html,body{height: 100%;margin:0;padding:0px;overflow: hidden;}
13
			.mui-content{height:100%;overflow: auto;}
14
			.simulation{
15
				padding:2px;
16
				height:24px;
17
				overflow:hidden;
18
				width:100%;
19
			}
20
		</style>
21
		<script>
22
			function autoGrow(oField) {
23
				document.getElementById("tt").style.width=oField.scrollWidth+"px";
24
				document.getElementById("tt").value=oField.value;
25
				oField.style.height=document.getElementById("tt").scrollHeight+"px";
26
			}
27
		</script>
28
	</head>
29

30
	<body>
31
		<header class="mui-bar mui-bar-nav toptitbox">
32
		    <a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left topback"></a>
33
		    <h1 class="mui-title toptit">所在机构</h1>
34
		</header>
35
		<div class="mui-content">
36
			<div class="mui-input-group mainbox">
37
				<div class="infocon">
38
					<textarea class="textareabox simulation" id="title" oninput="autoGrow(this)" maxlength="10" placeholder="请填写您的姓名"></textarea>
39
					<textarea class="textareabox simulation" id="tt" style="position:absolute;top:0;left:-999px;"></textarea>
40
				</div>
41
		    </div>
42
			<div class="limitBox">
43
				<p class="limitNum"><span id="fontAdd">0</span>/50</p>
44
			</div>
45
			<div class="mui-content-padded frmboxNew">
46
				<button id="login" class="mui-btn mui-btn-block frmbtn frmactive">保存</button>
47
			</div>
48
		</div>
49
		<script src="../js/public/mui.min.js"></script>
50
		<script src="../js/public/zepto.min.js"></script>
51
		<script src="../js/public/mui.picker.min.js"></script>
52
		<script src="../js/public/city.data.js"></script>
53
		<script src="../js/public/base.js"></script>
54
		<script type="text/javascript" src="../js/updateName.js"></script>		
55
		<script type="text/javascript"> 
56
			//处理iOS下弹出软键盘后头部会随页面的滚动条消失问题
57
		    iosheader();
58
		</script>
59
	</body>
60

61
</html>

+ 6 - 2
app/html/updateBasic.html

@ -36,8 +36,12 @@
36 36
				        	</div>
37 37
				    </li>
38 38
				    <li class="mui-table-view-cell">
39
			        	<span class="mui-pull-left">姓名</span>
40
			        	<div class="mui-pull-right" id="exName"></div>
39
			        	<span class="mui-pull-left" class="exName">姓名</span>
40
			        	<div class="mui-pull-right" class="exName"></div>
41
			        	 <a class="mui-navigate-right" style="display:none" class="exName">
42
				        	<span class="mui-pull-left">姓名</span>
43
				        	<div class="rightword" class="exName" id="name"></div>
44
				        </a>
41 45
				    </li>
42 46
				    <li class="mui-table-view-cell">
43 47
				        <a class="mui-navigate-right">

+ 265 - 0
app/js/demondModify.js

@ -0,0 +1,265 @@
1
 (function($, doc) {
2
 $.ready(function() {
3
 	$.plusReady(function() {
4

5
 		var userid = plus.storage.getItem('userid');
6
 		var currWindow = plus.webview.currentWebview();
7
 		var demandId= currWindow.demandId;
8
 		var oCost={
9
			'1' : '1万元以内',
10
			'2' : '1-5万元' ,
11
			'3' : '5-10万元' ,
12
			'4' : '10-20万元' ,
13
			'5' : '20-50万元' ,
14
			'6' : '50万元以上'
15
		};
16
		var oSpend= {
17
			'1' : '1个月内',
18
			'2' : '1-3个月' ,
19
			'3' : '3-6个月' ,
20
			'4' : '6-12个月' ,
21
			'5' : '1年以上' 
22
		};
23
 		/**
24
 		 * 获取对象属性的值
25
 		 * 主要用于过滤三级联动中,可能出现的最低级的数据不存在的情况,实际开发中需要注意这一点;
26
 		 * @param {Object} obj 对象
27
 		 * @param {String} param 属性名
28
 		 */
29
 		var _getParam = function(obj, param) {
30
 			return obj[param] || '';
31
 		};
32
 		//普通示例
33
 		var userPicker = new $.PopPicker();
34
 		userPicker.setData([{
35
 			value: '1',
36
 			text: '1万元以内'
37
 		}, {
38
 			value: '2',
39
 			text: '1-5万元'
40
 		}, {
41
 			value: '3',
42
 			text: '5-10万元'
43
 		}, {
44
 			value: '4',
45
 			text: '10-20万元'
46
 		}, {
47
 			value: '5',
48
 			text: '20-50万元'
49
 		}, {
50
 			value: '6',
51
 			text: '50万元以上'
52
 		}]);
53
 		var showUserPickerButton = doc.getElementById('showDegreePicker');
54
 		var degreeResult = doc.getElementById('degreeResult');
55
 		showUserPickerButton.addEventListener('tap', function(event) {
56
 			userPicker.show(function(items) {
57
 				degreeResult.innerText = items[0].text;
58
 				showUserPickerButton.setAttribute('flag',items[0].value);
59
 				//返回 false 可以阻止选择框的关闭
60
 				//return false;
61
 			});
62
 		}, false);
63
 	
64
 	var userPicker1 = new $.PopPicker();
65
 	userPicker1.setData([{
66
 		value: '1',
67
 		text: '1个月内'
68
 	}, {
69
 		value: '2',
70
 		text: '1-3个月'
71
 	}, {
72
 		value: '3',
73
 		text: '3-6个月'
74
 	}, {
75
 		value: '4',
76
 		text: '6-12个月'
77
 	}, {
78
 		value: '5',
79
 		text: '1年以上'
80
 	}]);
81
 	var ExpecteDuration = doc.getElementById('ExpecteDuration');
82
 	var ExpecteResult = doc.getElementById('ExpecteResult');
83
 	ExpecteDuration.addEventListener('tap', function(event) {
84
 		userPicker1.show(function(items) {
85
 			ExpecteResult.innerText = items[0].text;
86
 			ExpecteDuration.setAttribute("flag",items[0].value) 
87
 			//返回 false 可以阻止选择框的关闭
88
 			//return false;
89
 		});
90
 	}, false);
91

92
 	//==========年份选择==========
93
 	var result = doc.getElementById('yearResult');
94
 	var btns = doc.getElementById('showYearPicker');
95
 	btns.addEventListener('tap', function() {
96
 		var optionsJson = this.getAttribute('data-options') || '{}';
97
 		var options = JSON.parse(optionsJson);
98
 		options.beginDate = new Date('2017-06-11'); //设置开始日期 
99
 		var id = this.getAttribute('id');
100
 		/*
101
 		 * 首次显示时实例化组件
102
 		 * 示例为了简洁,将 options 放在了按钮的 dom 上
103
 		 * 也可以直接通过代码声明 optinos 用于实例化 DtPicker
104
 		 */
105
 		var oD = new Date();
106
 		oDy = oD.getFullYear();
107
 		oDm = parseInt(oD.getMonth()) + 1;
108
 		oDd = parseInt(oD.getDate()) + 1;
109
 		var oc = oDy + "-" + oDm + "-" + oDd
110
 		options.beginDate = new Date(oc); //设置开始日期 
111
 		options.endYear = new Date().getFullYear() + 100;
112
 		var picker = new $.DtPicker(options);
113
 		picker.show(function(rs) {
114
 			/*
115
 			 * rs.value 拼合后的 value
116
 			 * rs.text 拼合后的 text
117
 			 * rs.y 年,可以通过 rs.y.vaue 和 rs.y.text 获取值和文本
118
 			 * rs.m 月,用法同年
119
 			 * rs.d 日,用法同年
120
 			 * rs.h 时,用法同年
121
 			 * rs.i 分(minutes 的第二个字母),用法同年
122
 			 */
123
 			if(rs.y.text == "至今") {
124
 				result.innerText = "至今"
125
 			} else {
126
 				result.innerText = rs.y.text + "年" + rs.m.text + "月" + rs.d.text + "日";
127
 				btns.setAttribute("flag",rs.y.text+ rs.m.text + rs.d.text)
128
 			}
129

130
 			/* 
131
 			 * 返回 false 可以阻止选择框的关闭
132
 			 * return false;
133
 			 */
134
 			/*
135
 			 * 释放组件资源,释放后将将不能再操作组件
136
 			 * 通常情况下,不需要示放组件,new DtPicker(options) 后,可以一直使用。
137
 			 * 当前示例,因为内容较多,如不进行资原释放,在某些设备上会较慢。
138
 			 * 所以每次用完便立即调用 dispose 进行释放,下次用时再创建新实例。
139
 			 */
140
 			picker.dispose();
141
 		});
142
 	}, false);
143
 	var cityPicker = new $.PopPicker({
144
 		layer: 2
145
 	});
146
 	cityPicker.setData(cityData);
147
 	var showCityPickerButton = doc.getElementById('showCityPicker');
148
	var cityResult=document.querySelector("#cityResult")
149
 	showCityPickerButton.addEventListener('tap', function(event) {
150
 		cityPicker.show(function(items) {
151
 			cityResult.innerText = items[0].text + "-" + items[1].text;
152
 			cityResult.setAttribute('city',items[1].text);
153
 			cityResult.setAttribute('province',items[0].text)
154
 		});
155
 	}, false);
156
 	queryDemand();
157
 	/*个人信息*/
158
 	function queryDemand() {
159
 		$.ajax(baseUrl + '/ajax/demand/qo' , {
160
 			dataType: 'json', //数据格式类型
161
 			type: 'GET', //http请求类型
162
 			data: {
163
 				"id" : demandId
164
 			},
165
 			timeout: 10000,
166
 			async: true,
167
 			success: function(data) {
168
 				if(data.success) {
169
 					var $data=data.data;
170
 					document.querySelector("#cityResult").innerHTML=$data.province + "-" + $data.city ;
171
					document.querySelector("#showCityPicker").setAttribute('city', data.data.city );
172
 					document.querySelector("#showCityPicker").setAttribute('province', data.data.province );
173
 					document.querySelector("#yearResult").innerHTML=$data.invalidDay.substr(0,4) +"年"+ $data.invalidDay.substr(4,2) +"月"+ $data.invalidDay.substr(6,2)+"日";
174
					document.querySelector("#showYearPicker").setAttribute('flag', $data.invalidDay );
175
					document.querySelector("#phone").value= $data.contactNum ;
176
					if($data.cost) {
177
						document.querySelector("#degreeResult").innerHTML=oCost[ $data.cost ] ;
178
						document.querySelector("#showDegreePicker").setAttribute('flag', $data.cost );
179
					}
180
					if($data.duration) {
181
						document.querySelector("#ExpecteResult").innerHTML=oCost[ $data.duration ] ;
182
						document.querySelector("#ExpecteDuration").setAttribute('flag', $data.duration );
183
					}
184
 				}
185
 			},
186
 			error: function() {
187
 				plus.nativeUI.toast("服务器链接超时", toastStyle);
188
 			}
189
 		});
190
 	}
191
 	/*检查格式是否合格*/
192
 	function  checkout() {
193
 		var arr=[];
194
 			arr[0] = {
195
 				demand : document.querySelector("#cityResult"),
196
 				alertTitle : "所在城市" ,
197
 				txt : "请选择所在城市" ,
198
 				length : 2
199
 			},
200
 			arr[1] = {
201
 				demand : document.querySelector("#yearResult"),
202
 				alertTitle : "需求有效期" ,
203
 				txt : "请选择需求的截止日期" ,
204
 				length : 2
205
 			},
206
 			arr[2] = {
207
 				demand : document.querySelector("#phone"),
208
 				fontNum : 50,
209
 				alertTitle : "联系电话" ,
210
 				length : 3
211
 			};
212
 			for(var i in arr) {
213
 				if( arr[i].length ==3) {
214
 					if( arr[i].demand.value.replace(/(^\s*)|(\s*$)/g,"")=="") {
215
		 				plus.nativeUI.toast("请填写" + arr[i].alertTitle , "toastStyle");
216
		 				return;
217
		 			}else if( arr[i].demand.value.length >50 ) {
218
		 				plus.nativeUI.toast( arr[i].alertTitle +"不可超过"+ arr[i].fontNum +"个字", "toastStyle");
219
		 				return;
220
		 			}
221
 				} else {
222
 					if( arr[i].demand.innerHTML== arr[i].txt) {
223
		 				plus.nativeUI.toast("请填写" + arr[i].alertTitle , "toastStyle");
224
		 				return;
225
		 			}
226
 				}
227
 			}
228
 			return 1;
229
 	}
230
 	/*发布需求*/
231
 	document.querySelector("#publishDemand").addEventListener( "tap", function() {
232
 		if(checkout()) {
233
 			pubDemand();
234
 		}
235
 	},false);
236
 	/*发布需求的函数*/
237
 	function pubDemand() {
238
 		$.ajax(baseUrl + '/ajax/demand/modify' , {
239
 			dataType: 'json', //数据格式类型
240
 			type: 'post', //http请求类型
241
 			data: { 
242
 				"id":demandId ,
243
				"province": cityResult.getAttribute('province'),
244
				"city": cityResult.getAttribute('city'),
245
				"cost": document.querySelector("#showDegreePicker").getAttribute('flag')==null?'':document.querySelector("#showDegreePicker").getAttribute('flag'),
246
				"duration": document.querySelector("#ExpecteDuration").getAttribute('flag')==null?'':document.querySelector("#ExpecteDuration").getAttribute('flag'),
247
				"invalidDay": result.getAttribute('flag'),
248
				"contactNum": document.querySelector("#phone").value,
249
				"modifier" : userid
250
 			},
251
 			timeout: 10000,
252
 			async: true,
253
 			success: function(data) {
254
 				if(data.success) {
255
 					$.back();
256
 				}
257
 			},
258
 			error: function() {
259
 				plus.nativeUI.toast("服务器链接超时", toastStyle);
260
 			}
261
 		});
262
 	}
263
 })
264
 })
265
 })(mui, document);

+ 274 - 0
app/js/demondPublish.js

@ -0,0 +1,274 @@
1
 (function($, doc) {
2
 $.ready(function() {
3
 	$.plusReady(function() {
4

5
 		var userid = plus.storage.getItem('userid');
6
 		var oRd="";
7
 		/**
8
 		 * 获取对象属性的值
9
 		 * 主要用于过滤三级联动中,可能出现的最低级的数据不存在的情况,实际开发中需要注意这一点;
10
 		 * @param {Object} obj 对象
11
 		 * @param {String} param 属性名
12
 		 */
13
 		var _getParam = function(obj, param) {
14
 			return obj[param] || '';
15
 		};
16
 		//普通示例
17

18
 		var userPicker = new $.PopPicker();
19
 		userPicker.setData([{
20
 			value: '1',
21
 			text: '1万元以内'
22
 		}, {
23
 			value: '2',
24
 			text: '1-5万元'
25
 		}, {
26
 			value: '3',
27
 			text: '5-10万元'
28
 		}, {
29
 			value: '4',
30
 			text: '10-20万元'
31
 		}, {
32
 			value: '5',
33
 			text: '20-50万元'
34
 		}, {
35
 			value: '6',
36
 			text: '50万元以上'
37
 		}]);
38
 		var showUserPickerButton = doc.getElementById('showDegreePicker');
39
 		var degreeResult = doc.getElementById('degreeResult');
40
 		showUserPickerButton.addEventListener('tap', function(event) {
41
 			userPicker.show(function(items) {
42
 				degreeResult.innerText = items[0].text;
43
 				showUserPickerButton.setAttribute('flag',items[0].value);
44
 				//返回 false 可以阻止选择框的关闭
45
 				//return false;
46
 			});
47
 		}, false);
48
 	
49

50
 	var userPicker1 = new $.PopPicker();
51
 	userPicker1.setData([{
52
 		value: '1',
53
 		text: '1个月内'
54
 	}, {
55
 		value: '2',
56
 		text: '1-3个月'
57
 	}, {
58
 		value: '3',
59
 		text: '3-6个月'
60
 	}, {
61
 		value: '4',
62
 		text: '6-12个月'
63
 	}, {
64
 		value: '5',
65
 		text: '1年以上'
66
 	}]);
67
 	var ExpecteDuration = doc.getElementById('ExpecteDuration');
68
 	var ExpecteResult = doc.getElementById('ExpecteResult');
69
 	ExpecteDuration.addEventListener('tap', function(event) {
70
 		userPicker1.show(function(items) {
71
 			ExpecteResult.innerText = items[0].text;
72
 			ExpecteDuration.setAttribute("flag",items[0].value) 
73
 			//返回 false 可以阻止选择框的关闭
74
 			//return false;
75
 		});
76
 	}, false);
77

78
 	//==========年份选择==========
79
 	var result = doc.getElementById('yearResult');
80
 	var btns = doc.getElementById('showYearPicker');
81
 	btns.addEventListener('tap', function() {
82
 		var optionsJson = this.getAttribute('data-options') || '{}';
83
 		var options = JSON.parse(optionsJson);
84
 		options.beginDate = new Date('2017-06-11'); //设置开始日期 
85
 		var id = this.getAttribute('id');
86
 		/*
87
 		 * 首次显示时实例化组件
88
 		 * 示例为了简洁,将 options 放在了按钮的 dom 上
89
 		 * 也可以直接通过代码声明 optinos 用于实例化 DtPicker
90
 		 */
91
 		var oD = new Date();
92
 		oDy = oD.getFullYear();
93
 		oDm = parseInt(oD.getMonth()) + 1;
94
 		oDd = parseInt(oD.getDate()) + 1;
95
 		var oc = oDy + "-" + oDm + "-" + oDd
96
 		options.beginDate = new Date(oc); //设置开始日期 
97
 		options.endYear = new Date().getFullYear() + 100;
98
 		var picker = new $.DtPicker(options);
99
 		picker.show(function(rs) {
100
 			/*
101
 			 * rs.value 拼合后的 value
102
 			 * rs.text 拼合后的 text
103
 			 * rs.y 年,可以通过 rs.y.vaue 和 rs.y.text 获取值和文本
104
 			 * rs.m 月,用法同年
105
 			 * rs.d 日,用法同年
106
 			 * rs.h 时,用法同年
107
 			 * rs.i 分(minutes 的第二个字母),用法同年
108
 			 */
109
 			if(rs.y.text == "至今") {
110
 				result.innerText = "至今"
111
 			} else {
112
 				result.innerText = rs.y.text + "年" + rs.m.text + "月" + rs.d.text + "日";
113
 				btns.setAttribute("flag",rs.y.text+ rs.m.text + rs.d.text)
114
 			}
115

116
 			/* 
117
 			 * 返回 false 可以阻止选择框的关闭
118
 			 * return false;
119
 			 */
120
 			/*
121
 			 * 释放组件资源,释放后将将不能再操作组件
122
 			 * 通常情况下,不需要示放组件,new DtPicker(options) 后,可以一直使用。
123
 			 * 当前示例,因为内容较多,如不进行资原释放,在某些设备上会较慢。
124
 			 * 所以每次用完便立即调用 dispose 进行释放,下次用时再创建新实例。
125
 			 */
126
 			picker.dispose();
127
 		});
128
 	}, false);
129
 	var cityPicker = new $.PopPicker({
130
 		layer: 2
131
 	});
132
 	cityPicker.setData(cityData);
133
 	var showCityPickerButton = doc.getElementById('showCityPicker');
134
	var cityResult=document.querySelector("#cityResult")
135
 	showCityPickerButton.addEventListener('tap', function(event) {
136
 		cityPicker.show(function(items) {
137
 			cityResult.innerText = items[0].text + "-" + items[1].text;
138
 			cityResult.setAttribute('city',items[1].text);
139
 			cityResult.setAttribute('province',items[0].text)
140
 		});
141
 	}, false);
142
 	queryPerson()
143
 	/*个人信息*/
144
 	function queryPerson() {
145
 		$.ajax(baseUrl + '/ajax/professor/baseInfo/' + userid, {
146
 			dataType: 'json', //数据格式类型
147
 			type: 'GET', //http请求类型
148
 			timeout: 10000,
149
 			async: true,
150
 			success: function(data) {
151
 				if(data.success) {
152
 					if( data.data.province ) {
153
 						document.querySelector("#cityResult").innerHTML = data.data.province + "-" + data.data.address ;
154
 						cityResult.setAttribute('city', data.data.address );
155
 						cityResult.setAttribute('province', data.data.province )
156
 					}
157
 					if( data.data.phone ) {
158
 						document.querySelector("#phone").value = data.data.phone ;
159
 					}
160
 					oRd = data.data.orgId ;
161
 					queryCompany( data.data.orgId );
162
 				}
163
 			},
164
 			error: function() {
165
 				plus.nativeUI.toast("服务器链接超时", toastStyle);
166
 			}
167
 		});
168
 	}
169
 	/*企业信息*/
170
 	function queryCompany(orgId) {
171
 		$.ajax(baseUrl + '/ajax/org/' + orgId, {
172
 			dataType: 'json', //数据格式类型
173
 			type: 'GET', //http请求类型
174
 			timeout: 10000,
175
 			async: true,
176
 			success: function(data) {
177
 				if(data.success) {
178
 					document.querySelector("#publisher").innerHTML = data.data.forShort ? data.data.forShort : data.data.name;
179
 				}
180
 			},
181
 			error: function() {
182
 				plus.nativeUI.toast("服务器链接超时", toastStyle);
183
 			}
184
 		});
185
 	}
186
 	/*检查格式是否合格*/
187
 	function  checkout() {
188
 		var arr=[];
189
 			arr[0] = { 
190
 				demand : document.querySelector("#demandTitle"),
191
 				fontNum : 50,
192
 				alertTitle : "需求主题",
193
 				length : 3
194
 			},
195
 			arr[1] = {
196
 				demand : document.querySelector("#demandContent"),
197
 				fontNum : 1000 ,
198
 				alertTitle : "需求内容" ,
199
 				length : 3
200
 			},
201
 			arr[2] = {
202
 				demand : document.querySelector("#cityResult"),
203
 				alertTitle : "所在城市" ,
204
 				txt : "请选择所在城市" ,
205
 				length : 2
206
 			},
207
 			arr[3] = {
208
 				demand : document.querySelector("#yearResult"),
209
 				alertTitle : "需求有效期" ,
210
 				txt : "请选择需求的截止日期" ,
211
 				length : 2
212
 			},
213
 			arr[4] = {
214
 				demand : document.querySelector("#phone"),
215
 				fontNum : 50,
216
 				alertTitle : "联系电话" ,
217
 				length : 3
218
 			};
219
 			for(var i in arr) {
220
 				if( arr[i].length ==3) {
221
 					if( arr[i].demand.value.replace(/(^\s*)|(\s*$)/g,"")=="") {
222
		 				plus.nativeUI.toast("请填写" + arr[i].alertTitle , "toastStyle");
223
		 				return;
224
		 			}else if( arr[i].demand.value.length >50 ) {
225
		 				plus.nativeUI.toast( arr[i].alertTitle +"不可超过"+ arr[i].fontNum +"个字", "toastStyle");
226
		 				return;
227
		 			}
228
 				} else {
229
 					if( arr[i].demand.innerHTML== arr[i].txt) {
230
		 				plus.nativeUI.toast("请填写" + arr[i].alertTitle , "toastStyle");
231
		 				return;
232
		 			}
233
 				}
234
 			}
235
 			return 1;
236
 	}
237
 	/*发布需求*/
238
 	document.querySelector("#publishDemand").addEventListener( "tap", function() {
239
 		if(checkout()) {
240
 			pubDemand();
241
 		}
242
 	},false);
243
 	/*发布需求的函数*/
244
 	function pubDemand() {
245
 		$.ajax(baseUrl + '/ajax/demand' , {
246
 			dataType: 'json', //数据格式类型
247
 			type: 'post', //http请求类型
248
 			data: {
249
 				"title": document.querySelector("#demandTitle").value,
250
				"descp": document.querySelector("#demandContent").value,
251
				"province": cityResult.getAttribute('province'),
252
				"city": cityResult.getAttribute('city'),
253
				"cost": document.querySelector("#showDegreePicker").getAttribute('flag')==null?'':document.querySelector("#showDegreePicker").getAttribute('flag'),
254
				"duration": document.querySelector("#ExpecteDuration").getAttribute('flag')==null?'':document.querySelector("#ExpecteDuration").getAttribute('flag'),
255
				"invalidDay": result.getAttribute('flag'),
256
				"contactNum": document.querySelector("#phone").value,
257
				"creator": userid,
258
				"orgId": oRd
259
 			},
260
 			timeout: 10000,
261
 			async: true,
262
 			success: function(data) {
263
 				if(data.success) {
264
 					$.back();
265
 				}
266
 			},
267
 			error: function() {
268
 				plus.nativeUI.toast("服务器链接超时", toastStyle);
269
 			}
270
 		});
271
 	}
272
 })
273
 })
274
 })(mui, document);

+ 7 - 23
app/js/updateBasic-org.js

@ -3,24 +3,6 @@ mui.ready(function() {
3 3
		var web = plus.webview.currentWebview()
4 4
		web.show("slide-in-right", 150);
5 5
		var userid = plus.storage.getItem('userid');
6
		var upStatus = function() {
7
			mui.ajax(baseUrl + "/ajax/professor/removeOrgAuth", {
8
				dataType: 'json', //数据格式类型
9
				type: 'post', //http请求类型
10
				data: {
11
					id: userid
12
				},
13
				timeout: 10000, //超时设置				
14
				success: function(data) {
15
					console.log(JSON.stringify(data));
16
					if(data.success) {
17
						
18
					} else {
19

20
					}
21
				}
22
			})
23
		}
24 6
		function person() {
25 7
			plus.nativeUI.closeWaiting();
26 8
			var title = document.getElementById("title");
@ -43,13 +25,18 @@ mui.ready(function() {
43 25
			}
44 26
			if(web.orgAuth==1) {
45 27
				var btn = ["确定", "取消"];
46
				mui.confirm("您修改了所在机构,员工认证即将失效,确认修改?", "提示", btn, function(e) {
28
				mui.confirm("您修改了所在机构,认证员工身份将失效,为企业发布的需求也将关闭,确定修改?", "提示", btn, function(e) {
47 29
					if(e.index == 0) {
48 30
						savePro();
49 31
					}
50 32
				})
51 33
			}else{
52
				savePro();
34
				var btn = ["确定", "取消"];
35
				mui.confirm("您修改了所在机构,您为企业发布的需求将关闭,确定修改?", "提示", btn, function(e) {
36
					if(e.index == 0) {
37
						savePro();
38
					}
39
				})
53 40
			}
54 41
			 
55 42
		})
@ -62,9 +49,6 @@ mui.ready(function() {
62 49
					return;
63 50
				}
64 51
			}
65
			if(web.orgAuth==1) {
66
				upStatus();
67
			}
68 52
			mess.name = web.name;
69 53
			mess.orgName = document.getElementById("title").value;
70 54
			mess.department =web.department;

+ 13 - 1
app/js/updateBasic.js

@ -30,7 +30,18 @@ mui.ready(function() {
30 30
							var mun = Math.round(Math.random() * 99 + 1);
31 31
							document.getElementById("userimg").style.backgroundImage = "url(" + baseUrl + "/images/head/" + $data.id + "_l.jpg?" + mun + ")";
32 32
						}
33
						document.getElementById("exName").innerHTML=$data.name;
33
						var on1=document.querySelectorAll("exName")
34
						if($data.orgAuth==0) {
35
							on1[0].style.display="none";
36
							on1[1].style.display="none";
37
							on1[4].innerHTML=$data.name;
38
							if(!f1) {
39
						}else {
40
							bindEvent({selector:"name",txt:"请填写您的姓名",web:{html:'updateName.html',id:"updateName.html"}});
41
						}
42
						}else {
43
							on1[3].innerHTML=$data.name;
44
						}
34 45
						person.name=$data.name;
35 46
						if($data.orgName) {
36 47
							document.getElementById('orgName').innerHTML=$data.orgName;
@ -119,5 +130,6 @@ mui.ready(function() {
119 130
		bindEvent({selector:"orgName",txt:"请填写当前就职的机构",web:{html:'updateBasic-org.html',id:"updateBasic-org.html"}});
120 131
		bindEvent({selector:"city",txt:"请选择所在城市",web:{html:'updateBasic-city.html',id:"updateBasic-city.html"}});
121 132
		bindEvent({selector:"mail",txt:"请填写电子邮箱",web:{html:'updateBasic-email.html',id:"updateBasic-email.html"}});
133
		
122 134
	});
123 135
})

+ 78 - 0
app/js/updateName.js

@ -0,0 +1,78 @@
1
mui.ready(function() {
2
	mui.plusReady(function() {
3
		var web = plus.webview.currentWebview()
4
		web.show("slide-in-right", 150);
5
		var userid = plus.storage.getItem('userid');
6
		function person() {
7
			plus.nativeUI.closeWaiting();
8
			var title = document.getElementById("title");
9
			title.value = web.orgName;
10
			document.getElementById("tt").value=web.orgName;
11
				title.style.height=document.getElementById("tt").scrollHeight+"px";
12
			if(web.orgName.length) {
13
				document.getElementById("fontAdd").innerHTML = web.orgName.length;
14
				document.getElementById("login").removeAttribute("disabled");
15
			}
16
			document.getElementById("title").addEventListener("input", function() {
17
					document.getElementById("fontAdd").innerHTML = this.value.length;
18
			})
19
		}
20
		person();
21
		document.getElementById("login").addEventListener("tap",function(){
22
			if(web.orgName==document.getElementById("title").value) {
23
				mui.back();
24
				return;
25
			}
26
				var btn = ["确定", "取消"];
27
				mui.confirm("您修改了姓名,您的专利和论文将取消关联,确定修改?", "提示", btn, function(e) {
28
					if(e.index == 0) {
29
						savePro();
30
					}
31
				}) 
32
		})
33
		
34
		function savePro() {
35
			var mess = {};
36
			if(document.getElementById("title").value.length) {
37
				if(document.getElementById("title").value.length>50) {
38
					plus.nativeUI.toast("姓名不得超过10个字", toastStyle);
39
					return;
40
				}
41
			}
42
			mess.name = document.getElementById("title").value;
43
			mess.orgName = web.orgName ;
44
			mess.department =web.department;
45
			mess.title = web.title;
46
			mess.office =web.office;	
47
			mess.address = web.address;
48
			mess.province=web.province;
49
			mess.email = web.email;
50
			mess.phone =web.phone;			
51
			mess.id = userid;
52
			var mess1 = JSON.stringify(mess);
53
			console.log(JSON.stringify(mess))
54
			$.ajax({
55
				"url": baseUrl + '/ajax/professor',
56
				"type": "PUT",
57
				"async": true,
58
				"data": mess1,
59
				"contentType": "application/json",
60
				"success": function(data) {
61
					console.log(JSON.stringify(data));
62
					if(data.success) {
63
						plus.nativeUI.showWaiting();
64
						var web = plus.webview.getWebviewById("updateBasic.html");
65
						mui.fire(web, "newId", {
66
								rd: 1
67
							});
68
						var Pa = plus.webview.getWebviewById('html/myaccount.html');
69
						mui.fire(Pa, 'photoUser');
70
						mui.back();
71
					} else {
72
						plus.nativeUI.toast("服务器链接超时", toastStyle);
73
					}
74
				}
75
			});
76
		}
77
	})
78
})