From 9a4d054c9dd589cd40e3d9a8a3657281a2c87025 Mon Sep 17 00:00:00 2001
From: zouyu <2723363702@qq.com>
Date: 星期三, 12 三月 2025 19:32:30 +0800
Subject: [PATCH] 完成检验下单接口联调及自测

---
 src/views/business/inspectionOrder/equip-config.vue | 1236 ++++++++++++++++++++++++++++++++++++----------------------
 1 files changed, 758 insertions(+), 478 deletions(-)

diff --git a/src/views/business/inspectionOrder/equip-config.vue b/src/views/business/inspectionOrder/equip-config.vue
index ddf3fbd..33f637c 100644
--- a/src/views/business/inspectionOrder/equip-config.vue
+++ b/src/views/business/inspectionOrder/equip-config.vue
@@ -2,54 +2,152 @@
   <div class="ins_order_config">
     <div>
       <el-row class="title">
-        <el-col :span="6" style="padding-left: 20px;text-align: left;">瀛愭牱鍝侀厤缃�</el-col>
-        <el-col :span="18" style="text-align: right;">
-          <el-button size="medium" type="primary" @click="addChild" v-if="active==1">娣诲姞瀛愭牱鍝�</el-button>
-          <el-button size="medium" type="primary" @click="save" :loading="saveLoad" v-if="active==1">淇� 瀛�</el-button>
+        <el-col :span="6" style="padding-left: 20px; text-align: left"
+          >瀛愭牱鍝侀厤缃�</el-col
+        >
+        <el-col :span="18" style="text-align: right">
+          <el-button
+            size="medium"
+            type="primary"
+            @click="addChild"
+            v-if="active == 1"
+            >娣诲姞瀛愭牱鍝�</el-button
+          >
+          <el-button
+            size="medium"
+            type="primary"
+            @click="save"
+            :loading="saveLoad"
+            v-if="active == 1"
+            >淇� 瀛�</el-button
+          >
           <el-button size="medium" @click="outConfig">
-            <span style="color: #3A7BFA;">杩� 鍥�</span>
+            <span style="color: #3a7bfa">杩� 鍥�</span>
           </el-button>
         </el-col>
       </el-row>
     </div>
     <div class="center">
-      <el-table class="el-table sampleTable" ref="sampleTable" :data="sampleList" height="50%" tooltip-effect="dark"
-        border highlight-current-row @row-click="rowClick" @current-change="selectSample">
-        <!-- <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">
+      <el-table
+        class="el-table sampleTable"
+        ref="sampleTable"
+        :data="sampleList"
+        height="50%"
+        tooltip-effect="dark"
+        border
+        highlight-current-row
+        @row-click="rowClick"
+        @current-change="selectSample"
+      >
+        <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>
+            <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">
+        <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>
+            <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">
+        <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-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)">
+        <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>
+            <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">
+        <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="妫�楠屾爣鍑�" size="small" :loading="methodLoad" @change="(value)=>methodChange(value, scope.row)"
-              @focus="methodFocus" :readonly="active>1" style="width: 100%;">
-              <el-option v-for="item in methods" :key="item.id" :label="item.code" :value="item.id">
+            <el-select
+              v-model="scope.row.standardMethodListId"
+              :disabled="scope.row.model == null || active > 1"
+              placeholder="妫�楠屾爣鍑�"
+              size="small"
+              :loading="methodLoad"
+              @change="(value) => methodChange(value, scope.row)"
+              @focus="methodFocus"
+              :readonly="active > 1"
+              style="width: 100%"
+            >
+              <el-option
+                v-for="item in methods"
+                :key="item.id"
+                :label="item.code"
+                :value="item.id"
+              >
               </el-option>
             </el-select>
           </template>
@@ -58,59 +156,162 @@
         </el-table-column>
         <el-table-column label="鎿嶄綔" width="120">
           <template slot-scope="scope">
