分发任务,默认选好插入位置和学科
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<Dialog v-model="dialogVisible" diaTitle="流程预览" width="80%" height="700" @close="closeFun">
|
||||
<Dialog v-model="dialogVisible" :showFooter="false" diaTitle="流程预览" width="80%" height="700" @close="closeFun">
|
||||
<div class="flow-box">
|
||||
<FlowView type="review" :flowUuid="flowUuid"></FlowView>
|
||||
</div>
|
||||
|
||||
@@ -47,7 +47,8 @@
|
||||
{{ TASK_PROGRESS_STATUS.O[row.actualProgress] }}
|
||||
</template>
|
||||
<template #discipline="{ row }">
|
||||
{{ DISCIPLINE_TYPE.O[row.discipline] }}
|
||||
<span v-if="DISCIPLINE_TYPE.O[row.discipline]">{{ DISCIPLINE_TYPE.O[row.discipline] }}</span>
|
||||
<span v-else>{{ row.discipline }}</span>
|
||||
</template>
|
||||
<template #taskName="{ row }">
|
||||
<span class="task-name" @click="nameClickFun(row)">
|
||||
|
||||
@@ -42,7 +42,7 @@
|
||||
</div>
|
||||
</template>
|
||||
<template #discipline="{ row }">
|
||||
<el-select class="loadcase-lib" v-show="row.insertMode !== 'lib'" v-model="row.discipline">
|
||||
<el-select class="loadcase-lib" v-model="row.discipline">
|
||||
<el-option
|
||||
v-for="item in DISCIPLINE_TYPE.A"
|
||||
:key="item.value"
|
||||
@@ -155,7 +155,7 @@
|
||||
</Dialog>
|
||||
</template>
|
||||
<script lang="ts" setup>
|
||||
import { computed, onMounted, ref } from 'vue';
|
||||
import { computed, nextTick, onMounted, ref } from 'vue';
|
||||
import Dialog from '@/components/common/dialog/index.vue';
|
||||
import BaseTable from '@/components/common/table/baseTable.vue';
|
||||
import {
|
||||
@@ -167,7 +167,7 @@ import UserSelect from '@/components/common/userSelect/index.vue';
|
||||
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 { NODE_TYPE, tagSortList } from '@/utils/enum/node';
|
||||
import { getMemberListIds } from '@/utils/task';
|
||||
import { issuedTaskApi } from '@/api/project/demand';
|
||||
import { useDict } from '@/utils/useDict';
|
||||
@@ -314,16 +314,25 @@ const confirmFun = async () => {
|
||||
});
|
||||
const idMap = getIdMap(demandItem.projectId, demandItem.phaseId);
|
||||
const pMemberListStr = getMemberListIds(demandItem.pMemberList);
|
||||
const beginTime = tableRef.value.tableData[index].planTime
|
||||
? tableRef.value.tableData[index].planTime[0]
|
||||
: '';
|
||||
const endTime = tableRef.value.tableData[index].planTime
|
||||
? tableRef.value.tableData[index].planTime[1]
|
||||
: '';
|
||||
if (demandItem.insertMode === 'lib') {
|
||||
const addTaskList = demandItem.chooseTaskList.map((task: any) => {
|
||||
return {
|
||||
...task,
|
||||
...tagProperty,
|
||||
beginTime: demandItem.beginTime,
|
||||
endTime: demandItem.endTime,
|
||||
// beginTime: demandItem.beginTime,
|
||||
// endTime: demandItem.endTime,
|
||||
beginTime,
|
||||
endTime,
|
||||
eMemberList: demandItem.eMemberList,
|
||||
pMemberList: pMemberListStr,
|
||||
aMemberList: getMemberListIds(demandItem.aMemberList),
|
||||
discipline: tableRef.value.tableData[index].discipline,
|
||||
};
|
||||
});
|
||||
params.push({
|
||||
@@ -337,13 +346,13 @@ const confirmFun = async () => {
|
||||
{
|
||||
nodeName: demandItem.taskName,
|
||||
...tagProperty,
|
||||
beginTime: demandItem.beginTime,
|
||||
endTime: demandItem.endTime,
|
||||
beginTime,
|
||||
endTime,
|
||||
eMemberList: demandItem.eMemberList,
|
||||
pMemberList: pMemberListStr,
|
||||
nodeId: parentNodeInfo.uuid,
|
||||
discipline: demandItem.discipline,
|
||||
aMemberList: getMemberListIds(demandItem.aMemberList),
|
||||
discipline: tableRef.value.tableData[index].discipline,
|
||||
},
|
||||
],
|
||||
demandId: demandItem.uuid,
|
||||
@@ -367,9 +376,9 @@ const closeFun = () => {
|
||||
|
||||
const loadcaseLibList = ref<any[]>([]);
|
||||
|
||||
const changeLoadcaseLibFun = (lib: any, row: any) => {
|
||||
const changeLoadcaseLibFun = async (lib: any, row: any) => {
|
||||
row.currentLoadcaseLib = lib;
|
||||
queryLoadcaseLibVersionsFun(row);
|
||||
row.libTaskList = await queryLoadcaseLibVersionsFun(row);
|
||||
};
|
||||
|
||||
const changeLoadcaseVersionFun = (row: {
|
||||
@@ -388,13 +397,13 @@ const queryPoolListFun = async () => {
|
||||
}
|
||||
if (loadcaseLibList.value.length > 0) {
|
||||
const poolInfo = { currentLoadcaseLib: loadcaseLibList.value[0] };
|
||||
queryLoadcaseLibVersionsFun(poolInfo);
|
||||
const libTaskList = await queryLoadcaseLibVersionsFun(poolInfo);
|
||||
for (let index = 0; index < checkedDemandList.value.length; index++) {
|
||||
(checkedDemandList.value[index] as any).indexTreeData = await getIndexTreeData(
|
||||
checkedDemandList.value[index]
|
||||
);
|
||||
// (props.checkedList[index] as any).currentLoadcaseLib = loadcaseLibList.value[0];
|
||||
const newCheckedInfo: any = { ...checkedDemandList.value[index], ...poolInfo };
|
||||
const newCheckedInfo: any = { ...checkedDemandList.value[index], ...poolInfo, libTaskList };
|
||||
checkedDemandList.value[index] = newCheckedInfo;
|
||||
}
|
||||
}
|
||||
@@ -418,7 +427,7 @@ const queryLoadcaseLibVersionsFun = async (row: any) => {
|
||||
row.loadcaseLibVersionList = [];
|
||||
}
|
||||
// await queryTaskPoolFun();
|
||||
getLoadcaseList(row);
|
||||
return await getLoadcaseList(row);
|
||||
};
|
||||
|
||||
const getLoadcaseList = async (row: any) => {
|
||||
@@ -427,13 +436,14 @@ const getLoadcaseList = async (row: any) => {
|
||||
version: row.currentLoadcaseLibVersion.poolVersion,
|
||||
});
|
||||
if (res.code === 200) {
|
||||
row.libTaskList = res.data.map((item: any) => {
|
||||
return res.data.map((item: any) => {
|
||||
return {
|
||||
label: item.nodeName,
|
||||
value: item,
|
||||
};
|
||||
});
|
||||
}
|
||||
return [];
|
||||
};
|
||||
const checkedDemandList = ref<any[]>([]);
|
||||
onMounted(async () => {
|
||||
@@ -445,10 +455,28 @@ onMounted(async () => {
|
||||
chooseTaskList: [],
|
||||
eMemberList: getMemberListIds(item.eMemberList),
|
||||
planTime: [item.beginTime, item.endTime],
|
||||
discipline: item.simType,
|
||||
};
|
||||
});
|
||||
loadingInterface.value = true;
|
||||
await queryPoolListFun();
|
||||
nextTick(() => {
|
||||
checkedDemandList.value = checkedDemandList.value.map((item: any) => {
|
||||
if (item?.extras.length) {
|
||||
const workspace = item.extras.find(
|
||||
(extra: { propertyName: NODE_TYPE }) => extra.propertyName === NODE_TYPE.WORKSPACE
|
||||
);
|
||||
if (workspace) {
|
||||
item.insertIndex = workspace.propertyValue;
|
||||
console.log('workspace', workspace);
|
||||
setTimeout(() => {
|
||||
taskTreeRefs.value[item.uuid].setCurrentKey(workspace.propertyValue, true);
|
||||
}, 1000);
|
||||
}
|
||||
}
|
||||
return item;
|
||||
});
|
||||
});
|
||||
loadingInterface.value = false;
|
||||
|
||||
setTimeout(() => {
|
||||
|
||||
@@ -191,7 +191,7 @@ import {
|
||||
import { ElMessage } from 'element-plus';
|
||||
import demandTable from '../components/demandTable.vue';
|
||||
import { getTaskTreeFun } from '../../projectDetail/components/projectApi';
|
||||
import { tagSortList } from '@/utils/enum/node';
|
||||
import { NODE_TYPE, tagSortList } from '@/utils/enum/node';
|
||||
import { filterTask, getIdMap } from '../../projectDetail/components/project';
|
||||
import batchSendTask from './components/batchSendTask.vue';
|
||||
import { getMemberListIds } from '@/utils/task';
|
||||
@@ -239,6 +239,7 @@ const sendVisible = ref(false);
|
||||
|
||||
const closeSendFun = () => {
|
||||
sendVisible.value = false;
|
||||
loadingInterface.value = false;
|
||||
};
|
||||
|
||||
/**
|
||||
@@ -346,6 +347,7 @@ const sendTaskConfirmFun = () => {
|
||||
pMemberList: pMemberListStr,
|
||||
eMemberList: sendForm.eMemberList,
|
||||
aMemberList: getMemberListIds(sendForm.aMemberList),
|
||||
discipline: sendForm.discipline,
|
||||
};
|
||||
});
|
||||
params = {
|
||||
@@ -365,6 +367,7 @@ const sendTaskConfirmFun = () => {
|
||||
pMemberList: pMemberListStr,
|
||||
eMemberList: sendForm.eMemberList,
|
||||
aMemberList: getMemberListIds(sendForm.aMemberList),
|
||||
discipline: sendForm.discipline,
|
||||
},
|
||||
],
|
||||
demandId: sendForm.uuid,
|
||||
@@ -386,10 +389,10 @@ const sendTaskConfirmFun = () => {
|
||||
const indexTreeData = ref<any[]>([]);
|
||||
|
||||
const sendTaskFun = async (row: any) => {
|
||||
console.log('row', row);
|
||||
sendVisible.value = true;
|
||||
|
||||
insertTaskMode.value = 'lib';
|
||||
sendForm.insertIndex = '';
|
||||
sendForm.currentLoadcaseLib = '';
|
||||
sendForm.currentLoadcaseLibVersion = '';
|
||||
sendForm.chooseTaskList = [];
|
||||
@@ -398,9 +401,22 @@ const sendTaskFun = async (row: any) => {
|
||||
sendForm.endTime = '';
|
||||
sendForm.eMemberList = '';
|
||||
sendForm.aMemberList = row.aMemberList;
|
||||
if (row.simType) {
|
||||
sendForm.discipline = row.simType;
|
||||
}
|
||||
|
||||
const taskTree = await getTaskTreeFun(row.projectId, row.phaseId);
|
||||
indexTreeData.value = filterTask(taskTree);
|
||||
sendForm.insertIndex = '';
|
||||
if (row?.extras.length) {
|
||||
const workspace = row.extras.find(
|
||||
(item: { propertyName: NODE_TYPE }) => item.propertyName === NODE_TYPE.WORKSPACE
|
||||
);
|
||||
if (workspace) {
|
||||
sendForm.insertIndex = workspace.propertyValue;
|
||||
taskTreeRef.value.setCurrentKey(workspace.propertyValue, true);
|
||||
}
|
||||
}
|
||||
await queryPoolListFun();
|
||||
|
||||
// for (const key in sendForm) {
|
||||
|
||||
Reference in New Issue
Block a user