spring
2025-03-05 b32ec53311698aa550848b54cd6ef619471ed39c
src/views/CNAS/process/ensureResults/qualityControlPlan/components/rectifyDialog.vue
@@ -1,9 +1,7 @@
<template>
  <div>
    <el-dialog :close-on-click-modal="false" :close-on-press-escape="false"
               :visible.sync="formDia"
               title="纠正措施处理单"
               width="60%" @close="closeRectifyDia">
    <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :visible.sync="formDia" title="纠正措施处理单"
      width="60%" @close="closeRectifyDia">
      <el-steps :active="currentStep" align-center finish-status="success">
        <el-step title="不合格或偏离事实的描述" @click.native="setStep(0)"></el-step>
        <el-step title="原因分析" @click.native="setStep(1)"></el-step>
@@ -17,11 +15,8 @@
              <p><span class="required-span">* </span>不合格或偏离事实的描述:</p>
            </td>
            <td class="td-info" colspan="3">
              <el-input v-if="showStep === 0 && currentStep === 0" v-model="form.raiseResult"
                        :rows="4"
                        placeholder="请输入内容"
                        size="small"
                        type="textarea">
              <el-input v-if="showStep === 0 && currentStep === 0" v-model="form.raiseResult" :rows="4"
                placeholder="请输入内容" size="small" type="textarea">
              </el-input>
              <span v-if="showStep === 0 && currentStep !== 0" class="td-info1"> {{ form.raiseResult }}</span>
            </td>
@@ -31,9 +26,8 @@
              <p><span class="required-span">* </span>请选择下一步负责人:</p>
            </td>
            <td v-if="currentStep === 0" class="td-info" colspan="3">
              <el-select v-model="form.causeUserId" clearable filterable
                         placeholder="请选择" size="small">
                <el-option v-for="(item,i) in personList" :key="i" :label="item.label" :value="item.value">
              <el-select v-model="form.causeUserId" clearable filterable placeholder="请选择" size="small">
                <el-option v-for="(item, i) in personList" :key="i" :label="item.label" :value="item.value">
                </el-option>
              </el-select>
            </td>
@@ -43,13 +37,13 @@
              <p>提出人:</p>
            </td>
            <td class="td-info">
              {{form.raiseUserName}}
              {{ form.raiseUserName }}
            </td>
            <td class="td-title">
              <p>提出部门:</p>
            </td>
            <td class="td-info">
              {{form.raiseDepartment}}
              {{ form.raiseDepartment }}
            </td>
          </tr>
          <tr v-if="showStep === 0 && currentStep !== 0">
@@ -57,7 +51,7 @@
              <p>日期:</p>
            </td>
            <td class="td-info" colspan="3">
              {{form.raiseTime}}
              {{ form.raiseTime }}
            </td>
          </tr>
          <tr v-if="showStep === 1">
@@ -65,11 +59,8 @@
              <p><span class="required-span">* </span>原因分析:</p>
            </td>
            <td class="td-info" colspan="3">
              <el-input v-if="showStep === 1 && currentStep === 1" v-model="form.causeResult"
                        :rows="5"
                        placeholder="请输入内容"
                        size="small"
                        type="textarea">
              <el-input v-if="showStep === 1 && currentStep === 1" v-model="form.causeResult" :rows="5"
                placeholder="请输入内容" size="small" type="textarea">
              </el-input>
              <span v-if="showStep === 1 && currentStep !== 1" class="td-info1"> {{ form.causeResult }}</span>
            </td>
@@ -79,13 +70,13 @@
              <p>原因分析人:</p>
            </td>
            <td class="td-info">
              {{form.causeUserName}}
              {{ form.causeUserName }}
            </td>
            <td class="td-title">
              <p>责任部门:</p>
            </td>
            <td class="td-info">
              {{form.causeDepartment}}
              {{ form.causeDepartment }}
            </td>
          </tr>
          <tr v-if="showStep === 1 && currentStep !== 1">
@@ -93,7 +84,7 @@
              <p>原因分析日期:</p>
            </td>
            <td class="td-info" colspan="3">
              {{form.causeTime}}
              {{ form.causeTime }}
            </td>
          </tr>
          <tr v-if="showStep === 1">
@@ -101,9 +92,8 @@
              <p><span class="required-span">* </span>请选择下一步负责人:</p>
            </td>
            <td v-if="currentStep === 1" class="td-info" colspan="3">
              <el-select v-model="form.correctUserId" clearable filterable
                         placeholder="请选择" size="small">
                <el-option v-for="(item,i) in personList" :key="i" :label="item.label" :value="item.value">
              <el-select v-model="form.correctUserId" clearable filterable placeholder="请选择" size="small">
                <el-option v-for="(item, i) in personList" :key="i" :label="item.label" :value="item.value">
                </el-option>
              </el-select>
            </td>
@@ -113,11 +103,8 @@
              <p><span class="required-span">* </span>纠正措施:</p>
            </td>
            <td class="td-info" colspan="3">
              <el-input v-if="showStep === 2 && currentStep === 2" v-model="form.correctResult"
                        :rows="5"
                        placeholder="请输入内容"
                        size="small"
                        type="textarea">
              <el-input v-if="showStep === 2 && currentStep === 2" v-model="form.correctResult" :rows="5"
                placeholder="请输入内容" size="small" type="textarea">
              </el-input>
              <span v-if="showStep === 2 && currentStep !== 2" class="td-info1"> {{ form.correctResult }}</span>
            </td>