-            <el-button @click.native.prevent="deleteRow(scope.$index, sampleList)" type="text"
-              size="small">鍒犻櫎</el-button>
+            <el-button
+              @click.native.prevent="deleteRow(scope.$index, sampleList)"
+              type="text"
+              size="small"
+              >鍒犻櫎</el-button
+            >
           </template>
         </el-table-column>
       </el-table>
-      <el-table class="el-table" ref="productTable" :data="productList" height="50%" tooltip-effect="dark" border
-        @selection-change="selectProduct" style="margin-bottom: 10px;" @select="upProductSelect"
-        :row-class-name="tableRowClassName" v-loading="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></el-table-column>
-        <el-table-column prop="inspectionItemSubclass" label="妫�楠岄」瀛愰」" min-width="140"
-          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-column prop="methodS" label="璇曢獙鏂规硶" min-width="120" show-overflow-tooltip>
+      <el-table
+        class="el-table"
+        ref="productTable"
+        :data="productList"
+        height="50%"
+        tooltip-effect="dark"
+        border
+        @selection-change="selectProduct"
+        style="margin-bottom: 10px"
+        @select="upProductSelect"
+        :row-class-name="tableRowClassName"
+        v-loading="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
+        ></el-table-column>
+        <el-table-column
+          prop="inspectionItemSubclass"
+          label="妫�楠岄」瀛愰」"
+          min-width="140"
+          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-column
+          prop="methodS"
+          label="璇曢獙鏂规硶"
+          min-width="120"
+          show-overflow-tooltip
+        >
         </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="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="ask" label="瑕佹眰鍊�" min-width="220px">
           <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)"
-              v-if="active==1&&isAskOnlyRead"></el-input>
+            <el-input
+              size="small"
+              placeholder="瑕佹眰鍊�"
+              v-model="scope.row.ask"
+              clearable
+              type="textarea"
+              :autosize="{ minRows: 1, maxRows: 3 }"
+              @change="(e) => requestChange(e, scope.row)"
+              v-if="active == 1 && isAskOnlyRead"
+            ></el-input>
             <span v-else>{{ scope.row.ask }}</span>
           </template>
         </el-table-column>
       </el-table>
     </div>
-    <el-dialog title="閫夋嫨瀛愭牱鍝�" :visible.sync="selectStandardTree" width="400px" @closed="addObj.sampleNum = 1">
-      <div class="body" style="height: 60vh;overflow-y: auto;user-select: none;" v-if="selectStandardTree">
-        <el-row style="margin-bottom: 10px;">
+    <el-dialog
+      title="閫夋嫨瀛愭牱鍝�"
+      :visible.sync="selectStandardTree"
+      width="400px"
+      @closed="addObj.sampleNum = 1"
+    >
+      <div
+        class="body"
+        style="height: 60vh; overflow-y: auto; user-select: none"
+        v-if="selectStandardTree"
+      >
+        <el-row style="margin-bottom: 10px">
           <el-col :span="24">
             <label>鏍峰搧鏁伴噺锛�</label>
-            <el-input-number v-model="addObj.sampleNum" :min="1" label="璇疯緭鍏ユ暟閲�" size="small"></el-input-number>
+            <el-input-number
+              v-model="addObj.sampleNum"
+              :min="1"
+              label="璇疯緭鍏ユ暟閲�"
+              size="small"
+            ></el-input-number>
           </el-col>
         </el-row>
         <el-row>
           <el-col :span="24">
-            <el-input placeholder="杈撳叆鍏抽敭瀛楄繘琛屾悳绱�" suffix-icon="el-icon-search" v-model="search" size="small"
-              style="margin-bottom: 5px;" clearable @blur="searchFilter" @clear="searchFilter"
-              @keyup.enter.native="searchFilter"></el-input>
+            <el-input
+              placeholder="杈撳叆鍏抽敭瀛楄繘琛屾悳绱�"
+              suffix-icon="el-icon-search"
+              v-model="search"
+              size="small"
+              style="margin-bottom: 5px"
+              clearable
+              @blur="searchFilter"
+              @clear="searchFilter"
+              @keyup.enter.native="searchFilter"
+            ></el-input>
           </el-col>
         </el-row>
