This commit is contained in:
那些花儿
2025-07-31 10:36:02 +08:00
parent 73974dbdd3
commit 8118ea9687
21 changed files with 472 additions and 333 deletions
File diff suppressed because one or more lines are too long
@@ -6,8 +6,6 @@
<div class="title-section">
<h2 class="page-title">{{ pageTitle }}</h2>
<div class="page-breadcrumb">
<!-- <span>工作流管理</span>-->
<!-- <span class="separator">></span>-->
<span>{{ isNewApplication ? "发起申请" : "任务处理" }}</span>
</div>
</div>
@@ -27,7 +25,7 @@
<div class="panel-header">
<h3 class="panel-title">流程信息</h3>
<div class="panel-actions">
<el-button size="small" type="text" @click="showProcessDiagram" v-if="canShowDiagram">
<el-button size="small" type="text" @click="showProcessDiagram" v-if="isNewApplication">
<i class="el-icon-view"></i>
查看流程图
</el-button>
@@ -36,14 +34,16 @@
<div class="panel-content">
<div class="info-table">
<!-- 新申请场景 -->
<template v-if="isNewApplication || (processInstance && processInstance.state === 30)">
<template v-if="isNewApplication">
<div class="info-row">
<div class="info-label">流程名称</div>
<div class="info-value">{{ processDefinition.displayName || processDefinition.name }}</div>
<div class="info-value">{{ processDefinition.displayName }}</div>
</div>
<div class="info-row">
<div class="info-label">流程说明</div>
<div class="info-value">{{ processDefinition.description }}</div>
<div class="info-value">
<div v-html="processDefinition.description"></div>
</div>
</div>
</template>
@@ -61,6 +61,12 @@
<div class="info-label">发起时间</div>
<div class="info-value">{{ formatDate(processInstance.createdAt) }}</div>
</div>
<div class="info-row">
<div class="info-label">流程进度</div>
<div class="info-value">
<span @click="showProcessDiagram" style="color: var(--color-primary); cursor: pointer">查看流程图</span>
</div>
</div>
</template>
</div>
</div>
@@ -82,20 +88,13 @@
</div>
<!-- 表单处理区域 -->
<div
class="form-panel"
v-if="isNewApplication || (processInstance && processInstance.state === 30) || todoTasks.map((v) => v.id).includes(taskId)"
>
<div class="form-panel" v-if="isNewApplication || todoTasks.map((v) => v.id).includes(taskId)">
<div class="panel-header">
<h3 class="panel-title">{{ formPanelTitle }}</h3>
</div>
<div class="panel-content">
<!-- 新申请表单 -->
<div
v-if="isNewApplication || (processInstance && processInstance.state === 30)"
id="application-form-container"
class="form-content"
>
<div v-if="isNewApplication" id="application-form-container" class="form-content">
<div v-if="pjaxLoading.apply" class="loading-state">
<i class="el-icon-loading"></i>
<span>正在加载申请表单...</span>
@@ -191,6 +190,7 @@ class PjaxSync {
}
}
}
// 创建全局实例
const pjaxSync = new PjaxSync()
@@ -289,7 +289,7 @@ module.exports = {
// 表单面板标题
formPanelTitle() {
if (this.isNewApplication) {
return "申请表单"
return "填写申请"
} else if (this.shouldShowTaskForm) {
return this.currentTask.displayName || "任务表单"
} else if (this.shouldShowHistoryProcess) {
@@ -301,9 +301,7 @@ module.exports = {
// 是否显示历史办理过程
shouldShowHistoryProcess() {
// debugger
// return this.businessId && this.isTaskInProgress && !this.isFirstTaskNode
return true
return this.instanceId !== null
},
// 是否显示任务表单
@@ -311,11 +309,6 @@ module.exports = {
return this.taskId != null
},
// 是否可以显示流程图
canShowDiagram() {
return (this.isNewApplication && this.processDefinition.id) || (this.isExistingProcess && this.processInstance.processId)
},
// 判断是否为新申请
isNewApplication() {
return !this.taskId && !this.instanceId && this.defineKey
@@ -338,10 +331,11 @@ module.exports = {
// 流程图预览URL
processDesignUrl() {
debugger
if (this.isNewApplication && this.processDefinition.id) {
return `/flow/define/preview?id=${this.processDefinition.id}`
} else if (this.isExistingProcess && this.processInstance.processId) {
return `/flow/define/preview?id=${this.processInstance.processId}`
return `/flow/define/preview?defineId=${this.processDefinition.id}`
} else if (this.isExistingProcess && this.processInstance.processDefineId) {
return `/flow/define/preview?defineId=${this.processInstance.processDefineId}&instanceId=${this.instanceId}`
}
return ""
}
@@ -474,6 +468,7 @@ module.exports = {
// 显示流程图
showProcessDiagram() {
debugger
if (this.processDesignUrl) {
this.designUrl = this.processDesignUrl
this.designVisible = true