guangdong_2018.js 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. 'use strict';
  2. /**
  3. *
  4. *
  5. * @author Zhong
  6. * @date 2019/8/15
  7. * @version
  8. */
  9. let isGD2018 = true;
  10. function overwriteRationCalcBases (){
  11. if (typeof rationCalcBases == 'undefined') return;
  12. for (let key in rationCalcBases) delete rationCalcBases[key];
  13. rationCalcBases['人工费'] = function (node, isTender) {
  14. return calcTools.rationBaseFee(node, [gljType.LABOUR], priceTypes.ptMarketPrice, isTender);
  15. };
  16. rationCalcBases['材料费'] = function (node, isTender) {
  17. return calcTools.rationBaseFee(node, baseMaterialTypes, priceTypes.ptMarketPrice, isTender);
  18. };
  19. rationCalcBases['施工机具费'] = function (node, isTender) {
  20. return calcTools.rationBaseFee(node, baseMachineTypes, priceTypes.ptMarketPrice, isTender);
  21. };
  22. rationCalcBases['主材费'] = function (node, isTender) {
  23. return calcTools.rationBaseFee(node, [gljType.MAIN_MATERIAL], priceTypes.ptMarketPrice, isTender);
  24. };
  25. rationCalcBases['设备费'] = function (node, isTender) {
  26. return calcTools.rationBaseFee(node, [gljType.EQUIPMENT], priceTypes.ptMarketPrice, isTender);
  27. };
  28. // 广东建筑管理费特殊计算:管理费=ROUND(∑(人工费+施工机具费)*定额的管理费费率*0.01,精度)。与定额同级的量价、人材机则按管理费费率为0计算。
  29. rationCalcBases['管理费'] = function (node, isTender) {
  30. let rst = 0;
  31. if (calcTools.isRationItem(node) && node.data.gljList && node.data.manageFeeRate) {
  32. rst = (rationCalcBases['人工费'](node, isTender) + rationCalcBases['施工机具费'](node, isTender)) * node.data.manageFeeRate * 0.01;
  33. rst = rst.toDecimal(decimalObj.ration.unitPrice);
  34. };
  35. return rst;
  36. };
  37. rationCalcBases['工日合计'] = function (node, isTender) {
  38. return calcTools.labourDays(node, isTender);
  39. };
  40. rationCalcBases['甲供人工费'] = function (node, isTender) {
  41. return calcTools.partASupplyFee(node, '甲供人工费', isTender, false);
  42. };
  43. rationCalcBases['甲供材料费'] = function (node, isTender) {
  44. return calcTools.partASupplyFee(node, '甲供材料费', isTender, false);
  45. };
  46. rationCalcBases['甲供施工机具费'] = function (node, isTender) {
  47. return calcTools.partASupplyFee(node, '甲供机械费', isTender, false);
  48. };
  49. rationCalcBases['甲供主材费'] = function (node, isTender) {
  50. return calcTools.partASupplyFee(node, '甲供主材费', isTender, false);
  51. };
  52. rationCalcBases['甲供设备费'] = function (node, isTender) {
  53. return calcTools.partASupplyFee(node, '甲供设备费', isTender, false);
  54. };
  55. rationCalcBases['甲定人工费'] = function (node, isTender) {
  56. return calcTools.partASupplyFee(node, '甲定人工费', isTender, false);
  57. };
  58. rationCalcBases['甲定材料费'] = function (node, isTender) {
  59. return calcTools.partASupplyFee(node, '甲定材料费', isTender, false);
  60. };
  61. rationCalcBases['甲定施工机具费'] = function (node, isTender) {
  62. return calcTools.partASupplyFee(node, '甲定机械费', isTender, false);
  63. };
  64. rationCalcBases['甲定主材费'] = function (node, isTender) {
  65. return calcTools.partASupplyFee(node, '甲定主材费', isTender, false);
  66. };
  67. rationCalcBases['甲定设备费'] = function (node, isTender) {
  68. return calcTools.partASupplyFee(node, '甲定设备费', isTender, false);
  69. };
  70. rationCalcBases['暂估材料费'] = function (node, isTender) {
  71. return calcTools.estimateFee(node, true, isTender);
  72. };
  73. };
  74. (function overwriteFeeTypes() {
  75. if (typeof cpFeeTypes == 'undefined') return;
  76. cpFeeTypes = [
  77. {type: 'labour', name: '人工费'},
  78. {type: 'material', name: '材料费'},
  79. {type: 'machine', name: '机械费'},
  80. {type: 'mainMaterial', name: '主材费'},
  81. {type: 'equipment', name: '设备费'},
  82. {type: 'direct', name: '直接费'},
  83. {type: 'manage', name: '管理费'},
  84. {type: 'profit', name: '利润'},
  85. {type: 'common', name: '工程造价'}
  86. ];
  87. })();
  88. if (typeof module !== 'undefined') {
  89. } else {
  90. // 广东接口排版规则,添加内容默认项目特征
  91. $(function () {
  92. $('#add-content').val('3');
  93. });
  94. //清单计算基数相关
  95. if(typeof baseFigureMap !== 'undefined'){
  96. baseFigureMap = {
  97. '分部分项工程费': {base: 'FBFXGCF', fixedFlag: fixedFlag.SUB_ENGINERRING, class: 'FBFX'},
  98. '分部分项人工费': {base: 'FBFXDEJJRGF', fixedFlag: fixedFlag.SUB_ENGINERRING, class: 'FBFX'},
  99. '分部分项材料费': {base: 'FBFXDEJJCLF', fixedFlag: fixedFlag.SUB_ENGINERRING, class: 'FBFX'},
  100. '分部分项施工机具费': {base: 'FBFXDEJJJXF', fixedFlag: fixedFlag.SUB_ENGINERRING, class: 'FBFX'},
  101. '分部分项主材费': {base: 'FBFXZCF', fixedFlag: fixedFlag.SUB_ENGINERRING, class: 'FBFX'},
  102. '分部分项设备费': {base: 'FBFXSBF', fixedFlag: fixedFlag.SUB_ENGINERRING, class: 'FBFX'},
  103. '分部分项人工工日': {base: 'FBFXRGGR', fixedFlag: fixedFlag.SUB_ENGINERRING, class: 'FBFX'},
  104. '建筑面积': {base: 'JZMJ', class: 'FBFX'},
  105. '措施项目费': {base: 'CSXMF', fixedFlag: fixedFlag.MEASURE, class: 'CSXM'},
  106. '其他项目费': {base: 'QTXMF', fixedFlag: fixedFlag.OTHER, class: 'QTXM'},
  107. '甲供人工费': {base: 'JGDEJJRGF', class: 'RCJ'},
  108. '甲供材料费': {base: 'JGDEJJCLF', class: 'RCJ'},
  109. '甲供施工机具费': {base: 'JGDEJJJXF', class: 'RCJ'},
  110. '甲定人工费': {base: 'JDDEJJRGF', class: 'RCJ'},
  111. '甲定材料费': {base: 'JDDEJJCLF', class: 'RCJ'},
  112. '甲定施工机具费': {base: 'JDDEJJJXF', class: 'RCJ'},
  113. '甲定主材费': {base: 'JDZCF', class: 'RCJ'},
  114. '甲定设备费': {base: 'JDSBF', class: 'RCJ'},
  115. '暂估材料费(从子目汇总)': {base: 'ZGCLFFZM', class: 'RCJ'},
  116. '税金': {base: 'SJ', fixedFlag: fixedFlag.TAX, class: 'SJ'}
  117. };
  118. }
  119. }