gaoluyang
2025-03-12 1b0a3d7e887e31ae37dcfa9ba8e0ae77a9bfa5a6
src/views/business/inspectionOrder/index.vue
@@ -177,6 +177,7 @@
            </li>
          </ul>
          <lims-table
            highlightCurrentRow
            isSelection
            :tableData="tableData"
            :height="tableHeight + ''"
@@ -374,9 +375,10 @@
          fullscreen
        >
          <lims-table
            :heigt="'80vh'"
            highlightCurrentRow
            :height="'80vh'"
            :tableData="dataLooktableData"
            :column="dataLookcolumn"
            :column="dataLookColumn"
            :tableLoading="dataLookTableLoading"
          ></lims-table>
        </el-dialog>
@@ -835,7 +837,7 @@
import getLodop from "@/utils/lodop";
import Add from "./add.vue";
import { mapGetters } from "vuex";
import LimsTable from "../../../components/Table/lims-table.vue";
import LimsTable from "@/components/Table/lims-table.vue";
export default {
  components: {
    limsTable,
@@ -890,6 +892,11 @@
          prop: "sampleName",
          minWidth: "160px",
          width: "160px",
          dataType: "link",
          linkEvent: {
            method: "showDetails",
            vueComponent: this,
          },
        },
        {
          label: "样品编号",
@@ -991,19 +998,21 @@
          width: "120px",
        },
        {
          label: "操作",
          dataType: "action",
          fixed: "right",
          label: "操作",
          operation: [
            {
              name: "数据查看",
              type: "text",
              clickFun: (row) => {},
              disabled: (row) => {
                return row.state != 1 && row.state != 4;
              },
              clickFun: (row) => {
                this.handleDataLook(row);
              },
              showHide: () => {
                return true;
              },
            },
            {
@@ -1058,8 +1067,7 @@
          ],
        },
      ],
      dataLookTableLoading: false,
      dataLookcolumn: [
      dataLookColumn: [
        {
          label: "委托编号",
          prop: "entrustCode",
@@ -1075,20 +1083,20 @@
        {
          label: "管套色标",
          prop: "bushColor",
          minWidth: "160px",
          width: "160px",
          minWidth: "100px",
          width: "100px",
        },
        {
          label: "光纤带编号",
          prop: "code",
          minWidth: "160px",
          width: "160px",
          minWidth: "120px",
          width: "120px",
        },
        {
          label: "光纤色标",
          prop: "color",
          minWidth: "160px",
          width: "160px",
          minWidth: "100px",
          width: "100px",
        },
        {
          label: "检验项",
@@ -1115,21 +1123,21 @@
          width: "100px",
          dataType: "tag",
          formatData: (params) => {
            let index = this.urgencyDictList.findIndex(
              (item) => item.dictValue == params
            let index = this.insResultList.findIndex(
              (item) => item.value == params
            );
            if (index > -1) {
              return this.urgencyDictList[index].dictLabel;
              return this.insResultList[index].label;
            } else {
              return null;
            }
          },
          formatType: (params) => {
            let index = this.urgencyDictList.findIndex(
              (item) => item.dictValue == params
            let index = this.insResultList.findIndex(
              (item) => item.value == params
            );
            if (index > -1) {
              return this.urgencyDictList[index].listClass;
              return this.insResultList[index].type;
            } else {
              return null;
            }
@@ -1156,8 +1164,8 @@
        {
          label: "检验日期",
          prop: "checkTime",
          minWidth: "120px",
          width: "120px",
          minWidth: "140px",
          width: "140px",
        },
        {
          label: "样品名称",
@@ -1179,16 +1187,14 @@
        },
        {
          dataType: "action",
          fixed: "right",
          label: "操作",
          fixed: "right",
          operation: [
            {
              name: "查看",
              type: "text",
              clickFun: (row) => {},
              showHide: (row) => {
                console.log(row);
                console.log(row.inspectionItem);
                return (
                  row.inspectionItem == "单根垂直燃烧" ||
                  row.inspectionItem.includes("松套管") ||
@@ -1205,7 +1211,56 @@
          ],
        },
      ],
      dataLookTableLoading: false,
      dataLooktableData: [],
      qrData: [],
      multipleSelection: [],
      sonLaboratoryList: [],
      urgencyDictList: [],
      tableHeight: 0,
      tabList: [
        {
          label: "待审核",
          value: 0,
        },
        {
          label: "待检验",
          value: 1,
        },
        {
          label: "已检验",
          value: 4,
        },
        {
          label: "退回",
          value: 2,
        },
        {
          label: "撤销",
          value: 3,
        },
      ],
      insResultList: [
        {
          value: 1,
          label: "合格",
          type: "success",
        },
        {
          value: 0,
          label: "不合格",
          type: "danger",
        },
        {
          value: 3,
          label: "不判定",
          type: "",
        },
      ],
      tabIndex: 0,
      active: 0, //1:下单,2:查看,3:审核,4:光纤配置,默认为0
      currentId: null,
      more: false,
      //old
      tableHeader: [],
@@ -1248,292 +1303,11 @@
      // 人员列表
      personList: [],
      currentTableData: [],
      // componentData: {
      //   entity: {
      //     entrustCode: null,
      //     sample: null,
      //     sampleName: null,
      //     sampleModel: null,
      //     sampleCode: null,
      //     outEntrustCode: null,
      //     state: 0,
      //     name: null,
      //     engineering: null,
      //     production: null,
      //     startAndEndTime: [],
      //     // orderBy: {
      //     //    field: '',
      //     //    order: ''
      //     // }
      //   },
      //   isIndex: true,
      //   showSelect: true,
      //   select: true,
      //   selectMethod: "selectMethod",
      //   do: [
      //     {
      //       id: "dataLook",
      //       font: "数据查看",
      //       type: "text",
      //       method: "handleDataLook",
      //       disabFun: (row, index) => {
      //         return row.state != 1 && row.state != 4;
      //       },
      //     },
      //     {
      //       id: "download",
      //       font: "报告下载",
      //       type: "text",
      //       method: "download",
      //       disabFun: (row, index) => {
      //         return row.state != 4 || row.isRatify != 1;
      //       },
      //     },
      //     {
      //       id: "verify",
      //       font: "审核",
      //       type: "text",
      //       method: "handleVerify",
      //       disabFun: (row, index) => {
      //         return row.state != 0;
      //       },
      //     },
      //     {
      //       id: "quash",
      //       font: "撤销",
      //       type: "text",
      //       method: "handlEquash",
      //       disabFun: (row, index) => {
      //         return row.state != 1 && row.state != 0;
      //       },
      //     },
      //     {
      //       id: "quashCheck",
      //       font: "撤销审核",
      //       type: "text",
      //       method: "handlEquashCheck",
      //       disabFun: (row, index) => {
      //         return (
      //           (row.state != 1 && row.state != 0) ||
      //           this.tabIndex != 1 ||
      //           row.isRevocation != 1
      //         );
      //       },
      //     },
      //     {
      //       font: "分配",
      //       type: "text",
      //       method: "handleIssued",
      //       disabFun: (row, index) => {
      //         return (
      //           row.state != 1 ||
      //           (row.entrustCode != null &&
      //             Number(row.assign) > 0 &&
      //             row.inspectId != null)
      //         );
      //       },
      //     },
      //   ],
      //   linkEvent: {
      //     sampleName: {
      //       method: "selectAllByOne",
      //     },
      //   },
      //   tagField: {
      //     type: {
      //       select: [],
      //     },
      //     createUser: {
      //       select: [],
      //     },
      //     orderType: {
      //       select: [],
      //     },
      //     processing: {
      //       select: [
      //         {
      //           value: 1,
      //           label: "实验室处理",
      //         },
      //         {
      //           value: 0,
      //           label: "委托单位取回",
      //         },
      //       ],
      //     },
      //     isLeave: {
      //       select: [
      //         {
      //           value: 1,
      //           label: "留样",
      //         },
      //         {
      //           value: 0,
      //           label: "不留样",
      //         },
      //       ],
      //     },
      //     send: {
      //       select: [
      //         {
      //           value: 1,
      //           label: "自取",
      //         },
      //         {
      //           value: 0,
      //           label: "其他",
      //         },
      //       ],
      //     },
      //   },
      //   selectField: {},
      //   requiredAdd: [],
      //   requiredUp: [],
      //   needSort: ["createTime", "sendTime", "type", "appointed"],
      // },
      orderId: "",
      revocationInsProductIds: "",
      // componentDataDataLook: {
      //   isPage: false,
      //   entity: {
      //     id: 0,
      //     orderBy: {
      //       field: "sampleCode",
      //       order: "asc",
      //     },
      //   },
      //   isIndex: false,
      //   showSelect: false,
      //   select: false,
      //   do: [
      //     {
      //       id: "",
      //       font: "查看",
      //       type: "text",
      //       method: "viewDetails",
      //       showFun: (row, index) => {
      //         return (
      //           row.inspectionItem == "单根垂直燃烧" ||
      //           row.inspectionItem.includes("松套管") ||
      //           row.inspectionItemSubclass.includes("松套管") ||
      //           (row.inspectionItem == "抗拉强度" &&
      //             (row.inspectionItemSubclass == "热老化处理前" ||
      //               row.inspectionItemSubclass == "热老化处理后")) ||
      //           (row.inspectionItem == "断裂伸长率" &&
      //             (row.inspectionItemSubclass == "热老化处理前" ||
      //               row.inspectionItemSubclass == "热老化处理后"))
      //         );
      //       },
      //     },
      //   ],
      //   tagField: {
      //     insState: {
      //       select: [],
      //     },
      //     insResult: {
      //       select: [
      //         {
      //           value: 1,
      //           label: "合格",
      //           type: "success",
      //         },
      //         {
      //           value: 0,
      //           label: "不合格",
      //           type: "danger",
      //         },
      //         {
      //           value: 3,
      //           label: "不判定",
      //           type: "",
      //         },
      //       ],
      //     },
      //   },
      //   selectField: {},
      //   spanConfig: {
      //     rows: [
      //       // {
      //       //   name: "entrustCode",
      //       //   index: 0,
      //       // },
      //       // {
      //       //   name: "sampleCode",
      //       //   index: 1,
      //       // },
      //     ],
      //   },
      //   requiredAdd: [],
      //   requiredUp: [],
      // },
      // componentDataDelete: {
      //   entity: {
      //     // orderId: '',
      //     // orderBy: {
      //     //    field: 'sampleCode',
      //     //    order: 'asc'
      //     // }
      //   },
      //   isPage: false,
      //   isIndex: false,
      //   showSelect: true,
      //   select: true,
      //   selectMethod: "selectDelete",
      //   do: [],
      //   tagField: {
      //     insState: {
      //       select: [],
      //     },
      //     insResult: {
      //       select: [
      //         {
      //           value: 1,
      //           label: "合格",
      //           type: "success",
      //         },
      //         {
      //           value: 0,
      //           label: "不合格",
      //           type: "danger",
      //         },
      //       ],
      //     },
      //   },
      //   selectField: {},
      //   spanConfig: {},
      //   requiredAdd: [],
      //   requiredUp: [],
      // },
      deleteDialogVisible: false,
      entityCopy: {},
      upIndex: 0,
      upLoad: false,
      tabList: [
        {
          label: "待审核",
          value: 0,
        },
        {
          label: "待检验",
          value: 1,
        },
        {
          label: "已检验",
          value: 4,
        },
        {
          label: "退回",
          value: 2,
        },
        {
          label: "撤销",
          value: 3,
        },
      ],
      tabIndex: 0,
      active: 0, //1:下单,2:查看,3:审核,4:光纤配置,默认为0
      currentId: null,
      more: false,
      insOrderRow: {},
      checkIndexList: [],
      checkDataList: [
@@ -1541,12 +1315,6 @@
          sampleCode: "",
        },
      ],
      qrData: [],
      multipleSelection: [],
      sonLaboratoryList: [],
      queryCount: 0,
      urgencyDictList: [],
      tableHeight: 0,
    };
  },
  created() {
@@ -1803,31 +1571,6 @@
        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) {
@@ -1838,72 +1581,22 @@
      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() {
      this.getList();
    },
    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.queryParams = {
        entrustCode: "",
        outEntrustCode: "",
        sampleName: "",
        sampleModel: "",
        sampleCode: "",
        startAndEndTime: [],
        name: "",
        engineering: "",
        production: "",
      };
      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;
@@ -1926,17 +1619,17 @@
      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;
    // 查看详情
    showDetails(row) {
      this.$router.push({
        name: "showDetails",
        query: {
          active: 2,
          currentId: row.id,
          examine: 1,
          isReview: true,
        },
      });
    },
    // 数据查看
    handleDataLook(row) {
@@ -2646,13 +2339,15 @@
    },
    // 下单
    playOrder(num) {
      // this.active = num;
      // this.examine = 0;
      this.$router.push({
        name: "addOrder",
        params: {},
        query: {
          active: num,
          examine: 0,
        },
      });
      this.active = num;
      this.examine = 0;
      // this.refreshTable();
    },
    handleTab(m, i) {
      this.tabIndex = i;