zouyu
2025-03-06 54010f8f01d592ed8214adebaac4f45e178479b4
检验下单代码迁移2
已修改2个文件
已删除1个文件
1666 ■■■■■ 文件已修改
src/api/business/inspectionOrder.js 307 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/business/materialInspection.js 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/business/inspectionOrder/index.vue 1349 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/business/inspectionOrder.js
@@ -0,0 +1,307 @@
import request from '@/utils/request'
// æŸ¥çœ‹æ‰€å±žå•位检验单
export function selectInsOrderParameter(query) {
  return request({
    url: '/insOrder/selectInsOrderParameter',
    method: 'get',
    params: query
  })
}
// åˆ¤æ–­å½“前客户紧急额度是否用完
export function hasSendUrgentOrder(query) {
  return request({
    url: '/insOrder/hasSendUrgentOrder',
    method: 'get',
  })
}
// åˆ†é…æŒ‰é’®
export function upInsOrder(data) {
  return request({
    url: '/insOrder/upInsOrder',
    method: 'post',
    data: data
  })
}
// ä¸‹å•按钮
export function addInsOrder(data) {
  return request({
    url: '/insOrder/addInsOrder',
    method: 'post',
    data: data
  })
}
// æŸ¥è¯¢è®¢å•最长预计时间
export function selectOrderManDay(query) {
  return request({
    url: '/insOrder/selectOrderManDay',
    method: 'get',
    params: query
  })
}
// æŸ¥è¯¢æ£€éªŒä¸‹å•内容详情
export function getInsOrder(query) {
  return request({
    url: '/insOrder/getInsOrder',
    method: 'get',
    params: query
  })
}
// å®¡æ ¸æŒ‰é’®
export function upInsOrderOfState(data) {
  return request({
    url: '/insOrder/upInsOrderOfState',
    method: 'post',
    data: data
  })
}
// ä¿å­˜æ£€éªŒæ¨¡æ¿æŒ‰é’®
export function addInsOrderTemplate(data) {
  return request({
    url: '/insOrder/addInsOrderTemplate',
    method: 'post',
    data: data
  })
}
// åˆ é™¤æ£€éªŒæ¨¡æ¿æŒ‰é’®
export function delInsOrderTemplate(data) {
  return request({
    url: '/insOrder/delInsOrderTemplate',
    method: 'post',
    data: data
  })
}
// æŸ¥è¯¢æ£€éªŒå•模板
export function selectInsOrderTemplate(query) {
  return request({
    url: '/insOrder/selectInsOrderTemplate',
    method: 'get',
    params: query
  })
}
// é€šè¿‡æ£€éªŒå•模板id获取检验单模板内容
export function selectInsOrderTemplateById(query) {
  return request({
    url: '/insOrder/selectInsOrderTemplateById',
    method: 'get',
    params: query
  })
}
// é€šè¿‡æ£€éªŒå•查询检验数据(数据查看)
export function selectSampleAndProductByOrderId(query) {
  return request({
    url: '/insOrder/selectSampleAndProductByOrderId',
    method: 'get',
    params: query
  })
}
// æ•°æ®æŸ¥çœ‹ä¸‹çš„æŸ¥çœ‹è¯¦æƒ…(单根垂直燃烧和松套管)
export function viewDetails(query) {
  return request({
    url: '/insOrder/viewDetails',
    method: 'get',
    params: query
  })
}
// å¯¼å‡ºå·²æ£€å§”托单
export function exportChecked(query) {
  return request({
    url: '/insOrder/exportChecked',
    method: 'get',
    data: query,
    responseType:'blob'
  })
}
// è´¹ç”¨ç»Ÿè®¡èŽ·å–æ€»ä»·
export function costStatistics2(query) {
  return request({
    url: '/insOrder/costStatistics2',
    method: 'get',
    params: query
  })
}
// æ’¤é”€æŒ‰é’®
export function updateStatus(query) {
  return request({
    url: '/insOrder/updateStatus',
    method: 'put',
    params: query
  })
}
// å¾…检的撤销的查询待检项目
export function selectNoProducts(query) {
  return request({
    url: '/insOrder/selectNoProducts',
    method: 'get',
    params: query
  })
}
// æŸ¥è¯¢éœ€è¦æ’¤é”€çš„æ£€éªŒé¡¹ç›®æ ·å“
export function selectSampleByOrderId(query) {
  return request({
    url: '/insOrder/selectSampleByOrderId',
    method: 'get',
    params: query
  })
}
// æŸ¥è¯¢æ£€éªŒé¡¹ç›®
export function selectProductsBySampleId(query) {
  return request({
    url: '/insOrder/selectProductsBySampleId',
    method: 'get',
    params: query
  })
}
// æŸ¥è¯¢æ£€éªŒé¡¹ç›®ä¸ºæ¸©åº¦å¾ªçŽ¯çš„æ£€éªŒæ¬¡æ•°
export function selectTemperatureByProductId(query) {
  return request({
    url: '/insOrder/selectTemperatureByProductId',
    method: 'get',
    params: query
  })
}
// æŸ¥è¯¢æ¸©åº¦å¾ªçŽ¯çš„æ¬¡æ•°ä¸€è‡´çš„æ¸©åº¦ç‚¹
export function selectTemperatureNumberByProductId(query) {
  return request({
    url: '/insOrder/selectTemperatureNumberByProductId',
    method: 'get',
    params: query
  })
}
// æ’¤é”€
export function revoke(query) {
  return request({
    url: '/insOrder/revoke',
    method: 'post',
    data: query
  })
}
// æŸ¥è¯¢æ’¤é”€å®¡æ ¸çš„æ ·å“
export function revokeReviewSample(query) {
  return request({
    url: '/insOrder/revokeReviewSample',
    method: 'get',
    params: query
  })
}
// æ’¤é”€çš„循环次数一致的温度点
export function revokeReviewConsistentByProductId(query) {
  return request({
    url: '/insOrder/revokeReviewConsistentByProductId',
    method: 'get',
    params: query
  })
}
// æ’¤é”€çš„æ¸©åº¦å¾ªçŽ¯çš„å¾ªçŽ¯æ¬¡æ•°
export function revokeReviewTemperatureByProductId(query) {
  return request({
    url: '/insOrder/revokeReviewTemperatureByProductId',
    method: 'get',
    params: query
  })
}
// æŸ¥è¯¢æ’¤é”€å®¡æ ¸  æ¸©åº¦å¾ªçޝ
export function revokeReviewProduct(query) {
  return request({
    url: '/insOrder/revokeReviewProduct',
    method: 'get',
    params: query
  })
}
// æ’¤é”€å®¡æ ¸é€šè¿‡
export function revocationPassed(query) {
  return request({
    url: '/insOrder/revocationPassed',
    method: 'get',
    params: query
  })
}
// æ’¤é”€å®¡æ ¸å–消
export function revocationCancel(query) {
  return request({
    url: '/insOrder/revocationCancel',
    method: 'get',
    params: query
  })
}
// å¾…检的撤销
export function updateInspected(query) {
  return request({
    url: '/insOrder/updateInspected',
    method: 'put',
    params: query
  })
}
// æ’¤é”€å®¡æ ¸æŒ‰é’®
export function checkUpdate(query) {
  return request({
    url: '/insOrder/checkUpdate',
    method: 'post',
    data: query
  })
}
// æ ‡ç­¾æ‰“印按钮
export function labelPrinting(query) {
  return request({
    url: '/insOrder/labelPrinting',
    method: 'get',
    params: query
  })
}
// æŸ¥çœ‹è´¹ç”¨ç»Ÿè®¡åˆ—表
export function costStatistics(query) {
  return request({
    url: '/insOrder/costStatistics',
    method: 'get',
    params: query
  })
}
// æŸ¥çœ‹ç»“果按钮(温度循环)
export function getInsOrderTemList(query) {
  return request({
    url: '/insOrder/getInsOrderTemList',
    method: 'get',
    params: query
  })
}
// èŽ·å–ç†”æŽ¥æ•°é‡
export function permute(query) {
  return request({
    url: '/insOrder/permute',
    method: 'get',
    params: query
  })
}
src/api/business/materialInspection.js
ÎļþÒÑɾ³ý
src/views/business/inspectionOrder/index.vue
@@ -1,10 +1,8 @@
<template>
  <div>
    <div>
    <div style="margin: 5px 15px">
      <el-row class="title">
        <el-col :span="12" style="padding-left: 20px; text-align: left"
          >检验下单</el-col
        >
        <el-col :span="12" style="text-align: left">检验下单</el-col>
        <el-col :span="12" style="text-align: right">
          <el-button
            size="medium"
