jiangxi_2017.js 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398
  1. /**
  2. * Created by CSL on 2018/11/12. 江西计算程序、基数 等覆盖。
  3. */
  4. let isJX2017 = true;
  5. // 一般计税取不含税市场价、不含税定额价。简易计税取含税市场价、含税定额价。打开项目时,4个价格根据计税类型只载入其二,所以这里可不作区分。
  6. function overwriteRationCalcBases (taxType){
  7. if (typeof rationCalcBases == 'undefined') return;
  8. for (let key in rationCalcBases) delete rationCalcBases[key];
  9. // let isJY = taxType == '2';
  10. rationCalcBases['人工费'] = function (node, isTender) {
  11. return calcTools.rationBaseFee(node, [gljType.LABOUR], priceTypes.ptMarketPrice, isTender);
  12. };
  13. rationCalcBases['定额人工费'] = function (node, isTender) {
  14. return calcTools.rationBaseFee(node, [gljType.LABOUR], priceTypes.ptBasePrice, 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, baseMachineTypes, priceTypes.ptBasePrice, isTender);
  24. };
  25. rationCalcBases['主材费'] = function (node, isTender) {
  26. return calcTools.rationBaseFee(node, [gljType.MAIN_MATERIAL], priceTypes.ptMarketPrice, isTender);
  27. };
  28. rationCalcBases['设备费'] = function (node, isTender) {
  29. return calcTools.rationBaseFee(node, [gljType.EQUIPMENT], priceTypes.ptMarketPrice, isTender);
  30. };
  31. rationCalcBases['人工费价差'] = function (node, isTender) {
  32. return calcTools.rationBaseFee(node, [gljType.LABOUR], priceTypes.ptDiffPrice, isTender);
  33. };
  34. rationCalcBases['材料费价差'] = function (node, isTender) {
  35. return calcTools.rationBaseFee(node, baseMaterialTypes, priceTypes.ptDiffPrice, isTender);
  36. };
  37. rationCalcBases['机械费价差'] = function (node, isTender) {
  38. return calcTools.rationBaseFee(node, baseMachineTypes, priceTypes.ptDiffPrice, isTender);
  39. };
  40. rationCalcBases['主材费价差'] = function (node, isTender) {
  41. return calcTools.rationBaseFee(node, [gljType.MAIN_MATERIAL], priceTypes.ptDiffPrice, isTender);
  42. };
  43. rationCalcBases['设备费价差'] = function (node, isTender) {
  44. return calcTools.rationBaseFee(node, [gljType.EQUIPMENT], priceTypes.ptDiffPrice, isTender);
  45. };
  46. rationCalcBases['人工工日'] = function (node, isTender) {
  47. return calcTools.labourDays(node, isTender);
  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.partASupplyFee(node, '甲定机械费', isTender, false);
  72. };
  73. rationCalcBases['甲定主材费'] = function (node, isTender) {
  74. return calcTools.partASupplyFee(node, '甲定主材费', isTender, false);
  75. };
  76. rationCalcBases['甲定设备费'] = function (node, isTender) {
  77. return calcTools.partASupplyFee(node, '甲定设备费', isTender, false);
  78. };
  79. rationCalcBases['暂估材料费'] = function (node, isTender) {
  80. return calcTools.estimateFee(node, true, isTender);
  81. };
  82. rationCalcBases['分包人工费'] = function (node, isTender) {
  83. if (node.data.isSubcontract)
  84. return calcTools.rationBaseFee(node, [gljType.LABOUR], priceTypes.ptMarketPrice, isTender)
  85. else
  86. return 0;
  87. };
  88. rationCalcBases['分包材料费'] = function (node, isTender) {
  89. if (node.data.isSubcontract)
  90. return calcTools.rationBaseFee(node, baseMaterialTypes, priceTypes.ptMarketPrice, isTender)
  91. else
  92. return 0;
  93. };
  94. rationCalcBases['分包机械费'] = function (node, isTender) {
  95. if (node.data.isSubcontract)
  96. return calcTools.rationBaseFee(node, baseMachineTypes, priceTypes.ptMarketPrice, isTender)
  97. else
  98. return 0;
  99. };
  100. rationCalcBases['分包主材费'] = function (node, isTender) {
  101. if (node.data.isSubcontract)
  102. return calcTools.rationBaseFee(node, [gljType.MAIN_MATERIAL], priceTypes.ptMarketPrice, isTender)
  103. else
  104. return 0;
  105. };
  106. rationCalcBases['分包设备费'] = function (node, isTender) {
  107. if (node.data.isSubcontract)
  108. return calcTools.rationBaseFee(node, [gljType.EQUIPMENT], priceTypes.ptMarketPrice, isTender)
  109. else
  110. return 0;
  111. };
  112. rationCalcBases['分包人工工日'] = function (node, isTender) {
  113. if (node.data.isSubcontract)
  114. return calcTools.labourDays(node, isTender)
  115. else
  116. return 0;
  117. };
  118. };
  119. (function overwriteFeeTypes() {
  120. if (typeof cpFeeTypes == 'undefined') return;
  121. cpFeeTypes = [
  122. // {type: 'direct', name: '直接费'},
  123. {type: 'labour', name: '人工费'},
  124. {type: 'marketLabour', name: '市场价人工费'},
  125. {type: 'marketMaterial', name: '市场价材料费'},
  126. {type: 'machine', name: '机械费'},
  127. {type: 'marketMachine', name: '市场价机械费'},
  128. {type: 'mainMaterial', name: '主材费'},
  129. {type: 'equipment', name: '设备费'},
  130. {type: 'manage', name: '企业管理费'},
  131. {type: 'surtax', name: '附加税费'},
  132. {type: 'profit', name: '利润'},
  133. {type: 'safeMeasures', name: '安全文明施工措施费'},
  134. {type: 'environment', name: '安全文明环保费'},
  135. {type: 'tempFacility', name: '临时设施费'},
  136. {type: 'otherTotalMeasures', name: '其他总价措施费'},
  137. {type: 'dirtMeasures', name: '扬尘治理措施费'},
  138. {type: 'forceFee', name: '规费'},
  139. {type: 'tax', name: '税金'},
  140. {type: 'common', name: '工程造价'}
  141. ];
  142. })();
  143. //清单计算基数相关
  144. if(typeof baseFigureMap !== 'undefined'){
  145. baseFigureMap = {
  146. //与清单直接关联=======
  147. '分部分项工程费': {base: 'FBFXGCF', fixedFlag: fixedFlag.SUB_ENGINERRING, class: 'FBFX'},
  148. //'分部分项直接费': {base: 'FBFXZJF', fixedFlag: fixedFlag.SUB_ENGINERRING, class: 'FBFX'},
  149. '分部分项定额人工费': {base: 'FBFXDEJJRGF', fixedFlag: fixedFlag.SUB_ENGINERRING, class: 'FBFX'},
  150. '分部分项人工费': {base: 'FBFXRGF', fixedFlag: fixedFlag.SUB_ENGINERRING, class: 'FBFX'},
  151. '分部分项材料费': {base: 'FBFXCLF', fixedFlag: fixedFlag.SUB_ENGINERRING, class: 'FBFX'},
  152. '分部分项定额机械费': {base: 'FBFXDEJJJXF', fixedFlag: fixedFlag.SUB_ENGINERRING, class: 'FBFX'},
  153. '分部分项机械费': {base: 'FBFXJXF', fixedFlag: fixedFlag.SUB_ENGINERRING, class: 'FBFX'},
  154. '分部分项主材费': {base: 'FBFXZCF', fixedFlag: fixedFlag.SUB_ENGINERRING, class: 'FBFX'},
  155. '分部分项设备费': {base: 'FBFXSBF', fixedFlag: fixedFlag.SUB_ENGINERRING, class: 'FBFX'},
  156. '分部分项人工工日': {base: 'FBFXRGGR', fixedFlag: fixedFlag.SUB_ENGINERRING, class: 'FBFX'},
  157. '措施项目费': {base: 'CSXMF', fixedFlag: fixedFlag.MEASURE, class: 'CSXM'},
  158. '组织措施项目费': {base: 'ZZCSXMF', fixedFlag: fixedFlag.CONSTRUCTION_ORGANIZATION, class: 'CSXM'},
  159. '组织措施项目人工费': {base: 'ZZCSXMRGF', fixedFlag: fixedFlag.CONSTRUCTION_ORGANIZATION, class: 'CSXM'},
  160. '组织措施项目材料费': {base: 'ZZCSXMCLF', fixedFlag: fixedFlag.CONSTRUCTION_ORGANIZATION, class: 'CSXM'},
  161. '组织措施项目机械费': {base: 'ZZCSXMJXF', fixedFlag: fixedFlag.CONSTRUCTION_ORGANIZATION, class: 'CSXM'},
  162. '技术措施项目费': {base: 'JSCSXMF', fixedFlag: fixedFlag.CONSTRUCTION_TECH, class: 'CSXM'},
  163. '技术措施项目定额人工费': {base: 'JSCSXMDEJJRGF', fixedFlag: fixedFlag.CONSTRUCTION_TECH, class: 'CSXM'},
  164. '技术措施项目人工费': {base: 'JSCSXMRGF', fixedFlag: fixedFlag.CONSTRUCTION_TECH, class: 'CSXM'},
  165. '技术措施项目材料费': {base: 'JSCSXMCLF', fixedFlag: fixedFlag.CONSTRUCTION_TECH, class: 'CSXM'},
  166. '技术措施项目定额机械费': {base: 'JSCSXMDEJJJXF', fixedFlag: fixedFlag.CONSTRUCTION_TECH, class: 'CSXM'},
  167. '技术措施项目机械费': {base: 'JSCSXMJXF', fixedFlag: fixedFlag.CONSTRUCTION_TECH, class: 'CSXM'},
  168. '技术措施项目主材费': {base: 'JSCSXMZCF', fixedFlag: fixedFlag.CONSTRUCTION_TECH, class: 'CSXM'},
  169. '技术措施项目设备费': {base: 'JSCSXMSBF', fixedFlag: fixedFlag.CONSTRUCTION_TECH, class: 'CSXM'},
  170. '技术措施项目人工工日': {base: 'JSCSXMRGGR', fixedFlag: fixedFlag.CONSTRUCTION_TECH, class: 'CSXM'},
  171. '其他项目费': {base: 'QTXMF', fixedFlag: fixedFlag.OTHER, class: 'QTXM'},
  172. '规费': {base: 'GF', fixedFlag: fixedFlag.CHARGE, class: 'GF'},
  173. '税金': {base: 'SJ', fixedFlag: fixedFlag.TAX, class: 'SJ'},
  174. //不于清单直接关联==========
  175. '建筑面积': {base: 'JZMJ', class: 'FBFX'},
  176. '人材机价差': {base: 'RCJJC', class: 'RCJ'},
  177. '人工价差': {base: 'RGJC', class: 'RCJ'},
  178. '材料价差': {base: 'CLJC', class: 'RCJ'},
  179. '机械价差': {base: 'JXJC', class: 'RCJ'},
  180. '甲供人工费': {base: 'JGRGF', class: 'RCJ'},
  181. '甲供材料费': {base: 'JGCLF', class: 'RCJ'},
  182. '甲供机械费': {base: 'JGJXF', class: 'RCJ'},
  183. '甲供主材费': {base: 'JGZCF', class: 'RCJ'},
  184. '甲供设备费': {base: 'JGSBF', class: 'RCJ'},
  185. '甲定人工费': {base: 'JDRGF', class: 'RCJ'},
  186. '甲定材料费': {base: 'JDCLF', class: 'RCJ'},
  187. '甲定机械费': {base: 'JDJXF', class: 'RCJ'},
  188. '甲定主材费': {base: 'JDZCF', class: 'RCJ'},
  189. '甲定设备费': {base: 'JDSBF', class: 'RCJ'},
  190. '暂估材料费(从子目汇总)': {base: 'ZGCLFFZM', class: 'RCJ'},
  191. '分包费': {base: 'FBF', class: 'FBF'},
  192. '分包人工费': {base: 'FBRGF', class: 'FBF'},
  193. '分包材料费': {base: 'FBCLF', class: 'FBF'},
  194. '分包机械费': {base: 'FBJXF', class: 'FBF'},
  195. '分包主材费': {base: 'FBZCF', class: 'FBF'},
  196. '分包设备费': {base: 'FBSBF', class: 'FBF'},
  197. '分包人工工日': {base: 'FBRGGR', class: 'FBF'},
  198. '估价项目定额人工费': {base: 'GJXMDERGF', class: 'GJXM'},
  199. '估价项目定额机械费': {base: 'GJXMDEJXF', class: 'GJXM'},
  200. //'估价项目直接费': {base: 'GJXMZJF', class: 'GJXM'},
  201. '估价项目人工费': {base: 'GJXMRGF', class: 'GJXM'},
  202. '估价项目材料费': {base: 'GJXMCLF', class: 'GJXM'},
  203. '估价项目机械费': {base: 'GJXMJXF', class: 'GJXM'},
  204. '估价项目主材费': {base: 'GJXMZCF', class: 'GJXM'},
  205. '估价项目工日': {base: 'GJXMGR', class: 'GJXM'},
  206. };
  207. }
  208. if(typeof baseFigureTemplate !== 'undefined'){
  209. baseFigureTemplate['FBFXRGF'] = function (tender) {//分部分项人工费(市场人工费)
  210. let feeField = 'marketLabour',
  211. subFeeField = tender ? 'tenderTotalFee' : 'totalFee';
  212. return cbTools.getBillsFee(fixedFlag.SUB_ENGINERRING, feeField, subFeeField);
  213. };
  214. baseFigureTemplate['FBFXCLF'] = function (tender) {//分部分项材料费(市场材料费)
  215. let feeField = 'marketMaterial',
  216. subFeeField = tender ? 'tenderTotalFee' : 'totalFee';
  217. return cbTools.getBillsFee(fixedFlag.SUB_ENGINERRING, feeField, subFeeField);
  218. };
  219. baseFigureTemplate['FBFXJXF'] = function (tender) {//分部分项机械费(市场机械费)
  220. let feeField = 'marketMachine',
  221. subFeeField = tender ? 'tenderTotalFee' : 'totalFee';
  222. return cbTools.getBillsFee(fixedFlag.SUB_ENGINERRING, feeField, subFeeField);
  223. };
  224. baseFigureTemplate['ZZCSXMRGF'] = function (tender) {//组织措施项目人工费(市场人工费)
  225. let feeField = 'marketLabour',
  226. subFeeField = tender ? 'tenderTotalFee' : 'totalFee';
  227. return cbTools.getBillsFee(fixedFlag.CONSTRUCTION_ORGANIZATION, feeField, subFeeField);
  228. };
  229. baseFigureTemplate['ZZCSXMCLF'] = function (tender) {//组织措施项目材料费(市场材料费)
  230. let feeField = 'marketMaterial',
  231. subFeeField = tender ? 'tenderTotalFee' : 'totalFee';
  232. return cbTools.getBillsFee(fixedFlag.CONSTRUCTION_ORGANIZATION, feeField, subFeeField);
  233. };
  234. baseFigureTemplate['ZZCSXMJXF'] = function (tender) {//组织措施项目机械费(市场机械费)
  235. let feeField = 'marketMachine',
  236. subFeeField = tender ? 'tenderTotalFee' : 'totalFee';
  237. return cbTools.getBillsFee(fixedFlag.CONSTRUCTION_ORGANIZATION, feeField, subFeeField);
  238. };
  239. baseFigureTemplate['JSCSXMRGF'] = function (tender) {//技术措施项目人工费(市场人工费)
  240. let feeField = 'marketLabour',
  241. subFeeField = tender ? 'tenderTotalFee' : 'totalFee';
  242. return cbTools.getBillsFee(fixedFlag.CONSTRUCTION_TECH, feeField, subFeeField);
  243. };
  244. baseFigureTemplate['JSCSXMCLF'] = function (tender) {//技术措施项目材料费(市场材料费)
  245. let feeField = 'marketMaterial',
  246. subFeeField = tender ? 'tenderTotalFee' : 'totalFee';
  247. return cbTools.getBillsFee(fixedFlag.CONSTRUCTION_TECH, feeField, subFeeField);
  248. };
  249. baseFigureTemplate['JSCSXMJXF'] = function (tender) {//技术措施项目机械费(市场机械费)
  250. let feeField = 'marketMachine',
  251. subFeeField = tender ? 'tenderTotalFee' : 'totalFee';
  252. return cbTools.getBillsFee(fixedFlag.CONSTRUCTION_TECH, feeField, subFeeField);
  253. };
  254. baseFigureTemplate['FBRGF'] = function (tender) {//分包人工费(市场人工费)
  255. const totalFeeType = tender ? 'tenderTotalFee' : 'totalFee';
  256. let rst = 0;
  257. let rations = calcBase.project.Ration.datas;
  258. for(let ration of rations){
  259. if(ration.isSubcontract && ration.feesIndex && ration.feesIndex.marketLabour){
  260. rst = parseFloat(rst + ration.feesIndex.marketLabour[totalFeeType]).toDecimal(decimalObj.ration.totalPrice)
  261. }
  262. }
  263. return rst;
  264. };
  265. baseFigureTemplate['FBCLF'] = function (tender) {//分包材料费(市场材料费)
  266. const totalFeeType = tender ? 'tenderTotalFee' : 'totalFee';
  267. let rst = 0;
  268. let rations = calcBase.project.Ration.datas;
  269. for(let ration of rations){
  270. if(ration.isSubcontract && ration.feesIndex && ration.feesIndex.marketMaterial){
  271. rst = parseFloat(rst + ration.feesIndex.marketMaterial[totalFeeType]).toDecimal(decimalObj.ration.totalPrice)
  272. }
  273. }
  274. return rst;
  275. };
  276. baseFigureTemplate['FBJXF'] = function (tender) {//分包机械费(市场机械费)
  277. const totalFeeType = tender ? 'tenderTotalFee' : 'totalFee';
  278. let rst = 0;
  279. let rations = calcBase.project.Ration.datas;
  280. for(let ration of rations){
  281. if(ration.isSubcontract && ration.feesIndex && ration.feesIndex.marketMachine){
  282. rst = parseFloat(rst + ration.feesIndex.marketMachine[totalFeeType]).toDecimal(decimalObj.ration.totalPrice)
  283. }
  284. }
  285. return rst;
  286. };
  287. baseFigureTemplate['GJXMDERGF'] = function (tender) {//估计项目定额人工费
  288. const totalFeeType = tender ? 'tenderTotalFee' : 'totalFee';
  289. let rst = 0;
  290. let rations = calcBase.project.Ration.datas;
  291. for(let ration of rations){
  292. if(ration.evaluationProject && ration.feesIndex && ration.feesIndex.labour){
  293. rst = parseFloat(rst + ration.feesIndex.labour[totalFeeType]).toDecimal(decimalObj.ration.totalPrice)
  294. }
  295. }
  296. return rst;
  297. };
  298. baseFigureTemplate['GJXMDEJXF'] = function (tender) {//估计项目定额机械费
  299. const totalFeeType = tender ? 'tenderTotalFee' : 'totalFee';
  300. let rst = 0;
  301. let rations = calcBase.project.Ration.datas;
  302. for(let ration of rations){
  303. if(ration.evaluationProject && ration.feesIndex && ration.feesIndex.machine){
  304. rst = parseFloat(rst + ration.feesIndex.machine[totalFeeType]).toDecimal(decimalObj.ration.totalPrice)
  305. }
  306. }
  307. return rst;
  308. };
  309. baseFigureTemplate['GJXMRGF'] = function (tender) {//估计项目人工费(市场人工费)
  310. const totalFeeType = tender ? 'tenderTotalFee' : 'totalFee';
  311. let rst = 0;
  312. let rations = calcBase.project.Ration.datas;
  313. for(let ration of rations){
  314. if(ration.evaluationProject && ration.feesIndex && ration.feesIndex.marketLabour){
  315. rst = parseFloat(rst + ration.feesIndex.marketLabour[totalFeeType]).toDecimal(decimalObj.ration.totalPrice)
  316. }
  317. }
  318. return rst;
  319. };
  320. baseFigureTemplate['GJXMCLF'] = function (tender) {//估计项目材料费(市场材料费)
  321. const totalFeeType = tender ? 'tenderTotalFee' : 'totalFee';
  322. let rst = 0;
  323. let rations = calcBase.project.Ration.datas;
  324. for(let ration of rations){
  325. if(ration.evaluationProject && ration.feesIndex && ration.feesIndex.marketMaterial){
  326. rst = parseFloat(rst + ration.feesIndex.marketMaterial[totalFeeType]).toDecimal(decimalObj.ration.totalPrice)
  327. }
  328. }
  329. return rst;
  330. };
  331. baseFigureTemplate['GJXMJXF'] = function (tender) {//估计项目机械费(市场机械费)
  332. const totalFeeType = tender ? 'tenderTotalFee' : 'totalFee';
  333. let rst = 0;
  334. let rations = calcBase.project.Ration.datas;
  335. for(let ration of rations){
  336. if(ration.evaluationProject && ration.feesIndex && ration.feesIndex.marketMachine){
  337. rst = parseFloat(rst + ration.feesIndex.marketMachine[totalFeeType]).toDecimal(decimalObj.ration.totalPrice)
  338. }
  339. }
  340. return rst;
  341. };
  342. baseFigureTemplate['GJXMZCF'] = function (tender) {//估计项目主材费
  343. const totalFeeType = tender ? 'tenderTotalFee' : 'totalFee';
  344. let rst = 0;
  345. let rations = calcBase.project.Ration.datas;
  346. for(let ration of rations){
  347. if(ration.evaluationProject && ration.feesIndex && ration.feesIndex.mainMaterial){
  348. rst = parseFloat(rst + ration.feesIndex.mainMaterial[totalFeeType]).toDecimal(decimalObj.ration.totalPrice)
  349. }
  350. }
  351. return rst;
  352. };
  353. baseFigureTemplate['GJXMGR'] = function (tender) {//估计项目工日
  354. const quantityType = tender ? 'tenderQuantity' : 'quantity';
  355. let rst = 0;
  356. let rations = calcBase.project.Ration.datas;
  357. let rationGljs = calcBase.project.ration_glj.datas;
  358. for (let ration of rations) {
  359. if (ration.evaluationProject && ration.type === rationType.ration) {
  360. for(let glj of rationGljs){
  361. if(ration.ID === glj.rationID && glj.type === gljType.LABOUR){
  362. rst = parseFloat(rst + parseFloat(glj[quantityType] * ration[quantityType]).toDecimal(decimalObj.glj.quantity)).toDecimal(decimalObj.glj.quantity);
  363. }
  364. }
  365. }
  366. }
  367. return rst;
  368. };
  369. }
  370. //增加清单基数分类估价项目、去除分类税前工程造价
  371. if(typeof $ !== 'undefined' && $('#cbClassList')){
  372. $('#cbClassList').find('li:eq(8)').remove();
  373. let $li = $('<li class="py-1"><a id="cb_GJXM" href="javascript:void(0);">估价项目</a></li>');
  374. $li.insertAfter($('#cbClassList').find('li:eq(4)'));
  375. }
  376. if (typeof calcBaseView !== 'undefined') {
  377. calcBaseView.billsCBClass = {ALL: [], FBFX: [], CSXM: [], QTXM: [], FBF: [], RCJ: [], GF: [], SJ: [], GJXM: []};
  378. }
  379. // (江西)项目属性-关于计算中的取费方式默认勾选子目单价取费(反算)方式。
  380. // 根据重写去给项目的billsCalcMode赋值比这种形式麻烦
  381. if (typeof leafBillGetFeeType !== 'undefined') {
  382. leafBillGetFeeType = {
  383. rationPriceConverse: 0,
  384. rationContent: 1,
  385. rationPrice: 2,
  386. billsPrice: 3
  387. };
  388. }