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.
 
 
 
 
 
 

327 lines
15 KiB

  1. (function () {
  2. var colDataItemArr = ['GenderNo', 'PartyFaceNo'];
  3. var colDataItemCode = ['usersex', 'PolityStatus'];
  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. } else if (dom.tagName.toLowerCase() == "input") {
  110. $('#' + id).val(data['StuInfoFreshEntity']['' + id + '']);
  111. }
  112. }
  113. }
  114. //头像
  115. $('#PhotoImg').attr('src', config.web + data['Url']);
  116. //家庭成员
  117. $('#StuInfoFreshFamily').html("");
  118. $.each(data['StuInfoFreshFamilyList'], function (i, item) {
  119. var html = '<div class="welCon"><form class="welConForm">' +
  120. '<div class="welInput">' +
  121. '<span>姓名</span>' +
  122. '<input type="text" name="Name" placeholder="请填写姓名" value="' + item.Name + '"/>' +
  123. '</div >' +
  124. '<div class="welInput">' +
  125. '<span>与本人关系</span>' +
  126. //'<input type="text" name="Relation" placeholder="请填写与本人关系" value="' + item.Relation + '"/>' +
  127. '<div name="Relation" value="' + item.Relation + '"></div>' +
  128. '</div>' +
  129. '<div class="welInput">' +
  130. '<span>性别</span>' +
  131. //'<input type="text" name="Sex" placeholder="请填写性别" value="' + item.Sex + '"/>' +
  132. '<div name="Sex" value="' + item.Sex + '"></div>' +
  133. '</div>' +
  134. '<div class="welInput">' +
  135. '<span>年龄</span>' +
  136. '<input type="text" name="Age" placeholder="请填写年龄" value="' + item.Age + '"/>' +
  137. '</div>' +
  138. '<div class="welInput">' +
  139. '<span>政治面貌</span>' +
  140. //'<input type="text" name="Politicy" placeholder="请填写政治面貌" value="' + item.Politicy + '"/>' +
  141. '<div name="Politicy" value="' + item.Politicy + '"/>' +
  142. '</div>' +
  143. '<div class="welInput">' +
  144. '<span>身份证号</span>' +
  145. '<input type="text" name="IdCard" placeholder="请填写身份证号" value="' + item.IdCard + '"/>' +
  146. '</div>' +
  147. '<div class="welDel"> <i class="iconfont icon-move"></i> </div>' +
  148. '</form></div> ';
  149. $('#StuInfoFreshFamily').append(html);
  150. });
  151. //紧急联系人
  152. $('#StuInfoFreshEmergePeople').html("");
  153. $.each(data['StuInfoFreshEmergePeopleList'], function (i, item) {
  154. var html = '<div class="welCon"><form class="welConForm">' +
  155. '<div class="welInput">' +
  156. '<span>姓名</span>' +
  157. '<input type="text" name="Name" placeholder="请填写姓名" value="' + item.Name + '"/>' +
  158. '</div >' +
  159. '<div class="welInput">' +
  160. '<span>与本人关系</span>' +
  161. '<input type="text" name="Relation" placeholder="请填写与本人关系" value="' + item.Relation + '"/>' +
  162. '</div>' +
  163. '<div class="welInput">' +
  164. '<span>手机号码</span>' +
  165. '<input type="text" name="Telephone" placeholder="请填写手机号码" value="' + item.Telephone + '"/>' +
  166. '</div>' +
  167. '<div class="welInput">' +
  168. '<span>座机号码</span>' +
  169. '<input type="text" name="Mobile" placeholder="请填写座机号码" value="' + item.Mobile + '"/>' +
  170. '</div>' +
  171. '<div class="welInput">' +
  172. '<span>联系地址</span>' +
  173. '<input type="text" name="Address" placeholder="请填写联系地址" value="' + item.Address + '"/>' +
  174. '</div>' +
  175. '<div class="welDel"> <i class="iconfont icon-move"></i> </div>' +
  176. '</form></div > ';
  177. $('#StuInfoFreshEmergePeople').append(html);
  178. });
  179. page.bind($page);
  180. learun.layer.loading(false);
  181. }
  182. });
  183. //保存
  184. $page.find('#saveBtn').on('tap', function () {
  185. var postdata = {
  186. ID: $('#ID').val(),
  187. RegionNo: $('#RegionNo').val(),
  188. FamilyAddress: $('#FamilyAddress').val(),
  189. telephone: $('#telephone').val(),
  190. Photo: $('#Photo').val(),
  191. StuInfoFreshFamilyEntities: family(),
  192. StuInfoFreshEmergePeopleEntities: emergePeople()
  193. };
  194. learun.layer.loading(true, '正在提交数据');
  195. learun.httpget(config.webapi + "StuInfoFresh/saveStuInfoFresh", postdata, (data) => {
  196. learun.layer.loading(false);
  197. if (data) {
  198. learun.layer.toast('保存成功');
  199. location.reload();
  200. }
  201. });
  202. });
  203. },
  204. bind: function ($page) {
  205. //性别
  206. $.each($page.find('[name="Sex"]'), function (i, item) {
  207. $page.find(item).lrpickerex({
  208. code: 'usersex',
  209. type: 'dataItem'
  210. });
  211. //赋值
  212. $(item).lrpickerSet($(item).attr('value'));
  213. });
  214. //政治面貌
  215. $.each($page.find('[name="Politicy"]'), function (i, item) {
  216. $page.find(item).lrpickerex({
  217. code: 'PolityStatus',
  218. type: 'dataItem'
  219. });
  220. //赋值
  221. $(item).lrpickerSet($(item).attr('value'));
  222. });
  223. //与本人关系
  224. $.each($page.find('#StuInfoFreshFamily').find('[name="Relation"]'), function (i, item) {
  225. $page.find(item).lrpickerex({
  226. code: 'FamilyRelation',
  227. type: 'dataItem'
  228. });
  229. //赋值
  230. $(item).lrpickerSet($(item).attr('value'));
  231. });
  232. }
  233. };
  234. //数据处理
  235. function family() {
  236. var list = new Array();
  237. $.each($('#StuInfoFreshFamily').children('.welCon'), function (i, item) {
  238. var o = $(item).children(".welConForm").serializeObject();
  239. o.Sex = $(item).find('[name="Sex"]').lrpickerGet();
  240. o.Politicy = $(item).find('[name="Politicy"]').lrpickerGet();
  241. o.Relation = $(item).find('[name="Relation"]').lrpickerGet();
  242. list.push(o);
  243. });
  244. return list;
  245. }
  246. function emergePeople() {
  247. var list = new Array();
  248. $.each($('#StuInfoFreshEmergePeople').children('.welCon'), function (i, item) {
  249. var o = $(item).children(".welConForm").serializeObject();
  250. list.push(o);
  251. });
  252. return list;
  253. }
  254. $.fn.serializeObject = function () {
  255. var o = {};
  256. var a = this.serializeArray();
  257. $.each(a, function () {
  258. if (o[this.name]) {
  259. if (!o[this.name].push) {
  260. o[this.name] = [o[this.name]];
  261. }
  262. o[this.name].push(this.value || '');
  263. } else {
  264. o[this.name] = this.value || '';
  265. }
  266. });
  267. return o;
  268. }
  269. //上传照片
  270. function previewFile() {
  271. var html = '';
  272. var file = document.querySelector('input[type=file]').files[0];
  273. var reader = new FileReader();
  274. reader.onloadend = function () {
  275. //$('#PhotoImg').attr('src', reader.result);
  276. var postData = {
  277. Base64Url: reader.result
  278. }
  279. learun.httppost(config.webapi + "StuInfoFresh/savePhoto", postData, (data) => {
  280. if (data) {
  281. $('#Photo').val(data.AnnexesFileId);
  282. $('#PhotoImg').attr('src', config.web + data.Url);
  283. } else {
  284. learun.layer.toast('采集照片信息失败!');
  285. }
  286. });
  287. }
  288. if (file) {
  289. reader.readAsDataURL(file);
  290. }
  291. }
  292. //产生随机数
  293. function GenerateRandom() {
  294. var retstr = "";
  295. var date = new Date();
  296. retstr = date.getFullYear().toString() + "-" + date.getMonth().toString() + "-" + date.getDate().toString() + "-" + date.getUTCHours().toString() + "-" + date.getUTCMinutes() + "-" + date.getUTCSeconds().toString();
  297. var Num = "";
  298. for (var i = 0; i < 6; i++) {
  299. Num += Math.floor(Math.random() * 10);
  300. }
  301. return retstr + Num;
  302. }
  303. return page;
  304. })();