studentRegistration.js 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446
  1. const tools = require('../../utils/tools.js');
  2. const app = require('../../utils/util.js');
  3. Page({
  4. data: {
  5. canIUse: wx.canIUse('button.open-type.getUserInfo'),
  6. avatar:"",
  7. loadvisible:false,
  8. visible:false,
  9. jobArr: [],
  10. jobtext: '请选择',
  11. kaihutext: '请选择',
  12. dytext: '请选择',
  13. wgztext: '请选择',
  14. ldztext: '请选择',
  15. dyztext: '请选择',
  16. gygtext: '请选择',
  17. kaihuList: [{
  18. name: '小学'
  19. },
  20. {
  21. name: '初中'
  22. },
  23. {
  24. name: '高中(职高、中专)'
  25. },
  26. {
  27. name: '大专(高职)'
  28. }, {
  29. name: '本科'
  30. }, {
  31. name: '硕士研究生'
  32. }, {
  33. name: '博士研究生'
  34. },
  35. ],
  36. kaihuindex: 0,
  37. nameIsTrue: false, //名字是否填写
  38. cultureIsTrue: false, //文化是否填写
  39. graduationIsTrue: false, //毕业学校
  40. majorIsTrue: false, //所有专业
  41. postIsTrue: false, //现任职务
  42. renzhishijianIsTrue: false,
  43. phoneIsTrue: false, //电话
  44. peixunshijianTrue: false, // 培训时间
  45. nameMessage: '',
  46. tenure: '', //在线时间
  47. peixunTime: '', //培训时间
  48. headmasterText: '请选择任职时间', //
  49. peixunText: '请选择培训时间',
  50. radio: '1',
  51. username: 'asdsadsad',
  52. info: {},
  53. parameter: [{
  54. id: 1,
  55. name: '男',
  56. value: '0',
  57. checked: false
  58. }, {
  59. id: 2,
  60. name: '女',
  61. checked: false,
  62. value: '1',
  63. }],
  64. dyArr: ['否', '是'],
  65. wgzArr: ['否', '是'],
  66. ldzArr: ['否', '是'],
  67. dyzArr: ['否', '是'],
  68. gygArr: ['否', '是'],
  69. renzhiDate: '',
  70. postshow: false,
  71. postshow1: false,
  72. errorIsTrue: false,
  73. // currentDate: new Date().getTime(),
  74. // currentDate1: new Date().getTime(),
  75. // minDate: new Date().getTime,
  76. // formatter(type, value) {
  77. // if (type === 'year') {
  78. // return `${value}年`;
  79. // } else if (type === 'month') {
  80. // return `${value}月`;
  81. // }
  82. // return value;
  83. // },
  84. currentDate: new Date().getTime(),
  85. // minDate: new Date().getTime(),
  86. formatter(type, value) {
  87. if (type === 'year') {
  88. return `${value}年`;
  89. } else if (type === 'month') {
  90. return `${value}月`;
  91. }
  92. return value;
  93. },
  94. // maxDate: new Date().getTime(),
  95. minDate: new Date(1949, 10, 1).getTime(),
  96. },
  97. // ontimeInput(e){
  98. // this.setData({
  99. // currentDate: e.detail,
  100. // });
  101. // },
  102. bindGetUserInfo (e) {
  103. var that=this;
  104. console.log(e.detail.userInfo)
  105. console.log(typeof e.detail.userInfo)
  106. if(typeof e.detail.userInfo!='undefined'){
  107. that.setData({avatar:e.detail.userInfo.avatarUrl});
  108. }
  109. that.setData({visible:true});
  110. console.log(that.data.avatar);
  111. },
  112. onChange(event) {
  113. this.setData({
  114. radio: event.detail,
  115. });
  116. },
  117. jobChange(e) {
  118. console.log(e)
  119. this.setData({
  120. zwIndex: e.detail.value,
  121. jobtext: this.data.jobArr[e.detail.value].dictLabel
  122. })
  123. },
  124. dyChange(e) {
  125. console.log(e)
  126. this.setData({
  127. dyIndex: e.detail.value,
  128. dytext: this.data.dyArr[e.detail.value]
  129. })
  130. },
  131. // 网格长
  132. wgzChange(e) {
  133. console.log(e)
  134. this.setData({
  135. wgzIndex: e.detail.value,
  136. wgztext: this.data.wgzArr[e.detail.value]
  137. })
  138. },
  139. // 楼栋长
  140. ldzChange(e) {
  141. console.log(e)
  142. this.setData({
  143. ldzIndex: e.detail.value,
  144. ldztext: this.data.ldzArr[e.detail.value]
  145. })
  146. },
  147. // 单元长
  148. dyzChange(e) {
  149. console.log(e)
  150. this.setData({
  151. dyzIndex: e.detail.value,
  152. dyztext: this.data.dyzArr[e.detail.value]
  153. })
  154. },
  155. // 公益岗
  156. gygChange(e) {
  157. console.log(e)
  158. this.setData({
  159. gygIndex: e.detail.value,
  160. gygtext: this.data.gygArr[e.detail.value]
  161. })
  162. },
  163. share() {
  164. this.setData({
  165. show: true
  166. });
  167. },
  168. onClose() {
  169. this.setData({
  170. postshow: false
  171. });
  172. },
  173. onClose1() {
  174. this.setData({
  175. postshow1: false
  176. });
  177. },
  178. // onInput(event) {
  179. // this.setData({
  180. // currentDate: event.detail,
  181. // });
  182. // },
  183. onInput1(event) {
  184. this.setData({
  185. currentDate1: event.detail,
  186. });
  187. },
  188. formatDate(date) {
  189. date = new Date(date);
  190. return `${date.getFullYear()-1}/${date.getMonth() + 1}/${date.getDate()}`;
  191. },
  192. kaihuListChange(e) {
  193. console.log(e, "8888888888888")
  194. this.setData({
  195. kaihuindex: e.detail.value,
  196. kaihutext: this.data.kaihuList[e.detail.value].name,
  197. })
  198. },
  199. share1() {
  200. this.setData({
  201. postshow: true
  202. });
  203. },
  204. share() {
  205. this.setData({
  206. postshow1: true
  207. });
  208. },
  209. formatDate(date) {
  210. date = new Date(date);
  211. return `${date.getFullYear()-1}/${date.getMonth() + 1}/${date.getDate()}`;
  212. },
  213. onConfirm(event) {
  214. let timeValue = this.timeFormat(new Date(event.detail), "yyyy-MM-dd");
  215. this.setData({
  216. tenure: timeValue,
  217. postshow: false,
  218. headmasterText: ''
  219. });
  220. },
  221. onConfirm1(event) {
  222. let timeValue = this.timeFormat(new Date(event.detail), "yyyy-MM-dd");
  223. this.setData({
  224. peixunTime: timeValue,
  225. postshow1: false,
  226. peixunText: ''
  227. });
  228. },
  229. parameterTap: function (e) {
  230. let that = this
  231. let this_checked = e.currentTarget.dataset.id
  232. let parameterList = this.data.parameter //获取Json数组
  233. for (let i = 0; i < parameterList.length; i++) {
  234. if (parameterList[i].id == this_checked) {
  235. parameterList[i].checked = true; //当前点击的位置为true即选中
  236. } else {
  237. parameterList[i].checked = false; //其他的位置为false
  238. }
  239. }
  240. that.setData({
  241. parameter: parameterList
  242. })
  243. },
  244. formSubmit(e) {
  245. e.detail.value.culture = this.data.kaihuList[this.data.kaihuindex].name;
  246. e.detail.value.studentDuty = isNaN(this.data.zwIndex) ? '' : this.data.jobArr[this.data.zwIndex].dictValue
  247. e.detail.value.tenure = this.data.tenure;
  248. e.detail.value.sessionKey = this.data.sessionKey;
  249. let aa = e.detail.value
  250. console.log(this.data.avatar);
  251. if (aa.culture && aa.school && aa.studentDuty && aa.tenure && aa.studentDept && aa.studentPhone) {
  252. wx.request({
  253. url: app.globalData.publicUrl + '/wx/student/upStudent',
  254. method: "post",
  255. data: {
  256. studentDept: aa.studentDept,
  257. culture: aa.culture,
  258. school: aa.school,
  259. studentDuty: aa.studentDuty,
  260. tenure: aa.tenure,
  261. studentPhone: aa.studentPhone,
  262. sessionKey: this.data.sessionKey,
  263. mcajor: aa.mcajor,
  264. gridLeader: this.data.wgzIndex, //网格长
  265. buildingLeader: this.data.ldzIndex, //楼栋长
  266. unitLeader: this.data.dyzIndex, //单元长
  267. welfarePosition: this.data.gygIndex, //公益岗位
  268. partyMember: this.data.dyIndex, //党员
  269. studentHead:this.data.avatar//微信头像
  270. },
  271. success: () => {
  272. wx.showModal({
  273. showCancel: false,
  274. content: '报到成功',
  275. success() {
  276. wx.navigateBack({
  277. delta: 1
  278. })
  279. }
  280. })
  281. },
  282. fail: (res) => {
  283. console.log(res)
  284. wx.showModal({
  285. showCancel: false,
  286. content: '报到失败',
  287. success() {
  288. wx.navigateBack({
  289. delta: 1
  290. })
  291. }
  292. })
  293. }
  294. })
  295. } else {
  296. wx.showModal({
  297. showCancel: false,
  298. content: '请确认是否还有其他必填项没有填写'
  299. })
  300. }
  301. },
  302. timeFormat(date, fmt) {
  303. let o = {
  304. "M+": date.getMonth() + 1, //月份   
  305. "d+": date.getDate(), //日
  306. "h+": date.getHours(), //小时   
  307. "m+": date.getMinutes(), //分   
  308. "s+": date.getSeconds(), //秒   
  309. "q+": Math.floor((date.getMonth() + 3) / 3), //季度   
  310. "S": date.getMilliseconds() //毫秒   
  311. };
  312. if (/(y+)/.test(fmt))
  313. fmt = fmt.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length));
  314. for (let k in o)
  315. if (new RegExp("(" + k + ")").test(fmt))
  316. fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
  317. return fmt;
  318. },
  319. getjob(sessionKey) {
  320. wx.request({
  321. url: app.globalData.publicUrl + '/wx/student/position',
  322. method: "get",
  323. data: {
  324. sessionKey
  325. },
  326. success: (res) => {
  327. console.log(res, '我是获取到的数组')
  328. let Arr = [];
  329. res.data.data.forEach(item => {
  330. let newdata = {};
  331. newdata.dictLabel = item.dictLabel;
  332. newdata.dictValue = item.dictValue;
  333. Arr.push(newdata);
  334. });
  335. this.setData({
  336. jobArr: Arr
  337. })
  338. this.getBanner(sessionKey);
  339. console.log(this.data.jobArr, '我是新组成的数组')
  340. },
  341. fail: () => {
  342. wx.hideLoading();
  343. }
  344. })
  345. },
  346. onReady: function () {},
  347. async onLoad() {
  348. console.log(this.data.loadvisible);
  349. var that=this;
  350. wx.showLoading({
  351. title: '加载中',
  352. mask: true
  353. })
  354. const sessionKey = await tools.checkSessionAndLogin();
  355. console.log(sessionKey, "000000");
  356. this.setData({
  357. sessionKey: sessionKey
  358. })
  359. this.getjob(sessionKey)
  360. // 查看是否授权
  361. wx.getSetting({
  362. success (res){
  363. if (res.authSetting['scope.userInfo']) {
  364. // 已经授权,可以直接调用 getUserInfo 获取头像昵称
  365. wx.getUserInfo({
  366. success: function(res) {
  367. that.setData({visible:true,loadvisible:true,avatar:res.userInfo.avatar});
  368. console.log(res.userInfo)
  369. console.log(that.data.loadvisible);
  370. }
  371. })
  372. }else{
  373. // 如果没有授权,表单不可见
  374. that.setData({loadvisible:true,visible:false});
  375. }
  376. },
  377. fail(){
  378. //接口调用失败需要返回重试
  379. wx.showModal({
  380. showCancel: false,
  381. content: '网络错误,请稍后再试',
  382. success() {
  383. wx.navigateBack({
  384. delta: 1
  385. })
  386. }
  387. })
  388. }
  389. })
  390. },
  391. getBanner(sessionKey) {
  392. wx.request({
  393. url: app.globalData.publicUrl + '/wx/student/selStudentSessionKeyEcho',
  394. method: "post",
  395. data: {
  396. sessionKey: sessionKey,
  397. },
  398. success: (res) => {
  399. console.log(res)
  400. if (res.data.code == 0) {
  401. this.data.parameter.forEach(item => {
  402. if (item.value == res.data.data.studentSex) {
  403. item.checked = true;
  404. }
  405. })
  406. this.setData({
  407. info: res.data.data,
  408. parameter: this.data.parameter,
  409. studentDept: res.data.data.studentDept,
  410. zwIndex: Number(res.data.data.studentDuty) - 1,
  411. // jobtext: res.data.data.studentDuty,
  412. kaihutext: res.data.data.culture,
  413. mcajor: res.data.data.mcajor,
  414. tenure: res.data.data.tenure,
  415. studentPhone: res.data.data.studentPhone,
  416. wgzIndex: res.data.data.gridLeader, //网格长
  417. ldzIndex: res.data.data.buildingLeader, //楼栋长
  418. dyzIndex: res.data.data.unitLeader, //单元长
  419. gygIndex: res.data.data.welfarePosition, //公益岗位
  420. dyIndex: res.data.data.partyMember //党员
  421. })
  422. wx.hideLoading();
  423. }
  424. },
  425. fail: () => {
  426. wx.hideLoading();
  427. }
  428. })
  429. }
  430. })