150 lines
4.9 KiB
JavaScript
150 lines
4.9 KiB
JavaScript
/*qw6QefI/9grLT0CViR6DSPkP+fieGN9LVHpZpHYPpak=*/
|
|
import { viewModel } from 'nc-lightapp-front';
|
|
export default function updateTableDataTs(param){
|
|
let {props,data,tableId}=param;
|
|
let resultData={},pkTots={};
|
|
let successData=data.grid[tableId]?data.grid[tableId]:data.grid;
|
|
let checked_allpks=successData.allpks;
|
|
let checked_alltss=successData.alltss;
|
|
let resRows=successData.rows;
|
|
resRows&&resRows.forEach((resRow,index)=>{
|
|
if(resRow.rowid){
|
|
resultData[resRow.rowid]=resRow;
|
|
}
|
|
})
|
|
checked_allpks.forEach((pk,index)=>{
|
|
pkTots[pk]=checked_alltss[index];
|
|
})
|
|
let allTableRows=props.table.getAllTableData(tableId);
|
|
let allTableRows_row=allTableRows.rows;
|
|
let allTableRows_allpks=allTableRows.allpks;
|
|
let allTableRows_alltss=allTableRows.alltss;
|
|
//更新ts
|
|
allTableRows_allpks.forEach((pk,index)=>{
|
|
if(pkTots[pk]){
|
|
allTableRows_alltss[index]=pkTots[pk];
|
|
}
|
|
})
|
|
//更新行数据rows
|
|
let updateRows=allTableRows_row.map((row,index)=>{
|
|
if(resultData[row.rowid]){
|
|
row.values=resultData[row.rowid].values;
|
|
}
|
|
return row;
|
|
})
|
|
allTableRows.rows=updateRows;
|
|
props.table.setAllTableData(tableId, allTableRows);
|
|
}
|
|
/**
|
|
* 列表删除数据根据rowid来更新当前页面数据
|
|
* PopupWindowStyle:'success'
|
|
* errMsg:''
|
|
* successIndexs:[]
|
|
* successPKs:[]
|
|
* **/
|
|
export function deleteTableRowsByRowIds(param){
|
|
let {props,data,rowIds,tableId,pkname}=param;
|
|
let deleteRowIds=[];
|
|
let successPKs=data.successPKs;
|
|
if(successPKs&&successPKs.length>0){
|
|
successPKs.forEach((pk,index)=>{
|
|
if(rowIds[pk]){
|
|
deleteRowIds.push(rowIds[pk]);
|
|
}
|
|
})
|
|
}
|
|
if(deleteRowIds&&deleteRowIds.length>0){
|
|
props.table.deleteTableRowsByRowId(tableId, deleteRowIds, { deleteCachePk: true });
|
|
}
|
|
}
|
|
/**
|
|
* 列表删除数据需要同时删除缓存里面的pk和ts
|
|
* props:props
|
|
* checkedRows:[]
|
|
* successPKs:[]//删除成功的pk
|
|
* successTSs:[]//删除成功的pk对应的ts
|
|
* tableId:tableId
|
|
* */
|
|
export function deleteCachePKAndTS(param){
|
|
let {props,checkedRows,successPKs,tableId,pkId,pkname}=param;
|
|
if(!pkId){
|
|
pkId='pk_bill';
|
|
}
|
|
let successTSs=[];
|
|
checkedRows.forEach((item,index)=>{
|
|
if(successPKs.includes(item[pkId])){
|
|
if(item.ts){
|
|
successTSs.push(item.ts);
|
|
}
|
|
}
|
|
})
|
|
props.table.deleteCacheId(tableId,successPKs,successTSs);
|
|
}
|
|
export function getAllCheckedDataNew (props, tableId, billType,pkname) {
|
|
let checkedData = props.table.getCheckedRows(tableId);
|
|
let delObjs = [],rowIds={};
|
|
checkedData.forEach((val) => {
|
|
delObjs.push(Object.assign({
|
|
pk_bill: val.data.values?val.data.values[pkname].value:val.data.pk,
|
|
billno: val.data.values?val.data.values.billno.value:val.data.billno||'',
|
|
ts: val.data.values?val.data.values.ts.value:val.data.ts,
|
|
billType: billType,
|
|
index: val.index,
|
|
rowid:val.data&&val.data.rowid?val.data.rowid:'',
|
|
pageId: props.getSearchParam('p')
|
|
}, this.dataInSaga));
|
|
if(val.data && val.data.rowId){
|
|
let pk=val.data.values[pkname].value;
|
|
rowIds[pk]=val.data.rowId;
|
|
}
|
|
});
|
|
return {delObjs,rowIds};
|
|
};
|
|
|
|
export function updateTableRecordTs(param){
|
|
let {props,data,tableId,pkname}=param;
|
|
let pkTots={};
|
|
let successRecord=data[tableId].rows[0].values;
|
|
let currentRecordPk=successRecord[pkname].value;
|
|
let currentRecordTs=successRecord['ts'].value;
|
|
if(currentRecordPk){
|
|
pkTots[currentRecordPk]=currentRecordTs;
|
|
}
|
|
let allTableRows=props.table.getAllTableData(tableId);
|
|
let allTableRows_row=allTableRows.rows;
|
|
let allTableRows_allpks=allTableRows.allpks;
|
|
let allTableRows_alltss=allTableRows.alltss;
|
|
//更新ts
|
|
allTableRows_allpks.forEach((pk,index)=>{
|
|
if(pkTots[pk]){
|
|
allTableRows_alltss[index]=pkTots[pk];
|
|
}
|
|
})
|
|
//更新行数据rows
|
|
let updateRows=allTableRows_row.map((row,index)=>{
|
|
if(row.values[pkname].value==currentRecordPk){
|
|
row.values=successRecord;
|
|
}
|
|
return row;
|
|
})
|
|
allTableRows.rows=updateRows;
|
|
props.table.setAllTableData(tableId, allTableRows);
|
|
}
|
|
export function updateCacheTss(param){
|
|
let {dataSource,pkname,data,tableId,formId}=param;
|
|
let dataSource_Data = viewModel.getData(dataSource);
|
|
let resPk=data.head[formId]&&data.head[formId].rows[0]&&data.head[formId].rows[0].values[pkname].value;
|
|
let resTs=data.head[formId]&&data.head[formId].rows[0]&&data.head[formId].rows[0].values['ts'].value;
|
|
let allpks=dataSource_Data.simpleTable.allpks;
|
|
let alltss=dataSource_Data.simpleTable.alltss;
|
|
if(alltss&&allpks){
|
|
for(let index=0;index<allpks.length;index++){
|
|
if(resPk==allpks[index]){
|
|
alltss[index]=resTs;
|
|
break;
|
|
}
|
|
}
|
|
viewModel.setData(dataSource, dataSource_Data);
|
|
}
|
|
}
|
|
/*qw6QefI/9grLT0CViR6DSPkP+fieGN9LVHpZpHYPpak=*/ |