update 任务详情增加权限控制

This commit is contained in:
2026-03-04 09:40:55 +08:00
parent 1fff82a049
commit 5b34bd8a52

View File

@@ -16,7 +16,7 @@
<!-- <el-tab-pane label="交付物" name="deliverable"></el-tab-pane> --> <!-- <el-tab-pane label="交付物" name="deliverable"></el-tab-pane> -->
</el-tabs> </el-tabs>
<div class="approval-button" v-if="taskInfo.status != 3"> <div class="approval-button" v-if="taskInfo.status != 3 && isPMemberOrEMember">
<el-button type="primary" @click="addApproveFun">发起评审</el-button> <el-button type="primary" @click="addApproveFun">发起评审</el-button>
</div> </div>
</div> </div>
@@ -29,18 +29,21 @@
:task-info="currentTaskInfo" :task-info="currentTaskInfo"
:full-height="true" :full-height="true"
:show-left-options="showLeftOptions" :show-left-options="showLeftOptions"
:canUpdate="isPMemberOrEMember"
></taskPerformance> ></taskPerformance>
</div> </div>
<div class="tabs-component" v-if="activeName === 'picture'"> <div class="tabs-component" v-if="activeName === 'picture'">
<resultImage <resultImage
:task-id="currentTaskInfo?.uuid" :task-id="currentTaskInfo?.uuid"
:show-left-options="showLeftOptions" :show-left-options="showLeftOptions"
:canUpdate="isPMemberOrEMember"
></resultImage> ></resultImage>
</div> </div>
<div class="tabs-component" v-if="activeName === 'canvas'"> <div class="tabs-component" v-if="activeName === 'canvas'">
<taskCurve <taskCurve
:task-id="currentTaskInfo?.uuid" :task-id="currentTaskInfo?.uuid"
:show-left-options="showLeftOptions" :show-left-options="showLeftOptions"
:canUpdate="isPMemberOrEMember"
></taskCurve> ></taskCurve>
</div> </div>
<div class="tabs-component" v-if="activeName === 'deliverable'"> <div class="tabs-component" v-if="activeName === 'deliverable'">
@@ -53,6 +56,7 @@
<taskModel <taskModel
:task-id="currentTaskInfo?.uuid" :task-id="currentTaskInfo?.uuid"
:show-left-options="showLeftOptions" :show-left-options="showLeftOptions"
:canUpdate="isPMemberOrEMember"
></taskModel> ></taskModel>
</div> </div>
<div class="tabs-component" v-if="activeName === '3d-model'"> <div class="tabs-component" v-if="activeName === '3d-model'">
@@ -60,24 +64,28 @@
:task-id="currentTaskInfo?.uuid" :task-id="currentTaskInfo?.uuid"
:show-left-options="showLeftOptions" :show-left-options="showLeftOptions"
:disabled="!showLeftOptions" :disabled="!showLeftOptions"
:canUpdate="isPMemberOrEMember"
></task3DModel> ></task3DModel>
</div> </div>
<div class="tabs-component" v-if="activeName === 'report'"> <div class="tabs-component" v-if="activeName === 'report'">
<taskReport <taskReport
:task-id="currentTaskInfo?.uuid" :task-id="currentTaskInfo?.uuid"
:show-left-options="showLeftOptions" :show-left-options="showLeftOptions"
:canUpdate="isPMemberOrEMember"
></taskReport> ></taskReport>
</div> </div>
<div class="tabs-component" v-if="activeName === 'video'"> <div class="tabs-component" v-if="activeName === 'video'">
<videoFile <videoFile
:task-id="currentTaskInfo?.uuid" :task-id="currentTaskInfo?.uuid"
:show-left-options="showLeftOptions" :show-left-options="showLeftOptions"
:canUpdate="isPMemberOrEMember"
></videoFile> ></videoFile>
</div> </div>
<div class="tabs-component" v-if="activeName === 'experiment'"> <div class="tabs-component" v-if="activeName === 'experiment'">
<experimentResult <experimentResult
:task-info="currentTaskInfo" :task-info="currentTaskInfo"
:show-left-options="showLeftOptions" :show-left-options="showLeftOptions"
:canUpdate="isPMemberOrEMember"
></experimentResult> ></experimentResult>
</div> </div>
<div class="tabs-component" v-if="activeName === 'taskInfo'"> <div class="tabs-component" v-if="activeName === 'taskInfo'">
@@ -93,6 +101,7 @@
<reviewData <reviewData
:task-id="currentTaskInfo?.uuid" :task-id="currentTaskInfo?.uuid"
:show-left-options="showLeftOptions" :show-left-options="showLeftOptions"
:canUpdate="isPMemberOrEMember"
></reviewData> ></reviewData>
</div> </div>
</div> </div>
@@ -156,6 +165,7 @@ import taskInfoPage from '@/components/taskDetail/taskInfo.vue';
import { getSimulationTaskFilesApi } from '@/api/data/dataAnalysis'; import { getSimulationTaskFilesApi } from '@/api/data/dataAnalysis';
import videoFile from '@/components/taskDetail/videoFile.vue'; import videoFile from '@/components/taskDetail/videoFile.vue';
import reviewData from '@/components/taskDetail/reviewData.vue'; import reviewData from '@/components/taskDetail/reviewData.vue';
import { isSimManagerOrExecutor } from '@/utils/task';
const props = defineProps({ const props = defineProps({
taskInfo: { taskInfo: {
@@ -181,6 +191,10 @@ const formAttrs = ref({
max: 100, max: 100,
}, },
}); });
const isPMemberOrEMember = isSimManagerOrExecutor(
props.taskInfo?.pMemberList || [],
props.taskInfo?.eMemberList || []
);
const activeName = ref('report'); const activeName = ref('report');
const approvaVisable = ref(false); const approvaVisable = ref(false);