src/views/CNAS/process/method/methodVerification/component/formDIa.vue
@@ -1,12 +1,13 @@
<template>
  <div>
    <el-dialog :close-on-click-modal="false" :close-on-press-escape="false"
               :title="operationType === 'edit' ? '编辑' : '新增'"
               :title="operationType === 'edit' ? '编辑' : operationType === 'view' ? '详情' : '新增'"
               v-model="formDia"
               width="90%" @close="closeDia">
      <div v-if="operationType === 'edit'" style="text-align: right">
        <el-button :disabled="form.confirmDate" size="small" type="primary" @click="validation">验证确认</el-button>
      </div>
      <fieldset :disabled="operationType === 'view'" class="view-fieldset">
      <table border="1" cellspacing="10" class="tables">
        <tr>
          <td>
@@ -202,6 +203,72 @@
          </td>
        </tr>
        <tr>
          <td>数据处理</td>
          <td colspan="7">
            <el-input v-model="form.dataProcessing" :rows="2" placeholder="请输入内容" size="small" type="textarea"></el-input>
          </td>
        </tr>
        <tr>
          <td>质量控制方法</td>
          <td colspan="7">
            <el-input v-model="form.qualityControlMethod" :rows="2" placeholder="请输入内容" size="small" type="textarea"></el-input>
          </td>
        </tr>
        <tr>
          <td>方法结果验证</td>
          <td colspan="7">
            <el-input v-model="form.methodResultVerification" :rows="2" placeholder="请输入内容" size="small" type="textarea"></el-input>
          </td>
        </tr>
        <tr>
          <td>验证结论</td>
          <td colspan="7">
            <el-input v-model="form.verificationConclusion" :rows="2" placeholder="请输入内容" size="small" type="textarea"></el-input>
          </td>
        </tr>
        <tr>
          <td>评审意见</td>
          <td colspan="7">
            <div class="opinion-box">
              <div class="opinion-checks">
                <el-checkbox :model-value="form.reviewResult === '同意使用'"
                             @change="toggleReview('同意使用', $event)">同意使用</el-checkbox>
                <el-checkbox :model-value="form.reviewResult === '不能使用'"
                             @change="toggleReview('不能使用', $event)">不能使用</el-checkbox>
                <el-checkbox :model-value="form.reviewResult === '限制使用'"
                             @change="toggleReview('限制使用', $event)">限制使用</el-checkbox>
              </div>
              <div class="opinion-sign">
                <span>评审人员:</span>
                <el-input v-model="form.reviewPerson" placeholder="请输入" size="small" style="width: 160px"></el-input>
                <el-date-picker v-model="form.reviewDate" format="YYYY年MM月DD日" placeholder="选择日期" size="small"
                                type="date" value-format="YYYY-MM-DD" style="width: 170px"></el-date-picker>
              </div>
            </div>
          </td>
        </tr>
        <tr>
          <td>审批意见</td>
          <td colspan="7">
            <div class="opinion-box">
              <div class="opinion-checks">
                <el-checkbox :model-value="form.approvalResult === '同意使用'"
                             @change="toggleApproval('同意使用', $event)">同意使用</el-checkbox>
                <el-checkbox :model-value="form.approvalResult === '不能使用'"
                             @change="toggleApproval('不能使用', $event)">不能使用</el-checkbox>
                <el-checkbox :model-value="form.approvalResult === '限制使用'"
                             @change="toggleApproval('限制使用', $event)">限制使用</el-checkbox>
              </div>
              <div class="opinion-sign">
                <span>技术负责人:</span>
                <el-input v-model="form.approvalPerson" placeholder="请输入" size="small" style="width: 160px"></el-input>
                <el-date-picker v-model="form.approvalDate" format="YYYY年MM月DD日" placeholder="选择日期" size="small"
                                type="date" value-format="YYYY-MM-DD" style="width: 170px"></el-date-picker>
              </div>
            </div>
          </td>
        </tr>
        <tr>
          <td colspan="3">
            <p>是否引用此标准开展检测:</p>
          </td>
