merge
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -27,3 +27,5 @@ coverage
|
|||||||
*.sw?
|
*.sw?
|
||||||
|
|
||||||
*.tsbuildinfo
|
*.tsbuildinfo
|
||||||
|
package-lock.json
|
||||||
|
yarn.lock
|
||||||
|
|||||||
@@ -46,17 +46,19 @@ interface Props {
|
|||||||
tableName: string;
|
tableName: string;
|
||||||
callbackFlag?: string;
|
callbackFlag?: string;
|
||||||
discipline?: string;
|
discipline?: string;
|
||||||
|
tagReq?: any;
|
||||||
}
|
}
|
||||||
|
|
||||||
const props = withDefaults(defineProps<Props>(), {
|
const props = withDefaults(defineProps<Props>(), {
|
||||||
api: null,
|
api: null,
|
||||||
data: {},
|
|
||||||
fileType: '',
|
fileType: '',
|
||||||
|
data: {},
|
||||||
accept: '',
|
accept: '',
|
||||||
multiple: true,
|
multiple: true,
|
||||||
tableName: '',
|
tableName: '',
|
||||||
callbackFlag: '',
|
callbackFlag: '',
|
||||||
discipline: '',
|
discipline: '',
|
||||||
|
tagReq: {},
|
||||||
});
|
});
|
||||||
|
|
||||||
const formData = ref<any>({
|
const formData = ref<any>({
|
||||||
@@ -109,6 +111,7 @@ const submitFun = async () => {
|
|||||||
'disciplineTypeDictClass',
|
'disciplineTypeDictClass',
|
||||||
'disciplineDictValue',
|
'disciplineDictValue',
|
||||||
],
|
],
|
||||||
|
tagReq: props.tagReq,
|
||||||
};
|
};
|
||||||
closeFun();
|
closeFun();
|
||||||
await uploadBigFile(params, props.api);
|
await uploadBigFile(params, props.api);
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
v-model:viewType="viewType"
|
v-model:viewType="viewType"
|
||||||
:api="getSimulationTaskFilesApi"
|
:api="getSimulationTaskFilesApi"
|
||||||
:params="apiParam"
|
:params="apiParam"
|
||||||
:show-checkbox="true"
|
:show-checkbox="showCheckbox"
|
||||||
:actionList="actionList"
|
:actionList="actionList"
|
||||||
:full-height="true"
|
:full-height="true"
|
||||||
>
|
>
|
||||||
@@ -103,6 +103,10 @@ const props = defineProps({
|
|||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: true,
|
default: true,
|
||||||
},
|
},
|
||||||
|
showCheckbox: {
|
||||||
|
type: Boolean,
|
||||||
|
default: true,
|
||||||
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
const baseTableRef = ref();
|
const baseTableRef = ref();
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
:api="getSimulationTaskFilesApi"
|
:api="getSimulationTaskFilesApi"
|
||||||
:params="apiParam"
|
:params="apiParam"
|
||||||
ref="baseTableRef"
|
ref="baseTableRef"
|
||||||
:showCheckbox="true"
|
:showCheckbox="showCheckbox"
|
||||||
:actionList="actionList"
|
:actionList="actionList"
|
||||||
>
|
>
|
||||||
<template v-if="showLeftOptions" #leftOptions>
|
<template v-if="showLeftOptions" #leftOptions>
|
||||||
@@ -88,6 +88,10 @@ const props = defineProps({
|
|||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: true,
|
default: true,
|
||||||
},
|
},
|
||||||
|
showCheckbox: {
|
||||||
|
type: Boolean,
|
||||||
|
default: true,
|
||||||
|
},
|
||||||
});
|
});
|
||||||
const baseTableRef = ref();
|
const baseTableRef = ref();
|
||||||
const currentId = ref<any>(props.taskId);
|
const currentId = ref<any>(props.taskId);
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
tableName="TASK_MODEL_FILE"
|
tableName="TASK_MODEL_FILE"
|
||||||
ref="baseTableRef"
|
ref="baseTableRef"
|
||||||
:api="getSimulationTaskFilesApi"
|
:api="getSimulationTaskFilesApi"
|
||||||
showCheckbox
|
:showCheckbox="showCheckbox"
|
||||||
:params="apiParam"
|
:params="apiParam"
|
||||||
:actionList="actionList"
|
:actionList="actionList"
|
||||||
>
|
>
|
||||||
@@ -97,6 +97,10 @@ const props = defineProps({
|
|||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: true,
|
default: true,
|
||||||
},
|
},
|
||||||
|
showCheckbox: {
|
||||||
|
type: Boolean,
|
||||||
|
default: true,
|
||||||
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
// const env = import.meta.env;
|
// const env = import.meta.env;
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
ref="baseTableRef"
|
ref="baseTableRef"
|
||||||
:api="getSimulationTaskFilesApi"
|
:api="getSimulationTaskFilesApi"
|
||||||
:params="apiParam"
|
:params="apiParam"
|
||||||
:show-checkbox="true"
|
:show-checkbox="showCheckbox"
|
||||||
:full-height="true"
|
:full-height="true"
|
||||||
:actionList="actionList"
|
:actionList="actionList"
|
||||||
>
|
>
|
||||||
@@ -127,6 +127,10 @@ const props = defineProps({
|
|||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: true,
|
default: true,
|
||||||
},
|
},
|
||||||
|
showCheckbox: {
|
||||||
|
type: Boolean,
|
||||||
|
default: true,
|
||||||
|
},
|
||||||
});
|
});
|
||||||
const runTreeData = ref<any>([]);
|
const runTreeData = ref<any>([]);
|
||||||
const curveList = ref<any>([]);
|
const curveList = ref<any>([]);
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
tableName="TASK_DELIVERABLE"
|
tableName="TASK_DELIVERABLE"
|
||||||
ref="baseTableRef"
|
ref="baseTableRef"
|
||||||
:api="queryKeyResultAndTaskInfoApi"
|
:api="queryKeyResultAndTaskInfoApi"
|
||||||
showCheckbox
|
:showCheckbox="showCheckbox"
|
||||||
:params="{
|
:params="{
|
||||||
taskId: taskId,
|
taskId: taskId,
|
||||||
fileType: 8,
|
fileType: 8,
|
||||||
@@ -283,6 +283,10 @@ const props = defineProps({
|
|||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: false,
|
default: false,
|
||||||
},
|
},
|
||||||
|
showCheckbox: {
|
||||||
|
type: Boolean,
|
||||||
|
default: true,
|
||||||
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
const accept = ref('');
|
const accept = ref('');
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
tableName="TASK_MODEL_FILE"
|
tableName="TASK_MODEL_FILE"
|
||||||
ref="baseTableRef"
|
ref="baseTableRef"
|
||||||
:api="getSimulationTaskFilesApi"
|
:api="getSimulationTaskFilesApi"
|
||||||
showCheckbox
|
:showCheckbox="showCheckbox"
|
||||||
:params="apiParam"
|
:params="apiParam"
|
||||||
:actionList="actionList"
|
:actionList="actionList"
|
||||||
>
|
>
|
||||||
@@ -88,6 +88,10 @@ const props = defineProps({
|
|||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: true,
|
default: true,
|
||||||
},
|
},
|
||||||
|
showCheckbox: {
|
||||||
|
type: Boolean,
|
||||||
|
default: true,
|
||||||
|
},
|
||||||
});
|
});
|
||||||
// const env = import.meta.env;
|
// const env = import.meta.env;
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
ref="baseTableRef"
|
ref="baseTableRef"
|
||||||
:export-file-name="'指标列表'"
|
:export-file-name="'指标列表'"
|
||||||
:export-api="exportPerformanceByScriptApi"
|
:export-api="exportPerformanceByScriptApi"
|
||||||
showCheckbox
|
:showCheckbox="showCheckbox"
|
||||||
hidePagination
|
hidePagination
|
||||||
:data="performanceData"
|
:data="performanceData"
|
||||||
:actionList="showLeftOptions && canUpdate ? actionList : []"
|
:actionList="showLeftOptions && canUpdate ? actionList : []"
|
||||||
@@ -192,6 +192,10 @@ const props = defineProps({
|
|||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: true,
|
default: true,
|
||||||
},
|
},
|
||||||
|
showCheckbox: {
|
||||||
|
type: Boolean,
|
||||||
|
default: true,
|
||||||
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
const baseTableRef = ref();
|
const baseTableRef = ref();
|
||||||
|
|||||||
@@ -6,11 +6,11 @@
|
|||||||
:api="getSimulationTaskFilesApi"
|
:api="getSimulationTaskFilesApi"
|
||||||
:params="apiParam"
|
:params="apiParam"
|
||||||
ref="baseTableRef"
|
ref="baseTableRef"
|
||||||
:showCheckbox="true"
|
:showCheckbox="showCheckbox"
|
||||||
:actionList="actionList"
|
:actionList="actionList"
|
||||||
>
|
>
|
||||||
<template v-if="showLeftOptions" #leftOptions>
|
<template v-if="showLeftOptions" #leftOptions>
|
||||||
<el-button v-if="canUpdate" @click="reportInpDiaShow = true">编辑报告</el-button>
|
<!-- <el-button v-if="canUpdate" @click="reportInpDiaShow = true">编辑报告</el-button> -->
|
||||||
<AddFile
|
<AddFile
|
||||||
:accept="accept"
|
:accept="accept"
|
||||||
ref="AddFileRef"
|
ref="AddFileRef"
|
||||||
@@ -92,6 +92,10 @@ const props = defineProps({
|
|||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: true,
|
default: true,
|
||||||
},
|
},
|
||||||
|
showCheckbox: {
|
||||||
|
type: Boolean,
|
||||||
|
default: true,
|
||||||
|
},
|
||||||
});
|
});
|
||||||
const baseTableRef = ref();
|
const baseTableRef = ref();
|
||||||
const currentId = ref<any>(props.taskId);
|
const currentId = ref<any>(props.taskId);
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
:api="getSimulationTaskFilesApi"
|
:api="getSimulationTaskFilesApi"
|
||||||
:params="apiParam"
|
:params="apiParam"
|
||||||
ref="baseTableRef"
|
ref="baseTableRef"
|
||||||
:showCheckbox="true"
|
:showCheckbox="showCheckbox"
|
||||||
:actionList="actionList"
|
:actionList="actionList"
|
||||||
>
|
>
|
||||||
<template v-if="showLeftOptions" #leftOptions>
|
<template v-if="showLeftOptions" #leftOptions>
|
||||||
@@ -89,6 +89,10 @@ const props = defineProps({
|
|||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: true,
|
default: true,
|
||||||
},
|
},
|
||||||
|
showCheckbox: {
|
||||||
|
type: Boolean,
|
||||||
|
default: true,
|
||||||
|
},
|
||||||
});
|
});
|
||||||
const baseTableRef = ref();
|
const baseTableRef = ref();
|
||||||
const currentId = ref<any>(props.taskId);
|
const currentId = ref<any>(props.taskId);
|
||||||
|
|||||||
@@ -19,11 +19,11 @@ export const permissionGroups = [
|
|||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: '需求管理',
|
name: '待办管理',
|
||||||
permissions: [
|
permissions: [
|
||||||
{ btn: '需求管理-创建待办', code: 'demand_add_demand' },
|
{ btn: '待办管理-创建待办', code: 'demand_add_demand' },
|
||||||
{ btn: '需求管理-编辑需求', code: 'demand_edit_demand' },
|
{ btn: '待办管理-编辑待办', code: 'demand_edit_demand' },
|
||||||
{ btn: '需求管理-删除需求', code: 'demand_delete_demand' },
|
{ btn: '待办管理-删除待办', code: 'demand_delete_demand' },
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ import { useDict } from './useDict';
|
|||||||
import { getTagKeyMap } from './enum/node';
|
import { getTagKeyMap } from './enum/node';
|
||||||
import { TASK_CALCULATE_STATUS, TASK_PROCESS_STATUS } from './enum/task';
|
import { TASK_CALCULATE_STATUS, TASK_PROCESS_STATUS } from './enum/task';
|
||||||
import { enableConfigByTenant, TENANT_ENUM } from '@/tenants/tenant';
|
import { enableConfigByTenant, TENANT_ENUM } from '@/tenants/tenant';
|
||||||
|
import { getUserId } from './user';
|
||||||
|
|
||||||
export const disposeSimType = (demandType: string, simType: string) => {
|
export const disposeSimType = (demandType: string, simType: string) => {
|
||||||
if (demandType && simType) {
|
if (demandType && simType) {
|
||||||
@@ -173,7 +174,7 @@ export const disposeTaskMembers = (disposeKey: string, row: any) => {
|
|||||||
|
|
||||||
// 判断登录用户是否是任务的 仿真负责人 或 仿真执行人
|
// 判断登录用户是否是任务的 仿真负责人 或 仿真执行人
|
||||||
export const isSimManagerOrExecutor = (pMemberList: any[], eMemberList: any[]) => {
|
export const isSimManagerOrExecutor = (pMemberList: any[], eMemberList: any[]) => {
|
||||||
const currentUserId = localStorage.getItem('USER_ID') || '';
|
const currentUserId = getUserId();
|
||||||
const pMemberIds = getMemberListIds(pMemberList);
|
const pMemberIds = getMemberListIds(pMemberList);
|
||||||
const eMemberIds = getMemberListIds(eMemberList);
|
const eMemberIds = getMemberListIds(eMemberList);
|
||||||
const pMemberIdArr = pMemberIds.split(',');
|
const pMemberIdArr = pMemberIds.split(',');
|
||||||
@@ -183,7 +184,7 @@ export const isSimManagerOrExecutor = (pMemberList: any[], eMemberList: any[]) =
|
|||||||
|
|
||||||
// 判断登录用户是否是任务的 仿真专项代表(项目经理)
|
// 判断登录用户是否是任务的 仿真专项代表(项目经理)
|
||||||
export const isSimProjectManager = (memberList: any[]) => {
|
export const isSimProjectManager = (memberList: any[]) => {
|
||||||
const currentUserId = localStorage.getItem('USER_ID') || '';
|
const currentUserId = getUserId();
|
||||||
const pMemberIds = getMemberListIds(memberList);
|
const pMemberIds = getMemberListIds(memberList);
|
||||||
const pMemberIdArr = pMemberIds.split(',');
|
const pMemberIdArr = pMemberIds.split(',');
|
||||||
return pMemberIdArr.includes(currentUserId);
|
return pMemberIdArr.includes(currentUserId);
|
||||||
|
|||||||
@@ -137,6 +137,7 @@
|
|||||||
tableName="TASK_DETAIL_UPLOAD_FILE"
|
tableName="TASK_DETAIL_UPLOAD_FILE"
|
||||||
callbackFlag="DATA_OVERVIEW_UPLOAD_FINISHED"
|
callbackFlag="DATA_OVERVIEW_UPLOAD_FINISHED"
|
||||||
multiple
|
multiple
|
||||||
|
:tagReq="currentData.tagReq"
|
||||||
:data="{
|
:data="{
|
||||||
dirId: currentData.id,
|
dirId: currentData.id,
|
||||||
projectId: currentData.relatedResourceUuid,
|
projectId: currentData.relatedResourceUuid,
|
||||||
|
|||||||
@@ -21,6 +21,8 @@
|
|||||||
:taskInfo="taskInfo"
|
:taskInfo="taskInfo"
|
||||||
:showLeftOptions="false"
|
:showLeftOptions="false"
|
||||||
:showPerformance="true"
|
:showPerformance="true"
|
||||||
|
:showCheckbox="false"
|
||||||
|
:showEditReport="false"
|
||||||
></taskDetailPage>
|
></taskDetailPage>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -120,10 +120,10 @@ const dropdownList = ref([
|
|||||||
name: '任务',
|
name: '任务',
|
||||||
value: 'task',
|
value: 'task',
|
||||||
},
|
},
|
||||||
{
|
// {
|
||||||
name: '算例',
|
// name: '算例',
|
||||||
value: 'run',
|
// value: 'run',
|
||||||
},
|
// },
|
||||||
]);
|
]);
|
||||||
|
|
||||||
const expendChangeFun = (data: string) => {
|
const expendChangeFun = (data: string) => {
|
||||||
|
|||||||
@@ -399,7 +399,7 @@ const changeCurrentFlowNodeFun = (info: any) => {
|
|||||||
|
|
||||||
flowNode.value = node;
|
flowNode.value = node;
|
||||||
flowNodeData.value = data;
|
flowNodeData.value = data;
|
||||||
flowNodeData.value.copyNodeStatus = data.nodeStatus;
|
flowNodeData.value.copyNodeStatus = data?.nodeStatus;
|
||||||
// nodeParamDataList.value = flowNode.value?.store?.data?.data?.pageConfigList || [];
|
// nodeParamDataList.value = flowNode.value?.store?.data?.data?.pageConfigList || [];
|
||||||
nodeParamDataList.value = cloneDeep(pageParamInfo.value[data.nodeName]) || [];
|
nodeParamDataList.value = cloneDeep(pageParamInfo.value[data.nodeName]) || [];
|
||||||
flowNodeParamData.value = flowNode.value?.store?.data?.data || {};
|
flowNodeParamData.value = flowNode.value?.store?.data?.data || {};
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<BaseTable
|
<BaseTable
|
||||||
ref="baseTableRef"
|
ref="baseTableRef"
|
||||||
tableName="EXPERIMENT_RESULT_TABLE"
|
tableName="EXPERIMENT_RESULT_TABLE"
|
||||||
:showCheckbox="true"
|
:showCheckbox="showCheckbox"
|
||||||
:action-list="showLeftOptions && canUpdate ? actionList : []"
|
:action-list="showLeftOptions && canUpdate ? actionList : []"
|
||||||
:api="listExperimentResultApi"
|
:api="listExperimentResultApi"
|
||||||
:show-overflow="false"
|
:show-overflow="false"
|
||||||
@@ -171,6 +171,8 @@ import {
|
|||||||
import { useI18n } from 'vue-i18n';
|
import { useI18n } from 'vue-i18n';
|
||||||
import { updateTaskStatusApi } from '@/api/project/task';
|
import { updateTaskStatusApi } from '@/api/project/task';
|
||||||
import { FILE_TYPE } from '@/utils/enum/file';
|
import { FILE_TYPE } from '@/utils/enum/file';
|
||||||
|
import { TASK_PROCESS_STATUS } from '@/utils/enum/task';
|
||||||
|
import { enableConfigByTenant, TENANT_ENUM } from '@/tenants/tenant';
|
||||||
|
|
||||||
const env = import.meta.env;
|
const env = import.meta.env;
|
||||||
|
|
||||||
@@ -188,6 +190,10 @@ const props = defineProps({
|
|||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: true,
|
default: true,
|
||||||
},
|
},
|
||||||
|
showCheckbox: {
|
||||||
|
type: Boolean,
|
||||||
|
default: true,
|
||||||
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
const baseTableRef = ref();
|
const baseTableRef = ref();
|
||||||
@@ -473,8 +479,10 @@ const submitFun = async () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (props.taskInfo.exeStatus != 8) {
|
if (props.taskInfo.exeStatus != 8) {
|
||||||
|
if (enableConfigByTenant([TENANT_ENUM.LYRIC])) {
|
||||||
await updateTaskExeStatusFun();
|
await updateTaskExeStatusFun();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
closeFun();
|
closeFun();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -495,7 +503,7 @@ const updateTaskExeStatusFun = async () => {
|
|||||||
taskIds: [props.taskInfo.uuid],
|
taskIds: [props.taskInfo.uuid],
|
||||||
req: {
|
req: {
|
||||||
// ...task,
|
// ...task,
|
||||||
exeStatus: '8',
|
exeStatus: TASK_PROCESS_STATUS.CLOSED_LOOP,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -21,7 +21,9 @@
|
|||||||
</el-tabs>
|
</el-tabs>
|
||||||
|
|
||||||
<div class="approval-button">
|
<div class="approval-button">
|
||||||
<el-button v-if="isPMemberOrEMember" @click="reportInpDiaShow = true">编辑报告</el-button>
|
<el-button v-if="isPMemberOrEMember && showEditReport" @click="reportInpDiaShow = true"
|
||||||
|
>编辑报告</el-button
|
||||||
|
>
|
||||||
<el-button
|
<el-button
|
||||||
type="primary"
|
type="primary"
|
||||||
v-if="taskInfo.status != 3 && isPMemberOrEMember"
|
v-if="taskInfo.status != 3 && isPMemberOrEMember"
|
||||||
@@ -40,6 +42,7 @@
|
|||||||
:full-height="true"
|
:full-height="true"
|
||||||
:show-left-options="showLeftOptions"
|
:show-left-options="showLeftOptions"
|
||||||
:canUpdate="isPMemberOrEMember"
|
:canUpdate="isPMemberOrEMember"
|
||||||
|
:show-checkbox="showCheckbox"
|
||||||
></taskPerformance>
|
></taskPerformance>
|
||||||
</div>
|
</div>
|
||||||
<div class="tabs-component" v-if="activeName === 'picture'">
|
<div class="tabs-component" v-if="activeName === 'picture'">
|
||||||
@@ -47,6 +50,7 @@
|
|||||||
:task-id="currentTaskInfo?.uuid"
|
:task-id="currentTaskInfo?.uuid"
|
||||||
:show-left-options="showLeftOptions"
|
:show-left-options="showLeftOptions"
|
||||||
:canUpdate="isPMemberOrEMember"
|
:canUpdate="isPMemberOrEMember"
|
||||||
|
:show-checkbox="showCheckbox"
|
||||||
></resultImage>
|
></resultImage>
|
||||||
</div>
|
</div>
|
||||||
<div class="tabs-component" v-if="activeName === 'canvas'">
|
<div class="tabs-component" v-if="activeName === 'canvas'">
|
||||||
@@ -54,12 +58,14 @@
|
|||||||
:task-id="currentTaskInfo?.uuid"
|
:task-id="currentTaskInfo?.uuid"
|
||||||
:show-left-options="showLeftOptions"
|
:show-left-options="showLeftOptions"
|
||||||
:canUpdate="isPMemberOrEMember"
|
:canUpdate="isPMemberOrEMember"
|
||||||
|
:show-checkbox="showCheckbox"
|
||||||
></taskCurve>
|
></taskCurve>
|
||||||
</div>
|
</div>
|
||||||
<div class="tabs-component" v-if="activeName === 'deliverable'">
|
<div class="tabs-component" v-if="activeName === 'deliverable'">
|
||||||
<taskDeliverable
|
<taskDeliverable
|
||||||
:task-info="currentTaskInfo"
|
:task-info="currentTaskInfo"
|
||||||
:task-id="currentTaskInfo?.uuid"
|
:task-id="currentTaskInfo?.uuid"
|
||||||
|
:show-checkbox="showCheckbox"
|
||||||
></taskDeliverable>
|
></taskDeliverable>
|
||||||
</div>
|
</div>
|
||||||
<div class="tabs-component" v-if="activeName === 'model'">
|
<div class="tabs-component" v-if="activeName === 'model'">
|
||||||
@@ -67,6 +73,7 @@
|
|||||||
:task-id="currentTaskInfo?.uuid"
|
:task-id="currentTaskInfo?.uuid"
|
||||||
:show-left-options="showLeftOptions"
|
:show-left-options="showLeftOptions"
|
||||||
:canUpdate="isPMemberOrEMember"
|
:canUpdate="isPMemberOrEMember"
|
||||||
|
:show-checkbox="showCheckbox"
|
||||||
></taskModel>
|
></taskModel>
|
||||||
</div>
|
</div>
|
||||||
<div class="tabs-component" v-if="activeName === '3d-model'">
|
<div class="tabs-component" v-if="activeName === '3d-model'">
|
||||||
@@ -75,6 +82,7 @@
|
|||||||
:show-left-options="showLeftOptions"
|
:show-left-options="showLeftOptions"
|
||||||
:disabled="!showLeftOptions"
|
:disabled="!showLeftOptions"
|
||||||
:canUpdate="isPMemberOrEMember"
|
:canUpdate="isPMemberOrEMember"
|
||||||
|
:show-checkbox="showCheckbox"
|
||||||
></task3DModel>
|
></task3DModel>
|
||||||
</div>
|
</div>
|
||||||
<div class="tabs-component" v-if="activeName === 'report'">
|
<div class="tabs-component" v-if="activeName === 'report'">
|
||||||
@@ -82,6 +90,7 @@
|
|||||||
:task-id="currentTaskInfo?.uuid"
|
:task-id="currentTaskInfo?.uuid"
|
||||||
:show-left-options="showLeftOptions"
|
:show-left-options="showLeftOptions"
|
||||||
:canUpdate="isPMemberOrEMember"
|
:canUpdate="isPMemberOrEMember"
|
||||||
|
:show-checkbox="showCheckbox"
|
||||||
></taskReport>
|
></taskReport>
|
||||||
</div>
|
</div>
|
||||||
<div class="tabs-component" v-if="activeName === 'video'">
|
<div class="tabs-component" v-if="activeName === 'video'">
|
||||||
@@ -89,6 +98,7 @@
|
|||||||
:task-id="currentTaskInfo?.uuid"
|
:task-id="currentTaskInfo?.uuid"
|
||||||
:show-left-options="showLeftOptions"
|
:show-left-options="showLeftOptions"
|
||||||
:canUpdate="isPMemberOrEMember"
|
:canUpdate="isPMemberOrEMember"
|
||||||
|
:show-checkbox="showCheckbox"
|
||||||
></videoFile>
|
></videoFile>
|
||||||
</div>
|
</div>
|
||||||
<div class="tabs-component" v-if="activeName === 'experiment'">
|
<div class="tabs-component" v-if="activeName === 'experiment'">
|
||||||
@@ -96,6 +106,7 @@
|
|||||||
:task-info="currentTaskInfo"
|
:task-info="currentTaskInfo"
|
||||||
:show-left-options="showLeftOptions"
|
:show-left-options="showLeftOptions"
|
||||||
:canUpdate="isPMemberOrEMember"
|
:canUpdate="isPMemberOrEMember"
|
||||||
|
:show-checkbox="showCheckbox"
|
||||||
></experimentResult>
|
></experimentResult>
|
||||||
</div>
|
</div>
|
||||||
<div class="tabs-component" v-if="activeName === 'taskInfo'">
|
<div class="tabs-component" v-if="activeName === 'taskInfo'">
|
||||||
@@ -112,6 +123,7 @@
|
|||||||
:task-id="currentTaskInfo?.uuid"
|
:task-id="currentTaskInfo?.uuid"
|
||||||
:show-left-options="showLeftOptions"
|
:show-left-options="showLeftOptions"
|
||||||
:canUpdate="isPMemberOrEMember"
|
:canUpdate="isPMemberOrEMember"
|
||||||
|
:show-checkbox="showCheckbox"
|
||||||
></reviewData>
|
></reviewData>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -198,6 +210,14 @@ const props = defineProps({
|
|||||||
type: Boolean,
|
type: Boolean,
|
||||||
default: true,
|
default: true,
|
||||||
},
|
},
|
||||||
|
showCheckbox: {
|
||||||
|
type: Boolean,
|
||||||
|
default: true,
|
||||||
|
},
|
||||||
|
showEditReport: {
|
||||||
|
type: Boolean,
|
||||||
|
default: true,
|
||||||
|
},
|
||||||
});
|
});
|
||||||
const formAttrs = ref({
|
const formAttrs = ref({
|
||||||
progress: {
|
progress: {
|
||||||
|
|||||||
@@ -271,6 +271,7 @@ const confirmUploadFun = async () => {
|
|||||||
form.append('fileTypeDictValue', fromData.fileTypeDictValue || '');
|
form.append('fileTypeDictValue', fromData.fileTypeDictValue || '');
|
||||||
form.append('disciplineTypeDictClass', 'DISCIPLINE_TYPE');
|
form.append('disciplineTypeDictClass', 'DISCIPLINE_TYPE');
|
||||||
form.append('disciplineDictValue', fromData.disciplineDictValue || '');
|
form.append('disciplineDictValue', fromData.disciplineDictValue || '');
|
||||||
|
// 文件都走的batchAddFileInfoApi上传,这个只是插入数据库记录
|
||||||
await upload(`${PREFIX}node/uploadProjectFiles`, form);
|
await upload(`${PREFIX}node/uploadProjectFiles`, form);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -357,6 +358,7 @@ const confirmUploadFun = async () => {
|
|||||||
form.append('fileTypeDictValue', fromData.fileTypeDictValue || '');
|
form.append('fileTypeDictValue', fromData.fileTypeDictValue || '');
|
||||||
form.append('disciplineTypeDictClass', 'DISCIPLINE_TYPE');
|
form.append('disciplineTypeDictClass', 'DISCIPLINE_TYPE');
|
||||||
form.append('disciplineDictValue', fromData.disciplineDictValue || '');
|
form.append('disciplineDictValue', fromData.disciplineDictValue || '');
|
||||||
|
// 文件都走的batchAddFileInfoApi上传,这个只是更新数据库记录
|
||||||
await upload(`${PREFIX}node/uploadProjectFiles`, form);
|
await upload(`${PREFIX}node/uploadProjectFiles`, form);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,7 +25,7 @@
|
|||||||
<el-radio-group v-model="activeRadio">
|
<el-radio-group v-model="activeRadio">
|
||||||
<el-radio-button label="任务详情" value="detail" v-if="showTaskInfo" />
|
<el-radio-button label="任务详情" value="detail" v-if="showTaskInfo" />
|
||||||
<el-radio-button label="仿真报告" value="report" />
|
<el-radio-button label="仿真报告" value="report" />
|
||||||
<el-radio-button label="关联需求" value="demand" />
|
<el-radio-button label="关联待办" value="demand" />
|
||||||
</el-radio-group>
|
</el-radio-group>
|
||||||
|
|
||||||
<div class="task-tab-content set-tab-content" v-if="activeRadio === 'report'">
|
<div class="task-tab-content set-tab-content" v-if="activeRadio === 'report'">
|
||||||
|
|||||||
@@ -157,7 +157,7 @@
|
|||||||
<el-tab-pane
|
<el-tab-pane
|
||||||
label="任务指标"
|
label="任务指标"
|
||||||
name="proformance"
|
name="proformance"
|
||||||
v-if="!enableConfigByTenant([TENANT_ENUM.LYRIC])"
|
v-if="enableConfigByTenant([TENANT_ENUM.BASE])"
|
||||||
>
|
>
|
||||||
<projectTaskPerformanceList
|
<projectTaskPerformanceList
|
||||||
v-if="displayedTabs.includes('proformance') && projectUuid"
|
v-if="displayedTabs.includes('proformance') && projectUuid"
|
||||||
@@ -232,22 +232,8 @@ const props = defineProps({
|
|||||||
type: String,
|
type: String,
|
||||||
default: '',
|
default: '',
|
||||||
},
|
},
|
||||||
projectInfo: {
|
|
||||||
type: Object,
|
|
||||||
default: () => ({}),
|
|
||||||
},
|
|
||||||
});
|
});
|
||||||
|
|
||||||
// 当前用户是不是项目经理
|
|
||||||
const isMember = ref(false);
|
|
||||||
watch(
|
|
||||||
() => props.projectInfo,
|
|
||||||
(newVal) => {
|
|
||||||
isMember.value = isSimProjectManager(newVal.memberList);
|
|
||||||
},
|
|
||||||
{ immediate: true }
|
|
||||||
);
|
|
||||||
|
|
||||||
const emits = defineEmits(['goBack']);
|
const emits = defineEmits(['goBack']);
|
||||||
|
|
||||||
// const router = useRouter();
|
// const router = useRouter();
|
||||||
@@ -420,6 +406,16 @@ const projectInfoLoadCompleteFun = () => {
|
|||||||
// getProjectListApi();
|
// getProjectListApi();
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
|
|
||||||
|
// 当前用户是不是项目经理
|
||||||
|
const isMember = ref(false);
|
||||||
|
watch(
|
||||||
|
() => currentProjectInfo.memberList,
|
||||||
|
(newVal) => {
|
||||||
|
isMember.value = isSimProjectManager(newVal);
|
||||||
|
},
|
||||||
|
{ immediate: true }
|
||||||
|
);
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
|||||||
@@ -105,7 +105,6 @@
|
|||||||
/>
|
/>
|
||||||
<ProjectDetail
|
<ProjectDetail
|
||||||
v-if="showProjectDetailVisible"
|
v-if="showProjectDetailVisible"
|
||||||
:projectInfo="currentProjectInfo"
|
|
||||||
:projectName="currentProject.nodeName"
|
:projectName="currentProject.nodeName"
|
||||||
:projectUuid="currentProject.uuid"
|
:projectUuid="currentProject.uuid"
|
||||||
@goBack="showProjectDetailVisible = false"
|
@goBack="showProjectDetailVisible = false"
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
<div class="comp-content">
|
<div class="comp-content">
|
||||||
<Dialog
|
<Dialog
|
||||||
v-model="dialogVisible"
|
v-model="dialogVisible"
|
||||||
diaTitle="需求详细信息"
|
diaTitle="待办详细信息"
|
||||||
width="60%"
|
width="60%"
|
||||||
height="80%"
|
height="80%"
|
||||||
@close="closeFun"
|
@close="closeFun"
|
||||||
|
|||||||
@@ -199,7 +199,7 @@ const diaVisible = computed({
|
|||||||
// BATCH_SEND_TASK
|
// BATCH_SEND_TASK
|
||||||
const headData = ref<any[]>([
|
const headData = ref<any[]>([
|
||||||
{
|
{
|
||||||
title: '需求名称',
|
title: '待办名称',
|
||||||
key: 'demandName',
|
key: 'demandName',
|
||||||
isShow: true,
|
isShow: true,
|
||||||
inputMode: 'input',
|
inputMode: 'input',
|
||||||
@@ -288,19 +288,19 @@ const confirmFun = async () => {
|
|||||||
for (let index = 0; index < tableRef.value.tableData.length; index++) {
|
for (let index = 0; index < tableRef.value.tableData.length; index++) {
|
||||||
const item = tableRef.value.tableData[index];
|
const item = tableRef.value.tableData[index];
|
||||||
if (!item.insertIndex) {
|
if (!item.insertIndex) {
|
||||||
return ElMessage.warning('需求名为 ' + item.demandName + ' 的上层节点不能为空!');
|
return ElMessage.warning('待办名为 ' + item.demandName + ' 的上层节点不能为空!');
|
||||||
}
|
}
|
||||||
if (item.insertMode === 'lib' && item.chooseTaskList?.length === 0) {
|
if (item.insertMode === 'lib' && item.chooseTaskList?.length === 0) {
|
||||||
return ElMessage.warning('需求名为 ' + item.demandName + ' 的选择工况不能为空!');
|
return ElMessage.warning('待办名为 ' + item.demandName + ' 的选择工况不能为空!');
|
||||||
}
|
}
|
||||||
if (item.insertMode === 'custom' && item.taskName?.trim()?.length === 0) {
|
if (item.insertMode === 'custom' && item.taskName?.trim()?.length === 0) {
|
||||||
return ElMessage.warning('需求名为 ' + item.demandName + ' 的任务名称不能为空!');
|
return ElMessage.warning('待办名为 ' + item.demandName + ' 的任务名称不能为空!');
|
||||||
}
|
}
|
||||||
if (item.eMemberList.length === 0) {
|
if (item.eMemberList.length === 0) {
|
||||||
return ElMessage.warning('需求名为 ' + item.demandName + ' 的仿真执行人不能为空!');
|
return ElMessage.warning('待办名为 ' + item.demandName + ' 的仿真执行人不能为空!');
|
||||||
}
|
}
|
||||||
if (item.planTime.length === 2 && (!item.planTime[0] || !item.planTime[1])) {
|
if (item.planTime.length === 2 && (!item.planTime[0] || !item.planTime[1])) {
|
||||||
return ElMessage.warning('需求名为 ' + item.demandName + ' 的仿计划时间不能为空!');
|
return ElMessage.warning('待办名为 ' + item.demandName + ' 的仿计划时间不能为空!');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
loadingInterface.value = true;
|
loadingInterface.value = true;
|
||||||
|
|||||||
@@ -9,7 +9,7 @@
|
|||||||
tableName="SIMULATION_TASK_DEMAND_CONFIRM"
|
tableName="SIMULATION_TASK_DEMAND_CONFIRM"
|
||||||
:params="taskParams"
|
:params="taskParams"
|
||||||
:api="demandListApi"
|
:api="demandListApi"
|
||||||
exportFileName="我确认的需求"
|
exportFileName="我确认的待办"
|
||||||
:actionList="actionList"
|
:actionList="actionList"
|
||||||
:name-click="false"
|
:name-click="false"
|
||||||
>
|
>
|
||||||
@@ -458,7 +458,7 @@ const checkedList = ref();
|
|||||||
const batchSendFun = () => {
|
const batchSendFun = () => {
|
||||||
checkedList.value = tableRef.value.tableRef.tableRef.getCheckboxRecords();
|
checkedList.value = tableRef.value.tableRef.tableRef.getCheckboxRecords();
|
||||||
if (checkedList.value.length === 0) {
|
if (checkedList.value.length === 0) {
|
||||||
return ElMessage.warning('请勾选需要分发的需求!');
|
return ElMessage.warning('请勾选需要分发的待办!');
|
||||||
}
|
}
|
||||||
bachSendVisible.value = true;
|
bachSendVisible.value = true;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -12,7 +12,7 @@
|
|||||||
auth: false,
|
auth: false,
|
||||||
},
|
},
|
||||||
}"
|
}"
|
||||||
exportFileName="新增待办需求"
|
exportFileName="新增待办"
|
||||||
:actionList="actionList"
|
:actionList="actionList"
|
||||||
@show="showTaskDetailFun"
|
@show="showTaskDetailFun"
|
||||||
:name-click="false"
|
:name-click="false"
|
||||||
@@ -37,7 +37,7 @@
|
|||||||
<Dialog
|
<Dialog
|
||||||
v-model="formVisible"
|
v-model="formVisible"
|
||||||
:loading="loadingInterface"
|
:loading="loadingInterface"
|
||||||
:diaTitle="isCreateDialog ? '创建待办' : '编辑需求'"
|
:diaTitle="isCreateDialog ? '创建待办' : '编辑待办'"
|
||||||
width="60%"
|
width="60%"
|
||||||
:height="700"
|
:height="700"
|
||||||
@close="closeFun"
|
@close="closeFun"
|
||||||
@@ -193,7 +193,7 @@ const actionList = ref([
|
|||||||
title: '删除',
|
title: '删除',
|
||||||
type: 'danger',
|
type: 'danger',
|
||||||
needConfirm: true,
|
needConfirm: true,
|
||||||
confirmTip: '删除需求时,跟需求关联的任务及任务下的数据也会删除!确认删除吗?',
|
confirmTip: '删除待办时,跟待办关联的任务及任务下的数据也会删除!确认删除吗?',
|
||||||
click: (row: any) => {
|
click: (row: any) => {
|
||||||
deleteDemandFun(row.uuid);
|
deleteDemandFun(row.uuid);
|
||||||
},
|
},
|
||||||
@@ -351,6 +351,7 @@ const confirmFun = async () => {
|
|||||||
projectId: editFormInfo.value.projectId, // 项目id
|
projectId: editFormInfo.value.projectId, // 项目id
|
||||||
callbackFlag: '/task/sponsor', // 回调标识
|
callbackFlag: '/task/sponsor', // 回调标识
|
||||||
uuid: demandId,
|
uuid: demandId,
|
||||||
|
tagReq: {},
|
||||||
};
|
};
|
||||||
await uploadBigFile(params, batchAddFileInfoApi);
|
await uploadBigFile(params, batchAddFileInfoApi);
|
||||||
}
|
}
|
||||||
@@ -453,6 +454,7 @@ const editDemandApiFun = async (fromData: any) => {
|
|||||||
// isApprove: 0, // 0不需要审批 1需要审批 默认0
|
// isApprove: 0, // 0不需要审批 1需要审批 默认0
|
||||||
// type: 0,
|
// type: 0,
|
||||||
uuid: fromData.uuid,
|
uuid: fromData.uuid,
|
||||||
|
tagReq: {},
|
||||||
};
|
};
|
||||||
await uploadBigFile(params, batchAddFileInfoApi);
|
await uploadBigFile(params, batchAddFileInfoApi);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user