audit.js 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542
  1. 'use strict';
  2. /**
  3. *
  4. *
  5. * @author Mai
  6. * @date
  7. * @version
  8. */
  9. // 台账审批流程
  10. const ledger = (function() {
  11. const status = {
  12. uncheck: 1, // 待上报
  13. checking: 2, // 待审批|审批中
  14. checked: 3, // 审批通过
  15. checkNo: 4, // 审批退回
  16. };
  17. const statusString = [];
  18. statusString[status.uncheck] = '';
  19. statusString[status.checking] = '审批中';
  20. statusString[status.checked] = '审批完成';
  21. statusString[status.checkNo] = '审批退回';
  22. const statusClass = [];
  23. statusClass[status.uncheck] = '';
  24. statusClass[status.checking] = '';
  25. statusClass[status.checked] = 'text-success';
  26. statusClass[status.checkNo] = 'text-warning';
  27. // 标段概况页
  28. // 描述文本
  29. const auditString = [];
  30. auditString[status.uncheck] = '';
  31. auditString[status.checking] = '审批中';
  32. auditString[status.checked] = '审批通过';
  33. auditString[status.checkNo] = '审批退回';
  34. // 文字样式
  35. const auditStringClass = [];
  36. auditStringClass[status.uncheck] = '';
  37. auditStringClass[status.checking] = 'text-warning';
  38. auditStringClass[status.checked] = 'text-success';
  39. auditStringClass[status.checkNo] = 'text-warning';
  40. // 金额概况
  41. const tiStatusString = [];
  42. tiStatusString[status.uncheck] = '未上报';
  43. tiStatusString[status.checking] = '审批中';
  44. tiStatusString[status.checked] = '审批通过';
  45. tiStatusString[status.checkNo] = '审批退回';
  46. const tiStatusStringClass = [];
  47. tiStatusStringClass[status.uncheck] = '';
  48. tiStatusStringClass[status.checking] = 'text-warning';
  49. tiStatusStringClass[status.checked] = 'text-success';
  50. tiStatusStringClass[status.checkNo] = 'text-warning';
  51. return { status, statusString, statusClass, auditString, auditStringClass, tiStatusString, tiStatusStringClass };
  52. })();
  53. // 台账修订 审批流程
  54. const revise = (function() {
  55. const status = {
  56. uncheck: 1, // 待上报
  57. checking: 2, // 待审批|审批中
  58. checked: 3, // 审批通过
  59. checkNo: 4, // 审批退回
  60. };
  61. const statusString = [];
  62. statusString[status.uncheck] = '草稿';
  63. statusString[status.checking] = '审批中';
  64. statusString[status.checked] = '审批通过';
  65. statusString[status.checkNo] = '审批退回';
  66. const statusClass = [];
  67. statusClass[status.uncheck] = '';
  68. statusClass[status.checking] = '';
  69. statusClass[status.checked] = 'text-success';
  70. statusClass[status.checkNo] = 'text-warning';
  71. // 标段概况页
  72. // 描述文本
  73. const auditString = [];
  74. auditString[status.uncheck] = '';
  75. auditString[status.checking] = '审批中';
  76. auditString[status.checked] = '审批通过';
  77. auditString[status.checkNo] = '审批退回';
  78. // 文字样式
  79. const auditStringClass = [];
  80. auditStringClass[status.uncheck] = '';
  81. auditStringClass[status.checking] = 'text-warning';
  82. auditStringClass[status.checked] = 'text-success';
  83. auditStringClass[status.checkNo] = 'text-warning';
  84. // 描述文本
  85. const auditProgress = [];
  86. auditProgress[status.uncheck] = '草稿';
  87. auditProgress[status.checking] = '审批中';
  88. auditProgress[status.checked] = '审批通过';
  89. auditProgress[status.checkNo] = '审批退回';
  90. // 样式
  91. const auditProgressClass = [];
  92. auditProgressClass[status.uncheck] = '';
  93. auditProgressClass[status.checking] = 'text-warning';
  94. auditProgressClass[status.checked] = 'text-success';
  95. auditProgressClass[status.checkNo] = 'text-warning';
  96. return { status, statusString, statusClass, auditString, auditStringClass, auditProgress, auditProgressClass };
  97. })();
  98. // 期审批流程
  99. const stage = (function() {
  100. // 流程状态
  101. const status = {
  102. uncheck: 1, // 待上报
  103. checking: 2, // 待审批|审批中
  104. checked: 3, // 审批通过
  105. checkNo: 4, // 审批退回原报
  106. checkNoPre: 5, // 审批退回上一人
  107. checkAgain: 6, // 重新审批 // 该状态仅可用于,终审退回时,修改原终审的审批状态,并同时新增一条新的终审审批中记录
  108. };
  109. // 流程状态提示
  110. const statusString = [];
  111. statusString[status.uncheck] = '待上报';
  112. statusString[status.checking] = '审批中';
  113. statusString[status.checked] = '审批通过';
  114. statusString[status.checkNo] = '审批退回';
  115. statusString[status.checkNoPre] = '审批退回';
  116. statusString[status.checkAgain] = '重新审批';
  117. // 流程状态样式
  118. const statusClass = [];
  119. statusClass[status.uncheck] = '';
  120. statusClass[status.checking] = '';
  121. statusClass[status.checked] = 'text-success';
  122. statusClass[status.checkNo] = 'text-warning';
  123. statusClass[status.checkNoPre] = 'text-warning';
  124. statusClass[status.checkAgain] = 'text-warning';
  125. /**
  126. * 期列表,审批状态一列
  127. */
  128. // 按钮
  129. const statusButton = [];
  130. statusButton[status.uncheck] = '待上报';
  131. statusButton[status.checking] = '审批';
  132. statusButton[status.checked] = '';
  133. statusButton[status.checkNo] = '重新上报';
  134. statusButton[status.checkNoPre] = '重新审批';
  135. statusButton[status.checkAgain] = '重新审批';
  136. // 按钮样式
  137. const statusButtonClass = [];
  138. statusButtonClass[status.uncheck] = 'btn-primary';
  139. statusButtonClass[status.checking] = 'btn-success';
  140. statusButtonClass[status.checked] = '';
  141. statusButtonClass[status.checkNo] = 'btn-warning';
  142. statusButtonClass[status.checkNoPre] = 'btn-warning';
  143. statusButtonClass[status.checkAgain] = 'btn-warning';
  144. // 描述文本
  145. const auditString = [];
  146. auditString[status.uncheck] = '';
  147. auditString[status.checking] = '审批中';
  148. auditString[status.checked] = '审批通过';
  149. auditString[status.checkNo] = '审批退回';
  150. auditString[status.checkNoPre] = '审批退回';
  151. auditString[status.checkAgain] = '重新审批';
  152. // 文字样式
  153. const auditStringClass = [];
  154. auditStringClass[status.uncheck] = '';
  155. auditStringClass[status.checking] = 'text-warning';
  156. auditStringClass[status.checked] = 'text-success';
  157. auditStringClass[status.checkNo] = 'text-warning';
  158. auditStringClass[status.checkNoPre] = 'text-warning';
  159. auditStringClass[status.checkAgain] = 'text-warning';
  160. /* ------------------------------------------------------- */
  161. /**
  162. * 期列表,审批进度一列
  163. */
  164. // 描述文本
  165. const auditProgress = [];
  166. auditProgress[status.uncheck] = '待上报';
  167. auditProgress[status.checking] = '审批中';
  168. auditProgress[status.checked] = '审批通过';
  169. auditProgress[status.checkNo] = '审批退回';
  170. auditProgress[status.checkNoPre] = '审批退回';
  171. auditProgress[status.checkAgain] = '重新审批';
  172. // 样式
  173. const auditProgressClass = [];
  174. auditProgressClass[status.uncheck] = '';
  175. auditProgressClass[status.checking] = 'text-warning';
  176. auditProgressClass[status.checked] = 'text-success';
  177. auditProgressClass[status.checkNo] = 'text-warning';
  178. auditProgressClass[status.checkNoPre] = 'text-warning';
  179. auditProgressClass[status.checkAgain] = 'text-warning';
  180. /* ------------------------------------------------------- */
  181. const tiStatusString = [];
  182. tiStatusString[status.uncheck] = '待上报';
  183. tiStatusString[status.checking] = '审批中';
  184. tiStatusString[status.checked] = '审批通过';
  185. tiStatusString[status.checkNo] = '审批退回';
  186. tiStatusString[status.checkNoPre] = '审批中';
  187. tiStatusString[status.checkAgain] = '审批中';
  188. const tiStatusStringClass = [];
  189. tiStatusStringClass[status.uncheck] = '';
  190. tiStatusStringClass[status.checking] = 'text-warning';
  191. tiStatusStringClass[status.checked] = 'text-success';
  192. tiStatusStringClass[status.checkNo] = 'text-warning';
  193. tiStatusStringClass[status.checkNoPre] = 'text-warning';
  194. tiStatusStringClass[status.checkAgain] = 'text-warning';
  195. const backType = {
  196. org: 1,
  197. pre: 2,
  198. };
  199. return {
  200. status, statusString, statusClass,
  201. statusButton, statusButtonClass,
  202. auditString, auditStringClass,
  203. auditProgress, auditProgressClass,
  204. backType,
  205. timesLen: 100,
  206. tiStatusString, tiStatusStringClass,
  207. };
  208. })();
  209. // 变更令状态
  210. const status = {
  211. uncheck: 1, // 待上报
  212. checking: 2, // 审批中
  213. checked: 3, // 审批完成
  214. // checkNo: 4, // 审批终止
  215. back: 5, // 重新上报
  216. backnew: 6, // 退回
  217. revise: 9, // 修订变更
  218. };
  219. const statusButton = [];
  220. statusButton[status.uncheck] = '上报';
  221. statusButton[status.checking] = '审批';
  222. statusButton[status.checked] = '';
  223. // statusButton[status.checkNo] = '';
  224. statusButton[status.back] = '重新上报';
  225. statusButton[status.backnew] = '审批';
  226. statusButton[status.revise] = '修订';
  227. const statusButtonClass = [];
  228. statusButtonClass[status.uncheck] = 'btn-primary';
  229. statusButtonClass[status.checking] = 'btn-success';
  230. statusButtonClass[status.checked] = '';
  231. // statusButtonClass[status.checkNo] = '';
  232. statusButtonClass[status.back] = 'btn-warning';
  233. statusButtonClass[status.backnew] = 'btn-success';
  234. statusButtonClass[status.revise] = 'btn-warning';
  235. const statusString = [];
  236. statusString[status.uncheck] = '未上报';
  237. statusString[status.checking] = '审批中';
  238. statusString[status.checked] = '审批通过';
  239. // statusString[status.checkNo] = '终止';
  240. statusString[status.back] = '审批退回';
  241. statusString[status.backnew] = '审批退回';
  242. statusString[status.revise] = '修订中';
  243. const statusClass = [];
  244. statusClass[status.uncheck] = '';
  245. statusClass[status.checking] = 'text-warning';
  246. statusClass[status.checked] = 'text-success';
  247. // statusClass[status.checkNo] = 'text-danger';
  248. statusClass[status.back] = 'text-warning';
  249. statusClass[status.backnew] = 'text-warning';
  250. statusClass[status.revise] = 'text-warning';
  251. /* ------------------------------------------------------- */
  252. // 变更令审批人状态
  253. const auditStatus = {
  254. uncheck: 1, // 待审批
  255. checking: 2, // 审批中或者原报人待上报或者原报上报修订中
  256. checked: 3, // 审批通过或者原报人上报完成
  257. // checkNo: 4, // 审批终止
  258. back: 5, // 退回到原报人重新上报
  259. backnew: 6, // 退回到上一个审批人
  260. checkAgain: 7, // 重新审批
  261. revise: 9, // 修订变更
  262. };
  263. const auditStatusString = [];
  264. auditStatusString[auditStatus.uncheck] = '待上报';
  265. auditStatusString[auditStatus.checking] = '审批中';
  266. auditStatusString[auditStatus.checked] = '审批通过';
  267. // auditStatusString[auditStatus.checkNo] = '审批终止';
  268. auditStatusString[auditStatus.back] = '退回';
  269. auditStatusString[auditStatus.backnew] = '审批退回';
  270. auditStatusString[auditStatus.checkAgain] = '重新审批';
  271. auditStatusString[auditStatus.revise] = '修订变更';
  272. const auditStatusClass = [];
  273. auditStatusClass[auditStatus.uncheck] = '';
  274. auditStatusClass[auditStatus.checking] = 'text-warning';
  275. auditStatusClass[auditStatus.checked] = 'text-success';
  276. // auditStatusClass[auditStatus.checkNo] = 'text-danger';
  277. auditStatusClass[auditStatus.back] = 'text-warning';
  278. auditStatusClass[auditStatus.backnew] = 'text-warning';
  279. auditStatusClass[auditStatus.checkAgain] = 'text-warning';
  280. auditStatusClass[auditStatus.revise] = 'text-warning';
  281. /* ------------------------------------------------------- */
  282. const filter = {
  283. status: {
  284. pending: 1,
  285. uncheck: 5,
  286. checking: 2,
  287. checked: 3,
  288. // checkNo: 4,
  289. },
  290. statusString: [],
  291. };
  292. filter.statusString[filter.status.pending] = '待处理';
  293. filter.statusString[filter.status.uncheck] = '待上报';
  294. filter.statusString[filter.status.checking] = '进行中';
  295. filter.statusString[filter.status.checked] = '已完成';
  296. // filter.statusString[filter.status.checkNo] = '终止';
  297. // 材料调差审批流程
  298. const material = (function() {
  299. const status = {
  300. uncheck: 1, // 待上报
  301. checking: 2, // 待审批|审批中
  302. checked: 3, // 审批通过
  303. checkNo: 4, // 审批退回原报
  304. checkNoPre: 5, // 审批退回上一人
  305. checkAgain: 6, // 终审退回 --该状态仅可用于,终审退回时,修改原终审的审批状态,并同时新增一条新的终审审批中记录
  306. };
  307. // 流程状态提示
  308. const statusString = [];
  309. statusString[status.uncheck] = '待上报';
  310. statusString[status.checking] = '审批中';
  311. statusString[status.checked] = '审批通过';
  312. statusString[status.checkNo] = '审批退回';
  313. statusString[status.checkNoPre] = '审批退回';
  314. statusString[status.checkAgain] = '重新审批';
  315. // 流程状态样式
  316. const statusClass = [];
  317. statusClass[status.uncheck] = '';
  318. statusClass[status.checking] = '';
  319. statusClass[status.checked] = 'text-success';
  320. statusClass[status.checkNo] = 'text-warning';
  321. statusClass[status.checkNoPre] = 'text-warning';
  322. statusClass[status.checkAgain] = 'text-warning';
  323. // 按钮
  324. const statusButton = [];
  325. statusButton[status.uncheck] = '待上报';
  326. statusButton[status.checking] = '审批';
  327. statusButton[status.checked] = '';
  328. statusButton[status.checkNo] = '重新上报';
  329. // 按钮样式
  330. const statusButtonClass = [];
  331. statusButtonClass[status.uncheck] = 'btn-primary';
  332. statusButtonClass[status.checking] = 'btn-success';
  333. statusButtonClass[status.checked] = '';
  334. statusButtonClass[status.checkNo] = 'btn-warning';
  335. // 描述文本
  336. const auditProgress = [];
  337. auditProgress[status.uncheck] = '待上报';
  338. auditProgress[status.checking] = '审批中';
  339. auditProgress[status.checked] = '审批通过';
  340. auditProgress[status.checkNo] = '审批退回';
  341. // 样式
  342. const auditProgressClass = [];
  343. auditProgressClass[status.uncheck] = '';
  344. auditProgressClass[status.checking] = 'text-warning';
  345. auditProgressClass[status.checked] = 'text-success';
  346. auditProgressClass[status.checkNo] = 'text-warning';
  347. return { status, statusString, statusClass, statusButton, statusButtonClass, auditProgress, auditProgressClass };
  348. })();
  349. // 预付款审批流程
  350. const advance = (function() {
  351. const type = {
  352. start: 0,
  353. material: 1,
  354. };
  355. const status = {
  356. uncheck: 1, // 待上报
  357. checking: 2, // 待审批|审批中
  358. checked: 3, // 审批通过
  359. checkNo: 4, // 审批退回原报
  360. checkNoPre: 5, // 审批退回上一人
  361. };
  362. const statusString = [];
  363. statusString[status.uncheck] = '未上报';
  364. statusString[status.checking] = '审批中';
  365. statusString[status.checked] = '审批通过';
  366. statusString[status.checkNo] = '审批退回';
  367. statusString[status.checkNoPre] = '审批退回';
  368. const statusClass = [];
  369. statusClass[status.uncheck] = '';
  370. statusClass[status.checking] = 'text-warning';
  371. statusClass[status.checked] = 'text-success';
  372. statusClass[status.checkNo] = 'text-warning';
  373. statusClass[status.checkNoPre] = 'text-warning';
  374. // 标段概况页
  375. // 描述文本
  376. const auditString = [];
  377. auditString[status.uncheck] = '';
  378. auditString[status.checking] = '审批中';
  379. auditString[status.checked] = '审批通过';
  380. auditString[status.checkNo] = '审批退回';
  381. // 文字样式
  382. const auditStringClass = [];
  383. auditStringClass[status.uncheck] = '';
  384. auditStringClass[status.checking] = 'text-warning';
  385. auditStringClass[status.checked] = 'text-success';
  386. auditStringClass[status.checkNo] = 'text-warning';
  387. return { type, status, statusString, statusClass, auditString, auditStringClass };
  388. })();
  389. // 变更立项 审批流程
  390. const changeProject = (function() {
  391. const status = {
  392. uncheck: 1, // 待上报
  393. checking: 2, // 待审批|审批中
  394. checked: 3, // 审批通过
  395. checkNo: 4, // 审批终止
  396. back: 5, // 退回到原报人重新上报
  397. };
  398. const statusString = [];
  399. statusString[status.uncheck] = '待上报';
  400. statusString[status.checking] = '审批中';
  401. statusString[status.checked] = '审批通过';
  402. statusString[status.checkNo] = '终止';
  403. statusString[status.back] = '审批退回';
  404. const statusClass = [];
  405. statusClass[status.uncheck] = '';
  406. statusClass[status.checking] = 'text-warning';
  407. statusClass[status.checked] = 'text-success';
  408. statusClass[status.checkNo] = 'text-danger';
  409. statusClass[status.back] = 'text-warning';
  410. // 标段概况页
  411. // 描述文本
  412. const auditString = [];
  413. auditString[status.uncheck] = '';
  414. auditString[status.checking] = '审批中';
  415. auditString[status.checked] = '审批通过';
  416. auditString[status.checkNo] = '终止';
  417. auditString[status.back] = '审批退回';
  418. // 文字样式
  419. const auditStringClass = [];
  420. auditStringClass[status.uncheck] = '';
  421. auditStringClass[status.checking] = 'text-warning';
  422. auditStringClass[status.checked] = 'text-success';
  423. auditStringClass[status.checkNo] = 'text-danger';
  424. auditStringClass[status.back] = 'text-warning';
  425. // 描述文本
  426. const auditProgress = [];
  427. auditProgress[status.uncheck] = '草稿';
  428. auditProgress[status.checking] = '审批中';
  429. auditProgress[status.checked] = '审批通过';
  430. auditProgress[status.checkNo] = '终止';
  431. auditProgress[status.back] = '审批退回';
  432. // 样式
  433. const auditProgressClass = [];
  434. auditProgressClass[status.uncheck] = '';
  435. auditProgressClass[status.checking] = 'text-warning';
  436. auditProgressClass[status.checked] = 'text-success';
  437. auditProgressClass[status.checkNo] = 'text-danger';
  438. auditProgressClass[status.back] = 'text-warning';
  439. const filter = {
  440. status: {
  441. pending: 1,
  442. uncheck: 5,
  443. checking: 2,
  444. checked: 3,
  445. checkNo: 4,
  446. },
  447. statusString: [],
  448. };
  449. filter.statusString[filter.status.pending] = '待处理';
  450. filter.statusString[filter.status.uncheck] = '待上报';
  451. filter.statusString[filter.status.checking] = '进行中';
  452. filter.statusString[filter.status.checked] = '已通过';
  453. filter.statusString[filter.status.checkNo] = '终止';
  454. // 按钮
  455. const statusButton = [];
  456. statusButton[status.uncheck] = '待上报';
  457. statusButton[status.checking] = '审批';
  458. statusButton[status.checked] = '';
  459. statusButton[status.checkNo] = '';
  460. statusButton[status.back] = '重新上报';
  461. // 按钮样式
  462. const statusButtonClass = [];
  463. statusButtonClass[status.uncheck] = 'btn-primary';
  464. statusButtonClass[status.checking] = 'btn-success';
  465. statusButtonClass[status.checked] = '';
  466. statusButtonClass[status.checkNo] = '';
  467. statusButtonClass[status.back] = 'btn-warning';
  468. return { status, statusString, statusClass, auditString, auditStringClass, auditProgress, auditProgressClass, filter, statusButton, statusButtonClass };
  469. })();
  470. // 推送类型
  471. const pushType = {
  472. material: 1,
  473. stage: 2,
  474. change: 3,
  475. revise: 4,
  476. ledger: 5,
  477. advance: 6,
  478. changeProject: 7,
  479. };
  480. module.exports = {
  481. ledger,
  482. stage,
  483. revise,
  484. material,
  485. flow: {
  486. status,
  487. statusString,
  488. statusButton,
  489. statusButtonClass,
  490. statusClass,
  491. auditStatus,
  492. auditStatusString,
  493. auditStatusClass,
  494. },
  495. filter,
  496. pushType,
  497. advance,
  498. changeProject,
  499. };