audit.js 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444
  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. };
  218. const statusButton = [];
  219. statusButton[status.uncheck] = '上报';
  220. statusButton[status.checking] = '审批';
  221. statusButton[status.checked] = '';
  222. // statusButton[status.checkNo] = '';
  223. statusButton[status.back] = '重新上报';
  224. statusButton[status.backnew] = '审批';
  225. const statusButtonClass = [];
  226. statusButtonClass[status.uncheck] = 'btn-primary';
  227. statusButtonClass[status.checking] = 'btn-success';
  228. statusButtonClass[status.checked] = '';
  229. // statusButtonClass[status.checkNo] = '';
  230. statusButtonClass[status.back] = 'btn-warning';
  231. statusButtonClass[status.backnew] = 'btn-success';
  232. const statusString = [];
  233. statusString[status.uncheck] = '未上报';
  234. statusString[status.checking] = '审批中';
  235. statusString[status.checked] = '审批通过';
  236. // statusString[status.checkNo] = '终止';
  237. statusString[status.back] = '审批退回';
  238. statusString[status.backnew] = '审批退回';
  239. const statusClass = [];
  240. statusClass[status.uncheck] = '';
  241. statusClass[status.checking] = 'text-warning';
  242. statusClass[status.checked] = 'text-success';
  243. // statusClass[status.checkNo] = 'text-danger';
  244. statusClass[status.back] = 'text-warning';
  245. statusClass[status.backnew] = 'text-warning';
  246. /* ------------------------------------------------------- */
  247. // 变更令审批人状态
  248. const auditStatus = {
  249. uncheck: 1, // 待审批
  250. checking: 2, // 审批中或者原报人待上报
  251. checked: 3, // 审批通过或者原报人上报完成
  252. // checkNo: 4, // 审批终止
  253. back: 5, // 退回到原报人重新上报
  254. backnew: 6, // 退回到上一个审批人
  255. checkAgain: 7, // 重新审批
  256. };
  257. const auditStatusString = [];
  258. auditStatusString[auditStatus.uncheck] = '待上报';
  259. auditStatusString[auditStatus.checking] = '审批中';
  260. auditStatusString[auditStatus.checked] = '审批通过';
  261. // auditStatusString[auditStatus.checkNo] = '审批终止';
  262. auditStatusString[auditStatus.back] = '退回';
  263. auditStatusString[auditStatus.backnew] = '审批退回';
  264. auditStatusString[auditStatus.checkAgain] = '重新审批';
  265. const auditStatusClass = [];
  266. auditStatusClass[auditStatus.uncheck] = '';
  267. auditStatusClass[auditStatus.checking] = 'text-warning';
  268. auditStatusClass[auditStatus.checked] = 'text-success';
  269. // auditStatusClass[auditStatus.checkNo] = 'text-danger';
  270. auditStatusClass[auditStatus.back] = 'text-warning';
  271. auditStatusClass[auditStatus.backnew] = 'text-warning';
  272. auditStatusClass[auditStatus.checkAgain] = 'text-warning';
  273. /* ------------------------------------------------------- */
  274. const filter = {
  275. status: {
  276. pending: 1,
  277. uncheck: 5,
  278. checking: 2,
  279. checked: 3,
  280. // checkNo: 4,
  281. },
  282. statusString: [],
  283. };
  284. filter.statusString[filter.status.pending] = '待处理';
  285. filter.statusString[filter.status.uncheck] = '待上报';
  286. filter.statusString[filter.status.checking] = '进行中';
  287. filter.statusString[filter.status.checked] = '已完成';
  288. // filter.statusString[filter.status.checkNo] = '终止';
  289. // 材料调差审批流程
  290. const material = (function() {
  291. const status = {
  292. uncheck: 1, // 待上报
  293. checking: 2, // 待审批|审批中
  294. checked: 3, // 审批通过
  295. checkNo: 4, // 审批退回原报
  296. checkNoPre: 5, // 审批退回上一人
  297. checkAgain: 6, // 终审退回 --该状态仅可用于,终审退回时,修改原终审的审批状态,并同时新增一条新的终审审批中记录
  298. };
  299. // 流程状态提示
  300. const statusString = [];
  301. statusString[status.uncheck] = '待上报';
  302. statusString[status.checking] = '审批中';
  303. statusString[status.checked] = '审批通过';
  304. statusString[status.checkNo] = '审批退回';
  305. statusString[status.checkNoPre] = '审批退回';
  306. statusString[status.checkAgain] = '重新审批';
  307. // 流程状态样式
  308. const statusClass = [];
  309. statusClass[status.uncheck] = '';
  310. statusClass[status.checking] = '';
  311. statusClass[status.checked] = 'text-success';
  312. statusClass[status.checkNo] = 'text-warning';
  313. statusClass[status.checkNoPre] = 'text-warning';
  314. statusClass[status.checkAgain] = 'text-warning';
  315. // 按钮
  316. const statusButton = [];
  317. statusButton[status.uncheck] = '待上报';
  318. statusButton[status.checking] = '审批';
  319. statusButton[status.checked] = '';
  320. statusButton[status.checkNo] = '重新上报';
  321. // 按钮样式
  322. const statusButtonClass = [];
  323. statusButtonClass[status.uncheck] = 'btn-primary';
  324. statusButtonClass[status.checking] = 'btn-success';
  325. statusButtonClass[status.checked] = '';
  326. statusButtonClass[status.checkNo] = 'btn-warning';
  327. // 描述文本
  328. const auditProgress = [];
  329. auditProgress[status.uncheck] = '待上报';
  330. auditProgress[status.checking] = '审批中';
  331. auditProgress[status.checked] = '审批通过';
  332. auditProgress[status.checkNo] = '审批退回';
  333. // 样式
  334. const auditProgressClass = [];
  335. auditProgressClass[status.uncheck] = '';
  336. auditProgressClass[status.checking] = 'text-warning';
  337. auditProgressClass[status.checked] = 'text-success';
  338. auditProgressClass[status.checkNo] = 'text-warning';
  339. return { status, statusString, statusClass, statusButton, statusButtonClass, auditProgress, auditProgressClass };
  340. })();
  341. // 预付款审批流程
  342. const advance = (function() {
  343. const type = {
  344. start: 0,
  345. material: 1,
  346. };
  347. const status = {
  348. uncheck: 1, // 待上报
  349. checking: 2, // 待审批|审批中
  350. checked: 3, // 审批通过
  351. checkNo: 4, // 审批退回原报
  352. checkNoPre: 5, // 审批退回上一人
  353. };
  354. const statusString = [];
  355. statusString[status.uncheck] = '未上报';
  356. statusString[status.checking] = '审批中';
  357. statusString[status.checked] = '审批通过';
  358. statusString[status.checkNo] = '审批退回';
  359. statusString[status.checkNoPre] = '审批退回';
  360. const statusClass = [];
  361. statusClass[status.uncheck] = '';
  362. statusClass[status.checking] = 'text-warning';
  363. statusClass[status.checked] = 'text-success';
  364. statusClass[status.checkNo] = 'text-warning';
  365. statusClass[status.checkNoPre] = 'text-warning';
  366. // 标段概况页
  367. // 描述文本
  368. const auditString = [];
  369. auditString[status.uncheck] = '';
  370. auditString[status.checking] = '审批中';
  371. auditString[status.checked] = '审批通过';
  372. auditString[status.checkNo] = '审批退回';
  373. // 文字样式
  374. const auditStringClass = [];
  375. auditStringClass[status.uncheck] = '';
  376. auditStringClass[status.checking] = 'text-warning';
  377. auditStringClass[status.checked] = 'text-success';
  378. auditStringClass[status.checkNo] = 'text-warning';
  379. return { type, status, statusString, statusClass, auditString, auditStringClass };
  380. })();
  381. // 推送类型
  382. const pushType = {
  383. material: 1,
  384. stage: 2,
  385. change: 3,
  386. revise: 4,
  387. ledger: 5,
  388. advance: 6,
  389. };
  390. module.exports = {
  391. ledger,
  392. stage,
  393. revise,
  394. material,
  395. flow: {
  396. status,
  397. statusString,
  398. statusButton,
  399. statusButtonClass,
  400. statusClass,
  401. auditStatus,
  402. auditStatusString,
  403. auditStatusClass,
  404. },
  405. filter,
  406. pushType,
  407. advance,
  408. };