Xiaopeng Zhang 5 месяцев назад
Родитель
Сommit
01bfd35e43
3 измененных файлов с 83 добавлено и 5 удалено
  1. 6 2
      src/App2.js
  2. 26 0
      src/Service.js
  3. 51 3
      src/utils.js

+ 6 - 2
src/App2.js

@@ -261,8 +261,12 @@ import Tooltip from '@mui/material/Tooltip';
     const handleSuanshi = () => {
     const handleSuanshi = () => {
       //console.log(acinputvalue);
       //console.log(acinputvalue);
       if (/^[A-Z0-9\.\-\[\]\+\*\(\)盐常镇泰补扬南通苏新市附录]+$/.test(acinputvalue)) {
       if (/^[A-Z0-9\.\-\[\]\+\*\(\)盐常镇泰补扬南通苏新市附录]+$/.test(acinputvalue)) {
-        //console.log();
-        
+        if (acinputvalue.includes("-F")) {
+          setSuanshiError(true);
+          setHelperText('套安装费用请使用左侧定额树');
+          console.log("error");
+          return;
+        }
         Service.generateSingleDingeXilie(zhuanye2, acinputvalue).then(x=>{
         Service.generateSingleDingeXilie(zhuanye2, acinputvalue).then(x=>{
           let res = JSON.parse(x);
           let res = JSON.parse(x);
           let id = res['reverse'];
           let id = res['reverse'];

+ 26 - 0
src/Service.js

@@ -1249,6 +1249,32 @@ async generateQingdanTuijian(name, bh, bt, bm) {
                        qd["_children"][i]['利润'] = (added_rgf) * Number(this.qufeiEntry['利润(%)']) / Number(100);
                        qd["_children"][i]['利润'] = (added_rgf) * Number(this.qufeiEntry['利润(%)']) / Number(100);
                    }
                    }
                    
                    
+                   qd["_children"][i]['综合单价'] = qd["_children"][i]['人工费'] + qd["_children"][i]['材料费'] + qd["_children"][i]['机械费'] + qd["_children"][i]['管理费'] +  qd["_children"][i]['利润'];
+                   qd["_children"][i]['合价'] = qd["_children"][i]['综合单价'] * Number(qd["_children"][i]['数量']);
+                   let dercj = qd["_children"][i]['dercj'];
+                   for (let j = 1; j < dercj.length; j++) {
+                       dercj[j][11] = Number(qd['_children'][i]['综合单价']) * Number(dercj[j][10]) / Number(100);
+                   }
+                }
+                if (tag[0] == '人工费+机械费') {
+                   let current_rgf = qd['人工费'] + qd['机械费'];
+                   let added = Number(current_rgf) * Number(tag[1]) / Number(100);
+                   let added_rgf = added * Number(tag[2]) / Number(100);
+                   let added_clf = added * Number(tag[3]) / Number(100);
+                   let added_jxf = added * Number(tag[4]) / Number(100);
+                   qd["_children"][i]['人工费'] = added_rgf;
+                   qd["_children"][i]['辅材费'] = added_clf;
+                   qd["_children"][i]['材料费'] = added_clf;
+                   qd["_children"][i]['机械费'] = added_jxf;
+                   if (this.qufeiEntry['备注'].length == 0) {
+                       //changuiqufei
+                       qd["_children"][i]['管理费'] = (added_rgf + added_jxf) * Number(this.qufeiEntry['管理费(%)']) / Number(100);
+                       qd["_children"][i]['利润'] = (added_rgf + added_jxf) * Number(this.qufeiEntry['利润(%)']) / Number(100);
+                   } else {
+                       qd["_children"][i]['管理费'] = (added_rgf) * Number(this.qufeiEntry['管理费(%)']) / Number(100);
+                       qd["_children"][i]['利润'] = (added_rgf) * Number(this.qufeiEntry['利润(%)']) / Number(100);
+                   }
+                   
                    qd["_children"][i]['综合单价'] = qd["_children"][i]['人工费'] + qd["_children"][i]['材料费'] + qd["_children"][i]['机械费'] + qd["_children"][i]['管理费'] +  qd["_children"][i]['利润'];
                    qd["_children"][i]['综合单价'] = qd["_children"][i]['人工费'] + qd["_children"][i]['材料费'] + qd["_children"][i]['机械费'] + qd["_children"][i]['管理费'] +  qd["_children"][i]['利润'];
                    qd["_children"][i]['合价'] = qd["_children"][i]['综合单价'] * Number(qd["_children"][i]['数量']);
                    qd["_children"][i]['合价'] = qd["_children"][i]['综合单价'] * Number(qd["_children"][i]['数量']);
                    let dercj = qd["_children"][i]['dercj'];
                    let dercj = qd["_children"][i]['dercj'];

+ 51 - 3
src/utils.js

@@ -125,17 +125,54 @@ export const match_target = (input ,target) => {
 
 
 const predef = {
 const predef = {
     "rate": [
     "rate": [
-    [['人工费',10,25,75,0],['人工费',5,25,75,0],['人工费',5,25,75,0],['人工费',10,25,75,0],['人工费',4,25,75,0],['人工费',4,25,75,0],['人工费',4,25,75,0],['人工费',3,25,75,0],['人工费',7,25,75,0],['人工费',5,25,75,0],['人工费',5,25,75,0],['人工费',8,25,75,0],['人工费',12,25,75,0],['人工费',20,25,75,0],['人工费',8,25,75,0], ['人工费',12,25,75,0]]
+    [['人工费',10,25,75,0],['人工费',5,25,75,0],['人工费',5,25,75,0],['人工费',10,25,75,0],['人工费',4,25,75,0],['人工费',4,25,75,0],['人工费',4,25,75,0],['人工费',3,25,75,0],['人工费',7,25,75,0],['人工费',5,25,75,0],['人工费',5,25,75,0],['人工费',8,25,75,0],['人工费',12,25,75,0],['人工费',20,25,75,0],['人工费',8,25,75,0], ['人工费',12,25,75,0]],
+    [
+     ['人工费+机械费', 25, 50, 0, 50],['人工费+机械费', 35, 50, 0, 50],['人工费+机械费', 45, 50, 0, 50],['人工费+机械费', 55, 50, 0, 50],['人工费+机械费', 70, 50, 0, 50],['人工费+机械费', 90, 50, 0, 50], ['人工费+机械费', 25, 50, 0, 50], ['人工费+机械费', 35, 50, 0, 50],['人工费+机械费', 45, 50, 0, 50],['人工费+机械费', 55, 50, 0, 50],['人工费+机械费', 70, 50, 0, 50],['人工费+机械费', 90, 50, 0, 50],['人工费', 33, 100, 0, 0],['人工费', 25, 100, 0, 0],['人工费', 40, 100, 0, 0],['人工费', 60, 100, 0, 0],['人工费', 15, 100, 0, 0],['人工费', 10, 100, 0, 0],['人工费', 15, 100, 0, 0],['人工费', 20, 100, 0, 0],['人工费', 25, 100, 0, 0],['人工费', 10, 100, 0, 0],['人工费', 15, 100, 0, 0],['人工费', 20, 100, 0, 0],['人工费', 25, 100, 0, 0],['人工费+机械费', 30, 50, 0, 50],['人工费+机械费', 40, 50, 0, 50],['人工费+机械费', 50, 50, 0, 50],['人工费+机械费', 60, 50, 0, 50],['人工费+机械费', 70, 50, 0, 50],['人工费+机械费', 80, 50, 0, 50],['人工费+机械费', 90, 50, 0, 50],['人工费+机械费', 100, 50, 0, 50]
+    ],
     ],
     ],
     "GCLMC": [
     "GCLMC": [
      ["第二册第1-5章(定额2-1~2-390)", "第二册第6章(定额2-391~2-9999)", "第三册静置设备制作(定额3-1~3-615)",
      ["第二册第1-5章(定额2-1~2-390)", "第二册第6章(定额2-391~2-9999)", "第三册静置设备制作(定额3-1~3-615)",
                             "第三册除静置设备制作以外(定额3-616~3-9999)", "第四册", 
                             "第三册除静置设备制作以外(定额3-616~3-9999)", "第四册", 
                             "第五册", "第六册", "第七册", "第八册", "第九册", "第十册",
                             "第五册", "第六册", "第七册", "第八册", "第九册", "第十册",
                               "第十一册刷油工程(定额11-51~11-329)", 
                               "第十一册刷油工程(定额11-51~11-329)", 
-                              "第十一册防腐蚀工程(定额11-330~11-1689)", "第十一册绝热工程(定额11-1690~11-2327)", "第十一册除锈工程(定额11-1~11-50)刷油工程", "第十一册除锈工程(定额11-1~11-50)防腐蚀工程"]
+                              "第十一册防腐蚀工程(定额11-330~11-1689)", "第十一册绝热工程(定额11-1690~11-2327)", "第十一册除锈工程(定额11-1~11-50)刷油工程", "第十一册除锈工程(定额11-1~11-50)防腐蚀工程"],
+    ["第一册第1-6章(定额1-1~1-571)10-15m",
+                           "第一册第1-6章(定额1-1~1-571)15-20m",
+                           "第一册第1-6章(定额1-1~1-571)20-25m",
+                           "第一册第1-6章(定额1-1~1-571)25-30m",
+                           "第一册第1-6章(定额1-1~1-571)30-40m",
+                           "第一册第1-6章(定额1-1~1-571)40m以上",
+                           "第一册第8-14章(定额1-672~1-9999)10-15m",
+                           "第一册第8-14章(定额1-672~1-9999)15-20m",
+                           "第一册第8-14章(定额1-672~1-9999)20-25m",
+                           "第一册第8-14章(定额1-672~1-9999)25-30m",
+                           "第一册第8-14章(定额1-672~1-9999)30-40m",
+                           "第一册第8-14章(定额1-672~1-9999)40m以上",
+                           "第四册",
+                           "第五册5m以上到10m以内", 
+                           "第五册10-20m", 
+                           "第五册20m以上", 
+                           "第六册", "第七册", 
+                           "第九册5m以上到8m以内",
+                            "第九册8-12m",
+                            "第九册12-16m",
+                            "第九册16-20m",
+                            "第十册3.6-8m以内",
+                            "第十册8-12m以内",
+                            "第十册12-16m以内",
+                            "第十册16-20m",
+                           "第十一册6-20m",
+                           "第十一册20-30m",
+                           "第十一册30-40m",
+                           "第十一册40-50m",
+                           "第十一册50-60m",
+                           "第十一册60-70m",
+                           "第十一册80m以上",
+                           ],
     ],
     ],
     "sm": [
     "sm": [
-     ["第1-5章取人工费*10%,其中工资占25%,材料占75%", "第6章取人工费*5%,其中工资占25%,材料占75%", "静置设备制作取人工费*5%,其中工资占25%,材料占75%", "除静置设备制作以外的取人工费*10%,其中工资占25%,材料占75%", "取人工费*4%,其中工资占25%,材料占75%.10kv以下架空线路除外", "按单位工程人工费*4%计算,其中工资占25%", "取人工费*4%,其中工资占25%", "取人工费*3%,其中工资占25%,材料占75%", "取人工费*7%,其中工资占25%,注意单独承担的麦迪管道工程,不计取脚手架费用", "取人工费*5%,其中工资占25%", "取人工费*5%,其中工资占25%,材料占75%", "刷油工程取人工费*8%,其中工资占25%,材料占75%", "防腐蚀工程取人工费*12%,其中工资占25%,材料占75%", "绝热工程取人工费*20%,其中工资占25%,材料占75%", "刷油工程取人工费的8%,其中人工工资占25%", "防腐蚀工程取人工费的12%,其中人工工资占25%"]
+     ["第1-5章取人工费*10%,其中工资占25%,材料占75%", "第6章取人工费*5%,其中工资占25%,材料占75%", "静置设备制作取人工费*5%,其中工资占25%,材料占75%", "除静置设备制作以外的取人工费*10%,其中工资占25%,材料占75%", "取人工费*4%,其中工资占25%,材料占75%.10kv以下架空线路除外", "按单位工程人工费*4%计算,其中工资占25%", "取人工费*4%,其中工资占25%", "取人工费*3%,其中工资占25%,材料占75%", "取人工费*7%,其中工资占25%,注意单独承担的麦迪管道工程,不计取脚手架费用", "取人工费*5%,其中工资占25%", "取人工费*5%,其中工资占25%,材料占75%", "刷油工程取人工费*8%,其中工资占25%,材料占75%", "防腐蚀工程取人工费*12%,其中工资占25%,材料占75%", "绝热工程取人工费*20%,其中工资占25%,材料占75%", "刷油工程取人工费的8%,其中人工工资占25%", "防腐蚀工程取人工费的12%,其中人工工资占25%"],
+     [ "取人工费+机械费的25%", "取人工费+机械费的35%", "取人工费+机械费的45%", "取人工费+机械费的55%", "取人工费+机械费的70%", "取人工费+机械费的90%", "取人工费+机械费的25%", "取人工费+机械费的35%", "取人工费+机械费的45%", "取人工费+机械费的55%", "取人工费+机械费的70%", "取人工费+机械费的90%", "按人工费的33%.操作物高度离楼地面5m以上,20m以下的电器安装工程,已考虑超高因素的定额项目除外", "按人工费*25%计算", "按40%计算", "按60%计算" , "当操作高度距离楼地面6.00m以上按人工费*15%计算" , "按人工费*10%计算", "按15%计算", "按20%计算", "按25%计算", "按人工费*10%计算", "按人工费*15%计算", "按人工费*20%计算","按人工费*25%计算", "取人工费+机械费的30%", "取人工费+机械费的40%","取人工费+机械费的50%","取人工费+机械费的60%","取人工费+机械费的70%","取人工费+机械费的80%","取人工费+机械费的90%","取人工费+机械费的100%"]
     ]
     ]
 };
 };
 export const azfy = (debh, gclmc) => {
 export const azfy = (debh, gclmc) => {
@@ -151,6 +188,17 @@ export const azfy = (debh, gclmc) => {
             result['azfytag'] = rate;
             result['azfytag'] = rate;
             return result;
             return result;
        }
        }
+       if (debh.includes("-F2")) {
+            let index = predef['GCLMC'][1].indexOf(gclmc);
+            let rate = predef['rate'][1][index];
+            let result = {};
+            result['rgde'] = [{'CLBH': '0000FE', 'CLMC': '人工费', 'JLDW': '%', 'YSJG': '0', 'gr': rate[2],'gf': '0' }];
+            result['clde'] = [{'CLBH': '1000FE', 'CLMC': '材料费', 'JLDW': '%', 'YSJG': '0', 'SL': rate[3],'HJ': '0' }];
+            result['jxde'] = [{'jxbh': 'J000FE', 'jxmc': '机械费', 'DW': '%', 'tbdj': '0', 'sl': rate[4], 'hj': '0' }];
+            result['sm'] = predef['sm'][1][index];
+            result['azfytag'] = rate;
+            return result;
+       }
     } else {
     } else {
         return null;
         return null;
     }
     }