|
@@ -37,8 +37,21 @@ function number_equal(a, b) {
|
|
|
return false;
|
|
return false;
|
|
|
}
|
|
}
|
|
|
export default function Djcs2({name, bh, rgde, jxde, clde, beizhu, beizhuFK, clickCallback, loadingCallback, dingeclick}) {
|
|
export default function Djcs2({name, bh, rgde, jxde, clde, beizhu, beizhuFK, clickCallback, loadingCallback, dingeclick}) {
|
|
|
|
|
+ const lastClickRef = React.useRef(null);
|
|
|
|
|
|
|
|
-
|
|
|
|
|
|
|
+ const afterOnCellMouseDown = (event, coord, TD) => {
|
|
|
|
|
+
|
|
|
|
|
+ if (lastClickRef.current == null) {
|
|
|
|
|
+ lastClickRef.current = Date.now();
|
|
|
|
|
+ } else {
|
|
|
|
|
+ let origin = lastClickRef.current;
|
|
|
|
|
+ lastClickRef.current = Date.now();
|
|
|
|
|
+ let delta = lastClickRef.current - origin;
|
|
|
|
|
+ if (delta < 300 && coord.col == 1 && coord.row > 0 && !isQdrcj.current){//300 ms -> 换
|
|
|
|
|
+ //tihuanCallback(coord.row, coord.col);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ };
|
|
|
var editCheck = function(cell){
|
|
var editCheck = function(cell){
|
|
|
//cell - the cell component for the editable cell
|
|
//cell - the cell component for the editable cell
|
|
|
|
|
|
|
@@ -57,6 +70,8 @@ export default function Djcs2({name, bh, rgde, jxde, clde, beizhu, beizhuFK, cli
|
|
|
let bt = "Djcs" ;
|
|
let bt = "Djcs" ;
|
|
|
|
|
|
|
|
if (row._row.data['序号'] != null && row._row.data['序号'].length >0) {
|
|
if (row._row.data['序号'] != null && row._row.data['序号'].length >0) {
|
|
|
|
|
+ selectedRowKeysTableParent.current = row._row['data']['key'];
|
|
|
|
|
+
|
|
|
setFuzhu([]);
|
|
setFuzhu([]);
|
|
|
Service.generateQingdanrcj(name, bh,bt,row._row.data['清单编码']).then(x=>{
|
|
Service.generateQingdanrcj(name, bh,bt,row._row.data['清单编码']).then(x=>{
|
|
|
setRcjhl(x);
|
|
setRcjhl(x);
|
|
@@ -73,6 +88,8 @@ export default function Djcs2({name, bh, rgde, jxde, clde, beizhu, beizhuFK, cli
|
|
|
row_parent = row_parent.modules.dataTree.parent;
|
|
row_parent = row_parent.modules.dataTree.parent;
|
|
|
}
|
|
}
|
|
|
debmRef.current = row._row['data']['清单编码'];
|
|
debmRef.current = row._row['data']['清单编码'];
|
|
|
|
|
+ selectedRowKeysTableParent.current = row_parent['data']['key'];
|
|
|
|
|
+
|
|
|
|
|
|
|
|
clickCallback(row_parent['data']['清单编码'], row._row['data']['清单编码']);
|
|
clickCallback(row_parent['data']['清单编码'], row._row['data']['清单编码']);
|
|
|
Service.generateDingercj(name, bh,bt,row_parent['data']['清单编码'], row._row['data']['清单编码']).then(x=>{
|
|
Service.generateDingercj(name, bh,bt,row_parent['data']['清单编码'], row._row['data']['清单编码']).then(x=>{
|
|
@@ -172,17 +189,14 @@ export default function Djcs2({name, bh, rgde, jxde, clde, beizhu, beizhuFK, cli
|
|
|
const beizhuFKRef = React.useRef(null);
|
|
const beizhuFKRef = React.useRef(null);
|
|
|
|
|
|
|
|
const [fuzhuEnable, setFuzhuEnable] = React.useState(false);
|
|
const [fuzhuEnable, setFuzhuEnable] = React.useState(false);
|
|
|
- const [rowSelectionModel, setRowSelectionModel] = React.useState({
|
|
|
|
|
- type: 'include',
|
|
|
|
|
- ids: new Set(),
|
|
|
|
|
- });
|
|
|
|
|
|
|
+
|
|
|
const [selectedRowKeys, setSelectedRowKeys] = React.useState([]);
|
|
const [selectedRowKeys, setSelectedRowKeys] = React.useState([]);
|
|
|
const onSelectChange = (newSelectedRowKeys) => {
|
|
const onSelectChange = (newSelectedRowKeys) => {
|
|
|
console.log('selectedRowKeys changed: ', newSelectedRowKeys);
|
|
console.log('selectedRowKeys changed: ', newSelectedRowKeys);
|
|
|
setSelectedRowKeys(newSelectedRowKeys);
|
|
setSelectedRowKeys(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) {
|
|
if (newData) {
|
|
|
- myTable.current.updateData(newData);
|
|
|
|
|
|
|
+ myTable.current.updateData(newData.filter(x=>x['key'] == selectedRowKeysTableParent.current));
|
|
|
setRcjhl(newHl);
|
|
setRcjhl(newHl);
|
|
|
|
|
|
|
|
}
|
|
}
|
|
@@ -205,6 +219,7 @@ export default function Djcs2({name, bh, rgde, jxde, clde, beizhu, beizhuFK, cli
|
|
|
const isQdrcj = React.useRef(false);
|
|
const isQdrcj = React.useRef(false);
|
|
|
const debmRef = React.useRef(null);
|
|
const debmRef = React.useRef(null);
|
|
|
const selectedRowKeysTable = React.useRef([]);
|
|
const selectedRowKeysTable = React.useRef([]);
|
|
|
|
|
+ const selectedRowKeysTableParent = React.useRef(null);
|
|
|
const afterChange = (changes, source) => {
|
|
const afterChange = (changes, source) => {
|
|
|
if (changes == null || changes.every(x=>x[2] == x[3])) {
|
|
if (changes == null || changes.every(x=>x[2] == x[3])) {
|
|
|
|
|
|
|
@@ -216,7 +231,7 @@ export default function Djcs2({name, bh, rgde, jxde, clde, beizhu, beizhuFK, cli
|
|
|
setRcjhl(data);
|
|
setRcjhl(data);
|
|
|
|
|
|
|
|
let newData = updateDercj_djcs(selectedRowKeysTable.current[0], data);
|
|
let newData = updateDercj_djcs(selectedRowKeysTable.current[0], data);
|
|
|
- myTable.current.updateData(newData).then(function() {
|
|
|
|
|
|
|
+ myTable.current.updateData(newData.filter(x=>x['key'] == selectedRowKeysTableParent.current)).then(function() {
|
|
|
let getRow = myTable.current.getSelectedRows(); //get array of currently selected row components.
|
|
let getRow = myTable.current.getSelectedRows(); //get array of currently selected row components.
|
|
|
//getRow[0].select();
|
|
//getRow[0].select();
|
|
|
handleSelect(getRow[0]);
|
|
handleSelect(getRow[0]);
|
|
@@ -280,7 +295,7 @@ export default function Djcs2({name, bh, rgde, jxde, clde, beizhu, beizhuFK, cli
|
|
|
myTable.current.deselectRow();
|
|
myTable.current.deselectRow();
|
|
|
let [success, data] = updateShuliang_djcs(cell._cell.row.data['数量'], selectedRowKeysTable.current[0]);
|
|
let [success, data] = updateShuliang_djcs(cell._cell.row.data['数量'], selectedRowKeysTable.current[0]);
|
|
|
if (success) {
|
|
if (success) {
|
|
|
- myTable.current.updateData(data).then(function() {
|
|
|
|
|
|
|
+ myTable.current.updateData(data.filter(x=>x['key'] == selectedRowKeysTableParent.current)).then(function() {
|
|
|
let getRow = myTable.current.getRows(); //get array of currently selected row components.
|
|
let getRow = myTable.current.getRows(); //get array of currently selected row components.
|
|
|
let component = null;
|
|
let component = null;
|
|
|
for(let i = 0; i < getRow.length; i++) {
|
|
for(let i = 0; i < getRow.length; i++) {
|
|
@@ -348,7 +363,7 @@ export default function Djcs2({name, bh, rgde, jxde, clde, beizhu, beizhuFK, cli
|
|
|
if (selectedRowKeysTable.current.length > 0 ) {
|
|
if (selectedRowKeysTable.current.length > 0 ) {
|
|
|
const [success, data, key] = changguidinge_djcs(JSON.parse(dingeclick), selectedRowKeysTable.current[0]);
|
|
const [success, data, key] = changguidinge_djcs(JSON.parse(dingeclick), selectedRowKeysTable.current[0]);
|
|
|
if (success) {
|
|
if (success) {
|
|
|
- myTable.current.updateData(data).then(function(){
|
|
|
|
|
|
|
+ myTable.current.updateData(data.filter(x=>x['key'] == selectedRowKeysTableParent.current)).then(function(){
|
|
|
let getRow = myTable.current.getRows(); //get array of currently selected row components.
|
|
let getRow = myTable.current.getRows(); //get array of currently selected row components.
|
|
|
let component = null;
|
|
let component = null;
|
|
|
for(let i = 0; i < getRow.length; i++) {
|
|
for(let i = 0; i < getRow.length; i++) {
|
|
@@ -481,8 +496,9 @@ export default function Djcs2({name, bh, rgde, jxde, clde, beizhu, beizhuFK, cli
|
|
|
if (selectedRowKeysTable.current.length > 0) {
|
|
if (selectedRowKeysTable.current.length > 0) {
|
|
|
const [success, data] = danxiangdinge_djcs(selectedRowKeysTable.current[0]);
|
|
const [success, data] = danxiangdinge_djcs(selectedRowKeysTable.current[0]);
|
|
|
if(success) {
|
|
if(success) {
|
|
|
- myTable.current.updateData(data).then(function(){
|
|
|
|
|
|
|
+ myTable.current.updateData(data.filter(x=>x['key'] == selectedRowKeysTableParent.current)).then(function(){
|
|
|
selectedRowKeysTable.current = [];
|
|
selectedRowKeysTable.current = [];
|
|
|
|
|
+ selectedRowKeysTableParent.current = null;
|
|
|
setRcjhl([]);
|
|
setRcjhl([]);
|
|
|
setFuzhu([]);
|
|
setFuzhu([]);
|
|
|
isQdrcj.current = true;
|
|
isQdrcj.current = true;
|
|
@@ -498,9 +514,10 @@ export default function Djcs2({name, bh, rgde, jxde, clde, beizhu, beizhuFK, cli
|
|
|
<Button variant="outlined" size="small" onClick={() => {
|
|
<Button variant="outlined" size="small" onClick={() => {
|
|
|
if (selectedRowKeysTable.current.length > 0) {
|
|
if (selectedRowKeysTable.current.length > 0) {
|
|
|
let newData = shanchu_djcs(selectedRowKeysTable.current[0]);
|
|
let newData = shanchu_djcs(selectedRowKeysTable.current[0]);
|
|
|
- myTable.current.updateData(newData).then(function(){
|
|
|
|
|
|
|
+ myTable.current.updateData(newData.filter(x=>x['key'] == selectedRowKeysTableParent.current)).then(function(){
|
|
|
if (newData.filter(x=>x['key'] == selectedRowKeysTable.current[0]).length == 0) {
|
|
if (newData.filter(x=>x['key'] == selectedRowKeysTable.current[0]).length == 0) {
|
|
|
selectedRowKeysTable.current = [];
|
|
selectedRowKeysTable.current = [];
|
|
|
|
|
+ selectedRowKeysTableParent.current = [];
|
|
|
setRcjhl([]);
|
|
setRcjhl([]);
|
|
|
setFuzhu([]);
|
|
setFuzhu([]);
|
|
|
isQdrcj.current = true;
|
|
isQdrcj.current = true;
|
|
@@ -521,6 +538,7 @@ export default function Djcs2({name, bh, rgde, jxde, clde, beizhu, beizhuFK, cli
|
|
|
myTable.current.updateData(newData).then(function(){
|
|
myTable.current.updateData(newData).then(function(){
|
|
|
|
|
|
|
|
selectedRowKeysTable.current = [];
|
|
selectedRowKeysTable.current = [];
|
|
|
|
|
+ selectedRowKeysTableParent.current = null;
|
|
|
setRcjhl([]);
|
|
setRcjhl([]);
|
|
|
setFuzhu([]);
|
|
setFuzhu([]);
|
|
|
isQdrcj.current = true;
|
|
isQdrcj.current = true;
|
|
@@ -536,6 +554,8 @@ export default function Djcs2({name, bh, rgde, jxde, clde, beizhu, beizhuFK, cli
|
|
|
let newData = redo_djcs();
|
|
let newData = redo_djcs();
|
|
|
myTable.current.updateData(newData).then(function(){
|
|
myTable.current.updateData(newData).then(function(){
|
|
|
selectedRowKeysTable.current = [];
|
|
selectedRowKeysTable.current = [];
|
|
|
|
|
+ selectedRowKeysTableParent.current = null;
|
|
|
|
|
+
|
|
|
setRcjhl([]);
|
|
setRcjhl([]);
|
|
|
setFuzhu([]);
|
|
setFuzhu([]);
|
|
|
isQdrcj.current = true;
|
|
isQdrcj.current = true;
|
|
@@ -593,6 +613,7 @@ export default function Djcs2({name, bh, rgde, jxde, clde, beizhu, beizhuFK, cli
|
|
|
rowHeaders={true}
|
|
rowHeaders={true}
|
|
|
colHeaders={true}
|
|
colHeaders={true}
|
|
|
height="200"
|
|
height="200"
|
|
|
|
|
+ afterOnCellMouseDown={afterOnCellMouseDown}
|
|
|
readOnly={true}
|
|
readOnly={true}
|
|
|
fixedRowsTop={1}
|
|
fixedRowsTop={1}
|
|
|
selectionMode="single"
|
|
selectionMode="single"
|