Crunchy
2025-04-29 e5454b769d44a34af423bf87ac8a740bf8c20341
src/views/business/unpass/components/addUnPass.vue
@@ -7,8 +7,15 @@
                  v-loading="tableLoading" @selection-change="selectProduct" style="margin-bottom: 10px;"
                  :header-cell-style="{ background: '#f8f8f9', color: '#515a6e' }" border @select-all="handleAll">
          <el-table-column type="selection" width="65"></el-table-column>
          <el-table-column prop="inspectionItemClass" label="检验项分类" min-width="140"
            show-overflow-tooltip></el-table-column>
          <el-table-column prop="isBinding" label="类型" min-width="140" show-overflow-tooltip>
            <template slot-scope="scope">
              <el-select v-model="scope.row.isBinding" clearable size="small">
                <el-option :value="1" label="绑定值"></el-option>
                <el-option :value="0" label="不合格值"></el-option>
              </el-select>
            </template>
          </el-table-column>
          <el-table-column prop="inspectionItemClass" label="检验项分类" min-width="140" show-overflow-tooltip></el-table-column>
          <el-table-column prop="inspectionItem" label="检验项" min-width="140" show-overflow-tooltip></el-table-column>
          <el-table-column prop="inspectionItemSubclass" label="检验项子项" min-width="140"
            show-overflow-tooltip></el-table-column>
@@ -16,8 +23,10 @@
          <el-table-column prop="ask" label="要求值" min-width="220px"></el-table-column>
          <el-table-column prop="lastValue" label="检验结果" min-width="140" show-overflow-tooltip></el-table-column>
          <el-table-column prop="insResult" label="结果判定" min-width="140" show-overflow-tooltip>
            <template>
              <el-tag type="danger">不合格</el-tag>
            <template slot-scope="scope">
              <el-tag type="success" v-if="scope.row.insResult === 1">合格</el-tag>
              <el-tag type="danger" v-if="scope.row.insResult === 0">不合格</el-tag>
              <el-tag type="info" v-if="scope.row.insResult === 3">不判定</el-tag>
            </template>
          </el-table-column>
        </el-table>
@@ -32,6 +41,7 @@
<script>
import {addUnqualifiedRetest, getInsProductUnqualified} from '@/api/business/unpass.js'
import {getInsProduct} from "@/api/business/inspectionTask";
export default {
  name: "addUnPass",
  // import 引入的组件需要注入到对象中才能使用
@@ -61,7 +71,7 @@
    getInsOrder(info) {
      this.tableLoading = true
      try {
        getInsProductUnqualified({ id: info.id, type: info.type, laboratory: info.laboratory, rawMaterialTag: info.rawMaterialTag }).then(res => {
        getInsProduct({ id: info.id, type: info.type, laboratory: info.laboratory, rawMaterialTag: info.rawMaterialTag,repetitionTag: info.repetitionTag,cableTag: info.cableTag }).then(res => {
          if (res.code === 200) {
            this.productList = res.data
          }
@@ -77,6 +87,15 @@
        this.$message.warning('请选择需要复测的检验项')
        return
      }
      // 检查是否所有选中的行都选择了 isBinding
      const hasUnselectedBinding = this.productListSelected.some(
        (row) => row.isBinding === null || row.isBinding === undefined
      );
      if (hasUnselectedBinding) {
        this.$message.error("请确保选中的数据都选择了类型!");
        return;
      }
      this.$confirm('确认提交不合格复测?', '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
@@ -88,16 +107,20 @@
      });
    },
    handlePass() {
      const ids = this.productListSelected.map(item => ({
        id: item.id,
        isBinding: item.isBinding
      }));
      this.handlePassLoading = true
      try {
        addUnqualifiedRetest({
          ids: this.productIds
        }).then(res => {
        addUnqualifiedRetest(ids).then(res => {
          if (res.code === 200) {
            this.$message.success('提交成功')
            this.$emit('resetAddUnPass')
          }
          this.handlePassLoading = false
        }).catch(e => {
          this.handlePassLoading = false
        })
      } catch (e) {
        this.handlePassLoading = false