Gfsj.js 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. import * as React from 'react';
  2. import Box from "@mui/material/Box";
  3. import {RichTreeView } from "@mui/x-tree-view/RichTreeView";
  4. import { Grid } from '@mui/material';
  5. import Tab from "@mui/material/Tab";
  6. import TabContext from "@mui/lab/TabContext";
  7. import TabList from "@mui/lab/TabList";
  8. import TabPanel from "@mui/lab/TabPanel";
  9. import Stack from "@mui/material/Stack";
  10. //registerPlugin(NestedRows);
  11. import Service from './Service';
  12. import EditableSelect from './EditableSelect';
  13. import EditableSelectGC from './EditableSelectGC';
  14. import Editable from './Editable';
  15. import Button from '@mui/material/Button';
  16. import {copy} from './utils';
  17. import {TabulatorFull as Tabulator} from "tabulator-tables"; //import Tabulator library
  18. import "tabulator-tables/dist/css/tabulator.min.css"; //import Tabulator stylesheet
  19. import './Tabulator.css';
  20. export default function Gfsj({data}) {
  21. const myRef = React.useRef();
  22. const myTable = React.useRef(null);
  23. React.useEffect(() => {
  24. myTable.current = new Tabulator(myRef.current, {
  25. index: "key",
  26. height: 600,
  27. data: data, //link data to table
  28. reactiveData: false, //enable data reactivity
  29. dataTreeStartExpanded:true,
  30. dataTree: true,
  31. selectableRows:1, //make rows selectable
  32. editTriggerEvent:"dblclick", //trigger edit on double click
  33. dataTreeStartExpanded:function(row, level){
  34. //console.log(row);
  35. //console.log(level);
  36. return true; //expand rows where the "driver" data field is true;
  37. },
  38. columns: [ //Define Table Columns 序号", "名称", "取费基数", "计算基础","费率", "金额", "类别
  39. {title:"序号", field:"序号", width:80, headerSort:false,}, //never hide this column
  40. {title:"名称", field:"名称", width:150, headerSort:false, formatter:"textarea"}, //hide this column first
  41. {title:"取费基数", field:"取费基数", width:100 , headerSort:false, formatter:"money"},
  42. {title:"计算基础", field:"计算基础", width:350, headerSort:false, formatter: "textarea"},
  43. {title:"费率", field:"费率", width:100, headerSort:true, sorter:"number", formatter:"textarea", },
  44. {title:"金额", field:"金额", width:100, headerSort:true, sorter:"number", formatter:"money", },
  45. {title:"类别", field:"类别", width:100, headerSort:true, sorter:"number", formatter:"textarea"},
  46. ]
  47. });
  48. myTable.current.on("cellDblClick", function(e, cell){
  49. //e - the click event object
  50. //cell - cell component
  51. console.log(cell);
  52. });
  53. //myTable.current.on("rowSelected", handleSelect);
  54. }, [data]);
  55. return (
  56. <div ref={myRef}>
  57. </div>
  58. );
  59. }