@@ -33,7 +31,7 @@
                  size="small"
                  placeholder="请输入"
                  clearable
                  v-model="componentData.entity.entrustCode"
                  v-model="queryParams.entrustCode"
                  @keyup.enter.native="refreshTable()"
                ></el-input>
              </div>
@@ -47,7 +45,7 @@
                  size="small"
                  placeholder="请输入"
                  clearable
                  v-model="componentData.entity.outEntrustCode"
                  v-model="queryParams.outEntrustCode"
                  @keyup.enter.native="refreshTable()"
                ></el-input>
              </div>
@@ -59,7 +57,7 @@
                  size="small"
                  placeholder="请输入"
                  clearable
                  v-model="componentData.entity.sampleName"
                  v-model="queryParams.sampleName"
                  @keyup.enter.native="refreshTable()"
                ></el-input>
              </div>
@@ -71,7 +69,7 @@
                  size="small"
                  placeholder="请输入"
                  clearable
                  v-model="componentData.entity.sampleModel"
                  v-model="queryParams.sampleModel"
                  @keyup.enter.native="refreshTable()"
                ></el-input>
              </div>
@@ -83,7 +81,7 @@
                  size="small"
                  placeholder="请输入"
                  clearable
                  v-model="componentData.entity.sampleCode"
                  v-model="queryParams.sampleCode"
                  @keyup.enter.native="refreshTable()"
                ></el-input>
              </div>
@@ -93,7 +91,7 @@
              <div class="search_input">
                <el-date-picker
                  style="width: 100%"
                  v-model="componentData.entity.startAndEndTime"
                  v-model="queryParams.startAndEndTime"
                  type="daterange"
                  size="small"
                  range-separator="至"
@@ -113,7 +111,7 @@
                  size="small"
                  placeholder="请输入"
                  clearable
                  v-model="componentData.entity.name"
                  v-model="queryParams.name"
                  @keyup.enter.native="refreshTable()"
                ></el-input>
              </div>
@@ -125,7 +123,7 @@
                  size="small"
                  placeholder="请输入"
                  clearable
                  v-model="componentData.entity.engineering"
                  v-model="queryParams.engineering"
                  @keyup.enter.native="refreshTable()"
                ></el-input>
              </div>
@@ -137,7 +135,7 @@
                  size="small"
                  placeholder="请输入"
                  clearable
                  v-model="componentData.entity.production"
                  v-model="queryParams.production"
                  @keyup.enter.native="refreshTable()"
                ></el-input>
              </div>
@@ -174,16 +172,9 @@
              {{ m.label }}
            </li>
          </ul>
          <!-- <ValueTable
          :style="getStyle()"
          ref="ValueTable"
          :url="$api.insOrder.selectInsOrderParameter"
          :componentData="componentData"
          :upIndex="upIndex"
          @getTableData="getTableData"
        /> -->
          <lims-table
            :tableData="tableData"
            :height="tableHeight + ''"
            @pagination="pagination"
            :column="column"
            :page="page"
