吴羡
12 小时以前 c6e96cdb8b1cfb51e9a45bf86c38d1353e983127
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,6 +78,7 @@
  addDeviceScrapped,
} from '@/api/cnas/resourceDemand/device.js'
import { selectUserCondition } from "@/api/business/inspectionTask";
import { mapGetters } from "@/utils/store-compat";
export default {
  name: "scrapApplicationForm",
  // import 引入的组件需要注入到对象中才能使用
@@ -87,6 +88,7 @@
    return {
      dialogVisible: false,
      submitFormLoading: false,
      canOperate: true,
      form: {
        parts: '',
        reasonsForScrap: '',
@@ -118,6 +120,7 @@
    // 打开弹框
    openDialog(id, deviceId) {
      this.dialogVisible = true
      this.canOperate = true
      this.form.scrappedId = id
      this.form.deviceId = deviceId
      this.getUserList()
@@ -149,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('当前环节责任人为:' + responsible + ',您只能查看')
      }
    },
    setStep(step) {
      this.showStep = step
@@ -162,6 +184,7 @@
      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('新增成功')
@@ -185,6 +208,9 @@
      })
    },
  },
  computed: {
    ...mapGetters(["nickName"]),
  },
}
</script>