From 1bf6023783ecfdb2e578b22145d9911099280b98 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期五, 07 三月 2025 17:31:22 +0800
Subject: [PATCH] 下单页面调整

---
 src/utils/bigEval.js                                              |  114 +
 src/store/modules/user.js                                         |    1 
 src/layout/components/Navbar.vue                                  |  140 
 src/views/business/inspectionOrder/add.vue                        | 4408 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 src/views/business/inspectionOrder/fiberoptic-config-readonly.vue |    0 
 src/views/business/inspectionOrder/index.vue                      |   57 
 src/router/index.js                                               |   32 
 7 files changed, 4,636 insertions(+), 116 deletions(-)

diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue
index bb34f1b..da89cf9 100644
--- a/src/layout/components/Navbar.vue
+++ b/src/layout/components/Navbar.vue
@@ -1,7 +1,7 @@
 <template>
   <div class="navbar">
-<!--    <breadcrumb id="breadcrumb-container" class="breadcrumb-container" v-if="!topNav"/>-->
-<!--    <top-nav id="topmenu-container" class="topmenu-container" v-if="topNav"/>-->
+    <!--    <breadcrumb id="breadcrumb-container" class="breadcrumb-container" v-if="!topNav"/>-->
+    <!--    <top-nav id="topmenu-container" class="topmenu-container" v-if="topNav"/>-->
     <div class="logo">
       <img src="@/assets/logo/ZTTlogo.png" />
     </div>
@@ -10,56 +10,61 @@
     </div>
     <div class="right-menu">
       <div class="avatar-wrapper">
-        <img :src="avatar" class="user-avatar">
-        <span class="userName">Admin</span>
-        <img class="logoout" src="@/assets/images/logoout.png" @click="logout" title="閫�鍑鸿处鍙�" />
+        <img :src="avatar" class="user-avatar" />
+        <span class="userName">{{ nickName }}</span>
+        <img
+          class="logoout"
+          src="@/assets/images/logoout.png"
+          @click="logout"
+          title="閫�鍑鸿处鍙�"
+        />
       </div>
-<!--      <template v-if="device!=='mobile'">-->
-<!--        <search id="header-search" class="right-menu-item" />-->
+      <!--      <template v-if="device!=='mobile'">-->
+      <!--        <search id="header-search" class="right-menu-item" />-->
 
-<!--        <el-tooltip content="婧愮爜鍦板潃" effect="dark" placement="bottom">-->
-<!--          <ruo-yi-git id="ruoyi-git" class="right-menu-item hover-effect" />-->
-<!--        </el-tooltip>-->
+      <!--        <el-tooltip content="婧愮爜鍦板潃" effect="dark" placement="bottom">-->
+      <!--          <ruo-yi-git id="ruoyi-git" class="right-menu-item hover-effect" />-->
+      <!--        </el-tooltip>-->
 
-<!--        <el-tooltip content="鏂囨。鍦板潃" effect="dark" placement="bottom">-->
-<!--          <ruo-yi-doc id="ruoyi-doc" class="right-menu-item hover-effect" />-->
-<!--        </el-tooltip>-->
+      <!--        <el-tooltip content="鏂囨。鍦板潃" effect="dark" placement="bottom">-->
+      <!--          <ruo-yi-doc id="ruoyi-doc" class="right-menu-item hover-effect" />-->
+      <!--        </el-tooltip>-->
 
-<!--        <screenfull id="screenfull" class="right-menu-item hover-effect" />-->
+      <!--        <screenfull id="screenfull" class="right-menu-item hover-effect" />-->
 
-<!--        <el-tooltip content="甯冨眬澶у皬" effect="dark" placement="bottom">-->
-<!--          <size-select id="size-select" class="right-menu-item hover-effect" />-->
-<!--        </el-tooltip>-->
+      <!--        <el-tooltip content="甯冨眬澶у皬" effect="dark" placement="bottom">-->
+      <!--          <size-select id="size-select" class="right-menu-item hover-effect" />-->
+      <!--        </el-tooltip>-->
 
-<!--      </template>-->
+      <!--      </template>-->
 
-<!--      <div class="avatar-container">-->
-<!--        <el-dropdown-menu slot="dropdown">-->
-<!--          <router-link to="/user/profile">-->
-<!--            <el-dropdown-item>涓汉涓績</el-dropdown-item>-->
-<!--          </router-link>-->
-<!--          <el-dropdown-item @click.native="setting = true">-->
-<!--            <span>甯冨眬璁剧疆</span>-->
-<!--          </el-dropdown-item>-->
-<!--          <el-dropdown-item divided @click.native="logout">-->
-<!--            <span>閫�鍑虹櫥褰�</span>-->
-<!--          </el-dropdown-item>-->
-<!--        </el-dropdown-menu>-->
-<!--      </div>-->
+      <!--      <div class="avatar-container">-->
+      <!--        <el-dropdown-menu slot="dropdown">-->
+      <!--          <router-link to="/user/profile">-->
+      <!--            <el-dropdown-item>涓汉涓績</el-dropdown-item>-->
+      <!--          </router-link>-->
+      <!--          <el-dropdown-item @click.native="setting = true">-->
+      <!--            <span>甯冨眬璁剧疆</span>-->
+      <!--          </el-dropdown-item>-->
+      <!--          <el-dropdown-item divided @click.native="logout">-->
+      <!--            <span>閫�鍑虹櫥褰�</span>-->
+      <!--          </el-dropdown-item>-->
+      <!--        </el-dropdown-menu>-->
+      <!--      </div>-->
     </div>
   </div>
 </template>
 
 <script>
-import { mapGetters } from 'vuex'
-import Breadcrumb from '@/components/Breadcrumb'
-import TopNav from '@/components/TopNav'
-import Hamburger from '@/components/Hamburger'
-import Screenfull from '@/components/Screenfull'
-import SizeSelect from '@/components/SizeSelect'
-import Search from '@/components/HeaderSearch'
-import RuoYiGit from '@/components/RuoYi/Git'
-import RuoYiDoc from '@/components/RuoYi/Doc'
+import { mapGetters } from "vuex";
+import Breadcrumb from "@/components/Breadcrumb";
+import TopNav from "@/components/TopNav";
+import Hamburger from "@/components/Hamburger";
+import Screenfull from "@/components/Screenfull";
+import SizeSelect from "@/components/SizeSelect";
+import Search from "@/components/HeaderSearch";
+import RuoYiGit from "@/components/RuoYi/Git";
+import RuoYiDoc from "@/components/RuoYi/Doc";
 
 export default {
   components: {
@@ -70,44 +75,43 @@
     SizeSelect,
     Search,
     RuoYiGit,
-    RuoYiDoc
+    RuoYiDoc,
   },
   computed: {
-    ...mapGetters([
-      'avatar',
-      'device'
-    ]),
+    ...mapGetters(["avatar", "device", "nickName"]),
     setting: {
       get() {
-        return this.$store.state.settings.showSettings
+        return this.$store.state.settings.showSettings;
       },
       set(val) {
-        this.$store.dispatch('settings/changeSetting', {
-          key: 'showSettings',
-          value: val
-        })
-      }
+        this.$store.dispatch("settings/changeSetting", {
+          key: "showSettings",
+          value: val,
+        });
+      },
     },
     topNav: {
       get() {
-        return this.$store.state.settings.topNav
-      }
-    }
+        return this.$store.state.settings.topNav;
+      },
+    },
   },
   methods: {
     async logout() {
-      this.$confirm('纭畾娉ㄩ攢骞堕��鍑虹郴缁熷悧锛�', '鎻愮ず', {
-        confirmButtonText: '纭畾',
-        cancelButtonText: '鍙栨秷',
-        type: 'warning'
-      }).then(() => {
-        this.$store.dispatch('LogOut').then(() => {
-          location.href = '/index';
+      this.$confirm("纭畾娉ㄩ攢骞堕��鍑虹郴缁熷悧锛�", "鎻愮ず", {
+        confirmButtonText: "纭畾",
+        cancelButtonText: "鍙栨秷",
+        type: "warning",
+      })
+        .then(() => {
+          this.$store.dispatch("LogOut").then(() => {
+            location.href = "/index";
+          });
         })
-      }).catch(() => {});
-    }
-  }
-}
+        .catch(() => {});
+    },
+  },
+};
 </script>
 
 <style lang="scss" scoped>
@@ -116,7 +120,7 @@
   overflow: hidden;
   //position: relative;
   background: #fff;
-  box-shadow: 0 1px 4px rgba(0,21,41,.08);
+  box-shadow: 0 1px 4px rgba(0, 21, 41, 0.08);
   position: fixed; /* 灏嗗ご閮ㄥ浐瀹� */
   top: 0; /* 鍦ㄩ《閮ㄥ浐瀹� */
   width: 100%; /* 瀹藉害100%锛岃鐩栨暣涓鍙� */
@@ -199,10 +203,10 @@
 
       &.hover-effect {
         cursor: pointer;
-        transition: background .3s;
+        transition: background 0.3s;
 
         &:hover {
-          background: rgba(0, 0, 0, .025)
+          background: rgba(0, 0, 0, 0.025);
         }
       }
     }
