update:审核优化

This commit is contained in:
2025-12-26 13:50:07 +08:00
parent b4d748fe72
commit 3cc5b76bed
11 changed files with 87 additions and 22 deletions

View File

@@ -548,16 +548,16 @@ export const appList = [
// icon: 'fa fa-arrow-circle-right',
// },
// },
// {
// name: 'taskCompleted',
// zhCn: '已完成任务',
// en: 'Completed Task',
// path: '/task/completed',
// component: () => import('/@/views/flow/task/completed.vue'),
// meta: {
// icon: 'fa fa-hand-o-right',
// },
// },
{
name: 'taskCompleted',
zhCn: '已完成任务',
en: 'Completed Task',
path: '/task/completed',
component: () => import('/@/views/flow/task/completed.vue'),
meta: {
icon: 'fa fa-hand-o-right',
},
},
],
},
{

View File

@@ -203,6 +203,7 @@ export default {
projectDetail: 'Project Detail',
projectSet: 'Project Set',
taskPending: 'Pending Task',
taskCompleted: 'Completed Task',
formTemplateList: 'Form Template List',
formTemplateVersion: 'Form Template Version',
flowGroup: 'Flow List',

View File

@@ -129,6 +129,7 @@ export default {
projectDetail: '项目详情',
projectSet: '项目设置',
taskPending: '待办任务',
taskCompleted: '已完成任务',
formTemplateList: '表单列表',
formTemplateVersion: '表单版本',
flowGroup: '流程列表',

View File

@@ -7,7 +7,7 @@ export const appMap = {
spdmCompetenceCenter: {"name":"moduleApps.spdmCompetenceCenter","zhCn":"能力中心","en":"Capability Center","meta":{"icon":"ele-Reading"},"pages":[{"name":"spdmCompetenceCenterCondition","zhCn":"仿真工况库","en":"Condition Library","path":"/spdm/competenceCenter/condition","meta":{"icon":"ele-Suitcase"}},{"name":"spdmCompetenceCenterIndicator","zhCn":"仿真指标库","en":"Indicator Library","path":"/spdm/competenceCenter/indicator","meta":{"icon":"ele-Money"}},{"name":"spdmCompetenceCenterKnowledge","zhCn":"仿真知识库","en":"Knowledge Library","path":"/spdm/competenceCenter/knowledge","meta":{"icon":"ele-Memo"}},{"name":"spdmCompetenceCenterParameter","zhCn":"仿真参数库","en":"Parameter Library","path":"/spdm/competenceCenter/parameter","meta":{"icon":"ele-Tickets"}}]},
spdmSystem: {"name":"moduleApps.spdmSystem","zhCn":"系统管理","en":"System Administration","meta":{"icon":"ele-Monitor"},"pages":[{"name":"spdmSystemStorage","zhCn":"数据存储","en":"Data Storage","path":"/spdm/system/storage","meta":{"icon":"ele-Wallet"}},{"name":"spdmSystemDictionary","zhCn":"数据字典","en":"Data Dictionary","path":"/spdm/system/dictionary","meta":{"icon":"ele-Collection"}},{"name":"spdmSystemLogs","zhCn":"日志管理","en":"Logs","path":"/spdm/system/logs","meta":{"icon":"ele-Link"}},{"name":"spdmSystemDynamicTable","zhCn":"动态表格","en":"Dynamic Table","path":"/spdm/system/dynamicTable","meta":{"icon":"ele-Document"}}]},
project: {"name":"moduleApps.project","zhCn":"项目管理","en":"Project Management","pages":[{"name":"projectList","zhCn":"项目列表","en":"Project List","path":"/project/list","meta":{"icon":"iconfont icon-diannao1"}},{"name":"projectDetail","zhCn":"项目详情","en":"Project Detail","path":"/project/detail","meta":{"isKeepAlive":true,"parentName":"projectList"}},{"name":"projectSet","zhCn":"项目设置","en":"Project Set","path":"/project/set","meta":{"parentName":"projectDetail"}}]},
task: {"name":"moduleApps.task","zhCn":"任务中心","en":"Task Center","functions":["shutdown"],"pages":[{"name":"taskPending","zhCn":"待办任务","en":"Pending Task","path":"/task/pending","meta":{"icon":"fa fa-flag-checkered"}}]},
task: {"name":"moduleApps.task","zhCn":"任务中心","en":"Task Center","functions":["shutdown"],"pages":[{"name":"taskPending","zhCn":"待办任务","en":"Pending Task","path":"/task/pending","meta":{"icon":"fa fa-flag-checkered"}},{"name":"taskCompleted","zhCn":"已完成任务","en":"Completed Task","path":"/task/completed","meta":{"icon":"fa fa-hand-o-right"}}]},
form_template: {"name":"moduleApps.form_template","zhCn":"表单管理","en":"Form Management","pages":[{"name":"formTemplateList","zhCn":"表单列表","en":"Form Template List","path":"/form-template/list","meta":{"icon":"iconfont icon-putong"}},{"name":"formTemplateVersion","zhCn":"表单版本","en":"Form Template Version","path":"/form-template/version","meta":{"icon":"iconfont icon-barcode-qr","parentName":"formTemplateList"}}]},
flow_template: {"name":"moduleApps.flow_template","zhCn":"流程模板管理","en":"Flow Template Management","pages":[{"name":"flowGroup","zhCn":"流程列表","en":"Flow List","path":"/flow/group","meta":{"icon":"iconfont icon-gongju"}},{"name":"flowCreate","zhCn":"创建流程","en":"Create Flow Template","path":"/flow/create","meta":{"icon":"fa fa-arrow-circle-right","parentName":"flowGroup"}}]},
flow_initiate: {"name":"moduleApps.flow_initiate","zhCn":"发起流程","en":"Initiate Flow","pages":[{"name":"flowInitiate","zhCn":"发起流程","en":"Initiate Flow","path":"/flow/initiate","meta":{"icon":"fa fa-play"}}]},
@@ -309,6 +309,14 @@ export const pageMap = {
"code": "task_view"
}
},
"taskCompleted": {
"path": "/task/completed",
"name": "moduleRoutes.taskCompleted",
"meta": {
"icon": "fa fa-hand-o-right",
"code": "task_view"
}
},
"formTemplateList": {
"path": "/form-template/list",
"name": "moduleRoutes.formTemplateList",

View File

@@ -1,5 +1,6 @@
import request from '/@/utils/request';
import { getObj } from '/@/api/pm/pmTask';
import { queryTask } from '/@/api/flow/task';
import { useUserInfo } from '/@/stores/userInfo';
import router from '/@/router';
@@ -244,11 +245,13 @@ export const taskAdjust = async (item: any, readType: number = MessageRead.READ)
});
}
} else if (item.msgCategory === MessageCategory.SPDM) { // SPDM CODE
queryTask(params.taskId, false).then((res) => {
localStorage.setItem('SPDM_MSG_TASK_TYPE', 'flow');
localStorage.setItem('SPDM_MSG_TASK_PARAMS', JSON.stringify(params));
router.push({
path: TaskLink.Pending,
path: res.data.endTime ? TaskLink.Completed : TaskLink.Pending,
});
});
} else {
router.push({
path: CategoryRoute[item.msgCategory],

View File

@@ -203,6 +203,7 @@ export default {
projectDetail: 'Project Detail',
projectSet: 'Project Set',
taskPending: 'Pending Task',
taskCompleted: 'Completed Task',
formTemplateList: 'Form Template List',
formTemplateVersion: 'Form Template Version',
flowGroup: 'Flow List',

View File

@@ -129,6 +129,7 @@ export default {
projectDetail: '项目详情',
projectSet: '项目设置',
taskPending: '待办任务',
taskCompleted: '已完成任务',
formTemplateList: '表单列表',
formTemplateVersion: '表单版本',
flowGroup: '流程列表',

View File

@@ -421,6 +421,14 @@ export default [
"icon": "fa fa-flag-checkered",
"code": "task_view"
}
},
{
"path": "/task/completed",
"name": "moduleRoutes.taskCompleted",
"meta": {
"icon": "fa fa-hand-o-right",
"code": "task_view"
}
}
]
},

View File

@@ -161,6 +161,12 @@ export default [
component: () => import('/@/views/flow/task/pending.vue'),
meta: {"icon":"fa fa-flag-checkered","code":"task_view"},
},
{
path: '/task/completed',
name: 'moduleRoutes.taskCompleted',
component: () => import('/@/views/flow/task/completed.vue'),
meta: {"icon":"fa fa-hand-o-right","code":"task_view"},
},
{
path: '/form-template/list',
name: 'moduleRoutes.formTemplateList',

View File

@@ -2,10 +2,10 @@
<div class="task-wrap">
<div class="task-tool">
<div class="flex items-center" id="search-container"></div>
<el-radio-group size="large" v-model="taskType">
<!-- <el-radio-group size="large" v-model="taskType">
<el-radio-button label="project">{{ $t('task.projectTask') }}</el-radio-button>
<el-radio-button label="flow">{{ $t('task.flowTask') }}</el-radio-button>
</el-radio-group>
</el-radio-group> -->
</div>
<CommonTaskList
v-if="taskType === 'project'"
@@ -22,7 +22,10 @@ import {ref} from 'vue';
import StartedFlowTask from './completedFlowTask.vue';
import {queryProjectMineFinishedTask} from '/@/api/flow/task';
import CommonTaskList from './CommonTaskList.vue';
const taskType = ref('project');
// SPDM CODE
// const taskType = ref('project');
const taskType = ref('flow');
</script>
<style scoped lang="scss">

View File

@@ -59,17 +59,25 @@
</pagination>
</div>
<!-- 右侧抽屉-->
<el-drawer v-model="rightDrawerVisible" direction="rtl" size="400px">
<el-drawer v-model="rightDrawerVisible" direction="rtl" :size="processRreview ? processRreviewWidth : '400px'">
<template #header>
<h3>{{ currentData?.processName }}</h3>
</template>
<template #default>
<el-card class="box-card">
<form-render ref="formRenderRef" :form-list="currentOpenFlowForm"></form-render>
</el-card>
<flow-node-format :disableSelect="true" :formData="formValue"
:processInstanceId="currentData.processInstanceId" :flow-id="currentData.flowId"
ref="flowNodeFormatRef"></flow-node-format>
<!-- SPDM CODE -->
<div class="spdm-approve-preview">
<div v-show="processRreview" class="spdm-content">
<SpdmView :processId="processInstanceId" @load="previewLoadFun" />
</div>
<div class="spdm-default">
<el-card class="box-card">
<form-render ref="formRenderRef" :form-list="currentOpenFlowForm"></form-render>
</el-card>
<flow-node-format :disableSelect="true" :formData="formValue"
:processInstanceId="currentData.processInstanceId" :flow-id="currentData.flowId"
ref="flowNodeFormatRef"></flow-node-format>
</div>
</div>
</template>
</el-drawer>
</div>
@@ -82,6 +90,7 @@ import { queryMineEndTask, queryTask, } from '/@/api/flow/task';
import { BasicTableProps, useTable } from '/@/hooks/table';
import { useTagName } from './useTagName';
import SpdmView from '/@/spdm/views/preview.vue'; // SPDM CODE
const { tagName } = useTagName()
@@ -100,6 +109,10 @@ const loading = ref(false);
const showSearch = ref(true);
const queryRef = ref();
const currentData = ref();
const processInstanceId = ref('');
const processRreview = ref(false);
const processRreviewWidth = ref(0)
/**
* 点击开始处理
* @param row
@@ -108,6 +121,7 @@ const deal = (row) => {
currentData.value = row;
queryTask(row.taskId, true).then((res) => {
currentOpenFlowForm.value = res.data.formItems;
processInstanceId.value = res.data.processInstanceId;
rightDrawerVisible.value = true;
});
};
@@ -121,6 +135,20 @@ const resetQuery = () => {
onMounted(() => {
getDataList();
// SPDM CODE
const paramsData = JSON.parse(localStorage.getItem('SPDM_MSG_TASK_PARAMS') || '{}');
if (paramsData.taskId) {
const params = {
taskId: paramsData.taskId,
processName: paramsData.title,
flowId: paramsData.flowId,
processInstanceId: paramsData.processInstanceId,
nodeId: paramsData.nodeId,
};
deal(params);
localStorage.removeItem('SPDM_MSG_TASK_TYPE');
localStorage.removeItem('SPDM_MSG_TASK_PARAMS');
}
});
const formValue = computed(() => {
@@ -130,4 +158,9 @@ const formValue = computed(() => {
}
return obj;
});
const previewLoadFun = (width: any) => {
processRreview.value = true;
processRreviewWidth.value = width;
}
</script>