@@ -127,11 +114,8 @@
              <p>提出要求部门确认:</p>
            </td>
            <td class="td-info" colspan="3">
              <el-input v-if="showStep === 2 && currentStep === 2" v-model="form.raiseDepartmentAffirm"
                        :rows="5"
                        placeholder="请输入内容"
                        size="small"
                        type="textarea">
              <el-input v-if="showStep === 2 && currentStep === 2" v-model="form.raiseDepartmentAffirm" :rows="5"
                placeholder="请输入内容" size="small" type="textarea">
              </el-input>
              <span v-if="showStep === 2 && currentStep !== 2" class="td-info1"> {{ form.raiseDepartmentAffirm }}</span>
            </td>
@@ -141,13 +125,13 @@
              <p>纠正人:</p>
            </td>
            <td class="td-info">
              {{form.correctUserName}}
              {{ form.correctUserName }}
            </td>
            <td class="td-title">
              <p>责任部门:</p>
            </td>
            <td class="td-info">
              {{form.correctDepartment}}
              {{ form.correctDepartment }}
            </td>
          </tr>
          <tr v-if="showStep === 2 && currentStep !== 2">
@@ -155,7 +139,7 @@
              <p>纠正日期:</p>
            </td>
            <td class="td-info" colspan="3">
              {{form.correctTime}}
              {{ form.correctTime }}
            </td>
          </tr>
          <tr v-if="showStep === 2">
@@ -163,9 +147,8 @@
              <p><span class="required-span">* </span>请选择下一步负责人:</p>
            </td>
            <td v-if="currentStep === 2" class="td-info" colspan="3">
              <el-select v-model="form.validationUserId" clearable filterable
                         placeholder="请选择" size="small">
                <el-option v-for="(item,i) in personList" :key="i" :label="item.label" :value="item.value">
              <el-select v-model="form.validationUserId" clearable filterable placeholder="请选择" size="small">
                <el-option v-for="(item, i) in personList" :key="i" :label="item.label" :value="item.value">
                </el-option>
              </el-select>
            </td>
@@ -175,11 +158,8 @@
              <p><span class="required-span">* </span>实施验证结果:</p>
            </td>
            <td class="td-info" colspan="3">
              <el-input v-if="showStep === 3 && currentStep === 3" v-model="form.validationResult"
                        :rows="5"
                        placeholder="请输入内容"
                        size="small"
                        type="textarea">
              <el-input v-if="showStep === 3 && currentStep === 3" v-model="form.validationResult" :rows="5"
                placeholder="请输入内容" size="small" type="textarea">
              </el-input>
              <span v-if="showStep === 3 && currentStep !== 3" class="td-info1"> {{ form.validationResult }}</span>
            </td>
@@ -189,13 +169,13 @@
              <p>验证人:</p>
            </td>
            <td class="td-info">
              {{form.validationUserName}}
              {{ form.validationUserName }}
            </td>
            <td class="td-title">
              <p>责任部门:</p>
            </td>
            <td class="td-info">
              {{form.validationDepartment}}
              {{ form.validationDepartment }}
            </td>
          </tr>
          <tr v-if="showStep === 3 && currentStep !== 3">
@@ -203,7 +183,7 @@
              <p>验证日期:</p>
            </td>
            <td class="td-info" colspan="3">
              {{form.validationTime}}
              {{ form.validationTime }}
            </td>
          </tr>
        </table>
@@ -217,6 +197,11 @@
</template>
<script>
import {
  getSuperviseDetailRecord,
  addSuperviseDetailRecord,
  addSuperviseRecordOpinion,
} from '@/api/cnas/process/ensureResults/qualityControlPlan.js'
export default {
  name: 'rectifyDialog',
  // import 引入的组件需要注入到对象中才能使用
@@ -258,7 +243,7 @@
  },
  // 方法集合
  methods: {
    openDia (row) {
    openDia(row) {
      this.formDia = true
      this.searchInfo(row)
      this.form.superviseDetailsId = row.superviseDetailsId
@@ -266,7 +251,7 @@
      this.getSupervisedUserList() // 获取当前部门人员
    },
    // 查询监控计划详情实施信息
    searchInfo (row) {
    searchInfo(row) {
      this.form.qualityMonitorDetailsId = row.qualityMonitorDetailsId
      this.$axios.get(this.$api.qualitySupervise.getSuperviseDetailCorrect + '?superviseDetailsId=' + row.superviseDetailsId).then(res => {
        if (res.code === 201) return
@@ -298,7 +283,7 @@
      })
    },
    // 提交
    handleEdit () {
    handleEdit() {
      if (this.currentStep === 0) {
        if (!this.form.raiseResult) {
          this.$message.warning('请填写不合格描述')
@@ -354,11 +339,11 @@
      })
    },
    // 关闭弹框
    closeRectifyDia () {
    closeRectifyDia() {
      this.formDia = false
      this.$emit('closeRectifyDia')
    },
    setStep (step) {
    setStep(step) {
      this.showStep = step
    },
    getAuthorizedPerson() {
@@ -373,7 +358,7 @@
        this.personList = data
      })
    },
    getSupervisedUserList () {
    getSupervisedUserList() {
      this.$axios.get(this.$api.user.selectDepartmentLimsUserList).then(res => {
        let data = []
        res.data.forEach(a => {
@@ -393,11 +378,13 @@
>>>.el-dialog {
  margin: 10vh auto 50px !important;
}
.tables {
  table-layout: fixed;
  width: 100%;
  margin-top: 10px;
}
.td-title {
  height: 40px;
  width: 170px;
@@ -407,9 +394,11 @@
  white-space: normal;
  padding: 6px;
}
.td-info {
  padding: 6px;
}
.td-info1 {
  display: inline-block;
  width: 100%;