Prechádzať zdrojové kódy

prepare for refactor of editor

Xiaopeng Zhang 4 mesiacov pred
rodič
commit
b67d0f0af5
5 zmenil súbory, kde vykonal 77 pridanie a 62 odobranie
  1. 1 1
      src/Bjhz.js
  2. 27 24
      src/Djcs3.js
  3. 8 8
      src/Service.js
  4. 33 27
      src/editor.js
  5. 8 2
      src/utils.js

+ 1 - 1
src/Bjhz.js

@@ -11,7 +11,7 @@ export default function Bjhz({data}) {
     React.useEffect(() => {
       myTable.current = new Tabulator(myRef.current, {
            index: "key",
-           height: 600,
+           height: 620,
          data: data, //link data to table
          reactiveData: false, //enable data reactivity
          dataTreeStartExpanded:true,

+ 27 - 24
src/Djcs3.js

@@ -41,7 +41,7 @@ export default function Djcs3({name, bh, rgde, jxde, clde, beizhu, beizhuFK, cli
           return true;
       }
 
-      var editCheckRcj = function(cell){
+     var editCheckRcj = function(cell){
           //cell - the cell component for the editable cell
       
           //get row data
@@ -63,7 +63,7 @@ export default function Djcs3({name, bh, rgde, jxde, clde, beizhu, beizhuFK, cli
       }
 
 
-      var editCheckJg = function(cell){
+     var editCheckJg = function(cell){
           //cell - the cell component for the editable cell
       
           //get row data
@@ -81,12 +81,15 @@ export default function Djcs3({name, bh, rgde, jxde, clde, beizhu, beizhuFK, cli
           if (cell._cell.row.getData()['甲供标志'] == 'true') {//
                return false;
           }
+          if (cell._cell.row.getData()['人材机编码'].includes('000FE')) {//安装费用
+               return false;
+          }
           return true;
       }
 
 
 
-      var sparklineFormatter = function(cell, formatterParams, onRendered){
+     var sparklineFormatter = function(cell, formatterParams, onRendered){
           for (let i = 0; i < highlight.current.length; i++) {
                let entry = highlight.current[i];
                if (entry.row + 1 == cell._cell.row.position && entry.col + 1 == cell._cell.column.getPosition()) {
@@ -98,7 +101,7 @@ export default function Djcs3({name, bh, rgde, jxde, clde, beizhu, beizhuFK, cli
               return Number(cell.getValue()).toFixed(2).toString(); 
           };
 
-          var sparklineFormatter2 = function(cell, formatterParams, onRendered){
+     var sparklineFormatter2 = function(cell, formatterParams, onRendered){
                for (let i = 0; i < highlight.current.length; i++) {
                     let entry = highlight.current[i];
                     if (entry.row + 1 == cell._cell.row.position && entry.col + 1 == cell._cell.column.getPosition()) {
@@ -170,8 +173,8 @@ export default function Djcs3({name, bh, rgde, jxde, clde, beizhu, beizhuFK, cli
                selectedRowKeysTableParent.current = row_parent['data']['key'];
 
 
-                             clickCallback(row_parent['data']['清单编码'], row._row['data']['清单编码'], row._row['data']['名称']);
-                             Service.generateDingercj(name, bh,bt,row_parent['data']['清单编码'], row._row['data']['清单编码'], row._row['data']['单位'], row._row['data']['key']).then(x=>{
+               clickCallback(row_parent['data']['清单编码'], row._row['data']['清单编码'], row._row['data']['名称']);
+               Service.generateDingercj(name, bh,bt,row_parent['data']['清单编码'], row._row['data']['清单编码'], row._row['data']['单位'], row._row['data']['key']).then(x=>{
                               let y =[];
                               for (let i = 1; i < x[0].length; i++) {
                                    y.push({
@@ -294,7 +297,7 @@ export default function Djcs3({name, bh, rgde, jxde, clde, beizhu, beizhuFK, cli
                                           let former = myTable.current.element.children[1].scrollTop;
                                           let former2 = myTable.current.element.children[1].scrollLeft;
                                           myTable.current.deselectRow();
-                                     myTable.current.updateData(newData.filter(x=>x['key'] == selectedRowKeysTableParent.current)).then(function(){
+                                          myTable.current.updateData(newData.filter(x=>x['key'] == selectedRowKeysTableParent.current)).then(function(){
 
                                             myTable.current.element.children[1].scrollTop = former;
                                             myTable.current.element.children[1].scrollLeft = former2;
@@ -356,6 +359,7 @@ export default function Djcs3({name, bh, rgde, jxde, clde, beizhu, beizhuFK, cli
     const debmRef = React.useRef(null);
     const selectedRowKeysTable = React.useRef([]);
     const selectedRowKeysTableParent = React.useRef(null);
+    ////beizhu table
     const [checked, setChecked] = React.useState(false);
     const [indeterminate, setIndeterminate] = React.useState(false);
     const [checkedKeys, setCheckedKeys] = React.useState([]);
@@ -373,6 +377,7 @@ export default function Djcs3({name, bh, rgde, jxde, clde, beizhu, beizhuFK, cli
      }
      onSelectChange(keys);
     };
+    /*initialization*/
     const setCheckedKeys_2 = (keys) => {
      setCheckedKeys(keys);
      if (keys.length == fuzhu.length) {
@@ -385,7 +390,7 @@ export default function Djcs3({name, bh, rgde, jxde, clde, beizhu, beizhuFK, cli
           setIndeterminate(true);
           setChecked(false);
      }
-     //onSelectChange(keys);
+     
     };
     const handleCheckAll = (value, checked) => {
      const keys = checked? fuzhu.map(item => item.id) : [];
@@ -437,9 +442,7 @@ export default function Djcs3({name, bh, rgde, jxde, clde, beizhu, beizhuFK, cli
         selectableRows:1, //make rows selectable
         editTriggerEvent:"dblclick", //trigger edit on double click
         dataTreeStartExpanded:function(row, level){
-            //console.log(row);
-            //console.log(level);
-            return true; //expand rows where the "driver" data field is true;
+            return true; 
         },
         columns: [ //Define Table Columns
                      {title:"序号", field:"序号", width:80, headerSort:false, frozen: true}, //never hide this column
@@ -527,11 +530,11 @@ export default function Djcs3({name, bh, rgde, jxde, clde, beizhu, beizhuFK, cli
 
    React.useEffect(
      () => {
-          console.log(dingeclick);
-          console.log(azfySelect);
+          //console.log(dingeclick);
+          //console.log(azfySelect);
           if (dingeclick != null && selectedRowKeysTable.current != null && azfy_djcs_eligible(selectedRowKeysTable.current[0])) {
                const [success, data, key] = azfy_djcs(selectedRowKeysTable.current[0], dingeclick, azfySelect);
-              myTable.current.deselectRow();
+               myTable.current.deselectRow();
                    
                                           let former = myTable.current.element.children[1].scrollTop;
                                           let former2 = myTable.current.element.children[1].scrollLeft;
@@ -555,7 +558,7 @@ export default function Djcs3({name, bh, rgde, jxde, clde, beizhu, beizhuFK, cli
                               }
                               
                               component.select();
-                              handleSelect(component);
+                              //handleSelect(component);
 
                                    
                                
@@ -568,7 +571,7 @@ export default function Djcs3({name, bh, rgde, jxde, clde, beizhu, beizhuFK, cli
  
     React.useEffect(
         () => {
-            console.log(beizhu);
+            //console.log(beizhu);
             let result = [];
             if (beizhu != null) { 
                 let keys = Object.keys(beizhu["BZBH"]);
@@ -602,7 +605,7 @@ export default function Djcs3({name, bh, rgde, jxde, clde, beizhu, beizhuFK, cli
                if (tuijianRef.current != null ) {
                tuijianTable.current = new Tabulator(tuijianRef.current, {
                     index: "key",
-                    height: 200,
+                    height: 180,
                   data: tuijian, //link data to table
                   reactiveData: false, //enable data reactivity
                   dataTreeStartExpanded:false,
@@ -627,7 +630,7 @@ export default function Djcs3({name, bh, rgde, jxde, clde, beizhu, beizhuFK, cli
                if (rcj2Ref.current != null ) {
                     rcj2Table.current = new Tabulator(rcj2Ref.current, {
                          index: "key",
-                         height: 200,
+                         height: 180,
                        data: rcjhl2, //link data to table
                        reactiveData: false, //enable data reactivity
                        dataTreeStartExpanded:false,
@@ -655,7 +658,7 @@ export default function Djcs3({name, bh, rgde, jxde, clde, beizhu, beizhuFK, cli
                if (rcjRef.current != null ) {
                          rcjTable.current = new Tabulator(rcjRef.current, {
                               index: "key",
-                              height: 200,
+                              height: 180,
                             data: rcjhl, //link data to table
                             reactiveData: false, //enable data reactivity
                             dataTreeStartExpanded:false,
@@ -670,7 +673,7 @@ export default function Djcs3({name, bh, rgde, jxde, clde, beizhu, beizhuFK, cli
                                          {title:"名称", field:"名称", width:120,headerSort:false,  formatter:"textarea", editor: "input", editable: editCheckRcj },
                                          {title:"规格型号", field:"规格型号", width:80, headerSort:false, editor: "input", editable: editCheckRcj },
                                          {title:"单位", field:"单位", width:80, headerSort:false, formatter:"textarea"}, //hide this column first
-                                         {title:"单价", field:"单价", width:80 , headerSort:false, formatter: sparklineFormatter, editor: "input", editable: editCheckRcj },
+                                         {title:"单价", field:"单价", width:80 , headerSort:false, formatter: sparklineFormatter, editor: "input", editable: editCheckJg },
                                          {title:"产地", field:"产地", width:80, headerSort:false, },
                                          {title:"供应厂商", field:"供应厂商", width:80, headerSort:false, },
                                          {title:"人材机类别", field:"人材机类别", width:120, headerSort:false, },
@@ -784,7 +787,7 @@ export default function Djcs3({name, bh, rgde, jxde, clde, beizhu, beizhuFK, cli
                               }
                               
                               component.select();
-                              handleSelect(component);
+                              //handleSelect(component);
 
                                    
                                
@@ -906,7 +909,7 @@ export default function Djcs3({name, bh, rgde, jxde, clde, beizhu, beizhuFK, cli
          };
  
       const onEditFinished = () => {
-           console.log("edit finidhed");
+           //console.log("edit finidhed");
            setEditingId(null);
            setEditingKey(null);
            onSelectChange(checkedKeys);
@@ -1105,7 +1108,7 @@ export default function Djcs3({name, bh, rgde, jxde, clde, beizhu, beizhuFK, cli
 
                        </TabPanel>
                        <TabPanel value="3">
-                       <Box sx={{maxHeight: `200px`, minHeight: `200px`, height: `200px`}}>
+                       <Box sx={{maxHeight: `180px`, minHeight: `180px`, height: `180px`}}>
                          <CustomProvider locale={zhCN}>
                          <EditableContext.Provider value={{ editingId, editingKey, onEdit, onEditFinished }}>
                          <style>{styles}</style>
@@ -1113,7 +1116,7 @@ export default function Djcs3({name, bh, rgde, jxde, clde, beizhu, beizhuFK, cli
                         <Table rowHeight={rowData=>{
                          return 40;
                         }}
-                        height={200} data = {fuzhu} id="fuzhu">
+                        height={180} data = {fuzhu} id="fuzhu">
                          <Column width={80} align="center">
                               <HeaderCell style={{padding: 0}}>
                                    <div style={{lineHeight: '40px'}}>

+ 8 - 8
src/Service.js

@@ -2509,17 +2509,17 @@ async generateQingdanTuijian(name, bh, bt, bm) {
                                 let id = uuidv4();
                                 children.push(id);
                                 dercj.push(['', child_data[j]['CLBH'], child_data[j]['CLMC'], '', child_data[j]['JLDW'], 
-                    child_data[j]['YSJG'], '', '', '2', 'false', child_data[j]['SL'], child_data[j]['HJ'],
-                    '', '', '', '', id, 'false','false', [parent], [] ]);
+                                   child_data[j]['YSJG'], '', '', '2', 'false', child_data[j]['SL'], child_data[j]['HJ'],
+                                   '', '', '', '', id, 'false','false', [parent], [] ]);
                             }
                             dercj.push(['', res['clde'][i]['CLBH'], res['clde'][i]['CLMC'], '', res['clde'][i]['JLDW'], 
-                    res['clde'][i]['YSJG'], '', '', '2', 'false', res['clde'][i]['SL'], res['clde'][i]['HJ'],
-                    '', '', '', '', parent, 'false','true', [], children ]);
+                                res['clde'][i]['YSJG'], '', '', '2', 'false', res['clde'][i]['SL'], res['clde'][i]['HJ'],
+                                '', '', '', '', parent, 'false','true', [], children ]);
 
                         } else {
-                        dercj.push(['', res['clde'][i]['CLBH'], res['clde'][i]['CLMC'], '', res['clde'][i]['JLDW'], 
-                    res['clde'][i]['YSJG'], '', '', '2', 'false', res['clde'][i]['SL'], res['clde'][i]['HJ'],
-                    '', '', '', '', uuidv4(), 'false','false', [], [] ]);
+                             dercj.push(['', res['clde'][i]['CLBH'], res['clde'][i]['CLMC'], '', res['clde'][i]['JLDW'], 
+                              res['clde'][i]['YSJG'], '', '', '2', 'false', res['clde'][i]['SL'], res['clde'][i]['HJ'],
+                              '', '', '', '', uuidv4(), 'false','false', [], [] ]);
                         }
                     }
                     
@@ -2533,7 +2533,7 @@ async generateQingdanTuijian(name, bh, bt, bm) {
                 if (!qd.hasOwnProperty('_children')) {
                     qd["_children"] = [];
                 }
-                let newdercj = copy(dercj).filter(x=>x[17]!='true').map(x=>[x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16], x[17]]);
+                let newdercj = copy(dercj).filter(x=>x[18]!='true').map(x=>[x[0], x[1], x[2], x[3], x[4], x[5], x[6], x[7], x[8], x[9], x[10], x[11], x[12], x[13], x[14], x[15], x[16], x[17]]);
                 qd["_children"].push({
                     '操作': '',
                     '序号': null,

+ 33 - 27
src/editor.js

@@ -57,20 +57,12 @@ export const danxiangdinge = (selectedRow) => {
     return Service.danxiangdinge(selectedRow);
 };
 
-export const danxiangdinge_djcs = (selectedRow) => {
-    return Service.danxiangdinge_djcs(selectedRow);
-};
 
 export const updateDercj = (row, data) => {
     return Service.updateDercj(row, data);
 
 };
 
-export const updateDercj_djcs = (row, data) => {
-    return Service.updateDercj_djcs(row, data);
-
-};
-
 
 export const huan = (replaceState, row) => {
    
@@ -88,10 +80,7 @@ export const updateDeMingcheng = (data, row) => {
 
 };
 
-export const updateShuliang_djcs = (data, row) => {
-    return Service.updateShuliang_djcs(data, row);
 
-};
 
 export const changguidinge = (dingeclick, selectedRow) => {
     return Service.changguidinge(dingeclick, selectedRow);
@@ -99,22 +88,6 @@ export const changguidinge = (dingeclick, selectedRow) => {
 };
 
 
-
-export const changguidinge_djcs = (dingeclick, selectedRow) => {
-    return Service.changguidinge_djcs(dingeclick, selectedRow);
-
-};
-
-export const azfy_djcs_eligible = (selectedRow) => {
-    return Service.azfy_djcs_eligible(selectedRow);
-
-};
-
-export const azfy_djcs = (selectedRow, dinge, selected) => {
-    return Service.azfy_djcs(selectedRow, dinge, selected);
-
-};
-
 export const handleYuban = (derow, select ) => {
     return Service.handleYuban(derow, select);
 
@@ -156,6 +129,9 @@ export const handleBeizhu = (beizhuFK/**辅库json */, derow, fuzhuSelect/*被
     return Service.updateBeizhu(derow, result, xuhao);
 };
 
+
+///////////////////////////////////////////DJCS///////////////////////////////////////////
+
 export const handleBeizhu_djcs = (beizhuFK, derow, fuzhuSelect, fuzhu ) => {
     console.log(beizhuFK);
     let bianma = [];
@@ -188,4 +164,34 @@ export const handleBeizhu_djcs = (beizhuFK, derow, fuzhuSelect, fuzhu ) => {
 };
 
 
+export const danxiangdinge_djcs = (selectedRow) => {
+    return Service.danxiangdinge_djcs(selectedRow);
+};
+
+export const updateDercj_djcs = (row, data) => {
+    return Service.updateDercj_djcs(row, data);
+
+};
+
+export const updateShuliang_djcs = (data, row) => {
+    return Service.updateShuliang_djcs(data, row);
+
+};
+
+export const changguidinge_djcs = (dingeclick, selectedRow) => {
+    return Service.changguidinge_djcs(dingeclick, selectedRow);
+
+};
+
+export const azfy_djcs_eligible = (selectedRow) => {
+    return Service.azfy_djcs_eligible(selectedRow);
+
+};
+
+export const azfy_djcs = (selectedRow, dinge, selected) => {
+    return Service.azfy_djcs(selectedRow, dinge, selected);
+
+};
+
+
 

+ 8 - 2
src/utils.js

@@ -267,8 +267,14 @@ export const match_target = (input ,input_mc, target, mc) => {
         } else {
             return false;
         }
-
-    }  else if (target == '8021') {//
+    } else if (target == '801303') {//
+            if (input.startsWith(target)) {
+                return true;
+            } else {
+                return false;
+            }
+    
+    } else if (target == '8021') {//
         if (input.startsWith(target)) {
             return true;
         } else {