@@ -216,15 +283,16 @@
            <p>参加确认人签名:</p>
          </td>
          <td colspan="5">
            <el-select v-model="form.confirmUser" multiple placeholder="请选择" size="small" style="width: 100%" :multiple-limit="5">
            <el-select v-model="form.confirmUser" :disabled="operationType === 'view'" multiple placeholder="请选择" size="small" style="width: 100%" :multiple-limit="5">
              <el-option v-for="item in userList" :key="item.id" :label="item.name" :value="item.id"></el-option>
            </el-select>
          </td>
        </tr>
      </table>
      </fieldset>
      <template #footer><span  class="dialog-footer">
        <el-button @click="closeDia">取 消</el-button>
        <el-button :loading="editLoad" type="primary" @click="handleEdit">提 交</el-button>
        <el-button v-if="operationType !== 'view'" :loading="editLoad" type="primary" @click="handleEdit">提 交</el-button>
      </span></template>
    </el-dialog>
    <ViewDeviceDialog v-if="viewDeviceDialog" ref="viewDeviceDialog" @closDeviceDia="closDeviceDia" @handleDeviceInfo="handleDeviceInfo"></ViewDeviceDialog>
@@ -236,17 +304,17 @@
<script>
import { dateFormat } from '@/utils/date'
import ViewDeviceDialog from '../../standardMethodsChange/component/ViewDeviceDialog.vue';
import ViewTestRecord from '../../standardMethodsChange/component/ViewTestRecord.vue';
import ViewWorkPermitDia from '../../standardMethodsChange/component/viewWorkPermitDia.vue';
import CalibrationsFileDia from '../../standardMethodsChange/component/calibrationsFileDia.vue';
import ViewDeviceDialog from './ViewDeviceDialog.vue';
import ViewTestRecord from './ViewTestRecord.vue';
import ViewWorkPermitDia from './viewWorkPermitDia.vue';
import CalibrationsFileDia from './calibrationsFileDia.vue';
import {
  addMethodVerify,
  getMethodVerifyOne,
  methodVerifyAffirm,
  updateMethodVerify
} from '@/api/cnas/process/method/methodVerification'
import { selectUserCondition } from '@/api/cnas/process/method/standardMethodsChange'
import { selectUserCondition } from '@/api/cnas/process/method/methodVerification'
export default {
  name: 'formDIa',
  // import 引入的组件需要注入到对象中才能使用
@@ -294,6 +362,16 @@
        otherReadiness: '',
        otherIsSatisfied: '',
        otherRemark: '',
        dataProcessing: '',
        qualityControlMethod: '',
        methodResultVerification: '',
        verificationConclusion: '',
        reviewResult: '',
        reviewPerson: '',
        reviewDate: '',
        approvalResult: '',
        approvalPerson: '',
        approvalDate: '',
        machineAttachmentList: []
      },
      editLoad: false,
@@ -313,7 +391,7 @@
      this.formDia = true
      this.info = row
      this.getUserList()
      if (this.operationType === 'edit') {
      if (this.operationType === 'edit' || this.operationType === 'view') {
        this.searchInfo(row)
      }
    },
@@ -341,6 +419,14 @@
      } else {
        this.addInfo(processMethodSearchNews)
      }
    },
    // 评审意见勾选(三选一,再点一次取消)
    toggleReview (value, checked) {
      this.form.reviewResult = checked ? value : ''
    },
    // 审批意见勾选(三选一,再点一次取消)
    toggleApproval (value, checked) {
      this.form.approvalResult = checked ? value : ''
    },
    // 查看上岗证
    viewWorkPermit () {
@@ -445,6 +531,12 @@
  width: 100%;
  margin-top: 10px;
}
.view-fieldset {
  border: none;
  margin: 0;
  padding: 0;
  min-width: 0;
}
.tables td {
  height: 34px;
  width: 100px;
@@ -454,4 +546,25 @@
  white-space: normal;
  padding: 4px;
}
.opinion-box {
  border: 1px solid var(--el-border-color);
  border-radius: 4px;
  min-height: 72px;
  padding: 8px 10px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 8px;
}
.opinion-checks {
  display: flex;
  justify-content: flex-start;
}
.opinion-sign {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  font-size: 14px;
}
</style>