talentBasicChange_info.js 10 KB

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