吴羡
12 小时以前 a1faa94fbf85553f22da934a1abc745d89dd8667
src/views/CNAS/resourceDemand/device/component/accidentForm.vue
@@ -9,7 +9,7 @@
        <el-step title="技术负责人意见" @click="setStep(3)"></el-step>
        <el-step title="主任意见" @click="setStep(4)"></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="12">
          <el-form-item label="地点:" prop="address">
            <el-input v-model="form.address" :disabled="currentStep !== 0" clearable size="small"></el-input>
@@ -87,7 +87,7 @@
      </el-form>
      <template #footer><span  class="dialog-footer">
        <el-button @click="resetForm">取 消</el-button>
        <el-button v-if="currentStep !== 5" :loading="submitFormLoading" type="primary" @click="submitForm">确
        <el-button v-if="currentStep !== 5 && canOperate" :loading="submitFormLoading" type="primary" @click="submitForm">确
          认</el-button>
      </span></template>
    </el-dialog>
@@ -96,6 +96,7 @@
<script>
import { selectUserCondition } from "@/api/business/inspectionTask";
import { mapGetters } from "@/utils/store-compat";
import {
  getDeviceAccidentReport,
  addDeviceAccidentReport,
@@ -109,6 +110,7 @@
    return {
      dialogVisible: false,
      submitFormLoading: false,
      canOperate: true,
      form: {
        accidentReportId: '',
        address: '',
@@ -145,6 +147,7 @@
    // 打开弹框
    openDialog(id, deviceId) {
      this.dialogVisible = true
      this.canOperate = true
      this.form.accidentReportId = id
      this.form.deviceId = deviceId
      this.getUserList()
@@ -178,10 +181,30 @@
            this.currentStep = 5
            this.showStep = 4
          }
          this.applyPermission()
        }
      }).catch(error => {
        console.error(error)
      })
    },
    // 非当前环节责任人只允许查看
    applyPermission() {
      if (this.form.isFinish === 1 || this.currentStep >= 5) {
        this.canOperate = false
        return
      }
      const responsibleList = [
        this.form.reportUser,
        this.form.assessorUser,
        this.form.departmentHeadUser,
        this.form.technicalDirectorUser,
        this.form.directorHeadUser,
      ]
      const responsible = responsibleList[this.currentStep]
      this.canOperate = !responsible || responsible === this.nickName
      if (!this.canOperate) {
        this.$message.warning('当前环节责任人为:' + responsible + ',您只能查看')
      }
    },
    setStep(step) {
      this.showStep = step
@@ -191,6 +214,7 @@
      this.form.flowType = this.currentStep
      this.$refs.modelForm.validate((valid) => {
        if (valid) {
          this.submitFormLoading = true
          addDeviceAccidentReport(this.form).then(res => {
            if (res.code == 200) {
              this.$message.success('新增成功')
@@ -214,6 +238,9 @@
      })
    },
  },
  computed: {
    ...mapGetters(["nickName"]),
  },
}
</script>