integral.js 13 KB

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