-        <el-tree :data="list" ref="tree" :props="{ children: 'children', label: 'label' }" node-key="label"
-          :filter-node-method="filterNode" @node-click="handleNodeClick" highlight-current @node-expand="nodeOpen"
-          @node-collapse="nodeClose" :default-expanded-keys="expandedKeys" @dblclick.native="activeStandardTree">
+        <el-tree
+          :data="list"
+          ref="tree"
+          :props="{ children: 'children', label: 'label' }"
+          node-key="label"
+          :filter-node-method="filterNode"
+          @node-click="handleNodeClick"
+          highlight-current
+          @node-expand="nodeOpen"
+          @node-collapse="nodeClose"
+          :default-expanded-keys="expandedKeys"
+          @dblclick.native="activeStandardTree"
+        >
           <div class="custom-tree-node" slot-scope="{ node, data }">
             <el-row>
               <el-col :span="24">
-                <span><i
-                    :class="`node_i ${data.children != undefined ? (data.code==='[1]'?'el-icon-folder-opened':'el-icon-folder') : 'el-icon-tickets'}`"></i>
-                  {{ data.code }} {{ data.label }}</span>
+                <span
+                  ><i
+                    :class="`node_i ${
+                      data.children != undefined
+                        ? data.code === '[1]'
+                          ? 'el-icon-folder-opened'
+                          : 'el-icon-folder'
+                        : 'el-icon-tickets'
+                    }`"
+                  ></i>
+                  {{ data.code }} {{ data.label }}</span
+                >
               </el-col>
             </el-row>
           </div>
@@ -121,24 +322,42 @@
         <el-button type="primary" @click="activeStandardTree">纭� 瀹�</el-button>
       </span>
     </el-dialog>
-    <el-dialog title="妫�娴嬪埌鐗规畩椤癸紝璇蜂綔鍑轰互涓嬮�夋嫨" :visible.sync="bsm1Dia" width="500px" :show-close="false"
-      :before-close="beforeClose">
-      <div class="body" style="max-height: 60vh;">
+    <el-dialog
+      title="妫�娴嬪埌鐗规畩椤癸紝璇蜂綔鍑轰互涓嬮�夋嫨"
+      :visible.sync="bsm1Dia"
+      width="500px"
+      :show-close="false"
+      :before-close="beforeClose"
+    >
+      <div class="body" style="max-height: 60vh">
         <el-row v-if="bsm1">
           <el-col class="search_thing" :span="22">
-            <div class="search_label"><span class="required-span">* </span>鎶ゅ瀵嗗害锛�</div>
+            <div class="search_label">
+              <span class="required-span">* </span>鎶ゅ瀵嗗害锛�
+            </div>
             <div class="search_input">
               <el-radio-group v-model="bsm1Val" @input="upBsm1">
-                <el-radio v-for="(a, ai) in JSON.parse(bsmRow.section)" :key="ai" :label="a"></el-radio>
+                <el-radio
+                  v-for="(a, ai) in JSON.parse(bsmRow.section)"
+                  :key="ai"
+                  :label="a"
+                ></el-radio>
               </el-radio-group>
             </div>
           </el-col>
           <el-col class="search_thing" :span="22">
             <div class="search_label">瑕佹眰鍊硷細</div>
-            <div class="search_input" v-show="bsm1Val!==null&&bsm1Val!==''">
+            <div
+              class="search_input"
+              v-show="bsm1Val !== null && bsm1Val !== ''"
+            >
               <el-radio-group v-model="bsm1Val" @input="upBsm1">
-                <el-radio v-for="(a, ai) in JSON.parse(bsmRow.section)" :key="ai"
-                  :label="a">{{JSON.parse(bsmRow.ask)[ai]}}</el-radio>
+                <el-radio
+                  v-for="(a, ai) in JSON.parse(bsmRow.section)"
+                  :key="ai"
+                  :label="a"
+                  >{{ JSON.parse(bsmRow.ask)[ai] }}</el-radio
+                >
               </el-radio-group>
             </div>
           </el-col>
@@ -149,443 +368,504 @@
 </template>
 
 <script>
-  export default {
-    props: {
-      active: {
-        type: Number,
-        default: () => 0
-      },
+import {
+  getStandTreeBySampleType,
+  selectStandardTreeList2,
+  selectStandardMethodEnum,
+  selectsStandardMethodByFLSSM,
+  selectStandardProductList,
+} from "@/api/standard/standardLibrary";
+export default {
+  props: {
+    active: {
+      type: Number,
+      default: () => 0,
     },
-    data() {
-      return {
-        saveLoad: false,
-        sampleList: [],
-        productList: [],
-        getProductLoad: false,
-        filters: [],
-        sampleIds: [],
-        isAskOnlyRead: false,
-        selectStandardTree: false,
-        search: '',
-        expandedKeys: [],
-        addObj: {
-          sampleNum: 1,
-        },
-        selectTree: null,
-        models: [],
-        sample: {
-          sampleCode: null,
-          laboratory: null,
-          factory: null,
-          sampleType: null,
-          sample: null,
-          model: null,
-          modelNum: null,
-          sampleNum: 1,
-          isLeave: 0,
-          unit: null
-        },
-        currentMethod: null,
-        methods: [],
-        methodLoad: false,
-        sampleId: null,
-        bsmRow: null,
-        bsm1: false,
-        bsm1Val: null,
-        bsm1Dia: false,
-        list: [],
-        parentSample: []
+  },
+  data() {
+    return {
+      saveLoad: false,
+      sampleList: [],
+      productList: [],
+      getProductLoad: false,
+      filters: [],
+      sampleIds: [],
+      isAskOnlyRead: false,
+      selectStandardTree: false,
+      search: "",
+      expandedKeys: [],
+      addObj: {
+        sampleNum: 1,
+      },
+      selectTree: null,
+      models: [],
+      sample: {
+        sampleCode: null,
+        laboratory: null,
+        factory: null,
+        sampleType: null,
+        sample: null,
+        model: null,
+        modelNum: null,
+        sampleNum: 1,
+        isLeave: 0,
+        unit: null,
+      },
+      currentMethod: null,
+      methods: [],
+      methodLoad: false,
+      sampleId: null,
+      bsmRow: null,
+      bsm1: false,
+      bsm1Val: null,
+      bsm1Dia: false,
+      list: [],
+      parentSample: [],
+    };
+  },
+  mounted() {
+    this.selectStandardTreeList();
+    this.selectStandardMethods();
+    this.$parent.sampleIds.forEach((a) => {
+      for (var i = 0; i < this.$parent.sampleList.length; i++) {
+        if (this.$parent.sampleList[i].id == a) {
+          this.sampleList = this.$parent.sampleList[i].childSampleList;
+          this.parentSample.push(this.$parent.sampleList[i]);
+          break;
+        }
+      }
+    });
+  },
+  methods: {
+    selectStandardTreeList() {
+      selectStandardTreeList()
+        .then((res) => {
+          if (res.code === 200) {
+            this.list = res.data;
+            this.list.forEach((a) => {
+              this.expandedKeys.push(a.label);
+            });
+          }
+        })
+        .catch((error) => {
+          console.error(error);
+        });
+    },
+    save() {
+      if (this.sampleList.length === 0) {
+        this.$message.error("缂哄皯閰嶇疆鏃犳硶淇濆瓨");
+        return;
+      }
+      this.parentSample.forEach((a) => {
+        a.childSampleList = this.sampleList;
+      });
+      this.$message.success("宸蹭繚瀛�");
+    },
+    deleteRow(index, rows) {
+      this.productList = [];
+      rows.splice(index, 1);
+    },
+    outConfig() {
+      this.$parent.equipConfigShow = false;
+    },
+    addChild() {
+      this.selectStandardTree = true;
+    },
+    selectSample(val) {
+      if (val === null) return;
+      this.sampleIds = [val.id];
+    },
+    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.sampleIds.push(row.id);
+      }
+      this.productList = row.insProduct;
+      setTimeout(() => {
+        this.productList.forEach((a) => {
+          if (a.state == 1) this.toggleSelection(a);
+        });
+      }, 200);
+    },
+    toggleSelection(row) {
+      this.$refs.productTable.toggleRowSelection(row, true);
+    },
+    selectable() {
+      if (this.active > 1) {
+        return false;
+      } else {
+        return true;
       }
     },
-    mounted() {
-      this.selectStandardTreeList()
-      this.selectStandardMethods()
-      this.$parent.sampleIds.forEach(a => {
-        for (var i = 0; i < this.$parent.sampleList.length; i++) {
-          if (this.$parent.sampleList[i].id == a) {
-            this.sampleList = this.$parent.sampleList[i].childSampleList
-            this.parentSample.push(this.$parent.sampleList[i])
-            break
-          }
-        }
-      })
+    handleChangeModel(e) {
+      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;
+      }
     },
-    methods: {
-      selectStandardTreeList() {
-        this.$axios.get(this.$api.standardTree.selectStandardTreeList).then(res => {
-          this.list = res.data
-          this.list.forEach(a => {
-            this.expandedKeys.push(a.label)
-          })
-        })
-      },
-      save() {
-        if (this.sampleList.length === 0) {
-          this.$message.error('缂哄皯閰嶇疆鏃犳硶淇濆瓨')
-          return
-        }
-        this.parentSample.forEach(a => {
-          a.childSampleList = this.sampleList
-        })
-        this.$message.success('宸蹭繚瀛�')
-      },
-      deleteRow(index, rows) {
-        this.productList = []
-        rows.splice(index, 1);
-      },
-      outConfig() {
-        this.$parent.equipConfigShow = false
-      },
-      addChild() {
-        this.selectStandardTree = true
-      },
-      selectSample(val) {
-        if (val === null) return
-        this.sampleIds = [val.id]
-      },
-      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.sampleIds.push(row.id)
-        }
-        this.productList = row.insProduct
-        setTimeout(() => {
-          this.productList.forEach(a => {
-            if (a.state == 1) this.toggleSelection(a)
-          })
-        }, 200)
-      },
-      toggleSelection(row) {
-        this.$refs.productTable.toggleRowSelection(row, true);
-      },
-      selectable() {
-        if (this.active > 1) {
-          return false
-        } else {
-          return true
-        }
-      },
-      handleChangeModel(e) {
-        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
-        }
-      },
-      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
-        this.$axios.post(this.$api.standardTree.selectStandardProductList, {
-          model: row.model + '-' + row.modelNum,
-          standardMethodListId: val,
-          factory: this.selectTree,
-        }, {
-          headers: {
-            'Content-Type': 'application/json'
+    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;
+      selectStandardProductList({
+        model: row.model + "-" + row.modelNum,
+        standardMethodListId: val,
+        factory: this.selectTree,
+      })
+        .then((res) => {
+          if (res.code === 200) {
+            res.data.forEach((a) => {
+              a.state = 0;
+            });
+            row.insProduct = this.HaveJson(res.data);
+            this.getProductLoad = false;
+            this.productList = row.insProduct;
+            this.$refs.sampleTable.setCurrentRow(row);
+            setTimeout(() => {
+              this.productList.forEach((a) => {
+                if (a.state == 1) this.toggleSelection(a);
+              });
+            }, 200);
           }
-        }).then(res => {
-          res.data.forEach(a => {
-            a.state = 0
-          })
-          row.insProduct = this.HaveJson(res.data)
-          this.getProductLoad = false
-          this.productList = row.insProduct
-          this.$refs.sampleTable.setCurrentRow(row)
-          setTimeout(() => {
-            this.productList.forEach(a => {
-              if (a.state == 1) this.toggleSelection(a)
-            })
-          }, 200)
         })
-      },
-      methodFocus() {
-        this.selectsStandardMethodByFLSSM()
-      },
-      selectStandardMethods() {
-        this.$axios.get(this.$api.standardTree.selectStandardMethodEnum).then(res => {
-          this.methods = res.data
+        .catch((error) => {
+          console.error(error);
+        });
+    },
+    methodFocus() {
+      this.selectsStandardMethodByFLSSM();
+    },
+    selectStandardMethods() {
+      selectStandardMethodEnum()
+        .then((res) => {
+          if (res.code === 200) {
+            this.methods = res.data;
+          }
         })
-      },
-      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((error) => {
+          console.error(error);
+        });
+    },
+    selectsStandardMethodByFLSSM() {
+      this.methodLoad = true;
+      selectsStandardMethodByFLSSM({
+        tree: this.selectTree,
+      })
+        .then((res) => {
+          if (res.code === 200) {
+            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);
+                selectsStandardMethodByFLSSM({
+                  tree: selectTree,
+                })
+                  .then((res) => {
+                    if (res.code === 200) {
+                      this.methods = res.data.standardMethodList;
+                    }
+                  })
+                  .catch((error) => {
+                    console.error(error);
+                  });
+              } else {
+                this.methods = res.data.standardMethodList;
+              }
+            } catch (e) {}
+          }
+        })
+        .catch((error) => {
+          console.error(error);
+        });
+    },
+    selectProduct(val) {
+      this.productIds = [];
+      val.forEach((a) => {
+        this.productIds.push(a.id);
+      });
+    },
+    upProductSelect(selection, row) {
+      row.state = row.state == 1 ? 0 : 1;
+      if (
+        row.bsm === "1" &&
+        row.section !== "" &&
+        row.section !== null &&
+        row.state === 1
+      ) {
+        if (row.section.indexOf("[") > -1) {
+          this.bsmRow = this.HaveJson(row);
+        }
+        this.bsm1 = true;
+        this.bsm1Dia = true;
+      } else if (
+        row.bsm === "1" &&
+        row.section !== "" &&
+        row.section !== null &&
+        row.state === 0
+      ) {
+        this.bsm1 = 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;
             }
-          } catch (e) {}
-        })
-      },
-      selectProduct(val) {
-        this.productIds = []
-        val.forEach(a => {
-          this.productIds.push(a.id)
-        })
-      },
-      upProductSelect(selection, row) {
-        row.state = row.state == 1 ? 0 : 1
-        if (row.bsm === '1' && row.section !== '' && row.section !== null && row.state === 1) {
-          if (row.section.indexOf('[') > -1) {
-            this.bsmRow = this.HaveJson(row)
-          }
-          this.bsm1 = true
-          this.bsm1Dia = true
-        } else if (row.bsm === '1' && row.section !== '' && row.section !== null && row.state === 0) {
-          this.bsm1 = false
+            return m;
+          });
         }
-        this.sampleList.map(item => {
+        return item;
+      });
+    },
+    tableRowClassName({ row, rowIndex }) {
+      if (row.state === 0) {
+        return "warning-row";
+      }
+      return "";
+    },
+    handleAll(e) {
+      if (e.length > 0) {
+        this.productList.map((m) => {
+          m.state = 1;
+          return m;
+        });
+      } else {
+        this.productList.map((m) => {
+          m.state = 0;
+          return m;
+        });
+      }
+      this.productList.forEach((p) => {
+        if (
+          p.bsm === "1" &&
+          p.section !== "" &&
+          p.section !== null &&
+          p.state === 1
+        ) {
+          if (p.section.indexOf("[") > -1) {
+            this.bsmRow = this.HaveJson(p);
+          }
+          this.bsm1 = true;
+          this.bsm1Dia = true;
+        } else if (
+          p.bsm === "1" &&
+          p.section !== "" &&
+          p.section !== null &&
+          p.state === 0
+        ) {
+          this.bsm1 = false;
+        }
+      });
+      if (e.length > 0) {
+        this.sampleList.map((item) => {
           if (this.sampleIds.indexOf(item.id) > -1) {
-            item.insProduct.map(m => {
-              if (m.id == row.id) {
-                m.state = row.state;
-              }
+            item.insProduct.map((m) => {
+              m.state = 1;
               return m;
-            })
+            });
           }
-          return item
-        })
-      },
-      tableRowClassName({
-        row,
-        rowIndex
-      }) {
-        if (row.state === 0) {
-          return 'warning-row';
-        }
-        return '';
-      },
-      handleAll(e) {
-        if (e.length > 0) {
-          this.productList.map(m => {
-            m.state = 1
-            return m
-          })
-        } else {
-          this.productList.map(m => {
-            m.state = 0
-            return m
-          })
-        }
-        this.productList.forEach(p => {
-          if (p.bsm === '1' && p.section !== '' && p.section !== null && p.state === 1) {
-            if (p.section.indexOf('[') > -1) {
-              this.bsmRow = this.HaveJson(p)
-            }
-            this.bsm1 = true
-            this.bsm1Dia = true
-          } else if (p.bsm === '1' && p.section !== '' && p.section !== null && p.state === 0) {
-            this.bsm1 = false
-          }
-        })
-        if (e.length > 0) {
-          this.sampleList.map(item => {
-            if (this.sampleIds.indexOf(item.id) > -1) {
-              item.insProduct.map(m => {
-                m.state = 1
-                return m;
-              })
-            }
-            return item
-          })
-        } else {
-          this.sampleList.map(item => {
-            if (this.sampleIds.indexOf(item.id) > -1) {
-              item.insProduct.map(m => {
-                m.state = 0
-                return m;
-              })
-            }
-            return item
-          })
-        }
-        this.$nextTick(() => {
-          this.$refs.productTable.doLayout()
-        })
-      },
-      filterHandler(value, row, column) {
-        const property = column['property'];
-        return row[property] === value;
-      },
-      requestChange(e, row) {
-        this.sampleList.map(item => {
+          return item;
+        });
+      } else {
+        this.sampleList.map((item) => {
           if (this.sampleIds.indexOf(item.id) > -1) {
-            item.insProduct.map(m => {
-              if (m.id == row.id) {
-                m.ask = e;
-              }
+            item.insProduct.map((m) => {
+              m.state = 0;
               return m;
-            })
+            });
           }
-          return item
-        })
-      },
-      activeStandardTree() {
-        let trees = this.selectTree.split(" - ")
-        if (trees.length < 4) {
-          this.$message.error('鏈�夋嫨瀛愪骇鍝�')
-          return
+          return item;
+        });
+      }
+      this.$nextTick(() => {
+        this.$refs.productTable.doLayout();
+      });
+    },
+    filterHandler(value, row, column) {
+      const property = column["property"];
+      return row[property] === value;
+    },
+    requestChange(e, row) {
+      this.sampleList.map((item) => {
+        if (this.sampleIds.indexOf(item.id) > -1) {
+          item.insProduct.map((m) => {
+            if (m.id == row.id) {
+              m.ask = e;
+            }
+            return m;
+          });
         }
-        this.addObj.factory = trees[0]
-        this.addObj.laboratory = trees[1]
-        this.addObj.sampleType = trees[2]
-        if(trees[3]===''){
-          this.addObj.sample = (trees[4] == undefined ? null : trees[4])
-        }else if(trees[3]===undefined){
-          this.addObj.sample = trees[2]
-        }else{
-          this.addObj.sample = trees[3]
+        return item;
+      });
+    },
+    activeStandardTree() {
+      let trees = this.selectTree.split(" - ");
+      if (trees.length < 4) {
+        this.$message.error("鏈�夋嫨瀛愪骇鍝�");
+        return;
+      }
+      this.addObj.factory = trees[0];
+      this.addObj.laboratory = trees[1];
+      this.addObj.sampleType = trees[2];
+      if (trees[3] === "") {
+        this.addObj.sample = trees[4] == undefined ? null : trees[4];
+      } else if (trees[3] === undefined) {
+        this.addObj.sample = trees[2];
+      } else {
+        this.addObj.sample = trees[3];
+      }
+      this.addObj.model = trees[4] == undefined ? null : trees[4];
+      this.selectStandardTree = false;
+      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.num = this.addObj.sampleNum;
+      this.sampleList.push(this.HaveJson(this.sample));
+      this.count++;
+      this.$refs.sampleTable.doLayout();
+    },
+    searchFilter() {
+      this.$refs.tree.filter(this.search);
+    },
+    filterNode(value, data) {
+      if (!value) return true;
+      return data.label.indexOf(value) !== -1;
+    },
+    handleNodeClick(val, node, el) {
+      this.selectTree = "";
+      this.models = val.children;
+      this.getNodeParent(node);
+      this.selectTree = this.selectTree.replace(" - ", "");
+      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.addObj.model = (trees[4] == undefined ? null : trees[4])
-        this.selectStandardTree = false
-        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.num = this.addObj.sampleNum
-        this.sampleList.push(this.HaveJson(this.sample))
-        this.count++
-        this.$refs.sampleTable.doLayout()
-      },
-      searchFilter() {
-        this.$refs.tree.filter(this.search)
-      },
-      filterNode(value, data) {
-        if (!value) return true;
-        return data.label.indexOf(value) !== -1;
-      },
-      handleNodeClick(val, node, el) {
-        this.selectTree = ''
-        this.models = val.children
-        this.getNodeParent(node)
-        this.selectTree = this.selectTree.replace(' - ', '')
-        let data = this.selectTree.split(' - ')
-        let data2 = ''
-        for (let index = data.length - 1; index >= 0; index--) {
-          data2 += " - " + data[index]
+        this.getNodeParent(val.parent);
+      }
+    },
+    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");
+    },
+    beforeClose(done) {
+      if (this.bsm1) {
+        if (this.bsm1Val === null || this.bsm1Val === "") {
+          this.$message.error("鐗规畩椤圭洰蹇呴』澶勭悊");
+          return;
         }
-        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)
+      }
+      done();
+    },
+    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;
         }
-      },
-      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')
-      },
-      beforeClose(done) {
-        if (this.bsm1) {
-          if (this.bsm1Val === null || this.bsm1Val === '') {
-            this.$message.error('鐗规畩椤圭洰蹇呴』澶勭悊')
-            return
-          }
-        }
-        done()
-      },
-      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
-          }
-        }
-      },
-    }
-  }
+      }
+    },
+  },
+};
 </script>
 <style scoped>
-  .ins_order_config {
-    width: 100%;
-    height: 100%;
-    overflow-y: auto;
-    overflow-x: hidden;
-  }
+.ins_order_config {
+  width: 100%;
+  height: 100%;
+  overflow-y: auto;
+  overflow-x: hidden;
+}
 
-  .ins_order_config::-webkit-scrollbar {
-    width: 0;
-  }
+.ins_order_config::-webkit-scrollbar {
+  width: 0;
+}
 
-  .title {
-    height: 60px;
-    line-height: 60px;
-  }
+.title {
+  height: 60px;
+  line-height: 60px;
+}
 
-  .center {
-    width: 100%;
-    height: calc(100% - 60px);
-  }
+.center {
+  width: 100%;
+  height: calc(100% - 60px);
+}
 
+>>> .all-disabled .el-checkbox__input .el-checkbox__inner {
+  background-color: #edf2fc;
+  border-color: #dcdfe6;
+  cursor: not-allowed;
+}
 
-  >>>.all-disabled .el-checkbox__input .el-checkbox__inner {
-    background-color: #edf2fc;
-    border-color: #dcdfe6;
-    cursor: not-allowed;
-  }
+.node_i {
+  color: orange;
+  font-size: 18px;
+}
 
-  .node_i {
-    color: orange;
-    font-size: 18px;
-  }
-
-  .el-select-dropdown__item {
-    display: flex;
-    align-items: center;
-    justify-content: space-between;
-  }
+.el-select-dropdown__item {
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+}
 </style>

--
Gitblit v1.9.3