talentBase.js 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359
  1. /**
  2. * 人才认定申报管理初始化
  3. */
  4. var TalentInfo = {
  5. id: "TalentInfoTable", //表格id
  6. seItem: null, //选中的条目
  7. table: null,
  8. layerIndex: -1
  9. };
  10. /**
  11. * 初始化表格的列
  12. */
  13. TalentInfo.initColumn = function () {
  14. var type = $("#type").val();
  15. var isShow = true;
  16. if (type == 2) {
  17. isShow = false;
  18. }
  19. return [
  20. {field: 'selectItem', radio: true},
  21. {title: '人才类别', field: 'type', visible: true, align: 'center', valign: 'middle', width: "100px",
  22. formatter: function (value, row, index) {
  23. if (value == 1) {
  24. return '晋江市现代产业体系人才';
  25. }
  26. if (value == 2) {
  27. return '集成电路优秀人才';
  28. }
  29. }
  30. },
  31. {title: '姓名', field: 'name', visible: true, align: 'center', valign: 'middle', width: "100px",
  32. formatter: function (value, row, index) {
  33. if (row.sex == 1) {
  34. return value + '<span style="color:#6495ED">【男】</span>';
  35. } else if (row.sex == 2) {
  36. return value + '<span style="color:#FF82AB">【女】</span>';
  37. } else {
  38. return value;
  39. }
  40. }
  41. },
  42. {title: '证件号码', field: 'card_number', visible: true, align: 'center', valign: 'middle', 'class': 'uitd_showTip', width: "120px"},
  43. {title: '单位名称', field: 'enterpriseName', visible: isShow, align: 'center', valign: 'middle', 'class': 'uitd_showTip', width: "80px"},
  44. {title: '单位标签', field: 'enterpriseTagName', visible: isShow, align: 'center', valign: 'middle', 'class': 'uitd_showTip', width: "80px"},
  45. {title: '产业领域', field: 'industryName', visible: true, align: 'center', valign: 'middle', 'class': 'uitd_showTip', width: "120px"},
  46. {title: '审核状态', field: 'checkState', visible: true, align: 'center', valign: 'middle', width: "100px",
  47. formatter: function (value, row, index) {
  48. if (row.real_state != row.checkState) {
  49. switch (row.real_state) {
  50. case 4:
  51. return "<span class='label label-danger'>基审驳回</span>";
  52. break;
  53. case 8:
  54. return "<span class='label label-danger'>初审驳回</span>";
  55. break;
  56. case 10:
  57. return "<span class='label label-danger'>部门驳回</span>";
  58. break;
  59. case 12:
  60. return "<span class='label label-danger'>复核驳回</span>";
  61. break;
  62. }
  63. } else {
  64. switch (value) {
  65. case - 2:
  66. return "<span class='label label-danger'>初审失败</span>";
  67. break;
  68. case - 1:
  69. return "<span class='label label-danger'>基础信息审核失败</span>";
  70. break;
  71. case 1:
  72. return "<span class='label'>保存未提交</span>";
  73. break;
  74. case 2:
  75. if (row.last_state == 4) {
  76. return "<span class='label label-success'>待审核(重新提交)</span>";
  77. }
  78. return "<span class='label label-success'>待审核</span>";
  79. break;
  80. case 3:
  81. return "<span class='label'>待详细填报</span>";
  82. break;
  83. case 5:
  84. return "<span class='label'>保存未提交(II)</span>";
  85. break;
  86. case 6:
  87. if (row.last_state == 8) {
  88. return "<span class='label label-success'>待初审(重新提交)</span>";
  89. }
  90. return "<span class='label label-success'>待初审</span>";
  91. break;
  92. case 7:
  93. if (row.companyIds) {
  94. return "<span class='label label-success'>待部门审核</span>";
  95. } else {
  96. return "<span class='label label-success'>待复审</span>";
  97. }
  98. break;
  99. case 9:
  100. return "<span class='label label-success'>待复审</span>";
  101. break;
  102. case 11:
  103. return "<span class='label label-primary'>认定通过</span>";
  104. break;
  105. case 13:
  106. return "<span class='label label-danger'>复审失败</span>";
  107. break;
  108. }
  109. }
  110. }
  111. },
  112. {title: '审核意见', field: 'checkMsg', visible: false, align: 'center', valign: 'middle', 'class': 'uitd_showTip', width: "100px",
  113. formatter: function (value, row, index) {
  114. if (value == 1) {
  115. return ""
  116. } else if (value == 10 || value == 5) {
  117. return value;
  118. } else {
  119. if (row.isPublic >= 5) {
  120. if (value == -1) {
  121. return value
  122. } else if (value == 35) {
  123. return value;
  124. } else {
  125. return ""
  126. }
  127. } else {
  128. return ""
  129. }
  130. }
  131. }
  132. },
  133. {title: '操作', field: 'id', visible: true, align: 'center', valign: 'middle', width: "80px",
  134. formatter: function (value, row, index) {
  135. return "<span class='label label-success' onclick=\"TalentInfo.showLog('" + value + "')\" >" +
  136. "<i class=\"fa fa-book\"></i>日志" +
  137. "</span>";
  138. }
  139. }
  140. ];
  141. };
  142. /**
  143. * 检查是否选中
  144. */
  145. TalentInfo.check = function () {
  146. var selected = $('#' + this.id).bootstrapTable('getSelections');
  147. if (selected.length == 0) {
  148. Feng.info("请先选中表格中的某一记录!");
  149. return false;
  150. } else {
  151. TalentInfo.seItem = selected[0];
  152. return true;
  153. }
  154. };
  155. /**
  156. * 显示审核日志
  157. */
  158. TalentInfo.showLog = function (id) {
  159. layer.open({
  160. type: 1,
  161. title: "日志",
  162. fixed: false,
  163. content: '<table id="' + id + '"></table>',
  164. area: ['80%', '80%'],
  165. maxmin: true,
  166. success: function (layero, index) {
  167. Feng.getCheckLog(id, {"type": CONFIG.project_rcrd, "mainId": id, "typeFileId": "", "active": 1})
  168. }
  169. });
  170. }
  171. /**
  172. * 点击添加人才认定申报
  173. */
  174. TalentInfo.openAddTalentInfo = function () {
  175. var ajax = new $ax("/common/batch/checkBatchValid", function (data) {
  176. if (data.code == 200) {
  177. var index = layer.open({
  178. type: 2,
  179. title: '添加人才认定申报',
  180. fix: false, //不固定
  181. maxmin: true,
  182. content: '/enterprise/base/add?year=' + data.batch,
  183. btn: ['<i class="fa fa-eye control-btn"></i>&nbsp;&nbsp;保存未提交', '<i class="fa fa-check layui-bg-green control-btn"></i>&nbsp;&nbsp;提交审核', '<i class="fa fa-eraser control-btn"></i>&nbsp;&nbsp;取消'],
  184. btnAlign: 'c',
  185. btn1: function (index, layero) {
  186. var obj = layero.find("iframe")[0].contentWindow;
  187. obj.TalentInfoInfoDlg.addSubmit();
  188. }, btn2: function (index, layero) {
  189. var obj = layero.find("iframe")[0].contentWindow;
  190. obj.TalentInfoInfoDlg.submitToCheck();
  191. return false;
  192. },
  193. success: function (layero, index) {
  194. layer.tips('添加基本信息并上传附件后点击', '.layui-layer-btn1', {tips: [1, "#78BA32"], time: 0, closeBtn: 2});
  195. },
  196. end: function () {
  197. layer.closeAll('tips');
  198. }
  199. });
  200. layer.full(index);
  201. TalentInfo.layerIndex = index;
  202. } else {
  203. Feng.info(data.msg);
  204. }
  205. }, function (data) {
  206. Feng.error("校验失败!" + data.responseJSON.message + "!");
  207. });
  208. ajax.set("type", CONFIG.project_rcrd);
  209. ajax.start();
  210. };
  211. /**
  212. * 打开查看人才认定申报详情
  213. */
  214. TalentInfo.openTalentInfoDetail = function () {
  215. if (this.check()) {
  216. var ajax = new $ax("/common/batch/checkBatchValid", function (data) {
  217. if (data.code == 200) {
  218. var index = layer.open({
  219. type: 2,
  220. title: '人才认定申报详情',
  221. area: ['800px', '420px'], //宽高
  222. fix: false, //不固定
  223. maxmin: true,
  224. content: '/enterprise/base/add/id/' + TalentInfo.seItem.id,
  225. btn: ['<i class="fa fa-eye"></i>&nbsp;&nbsp;保存未提交', '<i class="fa fa-check layui-bg-green"></i>&nbsp;&nbsp;提交审核', '<i class="fa fa-eraser"></i>&nbsp;&nbsp;取消'],
  226. btnAlign: 'c',
  227. btn1: function (index, layero) {
  228. var obj = layero.find("iframe")[0].contentWindow;
  229. obj.TalentInfoInfoDlg.addSubmit();
  230. }, btn2: function (index, layero) {
  231. var obj = layero.find("iframe")[0].contentWindow;
  232. obj.TalentInfoInfoDlg.submitToCheck();
  233. return false;
  234. },
  235. success: function (layero, index) {
  236. layer.tips('添加基本信息并上传附件后点击', '.layui-layer-btn1', {tips: [1, "#78BA32"], time: 0, closeBtn: 2});
  237. },
  238. end: function () {
  239. layer.closeAll('tips');
  240. }
  241. });
  242. layer.full(index);
  243. TalentInfo.layerIndex = index;
  244. } else {
  245. Feng.info(data.msg);
  246. }
  247. }, function (data) {
  248. Feng.error("校验失败!" + data.responseJSON.message + "!");
  249. });
  250. ajax.set("type", CONFIG.project_rcrd);
  251. ajax.set("year", TalentInfo.seItem.year);
  252. ajax.start();
  253. }
  254. };
  255. /**
  256. * 查看
  257. */
  258. TalentInfo.openTalentInfoSelect = function () {
  259. if (this.check()) {
  260. var index = layer.open({
  261. type: 2,
  262. title: '基础条件申报',
  263. area: ['800px', '420px'], //宽高
  264. fix: false, //不固定
  265. maxmin: true,
  266. content: '/enterprise/base/view/id/' + TalentInfo.seItem.id,
  267. btn: ['<i class="fa fa-eraser"></i>&nbsp;&nbsp;取消'],
  268. btnAlign: 'c',
  269. });
  270. layer.full(index);
  271. TalentInfo.layerIndex = index;
  272. }
  273. }
  274. /**
  275. * 删除人才认定申报
  276. */
  277. TalentInfo.delete = function () {
  278. if (this.check()) {
  279. if (TalentInfo.seItem.checkState > 1) {
  280. Feng.error("该申报已提交审核,无法删除");
  281. return;
  282. }
  283. var operation = function () {
  284. var ajax = new $ax("/enterprise/base/delete", function (data) {
  285. Feng.success("删除成功!");
  286. TalentInfo.table.refresh();
  287. }, function (data) {
  288. Feng.error("删除失败!" + data.responseJSON.message + "!");
  289. });
  290. ajax.set("talentInfoId", TalentInfo.seItem.id);
  291. ajax.start();
  292. }
  293. Feng.confirm("删除后无法恢复,确认删除吗?", operation);
  294. }
  295. };
  296. /**
  297. * 查询表单提交参数对象
  298. * @returns {{}}
  299. */
  300. TalentInfo.formParams = function () {
  301. var queryData = {};
  302. queryData['name'] = $("#name").val();
  303. queryData['card_number'] = $("#idCard").val();
  304. queryData['sex'] = $("#sex").val();
  305. queryData['nation'] = $("#nation").val();
  306. queryData['nationality'] = $("#nationality").val();
  307. queryData['talent_arrange'] = $("#talent_arrange").val();
  308. queryData['checkState'] = $("#checkState").val();
  309. return queryData;
  310. }
  311. /**
  312. * 查询人才认定申报列表
  313. */
  314. TalentInfo.search = function () {
  315. TalentInfo.table.refresh({query: TalentInfo.formParams()});
  316. };
  317. /**
  318. * 重置
  319. */
  320. TalentInfo.reset = function () {
  321. $("#name").val("");
  322. $("#idCard").val("");
  323. $("#sex").val("");
  324. $("#nation").val("");
  325. $("#nationality").val("");
  326. $("#talentType").val("");
  327. $("#talentArrange").val("");
  328. $("#checkState").val("");
  329. }
  330. $(function () {
  331. var defaultColunms = TalentInfo.initColumn();
  332. var table = new BSTable(TalentInfo.id, "/enterprise/base/list/type/1", defaultColunms);
  333. table.setPaginationType("server");
  334. table.setOnDblClickRow(function () {
  335. TalentInfo.openTalentInfoDetail();
  336. });
  337. TalentInfo.table = table.init();
  338. //批量加载字典表数据
  339. var arr = [
  340. {"name": "nation", "code": "nation"},
  341. {"name": "nationality", "code": "nationality"}
  342. ];
  343. Feng.findChildDictBatch(JSON.stringify(arr));
  344. });