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.
 
 
 
 
 
 

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