|
@@ -750,55 +750,86 @@ const tableFormSaveClick = async () => {
|
|
setAllListData(curform)
|
|
setAllListData(curform)
|
|
// alllistData.value.forEach((item)=>{
|
|
// alllistData.value.forEach((item)=>{
|
|
// if(item.pKeyId===item1.pkeyId){
|
|
// if(item.pKeyId===item1.pkeyId){
|
|
-
|
|
|
|
- console.log(orgAlllistData.value, "orgAlllistData");
|
|
|
|
|
|
+
|
|
|
|
+ console.log(orgAlllistData, "orgAlllistData");
|
|
|
|
+
|
|
let operTrue = alllistData.value.filter(e => e.oper); //操作的数据
|
|
let operTrue = alllistData.value.filter(e => e.oper); //操作的数据
|
|
let types = []
|
|
let types = []
|
|
operTrue.forEach(e => {
|
|
operTrue.forEach(e => {
|
|
types.push(e.type);
|
|
types.push(e.type);
|
|
})
|
|
})
|
|
let setTypes = Array.from(new Set(types))
|
|
let setTypes = Array.from(new Set(types))
|
|
- let type = setTypes[0];
|
|
|
|
- if (setTypes.length > 1 || !isaddType) {
|
|
|
|
- FormData = alllistData.value;
|
|
|
|
- listItemBaseData.value.tableType = "1,2"
|
|
|
|
-
|
|
|
|
- if (!isaddType && setTypes.length <= 1) { //没有切换的时候,需要添加没切换的数据
|
|
|
|
- //编辑的时候,什么都不操作,原有type为undefined,需取当前页面type
|
|
|
|
- type = setTypes.length == 0 ? alllistData.value[0].type : type;
|
|
|
|
-
|
|
|
|
- let notChangeData = orgAlllistData.value.filter(e => e.tableType !== type);
|
|
|
|
- notChangeData.forEach(item => {
|
|
|
|
- let data = {
|
|
|
|
- projectId: item.projectId,
|
|
|
|
- contractId: contractId.value,
|
|
|
|
- pkeyId: item.pKeyId,
|
|
|
|
- nodeId: routerQuery?.nodeId,
|
|
|
|
- isCollapseLoad: false,
|
|
|
|
- isBussShow:item.isBussShow
|
|
|
|
- }
|
|
|
|
- // 过滤存在的key_的键值
|
|
|
|
- let ishasKey= Object.keys(item).filter(e => e.indexOf("key_") >= 0)
|
|
|
|
- if (ishasKey.length > 0) {
|
|
|
|
- ishasKey.forEach(key => {
|
|
|
|
- data[key] = item[key]
|
|
|
|
- })
|
|
|
|
- }
|
|
|
|
- FormData.push(data)
|
|
|
|
- })
|
|
|
|
- }
|
|
|
|
- } else {
|
|
|
|
- FormData = alllistData.value.filter(e => e.type == type);
|
|
|
|
- listItemBaseData.value.tableType = type
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
|
|
+ let type = setTypes.length > 0 ? setTypes[0] : "";
|
|
|
|
+
|
|
|
|
+ if (isaddType) { //新增
|
|
|
|
+ if (setTypes.length > 1) {
|
|
|
|
+ FormData = alllistData.value;
|
|
|
|
+ listItemBaseData.value.tableType = "1,2"
|
|
|
|
+ } else {
|
|
|
|
+ FormData = alllistData.value.filter(e => e.type == type);
|
|
|
|
+ listItemBaseData.value.tableType = type
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ else { //编辑
|
|
|
|
+ FormData = alllistData.value;
|
|
|
|
+
|
|
|
|
+ const info = getStoreData('test-form')
|
|
|
|
+ let recordNo = info.recordNo
|
|
|
|
+ let reportNo = info.reportNo
|
|
|
|
+
|
|
|
|
+ //组装type
|
|
|
|
+ if (recordNo ==='' && reportNo !=='') {
|
|
|
|
+ listItemBaseData.value.tableType = "2"
|
|
|
|
+ } else if (recordNo !=='' && reportNo ==='') {
|
|
|
|
+ listItemBaseData.value.tableType = "1"
|
|
|
|
+ } else {
|
|
|
|
+ listItemBaseData.value.tableType = "1,2"
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ console.log(listItemBaseData.value.tableType,"listItemBaseData.value.tableType ");
|
|
|
|
+
|
|
|
|
+ let notChangeData = []
|
|
|
|
+ if (setTypes.length == 0) { //没操作过页面数据
|
|
|
|
+ FormData = []
|
|
|
|
+ notChangeData = orgAlllistData.value //默认就是原始左右全部数据
|
|
|
|
+ if (listItemBaseData.value.tableType.length === 1) { //从原始数据过滤当前页面数据
|
|
|
|
+ notChangeData = orgAlllistData.value.filter(e => e.tableType === listItemBaseData.value.tableType);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ else if (setTypes.length == 1) {// 操作过一边的数据
|
|
|
|
+ let tableTypeArr = listItemBaseData.value.tableType.split(",");
|
|
|
|
+ if (tableTypeArr[0] != type) { //两边都有数据/当前操作的数据不是进来时的选项,筛选另一边的数据
|
|
|
|
+ listItemBaseData.value.tableType = "1,2"
|
|
|
|
+ }
|
|
|
|
+ } else { //两边都操作
|
|
|
|
+ listItemBaseData.value.tableType = "1,2"
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ notChangeData.forEach(item => {
|
|
|
|
+ let data = {
|
|
|
|
+ projectId: item.projectId,
|
|
|
|
+ contractId: contractId.value,
|
|
|
|
+ pkeyId: item.pKeyId,
|
|
|
|
+ nodeId: routerQuery?.nodeId,
|
|
|
|
+ isCollapseLoad: false
|
|
|
|
+ }
|
|
|
|
+ // 过滤存在的key_的键值
|
|
|
|
+ let ishasKey= Object.keys(item).filter(e => e.indexOf("key_") >= 0)
|
|
|
|
+ if (ishasKey.length > 0) {
|
|
|
|
+ ishasKey.forEach(key => {
|
|
|
|
+ data[key] = item[key]
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+ FormData.push(data)
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
|
|
let FormRegExpJson = ListItemRef.value?.getFormRegExpJson()
|
|
let FormRegExpJson = ListItemRef.value?.getFormRegExpJson()
|
|
console.log(isaddType,'isaddType');
|
|
console.log(isaddType,'isaddType');
|
|
console.log(FormData,'FormData1111111111');
|
|
console.log(FormData,'FormData1111111111');
|
|
|
|
|
|
- if(isaddType&&FormData.length==0){
|
|
|
|
- console.log('什么都不操作新增');
|
|
|
|
|
|
+ if(isaddType&&FormData.length==0||!isaddType&&FormData.length==0){
|
|
|
|
+ console.log('什么都不操作新增或者编辑');
|
|
if(tabTypeKey.value ==1){
|
|
if(tabTypeKey.value ==1){
|
|
FormData=alllistData.value.filter((itenel)=>{
|
|
FormData=alllistData.value.filter((itenel)=>{
|
|
return itenel.type==1
|
|
return itenel.type==1
|
|
@@ -873,14 +904,23 @@ const setAllListData = (curform) => {
|
|
curform.forEach((item)=>{
|
|
curform.forEach((item)=>{
|
|
let pkeyId = item.pkeyId;
|
|
let pkeyId = item.pkeyId;
|
|
item.oper = false
|
|
item.oper = false
|
|
|
|
+
|
|
let ishasKey= Object.keys(item).filter(e => e.indexOf("key_") >= 0)
|
|
let ishasKey= Object.keys(item).filter(e => e.indexOf("key_") >= 0)
|
|
if (ishasKey.length>0) { //筛出当前编辑过的数据
|
|
if (ishasKey.length>0) { //筛出当前编辑过的数据
|
|
item.oper = true
|
|
item.oper = true
|
|
}
|
|
}
|
|
|
|
|
|
- let types = orgAlllistData.value.filter(e => e.pKeyId === pkeyId);
|
|
|
|
- item.type = types[0]?.tableType;
|
|
|
|
|
|
+ let orgData = orgAlllistData.value.filter(e => e.pKeyId === pkeyId);
|
|
|
|
+ item.type = orgData[0]?.tableType;
|
|
alllistData.value = alllistData.value.filter(e => e.pkeyId != pkeyId); //去掉老数据
|
|
alllistData.value = alllistData.value.filter(e => e.pkeyId != pkeyId); //去掉老数据
|
|
|
|
+
|
|
|
|
+ ishasKey= Object.keys(orgData[0]).filter(e => e.indexOf("key_") >= 0)
|
|
|
|
+ if (!item.isCollapseLoad && ishasKey.length>0) { //没操作过,并且存在KEY
|
|
|
|
+ ishasKey.forEach(key => {
|
|
|
|
+ item[key] = orgData[0][key]
|
|
|
|
+ })
|
|
|
|
+ }
|
|
|
|
+
|
|
alllistData.value.push(item) //加入新数据
|
|
alllistData.value.push(item) //加入新数据
|
|
})
|
|
})
|
|
|
|
|