Xiaopeng Zhang 5 месяцев назад
Родитель
Сommit
59eaf630c0
3 измененных файлов с 72 добавлено и 2 удалено
  1. 31 2
      front/src/Qingdan3.js
  2. 36 0
      front/src/Service.js
  3. 5 0
      front/src/editor.js

+ 31 - 2
front/src/Qingdan3.js

@@ -12,7 +12,7 @@ import Service from './Service';
 import Button from '@mui/material/Button';
 import ButtonGroup from '@mui/material/ButtonGroup';
 import {extractFuzhu} from './utils';
-import {shanchu, undo, redo, danxiangdinge, updateDercj, changguidinge, handleBeizhu, huan, updateShuliang, handleYuban} from './editor';
+import {shanchu, undo, redo, danxiangdinge, updateDercj, changguidinge, handleBeizhu, huan, updateShuliang, handleYuban, updateDeMingcheng} from './editor';
 import Backdrop from '@mui/material/Backdrop';
 import CircularProgress from '@mui/material/CircularProgress';
 import { DataGrid } from '@mui/x-data-grid';
@@ -420,7 +420,7 @@ export default function Qingdan3({name, bh, bt, rgde, jxde, clde, beizhu/*后台
              columns: [ //Define Table Columns
                           {title:"序号", field:"序号", width:80, headerSort:false, frozen: true}, //never hide this column
                           {title:"清单编码", field:"清单编码", width:120,headerSort:false, frozen: true ,formatter:"textarea" },
-                          {title:"名称", field:"名称", width:150, headerSort:false, formatter:"textarea"}, //hide this column first
+                          {title:"名称", field:"名称", width:150, headerSort:false, formatter:"textarea", editor: "input", editable: editCheck}, //hide this column first
                           {title:"项目特征", field:"项目特征", width:150 , headerSort:false, formatter:"textarea"},
                           {title:"计算规则", field:"计算规则", width:150, headerSort:false, formatter:"textarea"},
                           {title:"单位", field:"单位", width:100, headerSort:false},
@@ -454,6 +454,34 @@ export default function Qingdan3({name, bh, bt, rgde, jxde, clde, beizhu/*后台
                //console.log();
                let key = cell._cell.row.data['key'];
                myTable.current.deselectRow();
+               if(cell._cell.column.field == '名称') {
+                    let newData = updateDeMingcheng(cell._cell.row.data['名称'], selectedRowKeysTable.current[0]);
+                    myTable.current.updateData(newData.filter(x=>x['key'] == selectedRowKeysTableParent.current)).then(function() {
+                         let getRow = myTable.current.getRows(); //get array of currently selected row components.
+                         let component = null;
+                         for(let i = 0; i < getRow.length; i++) {
+                              let entry = getRow[i]._row.modules.dataTree.children;
+                              for(let j = 0; j < entry.length; j++) {
+                                   let child = entry[j];
+                                   if(child.data['key'] == key) {
+                                        //console.log(child);
+                                        component = child.component;
+                                        break;
+                                   }
+                                   
+                              }
+
+                         }
+                         component.select();
+                         handleSelect(component);
+                         //handleSelect(getRow[0]);
+                      });                
+               }
+
+               else{
+
+               
+               
                let [success, data] = updateShuliang(cell._cell.row.data['数量'], selectedRowKeysTable.current[0]);
                if (success) {
                                 myTable.current.updateData(data.filter(x=>x['key'] == selectedRowKeysTableParent.current)).then(function() {
@@ -478,6 +506,7 @@ export default function Qingdan3({name, bh, bt, rgde, jxde, clde, beizhu/*后台
                                 });                            
                                                             
                }
+          }
            });
      
      

+ 36 - 0
front/src/Service.js

@@ -1649,6 +1649,16 @@ async generateQingdanTuijian(name, bh, bt, bm) {
             data = de['dercj'];
         }
         data = data.filter(x=>x[1] != 'S00001' && x[1] != 'JD0001');
+        for (let i = 1; i < data.length; i++) {
+            if (data[i][2].includes('(湿拌砂浆)')) {
+                let index = data[i][2].indexOf("(湿拌砂浆)");
+                data[i][2] = data[i][2].substring(0, index);
+            }
+            if (data[i][2].includes('(干拌(混)砂浆)')) {
+                let index = data[i][2].indexOf("(干拌(混)砂浆)");
+                data[i][2] = data[i][2].substring(0, index);
+            }
+        }
         de['dercj'] = copy(data);
 
         if (de.hasOwnProperty("rcjdg") && de['fuzhuEnable'] && yuban.length > 0) {//没强行改过含量
@@ -1956,6 +1966,32 @@ async generateQingdanTuijian(name, bh, bt, bm) {
 
 
 
+    }
+
+
+    updateDeMingcheng(value, row) {
+        let qd = this.cache.filter(x=>x["_children"].filter(y=>y['key']==row).length > 0)[0];
+        let de = qd["_children"].filter(x=>x['key'] == row)[0];
+        de['名称'] = value;
+
+        let newData = this.cache.map(x=>{
+            if (x['key'] == qd['key']) {
+                return qd;
+            } else {
+                return x;
+            }
+        });
+        let summarized = this.summarize(newData);
+        this.push_op(summarized);
+        /////////////////
+        this.cache = copy(summarized);
+        return copy(this.cache);
+
+
+
+
+
+
     }
 
 

+ 5 - 0
front/src/editor.js

@@ -82,6 +82,11 @@ export const updateShuliang = (data, row) => {
 
 };
 
+export const updateDeMingcheng = (data, row) => {
+    return Service.updateDeMingcheng(data, row);
+
+};
+
 export const updateShuliang_djcs = (data, row) => {
     return Service.updateShuliang_djcs(data, row);