You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

welcome.js 16 KiB

3 years ago
4 years ago
4 years ago
4 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
3 years ago
3 years ago
4 years ago
4 years ago
4 years ago
4 years ago
4 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434
  1. (function () {
  2. var colDataItemArr = ['GenderNo'];
  3. var colDataItemCode = ['usersex'];
  4. var colDataItemBank = ['DepositBank'];
  5. var page = {
  6. isScroll: false,
  7. init: function ($page) {
  8. // 获取登录者信息
  9. var userinfo = learun.storage.get('userinfo');
  10. //tab切换
  11. $page.find('.welTab div').on('tap', function () {
  12. var ind = $(this).index();
  13. $(this).addClass('active').siblings().removeClass('active');
  14. $('.welBox').css('display', 'none').eq(ind).fadeIn()
  15. })
  16. //增加联系人
  17. $page.find('.welAdd').on('tap', function () {
  18. var FamilyHtml = '<div class="welCon"><form class="welConForm">' +
  19. '<div class="welInput">' +
  20. '<span>姓名</span>' +
  21. '<input class="welInputs" type="text" name="Name" placeholder="请填写姓名" />' +
  22. '</div>' +
  23. '<div class="welInput">' +
  24. '<span>与本人关系</span>' +
  25. '<div name="Relation" value=""></div>' +
  26. '</div>' +
  27. '<div class="welInput">' +
  28. '<span>年龄</span>' +
  29. '<input class="welInputs" type="text" name="Age" placeholder="请填写年龄" />' +
  30. '</div>' +
  31. '<div class="welInput">' +
  32. '<span>政治面貌</span>' +
  33. '<div name="Politicy" value=""></div>' +
  34. '</div>' +
  35. //'<div class="welInput">' +
  36. //'<span>身份证号</span>' +
  37. //'<input type="text" name="IdCard" placeholder="请填写身份证号" />' +
  38. //'</div>' +
  39. '<div class="welDel"> <i class="iconfont icon-move"></i> </div>' +
  40. '</form></div>';
  41. var EmergePeopleHtml = '<div class="welCon"><form class="welConForm">' +
  42. '<div class="welInput">' +
  43. '<span>姓名</span>' +
  44. '<input class="welInputs" type="text" name="Name" placeholder="请填写姓名" />' +
  45. '</div>' +
  46. '<div class="welInput">' +
  47. '<span>与本人关系</span>' +
  48. '<div name="Relation" value=""></div>' +
  49. '</div>' +
  50. '<div class="welInput">' +
  51. '<span>手机号码</span>' +
  52. '<input class="welInputs" type="text" name="Telephone" placeholder="请填写手机号码" />' +
  53. '</div>' +
  54. '<div class="welInput">' +
  55. '<span>座机号码</span>' +
  56. '<input class="welInputs" type="text" name="Mobile" placeholder="请填写座机号码" />' +
  57. '</div>' +
  58. '<div class="welInput">' +
  59. '<span>联系地址</span>' +
  60. '<input class="welInputs" type="text" name="Address" placeholder="请填写联系地址" />' +
  61. '</div>' +
  62. '<div class="welDel"> <i class="iconfont icon-move"></i> </div>' +
  63. '</form></div>';
  64. var obj = $(this).parents('.welBox').find('.welUrgent');
  65. if ($(this).attr('title') == '紧急联系人') {
  66. obj.append(EmergePeopleHtml);
  67. } else {
  68. obj.append(FamilyHtml);
  69. //政治面貌
  70. var Politicy = $(obj).find('[name="Politicy"]:last');
  71. Politicy.lrpickerex({
  72. code: 'BCdPartyFace',
  73. type: 'sourceData',
  74. ivalue: 'partyfaceno',
  75. itext: 'partyface'
  76. });
  77. //赋值
  78. Politicy.lrpickerSet(Politicy.attr('value'));
  79. }
  80. //与本人关系
  81. var Relation = $(obj).find('[name="Relation"]:last');
  82. Relation.lrpickerex({
  83. code: 'FamilyRelation',
  84. type: 'dataItem'
  85. });
  86. //赋值
  87. Relation.lrpickerSet(Relation.attr('value'));
  88. // page.bind($page);
  89. })
  90. //删除联系人
  91. $page.find('.welBox').on('tap', '.welDel i', function () {
  92. var parents = $(this).parents('.welCon')
  93. learun.layer.confirm('是否删除此联系人?', function (_index) {
  94. _index == 1 ? parents.remove() : ''
  95. }, '提示', ['否', '是']);
  96. })
  97. //上传照片
  98. var inputNode = $page.find('#files');
  99. $page.find('#PhotoImg').on('tap', function () {
  100. var evt = new MouseEvent("click", {
  101. bubbles: false,
  102. cancelable: true,
  103. view: window
  104. });
  105. inputNode[0].dispatchEvent(evt);
  106. })
  107. inputNode.on('change', function () {
  108. previewFile();
  109. });
  110. //数据绑定
  111. learun.layer.loading(true, '获取数据中');
  112. learun.httpget(config.webapi + "StuInfoFresh/stuInfoFreshEntity", userinfo.baseinfo.account, (
  113. data) => {
  114. //console.log('datadata',data);
  115. if (data) {
  116. if(!data['StuInfoFreshEntity'])
  117. {
  118. learun.layer.loading(false);
  119. learun.layer.toast('未查询到新生数据,请确认是否为新生。');
  120. return;
  121. }
  122. //基本信息
  123. for (var id in data['StuInfoFreshEntity']) {
  124. var dom = $('#' + id)[0];
  125. if (dom) {
  126. if (dom.tagName.toLowerCase() == "span") {
  127. $('#' + id).html(data['StuInfoFreshEntity']['' + id + '']);
  128. //数据字典
  129. if ($.inArray(id, colDataItemArr) >= 0) {
  130. learun.clientdata.get('dataItem', {
  131. code: colDataItemCode[$.inArray(id,
  132. colDataItemArr)],
  133. key: data['StuInfoFreshEntity']['' + id + ''],
  134. callback: function(data, op) {
  135. $('#' + id).html(data.text);
  136. }
  137. });
  138. }
  139. if (id == "PartyFaceNo") {
  140. learun.clientdata.get('sourceData', {
  141. code: 'BCdPartyFace',
  142. key: data['StuInfoFreshEntity']['' + id + ''],
  143. keyId: 'partyfaceno',
  144. callback: function(data, op) {
  145. $("#PartyFaceNo").html(data.partyface);
  146. }
  147. });
  148. }
  149. if (id == "#DepositBank") {
  150. learun.clientdata.get('sourceData', {
  151. code: 'DepositBank',
  152. key: data['StuInfoFreshEntity']['' + id + ''],
  153. keyId: 'DepositBank',
  154. callback: function(data, op) {
  155. $("#DepositBank").html(data.text);
  156. }
  157. });
  158. }
  159. } else if (dom.tagName.toLowerCase() == "input") {
  160. $('#' + id).val(data['StuInfoFreshEntity']['' + id + '']);
  161. }
  162. }
  163. }
  164. $("#Birthday").html($("#Birthday").text().substr(0, $("#Birthday").text()
  165. .indexOf(' ')));
  166. $("#DepositBank").lrpickerSet(data.StuInfoFreshEntity.DepositBank);
  167. //头像
  168. $('#PhotoImg').attr('src', config.web + data['Url']);
  169. //家庭成员
  170. if(data['StuInfoFreshFamilyList'].length>0){
  171. $('#StuInfoFreshFamily').html("");
  172. $.each(data['StuInfoFreshFamilyList'], function(i, item) {
  173. var html = '<div class="welCon"><form class="welConForm">' +
  174. '<div class="welInput">' +
  175. '<span>姓名</span>' +
  176. '<input class="welInputs" type="text" name="Name" placeholder="请填写姓名" value="' +
  177. item.Name + '"/>' +
  178. '</div >' +
  179. '<div class="welInput">' +
  180. '<span>与本人关系</span>' +
  181. '<div name="Relation" value="' + item.Relation + '"></div>' +
  182. '</div>' +
  183. '<div class="welInput">' +
  184. '<span>年龄</span>' +
  185. '<input class="welInputs" type="text" name="Age" placeholder="请填写年龄" value="' +
  186. item.Age + '"/>' +
  187. '</div>' +
  188. '<div class="welInput">' +
  189. '<span>政治面貌</span>' +
  190. '<div name="Politicy" value="' + item.Politicy + '"/>' +
  191. '</div>' +
  192. '<div class="welDel"> <i class="iconfont icon-move"></i> </div>' +
  193. '</form></div> ';
  194. $('#StuInfoFreshFamily').append(html);
  195. });}
  196. //紧急联系人
  197. if(data['StuInfoFreshEmergePeopleList'].length>0){
  198. $('#StuInfoFreshEmergePeople').html("");
  199. $.each(data['StuInfoFreshEmergePeopleList'], function(i, item) {
  200. var html = '<div class="welCon"><form class="welConForm">' +
  201. '<div class="welInput">' +
  202. '<span>姓名</span>' +
  203. '<input class="welInputs" type="text" name="Name" placeholder="请填写姓名" value="' +
  204. item.Name + '"/>' +
  205. '</div >' +
  206. '<div class="welInput">' +
  207. '<span>与本人关系</span>' +
  208. '<div name="Relation" value="' +item.Relation + '"></div>' +
  209. '</div>' +
  210. '<div class="welInput">' +
  211. '<span>手机号码</span>' +
  212. '<input class="welInputs Telephone" type="text" name="Telephone" placeholder="请填写手机号码" value="' +
  213. item.Telephone + '"/>' +
  214. '</div>' +
  215. '<div class="welInput">' +
  216. '<span>座机号码</span>' +
  217. '<input class="welInputs Telephone2" type="text" name="Mobile" placeholder="请填写座机号码" value="' +
  218. item.Mobile + '"/>' +
  219. '</div>' +
  220. '<div class="welInput">' +
  221. '<span>联系地址</span>' +
  222. '<input class="welInputs" type="text" name="Address" placeholder="请填写联系地址" value="' +item.Address + '"/>' +
  223. '</div>' +
  224. //'<div class="welDel"> <i class="iconfont icon-move"></i> </div>' +
  225. '</form></div > ';
  226. $('#StuInfoFreshEmergePeople').append(html);
  227. });
  228. }
  229. $('.Telephone').on('blur',function(item){
  230. var reg = new RegExp("^[0-9]*$")
  231. if(!reg.test($(".Telephone").val())){
  232. $(".Telephone").val("")
  233. $('.Telephone').attr('placeholder',"手机号只能为数字");
  234. learun.layer.loading(true, '手机号只能为数字');
  235. setTimeout(function(){
  236. learun.layer.loading(false);
  237. },1000)
  238. }
  239. })
  240. $('.Telephone2').on('blur',function(item){
  241. var reg = new RegExp(/^\d{3}-\d{7,8}|\d{4}-\d{7,8}$/)
  242. if(!reg.test($(".Telephone2").val())){
  243. $(".Telephone2").val("")
  244. $('.Telephone2').attr('placeholder',"座机号只能为数字");
  245. learun.layer.loading(true, '座机号只能为数字');
  246. setTimeout(function(){
  247. learun.layer.loading(false);
  248. },1000)
  249. }
  250. })
  251. page.bind($page);
  252. learun.layer.loading(false);
  253. }
  254. });
  255. //保存
  256. $page.find('.saveBtn').on('tap', function () {
  257. var postdata = {
  258. ID: $('#ID').val(),
  259. RegionNo: $('#RegionNo').val(),
  260. FamilyAddress: $('#FamilyAddress').val(),
  261. telephone: $('#telephone').val(),
  262. Photo: $('#Photo').val(),
  263. DepositBank: $('#DepositBank').lrpickerGet(),
  264. BankCard: $('#BankCard').val(),
  265. BankLocation: $('#BankLocation').val(),
  266. StuInfoFreshFamilyEntities: family(),
  267. StuInfoFreshEmergePeopleEntities: emergePeople()
  268. };
  269. //console.log(postdata)
  270. //return
  271. learun.layer.loading(true, '正在提交数据');
  272. learun.httpget(config.webapi + "StuInfoFresh/saveStuInfoFresh", postdata, (data) => {
  273. learun.layer.loading(false);
  274. if (data) {
  275. learun.layer.toast('保存成功');
  276. learun.nav.closeCurrent();
  277. learun.nav.go({ path: 'notice2', title: '新生入校流程', type: 'right' });
  278. }
  279. });
  280. });
  281. page.bind($page);
  282. },
  283. bind: function ($page) {
  284. //性别
  285. $.each($page.find('[name="Sex"]'), function (i, item) {
  286. $page.find(item).lrpickerex({
  287. code: 'usersex',
  288. type: 'dataItem'
  289. });
  290. //赋值
  291. $(item).lrpickerSet($(item).attr('value'));
  292. });
  293. //政治面貌
  294. $.each($page.find('[name="Politicy"]'), function (i, item) {
  295. $page.find(item).lrpickerex({
  296. code: 'BCdPartyFace',
  297. type: 'sourceData',
  298. ivalue: 'partyfaceno',
  299. itext: 'partyface'
  300. });
  301. //赋值
  302. $(item).lrpickerSet($(item).attr('value'));
  303. });
  304. //与本人关系
  305. $.each($page.find('[name="Relation"]'), function (i, item) {
  306. $page.find(item).lrpickerex({
  307. code: 'FamilyRelation',
  308. type: 'dataItem'
  309. });
  310. //赋值
  311. $(item).lrpickerSet($(item).attr('value'));
  312. });
  313. //开户银行
  314. $page.find('#DepositBank').lrpickerex({
  315. code: 'DepositBank',
  316. type: 'dataItem'
  317. });
  318. /* $.each($page.find('[name="DepositBank"]'), function (i, item) {
  319. $page.find(item).lrpickerex({
  320. code: 'DepositBank',
  321. type: 'dataItem'
  322. });
  323. //赋值
  324. $(item).lrpickerSet($(item).attr('value'));
  325. }); */
  326. }
  327. };
  328. //数据处理
  329. function family() {
  330. var list = new Array();
  331. $.each($('#StuInfoFreshFamily').children('.welCon'), function (i, item) {
  332. var o = $(item).children(".welConForm").serializeObject();
  333. o.Sex = $(item).find('[name="Sex"]').lrpickerGet();
  334. o.Politicy = $(item).find('[name="Politicy"]').lrpickerGet();
  335. o.Relation = $(item).find('[name="Relation"]').lrpickerGet();
  336. list.push(o);
  337. });
  338. return list;
  339. }
  340. function emergePeople() {
  341. var list = new Array();
  342. $.each($('#StuInfoFreshEmergePeople').children('.welCon'), function (i, item) {
  343. var o = $(item).children(".welConForm").serializeObject();
  344. o.Relation = $(item).find('[name="Relation"]').lrpickerGet();
  345. list.push(o);
  346. });
  347. return list;
  348. }
  349. $.fn.serializeObject = function () {
  350. var o = {};
  351. var a = this.serializeArray();
  352. $.each(a, function () {
  353. if (o[this.name]) {
  354. if (!o[this.name].push) {
  355. o[this.name] = [o[this.name]];
  356. }
  357. o[this.name].push(this.value || '');
  358. } else {
  359. o[this.name] = this.value || '';
  360. }
  361. });
  362. return o;
  363. }
  364. //上传照片
  365. function previewFile() {
  366. var html = '';
  367. var file = document.querySelector('input[type=file]').files[0];
  368. var reader = new FileReader();
  369. reader.onloadend = function () {
  370. //$('#PhotoImg').attr('src', reader.result);
  371. var postData = {
  372. Base64Url: reader.result
  373. }
  374. learun.httppost(config.webapi + "StuInfoFresh/savePhoto", postData, (data) => {
  375. if (data) {
  376. $('#Photo').val(data.AnnexesFileId);
  377. $('#PhotoImg').attr('src', config.web + data.Url);
  378. } else {
  379. learun.layer.toast('采集照片信息失败!');
  380. }
  381. });
  382. }
  383. if (file) {
  384. reader.readAsDataURL(file);
  385. }
  386. }
  387. //产生随机数
  388. function GenerateRandom() {
  389. var retstr = "";
  390. var date = new Date();
  391. retstr = date.getFullYear().toString() + "-" + date.getMonth().toString() + "-" + date.getDate().toString() + "-" + date.getUTCHours().toString() + "-" + date.getUTCMinutes() + "-" + date.getUTCSeconds().toString();
  392. var Num = "";
  393. for (var i = 0; i < 6; i++) {
  394. Num += Math.floor(Math.random() * 10);
  395. }
  396. return retstr + Num;
  397. }
  398. return page;
  399. })();