chongqing_2018.js 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  1. /**
  2. * Created by zhang on 2018/8/14.
  3. */
  4. if(typeof projectGljObject !== 'undefined'){
  5. projectGljObject.displayTypeMap=[
  6. {ID:'LABOUR',text:'人工'},
  7. {ID:'GENERAL_MATERIAL',text:'材料'},
  8. {ID:'GENERAL_MACHINE',text:'施工机具'},//重庆2018定额中去掉了主材,机械的显示改为了施工机具
  9. {ID:'MAIN_MATERIAL',text:'主材'}
  10. ];
  11. }
  12. if(typeof gljUtil !== 'undefined'){
  13. gljUtil.hasCompMachine = [301,304];//有组成物的机械
  14. gljUtil.machineComposition = [303,305,306,307,308,309,310,311];//可以做为机械组成物的类型
  15. }
  16. //允许使用的工料机类型:人工、普通材料、混凝土、砂浆、配合比、商品混凝土、商品砂浆、其他材料费、机械台班、机上人工、仪器仪表、燃料动力费、折旧费、
  17. // 检修费、维护费、安拆费及场外运费、校验费、其他费用、主材、企业管理费、利润、一般风险费
  18. if(typeof allowGljType !== 'undefined'){
  19. allowGljType = [1, 201, 202, 203, 204, 205, 206, 207, 301, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 4, 6, 7, 8];
  20. }
  21. if(typeof allowComponent !== 'undefined'){
  22. //允许含有组成物的工料机类型:混凝土、砂浆、配合比、机械台班、仪器仪表、主材
  23. allowComponent = [202, 203, 204, 301, 304, 4];
  24. }
  25. if(typeof componentType !== 'undefined'){
  26. //可以作为组成物的工料机类型:普通材料、机上人工、燃料动力费、折旧费、检修费、维护费、安拆费及场外运费、校验费、其他费用、主材
  27. componentType = [201, 303, 305, 306, 307, 308, 309, 310, 311, 4];
  28. }
  29. if(typeof machineAllowComponent !== 'undefined'){
  30. //允许含有组成物的机械工料机类型:机械台班、仪器仪表
  31. machineAllowComponent = [301, 304];
  32. }
  33. if(typeof machineComponent !== 'undefined'){
  34. //可以作为机械工料机组成物的工料机类型:机械组成物、机上人工、燃料动力费、折旧费、检修费、维护费、安拆费及场外运费、校验费、其他费用
  35. machineComponent = [303, 305, 306, 307, 308, 309, 310, 311];
  36. }
  37. if(typeof materialAllowComponent !== 'undefined'){
  38. //允许含有组成物的材料工料机类型:混凝土、砂浆、配合比
  39. materialAllowComponent = [202, 203, 204];
  40. }
  41. if(typeof materialComponent !== 'undefined'){
  42. //可以作为材料工料机组成物的工料机类型:普通材料
  43. materialComponent = [201];
  44. }
  45. // CSL, 2018-08-21 计算程序、基数 的覆盖。
  46. if (rationCalcBases){
  47. baseMaterialTypes.push(gljType.OTHER_MATERIAL);
  48. allMaterialTypes.delete(gljType.EQUIPMENT);
  49. baseMachineTypes.delete(gljType.MACHINE_COMPOSITION);
  50. baseMachineTypes.push(gljType.INSTRUMENT, gljType.FUEL_POWER_FEE, gljType.DEPRECIATION_FEE,
  51. gljType.INSPECTION_FEE, gljType.MAINTENANCE, gljType.DISMANTLING_FREIGHT_FEE,
  52. gljType.VERIFICATION_FEE, gljType.OTHER_FEE, gljType.OTHER_MACHINE_USED);
  53. changePropNames(rationCalcBases,
  54. ['定额基价人工费', '定额基价材料费', '甲供定额基价人工费', '甲供定额基价材料费', '甲定定额基价人工费', '甲定定额基价材料费', '分包定额基价人工费','分包定额基价材料费'],
  55. ['定额人工费', '定额材料费', '甲供定额人工费', '甲供定额材料费', '甲定定额人工费', '甲定定额材料费', '分包定额人工费','分包定额材料费']);
  56. deletePropNames(rationCalcBases, [
  57. '定额基价机械费', '定额基价机上人工费', '机械费价差', '主材费价差', '设备费价差','甲供定额基价机械费','甲定定额基价机械费',
  58. '设备费', '甲供设备费', '甲定设备费', '分包设备费', '分包定额基价机械费']);
  59. rationCalcBases['定额其他材料费'] = function (node, isTender) {
  60. return calcTools.rationBaseFee(node, [gljType.OTHER_MATERIAL], priceTypes.ptBasePrice, isTender);
  61. },
  62. rationCalcBases['定额施工机具使用费'] = function (node, isTender) {
  63. return calcTools.rationBaseFee(node, [gljType.GENERAL_MACHINE, gljType.INSTRUMENT, gljType.OTHER_MACHINE_USED], priceTypes.ptBasePrice, isTender);
  64. },
  65. rationCalcBases['计价材料价差'] = function (node, isTender) {
  66. let baseMaterialTypesWithoutOtherMaterial = [
  67. gljType.GENERAL_MATERIAL,
  68. gljType.CONCRETE,
  69. gljType.MORTAR,
  70. gljType.MIX_RATIO,
  71. gljType.COMMERCIAL_CONCRETE,
  72. gljType.COMMERCIAL_MORTAR
  73. ];
  74. return calcTools.rationBaseFee(node, baseMaterialTypesWithoutOtherMaterial, priceTypes.ptDiffPrice, isTender);
  75. },
  76. rationCalcBases['机上人工费价差'] = function () {
  77. return 0;
  78. };
  79. rationCalcBases['机械燃料动力费价差'] = function () {
  80. return 0;
  81. };
  82. rationCalcBases['机械折旧费'] = function () {
  83. return 0;
  84. };
  85. rationCalcBases['特大机械检修费'] = function () {
  86. return 0;
  87. };
  88. rationCalcBases['中小机械检修费'] = function () {
  89. return 0;
  90. };
  91. rationCalcBases['特大机械维护费'] = function () {
  92. return 0;
  93. };
  94. rationCalcBases['中小机械维护费'] = function () {
  95. return 0;
  96. };
  97. rationCalcBases['机械安拆费及场外运输费'] = function () {
  98. return 0;
  99. };
  100. rationCalcBases['机械燃料动力费'] = function () {
  101. return 0;
  102. };
  103. rationCalcBases['定额仪器仪表费'] = function (node, isTender) {
  104. return calcTools.rationBaseFee(node, [gljType.INSTRUMENT], priceTypes.ptBasePrice, isTender);
  105. },
  106. rationCalcBases['定额其他施工机具使用费'] = function (node, isTender) {
  107. return calcTools.rationBaseFee(node, [gljType.OTHER_MACHINE_USED], priceTypes.ptBasePrice, isTender);
  108. },
  109. rationCalcBases['甲供定额施工机具费'] = function () {
  110. return 0;
  111. };
  112. rationCalcBases['分包定额施工机具费'] = function () {
  113. return 0;
  114. };
  115. rationCalcBases['甲定定额施工机具费'] = function () {
  116. return 0;
  117. };
  118. }
  119. else {
  120. let s = '加载超前,覆盖失败!';
  121. console.log(s);
  122. alert(s);
  123. }
  124. //清单计算基数相关
  125. if(typeof baseFigureMap !== 'undefined'){
  126. let oldNames = [
  127. '分部分项定额基价人工费',
  128. '分部分项定额基价材料费',
  129. '分部分项定额基价机械费',
  130. '组织措施项目定额基价人工费',
  131. '组织措施项目定额基价材料费',
  132. '组织措施项目定额基价机械费',
  133. '技术措施项目定额基价人工费',
  134. '技术措施项目定额基价材料费',
  135. '技术措施项目定额基价机械费',
  136. '机械价差',
  137. '分部分项机械价差',
  138. ];
  139. let newNames = [
  140. '分部分项定额人工费',
  141. '分部分项定额材料费',
  142. '分部分项定额施工机具使用费',
  143. '组织措施项目定额人工费',
  144. '组织措施项目定额材料费',
  145. '组织措施项目定额施工机具使用费',
  146. '技术措施项目定额人工费',
  147. '技术措施项目定额材料费',
  148. '技术措施项目定额施工机具使用费',
  149. '施工机具使用费价差',
  150. '分部分项施工机具使用费价差',
  151. ];
  152. changePropNames(baseFigureMap, oldNames, newNames);
  153. let deleteNames = [
  154. '分部分项定额基价直接工程费',
  155. '分部分项调整人工费',
  156. '分部分项调整机上人工费',
  157. '分部分项设备费',
  158. '分部分项未计价材料费',
  159. '组织措施项目定额基价直接工程费',
  160. '技术措施项目定额基价直接工程费',
  161. '技术措施项目调整人工费',
  162. '技术措施项目调整机上人工费',
  163. '技术措施项目设备费',
  164. '技术措施项目未计价材料费',
  165. '分包费',
  166. '分包定额基价人工费',
  167. '分包定额基价材料费',
  168. '分包定额基价机械费',
  169. '分包主材费',
  170. '分包设备费',
  171. '分包人工工日',
  172. ];
  173. deletePropNames(baseFigureMap, deleteNames);
  174. baseFigureMap['增值税'] = {base: 'ZZS', class: 'SJ', fixedFlag: fixedFlag.ADDED_VALUE_TAX};
  175. }
  176. if(typeof baseFigureTemplate !== 'undefined'){
  177. baseFigureTemplate['ZZS'] = function (tender) {//增值税
  178. if(cbTools.isUnDef(calcBase.fixedBills[fixedFlag.ADDED_VALUE_TAX])){
  179. return 0;
  180. }
  181. const totalFeeType = tender ? 'tenderTotalFee' : 'totalFee';
  182. let bill = calcBase.fixedBills[fixedFlag.ADDED_VALUE_TAX]['bill'];
  183. if(cbTools.isUnDef(bill)) return 0;
  184. if(cbTools.isUnDef(bill.feesIndex) || Object.keys(bill.feesIndex).length === 0) return 0;
  185. return cbTools.isDef(bill.feesIndex.common) && cbTools.isDef(bill.feesIndex.common[totalFeeType]) ? bill.feesIndex.common[totalFeeType] : 0;
  186. };
  187. }
  188. if(typeof figureClassTemplate !== 'undefined'){
  189. figureClassTemplate['ADDED_VALUE_TAX'] = {flag: fixedFlag.ADDED_VALUE_TAX, filter: ['SJ', 'ZZS', 'SQGCZJ']}
  190. }