diff --git a/src/router/index.js b/src/router/index.js
index 66a0b9f..912bf88 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -92,22 +92,22 @@
 
 // 鍔ㄦ�佽矾鐢憋紝鍩轰簬鐢ㄦ埛鏉冮檺鍔ㄦ�佸幓鍔犺浇
 export const dynamicRoutes = [
-  // {
-  //   // 鍘熸潗鏂欎笅鍗�
-  //   path: '/materialOrder',
-  //   component: Layout,
-  //   hidden: true,
-  //   permissions: ['business:order'],
-  //   children: [
-  //     {
-  //       // 閾滄潗鏂欎笅鍗�
-  //       path: 'customsInspection',
-  //       component: () => import('@/views/business/materialOrder/customsInspection'),
-  //       name: 'customsInspection',
-  //       meta: { title: '閾滄潗鏂欎笅鍗�', activeMenu: '/business/materialOrder' }
-  //     }
-  //   ]
-  // },
+  {
+    // 涓嬪崟椤甸潰
+    path: '/inspectionOrder',
+    component: Layout,
+    hidden: true,
+    permissions: ['business:order'],
+    children: [
+      {
+        // 閾滄潗鏂欎笅鍗�
+        path: 'addOrder',
+        component: () => import('@/views/business/inspectionOrder/add'),
+        name: 'addOrder',
+        meta: { title: '鏂板濮旀墭鍗�', activeMenu: '/business/inspectionOrder' }
+      }
+    ]
+  },
   {
     // 鐢ㄦ埛绠$悊
     path: "/system/user-auth",
diff --git a/src/store/modules/user.js b/src/store/modules/user.js
index e5d40e4..8626ba0 100644
--- a/src/store/modules/user.js
+++ b/src/store/modules/user.js
@@ -67,6 +67,7 @@
       return new Promise((resolve, reject) => {
         getInfo()
           .then((res) => {
+            console.log("store-->",res);
             const user = res.user;
             let avatar = user.avatar || "";
             if (!isHttp(avatar)) {
diff --git a/src/utils/bigEval.js b/src/utils/bigEval.js
new file mode 100644
index 0000000..8cbce13
--- /dev/null
+++ b/src/utils/bigEval.js
@@ -0,0 +1,114 @@
+import Big from "big.js";
+
+/**
+ * 瀹夊叏璁$畻鍣紙鏀寔 + - * / 鍜屾嫭鍙凤級
+ * @param {string} expr 鏁板琛ㄨ揪寮忥紝濡� "(0.1 + 0.2) * 3"
+ * @returns {string} 璁$畻缁撴灉瀛楃涓�
+ */
+export function bigEval(expr) {
+  // 姝ラ1锛氳瘝娉曞垎鏋�
+  const tokens = tokenize(expr);
+  // 姝ラ2锛氳浆鎹负閫嗘尝鍏拌〃杈惧紡锛堝悗缂�琛ㄨ揪寮忥級
+  const rpn = shuntingYard(tokens);
+  // 姝ラ3锛氭墽琛岃绠�
+  return evaluateRPN(rpn);
+}
+
+// 璇嶆硶鍒嗘瀽鍣�
+function tokenize(expr) {
+  const tokens = [];
+  let numBuffer = "";
+  let prevToken = null;
+
+  const flushNumber = () => {
+    if (numBuffer) {
+      if (numBuffer.startsWith(".")) numBuffer = "0" + numBuffer;
+      tokens.push({ type: "number", value: numBuffer });
+      numBuffer = "";
+    }
+  };
+
+  for (let i = 0; i < expr.length; i++) {
+    const c = expr[i];
+
+    if (/\d|\./.test(c)) {
+      numBuffer += c;
+    } else if ("+-*/()".includes(c)) {
+      flushNumber();
+
+      // // 澶勭悊璐熷彿锛堝綋'-'鍓嶆棤鏁板瓧鎴栧墠鏈夎繍绠楃鏃朵负璐熷彿锛�
+      // if (c === "-" && (!prevToken ||
+      //     (prevToken.type === "operator" && prevToken.value !== ")"))) {
+      //   numBuffer += c;
+      //   console.log("杩涘叆--銆�",c,tokens,prevToken);
+      // } else {
+      // }
+      tokens.push({ type: "operator", value: c });
+      prevToken = tokens[tokens.length - 1];
+    } else if (c !== " ") {
+      throw new Error(`闈炴硶瀛楃: ${c}`);
+    }
+  }
+
+  flushNumber();
+  return tokens;
+}
+
+// 璋冨害鍦虹畻娉曠敓鎴愰�嗘尝鍏拌〃杈惧紡
+function shuntingYard(tokens) {
+  const output = [];
+  const stack = [];
+  const precedence = { "+": 1, "-": 1, "*": 2, "/": 2 };
+
+  for (const token of tokens) {
+    if (token.type === "number") {
+      output.push(token.value);
+    } else if (token.value === "(") {
+      stack.push(token.value);
+    } else if (token.value === ")") {
+      while (stack.length && stack[stack.length - 1] !== "(") {
+        output.push(stack.pop());
+      }
+      stack.pop(); // 寮瑰嚭宸︽嫭鍙�
+    } else {
+      while (
+        stack.length &&
+        stack[stack.length - 1] !== "(" &&
+        precedence[stack[stack.length - 1]] >= precedence[token.value]
+      ) {
+        output.push(stack.pop());
+      }
+      stack.push(token.value);
+    }
+  }
+
+  while (stack.length) output.push(stack.pop());
+  return output;
+}
+
+// 鎵ц閫嗘尝鍏拌〃杈惧紡璁$畻
+function evaluateRPN(rpn) {
+  const stack = [];
+
+  for (const token of rpn) {
+    if (/\d|\./.test(token)) {
+      stack.push(new Big(token));
+    } else {
+      const b = stack.pop();
+      const a = stack.pop();
+
+      switch (token) {
+        case "+": stack.push(a.plus(b)); break;
+        case "-": stack.push(a.minus(b)); break;
+        case "*": stack.push(a.times(b)); break;
+        case "/":
+          if (b.eq(0)) throw new Error("闄ゆ暟涓嶈兘涓洪浂");
+          stack.push(a.div(b));
+          break;
+        default: throw new Error(`鏈煡杩愮畻绗�: ${token}`);
+      }
+    }
+  }
+
+  return stack.pop().toString();
+}
diff --git a/src/views/business/inspectionOrder/add.vue b/src/views/business/inspectionOrder/add.vue
index 9267eaa..1bb080d 100644
--- a/src/views/business/inspectionOrder/add.vue
+++ b/src/views/business/inspectionOrder/add.vue
@@ -1,3 +1,4387 @@
+<template>
+  <div>
+    <div v-show="!configShow && !equipConfigShow && !cableConfigShow">
+      <el-row class="title">
+        <el-col :span="6" style="padding-left: 20px; text-align: left"
+          >濮旀墭鍗曚俊鎭�&nbsp;&nbsp;&nbsp;鎬讳环锛�<span style="color: #3a7bfa"
+            >锟{ total }}</span
+          ></el-col
+        >
+        <el-col :span="18" style="text-align: right">
+          <el-select
+            v-model="template"
+            size="medium"
+            filterable
+            placeholder="涓嬪崟妯℃澘"
+            style="margin-right: 10px"
+            v-show="active == 1"
+            @change="selectInsOrderTemplateById"
+          >
+            <el-option
+              v-for="(a, ai) in templates"
+              :key="ai"
+              :value="a.id"
+              :label="a.name"
+            >
+              <span style="float: left">{{ a.name }}</span>
+              <i
+                class="el-icon-delete"
+                style="float: right; color: #66b1ff; font-size: 16px"
+                @click.stop="handleDelete(a)"
+              ></i>
+            </el-option>
+          </el-select>
+          <el-button
+            size="medium"
+            @click="templateDia = true"
+            v-show="active == 1"
+          >
+            <span style="color: #3a7bfa">淇濆瓨妯℃澘</span>
+          </el-button>
+          <el-button
+            size="medium"
+            type="primary"
+            @click="openCableConfig"
+            v-if="
+              active == 1 &&
+              PROJECT == '瑁呭鐢电紗' &&
+              addObj.sampleType != undefined &&
+              addObj.sampleType.indexOf('鐢电紗') > -1
+            "
+            >鐢电紗閰嶇疆</el-button
+          >
+          <el-button
+            size="medium"
+            type="primary"
+            @click="openEquipConfig"
+            v-if="active == 1"
+            >瀛愭牱鍝侀厤缃�</el-button
+          >
+          <el-button
+            size="medium"
+            type="primary"
+            @click="openConfig"
+            v-if="addObj.sampleType === '鍏夌紗'"
+            >鍏夌氦閰嶇疆</el-button
+          >
+          <el-button
+            size="medium"
+            type="primary"
+            @click="save"
+            :loading="saveLoad"
+            v-show="active == 1"
+            >鎻愪氦</el-button
+          >
+          <!-- 瀹℃牳 -->
+          <el-button
+            size="medium"
+            @click="upInsOrderOfState(2)"
+            :loading="saveLoad"
+            v-show="active == 3 && addObj.companyId"
+            :disabled="saveLoad"
+            >涓嶉�氳繃</el-button
+          >
+          <el-button
+            size="medium"
+            type="primary"
+            @click="upInsOrderOfState(1)"
+            :loading="saveLoad"
+            v-show="active == 3 && addObj.companyId"
+            >閫氳繃</el-button
+          >
+          <el-button size="medium" @click="$parent.playOrder(0)">
+            <span style="color: #3a7bfa">杩斿洖</span>
+          </el-button>
+        </el-col>
+      </el-row>
+    </div>
+    <basic-container>
+      <div
+        class="search"
+        v-show="!configShow && !equipConfigShow && !cableConfigShow"
+      >
+        <el-form
+          :model="addObj"
+          :rules="formRule"
+          label-position="right"
+          inline
+        >
+          <el-row>
+            <el-col :span="6">
+              <el-form-item label="濮旀墭缂栧彿锛�" prop="entrustCode">
+                <el-input
+                  v-model="addObj.entrustCode"
+                  size="small"
+                  class="search_input"
+                  placeholder="绯荤粺鐢熸垚"
+                  disabled
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <el-form-item label="妫�楠岀被鍒細" prop="orderType">
+                <el-select
+                  size="small"
+                  class="search_input"
+                  clearable
+                  v-model="addObj.orderType"
+                  :disabled="active > 1"
+                >
+                  <el-option
+                    v-for="(a, ai) in orderType"
+                    :key="ai"
+                    :value="a.dictValue"
+                    :label="a.dictLabel"
+                  ></el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <el-form-item label="鍒跺崟浜猴細" prop="custom">
+                <el-input
+                  size="small"
+                  class="search_input"
+                  clearable
+                  disabled
+                  v-model="addObj.custom"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <el-form-item
+                label="濮旀墭鍗曚綅锛�"
+                prop="company"
+                class="company_input"
+              >
+                <el-input
+                  readonly
+                  size="small"
+                  v-model="addObj.company"
+                  placeholder="閫夋嫨濮旀墭鍗曚綅"
+                >
+                  <template slot="append"
+                    ><el-button
+                      slot="append"
+                      icon="el-icon-search"
+                      @click="selectUserDia = true"
+                      :disabled="
+                        active > 1 || addObj.company != '涓ぉ绉戞妧妫�娴嬩腑蹇�'
+                      "
+                    ></el-button
+                  ></template>
+                </el-input>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row>
+            <el-col :span="6">
+              <el-form-item label="鑱旂郴鏂瑰紡锛�" prop="phone">
+                <el-input
+                  size="small"
+                  placeholder="璇疯緭鍏�"
+                  class="search_input"
+                  clearable
+                  :readonly="active > 1"
+                  v-model="addObj.phone"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <el-form-item label="绱ф�ョ▼搴︼細" prop="type">
+                <el-select
+                  @change="changeType"
+                  size="small"
+                  class="search_input"
+                  clearable
+                  v-model="addObj.type"
+                  :disabled="active > 1"
+                >
+                  <el-option
+                    v-for="(a, ai) in type"
+                    :key="ai"
+                    :value="a.dictValue"
+                    :label="a.dictLabel"
+                  ></el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <el-form-item
+                label="鏍峰搧鍚嶇О锛�"
+                prop="sample"
+                class="sample_input"
+              >
+                <el-input readonly size="small" v-model="addObj.sample">
+                  <template slot="append"
+                    ><el-button
+                      slot="append"
+                      icon="el-icon-search"
+                      @click="selectStandardTree = true"
+                      :disabled="active > 1"
+                    ></el-button
+                  ></template>
+                </el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <el-form-item label="鏍峰搧鏁伴噺锛�" prop="sampleNum">
+                <el-input-number
+                  size="small"
+                  v-model="addObj.sampleNum"
+                  :min="1"
+                  :max="100"
+                  :precision="0"
+                  @change="addStandardTree"
+                  :disabled="active > 1"
+                ></el-input-number>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row>
+            <el-col :span="6">
+              <el-form-item label="鏉ユ牱鏂瑰紡锛�" prop="formType">
+                <el-select
+                  v-model="addObj.formType"
+                  size="small"
+                  class="search_input"
+                  :disabled="active > 1"
+                >
+                  <el-option
+                    v-for="(a, ai) in formType"
+                    :key="ai"
+                    :label="a.dictLabel"
+                    :value="a.dictValue"
+                  ></el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <el-form-item label="鎶ュ憡鍙戦�佹柟寮忥細" prop="send">
+                <el-radio-group v-model="addObj.send">
+                  <el-radio :label="1">鑷彇</el-radio>
+                  <el-radio :label="0">鍏朵粬</el-radio>
+                </el-radio-group>
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <el-form-item
+                label="鏍峰搧澶勭悊鏂瑰紡锛�"
+                prop="processing"
+                class="processing_input"
+              >
+                <el-radio-group v-model="addObj.processing" size="mini">
+                  <el-radio :label="0">濮旀墭鍗曚綅鍙栧洖</el-radio>
+                  <el-radio :label="1">瀹為獙瀹ゅ鐞�</el-radio>
+                </el-radio-group>
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <el-form-item label="宸ョ▼鍚嶇О锛�" prop="engineering">
+                <el-input
+                  size="small"
+                  class="search_input"
+                  :placeholder="active > 1 ? '' : '璇疯緭鍏�'"
+                  clearable
+                  v-model="addObj.engineering"
+                  :readonly="active > 1"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row>
+            <el-col :span="6">
+              <el-form-item
+                label="宸ョ▼鍚嶇ОEN锛�"
+                prop="engineeringEn"
+                class="engineeringEn_input"
+              >
+                <el-input
+                  size="small"
+                  :placeholder="active > 1 ? '' : '璇疯緭鍏�'"
+                  clearable
+                  v-model="addObj.engineeringEn"
+                  :readonly="active > 1"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <el-form-item label="鐢熶骇鍗曚綅锛�" prop="production">
+                <el-input
+                  size="small"
+                  class="search_input"
+                  placeholder="璇疯緭鍏�"
+                  clearable
+                  v-model="addObj.production"
+                  :readonly="active > 1"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <el-form-item
+                label="鐢熶骇鍗曚綅EN锛�"
+                prop="productionEn"
+                class="productionEn_input"
+              >
+                <el-input
+                  size="small"
+                  class="search_input"
+                  placeholder="璇疯緭鍏�"
+                  clearable
+                  v-model="addObj.productionEn"
+                  :readonly="active > 1"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <el-form-item label="鏄惁鐣欐牱锛�" prop="isLeave">
+                <el-radio-group v-model="addObj.isLeave">
+                  <el-radio :label="0">涓嶇暀鏍�</el-radio>
+                  <el-radio :label="1">鐣欐牱</el-radio>
+                </el-radio-group>
+              </el-form-item>
+            </el-col>
+          </el-row>
+          <el-row>
+            <el-col :span="6">
+              <el-form-item label="鏄惁娑夊強閰嶅鏍峰搧锛�" prop="mating">
+                <el-radio-group
+                  v-model="addObj.mating"
+                  @change="$refs.sampleTable.doLayout()"
+                >
+                  <el-radio :label="1">鏄�</el-radio>
+                  <el-radio :label="0">鍚�</el-radio>
+                </el-radio-group>
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <el-form-item
+                label="OTC璁㈠崟鍙凤細"
+                prop="otcCode"
+                class="otcCode_input"
+              >
+                <el-input
+                  size="small"
+                  :placeholder="active > 1 ? '' : '璇疯緭鍏�'"
+                  clearable
+                  v-model="addObj.otcCode"
+                  :readonly="active > 1"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <el-form-item label="濮旀墭浜猴細" prop="prepareUser">
+                <el-input
+                  size="small"
+                  class="search_input"
+                  :placeholder="active > 1 ? '' : '璇疯緭鍏�'"
+                  clearable
+                  v-model="addObj.prepareUser"
+                  :readonly="active > 1"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+            <el-col :span="6">
+              <el-form-item label="澶囨敞锛�" prop="remark">
+                <el-input
+                  type="textarea"
+                  :autosize="{ minRows: 2, maxRows: 2 }"
+                  size="small"
+                  clearable
+                  :placeholder="active > 1 ? '' : '璇疯緭鍏�'"
+                  v-model="addObj.remark"
+                  :readonly="active > 1"
+                ></el-input>
+              </el-form-item>
+            </el-col>
+          </el-row>
+        </el-form>
+      </div>
+    </basic-container>
+    <basic-container>
+      <div style="height: auto">
+        <div
+          class="search"
+          v-if="active == 1"
+          style="display: flex; background: transparent"
+        >
+          <div>
+            <div class="search_label">鏍峰搧鍨嬪彿锛�</div>
+            <div class="search_input">
+              <el-select
+                v-model="model"
+                :placeholder="active > 1 ? '' : '璇疯緭鍏�'"
+                filterable
+                allow-create
+                default-first-option
+                size="small"
+                @change="changeModel"
+              >
+                <el-option
+                  v-for="item in models"
+                  :key="item.value"
+                  :label="item.label"
+                  :value="item.value"
+                >
+                </el-option>
+              </el-select>
+            </div>
+          </div>
+          <div>
+            <div class="search_label">妫�楠屾爣鍑嗭細</div>
+            <div class="search_input">
+              <el-select
+                filterable
+                v-model="standardMethodListId"
+                :placeholder="active > 1 ? '' : '璇疯緭鍏�'"
+                size="small"
+                @focus="methodFocus"
+                :loading="methodLoad"
+                @change="changeStandardMethodListId"
+              >
+                <el-option
+                  v-for="item in methods"
+                  :key="item.id"
+                  :label="item.code"
+                  :value="item.id"
+                >
+                </el-option>
+              </el-select>
+            </div>
+          </div>
+        </div>
+        <el-table
+          class="el-table sampleTable"
+          ref="sampleTable"
+          :data="sampleList"
+          max-height="400px"
+          tooltip-effect="dark"
+          border
+          @selection-change="selectSample"
+          highlight-current-row
+          @row-click="rowClick"
+          style="margin-top: 10px"
+        >
+          <el-table-column
+            type="selection"
+            width="60"
+            :selectable="selectable"
+            v-if="active == 1"
+          ></el-table-column>
+          <el-table-column
+            type="index"
+            label="搴忓彿"
+            width="65"
+            align="center"
+          ></el-table-column>
+          <el-table-column
+            prop="sample"
+            label="鏍峰搧鍚嶇О"
+            align="center"
+            min-width="100"
+          >
+            <template slot-scope="scope">
+              <el-input
+                size="small"
+                v-model="scope.row.sample"
+                clearable
+                :readonly="active > 1"
+              ></el-input>
+            </template>
+          </el-table-column>
+          <el-table-column
+            prop="sampleCode"
+            label="鏍峰搧缂栧彿"
+            min-width="140"
+            align="center"
+          >
+            <template slot-scope="scope">
+              <el-input
+                size="small"
+                v-model="scope.row.sampleCode"
+                clearable
+                placeholder="涓嶅~鍐欏垯绯荤粺鑷姩鐢熸垚"
+                :readonly="active > 1"
+              ></el-input>
+            </template>
+          </el-table-column>
+          <el-table-column
+            prop="model"
+            label="鏍峰搧鍨嬪彿"
+            align="center"
+            min-width="100"
+          >
+            <template slot-scope="scope">
+              <el-select
+                v-model="scope.row.model"
+                filterable
+                allow-create
+                default-first-option
+                placeholder="鏍峰搧鍨嬪彿"
+                size="small"
+                @change="handleChangeModel"
+                :disabled="active > 1"
+                style="width: 100%"
+              >
+                <el-option
+                  v-for="item in models"
+                  :key="item.value"
+                  :label="item.label"
+                  :value="item.value"
+                >
+                </el-option>
+              </el-select>
+            </template>
+          </el-table-column>
+          <el-table-column
+            prop="modelNum"
+            label="鍨嬪彿鍙傛暟"
+            width="130"
+            align="center"
+            v-if="!(active > 1)"
+          >
+            <template slot-scope="scope">
+              <el-input
+                size="small"
+                v-model="scope.row.modelNum"
+                clearable
+                placeholder="闈炲繀濉�"
+                @keyup.enter.native="
+                  methodChange(scope.row.standardMethodListId, scope.row)
+                "
+                @clear="methodChange(scope.row.standardMethodListId, scope.row)"
+              ></el-input>
+            </template>
+          </el-table-column>
+          <el-table-column
+            prop="standardMethodListId"
+            label="妫�楠屾爣鍑�"
+            align="center"
+            min-width="100"
+          >
+            <template slot-scope="scope">
+              <el-select
+                v-model="scope.row.standardMethodListId"
+                :disabled="scope.row.model == null || active > 1"
+                placeholder="妫�楠屾爣鍑�"
+                filterable
+                size="small"
+                :loading="methodLoad"
+                @change="(value) => methodChange(value, scope.row)"
+                @focus="methodFocus"
+                :readonly="active > 1"
+                style="width: 100%"
+                clearable
+                @clear="productList = []"
+              >
+                <el-option
+                  v-for="item in methods"
+                  :key="item.id"
+                  :label="item.code"
+                  :value="item.id"
+                >
+                </el-option>
+              </el-select>
+            </template>
+          </el-table-column>
+          <el-table-column
+            prop="joinName"
+            label="閰嶅鏍峰搧鍚嶇О"
+            width="140"
+            align="center"
+            v-if="addObj.mating == 1"
+          >
+            <template slot-scope="scope">
+              <el-input
+                size="small"
+                type="textarea"
+                :autosize="{ minRows: 1, maxRows: 1 }"
+                v-model="scope.row.joinName"
+              ></el-input>
+            </template>
+          </el-table-column>
+          <el-table-column
+            prop="joinModel"
+            label="閰嶅鏍峰搧鍨嬪彿"
+            width="140"
+            align="center"
+            v-if="addObj.mating == 1"
+          >
+            <template slot-scope="scope">
+              <el-input
+                size="small"
+                type="textarea"
+                :autosize="{ minRows: 1, maxRows: 1 }"
+                v-model="scope.row.joinModel"
+              ></el-input>
+            </template>
+          </el-table-column>
+          <el-table-column
+            prop="joinNum"
+            label="閰嶅鏍峰搧鏁伴噺"
+            width="140"
+            align="center"
+            v-if="addObj.mating == 1"
+          >
+            <template slot-scope="scope">
+              <el-input-number
+                size="small"
+                v-model="scope.row.joinNum"
+                :min="1"
+                :max="100"
+                :precision="0"
+                :controls="false"
+                style="width: 80%"
+              ></el-input-number>
+            </template>
+          </el-table-column>
+          <el-table-column
+            prop="proNum"
+            label="寰呮椤规暟閲�"
+            width="105"
+            align="center"
+          ></el-table-column>
+        </el-table>
+        <el-table
+          class="el-table"
+          ref="productTable"
+          :data="productList"
+          max-height="400px"
+          tooltip-effect="dark"
+          border
+          @selection-change="selectProduct"
+          style="margin-bottom: 10px"
+          @select="upProductSelect"
+          :row-class-name="tableRowClassName"
+          v-loading="standardLoading || getProductLoad"
+          @select-all="handleAll"
+        >
+          <el-table-column
+            type="selection"
+            width="65"
+            :selectable="selectable"
+            v-if="active == 1"
+          ></el-table-column>
+          <el-table-column
+            prop="inspectionItem"
+            label="妫�楠岄」"
+            min-width="140"
+            show-overflow-tooltip
+          >
+            <template slot="header" slot-scope="scope">
+              <div
+                style="
+                  display: flex;
+                  align-items: center;
+                  flex-direction: column;
+                  font-size: 14px;
+                "
+              >
+                <span>妫�楠岄」</span>
+                <el-input
+                  v-if="active == 1"
+                  v-model="inspectionItem"
+                  @input="searchFilterList"
+                  size="mini"
+                  placeholder="璇疯緭鍏�"
+                />
+              </div>
+            </template>
+          </el-table-column>
+          <el-table-column
+            prop="inspectionItemSubclass"
+            label="妫�楠岄」瀛愰」"
+            min-width="140"
+            show-overflow-tooltip
+          >
+            <template slot="header" slot-scope="scope">
+              <div
+                style="
+                  display: flex;
+                  align-items: center;
+                  flex-direction: column;
+                  font-size: 14px;
+                "
+              >
+                <span>妫�楠岄」瀛愰」</span>
+                <el-input
+                  v-if="active == 1"
+                  v-model="inspectionItemSubclass"
+                  @input="searchFilterList"
+                  size="mini"
+                  placeholder="璇疯緭鍏�"
+                />
+              </div>
+            </template>
+          </el-table-column>
+          <el-table-column prop="tell" label="瑕佹眰鎻忚堪" min-width="220px">
+            <template slot-scope="scope">
+              <el-input
+                size="small"
+                placeholder="瑕佹眰鎻忚堪"
+                v-model="scope.row.tell"
+                clearable
+                type="textarea"
+                :autosize="{ minRows: 1, maxRows: 3 }"
+                @change="(e) => requestChange(e, scope.row, 'tell')"
+                v-if="active == 1 && isAskOnlyRead"
+              ></el-input>
+              <span v-else>
+                <template>{{ scope.row.tell }}</template>
+              </span>
+            </template>
+          </el-table-column>
+          <el-table-column
+            prop="ask"
+            label="瑕佹眰鍊�"
+            min-width="220px"
+            v-if="isAskOnlyRead"
+          >
+            <template slot-scope="scope">
+              <el-input
+                size="small"
+                placeholder="瑕佹眰鍊�"
+                v-model="scope.row.ask"
+                clearable
+                type="textarea"
+                :autosize="{ minRows: 1, maxRows: 3 }"
+                @change="(e) => requestChange(e, scope.row, 'ask')"
+                v-if="
+                  active == 1 &&
+                  isAskOnlyRead &&
+                  scope.row.inspectionValueType != '5'
+                "
+              ></el-input>
+              <span v-else>
+                <template>{{ scope.row.ask }}</template>
+              </span>
+            </template>
+          </el-table-column>
+          <el-table-column
+            prop="methodS"
+            label="璇曢獙鏂规硶"
+            min-width="120"
+            show-overflow-tooltip
+          >
+            <template slot="header" slot-scope="scope">
+              <div
+                style="
+                  display: flex;
+                  align-items: center;
+                  flex-direction: column;
+                  font-size: 14px;
+                "
+              >
+                <span>璇曢獙鏂规硶</span>
+                <el-input
+                  v-if="active == 1"
+                  v-model="methodS"
+                  @input="searchFilterList"
+                  size="mini"
+                  placeholder="璇疯緭鍏�"
+                />
+              </div>
+            </template>
+          </el-table-column>
+          <el-table-column
+            prop="unit"
+            label="璁¢噺鍗曚綅"
+            width="100"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            prop="price"
+            label="鍗曚环"
+            width="100"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            prop="section"
+            label="鍖洪棿"
+            min-width="120"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            prop="sonLaboratory"
+            label="瀛愬疄楠屽"
+            min-width="130"
+            show-overflow-tooltip
+            :filters="filters"
+            :filter-method="filterHandler"
+          ></el-table-column>
+        </el-table>
+      </div>
+    </basic-container>
+  </div>
+</template>
+
+<script>
+import { mapGetters } from "vuex";
+import fiberOpticConfig from "./fiberoptic-config.vue";
+import fiberOpticConfigReadOnly from "./fiberoptic-config-readonly.vue";
+import equipConfig from "./equip-config.vue";
+import cableConfig from "./cable-config.vue";
+import getLodop from "@/utils/lodop";
+import { bigEval } from "@/utils/bigEval";
+import { getDicts } from "@/api/system/dict/data";
+export default {
+  components: {
+    fiberOpticConfig,
+    fiberOpticConfigReadOnly,
+    equipConfig,
+    cableConfig,
+  },
+  computed: {
+    ...mapGetters(["nickName", "company"]),
+  },
+  props: {
+    examine: {
+      type: Number,
+      default: () => 0,
+    },
+    active: {
+      type: Number,
+      default: () => 0,
+    },
+    currentId: {
+      type: Number,
+      default: () => 0,
+    },
+  },
+  data() {
+    return {
+      pickerOptions: {
+        disabledDate(time) {
+          // 褰撳墠鏃堕棿鍔犱笂涓夊ぉ鐨勬椂闂存埑
+          const threeDaysLater = Date.now() + 24 * 60 * 60 * 1000;
+          // 绂佺敤涓夊ぉ鍚庝箣鍓嶇殑鎵�鏈夋棩鏈�
+          return time.getTime() < threeDaysLater;
+        },
+      },
+      fiberLoss: [],
+      qrDataList: [],
+      isFocus: false,
+      methodCount: 0,
+      standardLoading: false,
+      errorInspectionItemList: [],
+      errorInspectionItem: false,
+      inspectionItemST: null,
+      sampleSelectionList: [], //鏍峰搧琛ㄦ牸閫変腑鏁版嵁
+      editTable: [],
+      template: null,
+      templates: [],
+      addObj: {
+        entrustCode: null,
+        custom: null,
+        company: null,
+        userId: null,
+        type: "0",
+        code: null,
+        appointed: null,
+        remark: null,
+        otcCode: null,
+        mating: 0,
+        sample: null,
+        factory: null,
+        laboratory: null,
+        sampleType: null,
+        sampleNum: 1,
+        unit: null,
+        model: null,
+        method: null,
+        phone: null,
+        processing: 1,
+        isLeave: 0,
+        orderType: null,
+        send: 1,
+        formType: "閫佹",
+        engineering: null,
+        engineeringEn: null,
+        production: null,
+        productionEn: null,
+        companyId: null,
+        prepareUser: null,
+      },
+      formRule: {
+        orderType: {
+          required: true,
+          message: "璇烽�夋嫨妫�楠岀被鍒�",
+          trigger: "change",
+        },
+        custom: { required: true, message: "", trigger: "blur" },
+        company: { required: true, message: "璇烽�夋嫨濮旀墭鍗曚綅", trigger: "blur" },
+        phone: { required: true, message: "璇疯緭鍏ヨ仈绯绘柟寮�", trigger: "blur" },
+        type: { required: true, message: "璇烽�夋嫨绱ф�ョ▼搴�", trigger: "change" },
+        sample: { required: true, message: "璇烽�夋嫨鏍峰搧鍚嶇О", trigger: "blur" },
+        sampleNum: {
+          required: true,
+          message: "璇疯緭鍏ユ牱鍝佹暟閲�",
+          trigger: "blur",
+        },
+        formType: {
+          required: true,
+          message: "璇烽�夋嫨鏉ユ牱鏂瑰紡",
+          trigger: "change",
+        },
+        production: {
+          required: true,
+          message: "璇疯緭鍏ョ敓浜у崟浣�",
+          trigger: "blur",
+        },
+        productionEn: {
+          required: true,
+          message: "璇疯緭鍏ョ敓浜у崟浣岴N",
+          trigger: "blur",
+        },
+      },
+      sample: {
+        sampleCode: null,
+        laboratory: null,
+        factory: null,
+        sampleType: null,
+        sample: null,
+        model: null,
+        modelNum: null,
+        sampleNum: 1,
+        isLeave: 0,
+        unit: null,
+      },
+      type: [],
+      selectUserDia: false,
+      componentData2: {
+        entity: {
+          orderBy: {
+            field: "id",
+            order: "desc",
+          },
+        },
+        isIndex: true,
+        showSelect: true,
+        select: false,
+        do: [],
+        tagField: {
+          state: {
+            select: [
+              {
+                value: 1,
+                type: "success",
+                label: "鍚敤",
+              },
+              {
+                value: 0,
+                type: "danger",
+                label: "鍋滅敤",
+              },
+            ],
+          },
+        },
+        selectField: {},
+      },
+      selectStandardTree: false,
+      search: null,
+      list: [],
+      selectTree: null,
+      expandedKeys: [],
+      sampleList: [],
+      sampleIds: [],
+      methodList: [],
+      addSampleDia: false,
+      count: 1,
+      productList: [],
+      productList0: [],
+      bsm1DiaList: [],
+      productIds: [],
+      productListSelected: [],
+      getProductLoad: false,
+      saveLoad: false,
+      templateDia: false,
+      templateLoading: false,
+      templateName: "",
+      issuedDialogVisible: false,
+      distributeData: {
+        appointed: "",
+        userId: [],
+        sonLaboratory: "",
+        isCreate: false,
+      },
+      personList: [],
+      upLoad: false,
+      units: [],
+      models: [],
+      methods: [],
+      methodLoad: false,
+      noDialogVisible: false,
+      tell: "",
+      noLoading: false,
+      orderType: [],
+      filters: [],
+      formType: [],
+      configShow: false,
+      currentMethod: null,
+      isAskOnlyRead: false,
+      sampleId: null,
+      bsmRow: null,
+      bsm1: false,
+      bsm1Val: null,
+      bsm1Dia: false,
+      bsm1DiaAll: false,
+      equipConfigShow: false,
+      cableConfigShow: false,
+      bsm2: false,
+      bsm2Val: null,
+      bsm2Dia: false,
+      bsm2Val2: [],
+      bsm2Val3: [],
+      bsmRow3: null,
+      bsm3Val: null,
+      bsm3Dia: false,
+      total: 0,
+      RTS: "",
+      totalArr: [],
+      model: null,
+      standardMethodListId: null,
+      symbolList: [
+        "RTS",
+        "A",
+        "B",
+        "C",
+        "D",
+        "E",
+        "F",
+        "G",
+        "H",
+        "I",
+        "J",
+        "K",
+        "L",
+        "M",
+        "N",
+        "O",
+        "P",
+        "Q",
+        "R",
+        "S",
+        "T",
+        "U",
+        "V",
+        "W",
+        "X",
+        "Y",
+        "Z",
+      ],
+      inspectionItem: null,
+      inspectionItemSubclass: null,
+      methodS: null,
+      circulateShow: false,
+      circulateForm: {
+        entrustTime: "",
+        entrustNum: "",
+        entrustPoint: "",
+      },
+      singleVerticalCombustionShow: false, //鍗曟牴鍨傜洿鐕冪儳妫�楠岄」寮规
+      singleVerticalCombustionNum: 0, //鍗曟牴鍨傜洿鐕冪儳妫�楠岄」璁℃暟
+      isBsm2Val2: false,
+      opticalProject: [], // 娓╁害寰幆寮规鍏夌氦椤圭洰鍒楄〃
+      opticalProjectList: [], // 娓╁害寰幆寮规鍏夌氦椤圭洰閫変腑鐨勬暟缁�
+      temperatureData: [], // 娓╁害寰幆寮规娓╁害鐐归泦鍚堝垪琛�
+      temperatureDataList: [
+        { label: "<", value: "<" },
+        { label: "鈮�", value: "鈮�" },
+        { label: "=", value: "=" },
+        { label: "鈮�", value: "鈮�" },
+        { label: ">", value: ">" },
+      ],
+      temperatureShow: false, // 娓╁崌璇曢獙妫�楠岄」寮规
+      temperatureTest: [],
+      temperatureList: [],
+      temperatureEngList: [],
+      temperatureTitle: "",
+      temperatureTestNum: "",
+      isShowInput: false,
+      temId: "",
+      sonLaboratoryList: [],
+      selectiveEcho: [], // 妫�楠屼笅鍗曠殑鏃跺�欏嬀閫夋楠岄」鐩�,濡傛灉浣跨敤绛涢�夋彁浜ゆ樉绀烘楠岄」鐩负绌� 鍥炴樉鍒楄〃
+      fiberPairing: [], //鍏夌氦閰嶇疆閲岀殑鐔旀帴閰嶅
+    };
+  },
+  watch: {
+    productList: {
+      deep: true,
+      handler(val) {
+        if (val && val.length > 0) {
+          let arr = [];
+          val.forEach((item) => {
+            if (
+              item.sonLaboratory &&
+              !arr.find((a) => a.value == item.sonLaboratory)
+            ) {
+              arr.push({
+                text: item.sonLaboratory,
+                value: item.sonLaboratory,
+              });
+            }
+          });
+          this.filters = arr;
+        }
+      },
+    },
+    sampleList: {
+      deep: true,
+      handler(val) {
+        console.log(val);
+        if (val.length > 0) {
+          this.getTotal(val[0].bushing, false);
+        }
+      },
+    },
+    "addObj.sample"(val) {
+      this.model = null;
+      this.standardMethodListId = null;
+    },
+    "addObj.sampleNum"(val) {
+      this.model = null;
+      this.standardMethodListId = null;
+    },
+  },
+  mounted() {
+    if (this.addObj.custom == "" || this.addObj.custom == null) {
+      this.addObj.custom = this.nickName; //璁剧疆鍒跺崟浜轰负褰撳墠鐧诲綍浜�
+    }
+    this.addObj.company = this.company;
+    this.selectDictForType();
+    this.selectDictForOrderType();
+    this.selectDictForUnit();
+    this.selectDictForSampleForm();
+
+    if (this.active != 3) {
+      this.getUserNow();
+    }
+    this.selectStandardTreeList();
+    this.getAuthorizedPerson();
+    this.selectStandardMethods();
+    if (this.active != 1) {
+      // 鏌ョ湅/瀹℃牳娴佺▼
+      // 璇锋眰鎺ュ彛锛屽洖鏄炬暟鎹�
+      this.$axios
+        .post(this.$api.insOrder.getInsOrder, {
+          orderId: this.currentId,
+        })
+        .then((res) => {
+          this.addObj = {
+            ...res.data.insOrder,
+          };
+          this.addObj.type = String(this.addObj.type);
+          this.sampleList = this.HaveJson(res.data.sampleProduct);
+          this.getProNum();
+          this.addObj.sampleNum = this.sampleList.length;
+          this.$nextTick(() => {
+            this.$refs.sampleTable.doLayout();
+            if (this.addObj.sampleNum > 0) {
+              this.$refs.sampleTable.setCurrentRow(this.sampleList[0], true);
+              this.rowClick(this.sampleList[0]);
+            }
+          });
+        });
+    }
+  },
+  methods: {
+    changeType(type) {
+      this.hasSendUrgentOrder(type)
+        .then((res) => {
+          console.log(res);
+          if (!res) {
+            this.addObj.type = "1";
+            this.$message.error("褰撳ぉ鍔犳�ラ搴﹀凡鐢ㄥ畬");
+            throw "褰撳ぉ鍔犳�ラ搴﹀凡鐢ㄥ畬";
+          }
+        })
+        .catch((err) => {
+          console.log(err);
+        });
+    },
+    //鍒ゆ柇褰撳ぉ鏄惁鍙笅鍙戠揣鎬ヨ鍗�
+    async hasSendUrgentOrder(type) {
+      let flag = true;
+      //濡傛灉鏄被鍨嬫槸绱ф�ワ紝鍒ゆ柇褰撳墠瀹㈡埛褰撳ぉ鐨勭揣鎬ラ搴︽槸鍚︾敤瀹�
+      if (type == 2) {
+        await this.$axios
+          .post(this.$api.insOrder.hasSendUrgentOrder, {})
+          .then((res) => {
+            flag = res.data;
+            return flag;
+            // if (!res.data) {
+            //   this.addObj.type = "1";
+            //   this.$message.error("褰撳ぉ绱ф�ラ搴﹀凡鐢ㄥ畬");
+            //   throw "褰撳ぉ绱ф�ラ搴﹀凡鐢ㄥ畬";
+            // }
+          });
+      }
+      return flag;
+    },
+    //鍏夌氦閰嶇疆淇濆瓨鍥炶皟
+    saveFiberConfigEvent(event) {
+      console.log(event);
+      this.$nextTick(() => {
+        this.getTotal(event.bushing);
+        this.fiberPairing = event.fiberPairing;
+      });
+    },
+    //淇濆瓨鍗曟牴鍨傜洿鐕冪儳鐗规畩鍊�
+    saveSingleVerticalCombustionData() {},
+    openSingleVerticalCombustionDialog() {
+      this.$prompt("鍗曟牴鍨傜洿鐕冪儳娆℃暟", "鐗规畩妫�娴嬮」鐩�", {
+        confirmButtonText: "纭畾",
+        cancelButtonText: "鍙栨秷",
+        inputValidator: this.customDecimalValidate,
+        closeOnClickModal: false,
+      })
+        .then(({ value }) => {
+          this.sampleList.forEach((item) => {
+            this.singleVerticalData(item.insProduct, value);
+          });
+          this.singleVerticalData(this.productList, value);
+          this.singleVerticalData(this.productList0, value);
+          this.changeProductList0();
+          this.currentMethod.insProduct = this.productList0;
+          this.getProNum();
+        })
+        .catch(() => {});
+    },
+    singleVerticalData(arr, value) {
+      arr.forEach((ins) => {
+        if (ins.inspectionItem == "鍗曟牴鍨傜洿鐕冪儳" && ins.state == 1) {
+          let tell = "";
+          if (ins.tell.includes(",")) {
+            tell = ins.tell.split(",")[0];
+          } else {
+            tell = ins.tell;
+          }
+          ins.tell = tell + "," + value + "鏍�";
+        }
+      });
+    },
+    customDecimalValidate(value) {
+      console.log(value);
+      if (value == 0) {
+        return "涓嶈兘涓�0锛岃杈撳叆鏁板瓧";
+      } else if (!/^[0-9]*[1-9][0-9]*$/.test(value)) {
+        return "璇疯緭鍏ユ鏁存暟";
+      }
+    },
+    //鐗规畩鍊煎~鍐欏鐞�
+    inputValueHandler(row, index) {
+      if (row) {
+        const nextIndex = index + 1;
+        // console.log(nextIndex, this.editTable)
+        for (let i = nextIndex; i < this.editTable.length; i++) {
+          const element = this.editTable[i];
+          if (
+            element.model == row.model &&
+            row.symbolItem == element.symbolItem
+          ) {
+            this.editTable[i].value = row.value;
+          }
+        }
+      }
+    },
+    spliceData() {
+      if (
+        !this.circulateForm.entrustNum ||
+        !this.circulateForm.entrustTime ||
+        !this.circulateForm.entrustPoint ||
+        this.opticalProjectList.length === 0 ||
+        this.temperatureData.length === 0
+      ) {
+        this.$message.error("璇峰~鍐欏畬鏁存暟鎹�");
+        return;
+      }
+      // 鎷兼帴瑕佹眰鍊糰sk
+      const opticalProjectList = JSON.parse(
+        JSON.stringify(this.opticalProjectList)
+      );
+      opticalProjectList.forEach((o) => {
+        o.temperatureData.forEach((t) => {
+          if (!t.temperaturePoint || !t.askSymbol || !t.askNum) {
+            throw this.$message.error("璇峰~鍐欏畬鏁存暟鎹�");
+          }
+        });
+        if (!o.temperatureData.some((item) => item.temperaturePoint == "20")) {
+          throw this.$message.error(`${o.value + "娉㈤暱娌℃湁閰嶇疆20鈩冩俯搴︾偣"}`);
+        }
+      });
+      let entrustTime = this.circulateForm.entrustTime;
+      let entrustNum = this.circulateForm.entrustNum;
+      let opticalProjectList2 = JSON.parse(
+        JSON.stringify(this.opticalProjectList)
+      );
+      let askArr = [];
+      let opticalProjectArr = [];
+      opticalProjectList.forEach((o) => {
+        opticalProjectArr.push(o.value);
+        o.temperatureData.unshift({ temperaturePoint: 20 });
+        o.temperatureData.forEach((t) => {
+          if (!t.askSymbol) {
+            const askObj =
+              t.temperaturePoint + "鈩�(甯告俯)" + "," + o.value + "," + null;
+            askArr.push(askObj);
+          } else {
+            const askObj =
+              t.temperaturePoint +
+              "鈩�" +
+              "," +
+              o.value +
+              "," +
+              t.askSymbol +
+              t.askNum;
+            askArr.push(askObj);
+          }
+        });
+      });
+      askArr.push(this.circulateForm.entrustNum);
+      const ask = askArr.join(";");
+      // 鎷兼帴瑕佹眰鎻忚堪tell
+      let askNum = [];
+      let temperaturePointList = [];
+      let temperaturePointList2 = [];
+      entrustTime = entrustTime + "h";
+      entrustNum = entrustNum + "娆�";
+      opticalProjectList2.forEach((o) => {
+        o.temperatureData.forEach((t) => {
+          t.temperaturePoint = t.temperaturePoint + "鈩�";
+          temperaturePointList2.push(t.temperaturePoint);
+          temperaturePointList.push(t.temperaturePoint);
+          askNum.push(t.askSymbol + t.askNum + "dB/Km");
+        });
+      });
+      temperaturePointList = Array.from(new Set(temperaturePointList));
+      temperaturePointList2 = Array.from(new Set(temperaturePointList2));
+      temperaturePointList2.unshift(20 + "鈩�(甯告俯)");
+      let additionArr = [];
+      askNum.forEach((a) => {
+        additionArr.push(temperaturePointList.join(",") + a);
+      });
+      additionArr = Array.from(new Set(additionArr));
+      const tell =
+        "娓╁害鑼冨洿:" +
+        temperaturePointList2.join(",") +
+        ";" +
+        "淇濇俯鏃堕棿:" +
+        entrustTime +
+        ";" +
+        "寰幆娆℃暟:" +
+        entrustNum +
+        ";" +
+        "鍏夌氦(" +
+        opticalProjectArr.join(",") +
+        ")" +
+        "闄勫姞琛板噺缁濆鍊�:" +
+        additionArr.join(";");
+      this.productList.forEach((item) => {
+        if (item.inspectionItem === "娓╁害寰幆") {
+          item.ask = ask;
+          item.tell = tell;
+        }
+      });
+      this.circulateShow = false;
+      this.changeProductList0();
+      this.currentMethod.insProduct = this.productList0;
+      this.sampleList.forEach((ele) => {
+        ele.insProduct = this.productList0;
+      });
+      this.getProNum();
+    },
+    //娓╁崌/鐑惊鐜壒娈婇」鐩敓鎴�
+    //璋冩暣锛氭棤闇�鐢ㄦ埛閫夋嫨锛岄粯璁ょ敓鎴愬洓涓瓙椤癸紝寰幆涓�娆�
+    spliceTemperatureTest() {
+      // console.log(this.temperatureList)
+      // if (this.temperatureTest.length === 0) {
+      //   this.$message.error("璇烽�夋嫨");
+      //   return;
+      // }
+      let askStr = "";
+      let askArr1 = [];
+      let askArr2 = "";
+      let ask = "";
+      let index = "";
+      // this.temperatureTest.map((val) => {
+      //   index = this.temperatureEngList.findIndex((item) => item.label === val);
+      //   if (index > -1) {
+      //     askStr = val + "," + this.temperatureEngList[index].value;
+      //   }
+      //   askArr1.push(askStr);
+      // });
+      this.temperatureEngList.forEach((item, i) => {
+        index = i;
+        if (index > -1) {
+          askStr = item.label + "," + this.temperatureEngList[index].value;
+        }
+        askArr1.push(askStr);
+      });
+      askArr2 = askArr1.join(";");
+      ask = askArr2 + ";1";
+      // if (this.temperatureTitle === "娓╁崌璇曢獙瑕佹眰濉啓") {
+      //   askArr2 = askArr1.join(";");
+      //   ask = askArr2 + ";1";
+      // } else {
+      //   if (!this.temperatureTestNum) {
+      //     this.$message.error("璇峰~鍐欏惊鐜鏁�");
+      //     return;
+      //   }
+      //   askArr2 = askArr1.join(";");
+      //   ask = askArr2 + ";" + this.temperatureTestNum;
+      // }
+      this.productList.forEach((item) => {
+        if (item.id === this.temId) {
+          item.ask = ask;
+          item.tell = ask;
+        }
+      });
+      //灏嗘俯鍗囪瘯楠�/鐑惊鐜殑瑕佹眰鍊煎拰瑕佹眰鎻忚堪锛岃祴缁檚ampleList
+      this.sampleList.forEach((ele) => {
+        if (ele.id == this.currentMethod.id) {
+          ele.insProduct.forEach((item) => {
+            if (item.id === this.temId) {
+              item.ask = ask;
+              item.tell = ask;
+              item.state = 1;
+            }
+          });
+        }
+      });
+      // this.temperatureShow = false;
+    },
+    temperatureShowClose() {
+      if (
+        this.temperatureTitle === "鐑惊鐜姹傚~鍐�" &&
+        !this.temperatureTestNum
+      ) {
+        this.$message.error("璇峰~鍐欏惊鐜鏁�");
+        return;
+      }
+      if (this.temperatureTest.length === 0) {
+        this.$message.error("璇烽�夋嫨");
+        return;
+      }
+      this.spliceTemperatureTest();
+    },
+    cleanTemperatureTest() {
+      this.temperatureTest = [];
+      this.temperatureTestNum = "";
+      this.temperatureShow = false;
+    },
+    cleanSpliceData() {
+      this.circulateForm.entrustNum = null;
+      this.circulateForm.entrustTime = null;
+      this.circulateForm.entrustPoint = null;
+      this.opticalProjectList = [];
+      this.$refs.multipleTable.clearSelection();
+      this.temperatureData = [];
+      this.circulateShow = false;
+    },
+    beforeCirculateShowClose() {
+      if (
+        !this.circulateForm.entrustNum ||
+        !this.circulateForm.entrustTime ||
+        !this.circulateForm.entrustPoint ||
+        this.opticalProjectList.length === 0 ||
+        this.temperatureData.length === 0
+      ) {
+        this.$message.error("璇峰~鍐欏畬鏁存暟鎹�");
+        return;
+      }
+      // 鎷兼帴瑕佹眰鍊糰sk
+      const opticalProjectList = JSON.parse(
+        JSON.stringify(this.opticalProjectList)
+      );
+      opticalProjectList.forEach((o) => {
+        o.temperatureData.forEach((t) => {
+          if (!t.temperaturePoint || !t.askSymbol || !t.askNum) {
+            throw this.$message.error("璇峰~鍐欏畬鏁存暟鎹�");
+          }
+        });
+        if (!o.temperatureData.some((item) => item.temperaturePoint == "20")) {
+          throw this.$message.error(`${o.value + "娉㈤暱娌℃湁閰嶇疆20鈩冩俯搴︾偣"}`);
+        }
+      });
+      this.spliceData();
+    },
+
+    handleTemperatureTestChange(value) {
+      // console.log('value---', value)
+    },
+    handleSelectionChange(val) {
+      this.opticalProjectList = val;
+    },
+    selectAllOptical(val) {
+      if (val.length > 0) {
+        if (val[val.length - 1].temperatureData) {
+          this.temperatureData = this.HaveJson(val.temperatureData);
+        } else {
+          this.temperatureData = [];
+        }
+      } else {
+        this.temperatureData = [];
+      }
+      this.circulateForm.entrustPoint = this.temperatureData.length;
+    },
+    selectOpticalProject(val) {
+      if (val.temperatureData) {
+        this.temperatureData = this.HaveJson(val.temperatureData);
+      } else {
+        this.temperatureData = [];
+      }
+      this.circulateForm.entrustPoint = this.temperatureData.length;
+    },
+    rowClickOptical(val) {
+      const index = this.opticalProjectList.findIndex(
+        (item) => item.value === val.value
+      );
+      if (index > -1 && val.temperatureData) {
+        this.temperatureData = this.HaveJson(val.temperatureData);
+      }
+      this.circulateForm.entrustPoint = this.temperatureData.length;
+    },
+    changeTemperature() {
+      this.opticalProjectList.forEach((item) => {
+        item.temperatureData = this.HaveJson(this.temperatureData);
+      });
+    },
+    addTemperatureData() {
+      const obj = {};
+      this.temperatureData.push(obj);
+      this.circulateForm.entrustPoint = this.temperatureData.length;
+    },
+    deleteTemperatureData() {
+      if (this.temperatureData.length > 0) {
+        this.temperatureData = this.temperatureData.slice(0, -1);
+      }
+      this.circulateForm.entrustPoint = this.temperatureData.length;
+    },
+    changeTemperatureData() {
+      const length = this.temperatureData.length;
+      const entrustPoint = Number(this.circulateForm.entrustPoint);
+      if (entrustPoint > length) {
+        for (let i = 0; i < entrustPoint - length; i++) {
+          const obj = {};
+          this.temperatureData.push(obj);
+        }
+      } else if (entrustPoint < length) {
+        const deleteNum = length - entrustPoint;
+        this.temperatureData = this.temperatureData.slice(0, -deleteNum);
+      }
+      setTimeout(() => {
+        this.isFocus = false;
+      }, 300);
+    },
+    changeProductList0() {
+      this.productList0.forEach((a) => {
+        let obj = this.productList.find((m) => m.id == a.id);
+        if (obj) {
+          a.state = obj.state;
+          a.section = obj.section;
+          a.ask = obj.ask;
+          a.manHour = obj.manHour;
+          a.price = obj.price;
+          a.tell = obj.tell;
+        }
+        if (a.state == 0 && a.bsmRow) {
+          a = this.HaveJson(a.bsmRow);
+        }
+      });
+    },
+    searchFilterList() {
+      const vtw = {
+        inspectionItem: this.inspectionItem, // 妫�楠岄」
+        inspectionItemSubclass: this.inspectionItemSubclass, // 妫�楠岄」瀛愰」
+        methodS: this.methodS, // 璇曢獙鏂规硶
+      };
+      const isHaveValue = Object.values(vtw).some((item) => {
+        return item;
+      });
+      this.changeProductList0();
+      if (isHaveValue) {
+        for (let i in vtw) {
+          if (vtw[i]) {
+            this.productList = this.productList0.filter((item) => {
+              return item[i] && item[i].includes(vtw[i]);
+            });
+          }
+        }
+        this.$nextTick(() => {
+          this.productList.forEach((a) => {
+            if (a.state == 1) this.toggleSelection(a);
+          });
+        });
+      } else {
+        // 娌℃湁鏌ヨ鏉′欢鏃舵覆鏌撴墍鏈夋暟鎹�
+        this.productList = this.productList0;
+        this.$nextTick(() => {
+          this.productList.forEach((a) => {
+            if (a.state == 1) this.toggleSelection(a);
+          });
+        });
+      }
+    },
+    getAuthorizedPerson() {
+      this.$axios.get(this.$api.user.getLaboratoryPersonList).then((res) => {
+        this.personList = res.data;
+      });
+    },
+    selectDictForType() {
+      getDicts("urgency_level")
+        .then((res) => {
+          if (res.code === 200) {
+            this.type = res.data;
+          }
+        })
+        .catch((error) => {
+          console.error(error);
+        });
+    },
+    selectUser() {
+      let selects = this.$refs.ValueTable2.multipleSelection;
+      if (selects.length == 0) {
+        this.$message.error("鏈�夋嫨鏁版嵁");
+        return;
+      }
+      this.addObj.company = selects.company;
+      this.addObj.code = selects.code;
+      this.addObj.companyId = selects.id;
+      this.selectUserDia = false;
+      if (this.active == 1) {
+        // TODO
+        this.selectInsOrderTemplate();
+      }
+    },
+    containsValue(str) {
+      if (str) {
+        let symbolItem = "";
+        this.symbolList.some((value) => {
+          if (str.includes(value)) {
+            symbolItem = value;
+            return true;
+          }
+        });
+        return symbolItem;
+      }
+    },
+    /**
+     * 鑾峰彇灏忔暟鐨勬渶澶т綅鏁�
+     * @param number  鍨嬪彿鍙傛暟
+     * @param ask     瑕佹眰鍊�
+     * @param calcNum 璁$畻鍊�
+     */
+    getDecimalPlaces(number, ask, calcNum) {
+      console.log("璁$畻灏忔暟鐐�-->", number, ask, calcNum);
+      let count1 = 0;
+      let count2 = 0;
+      const reg = /(\d+\.)(\d+)/g;
+      let matches = [];
+      if (ask) {
+        matches = ask.match(reg);
+      }
+      if (
+        matches &&
+        matches.length > 0 &&
+        matches[0].toString().indexOf(".") > -1
+      ) {
+        count1 = matches[0].toString().split(".")[1].length;
+      }
+      if (number.toString().indexOf(".") > -1) {
+        count2 = number.toString().split(".")[1].length;
+      }
+      if (calcNum.toString().indexOf(".") > -1) {
+        const pointLength2 = calcNum.toString().split(".")[1].length;
+        count2 = count2 > pointLength2 ? count2 : pointLength2;
+      }
+      return count1 > count2 ? count1 : count2;
+    },
+    handleAsk(ask, symbolItem, value) {
+      console.log("澶勭悊瑕佹眰鍊�--銆�", ask, symbolItem, value);
+      try {
+        let code = [">", "<", "=", "锛�", "锛�", "鈮�", "鈮�", "卤"];
+        if (ask.includes("&")) {
+          // 澶氫釜鏉′欢
+          let arr0 = ask.split("&");
+          let arr1 = [];
+          arr0.forEach((m) => {
+            let index = code.findIndex((b) => m.includes(b));
+            // console.log("index--銆�", index);
+            if (index > -1) {
+              let arr = m.split(code[index]).filter((b) => !!b);
+              let calcNum = this.$Big(
+                bigEval(this.replaceAll(arr[0], symbolItem, value))
+              );
+              let num = calcNum.toFixed(
+                this.getDecimalPlaces(value, ask, calcNum)
+              );
+              m = code[index] + "" + num;
+              arr1.push(m);
+            }
+          });
+          // console.log("澶勭悊澶氫釜鏉′欢瑕佹眰鍊�--銆�", arr1.join("&"));
+          return arr1.join("&");
+        } else {
+          // 鍗曚釜鏉′欢
+          let index = code.findIndex((b) => ask.includes(b));
+          // console.log("index--銆�", index);
+          if (index > -1) {
+            let arr = ask.split(code[index]).filter((b) => !!b);
+            console.log("鐗规畩鍊兼浛鎹�--銆�", arr);
+            let calcNum = this.$Big(
+              bigEval(this.replaceAll(arr[0], symbolItem, value))
+            );
+            let num = calcNum.toFixed(
+              this.getDecimalPlaces(value, ask, calcNum)
+            );
+            console.log("澶勭悊鍗曚釜鏉′欢瑕佹眰鍊�--銆�", code[index] + "" + num);
+            return code[index] + "" + num;
+          }
+        }
+      } catch (e) {
+        console.error("澶勭悊瑕佹眰鍊煎紓甯�-->", e);
+      }
+    },
+    handleTell(tell, symbolItem, value) {
+      try {
+        let num = this.replaceAll(tell, symbolItem, value);
+        return num;
+      } catch (e) {}
+    },
+    replaceAll(str, find, value) {
+      if (str === undefined) {
+        return str;
+      }
+      return str.split(find).join(value);
+    },
+    save() {
+      if (!this.addObj.companyId) {
+        this.$message.error("鏈�夋嫨瀹㈡埛鍗曚綅");
+        return;
+      }
+      if (!this.addObj.type) {
+        this.$message.error("鏈�夋嫨绱ф�ョ▼搴�");
+      } else if (!this.addObj.formType) {
+        this.$message.error("璇疯緭鍏ユ潵鏍锋柟寮�");
+      } else if (!this.addObj.orderType) {
+        this.$message.error("璇烽�夋嫨妫�楠岀被鍒�");
+      } else if (!this.addObj.production) {
+        this.$message.error("璇疯緭鍏ョ敓浜у崟浣�");
+      } else if (!this.addObj.productionEn) {
+        this.$message.error("璇疯緭鍏ョ敓浜у崟浣岴N");
+      } else if (this.sampleList.length < 1) {
+        this.$message.error("璇锋坊鍔犱竴涓牱鍝�");
+      } else if (!this.sampleList.every((m) => m.sample)) {
+        this.$message.error("璇疯緭鍏ユ牱鍝佸悕绉�");
+      } else if (!this.sampleList.every((m) => m.model)) {
+        this.$message.error("璇疯緭鍏ユ牱鍝佸瀷鍙�");
+      } else if (!this.sampleList.every((m) => m.standardMethodListId)) {
+        this.$message.error("璇烽�夋嫨妫�楠屾爣鍑�");
+      } else {
+        const select = this.selectTree.split(" - ");
+        const productListSelected = this.productListSelected.some(
+          (item) => item.inspectionItem === "娓╁害寰幆"
+        );
+        let isHaveBushing = "";
+        this.sampleList.forEach((item) => {
+          if (!item.bushing || item.bushing.length === 0) {
+            isHaveBushing = false;
+          }
+        });
+        //鍒ゆ柇绱ф�ラ搴︽槸鍚︾敤瀹�
+        this.hasSendUrgentOrder(this.addObj.type).then((res) => {
+          if (!res) {
+            this.addObj.type = "1";
+            this.$message.error("褰撳ぉ绱ф�ラ搴﹀凡鐢ㄥ畬");
+          } else {
+            let sampleCodes = new Set();
+            let flag = false;
+            for (let i = 0; i < this.sampleList.length; i++) {
+              if (
+                this.sampleList[i].sampleCode &&
+                this.sampleList[i].sampleCode.trim() !== "" &&
+                this.sampleList[i].sampleCode != null
+              ) {
+                if (sampleCodes.has(this.sampleList[i].sampleCode)) {
+                  flag = true;
+                  break;
+                }
+                sampleCodes.add(this.sampleList[i].sampleCode);
+              }
+            }
+            if (flag) {
+              this.$message.error("鏍峰搧缂栧彿涓嶈兘閲嶅");
+              return;
+            }
+            //杩囨护妫�娴嬮」锛氬幓闄ょ壒娈婇」
+            let filterProductList = this.productListSelected
+              .filter((ele) => ele.bsm == 0)
+              .filter((ele) => {
+                if (
+                  select[1].indexOf("閫氫俊") >= 0 &&
+                  ["鍏夌紗", "鍏夌氦"].includes(select[2])
+                ) {
+                  return !["娓╁害寰幆", "鍏夌氦鎺ュご鎹熻��"].includes(
+                    ele.inspectionItem
+                  );
+                }
+                return true;
+              })
+              .filter((ele) => {
+                if (select[1].indexOf("鐢靛姏") >= 0) {
+                  return !["娓╁崌璇曢獙", "鐑惊鐜�"].includes(ele.inspectionItem);
+                }
+                return true;
+              });
+            //鏍¢獙妫�楠岄」鐨勮姹傚�煎拰瑕佹眰鎻忚堪,浠呭鎵樿姹�
+            const isTrue = this.checkRequiredValueAndRemark(
+              filterProductList,
+              this.isAskOnlyRead
+            );
+            if (!isTrue) {
+              this.errorInspectionItem = true;
+              this.errorInspectionItemList = [
+                ...new Set(this.errorInspectionItemList),
+              ];
+              let newData = [];
+              const h = this.$createElement;
+              for (let i in this.errorInspectionItemList) {
+                const lastChar = this.errorInspectionItemList[i].slice(-1);
+                if (lastChar == "-") {
+                  this.errorInspectionItemList[i] =
+                    this.errorInspectionItemList[i].slice(0, -1);
+                }
+                newData.push(
+                  h(
+                    "p",
+                    { style: "font-size: 14px;color: red;" },
+                    Number(i) + 1 + "銆�" + this.errorInspectionItemList[i]
+                  )
+                );
+              }
+              newData.push(
+                h(
+                  "p",
+                  {
+                    style:
+                      "font-size: 16px;color:#000;margin-top:12px;overflow-y: auto;max-height:80vh",
+                  },
+                  "浠ヤ笂椤圭洰瑕佹眰鎻忚堪涓庤姹傚�间笉鍖归厤锛岀‘瀹氭彁浜わ紵"
+                )
+              );
+              this.$confirm("鎻愮ず", {
+                title: "鎻愮ず",
+                message: h("div", null, newData),
+                confirmButtonText: "纭畾",
+                cancelButtonText: "鍙栨秷",
+                type: "",
+              })
+                .then(() => {
+                  console.log("纭畾");
+                  // console.log('isHaveBushing===', this.totalArr)
+                  let spcialItem = this.totalArr.filter(
+                    (a) =>
+                      a.state == 1 &&
+                      (a.inspectionItem.includes("鏉惧绠�") ||
+                        (a.inspectionItemSubclass &&
+                          a.inspectionItemSubclass.includes("鏉惧绠�")))
+                  );
+                  if (
+                    productListSelected &&
+                    select[2] === "鍏夌紗" &&
+                    isHaveBushing === false &&
+                    spcialItem.length == 0
+                  ) {
+                    this.$message.error("鍏夌紗娓╁害寰幆椤圭洰蹇呴』杩涜鍏夌氦閰嶇疆");
+                    this.$refs.sampleTable.setCurrentRow(
+                      this.currentMethod,
+                      true
+                    );
+                    this.rowClick(this.currentMethod);
+                    this.sampleIds = [this.currentMethod.id];
+                    this.openConfig();
+                    return;
+                  } else if (spcialItem.length > 0 && isHaveBushing === false) {
+                    this.$message.error("鏉惧绠¢」鐩繀椤昏繘琛屽厜绾ら厤缃�");
+                    this.$refs.sampleTable.setCurrentRow(
+                      this.currentMethod,
+                      true
+                    );
+                    this.rowClick(this.currentMethod);
+                    this.sampleIds = [this.currentMethod.id];
+                    // spcialItem.forEach(item=>{
+                    //   this.sampleIds.push(item.id)
+                    // })
+                    this.openConfig();
+                    return;
+                  }
+                  let sampleList = this.HaveJson(this.sampleList);
+                  let projectNum = this.totalArr.filter(
+                    (a) => a.state == 1
+                  ).length;
+                  if (projectNum == 0) {
+                    this.$confirm("妫�楠岄」鐩负绌猴紝鏄惁纭鎻愪氦?", "鎻愮ず", {
+                      confirmButtonText: "纭畾",
+                      cancelButtonText: "鍙栨秷",
+                      type: "warning",
+                    })
+                      .then(() => {
+                        this.saveMethod(sampleList);
+                      })
+                      .catch(() => {});
+                  } else {
+                    let isRTS = this.totalArr.find(
+                      (a) =>
+                        a.ask != null &&
+                        this.symbolList.find((b) => a.ask.includes(b)) &&
+                        a.state == 1
+                    );
+                    if (isRTS && this.PROJECT == "妫�娴嬩腑蹇�") {
+                      this.editTable = this.handleData(
+                        sampleList,
+                        this.containsValue,
+                        0
+                      );
+                      if (this.editTable.length === 0) {
+                        this.$message.error("瑕佹眰鍊间负绌猴紝闇�瑕佸幓鏍囧噯搴撶淮鎶わ紒");
+                        return;
+                      }
+                      // console.log('editTable1===', this.editTable);
+                      this.editTable.forEach((item) => {
+                        item.value = item.modelNum;
+                      });
+                      this.bsm3Dia = true;
+                      return;
+                    }
+                    this.saveMethod(sampleList);
+                  }
+                  this.errorInspectionItemList = [];
+                })
+                .catch(() => {
+                  this.errorInspectionItemList = [];
+                  this.errorInspectionItem = false;
+                  return;
+                });
+              //this.$message.error('妫�楠岄」'+this.errorInspectionItemList+'鐨勮姹傚�间笌瑕佹眰鎻忚堪涓嶅尮閰嶏紝 璇锋鏌�')
+              //return
+            }
+            if (this.errorInspectionItem) {
+              return;
+            }
+            // console.log('isHaveBushing===', this.totalArr)
+            let spcialItem = this.totalArr.filter(
+              (a) =>
+                a.state == 1 &&
+                (a.inspectionItem.includes("鏉惧绠�") ||
+                  (a.inspectionItemSubclass &&
+                    a.inspectionItemSubclass.includes("鏉惧绠�")))
+            );
+            if (
+              productListSelected &&
+              select[2] === "鍏夌紗" &&
+              isHaveBushing === false &&
+              spcialItem.length == 0
+            ) {
+              this.$message.error("鍏夌紗娓╁害寰幆椤圭洰蹇呴』杩涜鍏夌氦閰嶇疆");
+              this.$refs.sampleTable.setCurrentRow(this.currentMethod, true);
+              this.rowClick(this.currentMethod);
+              this.sampleIds = [this.currentMethod.id];
+              this.openConfig();
+              return;
+            } else if (spcialItem.length > 0 && isHaveBushing === false) {
+              this.$message.error("鏉惧绠¢」鐩繀椤昏繘琛屽厜绾ら厤缃�");
+              this.$refs.sampleTable.setCurrentRow(this.currentMethod, true);
+              this.rowClick(this.currentMethod);
+              this.sampleIds = [this.currentMethod.id];
+              // spcialItem.forEach(item=>{
+              //   this.sampleIds.push(item.id)
+              // })
+              this.openConfig();
+              return;
+            }
+            let sampleList = this.HaveJson(this.sampleList);
+            let projectNum = this.totalArr.filter((a) => a.state == 1).length;
+            if (projectNum == 0) {
+              this.$confirm("妫�楠岄」鐩负绌猴紝鏄惁纭鎻愪氦?", "鎻愮ず", {
+                confirmButtonText: "纭畾",
+                cancelButtonText: "鍙栨秷",
+                type: "warning",
+              })
+                .then(() => {
+                  this.saveMethod(sampleList);
+                })
+                .catch(() => {});
+            } else {
+              let isRTS = this.totalArr.find(
+                (a) =>
+                  a.ask != null &&
+                  this.symbolList.find((b) => a.ask.includes(b)) &&
+                  a.state == 1
+              );
+              if (isRTS && this.PROJECT == "妫�娴嬩腑蹇�") {
+                this.editTable = this.handleData(
+                  sampleList,
+                  this.containsValue,
+                  0
+                );
+                if (this.editTable.length === 0) {
+                  this.$message.error("瑕佹眰鍊间负绌猴紝闇�瑕佸幓鏍囧噯搴撶淮鎶わ紒");
+                  return;
+                }
+                // console.log('editTable1===', this.editTable);
+                this.editTable.forEach((item) => {
+                  item.value = item.modelNum;
+                });
+                this.bsm3Dia = true;
+                return;
+              }
+              this.saveMethod(sampleList);
+            }
+          }
+        });
+      }
+    },
+    errorSet() {},
+    /**
+     * 鏍¢獙濮旀墭瑕佹眰鐨勬楠岄」鐨勮姹傛弿杩板拰瑕佹眰鍊�
+     *
+     */
+    checkRequiredValueAndRemark(data, isAskOnlyRead) {
+      let isTrue = true;
+      //杩囨护瑕佹眰鍊兼垨瑕佹眰鎻忚堪涓虹┖鐨勬楠岄」
+      let emptyList = data.filter(
+        (ele) =>
+          ele.ask == undefined ||
+          ele.ask == "" ||
+          ele.ask == null ||
+          ele.tell == undefined ||
+          ele.tell == "" ||
+          ele.tell == null
+      );
+      if (emptyList.length > 0) {
+        emptyList.forEach((ele) => {
+          console.log("ask or tell is null");
+          this.errorInspectionItemList.push(
+            ele.inspectionItem +
+              " " +
+              (ele.inspectionItemSubclass == null
+                ? ""
+                : ele.inspectionItemSubclass)
+          );
+        });
+        isTrue = false;
+      }
+      //濮旀墭瑕佹眰鎵嶈蛋涓嬮潰鐨勬牎楠�
+      if (isAskOnlyRead) {
+        try {
+          data.forEach((ele) => {
+            //瑕佹眰鍊煎拰瑕佹眰鎻忚堪涓嶈兘涓虹┖
+            // if(!ele.ask || !ele.tell){
+            //   console.log(111111);
+            //   this.errorInspectionItemList.push(ele.inspectionItem + ' ' + (ele.inspectionItemSubclass == null ? '' : ele.inspectionItemSubclass))
+            //   //this.errorInspectionItemList.push(h('p', {style: 'font-size: 14px;color: red;'},ele.inspectionItem + ' ' + ele.inspectionItemSubclass))
+            //   //this.errorInspectionItemList.push(h('p',  { style: 'font-size: 16px;color:#000;margin-top:12px;overflow-y: auto;max-height:80vh' },'浠ヤ笂椤圭洰涓嶅悎鏍硷紝纭畾鎻愪氦锛�'))
+            //   isTrue = false
+            // }else{
+            // }
+            if (/[0-9]/.test(ele.ask)) {
+              //鍒ゆ柇锛堚墹,鈮�,>,<,=锛夎繖鍑犵鎯呭喌
+              //鍒ゆ柇瑕佹眰鍊间腑鐨勬暟瀛楁槸鍚﹀寘鍚湪瑕佹眰鎻忚堪涓�
+              //.match(/\d+(\.\d+)?/g) 姝ゆ鍒欐埅鍙栧瓧绗︿腑鐨勬暣鏁板拰灏忔暟
+              if (["鈮�", "鈮�", ">", "<", "="].includes(ele.ask[0])) {
+                const askVal = ele.ask.match(/\d+(\.\d+)?/g);
+                // 鍒ゆ柇瑕佹眰鍊兼槸鍚﹀寘鍚湪瑕佹眰鎻忚堪涓�
+                if (ele.tell.includes(ele.ask[0])) {
+                  const regex = /([鈮も墺<>!=]=?|[<>=])[+-]?\d*(\.\d+)?/g;
+                  const matches = ele.tell.match(regex);
+                  if (
+                    ele.ask != ele.tell &&
+                    matches.filter((item) => item == ele.ask).length == 0
+                  ) {
+                    console.log(
+                      "瑕佹眰鍊煎拰瑕佹眰鎻忚堪涓嶇浉绛�,骞朵笖瑕佹眰鎻忚堪涓笉鍖呭惈瑕佹眰鍊�"
+                    );
+                    this.errorInspectionItemList.push(
+                      ele.inspectionItem +
+                        " " +
+                        (ele.inspectionItemSubclass == null
+                          ? ""
+                          : ele.inspectionItemSubclass)
+                    );
+                    isTrue = false;
+                  }
+                }
+                if (isNaN(askVal[0])) {
+                  console.log("瑕佹眰鍊间腑娌℃湁鏁板瓧");
+                  this.errorInspectionItemList.push(
+                    ele.inspectionItem +
+                      " " +
+                      (ele.inspectionItemSubclass == null
+                        ? ""
+                        : ele.inspectionItemSubclass)
+                  );
+                  isTrue = false;
+                }
+                if (
+                  ele.tell.includes("鐩村緞鍏樊涔嬪崐") &&
+                  ele.ask.indexOf("0.5") < 0
+                ) {
+                  console.log("鐩村緞鍏樊涔嬪崐涓�0.5涓嶅尮閰�");
+                  this.errorInspectionItemList.push(
+                    ele.inspectionItem +
+                      " " +
+                      (ele.inspectionItemSubclass == null
+                        ? ""
+                        : ele.inspectionItemSubclass)
+                  );
+                  isTrue = false;
+                  //   if(ele.tell.indexOf(askVal[0])<0 && ele.tell.indexOf('鍗�')<0){
+                  //   console.log(askVal);
+                  //   console.log(2222233);
+                  //   isTrue = false
+                  // }else if(askVal==0.5&&ele.tell.indexOf('鍗�')<0){
+                  //   console.log(22222);
+                  //   isTrue = false
+                  // }
+                }
+              }
+              //鍒ゆ柇鑼冨洿(10-25),瑕佹眰鍊煎繀椤绘槸-
+              if (
+                ele.ask.indexOf("-") > 0 &&
+                ele.ask.length > 1 &&
+                ele.ask.indexOf("&") < 0
+              ) {
+                //瑕佹眰鎻忚堪鐨剘鍜岃姹傚�肩殑-锛岀瓑鏁�
+                let tell = ele.tell;
+                if (
+                  ele.tell.indexOf("~") > 0 ||
+                  ele.tell.indexOf("锛�") ||
+                  ele.tell.indexOf("锛�")
+                ) {
+                  tell = tell.replace("~", "-");
+                  tell = tell.replace("锛�", "(");
+                  tell = tell.replace("锛�", ")");
+                }
+                const splits = ele.ask.split("-");
+                //婊¤冻鏍煎紡瑕佹眰锛屽苟涓斾袱涓兘鏄暟瀛�
+                if (
+                  splits.length == 2 &&
+                  !isNaN(splits[0]) &&
+                  !isNaN(splits[1])
+                ) {
+                  /**
+                   * 鍒ゆ柇鎯呭喌
+                   * 1.瑕佹眰鎻忚堪涓庤姹傛弿杩扮浉鍚�
+                   * 2.瑕佹眰鎻忚堪鍖呭惈瑕佹眰鍊�
+                   * 3.瑕佹眰鎻忚堪涓�3N-10N杩欑鎯呭喌
+                   * 4.瑕佹眰鎻忚堪涓�10卤5杩欑鎯呭喌
+                   * 5.瑕佹眰鎻忚堪涓�(10-15)卤5杩欑鎯呭喌
+                   */
+                  let min = Math.min(...splits);
+                  let max = Math.max(...splits);
+                  if (min == max) {
+                    console.log("鏈�澶у�煎拰鏈�灏忓�肩浉绛�");
+                    this.errorInspectionItemList.push(
+                      ele.inspectionItem +
+                        " " +
+                        (ele.inspectionItemSubclass == null
+                          ? ""
+                          : ele.inspectionItemSubclass)
+                    );
+                    isTrue = false;
+                  }
+                  //瑕佹眰鎻忚堪涓笉鍖呭惈卤浠ュ強鍖洪棿鐨勬暟瀛楋紝鍒欒繑鍥瀎alse
+                  if (tell.indexOf("卤") < 0 && tell.indexOf("-") < 0) {
+                    console.log("瑕佹眰鎻忚堪涓笉鍖呭惈卤浠ュ強鍖洪棿鐨勬暟瀛�");
+                    this.errorInspectionItemList.push(
+                      ele.inspectionItem +
+                        " " +
+                        (ele.inspectionItemSubclass == null
+                          ? ""
+                          : ele.inspectionItemSubclass)
+                    );
+                    isTrue = false;
+                  } else if (ele.tell.indexOf("-") == 0) {
+                    console.log("瑕佹眰鍊肩殑鍖洪棿鏍煎紡閿欒");
+                    this.errorInspectionItemList.push(
+                      ele.inspectionItem +
+                        " " +
+                        (ele.inspectionItemSubclass == null
+                          ? ""
+                          : ele.inspectionItemSubclass)
+                    );
+                    isTrue = false;
+                  } else if (tell.indexOf("-") > 0 || tell.indexOf("卤") > 0) {
+                    if (tell.indexOf("卤") > 0 && tell.indexOf("-") > 0) {
+                      const num = tell.split("卤")[1];
+                      const startIndex = tell.indexOf("(");
+                      const endIndex = tell.indexOf(")");
+                      ////鏍¢獙瑕佹眰鎻忚堪涓�(10-15)卤5杩欑鍐欐硶鐨勬儏鍐�
+                      if (startIndex > -1 && endIndex > 0) {
+                        const str = tell.substring(startIndex, endIndex);
+                        if (str && str.indexOf("-") > 0) {
+                          let strList = str.split("-");
+                          const minNum = Number(strList[0] - num);
+                          const maxNum = Number(strList[1] + num);
+                          if (minNum > min || maxNum < max) {
+                            console.log("閿欒鐨勫尯闂磋缃�");
+                            this.errorInspectionItemList.push(
+                              ele.inspectionItem +
+                                " " +
+                                (ele.inspectionItemSubclass == null
+                                  ? ""
+                                  : ele.inspectionItemSubclass)
+                            );
+                            isTrue = false;
+                          }
+                        }
+                      }
+                    } else if (tell.indexOf("卤") > 0 && tell.indexOf("-") < 0) {
+                      //鏍¢獙瑕佹眰鎻忚堪涓�10卤5杩欑鍐欐硶鐨勬儏鍐�
+                      let splitNums = tell.split("卤");
+                      if (splitNums.length < 2) {
+                        console.log(777777);
+                        this.errorInspectionItemList.push(
+                          ele.inspectionItem +
+                            " " +
+                            (ele.inspectionItemSubclass == null
+                              ? ""
+                              : ele.inspectionItemSubclass)
+                        );
+                        isTrue = false;
+                      } else {
+                        let leftNum = splitNums[0].match(/\d+(\.\d+)?/g);
+                        let rightNum = splitNums[1].match(/\d+(\.\d+)?/g);
+                        console.log(leftNum, rightNum);
+                        let minTell = Number(
+                          Number(leftNum) - Number(rightNum)
+                        ).toFixed(6);
+                        let maxTell = Number(
+                          Number(leftNum) + Number(rightNum)
+                        ).toFixed(6);
+                        if (minTell != min || maxTell != max) {
+                          console.log(888888);
+                          this.errorInspectionItemList.push(
+                            ele.inspectionItem +
+                              " " +
+                              (ele.inspectionItemSubclass == null
+                                ? ""
+                                : ele.inspectionItemSubclass)
+                          );
+                          isTrue = false;
+                        }
+                      }
+                    } else {
+                      const splitTells = tell.split("-");
+                      if (
+                        splitTells[0].indexOf(min) < 0 ||
+                        splitTells[1].indexOf(max) < 0
+                      ) {
+                        console.log(99999);
+                        this.errorInspectionItemList.push(
+                          ele.inspectionItem +
+                            " " +
+                            (ele.inspectionItemSubclass == null
+                              ? ""
+                              : ele.inspectionItemSubclass)
+                        );
+                        isTrue = false;
+                      }
+                    }
+                  }
+                } else {
+                  console.log(1010101001);
+                  this.errorInspectionItemList.push(
+                    ele.inspectionItem +
+                      " " +
+                      (ele.inspectionItemSubclass == null
+                        ? ""
+                        : ele.inspectionItemSubclass)
+                  );
+                  isTrue = false;
+                }
+              }
+              // else if(ele.ask.indexOf('&')>0 && ele.ask.length>1){
+              //   //鍒ゆ柇
+              // }
+            }
+          });
+        } catch (error) {
+          console.log(error);
+          isTrue = false;
+        }
+      }
+      return isTrue;
+    },
+    save0() {
+      console.log("editTable2===", this.editTable);
+      if (this.editTable.every((m) => m.value)) {
+        let sampleList = this.handleData(
+          this.HaveJson(this.sampleList),
+          this.handleAsk,
+          1
+        );
+        if (sampleList.length === 0) {
+          this.$message.error("瑕佹眰鍊间负绌猴紝闇�瑕佸幓鏍囧噯搴撶淮鎶わ紒");
+          return;
+        }
+        this.saveMethod(sampleList);
+      } else {
+        this.$message.error("璇峰~鍐欒瘑鍒鍊�");
+      }
+    },
+    handleData(sampleList, calBack, type) {
+      let editTable = [];
+      let isTrue = true;
+      sampleList.forEach((item) => {
+        let obj = {
+          sampleCode: item.sampleCode,
+          model: item.model,
+          symbolList: [],
+          sampleId: item.id,
+          modelNum: item.modelNum,
+        };
+        if (item.insProduct && item.insProduct.length > 0) {
+          item.insProduct.forEach((a) => {
+            if (a.state == 1) {
+              if (type == 0) {
+                let str = calBack(a.ask);
+                str &&
+                  obj.symbolList.push({
+                    symbolItem: str,
+                    inspectionItem: a.inspectionItem,
+                  });
+              } else if (type == 1) {
+                let arr = this.HaveJson(
+                  this.editTable.filter((b) => b.sampleId == item.id)
+                );
+                for (var i = 0; i < arr.length; i++) {
+                  if (a.ask) {
+                    if (a.ask.includes(arr[i].symbolItem)) {
+                      let ask = calBack(a.ask, arr[i].symbolItem, arr[i].value);
+                      if (ask) {
+                        a.ask = ask;
+                      }
+                      let tell = this.handleTell(
+                        a.tell,
+                        arr[i].symbolItem,
+                        arr[i].value
+                      );
+                      if (tell) {
+                        a.tell = tell;
+                      }
+                    }
+                  } else {
+                    isTrue = false;
+                  }
+                }
+                // arr.forEach(f => {
+                //   if(a.ask){
+                //     if(a.ask.includes(f.symbolItem)){
+                //       let ask = calBack(a.ask, f.symbolItem,f.value)
+                //       if (ask) {
+                //         a.ask = ask
+                //       }
+                //       let tell = this.handleTell(a.tell, f.symbolItem,f.value)
+                //       if (tell) {
+                //         a.tell = tell
+                //       }
+                //     }
+                //   }else{}
+                // })
+              }
+            }
+          });
+        }
+        // 鍏夌氦甯﹂」鐩�
+        if (item.bushing && item.bushing.length > 0) {
+          item.bushing.forEach((a) => {
+            if (a.fiber && a.fiber.length > 0) {
+              a.fiber.forEach((b) => {
+                if (b.productList && b.productList.length > 0) {
+                  b.productList.forEach((c) => {
+                    if (c.state == 1) {
+                      if (type == 0) {
+                        let str = calBack(c.ask);
+                        str &&
+                          obj.symbolList.push({
+                            symbolItem: str,
+                            inspectionItem: c.inspectionItem,
+                          });
+                      } else if (type == 1) {
+                        let arr = this.editTable.filter(
+                          (b) => b.sampleId == item.id
+                        );
+                        arr.forEach((f) => {
+                          if (c.ask.includes(f.symbolItem)) {
+                            let ask = calBack(c.ask, f.symbolItem, f.value);
+                            if (ask) {
+                              c.ask = ask;
+                            }
+                            let tell = this.handleTell(
+                              c.tell,
+                              f.symbolItem,
+                              f.value
+                            );
+                            if (tell) {
+                              c.tell = tell;
+                            }
+                          }
+                        });
+                      }
+                    }
+                  });
+                }
+              });
+            }
+            if (a.fibers && a.fibers.length > 0) {
+              a.fibers.forEach((b) => {
+                if (b.productList && b.productList.length > 0) {
+                  b.productList.forEach((c) => {
+                    if (c.state == 1) {
+                      if (type == 0) {
+                        let str = calBack(c.ask);
+                        str &&
+                          obj.symbolList.push({
+                            symbolItem: str,
+                            inspectionItem: c.inspectionItem,
+                          });
+                      } else if (type == 1) {
+                        // let ask = calBack(c.ask, c.rts)
+                        // if (ask && c.state == 1) {
+                        //   c.ask = csk
+                        // }
+                        let arr = this.editTable.filter(
+                          (b) => b.sampleId == item.id
+                        );
+                        arr.forEach((f) => {
+                          if (c.ask.includes(f.symbolItem)) {
+                            let ask = calBack(c.ask, f.symbolItem, f.value);
+                            if (ask) {
+                              c.ask = ask;
+                            }
+                            let tell = this.handleTell(
+                              c.tell,
+                              f.symbolItem,
+                              f.value
+                            );
+                            if (tell) {
+                              c.tell = tell;
+                            }
+                          }
+                        });
+                      }
+                    }
+                  });
+                }
+                if (b.fiber && b.fiber.length > 0) {
+                  b.fiber.forEach((c) => {
+                    if (c.productList && c.productList.length > 0) {
+                      c.productList.forEach((d) => {
+                        if (d.state == 1) {
+                          if (type == 0) {
+                            let str = calBack(d.ask);
+                            str &&
+                              obj.symbolList.push({
+                                symbolItem: str,
+                                inspectionItem: d.inspectionItem,
+                              });
+                          } else if (type == 1) {
+                            // let ask = calBack(d.ask, d.rts)
+                            // if (ask && d.state == 1) {
+                            //   d.ask = ask
+                            // }
+                            let arr = this.editTable.filter(
+                              (b) => b.sampleId == item.id
+                            );
+                            arr.forEach((f) => {
+                              if (d.ask.includes(f.symbolItem)) {
+                                let ask = calBack(d.ask, f.symbolItem, f.value);
+                                if (ask) {
+                                  d.ask = ask;
+                                }
+                                let tell = this.handleTell(
+                                  d.tell,
+                                  f.symbolItem,
+                                  f.value
+                                );
+                                if (tell) {
+                                  d.tell = tell;
+                                }
+                              }
+                            });
+                          }
+                        }
+                      });
+                    }
+                  });
+                }
+              });
+            }
+          });
+        }
+        if (type == 0) {
+          editTable.push(obj);
+        }
+      });
+      if (type == 0) {
+        editTable.forEach((a) => {
+          a.symbolList.forEach((b) => {
+            let arr = a.symbolList.filter((c) => c.symbolItem == b.symbolItem);
+            b.inspectionItemList = arr.map((c) => c.inspectionItem).join(",");
+          });
+        });
+        editTable.forEach((a) => {
+          let mySet = new Set();
+          a.symbolList = a.symbolList.filter((b) => {
+            let num0 = mySet.size;
+            mySet.add(b.symbolItem);
+            let num1 = mySet.size;
+            if (num0 != num1) {
+              return true;
+            } else {
+              return false;
+            }
+          });
+        });
+        let editTableNew = [];
+        editTable.forEach((a) => {
+          a.symbolList.forEach((b) => {
+            let obj = {
+              sampleCode: a.sampleCode,
+              model: a.model,
+              symbolItem: b.symbolItem,
+              sampleId: a.sampleId,
+              sampleIdTwo: a.sampleId,
+              value: null,
+              inspectionItemList: b.inspectionItemList,
+              modelNum: a.modelNum,
+            };
+            editTableNew.push(obj);
+          });
+        });
+        return isTrue ? editTableNew : [];
+      } else {
+        return isTrue ? sampleList : [];
+      }
+    },
+    saveMethod(sampleList0) {
+      let sampleList = this.HaveJson(sampleList0);
+      sampleList.forEach((a) => {
+        a.insProduct.forEach((b) => {
+          delete b.bsmRow;
+        });
+      });
+      this.editTable.forEach((item) => {
+        sampleList.forEach((a) => {
+          if (item.sampleIdTwo == a.id) {
+            a.insProduct.forEach((b) => {
+              if (item.inspectionItemList == b.inspectionItem) {
+                b.ask = b.ask.replace(item.symbolItem, item.value);
+                this.$set(b, "specialValue", item.value);
+              }
+            });
+          }
+        });
+      });
+      console.log(this.sampleList);
+      console.log(this.fiberPairing);
+      this.saveLoad = true;
+      this.$axios
+        .post(this.$api.insOrder.addInsOrder, {
+          str: JSON.stringify({
+            insOrder: this.addObj,
+            list: JSON.stringify(
+              sampleList.map((a) => {
+                if (this.PROJECT === "瑁呭鐢电紗") {
+                  if (a.modelNum) {
+                    const index = a.modelNum.indexOf("脳");
+                    if (index === 0) {
+                      a.model = a.model + a.modelNum;
+                    } else if (index === -1) {
+                      a.model = a.model + "-" + a.modelNum;
+                    } else {
+                      a.model = a.modelNum + a.model;
+                    }
+                  } else {
+                    a.model =
+                      a.model +
+                      (a.modelNum == null ||
+                      a.modelNum == "" ||
+                      a.modelNum == "null"
+                        ? ""
+                        : "-" + a.modelNum);
+                  }
+                } else {
+                  a.model =
+                    a.model +
+                    (a.modelNum == null ||
+                    a.modelNum == "" ||
+                    a.modelNum == "null"
+                      ? ""
+                      : "-" + a.modelNum);
+                }
+                a.insProduct = a.insProduct.filter((b) => b.state === 1);
+                return a;
+              })
+            ),
+            pairing: JSON.stringify(this.bsm2Val2),
+            fiberPairing: JSON.stringify(this.fiberPairing),
+          }),
+        })
+        .then((res) => {
+          this.saveLoad = false;
+          if (res.code == 201) return;
+          this.$message.success("宸叉彁浜�");
+          this.bsm3Dia = false;
+          this.$parent.playOrder(0);
+        })
+        .catch((e) => {
+          this.saveLoad = false;
+        });
+    },
+    upInsOrderOfState(state) {
+      if (state == 1) {
+        //this.saveLoad = true
+        this.issuedDialogVisible = true;
+        this.$axios
+          .post(this.$api.insOrder.selectOrderManDay, {
+            id: this.currentId,
+          })
+          .then((ress) => {
+            this.distributeData.orderId = this.currentId;
+            this.distributeData.appointed = ress.data;
+            console.log("绾﹀畾鏃堕棿", this.distributeData.appointed);
+          });
+        setTimeout(() => {
+          this.issuedDialogVisible = true;
+        }, 1000);
+        // this.$axios.post(this.$api.insOrder.upInsOrderOfState, {
+        //   state,
+        //   id: this.currentId,
+        //   companyId:this.addObj.companyId,
+        //   laboratory:this.addObj.laboratory,
+        //   company: this.addObj.company
+        // }, {
+        //   headers: {
+        //     'Content-Type': 'application/json'
+        //   }
+        // }).then(res => {
+        //   this.saveLoad = false
+        //   if (res.code == 201) return
+        //   this.$message.success('鎻愪氦鎴愬姛')
+
+        // this.$parent.multipleSelection = [{id: this.currentId}]
+        // this.$parent.print()
+        // 濡傛灉绱ф�ョ▼搴︿负绱ф�ワ紝闇�瑕佺洿鎺ヤ笅鍙戜汉鍛�
+        // if (this.addObj.type == 2) {
+        // 	this.issuedDialogVisible = true;
+        // 	this.$axios.post(this.$api.insOrder.selectOrderManDay, {
+        // 		id: this.currentId
+        // 	}).then(ress => {
+        // 		this.distributeData.orderId = this.currentId
+        // 		this.distributeData.appointed = ress.data
+        // 	})
+        // } else {
+        // 	this.$parent.playOrder(0)
+        // }
+
+        //   this.$axios.post(this.$api.insOrder.selectOrderManDay, {
+        //     id: this.currentId
+        //   }).then(ress => {
+        //     this.distributeData.orderId = this.currentId
+        //     this.distributeData.appointed = ress.data
+        //   })
+        //   setTimeout(() => {
+        //     this.issuedDialogVisible = true;
+        //   }, 1000)
+        // })
+      } else {
+        // 涓嶉�氳繃
+        this.noDialogVisible = true;
+      }
+    },
+    getLabelPrinting(currentId) {
+      this.$axios
+        .post(this.$api.insOrder.labelPrinting, {
+          ids: currentId,
+        })
+        .then((res) => {
+          //瀹℃牳閫氳繃锛岄粯璁ゅ彧鎵撳嵃绗竴涓牱鍝佹爣绛�
+          let firstSample = res.data[0];
+          let arr1 = [];
+          firstSample.insProduct.forEach((b) => {
+            arr1.push(b.inspectionItem);
+          });
+          firstSample.item = [...new Set(arr1)].join(",");
+          // arr.forEach((a) => {
+          //   let arr1 = [];
+          //   a.insProduct.forEach((b) => {
+          //     arr1.push(b.inspectionItem);
+          //   });
+          //   a.item = [...new Set(arr1)].join(",");
+          // });
+          this.beginPrint(firstSample);
+        });
+    },
+    //寮�濮嬫爣绛炬墦鍗�
+    beginPrint(qrData) {
+      console.log("qrData", qrData);
+      if (qrData == null || qrData.code == null || qrData.code == "") {
+        return;
+      }
+      this.LODOP = getLodop();
+      this.LODOP.SET_LICENSES(
+        "鍗楅�氬競閼槼杞欢寮�鍙戞湁闄愬叕鍙�",
+        "60F8E5078AE17DEB340C94BC7E83CAFF",
+        "",
+        ""
+      );
+      this.LODOP.PRINT_INITA();
+      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(2, "FontSize", 5);
+      this.LODOP.ADD_PRINT_TEXT(5, 117, 280, 18, qrData.sampleCode);
+      this.LODOP.SET_PRINT_STYLEA(3, "FontSize", 5);
+      this.LODOP.ADD_PRINT_TEXT(15, 85, 60, 18, "濮旀墭鍗曞彿锛�");
+      this.LODOP.SET_PRINT_STYLEA(4, "FontSize", 5);
+      this.LODOP.ADD_PRINT_TEXT(15, 117, 280, 18, qrData.code);
+      this.LODOP.SET_PRINT_STYLEA(5, "FontSize", 5);
+      this.LODOP.ADD_PRINT_TEXT(25, 85, 60, 18, "瑙勬牸鍨嬪彿锛�");
+      this.LODOP.SET_PRINT_STYLEA(6, "FontSize", 5);
+      this.LODOP.ADD_PRINT_TEXT(25, 117, 280, 18, qrData.model);
+      this.LODOP.SET_PRINT_STYLEA(7, "FontSize", 5);
+      this.LODOP.ADD_PRINT_TEXT(35, 85, 60, 18, "鏍峰搧鍚嶇О锛�");
+      this.LODOP.SET_PRINT_STYLEA(8, "FontSize", 5);
+      this.LODOP.ADD_PRINT_TEXT(35, 117, 280, 18, qrData.sample);
+      this.LODOP.SET_PRINT_STYLEA(9, "FontSize", 5);
+      this.LODOP.ADD_PRINT_TEXT(45, 85, 60, 20, "妫�娴嬮」鐩細");
+      this.LODOP.SET_PRINT_STYLEA(10, "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(11, "FontSize", 5);
+      this.LODOP.ADD_PRINT_TEXT(67, 85, 60, 18, "鏍峰搧鐘舵�侊細");
+      this.LODOP.SET_PRINT_STYLEA(12, "FontSize", 5);
+      let stateStr = "鈻㈠緟妫� 鈻㈠湪妫� 鈻㈠凡妫�";
+      let leaveStr =
+        qrData.isLeave && qrData.isLeave === 1 ? " 鈻g暀鏍�" : " 鈻㈢暀鏍�";
+      if (qrData.insState == 0) {
+        stateStr = "鈻e緟妫� 鈻㈠湪妫� 鈻㈠凡妫�";
+      } else if (qrData.insState == 1) {
+        stateStr = "鈻㈠緟妫� 鈻e湪妫� 鈻㈠凡妫�";
+      } else if (qrData.insState == 2) {
+        stateStr = "鈻㈠緟妫� 鈻㈠湪妫� 鈻e凡妫�";
+      }
+      this.LODOP.ADD_PRINT_TEXT(67, 117, 280, 18, stateStr + leaveStr);
+      this.LODOP.SET_PRINT_STYLEA(13, "FontSize", 5);
+      this.LODOP.PRINT();
+      // this.LODOP.PREVIEW()
+    },
+    // 涓嬪彂
+    submitForm2() {
+      if (
+        this.distributeData.appointed == null ||
+        this.distributeData.appointed == ""
+      ) {
+        this.$message.error("绾﹀畾鏃堕棿鏈~鍐�");
+        return;
+      }
+      if (
+        this.addObj.type == 2 &&
+        (this.distributeData.userId == null ||
+          this.distributeData.userId.length == 0)
+      ) {
+        this.$message.error("鎸囨淳浜哄憳鏈~鍐�");
+        return;
+      }
+      if (
+        this.distributeData.userId.length > 0 &&
+        (this.distributeData.sonLaboratory == null ||
+          this.distributeData.sonLaboratory == "")
+      ) {
+        this.$message.error("璇曢獙瀹ゆ湭濉啓");
+        return;
+      }
+      // let flag = true;
+      this.$axios
+        .post(
+          this.$api.insOrder.upInsOrderOfState,
+          {
+            state: 1,
+            id: this.currentId,
+            companyId: this.addObj.companyId,
+            laboratory: this.addObj.laboratory,
+            company: this.addObj.company,
+            isCreate: this.distributeData.isCreate,
+          },
+          {
+            headers: {
+              "Content-Type": "application/json",
+            },
+          }
+        )
+        .then((res) => {
+          // flag = false;
+
+          // if (flag) {
+          //   this.$message.error("濮旀墭缂栧彿鐢熸垚澶辫触");
+          //   return;
+          // }
+          this.upLoad = true;
+          this.$axios
+            .post(
+              this.$api.insOrder.upInsOrder,
+              {
+                orderId: this.distributeData.orderId,
+                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.$parent.playOrder(0);
+              //瀹℃牳閫氳繃鍚庯紝鑷姩鎵撳嵃浜岀淮鐮�
+              //TODO: 鐢靛姏璇曢獙瀹ゆ殏鏃朵笉鐢ㄦ爣绛炬墦鍗�
+              if (
+                this.sonLaboratoryList.filter((f) => f.value === "鐢靛姏璇曢獙瀹�")
+                  .length === 0
+              ) {
+                this.$nextTick(() => {
+                  this.getLabelPrinting(this.currentId);
+                });
+              }
+            })
+            .catch((e) => {
+              this.$message.error("鎻愪氦澶辫触");
+              this.upLoad = false;
+            });
+        });
+    },
+    getUserNow() {
+      this.$axios.get(this.$api.user.getUserNow).then((res) => {
+        let selects = res.data;
+        if (selects == null) return;
+        this.addObj.userId = selects.id;
+        this.addObj.company = selects.company;
+        this.addObj.custom = selects.name;
+        this.addObj.code = selects.code;
+        this.addObj.phone = selects.phone;
+        this.addObj.companyId = selects.departId;
+        this.addObj.production = "/";
+        this.addObj.productionEn = "/";
+        if (this.active == 1) {
+          this.selectInsOrderTemplate();
+        }
+      });
+    },
+    getProNum() {
+      this.sampleSelectionList.forEach((m, i) => {
+        Vue.set(
+          this.sampleSelectionList[i],
+          "proNum",
+          m.insProduct.filter((a) => a.state == 1).length
+        );
+      });
+      this.$refs.sampleTable.doLayout();
+    },
+    searchFilter() {
+      this.$refs.tree.filter(this.search);
+    },
+    nodeOpen(data, node, el) {
+      $($(el.$el).find(".node_i")[0]).attr(
+        "class",
+        "node_i el-icon-folder-opened"
+      );
+    },
+    nodeClose(data, node, el) {
+      $($(el.$el).find(".node_i")[0]).attr("class", "node_i el-icon-folder");
+    },
+    handleNodeClick(val, node, el) {
+      this.selectTree = "";
+      this.models = val.children;
+      this.getNodeParent(node);
+      let flag = false;
+      if (node.level == 3) {
+        if (node.data.children.length > 0) {
+          node.data.children.forEach((a) => {
+            let key = Object.keys(a);
+            if (!key.includes("level")) {
+              flag = true;
+            }
+          });
+        }
+      }
+      this.selectTree = this.selectTree.replace(" - ", "");
+      if (flag) {
+        this.selectTree = " -  - " + this.selectTree;
+      }
+      console.log("00000", this.selectTree);
+      let data = this.selectTree.split(" - ");
+      let data2 = "";
+      for (let index = data.length - 1; index >= 0; index--) {
+        data2 += " - " + data[index];
+      }
+      this.selectTree = data2.replace(" - ", "");
+    },
+    getNodeParent(val) {
+      if (val.parent != null) {
+        if (val.data.children === null) {
+          this.selectTree += " - " + val.label + " - " + "";
+        } else {
+          this.selectTree += " - " + val.label;
+        }
+        this.getNodeParent(val.parent);
+      }
+    },
+    selectStandardTreeList() {
+      this.$axios
+        .get(this.$api.standardTree.selectStandardTreeList2)
+        .then((res) => {
+          this.list = res.data;
+          this.list.forEach((a) => {
+            this.expandedKeys.push(a.label);
+          });
+        });
+    },
+    filterNode(value, data) {
+      if (!value) return true;
+      return data.label.indexOf(value) !== -1;
+    },
+    activeStandardTree() {
+      let trees = this.selectTree.split(" - ");
+      if (trees.length < 3) {
+        this.$message.error("鏈�夋嫨瀵硅薄");
+        return;
+      }
+      this.addObj.factory = trees[0];
+      this.addObj.laboratory = trees[1];
+      this.addObj.sampleType = trees[2];
+      if (trees[3] === undefined || trees[3] === "" || trees[3] === "- ") {
+        this.addObj.sample = trees[2];
+      } else {
+        this.addObj.sample = trees[3];
+      }
+      this.addObj.model = trees[4] == undefined ? null : trees[4];
+      this.selectStandardTree = false;
+      this.sampleList = [];
+      for (var i = 0; i < this.addObj.sampleNum; i++) {
+        this.sample.joinName = null;
+        this.sample.joinModel = null;
+        this.sample.joinNum = 1;
+        this.sample.sample = this.addObj.sample;
+        this.sample.model = this.addObj.model;
+        this.sample.unit = this.addObj.unit;
+        this.sample.standardMethodListId = null;
+        this.sample.insProduct = [];
+        this.sample.id = this.count;
+        this.sample.childSampleList = [];
+        this.sample.insulating = null;
+        this.sample.sheath = null;
+        this.sampleList.push(this.HaveJson(this.sample));
+        this.count++;
+      }
+      this.$refs.sampleTable.doLayout();
+      // this.selectsStandardMethodByFLSSM()
+    },
+    selectsStandardMethodByFLSSM() {
+      this.methodLoad = true;
+      this.$axios
+        .post(this.$api.standardTree.selectsStandardMethodByFLSSM, {
+          tree: this.selectTree,
+        })
+        .then((res) => {
+          this.methodLoad = false;
+          try {
+            if (
+              res.data.standardMethodList.length == 0 &&
+              this.selectTree.split("-").length == 5
+            ) {
+              let arr = this.selectTree.split("-");
+              let arr0 = arr.slice(0, arr.length - 1);
+              let selectTree = arr0
+                .join("-")
+                .substring(0, arr0.join("-").length - 1);
+              this.$axios
+                .post(this.$api.standardTree.selectsStandardMethodByFLSSM, {
+                  tree: selectTree,
+                })
+                .then((ress) => {
+                  this.methods = ress.data.standardMethodList;
+                });
+            } else {
+              this.methods = res.data.standardMethodList;
+            }
+          } catch (e) {}
+        });
+    },
+    addStandardTree(currentValue, oldValue) {
+      if (this.selectTree == null) return;
+      //鍑忎竴涓牱鍝�
+      const absNum = Math.abs(currentValue - oldValue);
+      if (absNum == 1) {
+        if (currentValue < oldValue) {
+          this.sampleList.splice(currentValue, 1);
+        } else if (currentValue > oldValue) {
+          //鍔犱竴涓牱鍝�
+          //澶嶅埗绗竴涓牱鍝佷俊鎭�
+          let copySample = this.HaveJson(this.sampleList[0]);
+          copySample.id = parseInt(currentValue);
+          this.sampleList.push(copySample);
+        }
+      } else {
+        //鐩存帴杈撶殑鏁伴噺锛屽惊鐜敓鎴�
+        if (currentValue > oldValue) {
+          const num = currentValue - oldValue;
+          for (let i = 1; i <= num; i++) {
+            //澶嶅埗绗竴涓牱鍝佷俊鎭�
+            let copySample = this.HaveJson(this.sampleList[0]);
+            copySample.id = parseInt(oldValue + i);
+            this.sampleList.push(copySample);
+          }
+        } else if (oldValue > currentValue) {
+          const num = oldValue - currentValue;
+          this.sampleList.splice(currentValue, num);
+        }
+      }
+      // this.sampleList = []
+      // this.productList = []
+      // for (var i = 0; i < this.addObj.sampleNum; i++) {
+      // this.sample.joinName = null
+      // this.sample.joinModel = null
+      // this.sample.joinNum = 1
+      // this.sample.sample = this.addObj.sample
+      // this.sample.model = this.addObj.model
+      // this.sample.unit = this.addObj.unit
+      // this.sample.standardMethodListId = null
+      // this.sample.insProduct = []
+      // this.sample.id = parseInt(i+1)
+      // this.sample.childSampleList = []
+      // this.sample.insulating = null
+      // this.sample.sheath = null
+      // this.sampleList.push(this.HaveJson(this.sample))
+      // this.count++
+      // }
+      this.computationalPairing(this.sampleList.length);
+      this.bsm2Val2 = this.HaveJson(this.bsm2Val3);
+    },
+    selectSample(val) {
+      this.sampleIds = [];
+      val.forEach((a) => {
+        this.sampleIds.push(a.id);
+      });
+      this.sampleSelectionList = val;
+      console.log("selectSample", this.sampleList);
+      console.log("val", val);
+    },
+    delSample() {
+      this.sampleIds.forEach((a) => {
+        for (var i = 0; i < this.sampleList.length; i++) {
+          if (this.sampleList[i].id == a) {
+            this.sampleList.splice(i, 1);
+            i -= 1;
+            break;
+          }
+        }
+      });
+      this.$refs.sampleTable.doLayout();
+    },
+    selectProduct(val) {
+      this.productListSelected = val;
+      this.productIds = [];
+      val.forEach((a) => {
+        this.productIds.push(a.id);
+      });
+      console.log("selectChange", this.sampleList);
+    },
+    rowClick(row, column, event) {
+      this.currentMethod = row;
+      let obj = this.methods.find(
+        (a) => a.id == this.currentMethod.standardMethodListId
+      );
+      if (obj && obj.code == "濮旀墭瑕佹眰") {
+        this.isAskOnlyRead = true;
+      } else {
+        this.isAskOnlyRead = false;
+      }
+      this.sampleId = row.id;
+      if (this.active !== 1) {
+        this.sampleIds = [];
+        this.sampleSelectionList.forEach((ele) => {
+          if (ele.id == row.id) {
+            this.sampleIds.push(row.id);
+          }
+        });
+      }
+      this.productList = row.insProduct;
+      this.productList0 = JSON.parse(JSON.stringify(this.productList));
+      setTimeout(() => {
+        this.productList.forEach((a) => {
+          if (a.state == 1) {
+            this.toggleSelection(a);
+          } else {
+            this.$refs.productTable.toggleRowSelection(a, false);
+          }
+        });
+      }, 200);
+    },
+    toggleSelection(row) {
+      this.$refs.productTable.toggleRowSelection(row, true);
+    },
+    upProductSelect(selection, row) {
+      let list = this.productListSelected.filter(
+        (item) => item.inspectionItem == "鍏夌氦鎺ュご鎹熻��"
+      );
+      if (list.length > 0) {
+        this.fiberLoss = list.map(
+          (item) => item.inspectionItem + "" + item.inspectionItemSubclass
+        );
+      }
+      if (row.inspectionItem == "鍏夌氦鎺ュご鎹熻��") {
+        this.fiberLoss.push(
+          row.inspectionItem + "" + row.inspectionItemSubclass
+        );
+      }
+      let arr1 = [...new Set(this.fiberLoss)];
+      this.bsm1DiaList = [];
+      row.state = row.state == 1 ? 0 : 1;
+      if (row.section === null) {
+        row.section = "";
+      }
+      let arr = this.productList.filter(
+        (m) =>
+          m.state == 1 &&
+          row.section.includes(m.section) &&
+          m.ask &&
+          m.section.indexOf("[") == -1
+      );
+      if (
+        row.bsm === "1" &&
+        row.section !== "" &&
+        row.section !== null &&
+        row.state === 1 &&
+        arr.length == 0
+      ) {
+        if (row.section.indexOf("[") > -1) {
+          row.bsmRow = this.HaveJson(row);
+        }
+        row.bsm1 = true;
+        this.bsm1DiaList.push(row);
+        this.bsm1DiaAll = true;
+      } else if (
+        row.bsm === "1" &&
+        row.section !== "" &&
+        row.section !== null &&
+        row.state === 0 &&
+        arr.length == 0
+      ) {
+        row.bsm1 = false;
+      } else if (arr.length > 0) {
+        try {
+          row.bsmRow = this.HaveJson(row);
+          if (row.section.indexOf("[") > -1) {
+            row.section = arr[0].section;
+            row.bsm1Val = arr[0].section;
+            this.bsm1DiaList.push(row);
+            this.upBsmAll(row);
+          } else {
+            let section = arr[0].section;
+            let arr0 = JSON.parse(row.section);
+            let arr1 = JSON.parse(row.ask);
+            let arr2 = JSON.parse(row.manHour);
+            let arr3 = JSON.parse(row.price);
+            let arr4 = JSON.parse(row.tell);
+            let index = arr0.indexOf(section);
+            row.section = section;
+            row.ask = arr1[index];
+            row.manHour = arr2[index];
+            row.price = arr3[index];
+            row.tell = arr4[index];
+          }
+          // let section = arr[0].section;
+          // let arr0 = JSON.parse(row.section);
+          // let arr1 = JSON.parse(row.ask);
+          // let arr2 = JSON.parse(row.manHour);
+          // let arr3 = JSON.parse(row.price);
+          // let arr4 = JSON.parse(row.tell);
+          // let index = arr0.indexOf(section);
+          // row.section = section;
+          // row.ask = arr1[index];
+          // row.manHour = arr2[index];
+          // row.price = arr3[index];
+          // row.tell = arr4[index];
+        } catch (e) {}
+      }
+      if (
+        row.bsm === "1" &&
+        row.inspectionItem === "鍏夌氦鎺ュご鎹熻��" &&
+        this.sampleList.length > 1 &&
+        row.state === 1 &&
+        !this.isBsm2Val2
+      ) {
+        this.bsm1Dia = arr1.length == 3 ? true : false;
+        this.bsm2 = this.bsm1Dia ? true : false;
+        //this.bsm2 = true;
+        // this.bsm1Dia = true;
+        if (this.bsm2Val2.length === 0) {
+          this.bsm2Val =
+            ((this.sampleList.length - 1) * this.sampleList.length) / 2;
+          this.computationalPairing(this.sampleList.length);
+          this.bsm2Val2 = this.HaveJson(this.bsm2Val3);
+        }
+      } else if (
+        row.bsm === "1" &&
+        row.inspectionItem === "鍏夌氦鎺ュご鎹熻��" &&
+        row.state === 1 &&
+        this.sampleList.length > 1
+      ) {
+        this.bsm2 = false;
+      } else if (
+        row.bsm === "1" &&
+        row.inspectionItem === "鍏夌氦鎺ュご鎹熻��" &&
+        this.sampleList.length < 2
+      ) {
+        this.$message.error("鏍峰搧鏁伴噺涓嶈冻澶熻繘琛岄厤瀵规搷浣�");
+        row.state = row.state == 1 ? 0 : 1;
+        this.$refs.productTable.toggleRowSelection(row, false);
+        return;
+      }
+      /* if (row.ask.includes('D')&&row.state === 1) {
+          this.bsmRow3 = null;
+          row.rts = ''
+          this.bsm3Val = ''
+          this.bsm3Dia = true
+          this.bsmRow3 = row
+        }else{
+          this.bsm3Dia = false
+        } */
+      this.sampleList.map((item) => {
+        if (this.sampleIds.indexOf(item.id) > -1) {
+          item.insProduct.map((m) => {
+            if (m.id == row.id) {
+              m.state = row.state;
+            }
+            return m;
+          });
+        }
+        return item;
+      });
+      const select = this.selectTree.split(" - ");
+      if (
+        row.inspectionItem === "娓╁害寰幆" &&
+        select[2] === "鍏夌紗" &&
+        row.state === 1 &&
+        this.isAskOnlyRead
+      ) {
+        this.circulateShow = true;
+        return;
+      } else if (
+        row.inspectionItem === "娓╁害寰幆" &&
+        select[2] === "鍏夌紗" &&
+        row.state === 0
+      ) {
+        this.circulateShow = false;
+      }
+      if (
+        (row.inspectionItem === "娓╁崌璇曢獙" ||
+          row.inspectionItem === "鐑惊鐜�") &&
+        row.state === 1
+      ) {
+        // console.log('row---', row)
+        this.temperatureTitle = `${row.inspectionItem}瑕佹眰濉啓`;
+        this.isShowInput = row.inspectionItem === "鐑惊鐜�";
+        this.temId = row.id;
+        // this.temperatureShow = true;
+        this.spliceTemperatureTest();
+        return;
+      } else if (
+        (row.inspectionItem === "娓╁崌璇曢獙" ||
+          row.inspectionItem === "鐑惊鐜�") &&
+        row.state === 0
+      ) {
+        this.temperatureShow = false;
+      }
+      if (
+        row.inspectionItem === "鍗曟牴鍨傜洿鐕冪儳" &&
+        select[2] === "鍏夌紗" &&
+        row.state === 1
+      ) {
+        this.singleVerticalCombustionNum++;
+        if (this.singleVerticalCombustionNum > 1) {
+          this.openSingleVerticalCombustionDialog();
+          return;
+        }
+      } else if (
+        row.inspectionItem === "鍗曟牴鍨傜洿鐕冪儳" &&
+        select[2] === "鍏夌紗" &&
+        row.state === 0
+      ) {
+        this.singleVerticalCombustionNum--;
+      }
+      this.changeProductList0();
+      this.currentMethod.insProduct = this.productList0;
+      this.getProNum();
+      console.log("upProductSelect", this.sampleList);
+    },
+    searchProject() {
+      this.$axios
+        .post(this.$api.enums.selectEnumByCategory, {
+          category: "鍏夌氦椤圭洰",
+        })
+        .then((res) => {
+          this.opticalProject = res.data;
+        });
+    },
+    permute(nums) {
+      const result = [];
+
+      function backtrack(temp, nums) {
+        if (temp.length === 2) {
+          result.push([...temp]);
+          return;
+        }
+        for (let i = 0; i < nums.length; i++) {
+          if (temp.includes(nums[i])) continue;
+          // 閬垮厤閲嶅鏁板瓧
+          if (temp.length > 0 && nums[i] < temp[temp.length - 1]) continue; // 瑙勫畾椤哄簭锛岄伩鍏嶉噸澶嶇粍鍚�
+          temp.push(nums[i]);
+          backtrack(temp, nums);
+          temp.pop();
+        }
+      }
+      backtrack([], nums);
+      return result;
+    },
+    computationalPairing(n) {
+      const nums = [];
+      for (let i = 1; i <= n; i++) {
+        nums.push(i);
+      }
+      this.bsm2Val3 = this.HaveJson(this.permute(nums));
+    },
+    tableRowClassName({ row, rowIndex }) {
+      if (row.state === 0) {
+        return "";
+      }
+      return "warning-row";
+    },
+    selectInsOrderTemplate() {
+      this.$axios
+        .get(
+          this.$api.insOrder.selectInsOrderTemplate +
+            "?company=" +
+            this.addObj.company
+        )
+        .then((res) => {
+          if (res.code == 201) return;
+          this.templates = res.data;
+        });
+    },
+    // 鍒犻櫎妯℃澘--璋冪敤鎺ュ彛
+    handleDelete(row) {
+      this.$confirm("鏄惁鍒犻櫎褰撳墠鏁版嵁?", "璀﹀憡", {
+        confirmButtonText: "纭畾",
+        cancelButtonText: "鍙栨秷",
+        type: "warning",
+      })
+        .then(() => {
+          this.$axios
+            .post(this.$api.insOrder.delInsOrderTemplate, {
+              id: row.id,
+            })
+            .then((res) => {
+              if (res.code === 201) {
+                return;
+              }
+              this.$message.success("鍒犻櫎鎴愬姛");
+              this.selectInsOrderTemplate();
+            })
+            .catch((e) => {
+              this.$message.error("鍒犻櫎澶辫触");
+            });
+        })
+        .catch(() => {});
+    },
+    // 淇濆瓨妯℃澘
+    addTemplateDia() {
+      if (this.templateName) {
+        this.templateLoading = true;
+        this.$axios
+          .post(
+            this.$api.insOrder.addInsOrderTemplate,
+            {
+              name: this.templateName,
+              thing: JSON.stringify({
+                addObj: this.addObj,
+                sampleList: this.sampleList,
+                selectTree: this.selectTree,
+              }),
+            },
+            {
+              headers: {
+                "Content-Type": "application/json",
+              },
+            }
+          )
+          .then((res) => {
+            if (res.code == 201) return;
+            this.templateLoading = false;
+            this.templateDia = false;
+            this.$message.success("淇濆瓨鎴愬姛");
+            this.selectInsOrderTemplate();
+            this.templateName = "";
+          });
+      } else {
+        this.$message.error("璇峰~鍐欐ā鏉垮悕绉�");
+      }
+    },
+    // 鏌ヨ妯℃澘
+    selectInsOrderTemplateById(e) {
+      this.$axios
+        .post(this.$api.insOrder.selectInsOrderTemplateById + "?id=" + e)
+        .then((res) => {
+          if (res.code == 201) return;
+          // let obj = JSON.parse(res.data)
+          let obj = res.data;
+          console.log(obj);
+          //鍒跺崟浜鸿缃负褰撳墠鐧诲綍鐢ㄦ埛
+          let user = JSON.parse(localStorage.getItem("user"));
+          obj.addObj.custom = user.name;
+          obj.addObj.userId = user.userId;
+          this.addObj = obj.addObj;
+          this.sampleList = obj.sampleList;
+          this.selectTree = obj.selectTree;
+          //榛樿閫変腑绗竴涓牱鍝�
+          this.$nextTick(() => {
+            if (this.sampleList.length > 0) {
+              this.rowClick(this.sampleList[0]);
+            }
+          });
+        });
+    },
+    delSampleAndProduct() {
+      this.sampleList.splice(scope.$index, 1);
+      this.productList = [];
+    },
+    selectDictForUnit() {
+      getDicts("sys_unit")
+        .then((res) => {
+          if (res.code === 200) {
+            this.units = res.data;
+          }
+        })
+        .catch((error) => {
+          console.error(error);
+        });
+    },
+    //鏌ヨ
+    selectDictForOrderType() {
+      getDicts("check_type1")
+        .then((res) => {
+          if (res.code === 200) {
+            this.orderType = res.data;
+            if (res.data.length > 0) {
+              this.addObj.orderType = res.data[0].dictValue;
+            }
+          }
+        })
+        .catch((error) => {
+          console.error(error);
+        });
+    },
+    selectDictForSampleForm() {
+      getDicts("form_type")
+        .then((res) => {
+          if (res.code === 200) {
+            this.formType = res.data;
+            if (this.formType.length > 0) {
+              this.addObj.formType = this.formType[0].dictValue;
+            }
+          }
+        })
+        .catch((error) => {
+          console.error(error);
+        });
+    },
+    methodChange(val, row) {
+      if (val === null || val === "") return;
+      this.currentMethod = row;
+      let obj = this.methods.find(
+        (a) => a.id == this.currentMethod.standardMethodListId
+      );
+      if (obj && obj.code == "濮旀墭瑕佹眰") {
+        this.isAskOnlyRead = true;
+      } else {
+        this.isAskOnlyRead = false;
+      }
+      this.getProductLoad = true;
+      let selectTreeList = this.selectTree.split(" - ");
+      this.addObj.model &&
+        (selectTreeList[selectTreeList.length - 1] = this.addObj.model);
+      this.$axios
+        .post(
+          this.$api.standardTree.selectStandardProductList,
+          {
+            model:
+              (this.addObj.model ? this.addObj.model : row.model) +
+              "-" +
+              row.modelNum,
+            standardMethodListId: val,
+            factory: selectTreeList.join(" - "),
+          },
+          {
+            headers: {
+              "Content-Type": "application/json",
+            },
+          }
+        )
+        .then((res) => {
+          res.data.forEach((a) => {
+            a.state = 0;
+          });
+          row.insProduct = this.HaveJson(res.data);
+          this.productList = row.insProduct;
+          this.productList0 = JSON.parse(JSON.stringify(this.productList));
+          // this.$refs.sampleTable.setCurrentRow(row)
+          // setTimeout(() => {
+          //   this.productList.forEach(a => {
+          //     if (a.state == 1) this.toggleSelection(a)
+          //   })
+          // }, 200)
+          this.$nextTick(() => {
+            this.methodCount++;
+            this.getProductLoad = false;
+            if (this.sampleSelectionList.length == this.methodCount) {
+              this.standardLoading = false;
+            }
+          });
+        });
+      this.searchProject();
+      this.searchTemList();
+    },
+    //鎵归噺淇敼鏍囧噯鏂规硶
+    batchMethodChange(val, row) {
+      if (val === null || val === "") return;
+      this.currentMethod = row;
+      let obj = this.methods.find(
+        (a) => a.id == this.currentMethod.standardMethodListId
+      );
+      if (obj && obj.code == "濮旀墭瑕佹眰") {
+        this.isAskOnlyRead = true;
+      } else {
+        this.isAskOnlyRead = false;
+      }
+      this.getProductLoad = true;
+      let selectTreeList = this.selectTree.split(" - ");
+      this.addObj.model &&
+        (selectTreeList[selectTreeList.length - 1] = this.addObj.model);
+      this.$axios
+        .post(
+          this.$api.standardTree.selectStandardProductList,
+          {
+            model:
+              (this.addObj.model ? this.addObj.model : row.model) +
+              "-" +
+              row.modelNum,
+            standardMethodListId: val,
+            factory: selectTreeList.join(" - "),
+          },
+          {
+            headers: {
+              "Content-Type": "application/json",
+            },
+          }
+        )
+        .then((res) => {
+          res.data.forEach((a) => {
+            a.state = 0;
+          });
+          row.insProduct = this.HaveJson(res.data);
+          this.productList = row.insProduct;
+          this.productList0 = JSON.parse(JSON.stringify(this.productList));
+          // this.$refs.sampleTable.setCurrentRow(row)
+          // setTimeout(() => {
+          //   this.productList.forEach(a => {
+          //     if (a.state == 1) this.toggleSelection(a)
+          //   })
+          // }, 200)
+          this.$nextTick(() => {
+            this.methodCount++;
+            this.getProductLoad = false;
+            if (this.sampleSelectionList.length == this.methodCount) {
+              this.standardLoading = false;
+            }
+          });
+        });
+      this.searchProject();
+      this.searchTemList();
+    },
+    searchTemList() {
+      this.temperatureList = [];
+      this.$axios
+        .post(this.$api.enums.selectEnumByCategory, {
+          category: "鐢靛姏娓╁害寰幆妫�楠�",
+        })
+        .then((res) => {
+          if (res.data.length > 0) {
+            this.temperatureEngList = res.data;
+            res.data.forEach((item) => {
+              this.temperatureList.push(item.label);
+            });
+          }
+        });
+    },
+    changeModel() {
+      this.sampleList.forEach((a) => {
+        let obj = this.sampleIds.find((b) => b == a.id);
+        if (obj) {
+          a.model = this.model;
+        }
+      });
+    },
+    changeStandardMethodListId() {
+      this.methodCount = 0;
+      this.standardLoading = true;
+      for (let i = 0; i < this.sampleSelectionList.length; i++) {
+        let a = this.sampleSelectionList[i];
+        let obj = this.sampleIds.find((b) => b == a.id);
+        if (obj) {
+          a.standardMethodListId = this.standardMethodListId;
+          this.methodChange(this.standardMethodListId, a);
+        }
+      }
+    },
+    methodFocus() {
+      this.selectsStandardMethodByFLSSM();
+    },
+    handleChangeModel(e) {
+      this.productList = [];
+      let num = this.selectTree.split("-").length;
+      if (num != 5) {
+        this.selectTree = this.selectTree + " - " + e;
+      } else {
+        let arr = this.selectTree.split("-");
+        let arr0 = arr.slice(0, arr.length - 1);
+        this.selectTree = arr0.join("-") + "- " + e;
+      }
+    },
+    // 瑕佹眰鍊煎彉鍖栨椂
+    requestChange(e, row, type) {
+      //this.currentMethod 褰撳墠鏍峰搧id
+      this.sampleList.forEach((item) => {
+        if (item.id == this.currentMethod.id) {
+          item.insProduct.forEach((i) => {
+            if (i.id == row.id) {
+              i[type] = e;
+            }
+          });
+        }
+      });
+      let flag =
+        this.sampleSelectionList.filter((a) => a.id == this.currentMethod.id)
+          .length > 0
+          ? true
+          : false;
+      if (!flag) {
+        return;
+      }
+
+      // this.sampleSelectionList 鍕鹃�夌殑鏍峰搧
+      this.sampleSelectionList.forEach((item) => {
+        // 鍦╰his.sampleList鑾峰彇鍕鹃�夌殑鏍峰搧
+        this.sampleList.forEach((s) => {
+          if (s.id == item.id) {
+            // 閬嶅巻鍕鹃�夌殑鏍峰搧
+            if (s.insProduct.length > 0) {
+              s.insProduct.forEach((a) => {
+                if (a.id == row.id && a.state == 1) {
+                  a[type] = e;
+                }
+                //   if(a.id == row.id && a.state == 1) {
+                //   a[type] = e
+                // }
+              });
+            }
+          }
+        });
+      });
+      // this.sampleList.map(item => {
+      //   if (this.sampleIds.indexOf(item.id) > -1) {
+      //     item.insProduct.map(m => {
+      //       if (m.id == row.id) {
+      //         m[type] = e;
+      //       }
+      //       return m;
+      //     })
+      //   }
+      //   return item
+      // })
+    },
+    selectStandardMethods() {
+      this.$axios
+        .get(this.$api.standardTree.selectStandardMethodEnum)
+        .then((res) => {
+          this.methods = res.data;
+        });
+    },
+    selectable() {
+      if (this.active > 1) {
+        return false;
+      } else {
+        return true;
+      }
+    },
+    handleAll(e) {
+      console.log("e", e);
+      if (e.length > 0) {
+        this.productList.map((m) => {
+          if (e.find((a) => a.id == m.id)) {
+            m.state = 1;
+          }
+          return m;
+        });
+      } else {
+        this.productList.map((m) => {
+          m.state = 0;
+          return m;
+        });
+      }
+      this.bsmRow3 = [];
+      this.bsm1DiaList = [];
+      this.productList.forEach((p) => {
+        if (
+          p.bsm === "1" &&
+          p.section !== "" &&
+          p.section !== null &&
+          p.state === 1
+        ) {
+          if (p.section.indexOf("[") > -1) {
+            p.bsmRow = this.HaveJson(p);
+          }
+          p.bsm1 = true;
+          this.bsm1DiaList.push(p);
+          this.bsm1DiaAll = true;
+        } else if (
+          p.bsm === "1" &&
+          p.section !== "" &&
+          p.section !== null &&
+          p.state === 0
+        ) {
+          p.bsm1 = false;
+        }
+        if (
+          p.bsm === "1" &&
+          p.inspectionItem === "鍏夌氦鎺ュご鎹熻��" &&
+          this.sampleList.length > 1 &&
+          p.state === 1 &&
+          !this.isBsm2Val2
+        ) {
+          this.bsm2 = true;
+          this.bsm1Dia = true;
+          if (this.bsm2Val2.length === 0) {
+            this.bsm2Val =
+              ((this.sampleList.length - 1) * this.sampleList.length) / 2;
+            this.computationalPairing(this.sampleList.length);
+            this.bsm2Val2 = this.HaveJson(this.bsm2Val3);
+          }
+        } else if (
+          p.bsm === "1" &&
+          p.inspectionItem === "鍏夌氦鎺ュご鎹熻��" &&
+          p.state === 1 &&
+          this.sampleList.length > 1
+        ) {
+          this.bsm2 = false;
+        } else if (
+          p.bsm === "1" &&
+          p.inspectionItem === "鍏夌氦鎺ュご鎹熻��" &&
+          this.sampleList.length < 2
+        ) {
+          this.$message.error("鏍峰搧鏁伴噺涓嶈冻澶熻繘琛岄厤瀵规搷浣�");
+          this.$refs.productTable.clearSelection();
+          return;
+        }
+        const select = this.selectTree.split(" - ");
+        if (
+          p.inspectionItem === "娓╁害寰幆" &&
+          select[2] === "鍏夌紗" &&
+          p.state === 1 &&
+          this.isAskOnlyRead
+        ) {
+          this.circulateShow = true;
+          return;
+        } else if (
+          p.inspectionItem === "娓╁害寰幆" &&
+          select[2] === "鍏夌紗" &&
+          p.state === 0
+        ) {
+          this.circulateShow = false;
+        }
+        if (
+          (p.inspectionItem === "娓╁崌璇曢獙" || p.inspectionItem === "鐑惊鐜�") &&
+          p.state === 1
+        ) {
+          // console.log('p---', p)
+          this.temperatureTitle = `${p.inspectionItem}瑕佹眰濉啓`;
+          this.isShowInput = p.inspectionItem === "鐑惊鐜�";
+          this.temId = p.id;
+          this.spliceTemperatureTest();
+          // this.temperatureShow = true;
+          return;
+        } else if (
+          (p.inspectionItem === "娓╁崌璇曢獙" || p.inspectionItem === "鐑惊鐜�") &&
+          p.state === 0
+        ) {
+          this.temperatureShow = false;
+        }
+        if (
+          p.inspectionItem === "鍗曟牴鍨傜洿鐕冪儳" &&
+          select[2] === "鍏夌紗" &&
+          p.state === 1
+        ) {
+          this.singleVerticalCombustionNum++;
+          if (this.singleVerticalCombustionNum > 1) {
+            this.openSingleVerticalCombustionDialog();
+            return;
+          }
+        } else if (
+          p.inspectionItem === "鍗曟牴鍨傜洿鐕冪儳" &&
+          select[2] === "鍏夌紗" &&
+          p.state === 0
+        ) {
+          this.singleVerticalCombustionNum--;
+        }
+        /* if (p.ask.includes('RTS')&&p.state === 1) {
+            p.rts = ''
+            this.bsm3Val = ''
+            this.bsm3 = true
+            this.bsm3Dia = true
+            this.bsmRow3.push(p)
+          } */
+      });
+      if (e.length > 0) {
+        // this.sampleList.map(item => {
+        //   if (item.id === this.currentMethod.id) {
+        //     item.insProduct.map(m => {
+        //       m.state = 1
+        //       return m;
+        //     })
+        //   }
+        // })
+        console.log("aaa-----", this.sampleList);
+        this.sampleList.map((item) => {
+          console.log("this.sampleSelectionList-->", this.sampleSelectionList);
+          this.sampleSelectionList.forEach((ele) => {
+            if (ele.id == item.id) {
+              item.insProduct.map((m) => {
+                m.state = 1;
+                return m;
+              });
+            }
+          });
+        });
+      } else {
+        this.sampleList.map((item) => {
+          if (this.sampleIds.indexOf(item.id) > -1) {
+            item.insProduct.map((m) => {
+              m.state = 0;
+              return m;
+            });
+          }
+          return item;
+        });
+      }
+      this.changeProductList0();
+      this.currentMethod.insProduct = this.productList0;
+      this.getProNum();
+      this.$nextTick(() => {
+        this.$refs.productTable.doLayout();
+      });
+    },
+    submitTell() {
+      if (!this.tell) {
+        this.$message.error("璇疯緭鍏ヤ笉閫氳繃鍘熷洜");
+        return;
+      }
+      this.noLoading = true;
+      this.$axios
+        .post(
+          this.$api.insOrder.upInsOrderOfState,
+          {
+            state: 2,
+            id: this.currentId,
+            tell: this.tell,
+          },
+          {
+            headers: {
+              "Content-Type": "application/json",
+            },
+          }
+        )
+        .then((res) => {
+          this.noLoading = false;
+          this.tell = "";
+          if (res.code == 201) return;
+          this.$message.success("鎻愪氦鎴愬姛");
+          this.issuedDialogVisible = false;
+          this.$parent.playOrder(0);
+        });
+    },
+    selectEnumByCategoryForSonLaboratory() {
+      this.$axios
+        .post(this.$api.enums.selectEnumByCategory, {
+          category: "瀛愬疄楠屽",
+        })
+        .then((res) => {
+          this.factory = [];
+          res.data.forEach((a) => {
+            this.filters.push({
+              text: a.label,
+              value: a.value,
+            });
+          });
+        });
+    },
+    filterHandler(value, row, column) {
+      const property = column["property"];
+      return row[property] === value;
+    },
+    openConfig() {
+      if (this.active === 1) {
+        if (this.sampleIds.length === 0) {
+          this.$message.error("鏈�夋嫨鏍峰搧");
+          return;
+        }
+        this.configShow = true;
+      } else {
+        if (this.sampleId === null) {
+          this.$message.error("鏈�変腑鏍峰搧");
+          return;
+        }
+        this.sampleIds = [this.sampleId];
+        this.$axios
+          .post(this.$api.insBushing.selectBushingBySampleId, {
+            sampleId: this.sampleId,
+          })
+          .then((res) => {
+            if (res.data.length === 0) {
+              this.$message.error("璇ユ牱鍝佹病鏈夐厤缃厜绾�");
+              return;
+            }
+            for (var i in this.sampleList) {
+              if ((this.sampleList[i].id = this.sampleId)) {
+                this.sampleList[i].bushing = res.data;
+                break;
+              }
+            }
+            this.$nextTick(() => {
+              this.configShow = true;
+            });
+          });
+      }
+    },
+    openEquipConfig() {
+      if (this.active === 1) {
+        if (this.sampleIds.length === 0) {
+          this.$message.error("鏈�夋嫨鏍峰搧");
+          return;
+        }
+        this.equipConfigShow = true;
+      } else {
+        if (this.sampleId === null) {
+          this.$message.error("鏈�変腑鏍峰搧");
+          return;
+        }
+        // this.$axios.post(this.$api.insBushing.selectBushingBySampleId, {
+        //   sampleId: this.sampleId
+        // }).then(res => {
+        //   if (res.data.length === 0) {
+        //     this.$message.error('璇ユ牱鍝佹病鏈夐厤缃厜绾�')
+        //     return
+        //   }
+        //   for (var i in this.sampleList) {
+        //     if (this.sampleList[i].id = this.sampleId) {
+        //       this.sampleList[i].bushing = res.data
+        //       break
+        //     }
+        //   }
+        //   this.configShow = true
+        // })
+      }
+    },
+    openCableConfig() {
+      if (this.active === 1) {
+        if (this.sampleIds.length === 0) {
+          this.$message.error("鏈�夋嫨鏍峰搧");
+          return;
+        }
+        this.cableConfigShow = true;
+      } else {
+        if (this.sampleId === null) {
+          this.$message.error("鏈�変腑鏍峰搧");
+          return;
+        }
+        // this.$axios.post(this.$api.insBushing.selectBushingBySampleId, {
+        //   sampleId: this.sampleId
+        // }).then(res => {
+        //   if (res.data.length === 0) {
+        //     this.$message.error('璇ユ牱鍝佹病鏈夐厤缃厜绾�')
+        //     return
+        //   }
+        //   for (var i in this.sampleList) {
+        //     if (this.sampleList[i].id = this.sampleId) {
+        //       this.sampleList[i].bushing = res.data
+        //       break
+        //     }
+        //   }
+        //   this.configShow = true
+        // })
+      }
+    },
+    upBsm1(val) {
+      let sections = JSON.parse(this.bsmRow.section);
+      let asks = JSON.parse(this.bsmRow.ask);
+      let tells = JSON.parse(this.bsmRow.tell);
+      let manHours = JSON.parse(this.bsmRow.manHour);
+      let prices = JSON.parse(this.bsmRow.price);
+      for (var a in sections) {
+        if (val === sections[a]) {
+          this.productList.forEach((p) => {
+            if (p.id === this.bsmRow.id) {
+              p.section = sections[a];
+              p.ask = asks[a];
+              p.tell = tells[a];
+              p.manHour = manHours[a];
+              p.price = prices[a];
+            }
+          });
+          break;
+        }
+      }
+    },
+    upBsmAll(item) {
+      // console.log(1111,item,this.bsm1DiaList)
+      for (let i = 0; i < this.bsm1DiaList.length; i++) {
+        this.bsm1DiaList[i].bsm1Val = item.bsm1Val;
+        let sections = JSON.parse(this.bsm1DiaList[i].bsmRow.section);
+        let asks = JSON.parse(this.bsm1DiaList[i].bsmRow.ask);
+        let tells = JSON.parse(this.bsm1DiaList[i].bsmRow.tell);
+        let manHours = JSON.parse(this.bsm1DiaList[i].bsmRow.manHour);
+        let prices = JSON.parse(this.bsm1DiaList[i].bsmRow.price);
+        for (var a in sections) {
+          console.log(
+            this.bsm1DiaList[i].bsm1Val === sections[a],
+            "====",
+            this.bsm1DiaList[i],
+            "===="
+          );
+          if (this.bsm1DiaList[i].bsm1Val === sections[a]) {
+            this.productList.forEach((p) => {
+              if (p.id === this.bsm1DiaList[i].bsmRow.id) {
+                p.section = sections[a];
+                p.ask = asks[a];
+                p.tell = tells[a];
+                p.manHour = manHours[a];
+                p.price = prices[a];
+              }
+            });
+            this.sampleSelectionList.forEach((item) => {
+              item.insProduct.forEach((p) => {
+                if (p.id === this.bsm1DiaList[i].bsmRow.id) {
+                  p.section = sections[a];
+                  p.ask = asks[a];
+                  p.tell = tells[a];
+                  p.manHour = manHours[a];
+                  p.price = prices[a];
+                }
+              });
+            });
+            break;
+          }
+        }
+      }
+      console.log("tthis.sampleSelectionList", this.sampleSelectionList);
+      console.log("this.sampleList", this.sampleList);
+      console.log("this.productList", this.productList);
+      this.changeProductList0();
+      this.currentMethod.insProduct = this.productList0;
+    },
+    save1() {
+      if (this.bsm1DiaList.length > 0) {
+        this.bsm1DiaList.forEach((item) => {
+          if (!item.bsm1Val) {
+            throw this.$message.error("鐗规畩椤圭洰蹇呴』澶勭悊");
+          }
+        });
+      }
+      if (this.bsm2) {
+        if (this.bsm2Val2.length === 0) {
+          this.$message.error("鐗规畩椤圭洰蹇呴』澶勭悊");
+          return;
+        }
+        console.log("this.bsm2Val2", this.bsm2Val2);
+        let set = new Set();
+        for (let i = 0; i < this.bsm2Val2.length; i++) {
+          let num0 = set.size;
+          set.add(JSON.stringify(this.bsm2Val2[i]));
+          let num1 = set.size;
+          if (num1 == num0) {
+            this.$message.error("鍏宠仈椤圭洰涓嶈兘閲嶅");
+            return;
+          }
+          set.add(JSON.stringify(this.bsm2Val2[i].reverse()));
+          let num2 = set.size;
+          if (num1 == num2) {
+            this.$message.error("鍏宠仈椤圭洰涓嶈兘閲嶅");
+            return;
+          }
+        }
+        this.isBsm2Val2 = true;
+      }
+      this.bsm1DiaAll = false;
+    },
+    save2() {
+      if (this.bsm1DiaList.length > 0) {
+        this.bsm1DiaList.forEach((item) => {
+          if (!item.bsm1Val) {
+            throw this.$message.error("鐗规畩椤圭洰蹇呴』澶勭悊");
+          }
+        });
+      }
+      if (this.bsm2) {
+        if (this.bsm2Val2.length === 0) {
+          this.$message.error("鐗规畩椤圭洰蹇呴』澶勭悊");
+          return;
+        }
+        let set = new Set();
+        for (let i = 0; i < this.bsm2Val2.length; i++) {
+          let num0 = set.size;
+          set.add(JSON.stringify(this.bsm2Val2[i]));
+          let num1 = set.size;
+          if (num1 == num0) {
+            this.$message.error("鍏宠仈椤圭洰涓嶈兘閲嶅");
+            return;
+          }
+          set.add(JSON.stringify(this.bsm2Val2[i].reverse()));
+          let num2 = set.size;
+          if (num1 == num2) {
+            this.$message.error("鍏宠仈椤圭洰涓嶈兘閲嶅");
+            return;
+          }
+        }
+        this.isBsm2Val2 = true;
+      }
+      this.bsm1Dia = false;
+    },
+    beforeClose(done) {
+      // if (this.bsm1) {
+      //   if (this.bsm1Val === null || this.bsm1Val === '') {
+      //     this.$message.error('鐗规畩椤圭洰蹇呴』澶勭悊')
+      //     return
+      //   }
+      // }
+      if (this.bsm1DiaList.length > 0) {
+        this.bsm1DiaList.forEach((item) => {
+          if (!item.bsm1Val) {
+            throw this.$message.error("鐗规畩椤圭洰蹇呴』澶勭悊");
+          }
+        });
+      }
+      if (this.bsm2) {
+        if (this.bsm2Val2.length === 0) {
+          this.$message.error("鐗规畩椤圭洰蹇呴』澶勭悊");
+          return;
+        }
+        let set = new Set();
+        for (let i = 0; i < this.bsm2Val2.length; i++) {
+          let num0 = set.size;
+          set.add(JSON.stringify(this.bsm2Val2[i]));
+          let num1 = set.size;
+          if (num1 == num0) {
+            this.$message.error("鍏宠仈椤圭洰涓嶈兘閲嶅");
+            return;
+          }
+          set.add(JSON.stringify(this.bsm2Val2[i].reverse()));
+          let num2 = set.size;
+          if (num1 == num2) {
+            this.$message.error("鍏宠仈椤圭洰涓嶈兘閲嶅");
+            return;
+          }
+        }
+        this.isBsm2Val2 = true;
+      }
+      // if(this.bsm3){
+      //   if(!this.bsm3Val){
+      //     this.$message.error('RST蹇呴』濉啓')
+      //     return
+      //   }else{
+      //     if(Array.isArray(this.bsmRow3)){
+      //       this.bsmRow3.forEach(item=>{
+      //         item.rts = this.bsm3Val
+      //       })
+      //     }else{
+      //       this.bsmRow3.rts = this.bsm3Val
+      //     }
+      //   }
+      // }
+      done();
+    },
+    beforeClose0(done) {
+      if (!this.bsm3Val) {
+        this.$message.error("RST蹇呴』濉啓");
+        return;
+      } else {
+        if (Array.isArray(this.bsmRow3)) {
+          this.bsmRow3.forEach((item) => {
+            item.rts = this.bsm3Val;
+          });
+        } else {
+          this.bsmRow3.rts = this.bsm3Val;
+        }
+      }
+      done();
+    },
+    getTotal(bushing, flag = true) {
+      this.totalArr = [];
+      this.total = 0;
+      // 灏嗛�変腑鐨勬牱鍝佹坊鍔燽ushing 娌℃湁鍕鹃�夊氨鏄叏閮� 琛ㄦ牸鐩戝惉璋冪敤涓嶈繘琛屽厜绾块厤缃殑璧嬪��
+      if (flag) {
+        if (this.sampleSelectionList.length > 0) {
+          +this.sampleSelectionList.forEach((item) => {
+            this.sampleList.forEach((a) => {
+              if (a.id == item.id) {
+                a.bushing = bushing;
+              }
+            });
+          });
+        } else {
+          this.sampleList.forEach((a) => {
+            a.bushing = bushing;
+          });
+        }
+      }
+      console.log("sampleSelectionList", this.sampleSelectionList);
+      console.log("this.sampleList", this.sampleList);
+      this.sampleList.forEach((item) => {
+        if (item.insProduct && item.insProduct.length > 0) {
+          item.insProduct.forEach((a) => {
+            this.totalArr.push(a);
+          });
+        }
+        if (item.bushing && item.bushing.length > 0) {
+          item.bushing.forEach((a) => {
+            if (a.fiber && a.fiber.length > 0) {
+              a.fiber.forEach((b) => {
+                if (b.productList && b.productList.length > 0) {
+                  b.productList.forEach((c) => {
+                    this.totalArr.push(c);
+                  });
+                }
+              });
+            }
+            if (a.fibers && a.fibers.length > 0) {
+              a.fibers.forEach((b) => {
+                if (b.productList && b.productList.length > 0) {
+                  b.productList.forEach((c) => {
+                    this.totalArr.push(c);
+                  });
+                }
+                if (b.fiber && b.fiber.length > 0) {
+                  b.fiber.forEach((c) => {
+                    if (c.productList && c.productList.length > 0) {
+                      c.productList.forEach((d) => {
+                        this.totalArr.push(d);
+                      });
+                    }
+                  });
+                }
+              });
+            }
+          });
+        }
+      });
+      let mySet = new Set();
+      let arr0 = this.totalArr.filter((item) => {
+        if (item.state == 1) {
+          let num1 = mySet.size;
+          if (item.manHourGroup === "" || !item.manHourGroup) {
+            return true;
+          } else {
+            mySet.add(item.manHourGroup);
+            let num2 = mySet.size;
+            if (num2 > num1) {
+              return true;
+            } else {
+              return false;
+            }
+          }
+        }
+      });
+      arr0.forEach((item) => {
+        this.total += Number(item.price);
+      });
+      let arr1 = this.totalArr.filter((item) => item.state == 1);
+      let mySet0 = new Set();
+      this.sonLaboratoryList = [];
+      arr1.forEach((item) => {
+        let num1 = mySet0.size;
+        mySet0.add(item.sonLaboratory);
+        let num2 = mySet0.size;
+        if (num2 > num1) {
+          this.sonLaboratoryList.push({
+            label: item.sonLaboratory,
+            value: item.sonLaboratory,
+          });
+        }
+      });
+    },
+    bsm2Up(val) {
+      let list = [];
+      for (let a = 1; a < this.bsm2Val3.length + 1; a++) {
+        list.push(a);
+      }
+      let set = new Set();
+      let size1 = set.length;
+      while (set.size < val) {
+        set.add(Math.ceil(Math.random() * this.bsm2Val3.length));
+      }
+      this.bsm2Val2 = [];
+      for (let a of set) {
+        this.bsm2Val2.push(this.HaveJson(this.bsm2Val3[a - 1]));
+      }
+    },
+    changeUser() {
+      if (this.sonLaboratoryList.length > 0) {
+        this.distributeData.sonLaboratory = this.sonLaboratoryList[0].value;
+      }
+    },
+  },
+};
+</script>
+
 <style scoped>
 .ins_order_add {
   width: 100%;
@@ -16,7 +4400,7 @@
 }
 
 .search {
-  width: calc(100% - 40px);
+  height: 100%;
   background-color: #fff;
   padding: 5px 40px 5px 0;
 }
@@ -34,7 +4418,7 @@
 }
 
 .search_input {
-  width: calc(100% - 120px);
+  width: calc(100% - 20px);
 }
 
 .node_i {
@@ -131,12 +4515,16 @@
 .ins_order_add .el-select .is-disabled .el-input__inner {
   background: transparent !important;
 }
+.company_input .el-form-item__content,
+.sample_input .el-form-item__content {
+  width: 72%;
+}
+.engineeringEn_input .el-form-item__content,
+.otcCode_input .el-form-item__content,
+.productionEn_input .el-form-item__content {
+  width: 65%;
+}
+.processing_input .el-form-item__content {
+  width: 60%;
+}
 </style>
-
-<template>
-  <div>add</div>
-</template>
-
-<script>
-export default {};
-</script>
diff --git a/src/views/business/inspectionOrder/fiberoptic-config-two.vue b/src/views/business/inspectionOrder/fiberoptic-config-readonly.vue
similarity index 100%
rename from src/views/business/inspectionOrder/fiberoptic-config-two.vue
rename to src/views/business/inspectionOrder/fiberoptic-config-readonly.vue
diff --git a/src/views/business/inspectionOrder/index.vue b/src/views/business/inspectionOrder/index.vue
index 3014481..7c68b70 100644
--- a/src/views/business/inspectionOrder/index.vue
+++ b/src/views/business/inspectionOrder/index.vue
@@ -14,14 +14,18 @@
           <el-button size="medium" type="primary" @click="print"
             >鏍囩鎵撳嵃</el-button
           >
-          <el-button size="medium" type="primary" @click="playOrder(1)"
+          <el-button
+            size="medium"
+            type="primary"
+            @click="playOrder(1)"
+            v-hasPermi="['business:order:add']"
             >涓嬪崟</el-button
           >
         </el-col>
       </el-row>
     </div>
     <basic-container>
-      <div class="search" :style="`height: ${more ? 130 : 80}px;`">
+      <div class="search" :style="`height: ${more ? 100 : 50}px;`">
         <el-row :gutter="10" style="width: 100%">
           <el-col :span="20" style="display: flex; flex-wrap: wrap">
             <div class="search_thing" style="width: 20%">
@@ -160,7 +164,7 @@
       </div>
     </basic-container>
     <basic-container>
-      <div style="width: 100%; height: 100%" v-show="active == 0">
+      <div v-show="active == 0">
         <div class="table">
           <ul class="tab">
             <li
@@ -828,11 +832,15 @@
 import vueQr from "vue-qr";
 import getLodop from "@/utils/lodop";
 import Add from "./add.vue";
+import { mapGetters } from "vuex";
 export default {
   components: {
     limsTable,
     Add,
     vueQr,
+  },
+  computed: {
+    ...mapGetters(["permissions"]),
   },
   data() {
     return {
@@ -1369,16 +1377,21 @@
   beforeDestroy() {
     window.removeEventListener("resize", this.getTableHeight);
   },
+  watch: {
+    more() {
+      this.getTableHeight();
+    },
+  },
   methods: {
     //鑾峰彇琛ㄦ牸楂樺害
     getTableHeight() {
-      const otherHeight = 400; // 鍏朵綑楂樺害
-      const tableH = 50; // 璺濈椤甸潰涓嬫柟鐨勯珮搴�
-      const tableHeightDetil = window.innerHeight - tableH;
+      const otherHeight = this.more ? 430 : 380; // 鍏朵綑楂樺害
+      const tableBottom = 50; // 璺濈椤甸潰涓嬫柟鐨勯珮搴�
+      const tableHeightDetil = window.innerHeight - tableBottom;
       if (tableHeightDetil <= 300) {
         this.tableHeight = 200;
       } else {
-        this.tableHeight = window.innerHeight - tableH - otherHeight;
+        this.tableHeight = window.innerHeight - tableBottom - otherHeight;
       }
     },
     getDictList() {
@@ -1649,9 +1662,8 @@
         this.personList = res.data;
       });
     },
-    refreshTable(e) {
-      this.$refs["ValueTable"].selectList(e);
-      this.queryCount = 0;
+    refreshTable() {
+      this.getList();
     },
     getTableData(newData) {
       if (newData && newData.length == 1) {
@@ -2204,7 +2216,7 @@
               this.deleteDialogVisible = false;
               this.printLoading = false;
               this.revokeData = [];
-              this.refreshTable("page");
+              this.refreshTable();
               this.$message.success("鎾ら攢鎴愬姛");
             }
           });
@@ -2252,7 +2264,7 @@
             if (res.code === 200) {
               this.printLoading = false;
               this.deleteDialogVisible = false;
-              this.refreshTable("page");
+              this.refreshTable();
               this.$message.success("鏇存柊鎴愬姛");
             }
           });
@@ -2307,7 +2319,7 @@
             if (res.code === 200) {
               this.printLoading = false;
               this.deleteDialogVisible = false;
-              this.refreshTable("page");
+              this.refreshTable();
               this.$message.success("鏇存柊鎴愬姛");
             }
           });
@@ -2391,7 +2403,7 @@
           this.$message.success("淇敼鎴愬姛");
           this.upLoad = false;
           this.issuedDialogVisible = false;
-          this.refreshTable("page");
+          this.refreshTable();
         })
         .catch((e) => {
           this.$message.error("淇敼澶辫触");
@@ -2409,7 +2421,7 @@
             if (res.code === 200) {
               this.upLoad = false;
               this.quashDialogVisible = false;
-              this.refreshTable("page");
+              this.refreshTable();
               this.$message.success("鏇存柊鎴愬姛");
             }
           });
@@ -2420,7 +2432,7 @@
             if (res.code === 200) {
               this.upLoad = false;
               this.quashDialogVisible = false;
-              this.refreshTable("page");
+              this.refreshTable();
               this.$message.success("鏇存柊鎴愬姛");
             }
           });
@@ -2437,9 +2449,13 @@
     },
     // 涓嬪崟
     playOrder(num) {
+      this.$router.push({
+        name: "addOrder",
+        params: {},
+      });
       this.active = num;
       this.examine = 0;
-      this.refreshTable("page");
+      // this.refreshTable();
     },
     handleTab(m, i) {
       this.tabIndex = i;
@@ -2489,9 +2505,6 @@
           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;
@@ -2509,7 +2522,7 @@
 
 .search {
   background-color: #fff;
-  height: 80px;
+  height: 50px;
   display: flex;
   align-items: center;
   overflow: hidden;
@@ -2543,7 +2556,7 @@
 .tab {
   list-style-type: none;
   display: flex;
-  margin-bottom: 12px;
+  /* margin-bottom: 12px; */
   padding-inline-start: 0px;
 }
 

--
Gitblit v1.9.3