diff --git a/src/components/common/treeCaseTable/loadCaseTable.vue b/src/components/common/treeCaseTable/loadCaseTable.vue
index 715978b2..a51a28b0 100644
--- a/src/components/common/treeCaseTable/loadCaseTable.vue
+++ b/src/components/common/treeCaseTable/loadCaseTable.vue
@@ -18,12 +18,12 @@
-
+
+
@@ -264,7 +270,7 @@ const addRowFun = (nodeType?: any) => {
const editRowFun = (row: any) => {
operationType.value = OPERATION_TYPE.EDIT;
modalNodeType.value = row.nodeType;
- modalDetail.value = { ...row, planTime: [row.beginTime, row.endTime] };
+ modalDetail.value = { ...row, planTime: [row.beginTime, row.endTime], eMemberListArr: row.eMemberList, pMemberListArr: row.pMemberList };
modalVisible.value = true;
};
diff --git a/src/components/common/treeCaseTable/nodeDetailDialog.vue b/src/components/common/treeCaseTable/nodeDetailDialog.vue
index 057c2e31..cdf802a2 100644
--- a/src/components/common/treeCaseTable/nodeDetailDialog.vue
+++ b/src/components/common/treeCaseTable/nodeDetailDialog.vue
@@ -43,7 +43,7 @@ import { ref, computed, nextTick, watch } from 'vue';
import Dialog from '@/components/common/dialog/index.vue';
import TableForm from '@/components/common/table/tableForm.vue';
import { getTagKeyMap, NODE_TYPE } from '@/utils/enum/node';
-import { getMemberListStr } from '@/utils/task';
+import { getMemberListIds } from '@/utils/task';
import { disposeTagKey } from '@/views/task/projectDetail/components/project';
import { isCategoryType, isCategoryNodeType } from '@/utils/node';
import flowTemplateSelect from './flowTemplateSelect.vue';
@@ -89,7 +89,7 @@ const onShowFun = () => {
resetFun();
nextTick(() => {
if (localDetail.value) {
- tableFormRef.value?.setFormDataFun({ ...localDetail.value, eMemberList: getMemberListStr(localDetail.value.eMemberList), pMemberList: getMemberListStr(localDetail.value.pMemberList) });
+ tableFormRef.value?.setFormDataFun({ ...localDetail.value, eMemberList: getMemberListIds(localDetail.value.eMemberList), pMemberList: getMemberListIds(localDetail.value.pMemberList) });
standard.value = localDetail.value.standard;
if (localDetail.value.flowTemplate) {
selectedFlowTemplate.value = localDetail.value.flowTemplate;
@@ -131,6 +131,14 @@ const onConfirmFun = async () => {
formData.beginTime = formData.planTime[0];
formData.endTime = formData.planTime[1];
}
+ formData.pMemberIds = '';
+ if (formData.pMemberList?.length > 0) {
+ formData.pMemberIds = formData.pMemberList.map((i:any) => i.id).join(',');
+ }
+ formData.eMemberIds = '';
+ if (formData.eMemberList?.length > 0) {
+ formData.eMemberIds = formData.eMemberList.map((i:any) => i.id).join(',');
+ }
emits('confirm', formData);
}
};
diff --git a/src/components/common/treeCaseTable/treeTable.vue b/src/components/common/treeCaseTable/treeTable.vue
index fa47e57f..4ce78c6b 100644
--- a/src/components/common/treeCaseTable/treeTable.vue
+++ b/src/components/common/treeCaseTable/treeTable.vue
@@ -44,6 +44,18 @@
+
+ {{ disposeMemberList(row,'pMemberList') }}
+
+
+ changeUserFun(row,data,'pMemberList','pMemberIds')" :multiple="true" v-model="row[column.field]">
+
+
+ {{ disposeMemberList(row,'eMemberList') }}
+
+
+ changeUserFun(row,data,'eMemberList','eMemberIds')" :multiple="true" v-model="row[column.field]">
+
();
@@ -312,6 +327,12 @@ const treeDataFormatFun = (data: any, build: any, pId: any) => {
return build;
};
+const changeUserFun = (row:any, data:any, listKey:string, idKey:string) => {
+ console.log('changeUserFun', row, data);
+ row[listKey] = data;
+ row[idKey] = getMemberListIds(data);
+};
+
watch(() => props.data, (val: any) => {
treeData.value = treeDataFormatFun(val, [], '0');
}, { immediate: true });
diff --git a/src/components/project/nodeLevel2Select.vue b/src/components/project/nodeLevel2Select.vue
index 014c09d9..d84edb62 100644
--- a/src/components/project/nodeLevel2Select.vue
+++ b/src/components/project/nodeLevel2Select.vue
@@ -5,10 +5,14 @@
diff --git a/src/components/project/projectInfoDialog.vue b/src/components/project/projectInfoDialog.vue
index 3eb7cf80..851fde95 100644
--- a/src/components/project/projectInfoDialog.vue
+++ b/src/components/project/projectInfoDialog.vue
@@ -77,7 +77,7 @@ import { computed, reactive, ref, watch } from 'vue';
import { getProjectExeStatus, getTagMapList } from '@/views/task/projectDetail/components/project';
import TableForm from '@/components/common/table/tableForm.vue';
import { PROJECT_EXE_STATUS_CODE } from '@/utils/enum/project';
-import { getMemberListStr } from '@/utils/task';
+import { getMemberListIds } from '@/utils/task';
const props = defineProps<{
modelValue: boolean;
@@ -191,7 +191,7 @@ const closeFun = () => {
// const setEditForm = (val: any) => {
// console.log('val', val, tableFormRef.value);
// nextTick(() => {
-// const memberStr = getMemberListStr(val?.memberList);
+// const memberStr = getMemberListIds(val?.memberList);
// tableFormRef.value.setFormDataFun({ ...val, memberList: memberStr });
// });
// };
@@ -236,8 +236,8 @@ const getNodeDetailFun = async() => {
for (const key in res.data) {
projectInfo[key] = res.data[key];
}
- console.log('123', { ...projectInfo, planTime: [projectInfo.beginTime, projectInfo.endTime], memberList: getMemberListStr(projectInfo.memberList) });
- tableFormRef.value.setFormDataFun({ ...projectInfo, planTime: [projectInfo.beginTime, projectInfo.endTime], memberList: getMemberListStr(projectInfo.memberList) });
+ console.log('123', { ...projectInfo, planTime: [projectInfo.beginTime, projectInfo.endTime], memberList: getMemberListIds(projectInfo.memberList) });
+ tableFormRef.value.setFormDataFun({ ...projectInfo, planTime: [projectInfo.beginTime, projectInfo.endTime], memberList: getMemberListIds(projectInfo.memberList) });
}
}
}
diff --git a/src/utils/node.ts b/src/utils/node.ts
index 6eeafdee..aed5def7 100644
--- a/src/utils/node.ts
+++ b/src/utils/node.ts
@@ -1,5 +1,6 @@
import { nodeTypeList, NODE_TYPE, LEVEL_TYPE, nodeTypeRelations, poolNodePropPickMap, poolNodeExtraPropPickMap } from '@/utils/enum/node';
import type { TreeNode } from '@/utils/enum/node';
+import { getMemberListIds } from './task';
export const toMap = (list: { value: T, label: U }[]): Record => {
return (list.reduce((obj, { value, label }) => {
@@ -200,6 +201,14 @@ export const transformTreeToPoolNodes = (tree: TreeNode[]) => {
export const translateLoadcaseTree = (list: any[]) => {
const arr = list.map(item => {
item.fakeId = item.uuid;
+ item.pMemberIds = '';
+ if (item.pMemberList?.length > 0) {
+ item.pMemberIds = getMemberListIds(item.pMemberList);
+ }
+ item.eMemberIds = '';
+ if (item.eMemberList?.length > 0) {
+ item.eMemberIds = getMemberListIds(item.eMemberList);
+ }
if (Array.isArray(item.children)) {
item.children = translateLoadcaseTree(item.children);
}
diff --git a/src/utils/task.ts b/src/utils/task.ts
index f34ca979..f6ddb34a 100644
--- a/src/utils/task.ts
+++ b/src/utils/task.ts
@@ -11,7 +11,12 @@ export const disposeSimType = (demandType: string, simType:string) => {
return simType;
};
-export const getMemberListStr = (memberList: any[]) => {
+/**
+ *
+ * @param memberList
+ * @returns 用户ids,逗号隔开的id字符串
+ */
+export const getMemberListIds = (memberList: any[]) => {
const list = cloneDeep(memberList);
if (Array.isArray(list)) {
return list.map((item:any) => {
diff --git a/src/views/simulation/creation/components/approveDialog.vue b/src/views/simulation/creation/components/approveDialog.vue
index 9f87059b..d1f7b8c5 100644
--- a/src/views/simulation/creation/components/approveDialog.vue
+++ b/src/views/simulation/creation/components/approveDialog.vue
@@ -40,7 +40,7 @@
+
diff --git a/src/views/task/simulationTask/confirmTask/components/batchSendTask.vue b/src/views/task/simulationTask/confirmTask/components/batchSendTask.vue
index ac6bdfb1..e4ff2577 100644
--- a/src/views/task/simulationTask/confirmTask/components/batchSendTask.vue
+++ b/src/views/task/simulationTask/confirmTask/components/batchSendTask.vue
@@ -140,7 +140,7 @@ import { ElMessage } from 'element-plus';
import { getTaskTreeFun } from '@/views/task/projectDetail/components/projectApi';
import { filterTask, getIdMap } from '@/views/task/projectDetail/components/project';
import { tagSortList } from '@/utils/enum/node';
-import { getMemberListStr } from '@/utils/task';
+import { getMemberListIds } from '@/utils/task';
import { issuedTaskApi } from '@/api/project/demand';
const props = defineProps({
@@ -205,7 +205,7 @@ const confirmFun = async() => {
tagProperty[item] = parentNodeInfo[item] ? parentNodeInfo[item].split(',') : [];
});
const idMap = getIdMap(demandItem.projectId, demandItem.phaseId);
- const pMemberListStr = getMemberListStr(demandItem.pMemberList);
+ const pMemberListStr = getMemberListIds(demandItem.pMemberList);
if (demandItem.insertMode === 'lib') {
const addTaskList = demandItem.chooseTaskList.map((task:any) => {
return {
@@ -333,7 +333,7 @@ onMounted(async() => {
insertMode: 'lib',
taskName: item.demandName,
chooseTaskList: [],
- eMemberList: getMemberListStr(item.eMemberList),
+ eMemberList: getMemberListIds(item.eMemberList),
planTime: [item.beginTime, item.endTime],
};
}));
diff --git a/src/views/task/simulationTask/confirmTask/index.vue b/src/views/task/simulationTask/confirmTask/index.vue
index f8d9d6cc..5483062b 100644
--- a/src/views/task/simulationTask/confirmTask/index.vue
+++ b/src/views/task/simulationTask/confirmTask/index.vue
@@ -202,7 +202,7 @@ import { getTaskTreeFun } from '../../projectDetail/components/projectApi';
import { tagSortList } from '@/utils/enum/node';
import { filterTask, getIdMap } from '../../projectDetail/components/project';
import batchSendTask from './components/batchSendTask.vue';
-import { getMemberListStr } from '@/utils/task';
+import { getMemberListIds } from '@/utils/task';
// const commonStore = CommonStore();
const bachSendVisible = ref(false);
@@ -357,7 +357,7 @@ const sendTaskConfirmFun = () => {
tagProperty[item] = parentNodeInfo[item] ? parentNodeInfo[item].split(',') : [];
});
let params = {};
- const pMemberListStr = getMemberListStr(sendForm.pMemberList);
+ const pMemberListStr = getMemberListIds(sendForm.pMemberList);
if (insertTaskMode.value === 'lib') {
const addTaskList = sendForm.chooseTaskList.map((item:any) => {
return {
@@ -417,7 +417,7 @@ const sendTaskFun = async(row:any) => {
}
}
sendForm.taskName = row.demandName;
- sendForm.eMemberList = getMemberListStr(row.eMemberList);
+ sendForm.eMemberList = getMemberListIds(row.eMemberList);
console.log('sendForm', sendForm, row);
};
diff --git a/src/views/task/simulationTask/mySend/index.vue b/src/views/task/simulationTask/mySend/index.vue
index 813ea2b7..8958c1ba 100644
--- a/src/views/task/simulationTask/mySend/index.vue
+++ b/src/views/task/simulationTask/mySend/index.vue
@@ -68,7 +68,7 @@ import Dialog from '@/components/common/dialog/index.vue';
import TableForm from '@/components/common/table/tableForm.vue';
import { tableActionsLength } from '@/utils/common';
import dayjs from 'dayjs';
-import { getMemberListStr } from '@/utils/task';
+import { getMemberListIds } from '@/utils/task';
const exeTableRef = ref();
@@ -105,7 +105,7 @@ const editTaskFun = (row: any) => {
};
const setFormData = (row: any) => {
if (tableFormRef.value) {
- tableFormRef.value.setFormDataFun({ ...row, achieveStatus: row.achieveStatus + '', eMemberList: getMemberListStr(row.eMemberList) });
+ tableFormRef.value.setFormDataFun({ ...row, achieveStatus: row.achieveStatus + '', eMemberList: getMemberListIds(row.eMemberList) });
}
};
@@ -176,7 +176,7 @@ const confirmFun = async() => {
exeStatus: fromData.exeStatus,
achieveStatus: fromData.achieveStatus,
process: fromData.progress,
- pMemberList: getMemberListStr(fromData.pMemberList),
+ pMemberList: getMemberListIds(fromData.pMemberList),
nodeName: fromData.taskName,
},
};
diff --git a/src/views/task/simulationTask/newDemand/index.vue b/src/views/task/simulationTask/newDemand/index.vue
index 82efbf08..5024501d 100644
--- a/src/views/task/simulationTask/newDemand/index.vue
+++ b/src/views/task/simulationTask/newDemand/index.vue
@@ -125,7 +125,7 @@ import { ElMessage } from 'element-plus';
import { dataDelFileApi, dataQueryDirApi } from '@/api/data/data';
import demandTable from '../components/demandTable.vue';
import { tableActionsLength } from '@/utils/common';
-import { getMemberListStr } from '@/utils/task';
+import { getMemberListIds } from '@/utils/task';
const env = import.meta.env;
const PREFIX = env.VITE_API_PREFIX_PROJECT;
@@ -207,7 +207,7 @@ const visibleDialog = async( visible:boolean, row?: any) => {
tableFormRef.value.setOptionsFun('simType', simList.A);
let pMemberList = '';
if (row.pMemberList) {
- pMemberList = getMemberListStr(row.pMemberList);
+ pMemberList = getMemberListIds(row.pMemberList);
}
tableFormRef.value.setFormDataFun({ ...row, pMemberList });
});