deal_pay.js 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. 'use strict';
  2. /**
  3. * 合同支付相关
  4. *
  5. * @author Mai
  6. * @date
  7. * @version
  8. */
  9. const payType = {
  10. normal: 1,
  11. yf: 2,
  12. sf: 3,
  13. wc: 4
  14. };
  15. const payTemplate = [
  16. {order: 1, name: '本期应付', ptype: payType.yf, minus: false, expr: null, sexpr: null, rexpr: null},
  17. {order: 2, name: '本期实付', ptype: payType.sf, minus: false},
  18. {order: 3, name: '本期完成计量', ptype: payType.wc, minus: false, expr: 'bqwc'},
  19. {order: 4, name: '质量保证金', ptype: payType.normal, minus: true},
  20. {order: 5, name: '扣回开工预付款', ptype: payType.normal, minus: true, expr: '(bqwc/htj)*2*kgyfk', sexpr: 'htj*30%', rexpr: 'kgyfk'},
  21. ];
  22. const calcBase = [
  23. {name: '签约合同价', code: 'htj', sort: 10},
  24. {name: '暂列金额', code: 'zlje', sort: 2},
  25. {name: '签约合同价(不含暂列金)', code: 'htjszl', sort: 1},
  26. {name: '签约开工预付款', code: 'kgyfk', sort: 2},
  27. {name: '签约材料预付款', code: 'clyfk', sort: 2},
  28. {name: '本期完成计量', code: 'bqwc', limit: true, sort: 10},
  29. {name: '本期合同计量', code: 'bqht', limit: true, sort: 10},
  30. {name: '本期变更计量', code: 'bqbg', limit: true, sort: 10},
  31. {name: '本期一般变更计量', code: 'ybbqbg', limit: true, sort: 5},
  32. {name: '本期较大变更计量', code: 'jdbqbg', limit: true, sort: 5},
  33. {name: '本期重大变更计量', code: 'zdbqbg', limit: true, sort: 5},
  34. {name: '100章本期完成计量', code: 'ybbqwc', limit: true, sort: 1},
  35. {name: '本期应付', code: 'bqyf', limit: true, ptNormalLimit: true, sort: 20},
  36. ];
  37. const materialCalcBase = [
  38. {name: '签约合同价', code: 'htj', sort: 10},
  39. {name: '暂列金额', code: 'zlje', sort: 2},
  40. {name: '签约合同价(不含暂列金)', code: 'htjszl', sort: 1},
  41. {name: '签约开工预付款', code: 'kgyfk', sort: 2},
  42. {name: '签约材料预付款', code: 'clyfk', sort: 2},
  43. {name: '本期完成计量', code: 'bqwc', limit: true, sort: 10},
  44. {name: '本期合同计量', code: 'bqht', limit: true, sort: 10},
  45. {name: '本期变更计量', code: 'bqbg', limit: true, sort: 10},
  46. {name: '本期一般变更计量', code: 'ybbqbg', limit: true, sort: 5},
  47. {name: '本期较大变更计量', code: 'jdbqbg', limit: true, sort: 5},
  48. {name: '本期重大变更计量', code: 'zdbqbg', limit: true, sort: 5},
  49. {name: '100章本期完成计量', code: 'yib', code2: 'ybbqwc', cType: 1, filter: '^[^0-9]*1[0-9]{2}(-|$)', limit: true, sort: 1},
  50. {name: '200章本期完成计量', code: 'erb', cType: 1, filter: '^[^0-9]*2[0-9]{2}(-|$)', limit: true, sort: 1},
  51. {name: '300章本期完成计量', code: 'sanb', cType: 1, filter: '^[^0-9]*3[0-9]{2}(-|$)', limit: true, sort: 1},
  52. {name: '400章本期完成计量', code: 'sib', cType: 1, filter: '^[^0-9]*4[0-9]{2}(-|$)', limit: true, sort: 1},
  53. {name: '500章本期完成计量', code: 'wub', cType: 1, filter: '^[^0-9]*5[0-9]{2}(-|$)', limit: true, sort: 1},
  54. {name: '600章本期完成计量', code: 'liub', cType: 1, filter: '^[^0-9]*6[0-9]{2}(-|$)', limit: true, sort: 1},
  55. {name: '700章本期完成计量', code: 'qib', cType: 1, filter: '^[^0-9]*7[0-9]{2}(-|$)', limit: true, sort: 1},
  56. {name: '800章本期完成计量', code: 'bab', cType: 1, filter: '^[^0-9]*8[0-9]{2}(-|$)', limit: true, sort: 1},
  57. {name: '900章本期完成计量', code: 'jiub', cType: 1, filter: '^[^0-9]*9[0-9]{2}(-|$)', limit: true, sort: 1},
  58. {name: '本期应付', code: 'bqyf', limit: true, ptNormalLimit: true, sort: 20},
  59. ];
  60. const chapterDetailType = {
  61. chapter: 1,
  62. withoutChapter: 21,
  63. gclSum: 11,
  64. xmjSum: 31,
  65. sum: 41
  66. };
  67. const deadlineType = {
  68. none: { value: 0, name: '无' },
  69. count: { value: 1, name: '计量期数' },
  70. tp: {
  71. value: 2, name: '计量金额',
  72. tpType: {
  73. gather: { value: 'gather', name: '累计完成计量金额'},
  74. contract: { value: 'contract', name: '累计合同计量金额'},
  75. qc: { value: 'qc', name: '累计变更计量金额'}
  76. },
  77. },
  78. };
  79. const chapterDetail = [
  80. {name: '清单 第100章 总则', cType: 1, serialNo: 1, filter: '^[^0-9]*1[0-9]{2}(-|$)'},
  81. {name: '清单 第200章 路基', cType: 1, serialNo: 2, filter: '^[^0-9]*2[0-9]{2}(-|$)'},
  82. {name: '清单 第300章 路面', cType: 1, serialNo: 3, filter: '^[^0-9]*3[0-9]{2}(-|$)'},
  83. {name: '清单 第400章 桥梁、涵洞', cType: 1, serialNo: 4, filter: '^[^0-9]*4[0-9]{2}(-|$)'},
  84. {name: '清单 第500章 隧道', cType: 1, serialNo: 5, filter: '^[^0-9]*5[0-9]{2}(-|$)'},
  85. {name: '清单 第600章 安全设施及预埋管线', cType: 1, serialNo: 6, filter: '^[^0-9]*6[0-9]{2}(-|$)'},
  86. {name: '清单 第700章 绿化及环境保护', cType: 1, serialNo: 7, filter: '^[^0-9]*7[0-9]{2}(-|$)'},
  87. {name: '清单 第800章 机电工程', cType: 1, serialNo: 6, filter: '^[^0-9]*8[0-9]{2}(-|$)'},
  88. {name: '清单 第900章 房建工程', cType: 1, serialNo: 7, filter: '^[^0-9]*9[0-9]{2}(-|$)'},
  89. {name: '未计入章节清单合计', cType: 21, serialNo: 8},
  90. {name: '清单小计(A)', cType: 11, serialNo: 9},
  91. {name: '非清单项费用(B)', cType: 31, serialNo: 10},
  92. {name: '合计(C=A+B)', cType: 41, serialNo: 11},
  93. ];
  94. module.exports = {
  95. payType,
  96. payTemplate,
  97. calcBase,
  98. materialCalcBase,
  99. chapterDetail,
  100. deadlineType,
  101. };