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 15 KiB

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