Crunchy
2025-04-29 e5454b769d44a34af423bf87ac8a740bf8c20341
src/views/CNAS/resourceDemand/device/component/quantityValueTraceabilityPlan.vue
@@ -15,7 +15,7 @@
          <el-table-column label="年份" min-width="80" prop="planYear"></el-table-column>
          <el-table-column label="文件名称" min-width="120" prop="compiler"></el-table-column>
          <el-table-column label="编制人" min-width="150" prop="compiler"></el-table-column>
          <el-table-column label="编制时间" min-width="150" prop="datePreparation"></el-table-column>
          <el-table-column label="编制时间" min-width="160" prop="datePreparation"></el-table-column>
          <el-table-column label="批准人" min-width="180" prop="audit"></el-table-column>
          <el-table-column label="批准状态" min-width="180" prop="status">
            <template slot-scope="scope">
@@ -25,10 +25,11 @@
          </el-table-column>
          <el-table-column label="批准时间" min-width="180" prop="auditDate"></el-table-column>
          <!-- 操作按钮 -->
          <el-table-column align="center" fixed="right" label="操作" min-width="240">
          <el-table-column align="center" fixed="right" label="操作" min-width="270">
            <template slot-scope="scope">
              <el-button :disabled="scope.row.status === 1" size="small" type="text"
                @click="handleForm('edit', scope.row)">编辑</el-button>
              <el-button size="small" type="text" @click="handleForm('view', scope.row)">查看</el-button>
              <el-button :disabled="scope.row.status === 1" size="small" type="text"
                @click="tellApprove(scope.row.traceabilityManagementId)">批准通知</el-button>
              <el-button :disabled="scope.row.status === 1 || userId != scope.row.auditId" size="small" type="text"
@@ -41,7 +42,7 @@
          </el-table-column>
        </el-table>
        <el-pagination :current-page="1" :page-size="pagination1.size" :page-sizes="[10, 20, 30, 50, 100]"
          :total="pagination1.total" layout="->,total, sizes, prev, pager, next, jumper"
          :total="pagination1.total" layout="->,total, sizes, prev, pager, next, jumper" background
          @size-change="handleSizeChange1" @current-change="handleCurrentChange1">
        </el-pagination>
      </div>
@@ -49,66 +50,66 @@
    <el-dialog :close-on-click-modal="false" :close-on-press-escape="false" :visible.sync="applicationForm"
      title="仪器设备量值溯源管理总体计划" width="80%" @close="closeDialog">
      <div style="display: flex;align-items: center;">
        <el-button v-if="operationType !== 'check'" size="small" type="primary" @click="addTableRow">添加</el-button>
        <span style="width: 60px">年份:</span>
        <el-button v-if="operationType === 'edit' || operationType === 'add'" size="small" type="primary" @click="addTableRow">添加</el-button>
        <span style="width: 60px;margin-left: 10px">年份:</span>
        <el-date-picker v-model="form.planYear" type="year" value-format="yyyy" clearable size="small" format="yyyy"
          placeholder="选择年">
          placeholder="选择年" :disabled="operationType !== 'edit' && operationType !== 'add'">
        </el-date-picker>
      </div>
      <div style="margin: 10px 0">
        <el-table ref="yearTable" :data="deviceTraceabilityManagementDetails" height="300px" id="templateParamTable"
        <el-table ref="yearTable" :data="deviceTraceabilityManagementDetails" height="560px" id="templateParamTable"
                  :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border
          row-key="deviceId" style="width: 100% ;">
                  row-key="deviceId" v-loading="yearTableLoading">
          <el-table-column align="center" header-align="center" label="序号" type="index" width="60"></el-table-column>
          <el-table-column label="设备名称" min-width="170" prop="deviceId">
            <template slot-scope="scope">
              <el-input v-model="scope.row.deviceName" :disabled="operationType === 'check'" clearable
              <el-input v-model="scope.row.deviceName" :disabled="operationType !== 'edit' && operationType !== 'add'" clearable
                size="small"></el-input>
            </template>
          </el-table-column>
          <el-table-column label="型号" min-width="140" prop="specificationModel">
            <template slot-scope="scope">
              <el-input v-model="scope.row.specificationModel" :disabled="operationType === 'check'" clearable
              <el-input v-model="scope.row.specificationModel" :disabled="operationType !== 'edit' && operationType !== 'add'" clearable
                size="small"></el-input>
            </template>
          </el-table-column>
          <el-table-column label="设备编号" min-width="140" prop="managementNumber">
            <template slot-scope="scope">
              <el-input v-model="scope.row.managementNumber" :disabled="operationType === 'check'" clearable
              <el-input v-model="scope.row.managementNumber" :disabled="operationType !== 'edit' && operationType !== 'add'" clearable
                size="small"></el-input>
            </template>
          </el-table-column>
          <el-table-column label="技术指标参数" min-width="150" prop="technicalIndexParameters">
            <template slot-scope="scope">
              <el-input v-model="scope.row.technicalIndexParameters" :disabled="operationType === 'check'" clearable
              <el-input v-model="scope.row.technicalIndexParameters" :disabled="operationType !== 'edit' && operationType !== 'add'" clearable
                size="small" type="textarea"></el-input>
            </template>
          </el-table-column>
          <el-table-column label="技术指标要求" min-width="150" prop="technicalRequirements">
            <template slot-scope="scope">
              <el-input v-model="scope.row.technicalRequirements" :disabled="operationType === 'check'" clearable
              <el-input v-model="scope.row.technicalRequirements" :disabled="operationType !== 'edit' && operationType !== 'add'" clearable
                size="small" type="textarea"></el-input>
            </template>
          </el-table-column>
          <el-table-column label="检定周期" min-width="120" prop="verificationCycle">
            <template slot-scope="scope">
              <el-input v-model="scope.row.verificationCycle" :disabled="operationType === 'check'" clearable
              <el-input v-model="scope.row.verificationCycle" :disabled="operationType !== 'edit' && operationType !== 'add'" clearable
                size="small" type="textarea"></el-input>
            </template>
          </el-table-column>
          <el-table-column label="检定单位" min-width="90" prop="verificationUnit">
            <template slot-scope="scope">
              <el-input v-model="scope.row.verificationUnit" :disabled="operationType === 'check'" clearable
              <el-input v-model="scope.row.verificationUnit" :disabled="operationType !== 'edit' && operationType !== 'add'" clearable
                size="small" type="textarea"></el-input>
            </template>
          </el-table-column>
          <el-table-column label="备注" min-width="90" prop="remark">
            <template slot-scope="scope">
              <el-input v-model="scope.row.remark" :disabled="operationType === 'check'" clearable size="small"
              <el-input v-model="scope.row.remark" :disabled="operationType !== 'edit' && operationType !== 'add'" clearable size="small"
                type="textarea"></el-input>
            </template>
          </el-table-column>
          <el-table-column fixed="right" label="操作" width="80" align="center" v-if="operationType !== 'check'">
          <el-table-column label="操作" width="80" align="center" v-if="operationType === 'edit' || operationType === 'add'">
            <template slot-scope="scope">
              <el-button style="color: #f56c6c" type="text" @click="deleteRow(scope.$index)">删除</el-button>
            </template>
