校验分发重复任务
This commit is contained in:
@@ -113,9 +113,12 @@ export const filterTask = (taskTree: any[]): any[] => {
|
||||
const list = [];
|
||||
for (let index = 0; index < taskTree.length; index++) {
|
||||
if (taskTree[index].nodeType !== NODE_TYPE.TASK) {
|
||||
const obj = { ...taskTree[index], children: [] };
|
||||
const obj = { ...taskTree[index], children: [], taskList: [] };
|
||||
if (taskTree[index].children) {
|
||||
obj.children = filterTask(taskTree[index].children);
|
||||
obj.taskList = taskTree[index].children.filter(
|
||||
(item: { nodeType: string }) => item.nodeType === NODE_TYPE.TASK
|
||||
);
|
||||
}
|
||||
list.push(obj);
|
||||
}
|
||||
|
||||
@@ -305,6 +305,7 @@ const confirmFun = async () => {
|
||||
}
|
||||
loadingInterface.value = true;
|
||||
const params = [];
|
||||
let hasRepeatTask = false;
|
||||
for (let index = 0; index < tableRef.value.tableData.length; index++) {
|
||||
const demandItem = tableRef.value.tableData[index];
|
||||
const parentNodeInfo = taskTreeRefs.value[demandItem.uuid].getCurrentNode();
|
||||
@@ -321,9 +322,17 @@ const confirmFun = async () => {
|
||||
? tableRef.value.tableData[index].planTime[1]
|
||||
: '';
|
||||
if (demandItem.insertMode === 'lib') {
|
||||
const addTaskList = demandItem.chooseTaskList.map((task: any) => {
|
||||
const addTaskList = demandItem.chooseTaskList.map((item: any) => {
|
||||
if (parentNodeInfo?.taskList?.length > 0) {
|
||||
parentNodeInfo?.taskList.forEach((task: any) => {
|
||||
if (task.nodeName === item.nodeName) {
|
||||
ElMessage.warning(item.nodeName + '任务已存在,无法再创建!');
|
||||
hasRepeatTask = true;
|
||||
}
|
||||
});
|
||||
}
|
||||
return {
|
||||
...task,
|
||||
...item,
|
||||
...tagProperty,
|
||||
// beginTime: demandItem.beginTime,
|
||||
// endTime: demandItem.endTime,
|
||||
@@ -335,12 +344,26 @@ const confirmFun = async () => {
|
||||
discipline: tableRef.value.tableData[index].discipline,
|
||||
};
|
||||
});
|
||||
if (hasRepeatTask) {
|
||||
loadingInterface.value = false;
|
||||
return;
|
||||
}
|
||||
params.push({
|
||||
addNodeList: addTaskList,
|
||||
demandId: demandItem.uuid,
|
||||
idMap: idMap,
|
||||
});
|
||||
} else {
|
||||
parentNodeInfo?.taskList.forEach((task: any) => {
|
||||
if (task.nodeName === demandItem.taskName) {
|
||||
ElMessage.warning(demandItem.taskName + '任务已存在,无法再创建!');
|
||||
hasRepeatTask = true;
|
||||
}
|
||||
});
|
||||
if (hasRepeatTask) {
|
||||
loadingInterface.value = false;
|
||||
return;
|
||||
}
|
||||
params.push({
|
||||
addNodeList: [
|
||||
{
|
||||
|
||||
@@ -177,7 +177,7 @@
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { reactive, ref } from 'vue';
|
||||
import { nextTick, reactive, ref } from 'vue';
|
||||
import Dialog from '@/components/common/dialog/index.vue';
|
||||
import { demandListApi, issuedTaskApi } from '@/api/project/demand';
|
||||
import attachments from '@/views/task/simulationTask/components/attachments.vue';
|
||||
@@ -331,14 +331,24 @@ const sendTaskConfirmFun = () => {
|
||||
// }
|
||||
loadingInterface.value = true;
|
||||
const parentNodeInfo = taskTreeRef.value.getCurrentNode();
|
||||
console.log('parentNodeInfo', parentNodeInfo);
|
||||
const tagProperty: { [key: string]: any } = {};
|
||||
tagSortList.forEach((item: any) => {
|
||||
tagProperty[item] = parentNodeInfo[item] ? parentNodeInfo[item].split(',') : [];
|
||||
});
|
||||
let params = {};
|
||||
const pMemberListStr = getMemberListIds(sendForm.pMemberList);
|
||||
let hasRepeatTask = false;
|
||||
if (insertTaskMode.value === 'lib') {
|
||||
const addTaskList = sendForm.chooseTaskList.map((item: any) => {
|
||||
if (parentNodeInfo?.taskList?.length > 0) {
|
||||
parentNodeInfo?.taskList.forEach((task: any) => {
|
||||
if (task.nodeName === item.nodeName) {
|
||||
ElMessage.warning(item.nodeName + '任务已存在,无法再创建!');
|
||||
hasRepeatTask = true;
|
||||
}
|
||||
});
|
||||
}
|
||||
return {
|
||||
...item,
|
||||
...tagProperty,
|
||||
@@ -350,12 +360,28 @@ const sendTaskConfirmFun = () => {
|
||||
discipline: sendForm.discipline,
|
||||
};
|
||||
});
|
||||
if (hasRepeatTask) {
|
||||
loadingInterface.value = false;
|
||||
return;
|
||||
}
|
||||
|
||||
params = {
|
||||
addNodeList: addTaskList,
|
||||
demandId: sendForm.uuid,
|
||||
idMap: getIdMap(sendForm.projectId, sendForm.phaseId),
|
||||
};
|
||||
} else {
|
||||
parentNodeInfo?.taskList.forEach((task: any) => {
|
||||
if (task.nodeName === sendForm.taskName) {
|
||||
ElMessage.warning(sendForm.taskName + '任务已存在,无法再创建!');
|
||||
hasRepeatTask = true;
|
||||
}
|
||||
});
|
||||
if (hasRepeatTask) {
|
||||
loadingInterface.value = false;
|
||||
return;
|
||||
}
|
||||
|
||||
params = {
|
||||
addNodeList: [
|
||||
{
|
||||
@@ -391,12 +417,17 @@ const indexTreeData = ref<any[]>([]);
|
||||
const sendTaskFun = async (row: any) => {
|
||||
sendVisible.value = true;
|
||||
|
||||
nextTick(() => {
|
||||
sendFormRef.value.resetFields();
|
||||
});
|
||||
|
||||
insertTaskMode.value = 'lib';
|
||||
sendForm.currentLoadcaseLib = '';
|
||||
sendForm.currentLoadcaseLibVersion = '';
|
||||
sendForm.chooseTaskList = [];
|
||||
sendForm.taskName = '';
|
||||
sendForm.beginTime = '';
|
||||
sendForm.planTime = null;
|
||||
sendForm.endTime = '';
|
||||
sendForm.eMemberList = '';
|
||||
sendForm.aMemberList = row.aMemberList;
|
||||
|
||||
Reference in New Issue
Block a user