talentBasicChange_info.js 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280
  1. /**
  2. * 初始化人才基础信息变更详情对话框
  3. */
  4. var TalentBasicChangeInfoDlg = {
  5. talentBasicChangeInfoData: {},
  6. validateFields: {
  7. talentId: {validators: {notEmpty: {message: '原姓名不能为空'}}},
  8. newName: {validators: {notEmpty: {message: '现姓名不能为空'}}},
  9. newBirthday: {validators: {notEmpty: {message: '现出生日期不能为空'}}},
  10. newNationality: {validators: {notEmpty: {message: '现国家/地区不能为空'}}},
  11. newNation: {validators: {notEmpty: {message: '现民族不能为空'}}},
  12. newPolitics: {validators: {notEmpty: {message: '现政治面貌不能为空'}}},
  13. newCardType: {validators: {notEmpty: {message: '现证件类型不能为空'}}},
  14. newIdCard: {validators: {notEmpty: {message: '现证件号码不能为空'}}},
  15. newEmail: {validators: {notEmpty: {message: '现电子邮箱不能为空'}}},
  16. }
  17. };
  18. /**
  19. * 清除数据
  20. */
  21. TalentBasicChangeInfoDlg.clearData = function () {
  22. this.talentBasicChangeInfoData = {};
  23. }
  24. /**
  25. * 设置对话框中的数据
  26. *
  27. * @param key 数据的名称
  28. * @param val 数据的具体值
  29. */
  30. TalentBasicChangeInfoDlg.set = function (key, val) {
  31. this.talentBasicChangeInfoData[key] = (typeof val == "undefined") ? $("#" + key).val() : val;
  32. return this;
  33. }
  34. /**
  35. * 设置对话框中的数据
  36. *
  37. * @param key 数据的名称
  38. * @param val 数据的具体值
  39. */
  40. TalentBasicChangeInfoDlg.get = function (key) {
  41. return $("#" + key).val();
  42. }
  43. /**
  44. * 关闭此对话框
  45. */
  46. TalentBasicChangeInfoDlg.close = function () {
  47. parent.layer.close(window.parent.TalentBasicChange.layerIndex);
  48. }
  49. /**
  50. * 验证数据
  51. */
  52. TalentBasicChangeInfoDlg.validate = function () {
  53. $('#basicChangeForm').data("bootstrapValidator").resetForm();
  54. $('#basicChangeForm').bootstrapValidator('validate');
  55. return $("#basicChangeForm").data('bootstrapValidator').isValid();
  56. }
  57. /**
  58. * 收集数据
  59. */
  60. TalentBasicChangeInfoDlg.collectData = function () {
  61. this
  62. .set('id')
  63. .set('type')
  64. .set('enterpriseId')
  65. .set('talentId')
  66. .set('newName')
  67. .set('newBirthday')
  68. .set('newNationality')
  69. .set('newNation')
  70. .set('newPolitics')
  71. .set('newCardType')
  72. .set('newIdCard')
  73. .set('newEmail');
  74. }
  75. TalentBasicChangeInfoDlg.nameChange = function () {
  76. var talentId = $("#talentId").val();
  77. if (Feng.isNotEmptyStr(talentId)) {
  78. var ajax = new $ax(Feng.ctxPath + "/api/talentInfo/detail/" + talentId, function (data) {
  79. var talentInfo = data;
  80. $("#oldBirthday").val(talentInfo.birthday);
  81. $("#oldNationality").val(talentInfo.nationality);
  82. $("#oldNation").val(talentInfo.nation);
  83. $("#oldPolitics").val(talentInfo.politics);
  84. $("#oldCardType").val(talentInfo.cardType);
  85. $("#oldIdCard").val(talentInfo.idCard);
  86. $("#oldEmail").val(talentInfo.email);
  87. $("#newName").val(talentInfo.name);
  88. $("#newBirthday").val(talentInfo.birthday);
  89. $("#newNationality").val(talentInfo.nationality);
  90. $("#newNation").val(talentInfo.nation);
  91. $("#newPolitics").val(talentInfo.politics);
  92. $("#newCardType").val(talentInfo.cardType);
  93. $("#newIdCard").val(talentInfo.idCard);
  94. $("#newEmail").val(talentInfo.email);
  95. }, function (data) {
  96. Feng.error("查询失败!" + data.responseJSON.message + "!");
  97. });
  98. ajax.start();
  99. }
  100. }
  101. /**
  102. * 提交添加
  103. */
  104. TalentBasicChangeInfoDlg.addSubmit = function () {
  105. this.clearData();
  106. this.collectData();
  107. if (!TalentBasicChangeInfoDlg.validate()) {
  108. return;
  109. }
  110. var id = $('#id').val();
  111. if (Feng.isNotEmptyStr(id)) {
  112. TalentBasicChangeInfoDlg.editSubmit();
  113. return;
  114. }
  115. //提交信息
  116. var ajax = new $ax(Feng.ctxPath + "/api/talentBasicChange/add", function (data) {
  117. if (data.code == 200) {
  118. Feng.success(data.msg);
  119. $("#id").val(data.obj.id);
  120. $("#talentId").prop("disabled", true).trigger("chosen:updated");
  121. $("#fileLi").removeAttr("style");
  122. $("#checkState").val(data.obj.checkState);
  123. } else {
  124. Feng.info(data.msg);
  125. }
  126. }, function (data) {
  127. Feng.error("添加失败!" + data.responseJSON.message + "!");
  128. });
  129. ajax.set(this.talentBasicChangeInfoData);
  130. ajax.start();
  131. }
  132. /**
  133. * 提交修改
  134. */
  135. TalentBasicChangeInfoDlg.editSubmit = function () {
  136. if (!validateIsEdit()) return;
  137. //提交信息
  138. var ajax = new $ax(Feng.ctxPath + "/api/talentBasicChange/update", function (data) {
  139. if (data.code == 200) {
  140. Feng.success(data.msg);
  141. } else {
  142. Feng.info(data.msg);
  143. }
  144. }, function (data) {
  145. Feng.error("修改失败!" + data.responseJSON.message + "!");
  146. });
  147. ajax.set(this.talentBasicChangeInfoData);
  148. ajax.start();
  149. }
  150. function validateIsEdit () {
  151. var id = $("#id").val();
  152. if (id == null || id == '') {
  153. Feng.info("请先添加基本信息并保存后再试");
  154. return false;
  155. }
  156. var checkState = $("#checkState").val();
  157. if (checkState != -1 && checkState != 2) {
  158. Feng.error("您的申报正在审核中或已审核通过,无法修改");
  159. return false;
  160. }
  161. return true;
  162. }
  163. /**
  164. * 校验是否显示按钮
  165. * @param type 类型 1-上传按钮,2-修改删除按钮
  166. * @param row
  167. * @returns {string}
  168. */
  169. function validUploadButton(type,row,fileId){
  170. var checkState = $("#checkState").val();
  171. if(Feng.isEmptyStr(checkState)|| checkState ==-1 ||checkState==2){
  172. if(type == 1){ //上传
  173. return "<button type='button' onclick=\"checkFile(this,'"+row.id+"','"+null+"')\" style='margin-right: 10px' class=\"btn btn-xs btn-info\">" +
  174. "<i class=\"fa fa-upload\"></i>上传" +
  175. "</button>" ;
  176. }else{
  177. return "<button type=\'button\' onclick=\"checkFile(this,'"+row.id+"','"+fileId+"')\" style=\'margin-right: 10px\' class=\"btn btn-xs btn-info\">" +
  178. "<i class=\"fa fa-paste\"></i>修改" +
  179. "</button>" +
  180. "<button type='button' onclick=\"deleteFile('"+fileId+"','"+CONFIG.project_basicchange+"')\" class=\"btn btn-xs btn-danger\">" +
  181. "<i class=\"fa fa-times\"></i>删除" +
  182. "</button>";
  183. }
  184. }else{
  185. return type == 1?"":"";
  186. }
  187. }
  188. /**
  189. * 提交审核
  190. */
  191. TalentBasicChangeInfoDlg.submitToCheck = function () {
  192. var id = $("#id").val();
  193. if (Feng.isEmptyStr(id)) {
  194. Feng.info("请先填写基础信息");
  195. return;
  196. }
  197. var checkState = $("#checkState").val();
  198. if (checkState == 1 || checkState == 9) {
  199. Feng.error("正在审核中,无法修改");
  200. return;
  201. }
  202. if (checkState == 3) {
  203. Feng.error("审核通过,无法修改");
  204. return;
  205. }
  206. var operation = function () {
  207. var ajax = new $ax(Feng.ctxPath + "/api/talentBasicChange/submitToCheck", function (data) {
  208. if (data.code == 200) {
  209. Feng.success(data.msg);
  210. // $("#checkState").val(data.obj);
  211. window.parent.TalentBasicChange.table.refresh();
  212. TalentBasicChangeInfoDlg.close();
  213. } else {
  214. Feng.error(data.msg);
  215. }
  216. }, function (data) {
  217. Feng.error("提交审核失败!" + data.responseJSON.message + "!");
  218. });
  219. ajax.set("id", id);
  220. ajax.start();
  221. }
  222. Feng.confirm("请确认基础信息已核对无误,相应附件已上传,一旦提交,无法修改", operation);
  223. }
  224. $(function () {
  225. Feng.initValidatorTip("basicChangeForm", TalentBasicChangeInfoDlg.validateFields);
  226. var hand = $("#hand").val();
  227. var id = $("#id").val();
  228. var checkState = $("#checkState").val();
  229. //批量加载字典表数据
  230. var arr = [
  231. {"name": "oldNationality", "code": "un_nationality"},
  232. {"name": "oldNation", "code": "un_nation"},
  233. {"name": "oldPolitics", "code": "un_political"},
  234. {"name": "oldCardType", "code": "un_cardType"},
  235. {"name": "newNationality", "code": "un_nationality"},
  236. {"name": "newNation", "code": "un_nation"},
  237. {"name": "newPolitics", "code": "un_political"},
  238. {"name": "newCardType", "code": "un_cardType"}
  239. ];
  240. Feng.findChildDictBatch(JSON.stringify(arr));
  241. if (Feng.isNotEmptyStr(id)) {
  242. //select初始化
  243. $("select").each(function () {
  244. $(this).val($(this).attr("value")).trigger("change");
  245. });
  246. $("#fileLi").removeAttr("style");
  247. Feng.getCheckLog("logTable", {"type": CONFIG.project_basicchange, "mainId": id, "typeFileId": "", "active": 1})
  248. } else {
  249. $("#fileLi").attr("style","pointer-events: none");
  250. $("#talentId").on('chosen:ready', function (e, params) {
  251. $(".chosen-container-single .chosen-single").css("padding", "4px 0px 0px 8px");
  252. });
  253. $("#talentId").chosen({
  254. search_contains: true,    //关键字模糊搜索。设置为true,只要选项包含搜索词就会显示;设置为false,则要求从选项开头开始匹配
  255. disable_search: false,
  256. width: "100%",
  257. enable_split_word_search: true,
  258. rtl: true
  259. });
  260. }
  261. });