Xiaopeng Zhang 5 kuukautta sitten
vanhempi
commit
d3b0210462
20 muutettua tiedostoa jossa 124 lisäystä ja 753 poistoa
  1. 0 2
      package.json
  2. 26 212
      src/App2.js
  3. 0 12
      src/Bjhz.js
  4. 39 56
      src/Djcs3.js
  5. 0 72
      src/Editable.js
  6. 0 78
      src/EditableSelect.js
  7. 0 95
      src/EditableSelectGC.js
  8. 0 14
      src/Fbrgycl.js
  9. 0 12
      src/Gfsj.js
  10. 1 7
      src/Home2.js
  11. 0 14
      src/Jrg.js
  12. 51 73
      src/Qingdan3.js
  13. 0 14
      src/Qtxm.js
  14. 4 25
      src/Qufei.js
  15. 2 12
      src/Rcjhz.js
  16. 1 1
      src/Service.js
  17. 0 12
      src/Tbxx.js
  18. 0 14
      src/Zcbfwf.js
  19. 0 14
      src/Zlje.js
  20. 0 14
      src/Zygczgj.js

+ 0 - 2
package.json

@@ -9,12 +9,10 @@
     "@mui/lab": "^5.0.0-alpha.75",
     "@mui/material": "^5.5.3",
     "@mui/x-data-grid": "^6.20.4",
-    "@mui/x-tree-view": "^6.17.0",
     "@testing-library/dom": "^10.4.0",
     "@testing-library/jest-dom": "^6.6.3",
     "@testing-library/react": "^12.0.0",
     "@testing-library/user-event": "^13.5.0",
-    "antd": "^5.26.1",
     "react": "^17.0.2",
     "react-dom": "^17.0.2",
     "react-router": "^6.30.1",

+ 26 - 212
src/App2.js

@@ -44,7 +44,6 @@ import Stack from '@mui/material/Stack';
 import { DataGrid, zhCN , GridToolbarQuickFilter} from '@mui/x-data-grid';
 import Backdrop from '@mui/material/Backdrop';
 import CircularProgress from '@mui/material/CircularProgress';
-import { TreeItem, treeItemClasses } from '@mui/x-tree-view/TreeItem';
 import Dialog from '@mui/material/Dialog';
 import DialogTitle from '@mui/material/DialogTitle';
 import DialogContent from '@mui/material/DialogContent';
@@ -57,77 +56,17 @@ import Button from '@mui/material/Button';
 
 import Tooltip from '@mui/material/Tooltip';
 
-const MUI_X_PRODUCTS = [
-    {
-      id: 'grid',
-      label: 'Data Grid',
-      children: [
-        { id: 'grid-community', label: '@mui/x-data-grid' },
-        { id: 'grid-pro', label: '@mui/x-data-grid-pro' },
-        { id: 'grid-premium', label: '@mui/x-data-grid-premium' },
-      ],
-    },
-    {
-      id: 'pickers',
-      label: 'Date and Time Pickers',
-      children: [
-        { id: 'pickers-community', label: '@mui/x-date-pickers' },
-        { id: 'pickers-pro', label: '@mui/x-date-pickers-pro' },
-      ],
-    },
-    {
-      id: 'charts',
-      label: 'Charts',
-      children: [
-        { id: 'charts-community', label: '@mui/x-charts' },
-        { id: 'charts-pro', label: '@mui/charts-pro' },
-      ],
-    },
-    {
-      id: 'tree-view',
-      label: 'Tree View',
-      children: [
-        { id: 'tree-view-community', label: '@mui/x-tree-view' },
-        { id: 'tree-view-pro', label: '@mui/x-tree-view-pro' },
-      ],
-    },
-  ];
-
-  const INFO = [
-
-                      ['名称', '金额', '暂估价', '安全文明施工费', '规费'],
-                     
-  ];
 
 
-  const CustomTreeItem = styled(TreeItem)(({ theme }) => ({
-    
-    [`& .${treeItemClasses.content}`]: {
-      
-      padding: theme.spacing(0.5, 1),
-      margin: theme.spacing(0.2, 0),
-      [`& .${treeItemClasses.label}`]: {
-        fontSize: '0.8rem',
-        fontWeight: 500,
-      },
-    }
-    
-    
-   
-  }));
 
 
 
 
 
-  const StyledTextField = styled(TextField)(({ theme, ownerState }) => ({
-    gridArea: '1 / 1',
-    overflowX: 'clip',
-    width: ownerState.expanded ? 260 : 'var(--trigger-width)',
-    opacity: ownerState.expanded ? 1 : 0,
-    transition: theme.transitions.create(['width', 'opacity']),
-  }));
-  
+
+
+
+
 
 
 
