From c6e96cdb8b1cfb51e9a45bf86c38d1353e983127 Mon Sep 17 00:00:00 2001
From: 吴羡 <16976746+Xian-TT3@user.noreply.gitee.com>
Date: 星期一, 19 十月 2026 15:19:48 +0800
Subject: [PATCH] 设备模块业务完善及前序页面优化
---
src/views/CNAS/resourceDemand/device/component/scrapApplicationForm.vue | 38 ++++++++++++++++++++++++++++----------
1 files changed, 28 insertions(+), 10 deletions(-)
diff --git a/src/views/CNAS/resourceDemand/device/component/scrapApplicationForm.vue b/src/views/CNAS/resourceDemand/device/component/scrapApplicationForm.vue
index 46ba37e..7b40798 100644
--- a/src/views/CNAS/resourceDemand/device/component/scrapApplicationForm.vue
+++ b/src/views/CNAS/resourceDemand/device/component/scrapApplicationForm.vue
@@ -8,7 +8,7 @@
<el-step title="璁¢噺瀹ゆ剰瑙�" @click="setStep(2)"></el-step>
<el-step title="鎵瑰噯浜�" @click="setStep(3)"></el-step>
</el-steps>
- <el-form ref="modelForm" :model="form" :rules="rules" label-width="160px">
+ <el-form ref="modelForm" :model="form" :rules="rules" label-width="160px" :disabled="!canOperate">
<el-col v-if="showStep === 0" :span="24">
<el-form-item label="閰嶄欢锛�" prop="parts">
<el-input v-model="form.parts" :disabled="currentStep !== 0" clearable size="small"></el-input>
@@ -65,7 +65,7 @@
</el-form>
<template #footer><span class="dialog-footer">
<el-button @click="resetForm">鍙� 娑�</el-button>
- <el-button v-if="currentStep !== 4" :loading="submitFormLoading" type="primary" @click="submitForm">纭�
+ <el-button v-if="currentStep !== 4 && canOperate" :loading="submitFormLoading" type="primary" @click="submitForm">纭�
璁�</el-button>
</span></template>
</el-dialog>
@@ -78,17 +78,17 @@
addDeviceScrapped,
} from '@/api/cnas/resourceDemand/device.js'
import { selectUserCondition } from "@/api/business/inspectionTask";
-import draftSave from '@/mixins/draftSave'
+import { mapGetters } from "@/utils/store-compat";
export default {
name: "scrapApplicationForm",
// import 寮曞叆鐨勭粍浠堕渶瑕佹敞鍏ュ埌瀵硅薄涓墠鑳戒娇鐢�
components: {},
- mixins: [draftSave],
data() {
// 杩欓噷瀛樻斁鏁版嵁
return {
dialogVisible: false,
submitFormLoading: false,
+ canOperate: true,
form: {
parts: '',
reasonsForScrap: '',
@@ -120,13 +120,12 @@
// 鎵撳紑寮规
openDialog(id, deviceId) {
this.dialogVisible = true
+ this.canOperate = true
this.form.scrappedId = id
this.form.deviceId = deviceId
this.getUserList()
if (this.form.scrappedId) {
this.searchInfo()
- } else {
- this.draftRestore('scrapApplicationForm', 'form', this.form.deviceId, 'dialogVisible')
}
},
// 鏌ヨ璇︽儏
@@ -135,9 +134,7 @@
scrappedId: this.form.scrappedId
}).then(res => {
if (res.code === 200) {
- const id = this.form.scrappedId
this.form = { ...res.data }
- this.draftRestore('scrapApplicationForm', 'form', id, 'dialogVisible')
if (this.form.isFinish === 0) {
if (this.form.departmentHeadUserId) {
this.currentStep = 1
@@ -155,10 +152,29 @@
this.currentStep = 4
this.showStep = 3
}
+ this.applyPermission()
}
}).catch(error => {
console.error(error)
})
+ },
+ // 闈炲綋鍓嶇幆鑺傝矗浠讳汉鍙厑璁告煡鐪�
+ applyPermission() {
+ if (this.form.isFinish === 1 || this.currentStep >= 4) {
+ this.canOperate = false
+ return
+ }
+ const responsibleList = [
+ this.form.applicantUser,
+ this.form.departmentHeadUser,
+ this.form.meteringRoomUser,
+ this.form.approverUser,
+ ]
+ const responsible = responsibleList[this.currentStep]
+ this.canOperate = !responsible || responsible === this.nickName
+ if (!this.canOperate) {
+ this.$message.warning('褰撳墠鐜妭璐d换浜轰负锛�' + responsible + '锛屾偍鍙兘鏌ョ湅')
+ }
},
setStep(step) {
this.showStep = step
@@ -168,10 +184,10 @@
this.form.flowType = this.currentStep
this.$refs.modelForm.validate((valid) => {
if (valid) {
+ this.submitFormLoading = true
addDeviceScrapped(this.form).then(res => {
if (res.code == 200) {
this.$message.success('鏂板鎴愬姛')
- this.draftClear('scrapApplicationForm')
this.resetForm()
}
this.submitFormLoading = false
@@ -183,7 +199,6 @@
},
// 鍏抽棴寮规
resetForm() {
- this.draftStop('scrapApplicationForm')
this.dialogVisible = false
this.$emit('closeDialog')
},
@@ -193,6 +208,9 @@
})
},
},
+ computed: {
+ ...mapGetters(["nickName"]),
+ },
}
</script>
--
Gitblit v1.9.3