|
|
@@ -11,15 +11,24 @@
|
|
|
<!-- 操作按钮区域 -->
|
|
|
<div class="btn-group">
|
|
|
<div class="process-actions">
|
|
|
- <el-button type="primary" @click="handleNextStep">
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ :disabled="isStatus300"
|
|
|
+ @click="handleNextStep"
|
|
|
+ >
|
|
|
流转下一步
|
|
|
</el-button>
|
|
|
- <el-button type="primary" @click="handlePrevStep">
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ :disabled="isStatus300"
|
|
|
+ @click="handlePrevStep"
|
|
|
+ >
|
|
|
退回上一步
|
|
|
</el-button>
|
|
|
<el-button
|
|
|
v-if="currentNode === 'cjbg'"
|
|
|
type="primary"
|
|
|
+ :disabled="isStatus300"
|
|
|
@click="handleAddTask"
|
|
|
>
|
|
|
办结任务
|
|
|
@@ -36,6 +45,7 @@
|
|
|
v-if="currentNode === 'yjfk'"
|
|
|
type="primary"
|
|
|
icon="el-icon-s-flag"
|
|
|
+ :disabled="isStatus300"
|
|
|
@click="handleFh"
|
|
|
>
|
|
|
复核
|
|
|
@@ -51,6 +61,7 @@
|
|
|
:project="project"
|
|
|
:current-node="currentNode"
|
|
|
:current-status="currentStatus"
|
|
|
+ :is-view="isStatus300"
|
|
|
/>
|
|
|
</el-tab-pane>
|
|
|
<el-tab-pane
|
|
|
@@ -69,7 +80,7 @@
|
|
|
:current-status="currentStatus"
|
|
|
:project-name="projectName"
|
|
|
:audit-object="auditObject"
|
|
|
- :is-editable="currentNode === 'jtsy'"
|
|
|
+ :is-editable="!isStatus300 && currentNode === 'jtsy'"
|
|
|
/>
|
|
|
</el-tab-pane>
|
|
|
<el-tab-pane
|
|
|
@@ -82,7 +93,7 @@
|
|
|
:active="activeTab === 'costAudit'"
|
|
|
:current-node="currentNode"
|
|
|
:current-status="currentStatus"
|
|
|
- :is-editable="currentNode === 'cjbg'"
|
|
|
+ :is-editable="!isStatus300 && currentNode === 'cjbg'"
|
|
|
@saved="handleConclusionSaved"
|
|
|
/>
|
|
|
</el-tab-pane>
|
|
|
@@ -122,7 +133,13 @@
|
|
|
</div>
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
<el-button @click="showProcessDialog = false">取消</el-button>
|
|
|
- <el-button type="primary" @click="submitProcess">确定</el-button>
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ :disabled="isStatus300"
|
|
|
+ @click="submitProcess"
|
|
|
+ >
|
|
|
+ 确定
|
|
|
+ </el-button>
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
<el-dialog
|
|
|
@@ -156,7 +173,9 @@
|
|
|
</div>
|
|
|
<div slot="footer" class="dialog-footer">
|
|
|
<el-button @click="showFhDialog = false">取消</el-button>
|
|
|
- <el-button type="primary" @click="submitFh">发送</el-button>
|
|
|
+ <el-button type="primary" :disabled="isStatus300" @click="submitFh">
|
|
|
+ 发送
|
|
|
+ </el-button>
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
</div>
|
|
|
@@ -184,7 +203,7 @@
|
|
|
},
|
|
|
project: {
|
|
|
type: Object,
|
|
|
- default: () => {},
|
|
|
+ default: () => ({}),
|
|
|
},
|
|
|
id: {
|
|
|
type: [String, Number],
|
|
|
@@ -232,6 +251,11 @@
|
|
|
}
|
|
|
},
|
|
|
computed: {
|
|
|
+ isStatus300() {
|
|
|
+ // 弹窗关闭/返回时父组件可能会把 project 置为 null,需做空值保护
|
|
|
+ const status = this.project && this.project.status
|
|
|
+ return String(status) === '300'
|
|
|
+ },
|
|
|
dialogTitle() {
|
|
|
// 基础标题
|
|
|
let baseTitle = ''
|
|
|
@@ -290,6 +314,13 @@
|
|
|
})
|
|
|
}
|
|
|
},
|
|
|
+ // drawerVisible 变化时,同步回写父组件,并在关闭时重置内部弹窗状态
|
|
|
+ drawerVisible(newVal) {
|
|
|
+ this.$emit('update:visible', newVal)
|
|
|
+ if (!newVal) {
|
|
|
+ this.resetInnerDialogs()
|
|
|
+ }
|
|
|
+ },
|
|
|
// 监听currentNode变化,如果弹窗已打开,更新标签页并重新获取按钮数据
|
|
|
currentNode(newVal, oldVal) {
|
|
|
if (this.drawerVisible && this.id && newVal && newVal !== oldVal) {
|
|
|
@@ -336,6 +367,18 @@
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
|
+ // 关闭主弹窗时,重置内部二级弹窗/临时状态,避免残留遮挡
|
|
|
+ resetInnerDialogs() {
|
|
|
+ this.showProcessDialog = false
|
|
|
+ this.showFhDialog = false
|
|
|
+ this.showSupplementDialog = false
|
|
|
+ this.showAbortDialog = false
|
|
|
+ this.showRejectDialog = false
|
|
|
+ this.currentProcessType = ''
|
|
|
+ this.processParams = {
|
|
|
+ content: '',
|
|
|
+ }
|
|
|
+ },
|
|
|
// 根据 currentNode 和 currentStatus 设置活动标签页
|
|
|
setActiveTab() {},
|
|
|
// 获取资料初审按钮
|
|
|
@@ -363,7 +406,7 @@
|
|
|
handleClose() {
|
|
|
// 关闭弹窗时更新本地状态并触发事件
|
|
|
this.drawerVisible = false
|
|
|
- this.$emit('update:visible', false)
|
|
|
+ // update:visible 由 drawerVisible watcher 统一回写
|
|
|
this.$emit('close')
|
|
|
},
|
|
|
// 处理审核意见保存成功后的刷新
|
|
|
@@ -589,6 +632,7 @@
|
|
|
.btn-group .el-button {
|
|
|
margin-right: 10px;
|
|
|
}
|
|
|
+
|
|
|
.details-container {
|
|
|
width: 100%;
|
|
|
height: 100%;
|
|
|
@@ -703,6 +747,7 @@
|
|
|
text-align: right;
|
|
|
padding-top: 10px;
|
|
|
}
|
|
|
+
|
|
|
::v-deep .el-dialog__body {
|
|
|
max-height: 720px;
|
|
|
overflow: auto;
|