@@ -138,11 +77,8 @@ const MUI_X_PRODUCTS = [
     const [outline, setOutline] = React.useState([]);
     const [peibishu, setPeibishu] = React.useState([]);
     const [outlineDes, setOutlineDes] = React.useState([]);
-    const [columnHeaders, setColumnHeaders] = React.useState([]);
-    const [detail, setDetail] = React.useState(INFO);
     const [deXilie, setDeXilie] = React.useState([]);
     const [pbXilie, setPbXilie] = React.useState([]);
-    const [nestDetail, setNestDetail] = React.useState(INFO);
     const [nest, setNest] = React.useState(false);
     const [qingdan, setQingdan] = React.useState(false);
     const [cuoshi, setCuoshi] = React.useState(false);
@@ -352,22 +288,10 @@ const MUI_X_PRODUCTS = [
     const handleClose2 = () => {
       setDopen2(false);
     };
-  
 
-    const clickCallback = (qdbm, debh) => {
-      console.log('####################################zylb#####################'.concat(zylb.toString()));
-       //console.log(debh);
-       setExpandedQd(false);
-       setExpandedDe(true);//1 jianzhu 2 zhuangshi 3 anzhuang 4 shizheng 5 yuanlin 6 guidao 7 xiushantujian 8 xiushananzhuang 9 xiushanjiagu  
-       if (qdbm.startsWith("01")) {
-        let suggestion = 10;
-        if (zylb == "7") {
-          suggestion = 50;
-        }  
-        setZhuanye(suggestion);
-          Service.generateSingleDingeXilie(suggestion, debh).then(x=>{
-              //console.log(x);
-              let res = JSON.parse(x);
+
+    const handleGenerateSingleDingeXilie = (x) => {
+      let res = JSON.parse(x);
               console.log(res);
               setZhuanye(res["actual_zhuanye"]);
               let id = res['reverse'];
@@ -410,6 +334,22 @@ const MUI_X_PRODUCTS = [
                     setClde(null);
                     setBeizhu(res["bz_selected"]);
               }
+    };
+  
+
+    const clickCallback = (qdbm, debh) => {
+      console.log('####################################zylb#####################'.concat(zylb.toString()));
+       //console.log(debh);
+       setExpandedQd(false);
+       setExpandedDe(true);//1 jianzhu 2 zhuangshi 3 anzhuang 4 shizheng 5 yuanlin 6 guidao 7 xiushantujian 8 xiushananzhuang 9 xiushanjiagu  
+       if (qdbm.startsWith("01")) {
+        let suggestion = 10;
+        if (zylb == "7") {
+          suggestion = 50;
+        }  
+        setZhuanye(suggestion);
+          Service.generateSingleDingeXilie(suggestion, debh).then(x=>{
+            handleGenerateSingleDingeXilie(x);
            });
        
        } else if (qdbm.startsWith("03")) {//安装
@@ -419,144 +359,18 @@ const MUI_X_PRODUCTS = [
         }   
         setZhuanye(suggestion);
          Service.generateSingleDingeXilie(suggestion, debh).then(x=>{
-          //console.log(x);
-          let res = JSON.parse(x);
-          console.log(res);
-          setZhuanye(res["actual_zhuanye"]);
-          let id = res['reverse'];
-          if (id && id != "None") {
-                setRgde(res["rgde"]);
-                setJxde(res["jxde"]);
-                setClde(res["clde"]);
-                console.log(res["rgde"]);
-                console.log(res["jxde"]);
-                console.log(res["clde"]);
-                setBeizhu(res["bz_selected"]);
-                Service.generateDingeshu(res["actual_zhuanye"]).then(x=>{
-                    setOutlineDes_(x);
-                    setSelectedItems(id);
-                    setExpandedItems(findparent(id));
-                       Service.generateDingeXilie(res["actual_zhuanye"], id).then(x=>{
-                            let y = JSON.parse(x);
-                            //console.log(y);
-                            let result = [];
-                            let keys = Object.keys(y["DW"])
-                            for(let i = 0; i < keys.length; i++) {
-                                let key = keys[i];
-                                let entry = {
-                                  "id": y["DEBH"][key],
-                                  "定额编号":  y["DEBH"][key], 
-                                  "名称":  y["GCLMC"][key],
-                                  "单位":  y["DW"][key],
-                                  "单价":  y["GCLSJDJ"][key]
-                                };
-                                result.push(entry);
-                            }
-                            setDeXilie(result);
-                       });
-                });
-          } else {
-          
-                setRgde(null);
-                setJxde(null);
-                setClde(null);
-                setBeizhu(res["bz_selected"]);
-          }
+          handleGenerateSingleDingeXilie(x);
        });
        } else if (qdbm.startsWith("04")) {////市政
          setZhuanye(20);
          Service.generateSingleDingeXilie(20, debh).then(x=>{
-          //console.log(x);
-          let res = JSON.parse(x);
-          console.log(res);
-          setZhuanye(res["actual_zhuanye"]);
-          let id = res['reverse'];
-          if (id && id != "None") {
-                setRgde(res["rgde"]);
-                setJxde(res["jxde"]);
-                setClde(res["clde"]);
-                console.log(res["rgde"]);
-                console.log(res["jxde"]);
-                console.log(res["clde"]);
-                setBeizhu(res["bz_selected"]);
-                Service.generateDingeshu(res["actual_zhuanye"]).then(x=>{
-                    setOutlineDes_(x);
-                    setSelectedItems(id);
-                    setExpandedItems(findparent(id));
-                       Service.generateDingeXilie(res["actual_zhuanye"], id).then(x=>{
-                            let y = JSON.parse(x);
-                            //console.log(y);
-                            let result = [];
-                            let keys = Object.keys(y["DW"])
-                            for(let i = 0; i < keys.length; i++) {
-                                let key = keys[i];
-                                let entry = {
-                                  "id": y["DEBH"][key],
-                                  "定额编号":  y["DEBH"][key], 
-                                  "名称":  y["GCLMC"][key],
-                                  "单位":  y["DW"][key],
-                                  "单价":  y["GCLSJDJ"][key]
-                                };
-                                result.push(entry);
-                            }
-                            setDeXilie(result);
-                       });
-                });
-          } else {
-          
-                setRgde(null);
-                setJxde(null);
-                setClde(null);
-                setBeizhu(res["bz_selected"]);
-          }
+          handleGenerateSingleDingeXilie(x);
        });
        }
        else if (qdbm.startsWith("05")) {//园林
         setZhuanye(40);
         Service.generateSingleDingeXilie(40, debh).then(x=>{
-         //console.log(x);
-         let res = JSON.parse(x);
-         console.log(res);
-         setZhuanye(res["actual_zhuanye"]);
-         let id = res['reverse'];
-         if (id && id != "None") {
-               setRgde(res["rgde"]);
-               setJxde(res["jxde"]);
-               setClde(res["clde"]);
-               console.log(res["rgde"]);
-               console.log(res["jxde"]);
-               console.log(res["clde"]);
-               setBeizhu(res["bz_selected"]);
-               Service.generateDingeshu(res["actual_zhuanye"]).then(x=>{
-                   setOutlineDes_(x);
-                   setSelectedItems(id);
-                   setExpandedItems(findparent(id));
-                      Service.generateDingeXilie(res["actual_zhuanye"], id).then(x=>{
-                           let y = JSON.parse(x);
-                           //console.log(y);
-                           let result = [];
-                           let keys = Object.keys(y["DW"])
-                           for(let i = 0; i < keys.length; i++) {
-                               let key = keys[i];
-                               let entry = {
-                                 "id": y["DEBH"][key],
-                                 "定额编号":  y["DEBH"][key], 
-                                 "名称":  y["GCLMC"][key],
-                                 "单位":  y["DW"][key],
-                                 "单价":  y["GCLSJDJ"][key]
-                               };
-                               result.push(entry);
-                           }
-                           setDeXilie(result);
-                      });
-               });
-         } else {
-         
-               setRgde(null);
-               setJxde(null);
-               setClde(null);
-               setBeizhu(res["bz_selected"]);
-         }
+          handleGenerateSingleDingeXilie(x);
       });
        } else {
         console.log('####################################zylb#####################'.concat(zylb.toString()));

+ 0 - 12
src/Bjhz.js

@@ -1,17 +1,5 @@
 import * as React from 'react';
-import Box from "@mui/material/Box";
-import { Grid } from '@mui/material';
-import Tab from "@mui/material/Tab";
-import TabContext from "@mui/lab/TabContext";
-import TabList from "@mui/lab/TabList";
-import TabPanel from "@mui/lab/TabPanel";
-import Stack from "@mui/material/Stack";
-//registerPlugin(NestedRows);
-import Service from './Service';
 
-import Button from '@mui/material/Button';
-
-import {copy} from './utils';
 import {TabulatorFull as Tabulator} from "tabulator-tables"; //import Tabulator library
 import "tabulator-tables/dist/css/tabulator.min.css"; //import Tabulator stylesheet
 import './Tabulator.css';

+ 39 - 56
src/Djcs3.js

@@ -30,7 +30,6 @@ function number_equal(a, b) {
      return false;
 }
 export default function Djcs3({name, bh, rgde, jxde, clde, beizhu, beizhuFK, clickCallback, loadingCallback, dingeclick}) {
-     const lastClickRef = React.useRef(null);
 
     
      var editCheck = function(cell){
@@ -65,6 +64,18 @@ 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){
+               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()) {
+                         cell.getElement().style.fontWeight = 'bold';
+                         cell.getElement().style.color = 'green';
+                         cell.getElement().style.background = '#d7f1e1';
+                    }
+                   }
+                   return cell.getValue(); 
+               };
+
 
      function handleSelect(row){
           //e - the click event object
@@ -113,7 +124,8 @@ export default function Djcs3({name, bh, rgde, jxde, clde, beizhu, beizhuFK, cli
                     if (tuijianTable.current) tuijianTable.current.replaceData(x);
                });
           } else {
-               
+               setTuijian([]);
+               if (tuijianTable.current) tuijianTable.current.replaceData([]);
                let row_parent = row._row;
                while(row_parent.modules.dataTree.parent) {
                    row_parent = row_parent.modules.dataTree.parent;
@@ -237,10 +249,9 @@ export default function Djcs3({name, bh, rgde, jxde, clde, beizhu, beizhuFK, cli
 
     const [fuzhuEnable, setFuzhuEnable] = React.useState(false);
 
-   const [selectedRowKeys, setSelectedRowKeys] = React.useState([]);
-   const onSelectChange = (newSelectedRowKeys) => {
+    const onSelectChange = (newSelectedRowKeys) => {
      
-     const [newData, newHl] = handleBeizhu_djcs(beizhuFKRef.current, selectedRowKeysTable.current[0], newSelectedRowKeys, fuzhu);
+    const [newData, newHl] = handleBeizhu_djcs(beizhuFKRef.current, selectedRowKeysTable.current[0], newSelectedRowKeys, fuzhu);
                                   if (newData) {
                                      myTable.current.updateData(newData.filter(x=>x['key'] == selectedRowKeysTableParent.current));
                                      let y =[];
@@ -271,16 +282,8 @@ export default function Djcs3({name, bh, rgde, jxde, clde, beizhu, beizhuFK, cli
                                      }
 
                                   }
-   };
-   const rowSelection = {
-     selectedRowKeys,
-     onChange: onSelectChange,
-     getCheckboxProps: (record) => {
-          return {
-               disabled: !fuzhuEnable
-          };
-     }
-   };
+    };
+   
     const highlight = React.useRef([]);
 
     
@@ -346,6 +349,20 @@ export default function Djcs3({name, bh, rgde, jxde, clde, beizhu, beizhuFK, cli
       </Cell>
     };
 
+    const resetUI = () => {
+     selectedRowKeysTable.current = [];
+     selectedRowKeysTableParent.current = null;
+     setRcjhl([]);
+     if (rcjTable.current) {
+          rcjTable.current.replaceData([]);
+     }
+     setFuzhu([]);
+     isQdrcj.current = true;
+     highlight.current = [];
+     setTuijian([]);
+     if (tuijianTable.current) tuijianTable.current.replaceData([]);
+    };
+
     React.useEffect(() => {
      myTable.current = new Tabulator(myRef.current, {
           index: "key",
@@ -455,8 +472,7 @@ export default function Djcs3({name, bh, rgde, jxde, clde, beizhu, beizhuFK, cli
                 setFuzhu(result);
                 let newSelect = extractFuzhu(debmRef.current);
                 setCheckedKeys_2(newSelect);
-                //setSelectedRowKeys(newSelect);
-                //setSelectedRowKeys([1]);
+                
                 
             }
         }, [beizhu]
@@ -530,7 +546,7 @@ export default function Djcs3({name, bh, rgde, jxde, clde, beizhu, beizhuFK, cli
                             
                             columns: [ //Define Table Columns
                                          {title:"ID", field:"ID", width:80, headerSort:false, },
-                                         {title:"人材机编码", field:"人材机编码", width:80, headerSort:false, }, //never hide this column
+                                         {title:"人材机编码", field:"人材机编码", width:80, headerSort:false, formatter: sparklineFormatter2}, //never hide this column
                                          {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
@@ -740,17 +756,9 @@ export default function Djcs3({name, bh, rgde, jxde, clde, beizhu, beizhuFK, cli
                          const [success, data] = danxiangdinge_djcs(selectedRowKeysTable.current[0]);
                          if(success) {
                             myTable.current.updateData(data.filter(x=>x['key'] == selectedRowKeysTableParent.current)).then(function(){
-                              selectedRowKeysTable.current = [];
-                              selectedRowKeysTableParent.current = null;
-                                   setRcjhl([]);
-                                   if (rcjTable.current) {
-                                        rcjTable.current.replaceData([]);
-                                   }
-                                   setFuzhu([]);
-                                   isQdrcj.current = true;
-                                   highlight.current = [];
+                              resetUI();
                             });
-                            //console.log(data);
+                            
                          }
                       }
                  
@@ -762,15 +770,7 @@ export default function Djcs3({name, bh, rgde, jxde, clde, beizhu, beizhuFK, cli
                           let newData = shanchu_djcs(selectedRowKeysTable.current[0]);
                           myTable.current.updateData(newData.filter(x=>x['key'] == selectedRowKeysTableParent.current)).then(function(){
                               if (newData.filter(x=>x['key'] == selectedRowKeysTable.current[0]).length == 0) {
-                                   selectedRowKeysTable.current = [];
-                                   selectedRowKeysTableParent.current = [];
-                                   setRcjhl([]);
-                                   if (rcjTable.current) {
-                                        rcjTable.current.replaceData([]);
-                                   }
-                                   setFuzhu([]);
-                                   isQdrcj.current = true;
-                                   highlight.current = [];
+                                   resetUI();
                                }
                           });
                           
@@ -786,15 +786,7 @@ export default function Djcs3({name, bh, rgde, jxde, clde, beizhu, beizhuFK, cli
                       let newData = undo_djcs();
                       myTable.current.updateData(newData).then(function(){
                          
-                            selectedRowKeysTable.current = [];
-                            selectedRowKeysTableParent.current = null;
-                            setRcjhl([]);
-                            if (rcjTable.current) {
-                              rcjTable.current.replaceData([]);
-                            }
-                            setFuzhu([]);
-                            isQdrcj.current = true;
-                            highlight.current = [];
+                            resetUI();
                             
                         
                       });
@@ -805,16 +797,7 @@ export default function Djcs3({name, bh, rgde, jxde, clde, beizhu, beizhuFK, cli
                    <Button variant="outlined" size="small" onClick={() => {
                       let newData = redo_djcs();
                       myTable.current.updateData(newData).then(function(){
-                         selectedRowKeysTable.current = [];
-                         selectedRowKeysTableParent.current = null;
-
-                            setRcjhl([]);
-                            if (rcjTable.current) {
-                              rcjTable.current.replaceData([]);
-                            }
-                            setFuzhu([]);
-                            isQdrcj.current = true;
-                            highlight.current = [];
+                         resetUI();
                       });
                       
                       

+ 0 - 72
src/Editable.js

@@ -1,72 +0,0 @@
-import * as React from 'react';
-import Box from "@mui/material/Box";
-import { Grid } from '@mui/material';
-import Tab from "@mui/material/Tab";
-import TabContext from "@mui/lab/TabContext";
-import TabList from "@mui/lab/TabList";
-import TabPanel from "@mui/lab/TabPanel";
-//registerPlugin(NestedRows);
-import Service from './Service';
-import {useLocation} from "react-router";
-import ExpandMoreIcon from '@mui/icons-material/ExpandMore';
-import Typography from '@mui/material/Typography';
-import InputLabel from '@mui/material/InputLabel';
-import MenuItem from '@mui/material/MenuItem';
-import FormControl from '@mui/material/FormControl';
-import Select from '@mui/material/Select';
-import Accordion from '@mui/material/Accordion';
-import AccordionActions from '@mui/material/AccordionActions';
-import AccordionSummary from '@mui/material/AccordionSummary';
-import AccordionDetails from '@mui/material/AccordionDetails';
-import Stack from '@mui/material/Stack';
-
-import Button from '@mui/material/Button';
-import TextField from '@mui/material/TextField';
-
-
-
-
-  export default function Editable({ initialText,  onChange }) {
-    const [isEditing, setIsEditing] = React.useState(false);
-    const [textValue, setTextValue] = React.useState(initialText);
-    
-    React.useEffect(
-      () => {
-        setTextValue(initialText);
-      }, [initialText]
-    );
-    return (
-
-        <Box>
-        {isEditing ? (
-            <TextField id="outlined-basic" value={textValue} size="small"
-            autoFocus
-             variant="outlined"
-             onChange={(event) => {
-              setTextValue(event.target.value);
-              }} 
-            onKeyDown={(e)=> {
-              if (e.key == "Enter") {
-                
-                setIsEditing(false);
-                onChange(textValue);
-                
-
-              }
-            }}
-            onBlur={()=> {
-              setIsEditing(false);
-              onChange(textValue);
-            }}
-            />
-          ) : (
-            <Button disableRipple variant="text" color="#000000"
-               onDoubleClick={()=>{
-                setIsEditing(true);
-               }}
-            >{textValue}</Button>
-          )}
-        </Box>
-    
-    );
-  }

+ 0 - 78
src/EditableSelect.js

@@ -1,78 +0,0 @@
-import * as React from 'react';
-import Box from "@mui/material/Box";
-import { Grid } from '@mui/material';
-import Tab from "@mui/material/Tab";
-import TabContext from "@mui/lab/TabContext";
-import TabList from "@mui/lab/TabList";
-import TabPanel from "@mui/lab/TabPanel";
-//registerPlugin(NestedRows);
-import Service from './Service';
-import {useLocation} from "react-router";
-import ExpandMoreIcon from '@mui/icons-material/ExpandMore';
-import Typography from '@mui/material/Typography';
-import InputLabel from '@mui/material/InputLabel';
-import MenuItem from '@mui/material/MenuItem';
-import FormControl from '@mui/material/FormControl';
-import Select from '@mui/material/Select';
-import Accordion from '@mui/material/Accordion';
-import AccordionActions from '@mui/material/AccordionActions';
-import AccordionSummary from '@mui/material/AccordionSummary';
-import AccordionDetails from '@mui/material/AccordionDetails';
-import Stack from '@mui/material/Stack';
-
-import Button from '@mui/material/Button';
-import TextField from '@mui/material/TextField';
-
-
-
-
-  export default function EditableSelect({ initialText,  onChange }) {
-    const [isEditing, setIsEditing] = React.useState(false);
-    const [textValue, setTextValue] = React.useState(initialText);
-    const handleChange = (event) => {
-      setTextValue(event.target.value);
-      setIsEditing(false);
-      onChange(event.target.value);
-    };
-    React.useEffect(
-      () => {
-        setTextValue(initialText);
-        setIsEditing(false);
-        
-      }, [initialText]
-    );
-    return (
-
-        <Box>
-        {isEditing ? (
-            <FormControl sx={{ m: 1, minWidth: 100 }} size="small">
-            <InputLabel id="demo-select-small-label">工程类别</InputLabel>
-            <Select
-              labelId="demo-select-small-label"
-              id="demo-select-small"
-              value={textValue}
-              label="工程类别"
-              onChange={handleChange}
-              onBlur={()=>{
-                setIsEditing(false);
-              }}
-            >
-              <MenuItem value="">
-                <em></em>
-              </MenuItem>
-              <MenuItem value={"一类工程"}>一类工程</MenuItem>
-              <MenuItem value={"二类工程"}>二类工程</MenuItem>
-              <MenuItem value={"三类工程"}>三类工程</MenuItem>
-            </Select>
-          </FormControl>
-          ) : (
-            <Button disableRipple variant="text" color="#000000"
-               onDoubleClick={()=>{
-                setIsEditing(true);
-               }}
-            >{textValue}</Button>
-          )}
-        </Box>
-    
-    );
-  }

+ 0 - 95
src/EditableSelectGC.js

@@ -1,95 +0,0 @@
-import * as React from 'react';
-import Box from "@mui/material/Box";
-import { Grid } from '@mui/material';
-import Tab from "@mui/material/Tab";
-import TabContext from "@mui/lab/TabContext";
-import TabList from "@mui/lab/TabList";
-import TabPanel from "@mui/lab/TabPanel";
-//registerPlugin(NestedRows);
-import Service from './Service';
-import {useLocation} from "react-router";
-import ExpandMoreIcon from '@mui/icons-material/ExpandMore';
-import Typography from '@mui/material/Typography';
-import InputLabel from '@mui/material/InputLabel';
-import MenuItem from '@mui/material/MenuItem';
-import FormControl from '@mui/material/FormControl';
-import Select from '@mui/material/Select';
-import Accordion from '@mui/material/Accordion';
-import AccordionActions from '@mui/material/AccordionActions';
-import AccordionSummary from '@mui/material/AccordionSummary';
-import AccordionDetails from '@mui/material/AccordionDetails';
-import Stack from '@mui/material/Stack';
-
-import Button from '@mui/material/Button';
-import TextField from '@mui/material/TextField';
-
-import ListSubheader from '@mui/material/ListSubheader';
-
-
-
-  export default function EditableSelectGC({ initialText,  onChange }) {
-    const [isEditing, setIsEditing] = React.useState(false);
-    const [textValue, setTextValue] = React.useState(initialText);
-    const handleChange = (event) => {
-      setTextValue(event.target.value);
-      setIsEditing(false);
-      onChange(event.target.value);
-    };
-    React.useEffect(
-      () => {
-        setTextValue(initialText);
-        setIsEditing(false);
-        
-      }, [initialText]
-    );
-    return (
-
-        <Box>
-        {isEditing ? (
-            <FormControl sx={{ m: 1, minWidth: 100 }} size="small">
-            <InputLabel id="demo-select-small-label">工程类型</InputLabel>
-            <Select
-              labelId="demo-select-small-label"
-              id="demo-select-small"
-              value={textValue}
-              label="工程类型"
-              onChange={handleChange}
-              onBlur={()=>{
-                setIsEditing(false);
-              }}
-            >
-              <MenuItem value="">
-                <em></em>
-              </MenuItem>
-              <ListSubheader>建筑工程</ListSubheader>
-              <MenuItem value={"建筑工程"}>建筑工程</MenuItem>
-              <MenuItem value={"单独预制构件制作"}>单独预制构件制作</MenuItem>
-              <MenuItem value={"打预制桩、单独构件吊装"}>打预制桩、单独构件吊装</MenuItem>
-              <MenuItem value={"单独预制构件制作"}>单独预制构件制作</MenuItem>
-              <MenuItem value={"制作兼打桩"}>制作兼打桩</MenuItem>
-              <MenuItem value={"大型土石方工程"}>大型土石方工程</MenuItem>
-              <ListSubheader>单独装饰工程</ListSubheader>
-              <MenuItem value={"单独装饰工程"}>单独装饰工程</MenuItem>
-              <ListSubheader>安装工程</ListSubheader>
-              <MenuItem value={"安装工程"}>安装工程</MenuItem>
-              <ListSubheader>市政工程</ListSubheader>
-              <MenuItem value={"通用项目、道路、排水工程"}>通用项目、道路、排水工程</MenuItem>
-              <MenuItem value={"桥梁、水工构筑物"}>桥梁、水工构筑物</MenuItem>
-              <MenuItem value={"给水、燃气与集中供热"}>给水、燃气与集中供热</MenuItem>
-              <MenuItem value={"路灯及交通设施工程"}>路灯及交通设施工程</MenuItem>
-              <MenuItem value={"(市)大型土石方工程"}>(市)大型土石方工程</MenuItem>
-              
-
-            </Select>
-          </FormControl>
-          ) : (
-            <Button disableRipple variant="text" color="#000000"
-               onDoubleClick={()=>{
-                setIsEditing(true);
-               }}
-            >{textValue}</Button>
-          )}
-        </Box>
-    
-    );
-  }

+ 0 - 14
src/Fbrgycl.js

@@ -1,19 +1,5 @@
 import * as React from 'react';
-import Box from "@mui/material/Box";
-import { Grid } from '@mui/material';
-import Tab from "@mui/material/Tab";
-import TabContext from "@mui/lab/TabContext";
-import TabList from "@mui/lab/TabList";
-import TabPanel from "@mui/lab/TabPanel";
-import Stack from "@mui/material/Stack";
-//registerPlugin(NestedRows);
-import Service from './Service';
-import EditableSelect from './EditableSelect';
-import EditableSelectGC from './EditableSelectGC';
-import Editable from './Editable';
-import Button from '@mui/material/Button';
 
-import {copy} from './utils';
 import {TabulatorFull as Tabulator} from "tabulator-tables"; //import Tabulator library
 import "tabulator-tables/dist/css/tabulator.min.css"; //import Tabulator stylesheet
 import './Tabulator.css';

+ 0 - 12
src/Gfsj.js

@@ -1,17 +1,5 @@
 import * as React from 'react';
-import Box from "@mui/material/Box";
-import { Grid } from '@mui/material';
-import Tab from "@mui/material/Tab";
-import TabContext from "@mui/lab/TabContext";
-import TabList from "@mui/lab/TabList";
-import TabPanel from "@mui/lab/TabPanel";
-import Stack from "@mui/material/Stack";
-//registerPlugin(NestedRows);
-import Service from './Service';
 
-import Button from '@mui/material/Button';
-
-import {copy} from './utils';
 import {TabulatorFull as Tabulator} from "tabulator-tables"; //import Tabulator library
 import "tabulator-tables/dist/css/tabulator.min.css"; //import Tabulator stylesheet
 import './Tabulator.css';

+ 1 - 7
src/Home2.js

@@ -142,18 +142,14 @@ export default function Home2() {
     accept: ".13jz, .13jt, .jszf"
     });
 
-    const hotRef = React.useRef(null);
     const itemRef = React.useRef(null);
     const navigate = useNavigate();
-    let location = useLocation();
     const [detail, setDetail] = React.useState([]);
     const [open, setOpen] = React.useState(false);
     const [dopen, setDopen] = React.useState(false);
     const [bopen, setBopen] = React.useState(false);
-    const [selectedFiles, setSelectedFiles] = React.useState([]);
 
     const handleFileChange = (event) => {
-         setSelectedFiles(event.target.files);
          console.log(event.target.files);
          const fd = new FormData();
          fd.append('file', event.target.files[0]);
@@ -249,9 +245,7 @@ export default function Home2() {
   const handleClose = () => {
     setDopen(false);
   };
-  const handleCloseB = () => {
-    setBopen(false);
-  };
+
 
   const handleDelete = () => {
     Service.deleteFiles(itemRef.current).then(x=> {

+ 0 - 14
src/Jrg.js

@@ -1,19 +1,5 @@
 import * as React from 'react';
-import Box from "@mui/material/Box";
-import { Grid } from '@mui/material';
-import Tab from "@mui/material/Tab";
-import TabContext from "@mui/lab/TabContext";
-import TabList from "@mui/lab/TabList";
-import TabPanel from "@mui/lab/TabPanel";
-import Stack from "@mui/material/Stack";
-//registerPlugin(NestedRows);
-import Service from './Service';
-import EditableSelect from './EditableSelect';
-import EditableSelectGC from './EditableSelectGC';
-import Editable from './Editable';
-import Button from '@mui/material/Button';
 
-import {copy} from './utils';
 import {TabulatorFull as Tabulator} from "tabulator-tables"; //import Tabulator library
 import "tabulator-tables/dist/css/tabulator.min.css"; //import Tabulator stylesheet
 import './Tabulator.css';

+ 51 - 73
src/Qingdan3.js

@@ -9,9 +9,7 @@ import zhCN from 'rsuite/locales/zh_CN';
 import { Grid } from '@mui/material';
 import Tooltip from '@mui/material/Tooltip';
 import AddIcon from '@mui/icons-material/Add';
-import SaveIcon from '@mui/icons-material/Save';
-import CancelIcon from '@mui/icons-material/Close';
-import EditIcon from '@mui/icons-material/Edit';
+
 import DeleteIcon from '@mui/icons-material/DeleteOutlined';
 import Radio from '@mui/material/Radio';
 import RadioGroup from '@mui/material/RadioGroup';
@@ -28,14 +26,9 @@ 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, updateDeMingcheng, handleRcjbc} from './editor';
-import Backdrop from '@mui/material/Backdrop';
-import CircularProgress from '@mui/material/CircularProgress';
-import { DataGrid, GridRowModes, GridActionsCellItem, GridRowEditStopReasons, zhCN as zhCN_MUI, GridToolbarContainer } from '@mui/x-data-grid';
-import Dialog from '@mui/material/Dialog';
-import DialogTitle from '@mui/material/DialogTitle';
-import DialogContent from '@mui/material/DialogContent';
-import IconButton from '@mui/material/IconButton';
-import Typography from '@mui/material/Typography';
+
+import { DataGrid, GridActionsCellItem, zhCN as zhCN_MUI, GridToolbarContainer } from '@mui/x-data-grid';
+
 
 import { v4 as uuidv4 } from 'uuid';
 
@@ -76,7 +69,6 @@ export default function Qingdan3({name, bh, bt, rgde, jxde, clde, beizhu/*后台
      const [rcjhl, setRcjhl] = React.useState([]);
      const [rcjhl2, setRcjhl2] = React.useState([]);
      const [fuzhu, setFuzhu] = React.useState([]);//展示用的附注行
-     const [yuban, setYuban] = React.useState([{'key': '0', '说明': '无'}, {'key': '1', '说明': '湿拌砂浆'}, {'key': '2', '说明': '散装干拌(混)砂浆'}, {'key': '3', '说明': '袋装干拌(混)砂浆'}]);
      const [tuijian, setTuijian] = React.useState([]);
      const [fuzhuEnable, setFuzhuEnable] = React.useState(false);
      const [yubanEnable, setYubanEnable] = React.useState(false);
@@ -103,6 +95,7 @@ export default function Qingdan3({name, bh, bt, rgde, jxde, clde, beizhu/*后台
      const jxdeRef = React.useRef(null);
      const cldeRef = React.useRef(null);
      const isQdrcj = React.useRef(false);
+     ///备注
      const onSelectChange = (newSelectedRowKeys) => {
           const [newData, newHl] = handleBeizhu(beizhuFKRef.current, selectedRowKeysTable.current[0], newSelectedRowKeys, fuzhu);
                                        if (newData) {
@@ -137,7 +130,7 @@ export default function Qingdan3({name, bh, bt, rgde, jxde, clde, beizhu/*后台
                                        }
         };
 
-
+        //预拌砂浆
         const onSelectChange2 = (event) => {
           
           setValueYuban(event.target.value);
@@ -227,7 +220,13 @@ export default function Qingdan3({name, bh, bt, rgde, jxde, clde, beizhu/*后台
               inline
               disabled={disabled}
               onChange={onChange}
-              checked={checkedKeys.some(item => item === rowData[dataKey])}
+              checked={checkedKeys.some(item => 
+               { 
+                    
+                    let hit = item === rowData[dataKey];
+                    
+                 return   hit;
+               })}
               ></Checkbox>
            </div>
        </Cell>
@@ -272,13 +271,43 @@ export default function Qingdan3({name, bh, bt, rgde, jxde, clde, beizhu/*后台
               return Number(cell.getValue()).toFixed(2).toString(); 
           };
 
+          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()) {
+                         cell.getElement().style.fontWeight = 'bold';
+                         cell.getElement().style.color = 'green';
+                         cell.getElement().style.background = '#d7f1e1';
+                    }
+                   }
+                   return cell.getValue(); 
+               };
+
+
+
+     const resetUI = () => {
+          selectedRowKeysTable.current = [];
+          selectedRowKeysTableParent.current = null;
+               setRcjhl([]);
+               if (rcjTable.current) {
+                    rcjTable.current.replaceData([]);
+               }
+               setFuzhu([]);
+               setRcjrows([]);
+               setShowToolbar(false);
+               setValueYuban("");
+               setYubanEnable(false);
+               isQdrcj.current = true;
+               highlight.current = [];
+     };
+
       function handleSelect(row){
           selectedRowKeysTable.current = [row._row['data']['key']];
           if (row._row.data['序号'] != null && row._row.data['序号'].length >0) {
                selectedRowKeysTableParent.current = row._row['data']['key'];
 
                setFuzhu([]);
-               setRcjrows([]);
+               setRcjrows([]);//补充人材机
                setYubanEnable(false);
                setValueYuban("");
                setShowToolbar(false);
@@ -322,8 +351,6 @@ export default function Qingdan3({name, bh, bt, rgde, jxde, clde, beizhu/*后台
              });
           }else{
                setTuijian([]);
-               
-               
                if (tuijianTable.current) tuijianTable.current.replaceData([]);
               let row_parent = row._row;
               while(row_parent.modules.dataTree.parent) {
@@ -934,7 +961,7 @@ export default function Qingdan3({name, bh, bt, rgde, jxde, clde, beizhu/*后台
                   let keys = Object.keys(beizhu["BZBH"]);
                   for(let i = 0; i < keys.length; i++) {
                       let key = keys[i];
-                      result.push({'key': i+1, '序号': i+1, '编号': beizhu["BZBH"][key], '说明': beizhu["SM"][key]});//序号很重要
+                      result.push({'id': i+1, 'key': i+1, '序号': i+1, '编号': beizhu["BZBH"][key], '说明': beizhu["SM"][key]});//序号很重要
                   }
                   setFuzhu(result);
                   let newSelect = extractFuzhu(debmRef.current);
@@ -1111,7 +1138,7 @@ export default function Qingdan3({name, bh, bt, rgde, jxde, clde, beizhu/*后台
                             
                             columns: [ //Define Table Columns
                                          {title:"ID", field:"ID", width:80, headerSort:false, },
-                                         {title:"人材机编码", field:"人材机编码", width:100, headerSort:false, }, //never hide this column
+                                         {title:"人材机编码", field:"人材机编码", width:100, headerSort:false, formatter: sparklineFormatter2}, //never hide this column
                                          {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
@@ -1215,19 +1242,7 @@ export default function Qingdan3({name, bh, bt, rgde, jxde, clde, beizhu/*后台
                          const [success, data] = danxiangdinge(selectedRowKeysTable.current[0]);
                          if(success) {
                               myTable.current.updateData(data.filter(x=>x['key'] == selectedRowKeysTableParent.current)).then(function(){
-                                   selectedRowKeysTable.current = [];
-                                   selectedRowKeysTableParent.current = null;
-                                        setRcjhl([]);
-                                        if (rcjTable.current) {
-                                             rcjTable.current.replaceData([]);
-                                        }
-                                        setFuzhu([]);
-                                        setRcjrows([]);
-                                        setShowToolbar(false);
-                                        setValueYuban("");
-                                        setYubanEnable(false);
-                                        isQdrcj.current = true;
-                                        highlight.current = [];
+                                   resetUI();
                                  });
                          }
                       }
@@ -1240,20 +1255,8 @@ export default function Qingdan3({name, bh, bt, rgde, jxde, clde, beizhu/*后台
                          let newData = shanchu(selectedRowKeysTable.current[0]);
                          myTable.current.updateData(newData.filter(x=>x['key'] == selectedRowKeysTableParent.current)).then(function(){
                              if (newData.filter(x=>x['key'] == selectedRowKeysTable.current[0]).length == 0) {
-                                  selectedRowKeysTable.current = [];
-                                  selectedRowKeysTableParent.current = [];
-                                  setRcjhl([]);
-                                  if (rcjTable.current) {
-                                   rcjTable.current.replaceData([]);
-                                  }
-                                  setFuzhu([]);
-                                  setRcjrows([]);
-                                  setShowToolbar(false);
-                                  setValueYuban("");
-                                  setYubanEnable(false);
-                                  isQdrcj.current = true;
-                                  highlight.current = [];
-                              }
+                                  resetUI();
+                             }
                          });
                          
                          
@@ -1268,19 +1271,7 @@ export default function Qingdan3({name, bh, bt, rgde, jxde, clde, beizhu/*后台
                    let newData = undo();
                    myTable.current.updateData(newData).then(function(){
                       
-                         selectedRowKeysTable.current = [];
-                         selectedRowKeysTableParent.current = null;
-                         setRcjhl([]);
-                         if (rcjTable.current) {
-                              rcjTable.current.replaceData([]);
-                         }
-                         setFuzhu([]);
-                         setRcjrows([]);
-                         setShowToolbar(false);
-                         setValueYuban("");
-                         setYubanEnable(false);
-                         isQdrcj.current = true;
-                         highlight.current = [];
+                         resetUI();
                          
                      
                    });
@@ -1290,20 +1281,7 @@ export default function Qingdan3({name, bh, bt, rgde, jxde, clde, beizhu/*后台
                    <Button variant="outlined" size="small" onClick={() => {
                    let newData = redo();
                    myTable.current.updateData(newData).then(function(){
-                      selectedRowKeysTable.current = [];
-                      selectedRowKeysTableParent.current = null;
-
-                         setRcjhl([]);
-                         if (rcjTable.current) {
-                              rcjTable.current.replaceData([]);
-                         }
-                         setFuzhu([]);
-                         setRcjrows([]);
-                         setShowToolbar(false);
-                         setValueYuban("");
-                         setYubanEnable(false);
-                         isQdrcj.current = true;
-                         highlight.current = [];
+                      resetUI();
                    });
                    
                       

+ 0 - 14
src/Qtxm.js

@@ -1,19 +1,5 @@
 import * as React from 'react';
-import Box from "@mui/material/Box";
-import { Grid } from '@mui/material';
-import Tab from "@mui/material/Tab";
-import TabContext from "@mui/lab/TabContext";
-import TabList from "@mui/lab/TabList";
-import TabPanel from "@mui/lab/TabPanel";
-import Stack from "@mui/material/Stack";
-//registerPlugin(NestedRows);
-import Service from './Service';
-import EditableSelect from './EditableSelect';
-import EditableSelectGC from './EditableSelectGC';
-import Editable from './Editable';
-import Button from '@mui/material/Button';
 
-import {copy} from './utils';
 import {TabulatorFull as Tabulator} from "tabulator-tables"; //import Tabulator library
 import "tabulator-tables/dist/css/tabulator.min.css"; //import Tabulator stylesheet
 import './Tabulator.css';

+ 4 - 25
src/Qufei.js

@@ -1,16 +1,8 @@
 import * as React from 'react';
 import Box from "@mui/material/Box";
-import { Grid } from '@mui/material';
-import Tab from "@mui/material/Tab";
-import TabContext from "@mui/lab/TabContext";
-import TabList from "@mui/lab/TabList";
-import TabPanel from "@mui/lab/TabPanel";
-import Stack from "@mui/material/Stack";
-//registerPlugin(NestedRows);
+
 import Service from './Service';
-import EditableSelect from './EditableSelect';
-import EditableSelectGC from './EditableSelectGC';
-import Editable from './Editable';
+
 import Button from '@mui/material/Button';
 import {TabulatorFull as Tabulator} from "tabulator-tables"; //import Tabulator library
 import "tabulator-tables/dist/css/tabulator.min.css"; //import Tabulator stylesheet
@@ -21,11 +13,9 @@ export default function Qufei({id, qufeiCallback}) {
     
   const [detail, setDetail] = React.useState([]);
 
-const hotRef = React.useRef(null);
 const myRef = React.useRef();
 const myTable = React.useRef(null);
-const [expandedRowKeys, setExpandedRowKeys] = React.useState([]);
-const [selectedRowKeys, setSelectedRowKeys] = React.useState([]);
+
 
 
 
@@ -77,18 +67,7 @@ const check = (data) => {
 };
 
 
-const rowSelection = {
-  selectedRowKeys,
-  onChange: (selectedRowKeys) => {
-       //console.log(selectedRowKeys);
-       if (selectedRowKeys.length > 0) {
-            setExpandedRowKeys([selectedRowKeys.at(-1)]);
-       } else {
-       setSelectedRowKeys(selectedRowKeys);
-       //handleSelection(selectedRowKeys);
-       }
-  }
-};
+
 
 const traverse = (data) => {
   for(let i = 0; i < data.length; i++) {

+ 2 - 12
src/Rcjhz.js

@@ -1,17 +1,7 @@
 import * as React from 'react';
-import Box from "@mui/material/Box";
-import { Grid } from '@mui/material';
-import Tab from "@mui/material/Tab";
-import TabContext from "@mui/lab/TabContext";
-import TabList from "@mui/lab/TabList";
-import TabPanel from "@mui/lab/TabPanel";
-import Stack from "@mui/material/Stack";
-//registerPlugin(NestedRows);
+
 import Service from './Service';
-import EditableSelect from './EditableSelect';
-import EditableSelectGC from './EditableSelectGC';
-import Editable from './Editable';
-import Button from '@mui/material/Button';
+
 
 import {copy} from './utils';
 import {TabulatorFull as Tabulator} from "tabulator-tables"; //import Tabulator library

+ 1 - 1
src/Service.js

@@ -16,7 +16,7 @@ class Service{
     
     ip() {
         //return "/api"//return "http://127.0.0.1:8000"
-        return "http://192.168.238.87:1313/api"
+        return "http://192.168.43.87:1313/api"
     }
 
     clearCache() {//set qufei will clear cache

+ 0 - 12
src/Tbxx.js

@@ -1,17 +1,5 @@
 import * as React from 'react';
-import Box from "@mui/material/Box";
-import { Grid } from '@mui/material';
-import Tab from "@mui/material/Tab";
-import TabContext from "@mui/lab/TabContext";
-import TabList from "@mui/lab/TabList";
-import TabPanel from "@mui/lab/TabPanel";
-import Stack from "@mui/material/Stack";
-//registerPlugin(NestedRows);
-import Service from './Service';
 
-import Button from '@mui/material/Button';
-
-import {copy} from './utils';
 import {TabulatorFull as Tabulator} from "tabulator-tables"; //import Tabulator library
 import "tabulator-tables/dist/css/tabulator.min.css"; //import Tabulator stylesheet
 import './Tabulator.css';

+ 0 - 14
src/Zcbfwf.js

@@ -1,19 +1,5 @@
 import * as React from 'react';
-import Box from "@mui/material/Box";
-import { Grid } from '@mui/material';
-import Tab from "@mui/material/Tab";
-import TabContext from "@mui/lab/TabContext";
-import TabList from "@mui/lab/TabList";
-import TabPanel from "@mui/lab/TabPanel";
-import Stack from "@mui/material/Stack";
-//registerPlugin(NestedRows);
-import Service from './Service';
-import EditableSelect from './EditableSelect';
-import EditableSelectGC from './EditableSelectGC';
-import Editable from './Editable';
-import Button from '@mui/material/Button';
 
-import {copy} from './utils';
 import {TabulatorFull as Tabulator} from "tabulator-tables"; //import Tabulator library
 import "tabulator-tables/dist/css/tabulator.min.css"; //import Tabulator stylesheet
 import './Tabulator.css';

+ 0 - 14
src/Zlje.js

@@ -1,19 +1,5 @@
 import * as React from 'react';
-import Box from "@mui/material/Box";
-import { Grid } from '@mui/material';
-import Tab from "@mui/material/Tab";
-import TabContext from "@mui/lab/TabContext";
-import TabList from "@mui/lab/TabList";
-import TabPanel from "@mui/lab/TabPanel";
-import Stack from "@mui/material/Stack";
-//registerPlugin(NestedRows);
-import Service from './Service';
-import EditableSelect from './EditableSelect';
-import EditableSelectGC from './EditableSelectGC';
-import Editable from './Editable';
-import Button from '@mui/material/Button';
 
-import {copy} from './utils';
 import {TabulatorFull as Tabulator} from "tabulator-tables"; //import Tabulator library
 import "tabulator-tables/dist/css/tabulator.min.css"; //import Tabulator stylesheet
 import './Tabulator.css';

+ 0 - 14
src/Zygczgj.js

@@ -1,19 +1,5 @@
 import * as React from 'react';
-import Box from "@mui/material/Box";
-import { Grid } from '@mui/material';
-import Tab from "@mui/material/Tab";
-import TabContext from "@mui/lab/TabContext";
-import TabList from "@mui/lab/TabList";
-import TabPanel from "@mui/lab/TabPanel";
-import Stack from "@mui/material/Stack";
-//registerPlugin(NestedRows);
-import Service from './Service';
-import EditableSelect from './EditableSelect';
-import EditableSelectGC from './EditableSelectGC';
-import Editable from './Editable';
-import Button from '@mui/material/Button';
 
-import {copy} from './utils';
 import {TabulatorFull as Tabulator} from "tabulator-tables"; //import Tabulator library
 import "tabulator-tables/dist/css/tabulator.min.css"; //import Tabulator stylesheet
 import './Tabulator.css';