@@ -828,11 +819,12 @@
<script>
import limsTable from "@/components/Table/lims-table.vue";
import {
  addCustom,
  selectCustomPageList,
  selectInsOrderParameter,
  hasSendUrgentOrder,
  delCustomById,
  upCustom,
} from "@/api/business/inspectionOrder";
import { getDicts } from "@/api/system/dict/data";
import vueQr from "vue-qr";
import getLodop from "@/utils/lodop";
import Add from "./add.vue";
@@ -844,31 +836,148 @@
  },
  data() {
    return {
      queryParams: {
        entrustCode: "",
        outEntrustCode: "",
        sampleName: "",
        sampleModel: "",
        sampleCode: "",
        startAndEndTime: [],
        name: "",
        engineering: "",
        production: "",
      },
      tableData: [],
      page: {
        total: 0,
        size: 10,
        current: 0,
        size: 20,
        current: 1,
      },
      tableLoading: false,
      column: [
        { label: "委托编号", prop: "entrustCode" },
        { label: "外部委托编号", prop: "outEntrustCode" },
        { label: "委托单位", prop: "company" },
        { label: "样品名称", prop: "sampleName" },
        { label: "样品编号", prop: "sampleCode" },
        { label: "样品型号", prop: "sampleModel" },
        { label: "样品数量", prop: "sampleNum" },
        { label: "检验进度%", prop: "insProgress" },
        { label: "紧急程度", prop: "type" },
        { label: "备注", prop: "remark" },
        { label: "制单人", prop: "custom" },
        { label: "约定时间", prop: "appointed" },
        { label: "下单时间", prop: "createTime" },
        { label: "下发时间", prop: "sendTime" },
        { label: "退回理由", prop: "tell" },
        { label: "委托人", prop: "prepareUser" },
        { label: "撤销日期", prop: "revocationTime" },
        {
          label: "委托编号",
          prop: "entrustCode",
          minWidth: "160px",
          width: "160px",
        },
        {
          label: "外部委托编号",
          prop: "outEntrustCode",
          minWidth: "160px",
          width: "160px",
        },
        {
          label: "委托单位",
          prop: "company",
          minWidth: "160px",
          width: "160px",
        },
        {
          label: "样品名称",
          prop: "sampleName",
          minWidth: "160px",
          width: "160px",
        },
        {
          label: "样品编号",
          prop: "sampleCode",
          minWidth: "160px",
          width: "160px",
        },
        {
          label: "样品型号",
          prop: "sampleModel",
          minWidth: "160px",
          width: "160px",
        },
        {
          label: "样品数量",
          prop: "sampleNum",
          minWidth: "120px",
          width: "120px",
        },
        {
          label: "检验进度%",
          prop: "insProgress",
          minWidth: "120px",
          width: "120px",
        },
        {
          label: "紧急程度",
          prop: "type",
          minWidth: "100px",
          width: "100px",
          dataType: "tag",
          formatData: (params) => {
            let index = this.urgencyDictList.findIndex(
              (item) => item.dictValue == params
            );
            if (index > -1) {
              return this.urgencyDictList[index].dictLabel;
            } else {
              return null;
            }
          },
          formatType: (params) => {
            let index = this.urgencyDictList.findIndex(
              (item) => item.dictValue == params
            );
            if (index > -1) {
              return this.urgencyDictList[index].listClass;
            } else {
              return null;
            }
          },
        },
        {
          label: "备注",
          prop: "remark",
          minWidth: "120px",
          width: "120px",
        },
        {
          label: "制单人",
          prop: "custom",
          minWidth: "120px",
          width: "120px",
        },
        {
          label: "约定时间",
          prop: "appointed",
          minWidth: "120px",
          width: "120px",
        },
        {
          label: "下单时间",
          prop: "createTime",
          minWidth: "120px",
          width: "120px",
        },
        {
          label: "下发时间",
          prop: "sendTime",
          minWidth: "120px",
          width: "120px",
        },
        {
          label: "退回理由",
          prop: "tell",
          minWidth: "120px",
          width: "120px",
        },
        {
          label: "委托人",
          prop: "prepareUser",
          minWidth: "120px",
          width: "120px",
        },
        {
          label: "撤销日期",
          prop: "revocationTime",
          minWidth: "120px",
          width: "120px",
        },
        {
          dataType: "action",
          fixed: "right",
@@ -1041,23 +1150,7 @@
        },
        tagField: {
          type: {
            select: [
              {
                value: 0,
                type: "success",
                label: "普通",
              },
              {
                value: 1,
                type: "warning",
                label: "优先",
              },
              {
                value: 2,
                type: "danger",
                label: "紧急",
              },
            ],
            select: [],
          },
          createUser: {
            select: [],
@@ -1254,20 +1347,1155 @@
      checkIndexList: [],
      checkDataList: [
        {
          sampleCode: "11111",
          sampleCode: "",
        },
      ],
      qrData: [],
      multipleSelection: [],
      sonLaboratoryList: [],
      queryCount: 0,
      urgencyDictList: [],
      tableHeight: 0,
    };
  },
  created() {
    this.getDictList();
    this.getTableHeight();
  },
  mounted() {
    this.getList();
    window.addEventListener("resize", this.getTableHeight);
  },
  beforeDestroy() {
    window.removeEventListener("resize", this.getTableHeight);
  },
  methods: {
    //获取表格高度
    getTableHeight() {
      const otherHeight = 400; // å…¶ä½™é«˜åº¦
      const tableH = 50; // è·ç¦»é¡µé¢ä¸‹æ–¹çš„高度
      const tableHeightDetil = window.innerHeight - tableH;
      if (tableHeightDetil <= 300) {
        this.tableHeight = 200;
      } else {
        this.tableHeight = window.innerHeight - tableH - otherHeight;
      }
    },
    getDictList() {
      getDicts("urgency_level")
        .then((res) => {
          if (res.code === 200) {
            this.urgencyDictList = res.data;
          }
        })
        .catch((error) => {
          console.error(error);
        });
    },
    pagination({ page, limit }) {
      this.page.current = page;
      this.page.size = limit;
      this.getList();
    },
    //获取数据列表
    getList() {
      this.tableLoading = true;
      selectInsOrderParameter({ ...this.queryParams, ...this.page })
        .then((res) => {
          if (res.code === 200) {
            this.tableData = res.data.records;
            this.page.total = res.data.total;
          }
          this.tableLoading = false;
        })
        .catch((error) => {
          console.error(error);
          this.tableLoading = false;
        });
    },
    // å¯¼å‡ºå·²æ£€
    exportChecked() {
      let data = {
        startTime: this.exportCheckedDate[0],
        endTime: this.exportCheckedDate[1],
      };
      console.log("data", data);
      this.exportCheckedLoading = true;
      this.dialogVisible1 = false;
      this.$axios
        .post(this.$api.insOrder.exportChecked, data, {
          headers: {
            "Content-Type": "application/json",
          },
          responseType: "blob",
        })
        .then((res) => {
          this.$message.success("导出成功");
          this.exportCheckedDate = [];
          this.exportCheckedLoading = false;
          const blob = new Blob([res], { type: "application/octet-stream" });
          const url = URL.createObjectURL(blob);
          const link = document.createElement("a");
          link.href = url;
          link.download = "检验结果.xlsx";
          document.body.appendChild(link);
          link.click();
        });
    },
    // æŸ¥çœ‹è¯¦æƒ…
    viewDetails(row) {
      this.dialogVisible = true;
      if (
        row.inspectionItem.includes("松套管") ||
        row.inspectionItemSubclass.includes("松套管")
      ) {
        this.type = "松套管";
      } else {
        this.type = row.inspectionItem;
      }
      let data = {
        inspectionItem: row.inspectionItem,
        insProductId: row.insProductId,
        insSampleId: row.insSampleId,
        entrustCode: row.entrustCode,
        sampleCode: row.sampleCode,
      };
      this.$axios
        .post(this.$api.insOrder.viewDetails, data, {
          headers: {
            "Content-Type": "application/json",
          },
        })
        .then((res) => {
          this.viewDetailsList = res.data;
          if (res.data[0].tableHeader) {
            this.tableHeader = res.data[0].tableHeader;
          } else {
            this.tableHeader = [
              {
                testValue0: "",
              },
            ];
          }
        });
    },
    selectMethod(val) {
      this.multipleSelection = val;
    },
    getLabelPrinting(selection) {
      this.loadPint = true;
      this.$axios
        .post(this.$api.insOrder.labelPrinting, {
          ids: selection.map((m) => m.id).join(","),
        })
        .then((res) => {
          let arr = res.data;
          arr.forEach((a) => {
            this.loadPint = false;
            let arr1 = [];
            a.insProduct.forEach((b) => {
              arr1.push(b.inspectionItem);
            });
            a.item = [...new Set(arr1)].join(",");
          });
          this.qrData = arr;
        });
    },
    //开始标签打印
    beginPrint(arr) {
      if (arr.length === 0) {
        return;
      }
      this.LODOP = getLodop();
      this.LODOP.SET_LICENSES(
        "南通市鑫阳软件开发有限公司",
        "60F8E5078AE17DEB340C94BC7E83CAFF",
        "",
        ""
      );
      this.LODOP.PRINT_INITA();
      for (let i = 0; i < arr.length; i++) {
        const qrData = arr[i];
        let qrStr =
          "https://zttx-lims.ztt.cn:8021/lims/qr/qrScan?code=" +
          qrData.id +
          "&type=sample";
        this.LODOP.NEWPAGE();
        // this.LODOP.SET_PRINT_PAGESIZE(0, 100, 360, '')
        this.LODOP.SET_PRINT_MODE("PRINT_NOCOLLATE", 1);
        this.LODOP.ADD_PRINT_BARCODE(2, 5, 80, 80, "QRCode", qrStr);
        this.LODOP.ADD_PRINT_TEXT(5, 85, 60, 18, "样品编号:");
        this.LODOP.SET_PRINT_STYLEA(0, "FontSize", 5);
        this.LODOP.ADD_PRINT_TEXT(5, 117, 280, 18, qrData.sampleCode);
        this.LODOP.SET_PRINT_STYLEA(0, "FontSize", 5);
        this.LODOP.ADD_PRINT_TEXT(15, 85, 60, 18, "委托单号:");
        this.LODOP.SET_PRINT_STYLEA(0, "FontSize", 5);
        this.LODOP.ADD_PRINT_TEXT(15, 117, 280, 18, qrData.code);
        this.LODOP.SET_PRINT_STYLEA(0, "FontSize", 5);
        this.LODOP.ADD_PRINT_TEXT(25, 85, 60, 18, "规格型号:");
        this.LODOP.SET_PRINT_STYLEA(0, "FontSize", 5);
        this.LODOP.ADD_PRINT_TEXT(25, 117, 280, 18, qrData.model);
        this.LODOP.SET_PRINT_STYLEA(0, "FontSize", 5);
        this.LODOP.ADD_PRINT_TEXT(35, 85, 60, 18, "样品名称:");
        this.LODOP.SET_PRINT_STYLEA(0, "FontSize", 5);
        this.LODOP.ADD_PRINT_TEXT(35, 117, 280, 18, qrData.sample);
        this.LODOP.SET_PRINT_STYLEA(0, "FontSize", 5);
        this.LODOP.ADD_PRINT_TEXT(45, 85, 60, 20, "检测项目:");
        this.LODOP.SET_PRINT_STYLEA(0, "FontSize", 5);
        this.LODOP.ADD_PRINT_TEXT(
          45,
          117,
          150,
          20,
          qrData.item.length > 42
            ? qrData.item.substring(0, 39) + "..."
            : qrData.item
        );
        this.LODOP.SET_PRINT_STYLEA(0, "FontSize", 5);
        this.LODOP.ADD_PRINT_TEXT(67, 85, 60, 18, "样品状态:");
        this.LODOP.SET_PRINT_STYLEA(0, "FontSize", 5);
        let stateStr = "▢待检 â–¢åœ¨æ£€ â–¢å·²æ£€";
        let leaveStr =
          qrData.isLeave && qrData.isLeave === 1 ? " â–£ç•™æ ·" : " â–¢ç•™æ ·";
        if (qrData.insState == 0) {
          stateStr = "▣待检 â–¢åœ¨æ£€ â–¢å·²æ£€";
        } else if (qrData.insState == 1) {
          stateStr = "▢待检 â–£åœ¨æ£€ â–¢å·²æ£€";
        } else if (qrData.insState == 2) {
          stateStr = "▢待检 â–¢åœ¨æ£€ â–£å·²æ£€";
        }
        this.LODOP.ADD_PRINT_TEXT(67, 117, 280, 18, stateStr + leaveStr);
        this.LODOP.SET_PRINT_STYLEA(0, "FontSize", 5);
      }
      this.LODOP.PRINT();
      // this.LODOP.PREVIEW()
    },
    //选择要打印的二维码
    changePrintCode() {
      let indexList = this.checkIndexList;
      let arr = [];
      indexList.forEach((i) => {
        arr.push(this.qrData[i]);
      });
      this.checkDataList = arr;
    },
    //全选
    handleCheckAllChange(val) {
      if (val) {
        for (var i = 0; i < this.qrData.length; i++) {
          this.checkIndexList.push(i);
        }
        this.checkDataList = this.qrData;
      } else {
        this.checkIndexList = [];
        this.checkDataList = [];
      }
      this.isIndeterminate = false;
    },
    submitPrint() {
      if (this.checkDataList.length < 1) {
        this.$message.warning("请选择要打印的二维码");
        return;
      }
      this.$nextTick(() => {
        this.beginPrint(this.qrData);
      });
      this.printDialogVisible = false;
      // PrintJS({
      //   printable: "printMOrder", //页面
      //   type: "html", //文档类型
      //   maxWidth: 360,
      //   style: `@page {
      //           margin:0;
      //           size: 400px 75px collapse;
      //           margin-top:3px;
      //           &:first-of-type{
      //             margin-top:0 !important;
      //           }
      //         }
      //         html{
      //           zoom:100%;
      //         }
      //         @media print{
      //           width: 400px;
      //           height: 75px;
      //           margin:0;
      //         }`,
      //   onPrintDialogClose: (this.erexcel = false),
      //   targetStyles: ["*"], // ä½¿ç”¨dom的所有样式,很重要
      //   font_size: "0.15cm",
      // });
    },
    print() {
      if (this.multipleSelection.length == 0) {
        this.$message.warning("请选择一条数据");
        return;
      }
      let selection = this.multipleSelection;
      this.getLabelPrinting(selection);
      this.printDialogVisible = true;
    },
    // é€‰æ‹©æ£€éªŒåˆ†é…äººå‘˜
    getAuthorizedPerson() {
      this.$axios.get(this.$api.user.getLaboratoryPersonList).then((res) => {
        // let data = [];
        // res.data.forEach((a) => {
        //   data.push({
        //     label: a.name,
        //     value: a.id,
        //   });
        // });
        this.personList = res.data;
      });
    },
    refreshTable(e) {
      this.$refs["ValueTable"].selectList(e);
      this.queryCount = 0;
    },
    getTableData(newData) {
      if (newData && newData.length == 1) {
        const insState = newData[0].state;
        this.tabList.forEach((ele, index) => {
          if (ele.value == insState && this.queryCount == 0) {
            this.handleTab(ele, index);
            this.queryCount = 1;
          }
        });
      }
    },
    refresh() {
      this.componentData.entity = this.HaveJson(this.entityCopy);
      this.upIndex++;
      this.refreshTable();
    },
    // æƒé™åˆ†é…
    getPower(radio) {
      let power = JSON.parse(sessionStorage.getItem("power"));
      let up = false;
      let del = false;
      let revoke = false;
      let check = false;
      let checkUpdate = false;
      for (var i = 0; i < power.length; i++) {
        if (power[i].menuMethod == "upInsOrder") {
          up = true;
        }
        if (power[i].menuMethod == "updateStatus") {
          revoke = true;
        }
        if (power[i].menuMethod == "upInsOrderOfState") {
          check = true;
        }
        if (power[i].menuMethod == "checkUpdate") {
          checkUpdate = true;
        }
      }
      if (!up) {
        this.componentData.do.splice(5, 1);
      }
      if (!checkUpdate) {
        this.componentData.do.splice(4, 1);
      }
      if (!revoke) {
        this.componentData.do.splice(3, 1);
      }
      if (!check) {
        this.componentData.do.splice(2, 1);
      }
    },
    handleClose() {
      this.verifyDialogVisible = false;
      this.quashDialogVisible = false;
      this.issuedDialogVisible = false;
      this.dataDialogVisible = false;
      this.upLoad = false;
    },
    handleClose2() {
      this.verifyDialogVisible = false;
      this.quashDialogVisible = false;
      this.issuedDialogVisible = false;
      this.dataDialogVisible = false;
      this.upLoad = false;
    },
    handleClose3() {
      this.dialogVisible = false;
    },
    handleClose4() {
      this.exportCheckedDate = [];
      this.dialogVisible1 = false;
    },
    // è¯¦æƒ…
    selectAllByOne(row) {
      this.active = 2;
      // console.log(row);
      // //打开弹框
      // this.dialogVisible = true;
      // //row = ç‚¹å‡»å¯¹åº”行值
      // //复制给formData
      // this.formData = this.HaveJson(row);
      this.currentId = row.id;
      this.examine = 1;
    },
    // æ•°æ®æŸ¥çœ‹
    handleDataLook(row) {
      this.componentDataDataLook.entity.id = row.id;
      this.dataDialogVisible = true;
    },
    // ä¸‹è½½æŠ¥å‘Š
    download(row) {
      // let url = row.urlS ? row.urlS : row.url;
      // if (url) {
      //   url = url.split(".")[0] + ".pdf";
      //   const link = document.createElement("a");
      //   link.href = this.javaApi + url;
      //   link.target = "_blank";
      //   document.body.appendChild(link);
      //   link.click();
      // }
      // if(row.tempUrlPdf) {
      //   const link = document.createElement('a');
      //   link.href = this.javaApi + row.tempUrlPdf;
      //   link.target = '_blank';
      //   document.body.appendChild(link);
      //   link.click();
      // }
      this.$axios
        .get(
          this.$api.insReport.downReport + "?id=" + row.reportId + "&type=1",
          {
            headers: {
              "Content-Type": "application/json",
            },
            responseType: "blob",
          }
        )
        .then((res) => {
          let fileName = row.tempUrlPdf;
          if (fileName.includes("_")) {
            fileName = fileName.split("_")[1];
          }
          const blob = new Blob([res], { type: "application/octet-stream" });
          const url = URL.createObjectURL(blob);
          const link = document.createElement("a");
          link.href = url;
          link.download = fileName;
          document.body.appendChild(link);
          link.click();
        });
    },
    // å®¡æ ¸
    handleVerify(row) {
      // this.verifyDialogVisible = true;
      this.active = 3;
      this.currentId = row.id;
      this.examine = 1;
    },
    // å…¨é€‰
    handleSelectionAll(val) {
      if (val.length > 0 && val.length <= this.treeTableData.length) {
        this.handleSelectionAllRecursion(this.treeTableData, true);
        console.log("传输的数据", this.revokeData);
      } else {
        this.$refs.revokeTable.clearSelection();
        this.revokeData = [];
      }
    },
    handleSelectionAllRecursion(list, flag) {
      for (let i = 0; i < list.length; i++) {
        let item = list[i];
        this.$refs.revokeTable.toggleRowSelection(item, flag);
        if (flag) {
          this.revokeData.push(item);
          this.revokeData = this.revokeData.filter(
            (a, index, self) => index === self.findIndex((t) => t.id === a.id)
          );
        }
        if (item.children && item.children.length > 0) {
          this.handleSelectionAllRecursion(item.children, flag);
        }
      }
    },
    // é€‰æ‹©éœ€è¦æ’¤é”€çš„æ•°æ®
    handleSelectionChange(val, row) {
      console.log("rwo", row);
      this.revokeData = val;
      // è¿›è¡Œä¸€ä¸ªé€’归操作
      // åˆ¤æ–­æ˜¯å¦é€‰ä¸­ val包含既是选中  ä¸åŒ…含既是取消选中
      let flag = null;
      if (val.includes(row)) {
        flag = true;
      } else {
        flag = false;
      }
      if (row.children && row.children.length > 0) {
        this.tableSelect(row, flag);
      }
      // è¿˜è¦è¿›è¡Œä¸€ä¸ªåˆ¤æ–­ å¦‚果全选之后又取消了选择,那么相应的sampleId也要取消
      this.$nextTick(() => {
        if (!flag) {
          this.treeTableData.forEach((item) => {
            if (item.id == row.sampleId) {
              this.$refs.revokeTable.toggleRowSelection(item, false);
            }
          });
          // æ¸©åº¦ç‚¹
          if (row.number) {
            this.revokeData = this.revokeData.filter(
              (a) =>
                a.inspectionItemSubclass != row.inspectionItemSubclass &&
                a.inspectionItem != "温度循环" &&
                a.inspectionItemTwo != row.number &&
                a.id != row.sampleId
            );
            console.log("treeTableData", this.treeTableData);
            this.treeTableData.forEach((item) => {
              if (item.id == row.sampleId && item.children.length > 0) {
                item.children.forEach((a) => {
                  if (a.inspectionItem == "温度循环") {
                    this.$refs.revokeTable.toggleRowSelection(a, false);
                    if (a.children.length > 0) {
                      a.children.forEach((b) => {
                        if (b.inspectionItemTwo == row.number) {
                          this.$refs.revokeTable.toggleRowSelection(b, false);
                        }
                      });
                    }
                  }
                });
              }
            });
          } else if (row.temperatureNumber) {
            // å¾ªçŽ¯æ¬¡æ•°
            this.revokeData = this.revokeData.filter(
              (a) =>
                a.inspectionItem != "温度循环" &&
                a.id != row.sampleId &&
                a.inspectionItemTwo != row.inspectionItemTwo &&
                a.number != row.inspectionItemTwo
            );
            console.log("treeTableData", this.treeTableData);
            this.treeTableData.forEach((item) => {
              if (item.id == row.sampleId && item.children.length > 0) {
                item.children.forEach((a) => {
                  if (a.inspectionItem == "温度循环") {
                    this.$refs.revokeTable.toggleRowSelection(a, false);
                  }
                });
              }
            });
          } else if (row.temperature) {
            // å¦‚果是温度循环
            this.revokeData = this.revokeData.filter(
              (a) =>
                a.id != row.sampleId &&
                a.inspectionItem != "温度循环" &&
                a.parentId != row.id
            );
          } else {
            this.revokeData = this.revokeData.filter(
              (a) => a.id != row.sampleId
            );
          }
        }
        console.log("最终结果", this.revokeData);
      });
    },
    // load的递归赋值
    loadRecursion(list, treeId, data) {
      for (let i = 0; i < list.length; i++) {
        let item = list[i];
        if (item.id == treeId) {
          item.children = data;
          return;
        }
        if (item.children && item.children.length > 0) {
          this.loadRecursion(item.children, treeId, data);
        }
      }
    },
    // é€‰ä¸­çš„递归
    selectedRecursion(list) {
      if (list.children && list.children.length > 0) {
        console.log("有子节点", list);
        for (let i = 0; i < list.children.length; i++) {
          let item = list.children[i];
          this.$refs.revokeTable.toggleRowSelection(item, true);
          this.revokeData.push(item);
          this.revokeData = this.revokeData.filter(
            (m, index, self) => index === self.findIndex((t) => t.id === m.id)
          );
          if (item.children && item.children.length > 0) {
            this.selectedRecursion(item.children);
          }
        }
      } else {
        console.log("没有子节点", list);
        this.$refs.revokeTable.toggleRowSelection(list, true);
        return;
      }
    },
    // é€’å½’treeTableData
    recursionTreeTableData(list, data) {
      console.log("list", list);
      // list é€‰ä¸­çš„æ•°æ®  data代表treetableData
      for (let i = 0; i < list.length; i++) {
        let item = list[i];
        for (let j = 0; j < data.length; j++) {
          let m = data[j];
          if (item.id == m.id) {
            console.log("m", m);
            this.selectedRecursion(m);
          }
          if (m.children && m.children.length > 0) {
            this.recursionTreeTableData(list, m.children);
          }
        }
      }
    },
    watchRecursion(list, flag, id) {
      console.log("999", list, flag, id);
      for (let j = 0; j < this.treeTableData.length; j++) {
        let m = this.treeTableData[j];
        if (m.id == id) {
          this.$refs.revokeTable.toggleRowSelection(m, flag);
          if (flag) {
            this.revokeData.push(m);
            this.revokeData = this.revokeData.filter(
              (a, index, self) => index === self.findIndex((t) => t.id === a.id)
            );
          } else {
            this.revokeData = this.revokeData.filter((a) => a.id != id);
          }
          if (m.children && m.children.length > 0) {
            m.children.forEach((a) => {
              this.$refs.revokeTable.toggleRowSelection(a, flag);
              if (a.children) {
              }
            });
          }
        }
      }
    },
    tableSelect(list, flag) {
      if (list.children && list.children.length > 0) {
        for (let i = 0; i < list.children.length; i++) {
          let item = list.children[i];
          this.$refs.revokeTable.toggleRowSelection(item, flag);
          if (flag) {
            this.revokeData.push(item);
            this.revokeData = this.revokeData.filter(
              (a, index, self) => index === self.findIndex((t) => t.id === a.id)
            );
          } else {
            this.revokeData = this.revokeData.filter((a) => a.id != item.id);
          }
          if (item.children && item.children.length > 0) {
            this.tableSelect(item, flag);
          }
        }
      }
    },
    // æ‡’加载查询
    load(tree, treeNode, resolve) {
      treeNode.loading = true;
      if (this.deleteTilte == "撤销") {
        // æ˜¯å¦æ˜¯æ¸©åº¦å¾ªçޝ
        if (tree.temperature) {
          this.$axios
            .get(
              this.$api.insOrder.selectTemperatureByProductId +
                "?productId=" +
                tree.id
            )
            .then((res) => {
              this.loadRecursion(this.treeTableData, tree.id, res.data);
              resolve(res.data);
              this.recursionTreeTableData(this.revokeData, this.treeTableData);
              treeNode.loading = false;
            });
        }
        // æ˜¯å¦æ˜¯æ£€éªŒæ¬¡æ•°
        else if (tree.temperatureNumber) {
          this.$axios
            .get(
              this.$api.insOrder.selectTemperatureNumberByProductId +
                "?parentId=" +
                tree.parentId +
                "&inspectionItem=" +
                tree.inspectionItemTwo
            )
            .then((res) => {
              this.loadRecursion(this.treeTableData, tree.id, res.data);
              resolve(res.data);
              this.recursionTreeTableData(this.revokeData, this.treeTableData);
              treeNode.loading = false;
            });
        } else {
          this.$axios
            .get(
              this.$api.insOrder.selectProductsBySampleId +
                "?sampleId=" +
                tree.id +
                "&orderId=" +
                this.orderId
            )
            .then((res) => {
              this.treeTableData.forEach((m, index) => {
                if (m.sampleId == tree.id) {
                  m.children = res.data;
                }
              });
              resolve(res.data);
              this.recursionTreeTableData(this.revokeData, this.treeTableData);
              // // å¦‚果该样品已经被勾选 é‚£ä¹ˆæ‰€å¾—到的检验项也要进行勾选
              // let data = this.revokeData.map((item) => item.id);
              // if (data.includes(tree.id)) {
              //   this.treeTableData.forEach((m, index) => {
              //     if (m.children) {
              //       m.children.forEach((n, i) => {
              //         if (tree.id == n.sampleId) {
              //           this.$refs.revokeTable.toggleRowSelection(n, true);
              //         }
              //       });
              //     }
              //   });
              // }
              treeNode.loading = false;
            });
        }
      } else if (this.deleteTilte == "撤销审核") {
        // æ˜¯å¦æ˜¯æ¸©åº¦å¾ªçޝ
        if (tree.temperature) {
          this.$axios
            .get(
              this.$api.insOrder.revokeReviewTemperatureByProductId +
                "?productId=" +
                tree.id
            )
            .then((res) => {
              resolve(res.data);
              treeNode.loading = false;
            });
        }
        // æ˜¯å¦æ˜¯å¾ªçŽ¯æ¬¡æ•°
        else if (tree.temperatureNumber) {
          this.$axios
            .get(
              this.$api.insOrder.revokeReviewConsistentByProductId +
                "?parentId=" +
                tree.parentId +
                "&inspectionItem=" +
                tree.inspectionItemTwo
            )
            .then((res) => {
              resolve(res.data);
              treeNode.loading = false;
            });
        } else {
          this.$axios
            .get(
              this.$api.insOrder.revokeReviewProduct +
                "?sampleId=" +
                tree.id +
                "&orderId=" +
                this.orderId
            )
            .then((res) => {
              resolve(res.data);
              treeNode.loading = false;
            });
        }
      }
    },
    // æ’¤é”€
    handlEquash(row) {
      if (this.tabIndex != 1) {
        this.quashDialogVisible = true;
        this.insOrderRow = row;
      } else {
        // this.componentDataDelete.entity.orderId = row.id
        this.orderId = row.id;
        this.$axios
          .get(this.$api.insOrder.selectSampleByOrderId + "?orderId=" + row.id)
          .then((res) => {
            console.log("res", res);
            this.treeTableData = res.data;
            this.treeTableData2 = JSON.parse(JSON.stringify(res.data));
          });
        this.revocationInsProductIds = "";
        this.componentDataDelete.showSelect = true;
        this.componentDataDelete.select = true;
        this.deleteTilte = "撤销";
        this.deleteDialogVisible = true;
      }
    },
    handleCloseDelete() {
      this.revokeData = [];
      this.treeTableData = [];
      this.deleteDialogVisible = false;
    },
    selectDelete(arr) {
      this.deleteList = arr;
    },
    submitDelete() {
      if (this.deleteTilte == "撤销") {
        if (this.revokeData.length == 0) {
          this.$message.error("请选择要撤销的具体项目");
          return;
        }
        //this.printLoading = true;
        // å¦‚果勾选了样品
        let productIds = [];
        let sampleData = this.revokeData.filter(
          (m) => m.hasChildren && !m.temperatureNumber && !m.temperature
        );
        let sampleIds = [];
        if (sampleData.length > 0) {
          console.log("选择了样品", sampleData);
          sampleIds = sampleData.map((m) => m.id);
          let newDate = this.revokeData.filter((m) => {
            return sampleIds.every((id) => m.sampleId != id);
          });
          if (newDate) {
            productIds = newDate.map((m) => m.id);
          }
        } else {
          console.log("选择项目");
          // è¿‡æ»¤æŽ‰å¾ªçŽ¯æ¬¡æ•°
          let data = this.revokeData.filter((item) => !item.ids);
          // å¦‚果勾选循环次数
          let data1 = this.revokeData.filter((item) => item.ids);
          productIds = data.map((m) => m.id);
          data1.forEach((item) => {
            if (item.ids.length > 0) {
              item.ids.forEach((a) => {
                productIds.push(a);
              });
            }
          });
          productIds = [...new Set(productIds)];
          console.log("data", data);
          console.log("data1", data1);
        }
        //
        console.log("sampleId", sampleIds);
        console.log("productIds", productIds);
        let data = {
          orderId: this.orderId,
          sampleIds: sampleIds,
          productIds: productIds,
        };
        this.$axios
          .post(this.$api.insOrder.revoke, data, {
            headers: {
              "Content-Type": "application/json",
            },
            noQs: true,
          })
          .then((res) => {
            if (res.code === 200) {
              this.deleteDialogVisible = false;
              this.printLoading = false;
              this.revokeData = [];
              this.refreshTable("page");
              this.$message.success("撤销成功");
            }
          });
        console.log("revokeData", this.revokeData);
        console.log("data", data);
        // let ids = this.deleteList.map((m) => m.id).join(",");
        // this.printLoading = true;
        // this.axios
        //   .put(
        //     this.$api.insOrder.updateInspected +
        //       "?ids=" +
        //       ids +
        //       "&orderId=" +
        //       this.orderId
        //   )
        //   .then((res) => {
        //     if (res.code === 200) {
        //       this.printLoading = false;
        //       this.deleteDialogVisible = false;
        //       this.refreshTable("page");
        //       this.$message.success("更新成功");
        //     }
        //   });
      } else {
        // this.axios
        //   .post(
        //     this.$api.insOrder.checkUpdate +
        //       "?orderId=" +
        //       this.orderId +
        //       "&state=" +
        //       1
        //   )
        //   .then((res) => {
        //     if (res.code === 200) {
        //       this.printLoading = false;
        //       this.deleteDialogVisible = false;
        //       this.refreshTable("page");
        //       this.$message.success("更新成功");
        //     }
        //   });
        this.axios
          .get(this.$api.insOrder.revocationPassed + "?orderId=" + this.orderId)
          .then((res) => {
            if (res.code === 200) {
              this.printLoading = false;
              this.deleteDialogVisible = false;
              this.refreshTable("page");
              this.$message.success("更新成功");
            }
          });
      }
    },
    handlEquashCheck(row) {
      // // this.componentDataDelete.entity.orderId = row.id
      // this.orderId = row.id;
      // this.revocationInsProductIds = row.revocationInsProductIds;
      // this.componentDataDelete.showSelect = false;
      // this.componentDataDelete.select = false;
      // this.deleteTilte = "撤销审核";
      // this.deleteDialogVisible = true;
      this.orderId = row.id;
      this.revocationInsProductIds = row.revocationInsProductIds;
      this.componentDataDelete.showSelect = false;
      this.componentDataDelete.select = false;
      this.deleteTilte = "撤销审核";
      this.$axios
        .get(this.$api.insOrder.revokeReviewSample + "?orderId=" + row.id)
        .then((res) => {
          console.log("撤销审核样品查询", res);
          this.treeTableData = res.data;
        });
      this.deleteDialogVisible = true;
    },
    handleNo() {
      if (this.deleteTilte == "撤销") {
        this.deleteDialogVisible = false;
        this.revokeData = [];
      } else {
        // this.axios
        //   .post(
        //     this.$api.insOrder.checkUpdate +
        //       "?orderId=" +
        //       this.orderId +
        //       "&state=" +
        //       0
        //   )
        //   .then((res) => {
        //     if (res.code === 200) {
        //       this.printLoading = false;
        //       this.deleteDialogVisible = false;
        //       this.refreshTable("page");
        //       this.$message.success("更新成功");
        //     }
        //   });
        this.axios
          .get(this.$api.insOrder.revocationCancel + "?orderId=" + this.orderId)
          .then((res) => {
            if (res.code === 200) {
              this.printLoading = false;
              this.deleteDialogVisible = false;
              this.refreshTable("page");
              this.$message.success("更新成功");
            }
          });
      }
    },
    // ä¸‹å‘
    handleIssued(row) {
      this.issuedDialogVisible = true;
      this.$axios
        .post(this.$api.insOrder.selectOrderManDay, {
          id: row.id,
        })
        .then((res) => {
          this.distributeData.orderId = row.id;
          this.distributeData.sampleId = row.sampleId;
          this.distributeData.appointed = res.data;
          this.distributeData.type = row.type;
        });
      this.$axios
        .post(this.$api.insOrderPlan.upPlanUser2, {
          orderId: row.id,
        })
        .then((res) => {
          if (res.code === 200 && res.data.length > 0) {
            this.sonLaboratoryList = [];
            res.data.forEach((m) => {
              this.sonLaboratoryList.push({
                value: m,
                label: m,
              });
            });
          }
        });
    },
    submitForm2() {
      if (
        this.distributeData.appointed == null ||
        this.distributeData.appointed == ""
      ) {
        this.$message.error("约定时间未填写");
        return;
      }
      //
      if (
        this.distributeData.type == 2 &&
        (this.distributeData.userId == null || this.distributeData.userId == "")
      ) {
        this.$message.error("指派人员未填写");
        return;
      }
      if (
        this.distributeData.userId &&
        (this.distributeData.sonLaboratory == null ||
          this.distributeData.sonLaboratory == "")
      ) {
        this.$message.error("试验室未填写");
        return;
      }
      this.upLoad = true;
      this.$axios
        .post(
          this.$api.insOrder.upInsOrder,
          {
            orderId: this.distributeData.orderId,
            sampleId: this.distributeData.sampleId,
            appointed: this.distributeData.appointed,
            userIdList: [this.distributeData.userId],
            sonLaboratory: this.distributeData.sonLaboratory,
          },
          {
            headers: {
              "Content-Type": "application/json",
            },
          }
        )
        .then((res) => {
          if (res.code === 201) {
            this.upLoad = false;
            return;
          }
          this.$message.success("修改成功");
          this.upLoad = false;
          this.issuedDialogVisible = false;
          this.refreshTable("page");
        })
        .catch((e) => {
          this.$message.error("修改失败");
          this.upLoad = false;
        });
    },
    submitForm() {
      this.upLoad = true;
      if (this.tabIndex == 1) {
        this.axios
          .put(
            this.$api.insOrder.updateInspected + "?id=" + this.insOrderRow.id
          )
          .then((res) => {
            if (res.code === 200) {
              this.upLoad = false;
              this.quashDialogVisible = false;
              this.refreshTable("page");
              this.$message.success("更新成功");
            }
          });
      } else {
        this.axios
          .put(this.$api.insOrder.updateStatus + "?id=" + this.insOrderRow.id)
          .then((res) => {
            if (res.code === 200) {
              this.upLoad = false;
              this.quashDialogVisible = false;
              this.refreshTable("page");
              this.$message.success("更新成功");
            }
          });
      }
      let authorizedPerson =
        this.formData.authorizedPerson.length > 0
          ? this.formData.authorizedPerson.join(",")
          : "";
      delete this.formData.createTime;
      delete this.formData.updateTime;
      delete this.formData.createUser;
      delete this.formData.updateUser;
      this.formData.authorizedPerson = authorizedPerson;
    },
    // ä¸‹å•
    playOrder(num) {
      this.active = num;
      this.examine = 0;
      this.refreshTable("page");
    },
    handleTab(m, i) {
      this.tabIndex = i;
      this.queryParams.state = m.value;
      this.getList();
    },
    getUserMenu() {
      this.$axios.get(this.$api.user.getUserMenu).then((res) => {
        let data = [];
        res.data.forEach((a) => {
          data.push({
            label: a.name,
            value: a.id,
          });
        });
        this.componentData.tagField.createUser.select = data;
      });
    },
    getInsStateDicts() {
      this.$axios
        .post(this.$api.enums.selectEnumByCategory, {
          category: "检验任务状态",
        })
        .then((res) => {
          let data = res.data;
          this.insStateList = data;
          data.forEach((ele) => {
            //0:待检验 1:检验中 2:已检验 3:待复核 4:复核未通过 5:复核通过
            if (["2", "5"].includes(ele.value)) {
              ele.type = "success";
            } else if (["1", "3"].includes(ele.value)) {
              ele.type = "warning";
            } else if (["0", "4"].includes(ele.value)) {
              ele.type = "danger";
            }
          });
          this.componentDataDataLook.tagField.insState.select = data;
          this.componentDataDelete.tagField.insState.select = data;
        });
    },
    selectEnumByCategoryForOrderType() {
      this.$axios
        .post(this.$api.enums.selectEnumByCategory, {
          category: "检验类别",
        })
        .then((res) => {
          this.componentData.tagField.orderType.select = res.data;
        });
    },
    getStyle() {
      return "height: calc(100% - " + (this.more ? "94" : "44") + "px)";
    },
    changeUser() {
      if (this.sonLaboratoryList.length > 0) {
        this.distributeData.sonLaboratory = this.sonLaboratoryList[0].value;
      }
    },
  },
};
@@ -1316,6 +2544,7 @@
  list-style-type: none;
  display: flex;
  margin-bottom: 12px;
  padding-inline-start: 0px;
}
.tab li {