chongqing_2018.js 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427
  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. $("#menu_index_info").show();
  12. //2020-11-06 暂时去掉主城区加载通用
  13. projectGljObject.addCommonInfoPriceID = function (condition) {
  14. if (condition.areaID != projectGljObject.commonInfoPriceID) condition.commonInfoPriceID = projectGljObject.commonInfoPriceID;
  15. };
  16. }
  17. if (typeof gljUtil !== "undefined") {
  18. gljUtil.hasCompMachine = [301, 304]; //有组成物的机械
  19. gljUtil.machineComposition = [303, 305, 306, 307, 308, 309, 310, 311]; //可以做为机械组成物的类型
  20. }
  21. //允许使用的工料机类型:人工、普通材料、混凝土、砂浆、配合比、商品混凝土、商品砂浆、其他材料费、机械台班、机上人工、仪器仪表、燃料动力费、折旧费、
  22. // 检修费、维护费、安拆费及场外运费、校验费、其他费用、主材、设备、企业管理费、利润、一般风险费 前端工料机库编辑器下拉列表没有用到这个
  23. if (typeof allowGljType !== "undefined") {
  24. allowGljType = [1, 201, 202, 203, 204, 205, 206, 207, 301, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 4, 5, 6, 7, 8];
  25. }
  26. if (typeof allowComponent !== "undefined") {
  27. //允许含有组成物的工料机类型:混凝土、砂浆、配合比、机械台班、仪器仪表、主材
  28. allowComponent = [202, 203, 204, 301, 304, 4];
  29. }
  30. if (typeof componentType !== "undefined") {
  31. //可以作为组成物的工料机类型:普通材料、机上人工、燃料动力费、折旧费、检修费、维护费、安拆费及场外运费、校验费、其他费用、主材
  32. componentType = [201, 303, 305, 306, 307, 308, 309, 310, 311, 4];
  33. }
  34. if (typeof machineAllowComponent !== "undefined") {
  35. //允许含有组成物的机械工料机类型:机械台班、仪器仪表
  36. machineAllowComponent = [301, 304];
  37. }
  38. if (typeof machineComponent !== "undefined") {
  39. //可以作为机械工料机组成物的工料机类型:机械组成物、机上人工、燃料动力费、折旧费、检修费、维护费、安拆费及场外运费、校验费、其他费用
  40. machineComponent = [303, 305, 306, 307, 308, 309, 310, 311];
  41. }
  42. if (typeof materialAllowComponent !== "undefined") {
  43. //允许含有组成物的材料工料机类型:混凝土、砂浆、配合比
  44. materialAllowComponent = [202, 203, 204];
  45. }
  46. if (typeof materialComponent !== "undefined") {
  47. //可以作为材料工料机组成物的工料机类型:普通材料
  48. materialComponent = [201];
  49. }
  50. // CSL, 2018-08-21 计算程序、基数 的覆盖。---------------------------------------------------------------------------------
  51. let isCQ2018 = true;
  52. if (typeof baseMaterialTypes !== "undefined") baseMaterialTypes.push(gljType.OTHER_MATERIAL);
  53. if (typeof baseMachineMasterTypes !== "undefined") baseMachineMasterTypes.push(gljType.INSTRUMENT);
  54. if (typeof baseMachineTypes !== "undefined") {
  55. _.pull(baseMachineTypes, gljType.MACHINE_COMPOSITION);
  56. //baseMachineTypes.delete(gljType.MACHINE_COMPOSITION);
  57. baseMachineTypes.push(
  58. gljType.INSTRUMENT,
  59. gljType.FUEL_POWER_FEE,
  60. gljType.DEPRECIATION_FEE,
  61. gljType.INSPECTION_FEE,
  62. gljType.MAINTENANCE,
  63. gljType.DISMANTLING_FREIGHT_FEE,
  64. gljType.VERIFICATION_FEE,
  65. gljType.OTHER_FEE,
  66. gljType.OTHER_MACHINE_USED
  67. );
  68. }
  69. function overwriteRationCalcBases(taxType) {
  70. if (rationCalcBases) {
  71. for (let key in rationCalcBases) {
  72. delete rationCalcBases[key];
  73. }
  74. let isJY = taxType == "2";
  75. rationCalcBases["定额人工费"] = function (node, isTender) {
  76. return calcTools.rationBaseFee(node, [gljType.LABOUR], priceTypes.ptBasePrice, isTender);
  77. };
  78. rationCalcBases["定额材料费"] = function (node, isTender) {
  79. return calcTools.rationBaseFee(node, baseMaterialTypes, priceTypes.ptBasePrice, isTender);
  80. };
  81. rationCalcBases["定额其他材料费"] = function (node, isTender) {
  82. return calcTools.rationBaseFee(node, [gljType.OTHER_MATERIAL], priceTypes.ptBasePrice, isTender);
  83. };
  84. rationCalcBases["定额施工机具使用费"] = function (node, isTender) {
  85. return calcTools.rationBaseFee(node, [gljType.GENERAL_MACHINE, gljType.INSTRUMENT, gljType.OTHER_MACHINE_USED], priceTypes.ptBasePrice, isTender);
  86. };
  87. rationCalcBases["市场价主材费"] = function (node, isTender) {
  88. return calcTools.rationBaseFee(node, [gljType.MAIN_MATERIAL], priceTypes.ptMarketPrice, isTender);
  89. };
  90. rationCalcBases["市场价设备费"] = function (node, isTender) {
  91. return calcTools.rationBaseFee(node, [gljType.EQUIPMENT], priceTypes.ptMarketPrice, isTender);
  92. };
  93. rationCalcBases["人工工日"] = function (node, isTender) {
  94. return calcTools.labourDays(node, isTender);
  95. };
  96. rationCalcBases["人工费价差"] = function (node, isTender) {
  97. return calcTools.rationBaseFee(node, [gljType.LABOUR], priceTypes.ptDiffPrice, isTender);
  98. };
  99. rationCalcBases["材料费价差"] = function (node, isTender) {
  100. return calcTools.rationBaseFee(node, baseMaterialTypes, priceTypes.ptDiffPrice, isTender);
  101. };
  102. /* if (isJY){
  103. rationCalcBases['计价材料价差'] = function (node, isTender) {
  104. let baseMaterialTypesWithoutOtherMaterial = [
  105. gljType.GENERAL_MATERIAL,
  106. gljType.CONCRETE,
  107. gljType.MORTAR,
  108. gljType.MIX_RATIO,
  109. gljType.COMMERCIAL_CONCRETE,
  110. gljType.COMMERCIAL_MORTAR
  111. ];
  112. return calcTools.rationBaseFee(node, baseMaterialTypesWithoutOtherMaterial, priceTypes.ptDiffPrice, isTender);
  113. };
  114. };*/
  115. rationCalcBases["机上人工费价差"] = function (node, isTender) {
  116. return calcTools.rationBaseFee(node, [gljType.MACHINE_LABOUR], priceTypes.ptDiffPrice, isTender);
  117. };
  118. rationCalcBases["燃料动力费价差"] = function (node, isTender) {
  119. return calcTools.rationBaseFee(node, [gljType.FUEL_POWER_FEE], priceTypes.ptDiffPrice, isTender);
  120. };
  121. if (isJY) {
  122. rationCalcBases["定额其他施工机具使用费"] = function (node, isTender) {
  123. return calcTools.rationBaseFee(node, [gljType.OTHER_MACHINE_USED], priceTypes.ptBasePrice, isTender);
  124. };
  125. rationCalcBases["机械折旧费"] = function (node, isTender) {
  126. return calcTools.machineDetailFee(node, node.data.gljList, [], gljType.DEPRECIATION_FEE, isTender);
  127. };
  128. rationCalcBases["特大机械检修费"] = function (node, isTender) {
  129. return calcTools.machineDetailFee(node, node.data.gljList, [1, 2], gljType.INSPECTION_FEE, isTender);
  130. };
  131. rationCalcBases["中小机械检修费"] = function (node, isTender) {
  132. return calcTools.machineDetailFee(node, node.data.gljList, [3, 4], gljType.INSPECTION_FEE, isTender);
  133. };
  134. rationCalcBases["特大机械维护费"] = function (node, isTender) {
  135. return calcTools.machineDetailFee(node, node.data.gljList, [1, 2], gljType.MAINTENANCE, isTender);
  136. };
  137. rationCalcBases["中小机械维护费"] = function (node, isTender) {
  138. return calcTools.machineDetailFee(node, node.data.gljList, [3, 4], gljType.MAINTENANCE, isTender);
  139. };
  140. rationCalcBases["安拆费及场外运输费"] = function (node, isTender) {
  141. return calcTools.machineDetailFee(node, node.data.gljList, [], gljType.DISMANTLING_FREIGHT_FEE, isTender);
  142. };
  143. /* rationCalcBases['燃料动力费'] = function (node, isTender) {
  144. return calcTools.machineDetailFee(node, node.data.gljList, [], gljType.FUEL_POWER_FEE, isTender);
  145. };*/
  146. rationCalcBases["定额仪器仪表费"] = function (node, isTender) {
  147. return calcTools.rationBaseFee(node, [gljType.INSTRUMENT], priceTypes.ptBasePrice, isTender);
  148. };
  149. }
  150. rationCalcBases["建筑面积"] = function (node, isTender) {
  151. return calcTools.getProjectFeatureProperty("buildingArea");
  152. };
  153. rationCalcBases["甲供定额人工费"] = function (node, isTender) {
  154. return calcTools.partASupplyFee(node, "甲供定额人工费", isTender);
  155. };
  156. rationCalcBases["甲供定额材料费"] = function (node, isTender) {
  157. return calcTools.partASupplyFee(node, "甲供定额材料费", isTender);
  158. };
  159. rationCalcBases["甲供定额施工机具费"] = function (node, isTender) {
  160. return calcTools.partASupplyFee(node, "甲供定额施工机具费", isTender);
  161. };
  162. rationCalcBases["甲供主材费"] = function (node, isTender) {
  163. return calcTools.partASupplyFee(node, "甲供主材费", isTender, false);
  164. };
  165. rationCalcBases["甲定定额人工费"] = function (node, isTender) {
  166. return calcTools.partASupplyFee(node, "甲定定额人工费", isTender);
  167. };
  168. rationCalcBases["甲定定额材料费"] = function (node, isTender) {
  169. return calcTools.partASupplyFee(node, "甲定定额材料费", isTender);
  170. };
  171. rationCalcBases["甲定定额施工机具费"] = function (node, isTender) {
  172. return calcTools.partASupplyFee(node, "甲定定额施工机具费", isTender);
  173. };
  174. rationCalcBases["甲定主材费"] = function (node, isTender) {
  175. return calcTools.partASupplyFee(node, "甲定主材费", isTender, false);
  176. };
  177. rationCalcBases["暂估材料费"] = function (node, isTender) {
  178. return calcTools.estimateFee(node, true, isTender);
  179. };
  180. rationCalcBases["分包定额人工费"] = function (node, isTender) {
  181. if (node.data.isSubcontract) return calcTools.rationBaseFee(node, [gljType.LABOUR], priceTypes.ptBasePrice, isTender);
  182. else return 0;
  183. };
  184. rationCalcBases["分包定额材料费"] = function (node, isTender) {
  185. if (node.data.isSubcontract) return calcTools.rationBaseFee(node, baseMaterialTypes, priceTypes.ptBasePrice, isTender);
  186. else return 0;
  187. };
  188. rationCalcBases["分包定额机械费"] = function (node, isTender) {
  189. if (node.data.isSubcontract) return calcTools.rationBaseFee(node, baseMachineTypes, priceTypes.ptBasePrice, isTender);
  190. else return 0;
  191. };
  192. rationCalcBases["分包主材费"] = function (node, isTender) {
  193. if (node.data.isSubcontract) return calcTools.rationBaseFee(node, [gljType.MAIN_MATERIAL], priceTypes.ptMarketPrice, isTender);
  194. else return 0;
  195. };
  196. rationCalcBases["分包设备费"] = function (node, isTender) {
  197. if (node.data.isSubcontract) return calcTools.rationBaseFee(node, [gljType.EQUIPMENT], priceTypes.ptMarketPrice, isTender);
  198. else return 0;
  199. };
  200. rationCalcBases["分包人工工日"] = function (node, isTender) {
  201. if (node.data.isSubcontract) return calcTools.labourDays(node, isTender);
  202. else return 0;
  203. };
  204. }
  205. }
  206. //code为标准接口所需,值是字典规定的
  207. (function overwriteFeeTypes() {
  208. if (typeof cpFeeTypes == "undefined") return;
  209. cpFeeTypes = [
  210. { type: "rationUnitPrice", name: "定额综合单价", code: "1800" },
  211. { type: "labour", name: "人工费", code: "101" },
  212. { type: "material", name: "材料费", code: "201" },
  213. { type: "machine", name: "施工机具使用费", code: "301" },
  214. { type: "mainMaterial", name: "主材费", code: "501" },
  215. { type: "equipment", name: "设备费", code: "502" },
  216. { type: "manage", name: "企业管理费", code: "600" },
  217. { type: "profit", name: "利润", code: "700" },
  218. { type: "risk", name: "一般风险费", code: "1000" },
  219. { type: "labourDiff", name: "人工价差", code: "104" },
  220. { type: "materialDiff", name: "材料价差", code: "203" },
  221. { type: "machineDiff", name: "施工机具使用价差", code: "304" },
  222. { type: "otherRisk", name: "其他风险费", code: "1800" },
  223. { type: "unratedMaterial", name: "未计价材料费", code: "1800" },
  224. { type: "organizeMeasures", name: "组织措施费", code: "1200" },
  225. { type: "safeCivilization", name: "安全文明施工费", code: "1204" },
  226. { type: "document", name: "建设工程竣工档案编制费", code: "10041" },
  227. { type: "acceptance", name: "住宅工程质量分户验收费", code: "1206" },
  228. { type: "forceFee", name: "规费", code: "800" },
  229. { type: "tax", name: "税金", code: "900" },
  230. { type: "VAT", name: "增值税", code: "1800" },
  231. { type: "surtax", name: "附加税", code: "1800" },
  232. { type: "environmentTax", name: "环境保护税", code: "1800" },
  233. { type: "common", name: "工程造价", code: "1" },
  234. ];
  235. })();
  236. //清单计算基数相关
  237. if (typeof baseFigureMap !== "undefined") {
  238. baseFigureMap = {
  239. //与清单直接关联=======
  240. 分部分项工程费: { base: "FBFXGCF", fixedFlag: fixedFlag.SUB_ENGINERRING, class: "FBFX" },
  241. 分部分项定额人工费: { base: "FBFXDEJJRGF", fixedFlag: fixedFlag.SUB_ENGINERRING, class: "FBFX" },
  242. 分部分项定额材料费: { base: "FBFXDEJJCLF", fixedFlag: fixedFlag.SUB_ENGINERRING, class: "FBFX" },
  243. 分部分项定额施工机具使用费: { base: "FBFXDEJJJXF", fixedFlag: fixedFlag.SUB_ENGINERRING, class: "FBFX" },
  244. 分部分项主材费: { base: "FBFXZCF", fixedFlag: fixedFlag.SUB_ENGINERRING, class: "FBFX" },
  245. 分部分项人工工日: { base: "FBFXRGGR", fixedFlag: fixedFlag.SUB_ENGINERRING, class: "FBFX" },
  246. "分部分项定额人工费(人工土石方)": { base: "FBFXRGTSFDERGF", fixedFlag: fixedFlag.SUB_ENGINERRING, class: "NONE" },
  247. "分部分项定额人工费(机械爆破土石方)": { base: "FBFXJXBPTSFDERGF", fixedFlag: fixedFlag.SUB_ENGINERRING, class: "NONE" },
  248. "分部分项定额施工机具使用费(人工土石方)": { base: "FBFXDESGJJSYFRGTSF", fixedFlag: fixedFlag.SUB_ENGINERRING, class: "NONE" },
  249. "分部分项定额施工机具使用费(机械爆破土石方)": { base: "FBFXJXBPTSFDEJXF", fixedFlag: fixedFlag.SUB_ENGINERRING, class: "NONE" },
  250. 措施项目费: { base: "CSXMF", fixedFlag: fixedFlag.MEASURE, class: "CSXM" },
  251. 组织措施项目费: { base: "ZZCSXMF", fixedFlag: fixedFlag.CONSTRUCTION_ORGANIZATION, class: "CSXM" },
  252. 组织措施项目定额人工费: { base: "ZZCSXMDEJJRGF", fixedFlag: fixedFlag.CONSTRUCTION_ORGANIZATION, class: "CSXM" },
  253. 组织措施项目定额材料费: { base: "ZZCSXMDEJJCLF", fixedFlag: fixedFlag.CONSTRUCTION_ORGANIZATION, class: "CSXM" },
  254. 组织措施项目定额施工机具使用费: { base: "ZZCSXMDEJJJXF", fixedFlag: fixedFlag.CONSTRUCTION_ORGANIZATION, class: "CSXM" },
  255. 安全文明施工专项费: { base: "AQWMSGZXF", fixedFlag: fixedFlag.SAFETY_CONSTRUCTION, class: "CSXM" },
  256. 技术措施项目费: { base: "JSCSXMF", fixedFlag: fixedFlag.CONSTRUCTION_TECH, class: "CSXM" },
  257. 技术措施项目定额人工费: { base: "JSCSXMDEJJRGF", fixedFlag: fixedFlag.CONSTRUCTION_TECH, class: "CSXM" },
  258. 技术措施项目定额材料费: { base: "JSCSXMDEJJCLF", fixedFlag: fixedFlag.CONSTRUCTION_TECH, class: "CSXM" },
  259. 技术措施项目定额施工机具使用费: { base: "JSCSXMDEJJJXF", fixedFlag: fixedFlag.CONSTRUCTION_TECH, class: "CSXM" },
  260. 技术措施项目主材费: { base: "JSCSXMZCF", fixedFlag: fixedFlag.CONSTRUCTION_TECH, class: "CSXM" },
  261. 技术措施项目人工工日: { base: "JSCSXMRGGR", fixedFlag: fixedFlag.CONSTRUCTION_TECH, class: "CSXM" },
  262. "技术措施项目定额人工费(人工土石方)": { base: "JSCSXMRGTSFDERGF", fixedFlag: fixedFlag.CONSTRUCTION_TECH, class: "NONE" },
  263. "技术措施项目定额人工费(机械爆破土石方)": { base: "JSCSXMJXBPTSFDERGF", fixedFlag: fixedFlag.CONSTRUCTION_TECH, class: "NONE" },
  264. "技术措施项目定额施工机具使用费(人工土石方)": { base: "JSCSXMDESGJJSYFRGTSF", fixedFlag: fixedFlag.CONSTRUCTION_TECH, class: "NONE" },
  265. "技术措施项目定额施工机具使用费(机械爆破土石方)": { base: "JSCSXMJXBPTSFDEJXF", fixedFlag: fixedFlag.CONSTRUCTION_TECH, class: "NONE" },
  266. 其他项目费: { base: "QTXMF", fixedFlag: fixedFlag.OTHER, class: "QTXM" },
  267. "定额人工费(土石方除外)": { base: "DERGFTSFCW", fixedFlag: null, class: "ALL" },
  268. "定额人工费(机械爆破土石方)": { base: "DERGFJXBPTSF", fixedFlag: null, class: "ALL" },
  269. "定额人工费(人工土石方)": { base: "DERGFRGTSF", fixedFlag: null, class: "ALL" },
  270. "定额施工机具使用费(土石方除外)": { base: "DESGJJSYFTSFCW", fixedFlag: null, class: "ALL" },
  271. "定额施工机具使用费(机械爆破土石方)": { base: "DESGJJSYFJXBPTSF", fixedFlag: null, class: "ALL" },
  272. "专业工程规费(人+机)": { base: "ZYGCGFRJJ", fixedFlag: null, class: "ALL" },
  273. "机械(爆破)土石方规费(人)": { base: "JXBPTSFGFR", fixedFlag: null, class: "ALL" },
  274. "人工土石方规费(人)": { base: "RGTSFGFR", fixedFlag: null, class: "ALL" },
  275. "机械(爆破)土石方规费(人+机)": { base: "JXBPTSFGFRJJ", fixedFlag: null, class: "ALL" },
  276. "人工土石方规费(人+机)": { base: "RGTSFGFRJJ", fixedFlag: null, class: "ALL" },
  277. "专业工程规费(人)": { base: "ZYGCGFR", fixedFlag: null, class: "ALL" },
  278. 规费: { base: "GF", fixedFlag: fixedFlag.CHARGE, class: "GF" },
  279. 税金: { base: "SJ", fixedFlag: fixedFlag.TAX, class: "SJ" },
  280. 增值税: { base: "ZZS", class: "SJ", fixedFlag: fixedFlag.ADDED_VALUE_TAX },
  281. //不于清单直接关联==========
  282. 费率: { base: "FR", class: "NONE" },
  283. 建筑面积: { base: "JZMJ", class: "FBFX" },
  284. 人材机价差: { base: "RCJJC", class: "RCJ" },
  285. 人工价差: { base: "RGJC", class: "RCJ" },
  286. 材料价差: { base: "CLJC", class: "RCJ" },
  287. 施工机具使用费价差: { base: "JXJC", class: "RCJ" },
  288. 分部分项人材机价差: { base: "FBFXRCJJC", class: "RCJ" },
  289. 分部分项人工价差: { base: "FBFXRGJC", class: "RCJ" },
  290. 分部分项材料价差: { base: "FBFXCLJC", class: "RCJ" },
  291. 分部分项施工机具使用费价差: { base: "FBFXJXJC", class: "RCJ" },
  292. 技术措施项目人材机价差: { base: "JSCSXMRCJJC", class: "RCJ" },
  293. 技术措施项目人工价差: { base: "JSCSXMRGJC", class: "RCJ" },
  294. 技术措施项目材料价差: { base: "JSCSXMCLJC", class: "RCJ" },
  295. 技术措施项目施工机具使用费价差: { base: "JSCSXMJXJC", class: "RCJ" },
  296. 甲供定额人工费: { base: "JGDEJJRGF", class: "RCJ" },
  297. 甲供定额材料费: { base: "JGDEJJCLF", class: "RCJ" },
  298. 甲供定额施工机具使用费: { base: "JGDEJJJXF", class: "RCJ" },
  299. 甲供人工费: { base: "JGRGF", class: "RCJ" },
  300. 甲供材料费: { base: "JGCLF", class: "RCJ" },
  301. 甲供施工机具使用费: { base: "JGJXF", class: "RCJ" },
  302. 甲供主材费: { base: "JGZCF", class: "RCJ" },
  303. 甲定定额人工费: { base: "JDDEJJRGF", class: "RCJ" },
  304. 甲定定额材料费: { base: "JDDEJJCLF", class: "RCJ" },
  305. 甲定定额施工机具使用费: { base: "JDDEJJJXF", class: "RCJ" },
  306. 甲定人工费: { base: "JDRGF", class: "RCJ" },
  307. 甲定材料费: { base: "JDCLF", class: "RCJ" },
  308. 甲定施工机具使用费: { base: "JDJXF", class: "RCJ" },
  309. 甲定主材费: { base: "JDZCF", class: "RCJ" },
  310. "暂估材料费(从子目汇总)": { base: "ZGCLFFZM", class: "RCJ" },
  311. 分包费: { base: "FBF", class: "FBF" },
  312. 分包定额人工费: { base: "FBDEJJRGF", class: "FBF" },
  313. 分包定额材料费: { base: "FBDEJJCLF", class: "FBF" },
  314. 分包定额机械费: { base: "FBDEJJJXF", class: "FBF" },
  315. 分包主材费: { base: "FBZCF", class: "FBF" },
  316. 分包设备费: { base: "FBSBF", class: "FBF" },
  317. 分包人工工日: { base: "FBRGGR", class: "FBF" },
  318. 税前工程造价: {
  319. base: "SQGCZJ",
  320. class: "SQGCZJ",
  321. cycleCalcRef: [fixedFlag.SUB_ENGINERRING, fixedFlag.OTHER, fixedFlag.CHARGE], //循环计算相关固定行,由于计算排除了本身,不用判断措施项目
  322. multiRef: [fixedFlag.SUB_ENGINERRING, fixedFlag.MEASURE, fixedFlag.OTHER, fixedFlag.CHARGE],
  323. }, //相关固定行
  324. };
  325. }
  326. function dynamicLoadCalcBase() {
  327. // 兼容旧数据,旧单位工程可能不存在累进区间
  328. if (projectObj && projectObj.project.property.progressiveInterval) {
  329. baseFigureMap["市政道路工程安全文明施工费"] = {
  330. base: "SZDLGCAQWMSGF",
  331. class: "CSXM",
  332. cycleCalcRef: [fixedFlag.SUB_ENGINERRING, fixedFlag.OTHER, fixedFlag.CHARGE], // 以税前工程造价作为累进基数,因此配置沿用{税前工程造价}
  333. multiRef: [fixedFlag.SUB_ENGINERRING, fixedFlag.MEASURE, fixedFlag.OTHER, fixedFlag.CHARGE],
  334. };
  335. baseFigureMap["市政桥梁工程安全文明施工费"] = {
  336. base: "SZQLGCAQWMSGF",
  337. class: "CSXM",
  338. cycleCalcRef: [fixedFlag.SUB_ENGINERRING, fixedFlag.OTHER, fixedFlag.CHARGE], // 以税前工程造价作为累进基数,因此配置沿用{税前工程造价}
  339. multiRef: [fixedFlag.SUB_ENGINERRING, fixedFlag.MEASURE, fixedFlag.OTHER, fixedFlag.CHARGE],
  340. };
  341. baseFigureMap["市政隧道工程安全文明施工费"] = {
  342. base: "SZSDGCAQWMSGF",
  343. class: "CSXM",
  344. cycleCalcRef: [fixedFlag.SUB_ENGINERRING, fixedFlag.OTHER, fixedFlag.CHARGE], // 以税前工程造价作为累进基数,因此配置沿用{税前工程造价}
  345. multiRef: [fixedFlag.SUB_ENGINERRING, fixedFlag.MEASURE, fixedFlag.OTHER, fixedFlag.CHARGE],
  346. };
  347. baseFigureMap["城轨盾构工程安全文明施工费"] = {
  348. base: "CGDGGCAQWMSGF",
  349. class: "CSXM",
  350. cycleCalcRef: [fixedFlag.SUB_ENGINERRING, fixedFlag.OTHER, fixedFlag.CHARGE], // 以税前工程造价作为累进基数,因此配置沿用{税前工程造价}
  351. multiRef: [fixedFlag.SUB_ENGINERRING, fixedFlag.MEASURE, fixedFlag.OTHER, fixedFlag.CHARGE],
  352. };
  353. baseFigureMap["城轨高架桥工程安全文明施工费"] = {
  354. base: "CGGJQGCAQWMSGF",
  355. class: "CSXM",
  356. cycleCalcRef: [fixedFlag.SUB_ENGINERRING, fixedFlag.OTHER, fixedFlag.CHARGE], // 以税前工程造价作为累进基数,因此配置沿用{税前工程造价}
  357. multiRef: [fixedFlag.SUB_ENGINERRING, fixedFlag.MEASURE, fixedFlag.OTHER, fixedFlag.CHARGE],
  358. };
  359. baseFigureMap["城轨地下工程安全文明施工费"] = {
  360. base: "CGDXGCAQWMSGF",
  361. class: "CSXM",
  362. cycleCalcRef: [fixedFlag.SUB_ENGINERRING, fixedFlag.OTHER, fixedFlag.CHARGE], // 以税前工程造价作为累进基数,因此配置沿用{税前工程造价}
  363. multiRef: [fixedFlag.SUB_ENGINERRING, fixedFlag.MEASURE, fixedFlag.OTHER, fixedFlag.CHARGE],
  364. };
  365. baseFigureMap["城轨轨道工程安全文明施工费"] = {
  366. base: "CGGDGCAQWMSGF",
  367. class: "CSXM",
  368. cycleCalcRef: [fixedFlag.SUB_ENGINERRING, fixedFlag.OTHER, fixedFlag.CHARGE], // 以税前工程造价作为累进基数,因此配置沿用{税前工程造价}
  369. multiRef: [fixedFlag.SUB_ENGINERRING, fixedFlag.MEASURE, fixedFlag.OTHER, fixedFlag.CHARGE],
  370. };
  371. }
  372. }
  373. if (typeof baseFigureTemplate !== "undefined") {
  374. baseFigureTemplate["ZZS"] = function (tender) {
  375. //增值税
  376. let feeField = "common",
  377. subFeeField = tender ? "tenderTotalFee" : "totalFee";
  378. return cbTools.getBillsFee(fixedFlag.ADDED_VALUE_TAX, feeField, subFeeField);
  379. };
  380. }
  381. if (typeof figureClassTemplate !== "undefined") {
  382. figureClassTemplate["ADDED_VALUE_TAX"] = { flag: fixedFlag.ADDED_VALUE_TAX, filter: ["SJ", "ZZS", "SQGCZJ"] };
  383. }
  384. if (typeof gljCol !== "undefined") {
  385. gljCol.hideInfoPrice = false;
  386. }
  387. //这个文档浏览器库和服务器端共用,所以这个文件中用到的变量都要记得做undefined判断,不然后端读取时会有问题
  388. //=================================================== 前后端分割线 ======================================================================
  389. if (typeof module !== "undefined") {
  390. module.exports = {
  391. getCusCoeContent: getCusCoeContent,
  392. getCustomerCoeData: getCustomerCoeData,
  393. };
  394. }
  395. function getCusCoeContent() {
  396. return "人工×1,材料×1,施工机具×1,主材×1,设备×1"; //2019-07-08 bug 添加自定义系数添加设备
  397. }
  398. function getCustomerCoeData() {
  399. return [
  400. { amount: 1, operator: "*", gljCode: null, coeType: "定额" },
  401. { amount: 1, operator: "*", gljCode: null, coeType: "人工" },
  402. { amount: 1, operator: "*", gljCode: null, coeType: "材料" },
  403. { amount: 1, operator: "*", gljCode: null, coeType: "施工机具" },
  404. { amount: 1, operator: "*", gljCode: null, coeType: "主材" },
  405. { amount: 1, operator: "*", gljCode: null, coeType: "设备" },
  406. ];
  407. }
  408. if (typeof gljCol !== "undefined") {
  409. gljCol.showPurchaseFeeRate = true;
  410. }