@@ -117,7 +118,7 @@
      </div>
      <span slot="footer" class="dialog-footer">
        <el-button @click="closeDialog">取 消</el-button>
        <el-button v-if="operationType !== 'check'" :loading="submitFormLoading" type="primary" @click="submitForm">确
        <el-button v-if="operationType === 'edit' || operationType === 'add'" :loading="submitFormLoading" type="primary" @click="submitForm">确
          认</el-button>
        <el-button v-if="operationType === 'check'" :loading="submitFormLoading" type="primary"
          @click="checkStatus(0)">不通过</el-button>
@@ -137,7 +138,7 @@
      </el-table>
      <span slot="footer" class="dialog-footer">
        <el-button @click="addEquipDia = false">取 消</el-button>
        <el-button v-if="operationType !== 'check'" :loading="submitFormLoading" type="primary"
        <el-button v-if="operationType === 'edit' || operationType === 'add'" :loading="submitFormLoading" type="primary"
          @click="changeMachineName">确
          认</el-button>
      </span>
@@ -211,6 +212,7 @@
      notificationLoading: false,
      auditId: '',
      traceabilityManagementId: '',
      yearTableLoading: false
    }
  },
  mounted() {
@@ -272,17 +274,20 @@
      this.form = {
        planYear: '',
        deviceTraceabilityManagementDetails: []
      },
        this.deviceTraceabilityManagementDetails = []
      }
      this.deviceTraceabilityManagementDetails = []
      if (row) {
        this.traceabilityManagementId = row.traceabilityManagementId
        this.yearTableLoading = true
        getTraceabilityManagementDetail({ traceabilityManagementId: this.traceabilityManagementId }).then(res => {
          this.yearTableLoading = false
          if (res.code === 200) {
            this.form = res.data
            this.deviceTraceabilityManagementDetails = this.form.deviceTraceabilityManagementDetails
          }
        }).catch(error => {
          console.error(error)
          this.yearTableLoading = false
        })
      }
    },
@@ -298,7 +303,14 @@
    changeMachineName() {
      this.deviceTraceabilityManagementDetails = []
      this.selectionRows.map(val => {
        this.deviceTraceabilityManagementDetails.push({ deviceId: val.id, managementNumber: val.value, deviceName: val.label, specificationModel: val.specificationModel })
        this.deviceTraceabilityManagementDetails.push({
          deviceId: val.id,
          managementNumber: val.value,
          deviceName: val.label,
          specificationModel: val.specificationModel,
          verificationUnit: val.calibrationServices,
          verificationCycle: val.calibrationDate
        })
      })
      this.addEquipDia = false
      this.rowDrop()