From 7ff62e110f5ebf6f39ac55b275c550f14e335bd2 Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期一, 17 二月 2025 11:39:52 +0800
Subject: [PATCH] 标准库屏蔽批量编辑等功能

---
 src/components/view/b2-standard.vue | 2815 +++++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 1,688 insertions(+), 1,127 deletions(-)

diff --git a/src/components/view/b2-standard.vue b/src/components/view/b2-standard.vue
index fcdb692..8657809 100644
--- a/src/components/view/b2-standard.vue
+++ b/src/components/view/b2-standard.vue
@@ -1,174 +1,177 @@
 <style scoped>
-  .standard {
-    padding: 10px 0;
-    display: flex;
-  }
+.standard {
+  padding: 10px 0;
+  display: flex;
+}
 
-  .left {
-    width: 330px;
-    height: calc(100% - 40px - 10px);
-    background-color: white;
-    padding: 15px;
-  }
+.left {
+  width: 330px;
+  height: calc(100% - 40px - 10px);
+  background-color: white;
+  padding: 15px;
+}
 
-  .custom-tree-node {
-    width: 100%;
-    line-height: 32px;
-  }
+.custom-tree-node {
+  width: 100%;
+  line-height: 32px;
+}
 
-  .custom-tree-node .el-icon-delete {
-    color: #3A7BFA;
-    opacity: 0;
-    font-size: 18px;
-  }
+.custom-tree-node .el-icon-delete {
+  color: #3a7bfa;
+  opacity: 0;
+  font-size: 18px;
+}
 
-  .custom-tree-node:hover .el-icon-delete {
-    opacity: 1;
-  }
+.custom-tree-node:hover .el-icon-delete {
+  opacity: 1;
+}
 
-  .node_i {
-    color: orange;
-    font-size: 18px;
-  }
+.node_i {
+  color: orange;
+  font-size: 18px;
+}
 
-  .right {
-    margin-left: 5px;
-    width: calc(100% - 365px);
-    height: calc(100% - 40px);
-  }
+.right {
+  margin-left: 5px;
+  width: calc(100% - 365px);
+  height: calc(100% - 40px);
+}
 
-  .right .title {
-    height: 34px;
-    line-height: 34px;
-    padding: 0 10px;
-    background-color: white;
-  }
+.right .title {
+  height: 34px;
+  line-height: 34px;
+  padding: 0 10px;
+  background-color: white;
+}
 
-  .standard_table {
-    border-top: 1px solid #ebeef5;
-    background-color: white;
-  }
+.standard_table {
+  border-top: 1px solid #ebeef5;
+  background-color: white;
+}
 
-  .product_table {
-    border-top: 1px solid #ebeef5;
-    height: calc(100% - 235px);
-    margin-top: 5px;
-    background-color: white;
-    user-select: none;
-  }
+.product_table {
+  border-top: 1px solid #ebeef5;
+  height: calc(100% - 235px);
+  margin-top: 5px;
+  background-color: white;
+  user-select: none;
+}
 
-  .product_table .el-table {
-    height: calc(100% - 35px) !important;
-  }
+.product_table .el-table {
+  height: calc(100% - 35px) !important;
+}
 
-  .sort {
-    width: 80% !important;
-    overflow: hidden;
-  }
+.sort {
+  width: 80% !important;
+  overflow: hidden;
+}
 
-  >>>.el-table__body-wrapper {
-    height: calc(100% - 46px) !important;
-  }
+>>> .el-table__body-wrapper {
+  height: calc(100% - 46px) !important;
+}
 
-  >>>.header-class {
-    height: 40px !important;
-  }
+>>> .header-class {
+  height: 40px !important;
+}
 
-  >>>.header-class th.el-table__cell>.cell {
-    line-height: 20px !important;
-    padding-top: 0 !important;
-    padding-bottom: 0 !important;
-  }
+>>> .header-class th.el-table__cell > .cell {
+  line-height: 20px !important;
+  padding-top: 0 !important;
+  padding-bottom: 0 !important;
+}
 
-  >>>.el-table__row {
-    height: 35px !important;
-  }
+>>> .el-table__row {
+  height: 35px !important;
+}
 
-  .search {
-    border-bottom: 1px solid #ebeef5;
-    margin-bottom: 16px;
-    display: flex;
-    align-items: center;
-    box-sizing: border-box;
-    padding-bottom: 10px;
-  }
+.search {
+  border-bottom: 1px solid #ebeef5;
+  margin-bottom: 16px;
+  display: flex;
+  align-items: center;
+  box-sizing: border-box;
+  padding-bottom: 10px;
+}
 
-  .search-item {
-    display: flex;
-    align-items: center;
-    flex-wrap: wrap;
-  }
+.search-item {
+  display: flex;
+  align-items: center;
+  flex-wrap: wrap;
+}
 
-  .search-item .el-row {
-    display: flex;
-    align-items: center;
-  }
+.search-item .el-row {
+  display: flex;
+  align-items: center;
+}
 
-  .search-item .el-col {
-    margin-left: 0;
-  }
+.search-item .el-col {
+  margin-left: 0;
+}
 
-  .more-edit .dialog-footer {
-    position: absolute;
-    top: 15px;
-    right: 70px;
-  }
+.more-edit .dialog-footer {
+  position: absolute;
+  top: 15px;
+  right: 70px;
+}
 
-  >>>.is-disabled .el-textarea__inner {
-    background: rgba(0, 0, 0, 0.05) !important;
-  }
+>>> .is-disabled .el-textarea__inner {
+  background: rgba(0, 0, 0, 0.05) !important;
+}
 </style>
 <style>
-  .standard .el-tree-node__content {
-    height: 32px;
-    font-size: 14px;
-    border-radius: 2px;
-  }
+.standard .el-tree-node__content {
+  height: 32px;
+  font-size: 14px;
+  border-radius: 2px;
+}
 
-  .standard .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content {
-    color: #3A7BFA;
-  }
+.standard
+  .el-tree--highlight-current
+  .el-tree-node.is-current
+  > .el-tree-node__content {
+  color: #3a7bfa;
+}
 
-  .standard .has-gutter .el-table__cell .cell {
-    line-height: 34px;
-    background-color: #f8f8f8;
-  }
+.standard .has-gutter .el-table__cell .cell {
+  line-height: 34px;
+  background-color: #f8f8f8;
+}
 
-  .standard .has-gutter .el-table__cell {
-    background-color: #fafafa !important;
-  }
+.standard .has-gutter .el-table__cell {
+  background-color: #fafafa !important;
+}
 
-  .standard .standard_table .el-table__row .cell {
-    font-size: 14px;
-  }
+.standard .standard_table .el-table__row .cell {
+  font-size: 14px;
+}
 
-  .standard .el-table .warning-row .cell {
-    color: #bababa;
-  }
+.standard .el-table .warning-row .cell {
+  color: #bababa;
+}
 
-  .standard .el-table-filter__list {
-    max-height: 400px;
-    overflow-y: auto;
-  }
+.standard .el-table-filter__list {
+  max-height: 400px;
+  overflow-y: auto;
+}
 
-  .standard .el-upload {
-    width: 100%;
-  }
+.standard .el-upload {
+  width: 100%;
+}
 
-  .standard .el-upload-dragger {
-    width: 100%;
-  }
+.standard .el-upload-dragger {
+  width: 100%;
+}
 
-  .standard .handleBtn.is-disabled .el-upload:focus {
-    color: #C0C4CC !important;
-  }
+.standard .handleBtn.is-disabled .el-upload:focus {
+  color: #c0c4cc !important;
+}
 
-  .standard .avatar-uploader .el-upload {
-    height: 80px;
-    display: flex;
-    align-items: center;
-    justify-content: center;
-  }
+.standard .avatar-uploader .el-upload {
+  height: 80px;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+}
 </style>
 
 <template>
@@ -176,28 +179,83 @@
     <div class="left">
       <el-row>
         <el-col :span="20">
-          <el-input placeholder="杈撳叆鍏抽敭瀛楄繘琛屾悳绱�" suffix-icon="el-icon-search" v-model="search" size="small"
-            style="margin-bottom: 5px;" clearable @blur="searchFilter" @clear="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"
+          ></el-input>
         </el-col>
-        <el-col :span="4" style="text-align: center;line-height: 30px;" v-if="addPower">
-          <el-button type="primary" icon="el-icon-plus" size="mini" circle @click="addDia = true"></el-button>
+        <el-col
+          :span="4"
+          style="text-align: center;line-height: 30px;"
+          v-if="addPower"
+        >
+          <el-button
+            type="primary"
+            icon="el-icon-plus"
+            size="mini"
+            circle
+            @click="addDia = true"
+          ></el-button>
         </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" v-loading="treeLoad" :expand-on-click-node="false"
+      <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"
+        v-loading="treeLoad"
+        :expand-on-click-node="false"
         :default-expanded-keys="expandedKeys"
-        style="height:calc(100% - 30px);overflow-y: scroll;scrollbar-width: none;">
+        style="height:calc(100% - 30px);overflow-y: scroll;scrollbar-width: none;"
+      >
         <div class="custom-tree-node" slot-scope="{ node, data }">
           <el-row style="width: 100%;">
-            <el-col :span="21" :class="{sort:node.level>3}" :title="data.label" style="text-align: left;">
+            <el-col
+              :span="21"
+              :class="{ sort: node.level > 3 }"
+              :title="data.label"
+              style="text-align: left;"
+            >
               <span>
-                <i :class="`node_i ${data.children != undefined ? (data.code==='[1]'?'el-icon-folder-opened':'el-icon-folder') : 'el-icon-tickets'}`"></i>
+                <i
+                  :class="
+                    `node_i ${
+                      data.children != undefined
+                        ? data.code === '[1]'
+                          ? 'el-icon-folder-opened'
+                          : 'el-icon-folder'
+                        : 'el-icon-tickets'
+                    }`
+                  "
+                ></i>
                 {{ data.label }}
               </span>
             </el-col>
-            <el-col :span="2" style="text-align: right;" v-if="delStandardTree&&(node.data.children===null||node.data.children===undefined)">
-              <el-button type="text" size="mini" @click.stop="remove(node, data)">
+            <el-col
+              :span="2"
+              style="text-align: right;"
+              v-if="
+                delStandardTree &&
+                  (node.data.children === null ||
+                    node.data.children === undefined)
+              "
+            >
+              <el-button
+                type="text"
+                size="mini"
+                @click.stop="remove(node, data)"
+              >
                 <i class="el-icon-delete"></i>
               </el-button>
             </el-col>
@@ -207,100 +265,250 @@
     </div>
     <div class="right">
       <el-row class="title" style="width: 100%;">
-        <el-col :span="20" style="font-size: 14px;color: #999;">{{selectTree}}</el-col>
-        <el-button size="small" type="primary" style="position: absolute;right: 170px;top: 1px;" @click="handleDown" v-if="inExcelOfTreePower" :loading="outLoading">瀵煎嚭</el-button>
+        <el-col :span="20" style="font-size: 14px;color: #999;">{{
+          selectTree
+        }}</el-col>
+        <!-- <el-button size="small" type="primary" style="position: absolute;right: 170px;top: 1px;" @click="handleDown" v-if="inExcelOfTreePower" :loading="outLoading">瀵煎嚭</el-button>
         <el-button size="small" type="primary" style="position: absolute;right: 100px;top: 1px;" @click="uploadDia = true" v-if="inExcelOfTreePower">瀵煎叆</el-button>
         <el-button size="small" type="primary" @click="handleMore" style="position: absolute;right: 5px;top: 1px;"
-          v-if="upStandardProduct">鎵归噺缂栬緫</el-button>
+          v-if="upStandardProduct">鎵归噺缂栬緫</el-button> -->
       </el-row>
       <el-row class="standard_table" v-loading="tableLoad">
-        <el-table class="el-table" :data="standardList" style="width: 100%;height: 220px !important;" height="220"
-          tooltip-effect="dark" highlight-current-row @row-click="rowClick" ref="standard"
-          header-row-class-name="header-class">
-          <el-table-column prop="code" label="鏍囧噯缂栧彿" show-overflow-tooltip width="200">
+        <el-table
+          class="el-table"
+          :data="standardList"
+          style="width: 100%;height: 220px !important;"
+          height="220"
+          tooltip-effect="dark"
+          highlight-current-row
+          @row-click="rowClick"
+          ref="standard"
+          header-row-class-name="header-class"
+        >
+          <el-table-column
+            prop="code"
+            label="鏍囧噯缂栧彿"
+            show-overflow-tooltip
+            width="200"
+          >
             <template slot-scope="scope">
-              <span style="color: red;font-size: 14px;">{{scope.row['code']}}</span>
+              <span style="color: red;font-size: 14px;">{{
+                scope.row["code"]
+              }}</span>
             </template>
           </el-table-column>
-          <el-table-column prop="name" label="鏍囧噯鍚嶇О" show-overflow-tooltip></el-table-column>
-          <el-table-column prop="remark" label="澶囨敞" show-overflow-tooltip></el-table-column>
+          <el-table-column
+            prop="name"
+            label="鏍囧噯鍚嶇О"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            prop="remark"
+            label="澶囨敞"
+            show-overflow-tooltip
+          ></el-table-column>
         </el-table>
       </el-row>
       <el-row class="product_table" v-loading="tableLoad2">
-        <el-table :data="productList" ref="productTable" style="width: 100%;" height="100%" tooltip-effect="dark" stripe
-          :fit="true" border @selection-change="handleSelectionChange" :row-class-name="tableRowClassName"
-          @select="upProductSelect" @select-all="handleAll" class="productTable" header-row-class-name="header-class">
-          <el-table-column type="selection" width="50">
-          </el-table-column>
-          <el-table-column prop="sample" label="浜у搧" min-width="100" show-overflow-tooltip></el-table-column>
-          <el-table-column prop="model" label="鍨嬪彿" min-width="100" show-overflow-tooltip></el-table-column>
-          <el-table-column prop="inspectionItemClass" v-if="PROJECT === '瑁呭鐢电紗'" label="妫�楠岄」鍒嗙被" min-width="140" show-overflow-tooltip></el-table-column>
-          <el-table-column prop="inspectionItemClassEn" v-if="PROJECT === '瑁呭鐢电紗'" label="妫�楠岄」鍒嗙被(EN)" min-width="140" show-overflow-tooltip></el-table-column>
-          <el-table-column prop="inspectionItem" label="妫�楠岄」" min-width="140" show-overflow-tooltip></el-table-column>
+        <el-table
+          :data="productList"
+          ref="productTable"
+          style="width: 100%;"
+          height="100%"
+          tooltip-effect="dark"
+          stripe
+          :fit="true"
+          border
+          @selection-change="handleSelectionChange"
+          :row-class-name="tableRowClassName"
+          @select="upProductSelect"
+          @select-all="handleAll"
+          class="productTable"
+          header-row-class-name="header-class"
+        >
+          <el-table-column type="selection" width="50"> </el-table-column>
+          <el-table-column
+            prop="sample"
+            label="浜у搧"
+            min-width="100"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            prop="model"
+            label="鍨嬪彿"
+            min-width="100"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            prop="inspectionItemClass"
+            v-if="PROJECT === '瑁呭鐢电紗'"
+            label="妫�楠岄」鍒嗙被"
+            min-width="140"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            prop="inspectionItemClassEn"
+            v-if="PROJECT === '瑁呭鐢电紗'"
+            label="妫�楠岄」鍒嗙被(EN)"
+            min-width="140"
+            show-overflow-tooltip
+          ></el-table-column>
+          <el-table-column
+            prop="inspectionItem"
+            label="妫�楠岄」"
+            min-width="140"
+            show-overflow-tooltip
+          ></el-table-column>
           <!-- <el-table-column prop="inspectionItemClassify" label="妫�楠岄」绫诲瀷" width="120" 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="瀛愬疄楠屽" width="130" 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="瀛愬疄楠屽"
+            width="130"
+            show-overflow-tooltip
+          ></el-table-column>
           <el-table-column prop="ask" label="瑕佹眰鍊�" min-width="200px">
             <template slot-scope="scope">
-              <el-input size="small" placeholder="瑕佹眰鍊�" v-model="scope.row.ask" clearable
-                @change="(value)=>upStandardProductList(value,scope.row.id)" v-if="upStandardProduct" type="textarea"
-                :autosize="{ minRows: 1, maxRows: 3}"></el-input>
-              <span v-else>{{scope.row.ask}}</span>
+              <el-input
+                size="small"
+                placeholder="瑕佹眰鍊�"
+                v-model="scope.row.ask"
+                clearable
+                @change="value => upStandardProductList(value, scope.row.id)"
+                v-if="upStandardProduct"
+                type="textarea"
+                :autosize="{ minRows: 1, maxRows: 3 }"
+              ></el-input>
+              <span v-else>{{ scope.row.ask }}</span>
             </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
-                @change="(value)=>upStandardProductListOfTell(value,scope.row.id)" v-if="upStandardProduct"
-                type="textarea" :autosize="{ minRows: 1, maxRows: 3}"></el-input>
-              <span v-else>{{scope.row.ask}}</span>
+              <el-input
+                size="small"
+                placeholder="瑕佹眰鎻忚堪"
+                v-model="scope.row.tell"
+                clearable
+                @change="
+                  value => upStandardProductListOfTell(value, scope.row.id)
+                "
+                v-if="upStandardProduct"
+                type="textarea"
+                :autosize="{ minRows: 1, maxRows: 3 }"
+              ></el-input>
+              <span v-else>{{ scope.row.ask }}</span>
             </template>
           </el-table-column>
           <el-table-column prop="method" label="璇曢獙鏂规硶" width="200">
             <template slot-scope="scope">
-              <el-select v-model="scope.row.methodS" size="small" placeholder="璇曢獙鏂规硶"
-                @change="(value)=>upStandardProductListOfMethodS(value,scope.row.id)" v-if="upStandardProduct">
-                <el-option v-for="(a,i) in JSON.parse(scope.row.method)" :key="i" :label="a" :value="a"></el-option>
+              <el-select
+                v-model="scope.row.methodS"
+                size="small"
+                placeholder="璇曢獙鏂规硶"
+                @change="
+                  value => upStandardProductListOfMethodS(value, scope.row.id)
+                "
+                v-if="upStandardProduct"
+              >
+                <el-option
+                  v-for="(a, i) in JSON.parse(scope.row.method)"
+                  :key="i"
+                  :label="a"
+                  :value="a"
+                ></el-option>
               </el-select>
-              <span v-else>{{scope.row.methodS}}</span>
+              <span v-else>{{ scope.row.methodS }}</span>
             </template>
           </el-table-column>
-          <el-table-column prop="unit" label="璁¢噺鍗曚綅" width="100" 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="120">
             <template slot-scope="scope">
-              <el-input v-model="scope.row.price" size="small" placeholder="鍗曚环(鍏�)"
-                @change="(value)=>upStandardProductListOfPrice(value,scope.row.id)" v-if="upStandardProduct">
+              <el-input
+                v-model="scope.row.price"
+                size="small"
+                placeholder="鍗曚环(鍏�)"
+                @change="
+                  value => upStandardProductListOfPrice(value, scope.row.id)
+                "
+                v-if="upStandardProduct"
+              >
               </el-input>
-              <span v-else>{{scope.row.price}}</span>
+              <span v-else>{{ scope.row.price }}</span>
             </template>
           </el-table-column>
           <el-table-column prop="manHour" label="宸ユ椂绯绘暟" width="120">
             <template slot-scope="scope">
-              <el-input v-model="scope.row.manHour" size="small" placeholder="鍗曚环(鍏�)"
-                @change="(value)=>upStandardProductListOfManHour(value,scope.row.id)" v-if="upStandardProduct">
+              <el-input
+                v-model="scope.row.manHour"
+                size="small"
+                placeholder="鍗曚环(鍏�)"
+                @change="
+                  value => upStandardProductListOfManHour(value, scope.row.id)
+                "
+                v-if="upStandardProduct"
+              >
               </el-input>
-              <span v-else>{{scope.row.manHour}}</span>
+              <span v-else>{{ scope.row.manHour }}</span>
             </template>
           </el-table-column>
-          <el-table-column prop="manHourGroup" label="宸ユ椂鍒嗙粍" width="100" show-overflow-tooltip></el-table-column>
+          <el-table-column
+            prop="manHourGroup"
+            label="宸ユ椂鍒嗙粍"
+            width="100"
+            show-overflow-tooltip
+          ></el-table-column>
           <el-table-column prop="templateId" label="妯℃澘" width="200">
             <template slot-scope="scope">
-              <el-select v-model="scope.row.templateId" size="small" filterable :disabled="!upStandardProduct"
-                @change="(value)=>upStandardProductListOfTemplate(value,scope.row.id)">
-                <el-option v-for="(a, ai) in templateList" :key="ai" :label="a.name" :value="a.id"></el-option>
+              <el-select
+                v-model="scope.row.templateId"
+                size="small"
+                filterable
+                :disabled="!upStandardProduct"
+                @change="
+                  value => upStandardProductListOfTemplate(value, scope.row.id)
+                "
+              >
+                <el-option
+                  v-for="(a, ai) in templateList"
+                  :key="ai"
+                  :label="a.name"
+                  :value="a.id"
+                ></el-option>
               </el-select>
             </template>
           </el-table-column>
-          <el-table-column prop="section" label="鍖洪棿" width="120" show-overflow-tooltip></el-table-column>
+          <el-table-column
+            prop="section"
+            label="鍖洪棿"
+            width="120"
+            show-overflow-tooltip
+          ></el-table-column>
           <el-table-column prop="section" label="鎿嶄綔" width="120">
             <template slot-scope="scope">
-              <el-button type="text" @click="sectionUp(scope.row)">鍖洪棿璁剧疆</el-button>
+              <el-button type="text" @click="sectionUp(scope.row)"
+                >鍖洪棿璁剧疆</el-button
+              >
             </template>
           </el-table-column>
         </el-table>
-        <el-pagination style="position: absolute;right: 16px;bottom: 1px;" @current-change="handleCurrentChange"
-          :current-page="currentPage" layout="total, prev, pager, next, jumper" :page-size="50" :total="total">
+        <el-pagination
+          style="position: absolute;right: 16px;bottom: 1px;"
+          @current-change="handleCurrentChange"
+          :current-page="currentPage"
+          layout="total, prev, pager, next, jumper"
+          :page-size="50"
+          :total="total"
+        >
         </el-pagination>
       </el-row>
     </div>
@@ -335,939 +543,1252 @@
             <span class="required-span">* </span>鍨嬪彿锛�
           </el-col>
           <el-col :span="16" :offset="1">
-            <el-input v-model="addOb.model" placeholder="璇疯緭鍏ュ瀷鍙�" clearable size="small" @keyup.enter.native="addStandardTree"></el-input>
+            <el-input
+              v-model="addOb.model"
+              placeholder="璇疯緭鍏ュ瀷鍙�"
+              clearable
+              size="small"
+              @keyup.enter.native="addStandardTree"
+            ></el-input>
           </el-col>
         </el-row>
       </div>
       <span slot="footer" class="dialog-footer">
         <el-button @click="addDia = false">鍙� 娑�</el-button>
-        <el-button type="primary" @click="addStandardTree" :loading="addLoad">纭� 瀹�</el-button>
+        <el-button type="primary" @click="addStandardTree" :loading="addLoad"
+          >纭� 瀹�</el-button
+        >
       </span>
     </el-dialog>
-    <el-dialog title="鎵归噺缂栬緫" :visible.sync="moreEdit" width="90%" class="more-edit">
-      <div class="body" style="display: flex;flex-direction: column;height: 85vh;">
+    <el-dialog
+      title="鎵归噺缂栬緫"
+      :visible.sync="moreEdit"
+      width="90%"
+      class="more-edit"
+    >
+      <div
+        class="body"
+        style="display: flex;flex-direction: column;height: 85vh;"
+      >
         <div class="search">
           <div class="search-item">
             <el-row style="width: 25%;margin-bottom: 16px;">
               <el-col :span="6" style="text-align: right;">
                 <!-- <span class="required-span">* </span> -->
-                瑕佹眰鍊硷細</el-col>
+                瑕佹眰鍊硷細</el-col
+              >
               <el-col :span="16">
-                <el-input size="small" v-model="moreInfo.ask" clearable :disabled="moreSelects.length==0"></el-input>
+                <el-input
+                  size="small"
+                  v-model="moreInfo.ask"
+                  clearable
+                  :disabled="moreSelects.length == 0"
+                ></el-input>
               </el-col>
             </el-row>
             <el-row style="width: 25%;margin-bottom: 16px;">
               <el-col :span="6" style="text-align: right;">
                 <!-- <span class="required-span">* </span> -->
-                瑕佹眰鎻忚堪锛�</el-col>
-              <el-col :span="16" style="display: flex;align-items: flex-start;height: 100%;">
-                <el-input size="small" clearable type="textarea" :autosize="{ minRows: 1, maxRows: 3}"
-                  v-model="moreInfo.tell" :disabled="moreSelects.length==0"></el-input>
+                瑕佹眰鎻忚堪锛�</el-col
+              >
+              <el-col
+                :span="16"
+                style="display: flex;align-items: flex-start;height: 100%;"
+              >
+                <el-input
+                  size="small"
+                  clearable
+                  type="textarea"
+                  :autosize="{ minRows: 1, maxRows: 3 }"
+                  v-model="moreInfo.tell"
+                  :disabled="moreSelects.length == 0"
+                ></el-input>
               </el-col>
             </el-row>
             <el-row style="width: 25%;margin-bottom: 16px;">
               <el-col :span="6" style="text-align: right;">
                 <!-- <span class="required-span">* </span> -->
-                璇曢獙鏂规硶锛�</el-col>
+                璇曢獙鏂规硶锛�</el-col
+              >
               <el-col :span="16">
-                <el-select v-model="moreInfo.methodS" size="small" filterable style="width: 100%;"
-                  :disabled="moreSelects.length==0" clearable>
-                  <el-option v-for="(a, ai) in methodList" :key="ai" :label="a.label" :value="a.value"></el-option>
+                <el-select
+                  v-model="moreInfo.methodS"
+                  size="small"
+                  filterable
+                  style="width: 100%;"
+                  :disabled="moreSelects.length == 0"
+                  clearable
+                >
+                  <el-option
+                    v-for="(a, ai) in methodList"
+                    :key="ai"
+                    :label="a.label"
+                    :value="a.value"
+                  ></el-option>
                 </el-select>
               </el-col>
             </el-row>
             <el-row style="width: 25%;margin-bottom: 16px;">
               <el-col :span="6" style="text-align: right;">
                 <!-- <span class="required-span">* </span> -->
-                鍗曚环(鍏�)锛�</el-col>
+                鍗曚环(鍏�)锛�</el-col
+              >
               <el-col :span="16">
-                <el-input size="small" v-model="moreInfo.price" clearable :disabled="moreSelects.length==0"></el-input>
+                <el-input
+                  size="small"
+                  v-model="moreInfo.price"
+                  clearable
+                  :disabled="moreSelects.length == 0"
+                ></el-input>
               </el-col>
             </el-row>
             <el-row style="width: 25%;">
               <el-col :span="6" style="text-align: right;">
                 <!-- <span class="required-span">* </span> -->
-                宸ユ椂绯绘暟锛�</el-col>
+                宸ユ椂绯绘暟锛�</el-col
+              >
               <el-col :span="16">
-                <el-input size="small" v-model="moreInfo.manHour" clearable
-                  :disabled="moreSelects.length==0"></el-input>
+                <el-input
+                  size="small"
+                  v-model="moreInfo.manHour"
+                  clearable
+                  :disabled="moreSelects.length == 0"
+                ></el-input>
               </el-col>
             </el-row>
             <el-row style="width: 25%;">
               <el-col :span="6" style="text-align: right;">
                 <!-- <span class="required-span">* </span> -->
-                妯℃澘锛�</el-col>
+                妯℃澘锛�</el-col
+              >
               <el-col :span="16">
-                <el-select v-model="moreInfo.templateId" size="small" filterable placeholder="妯℃澘" style="width: 100%;"
-                  :disabled="moreSelects.length==0">
-                  <el-option v-for="(a, ai) in templateList" :key="ai" :label="a.name" :value="a.id"></el-option>
+                <el-select
+                  v-model="moreInfo.templateId"
+                  size="small"
+                  filterable
+                  placeholder="妯℃澘"
+                  style="width: 100%;"
+                  :disabled="moreSelects.length == 0"
+                >
+                  <el-option
+                    v-for="(a, ai) in templateList"
+                    :key="ai"
+                    :label="a.name"
+                    :value="a.id"
+                  ></el-option>
                 </el-select>
               </el-col>
             </el-row>
             <el-row style="width: 25%;">
-              <el-col :span="6" style="text-align: right;">
-                鏄惁鍚敤锛�</el-col>
+              <el-col :span="6" style="text-align: right;"> 鏄惁鍚敤锛�</el-col>
               <el-col :span="16">
-                <el-select v-model="moreInfo.state" size="small" filterable placeholder="妯℃澘" style="width: 100%;"
-                  :disabled="moreSelects.length==0" clearable>
+                <el-select
+                  v-model="moreInfo.state"
+                  size="small"
+                  filterable
+                  placeholder="妯℃澘"
+                  style="width: 100%;"
+                  :disabled="moreSelects.length == 0"
+                  clearable
+                >
                   <el-option label="鍚敤" :value="1"></el-option>
                   <el-option label="涓嶅惎鐢�" :value="0"></el-option>
                 </el-select>
               </el-col>
             </el-row>
             <el-row style="width: 100%;margin-top: 8px;">
-              <el-col :span="24" style="display: flex;align-items: center;justify-content: end;">
-                <el-button @click="clearProduct(1)" size="small" type="danger">閲嶇疆鍗曚环</el-button>
-                <el-button @click="clearProduct(2)" size="small" type="danger">閲嶇疆宸ユ椂绯绘暟</el-button>
-                <el-button type="primary" size="small" @click="sectionUp(moreSelects)">璁剧疆鍖洪棿</el-button>
-                <el-button @click="moreEdit = false" size="small">鍙� 娑�</el-button>
-                <el-button type="primary" @click="subMoreEdit" :loading="moreEditLoad" size="small">淇� 瀛�</el-button>
+              <el-col
+                :span="24"
+                style="display: flex;align-items: center;justify-content: end;"
+              >
+                <el-button @click="clearProduct(1)" size="small" type="danger"
+                  >閲嶇疆鍗曚环</el-button
+                >
+                <el-button @click="clearProduct(2)" size="small" type="danger"
+                  >閲嶇疆宸ユ椂绯绘暟</el-button
+                >
+                <el-button
+                  type="primary"
+                  size="small"
+                  @click="sectionUp(moreSelects)"
+                  >璁剧疆鍖洪棿</el-button
+                >
+                <el-button @click="moreEdit = false" size="small"
+                  >鍙� 娑�</el-button
+                >
+                <el-button
+                  type="primary"
+                  @click="subMoreEdit"
+                  :loading="moreEditLoad"
+                  size="small"
+                  >淇� 瀛�</el-button
+                >
               </el-col>
             </el-row>
           </div>
         </div>
         <div style="flex: 1;overflow-y: auto;" v-loading="productTableLoading0">
-          <el-table :data="productList0" ref="productTable0" style="width: 100%;" height="96%" tooltip-effect="dark"
-            stripe :fit="true" border @select-all="handleSelectAll0" @select="handleSelectionChange0"
-            header-row-class-name="header-class" :row-key="row=>row.id" @filter-change="filterHandler" highlight-current-row>
-            <el-table-column type="selection" width="50">
-            </el-table-column>
-            <el-table-column prop="sample" label="浜у搧" min-width="100" show-overflow-tooltip></el-table-column>
-            <el-table-column prop="model" label="鍨嬪彿" min-width="100" show-overflow-tooltip></el-table-column>
-            <el-table-column prop="inspectionItem" label="妫�楠岄」" min-width="140" show-overflow-tooltip :filters="filters0"
-              :filter-multiple="false" column-key="inspectionItem" filter-placement="bottom-start"></el-table-column>
-            <el-table-column prop="inspectionItemSubclass" label="妫�楠岄」瀛愰」" min-width="140" show-overflow-tooltip
-              :filters="filters1" :filter-multiple="false" column-key="inspectionItemSubclass"
-              filter-placement="bottom-start"></el-table-column>
-            <el-table-column prop="sonLaboratory" label="瀛愬疄楠屽" width="130" show-overflow-tooltip :filters="filters"
-              :filter-multiple="false" column-key="sonLaboratory" filter-placement="bottom-start"></el-table-column>
-            <el-table-column prop="ask" label="瑕佹眰鍊�" min-width="200px"></el-table-column>
-            <el-table-column prop="tell" label="瑕佹眰鎻忚堪" min-width="220px"></el-table-column>
-            <el-table-column prop="methodS" label="璇曢獙鏂规硶" width="200"></el-table-column>
-            <el-table-column prop="unit" label="璁¢噺鍗曚綅" width="100" show-overflow-tooltip></el-table-column>
-            <el-table-column prop="price" label="鍗曚环(鍏�)" width="120"></el-table-column>
-            <el-table-column prop="manHour" label="宸ユ椂绯绘暟" width="120"></el-table-column>
-            <el-table-column prop="manHourGroup" label="宸ユ椂鍒嗙粍" width="100" show-overflow-tooltip></el-table-column>
+          <el-table
+            :data="productList0"
+            ref="productTable0"
+            style="width: 100%;"
+            height="96%"
+            tooltip-effect="dark"
+            stripe
+            :fit="true"
+            border
+            @select-all="handleSelectAll0"
+            @select="handleSelectionChange0"
+            header-row-class-name="header-class"
+            :row-key="row => row.id"
+            @filter-change="filterHandler"
+            highlight-current-row
+          >
+            <el-table-column type="selection" width="50"> </el-table-column>
+            <el-table-column
+              prop="sample"
+              label="浜у搧"
+              min-width="100"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              prop="model"
+              label="鍨嬪彿"
+              min-width="100"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              prop="inspectionItem"
+              label="妫�楠岄」"
+              min-width="140"
+              show-overflow-tooltip
+              :filters="filters0"
+              :filter-multiple="false"
+              column-key="inspectionItem"
+              filter-placement="bottom-start"
+            ></el-table-column>
+            <el-table-column
+              prop="inspectionItemSubclass"
+              label="妫�楠岄」瀛愰」"
+              min-width="140"
+              show-overflow-tooltip
+              :filters="filters1"
+              :filter-multiple="false"
+              column-key="inspectionItemSubclass"
+              filter-placement="bottom-start"
+            ></el-table-column>
+            <el-table-column
+              prop="sonLaboratory"
+              label="瀛愬疄楠屽"
+              width="130"
+              show-overflow-tooltip
+              :filters="filters"
+              :filter-multiple="false"
+              column-key="sonLaboratory"
+              filter-placement="bottom-start"
+            ></el-table-column>
+            <el-table-column
+              prop="ask"
+              label="瑕佹眰鍊�"
+              min-width="200px"
+            ></el-table-column>
+            <el-table-column
+              prop="tell"
+              label="瑕佹眰鎻忚堪"
+              min-width="220px"
+            ></el-table-column>
+            <el-table-column
+              prop="methodS"
+              label="璇曢獙鏂规硶"
+              width="200"
+            ></el-table-column>
+            <el-table-column
+              prop="unit"
+              label="璁¢噺鍗曚綅"
+              width="100"
+              show-overflow-tooltip
+            ></el-table-column>
+            <el-table-column
+              prop="price"
+              label="鍗曚环(鍏�)"
+              width="120"
+            ></el-table-column>
+            <el-table-column
+              prop="manHour"
+              label="宸ユ椂绯绘暟"
+              width="120"
+            ></el-table-column>
+            <el-table-column
+              prop="manHourGroup"
+              label="宸ユ椂鍒嗙粍"
+              width="100"
+              show-overflow-tooltip
+            ></el-table-column>
             <el-table-column prop="templateId" label="妯℃澘" width="200">
               <template slot-scope="scope">
-                {{ templateList.find(item => item.id == scope.row.templateId)?templateList.find(item => item.id == scope.row.templateId).name:'' }}
+                {{
+                  templateList.find(item => item.id == scope.row.templateId)
+                    ? templateList.find(item => item.id == scope.row.templateId)
+                        .name
+                    : ""
+                }}
               </template>
             </el-table-column>
-            <el-table-column prop="section" label="鍖洪棿" width="120" show-overflow-tooltip></el-table-column>
+            <el-table-column
+              prop="section"
+              label="鍖洪棿"
+              width="120"
+              show-overflow-tooltip
+            ></el-table-column>
           </el-table>
-          <el-pagination style="position: absolute;right: 16px;bottom: 4px;" @current-change="handleCurrentChange0"
-            :current-page="currentPage0" layout="total, prev, pager, next, jumper" :page-size="100" :total="total0">
+          <el-pagination
+            style="position: absolute;right: 16px;bottom: 4px;"
+            @current-change="handleCurrentChange0"
+            :current-page="currentPage0"
+            layout="total, prev, pager, next, jumper"
+            :page-size="100"
+            :total="total0"
+          >
           </el-pagination>
         </div>
       </div>
     </el-dialog>
-    <el-dialog title="鍖洪棿璁剧疆" :visible.sync="sectionUpDia" width="70%" :close-on-click-modal="false">
+    <el-dialog
+      title="鍖洪棿璁剧疆"
+      :visible.sync="sectionUpDia"
+      width="70%"
+      :close-on-click-modal="false"
+    >
       <div class="body" style="padding: 5px 0;">
         <el-table :data="sectionList" border style="width: 100%" height="350px">
           <el-table-column type="index" label="搴忓彿" width="70" align="center">
           </el-table-column>
           <el-table-column label="鍖洪棿" align="center">
             <template slot-scope="scope">
-              <el-input size="small" v-model="scope.row.thing" clearable placeholder="鍖洪棿"></el-input>
+              <el-input
+                size="small"
+                v-model="scope.row.thing"
+                clearable
+                placeholder="鍖洪棿"
+              ></el-input>
             </template>
           </el-table-column>
           <el-table-column label="瑕佹眰鍊�" align="center">
             <template slot-scope="scope">
-              <el-input size="small" v-model="scope.row.ask" clearable placeholder="瑕佹眰鍊�"></el-input>
+              <el-input
+                size="small"
+                v-model="scope.row.ask"
+                clearable
+                placeholder="瑕佹眰鍊�"
+              ></el-input>
             </template>
           </el-table-column>
           <el-table-column label="瑕佹眰鎻忚堪" align="center">
             <template slot-scope="scope">
-              <el-input size="small" placeholder="瑕佹眰鎻忚堪" v-model="scope.row.tell" clearable type="textarea"
-                :autosize="{ minRows: 1, maxRows: 2}"></el-input>
+              <el-input
+                size="small"
+                placeholder="瑕佹眰鎻忚堪"
+                v-model="scope.row.tell"
+                clearable
+                type="textarea"
+                :autosize="{ minRows: 1, maxRows: 2 }"
+              ></el-input>
             </template>
           </el-table-column>
           <el-table-column label="鍗曚环" align="center" width="120">
             <template slot-scope="scope">
-              <el-input size="small" v-model="scope.row.price" clearable placeholder="鍗曚环"></el-input>
+              <el-input
+                size="small"
+                v-model="scope.row.price"
+                clearable
+                placeholder="鍗曚环"
+              ></el-input>
             </template>
           </el-table-column>
           <el-table-column label="宸ユ椂绯绘暟" align="center" width="120">
             <template slot-scope="scope">
-              <el-input size="small" v-model="scope.row.manHour" clearable placeholder="宸ユ椂绯绘暟"></el-input>
+              <el-input
+                size="small"
+                v-model="scope.row.manHour"
+                clearable
+                placeholder="宸ユ椂绯绘暟"
+              ></el-input>
             </template>
           </el-table-column>
           <el-table-column label="鎿嶄綔" width="70" align="center">
             <template slot-scope="scope">
-              <el-button size="mini" type="danger" icon="el-icon-minus" circle
-                @click="sectionList.splice(scope.$index, 1)"></el-button>
+              <el-button
+                size="mini"
+                type="danger"
+                icon="el-icon-minus"
+                circle
+                @click="sectionList.splice(scope.$index, 1)"
+              ></el-button>
             </template>
           </el-table-column>
         </el-table>
       </div>
       <span slot="footer" class="dialog-footer">
         <el-button @click="sectionUpDia = false">鍙� 娑�</el-button>
-        <el-button type="primary" @click="sectionLoadAdd" :loading="sectionLoad">淇� 瀛�</el-button>
-        <el-button type="primary" @click="sectionList.push({thing: '',price: sectionRow.price,manHour: sectionRow.manHour})" icon="el-icon-plus"></el-button>
+        <el-button type="primary" @click="sectionLoadAdd" :loading="sectionLoad"
+          >淇� 瀛�</el-button
+        >
+        <el-button
+          type="primary"
+          @click="
+            sectionList.push({
+              thing: '',
+              price: sectionRow.price,
+              manHour: sectionRow.manHour
+            })
+          "
+          icon="el-icon-plus"
+        ></el-button>
       </span>
     </el-dialog>
     <el-dialog title="鏁版嵁瀵煎叆" :visible.sync="uploadDia" width="500px">
       <div style="margin: 0 auto;">
-        <el-upload ref="upload" drag :action="javaApi + $api.standardTree.inExcelOfTree + '/' + isEquipment" :headers="token" :file-list="fileList" name="file"
-          :auto-upload="false" accept=".xlsx" :limit="1" :on-change="beforeUpload" :on-success="onSuccess"
-          :on-error="onError">
+        <el-upload
+          ref="upload"
+          drag
+          :action="
+            javaApi + $api.standardTree.inExcelOfTree + '/' + isEquipment
+          "
+          :headers="token"
+          :file-list="fileList"
+          name="file"
+          :auto-upload="false"
+          accept=".xlsx"
+          :limit="1"
+          :on-change="beforeUpload"
+          :on-success="onSuccess"
+          :on-error="onError"
+        >
           <i class="el-icon-upload"></i>
           <div class="el-upload__text">灏嗘枃浠舵嫋鍒版澶勶紝鎴�<em>鐐瑰嚮涓婁紶</em></div>
         </el-upload>
       </div>
       <span slot="footer" class="dialog-footer">
         <el-button @click="uploadDia = false">鍙� 娑�</el-button>
-        <el-button type="primary" @click="submitUpload()" :loading="uploading">涓� 浼�</el-button>
+        <el-button type="primary" @click="submitUpload()" :loading="uploading"
+          >涓� 浼�</el-button
+        >
       </span>
     </el-dialog>
   </div>
 </template>
 
 <script>
-  import ValueTable from '../tool/value-table.vue'
-  export default {
-    components: {
-      ValueTable
+import ValueTable from "../tool/value-table.vue";
+export default {
+  components: {
+    ValueTable
+  },
+  data() {
+    return {
+      search: null,
+      list: [],
+      selectTree: "",
+      factory: [],
+      addDia: false,
+      addOb: {
+        factory: null,
+        laboratory: null,
+        sampleType: null,
+        sample: null,
+        model: null
+      },
+      laboratory: [],
+      addLoad: false,
+      sampleType: [],
+      sample: [],
+      treeLoad: false,
+      addPower: false,
+      standardList: [],
+      standardEnum: [],
+      addStandardDia: false,
+      standardId: null,
+      addStandardMethod: true,
+      addLoad2: false,
+      productList: [],
+      tableLoad: false,
+      tableLoad2: false,
+      upStandardProduct: false,
+      delStandardMethod: false,
+      selects: [],
+      delStandardProduct: false,
+      addProductDia: false,
+      productId: null,
+      addStandardProduct: false,
+      addLoad3: false,
+      productEnum: [],
+      componentData: {
+        entity: {
+          orderBy: {
+            field: "id",
+            order: "asc"
+          }
+        },
+        isIndex: true,
+        showSelect: true,
+        select: true,
+        do: [],
+        tagField: {
+          inspectionItemType: {
+            select: []
+          },
+          valueType: {
+            select: []
+          },
+          bsm: {
+            select: []
+          },
+          inspectionValueType: {
+            select: []
+          },
+          deviceGroup: {
+            select: []
+          }
+        },
+        selectField: {}
+      },
+      expandedKeys: [],
+      filters: [],
+      sectionUpDia: false,
+      sectionLoad: false,
+      sectionRow: null,
+      sectionList: [],
+      templateList: [],
+      total: 0,
+      currentPage: 1,
+      standardId: 0,
+      moreEdit: false,
+      moreEditLoad: false,
+      moreSelects: [],
+      total0: 0,
+      currentPage0: 1,
+      productList0: [],
+      moreInfo: {
+        ask: "",
+        tell: "",
+        methodS: "",
+        price: "",
+        manHour: "",
+        templateId: "",
+        state: null
+      },
+      methodList: [],
+      productTableLoading0: false,
+      filters0: [],
+      filters1: [],
+      pages: 1,
+      inspectionItem: null,
+      inspectionItemSubclass: null,
+      sonLaboratory: null,
+      uploadDia: false,
+      token: null,
+      fileList: [],
+      inExcelOfTreePower: false,
+      uploading: false,
+      isEquipment: false,
+      outLoading: false
+    };
+  },
+  watch: {
+    moreEdit(val) {
+      if (!val) {
+        this.$refs.productTable0.clearSelection();
+        this.moreSelects = [];
+        this.currentPage0 = 1;
+        this.productList0 = [];
+        this.moreInfo = {
+          ask: "",
+          tell: "",
+          methodS: "",
+          price: "",
+          manHour: "",
+          templateId: ""
+        };
+      }
+    }
+  },
+  mounted() {
+    this.getPower();
+    this.selectEnumByCategoryForFactory();
+    this.selectStandardTreeList();
+    this.obtainItemParameterList();
+    this.selectTestObjectByName();
+    this.selectStandardMethods();
+    this.selectEnumByCategoryForDevice();
+    this.selectEnumByCategory();
+    this.selectEnumByCategoryForValue();
+    this.selectEnumByCategoryForSpecial();
+    this.selectEnumByCategoryForInspectionValueType();
+    this.selectEnumByCategoryForSonLaboratory();
+    this.getStandardTemplate();
+    this.selectStandardMethods();
+    (this.token = {
+      token: sessionStorage.getItem("token")
+    }),
+      (this.isEquipment = this.PROJECT === "瑁呭鐢电紗" ? true : false);
+  },
+  methods: {
+    filterNode(value, data) {
+      if (!value) return true;
+      return data.label.indexOf(value) !== -1;
     },
-    data() {
-      return {
-        search: null,
-        list: [],
-        selectTree: '',
-        factory: [],
-        addDia: false,
-        addOb: {
-          factory: null,
-          laboratory: null,
-          sampleType: null,
-          sample: null,
-          model: null
-        },
-        laboratory: [],
-        addLoad: false,
-        sampleType: [],
-        sample: [],
-        treeLoad: false,
-        addPower: false,
-        standardList: [],
-        standardEnum: [],
-        addStandardDia: false,
-        standardId: null,
-        addStandardMethod: true,
-        addLoad2: false,
-        productList: [],
-        tableLoad: false,
-        tableLoad2: false,
-        upStandardProduct: false,
-        delStandardMethod: false,
-        selects: [],
-        delStandardProduct: false,
-        addProductDia: false,
-        productId: null,
-        addStandardProduct: false,
-        addLoad3: false,
-        productEnum: [],
-        componentData: {
-          entity: {
-            orderBy: {
-              field: 'id',
-              order: 'asc'
-            }
-          },
-          isIndex: true,
-          showSelect: true,
-          select: true,
-          do: [],
-          tagField: {
-            inspectionItemType: {
-              select: []
-            },
-            valueType: {
-              select: []
-            },
-            bsm: {
-              select: []
-            },
-            inspectionValueType: {
-              select: []
-            },
-            deviceGroup: {
-              select: []
-            }
-          },
-          selectField: {},
-        },
-        expandedKeys: [],
-        filters: [],
-        sectionUpDia: false,
-        sectionLoad: false,
-        sectionRow: null,
-        sectionList: [],
-        templateList: [],
-        total: 0,
-        currentPage: 1,
-        standardId: 0,
-        moreEdit: false,
-        moreEditLoad: false,
-        moreSelects: [],
-        total0: 0,
-        currentPage0: 1,
-        productList0: [],
-        moreInfo: {
-          ask: '',
-          tell: '',
-          methodS: '',
-          price: '',
-          manHour: '',
-          templateId: '',
-          state: null
-        },
-        methodList: [],
-        productTableLoading0: false,
-        filters0: [],
-        filters1: [],
-        pages: 1,
-        inspectionItem: null,
-        inspectionItemSubclass: null,
-        sonLaboratory: null,
-        uploadDia: false,
-        token: null,
-        fileList: [],
-        inExcelOfTreePower: false,
-        uploading: false,
-        isEquipment: false,
-        outLoading:false
+    searchFilter() {
+      this.$refs.tree.filter(this.search);
+    },
+    refresh() {
+      this.upIndex++;
+    },
+    handleNodeClick(val, node, el) {
+      //鏍戠殑鍊�
+      this.total = 0;
+      this.currentPage = 1;
+      this.selectTree = "";
+      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(" - ", "");
+      this.selectsStandardMethodByFLSSM();
+      let trees = this.selectTree.split(" - ");
+      this.addOb.factory = trees[0];
+      this.addOb.laboratory = trees[1];
+      this.addOb.sampleType = trees[2];
+      this.addOb.sample = trees[3];
+    },
+    getNodeParent(val) {
+      if (val.parent != null) {
+        if (val.data.children === null) {
+          this.selectTree += " - " + val.label + " - " + "null";
+        } else {
+          this.selectTree += " - " + val.label;
+        }
+        this.getNodeParent(val.parent);
       }
     },
-    watch: {
-      moreEdit(val) {
-        if (!val) {
-          this.$refs.productTable0.clearSelection()
-          this.moreSelects = []
-          this.currentPage0 = 1;
-          this.productList0 = []
-          this.moreInfo = {
-            ask: '',
-            tell: '',
-            methodS: '',
-            price: '',
-            manHour: '',
-            templateId: ''
-          }
-        }
-      }
-    },
-    mounted() {
-      this.getPower()
-      this.selectEnumByCategoryForFactory()
-      this.selectStandardTreeList()
-      this.obtainItemParameterList()
-      this.selectTestObjectByName()
-      this.selectStandardMethods()
-      this.selectEnumByCategoryForDevice()
-      this.selectEnumByCategory()
-      this.selectEnumByCategoryForValue()
-      this.selectEnumByCategoryForSpecial()
-      this.selectEnumByCategoryForInspectionValueType()
-      this.selectEnumByCategoryForSonLaboratory()
-      this.getStandardTemplate()
-      this.selectStandardMethods()
-      this.token = {
-        'token': sessionStorage.getItem('token')
-      },
-      this.isEquipment = this.PROJECT === '瑁呭鐢电紗' ? true : false
-    },
-    methods: {
-      filterNode(value, data) {
-        if (!value) return true;
-        return data.label.indexOf(value) !== -1;
-      },
-      searchFilter() {
-        this.$refs.tree.filter(this.search)
-      },
-      refresh() {
-        this.upIndex++
-      },
-      handleNodeClick(val, node, el) { //鏍戠殑鍊�
-        this.total = 0
-        this.currentPage = 1
-        this.selectTree = ''
-        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(' - ', '')
-        this.selectsStandardMethodByFLSSM()
-        let trees = this.selectTree.split(" - ")
-        this.addOb.factory = trees[0]
-        this.addOb.laboratory = trees[1]
-        this.addOb.sampleType = trees[2]
-        this.addOb.sample = trees[3]
-      },
-      getNodeParent(val) {
-        if (val.parent != null) {
-          if(val.data.children === null){
-            this.selectTree += ' - ' + val.label + ' - ' + 'null'
-          }else{
-            this.selectTree += ' - ' + val.label
-          }
-          this.getNodeParent(val.parent)
-        }
-      },
-      remove(node, data) {
-        this.$confirm("鏄惁鍒犻櫎璇ュ眰绾�", "鎻愮ず", {
-          type: "error"
-        }).then(() => {
+    remove(node, data) {
+      this.$confirm("鏄惁鍒犻櫎璇ュ眰绾�", "鎻愮ず", {
+        type: "error"
+      })
+        .then(() => {
           // this.treeLoad = true
-          this.selectTree = ''
-          this.getNodeParent(node)
-          this.selectTree = this.selectTree.replace(' - ', '')
-          let data = this.selectTree.split(' - ')
-          let data2 = ''
+          this.selectTree = "";
+          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]
+            data2 += " - " + data[index];
           }
-          this.selectTree = data2.replace(' - ', '')
-          this.$axios.post(this.$api.standardTree.delStandardTree, {
-            tree: this.selectTree
-          }).then(res => {
-            if (res.code == 201) return
-            this.$message.success('宸插垹闄�')
-            let arr = this.selectTree.split(' - ');
-            this.deleteStandard(this.list, arr[arr.length - 1])
-            // this.selectStandardTreeList()
-            this.selectTree = ''
-            this.standardList = []
-            this.productList = []
-          })
-        }).catch(e => {})
-      },
-      deleteStandard(arr, label) {
-        arr.forEach((item, index) => {
-          if (item.label == label) {
-            arr.splice(index, 1);
-          } else {
-            item.children && this.deleteStandard(item.children, label);
-          }
+          this.selectTree = data2.replace(" - ", "");
+          this.$axios
+            .post(this.$api.standardTree.delStandardTree, {
+              tree: this.selectTree
+            })
+            .then(res => {
+              if (res.code == 201) return;
+              this.$message.success("宸插垹闄�");
+              let arr = this.selectTree.split(" - ");
+              this.deleteStandard(this.list, arr[arr.length - 1]);
+              // this.selectStandardTreeList()
+              this.selectTree = "";
+              this.standardList = [];
+              this.productList = [];
+            });
         })
-      },
-      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')
-      },
-      selectEnumByCategoryForFactory() {
-        this.$axios.post(this.$api.enums.selectEnumByCategory, {
+        .catch(e => {});
+    },
+    deleteStandard(arr, label) {
+      arr.forEach((item, index) => {
+        if (item.label == label) {
+          arr.splice(index, 1);
+        } else {
+          item.children && this.deleteStandard(item.children, label);
+        }
+      });
+    },
+    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");
+    },
+    selectEnumByCategoryForFactory() {
+      this.$axios
+        .post(this.$api.enums.selectEnumByCategory, {
           category: "宸ュ巶"
-        }).then(res => {
-          this.factory = res.data
         })
-      },
-      selectEnumByCategoryForSonLaboratory() {
-        this.$axios.post(this.$api.enums.selectEnumByCategory, {
+        .then(res => {
+          this.factory = res.data;
+        });
+    },
+    selectEnumByCategoryForSonLaboratory() {
+      this.$axios
+        .post(this.$api.enums.selectEnumByCategory, {
           category: "瀛愬疄楠屽"
-        }).then(res => {
-          this.factory = []
+        })
+        .then(res => {
+          this.factory = [];
           res.data.forEach(a => {
             this.filters.push({
               text: a.label,
               value: a.value
-            })
-          })
-        })
-      },
-      selectEnumByCategoryForDevice() {
-        this.$axios.post(this.$api.enums.selectEnumByCategory, {
+            });
+          });
+        });
+    },
+    selectEnumByCategoryForDevice() {
+      this.$axios
+        .post(this.$api.enums.selectEnumByCategory, {
           category: "璁惧鍒嗙被"
-        }).then(res => {
-          this.componentData.tagField.deviceGroup.select = res.data
         })
-      },
-      selectEnumByCategory() {
-        this.$axios.post(this.$api.enums.selectEnumByCategory, {
+        .then(res => {
+          this.componentData.tagField.deviceGroup.select = res.data;
+        });
+    },
+    selectEnumByCategory() {
+      this.$axios
+        .post(this.$api.enums.selectEnumByCategory, {
           category: "妫�楠岄」绫诲瀷"
-        }).then(res => {
-          res.data[1].type = 'info'
-          this.componentData.tagField.inspectionItemType.select = res.data
         })
-      },
-      selectEnumByCategoryForValue() {
-        this.$axios.post(this.$api.enums.selectEnumByCategory, {
+        .then(res => {
+          res.data[1].type = "info";
+          this.componentData.tagField.inspectionItemType.select = res.data;
+        });
+    },
+    selectEnumByCategoryForValue() {
+      this.$axios
+        .post(this.$api.enums.selectEnumByCategory, {
           category: "鍙栧�肩被鍨�"
-        }).then(res => {
-          this.componentData.tagField.valueType.select = res.data
         })
-      },
-      selectEnumByCategoryForSpecial() {
-        this.$axios.post(this.$api.enums.selectEnumByCategory, {
+        .then(res => {
+          this.componentData.tagField.valueType.select = res.data;
+        });
+    },
+    selectEnumByCategoryForSpecial() {
+      this.$axios
+        .post(this.$api.enums.selectEnumByCategory, {
           category: "鏄惁"
-        }).then(res => {
-          this.componentData.tagField.bsm.select = res.data
         })
-      },
-      selectEnumByCategoryForInspectionValueType() {
-        this.$axios.post(this.$api.enums.selectEnumByCategory, {
+        .then(res => {
+          this.componentData.tagField.bsm.select = res.data;
+        });
+    },
+    selectEnumByCategoryForInspectionValueType() {
+      this.$axios
+        .post(this.$api.enums.selectEnumByCategory, {
           category: "妫�楠屽�肩被鍨�"
-        }).then(res => {
-          this.componentData.tagField.inspectionValueType.select = res.data
         })
-      },
-      selectStandardTreeList() {
-        this.treeLoad = true
-        this.$axios.get(this.$api.standardTree.selectStandardTreeList).then(res => {
-          this.list = res.data
+        .then(res => {
+          this.componentData.tagField.inspectionValueType.select = res.data;
+        });
+    },
+    selectStandardTreeList() {
+      this.treeLoad = true;
+      this.$axios
+        .get(this.$api.standardTree.selectStandardTreeList)
+        .then(res => {
+          this.list = res.data;
           this.list.forEach(a => {
-            this.expandedKeys.push(a.label)
-          })
-          this.treeLoad = false
-        })
-      },
-      obtainItemParameterList() {
-        this.$axios.get(this.$api.laboratoryScope.obtainItemParameterList).then(res => {
-          let data = []
+            this.expandedKeys.push(a.label);
+          });
+          this.treeLoad = false;
+        });
+    },
+    obtainItemParameterList() {
+      this.$axios
+        .get(this.$api.laboratoryScope.obtainItemParameterList)
+        .then(res => {
+          let data = [];
           res.data.forEach(a => {
             data.push({
               label: a.laboratoryName,
               value: a.laboratoryName
-            })
-          })
-          this.laboratory = data
-        })
-      },
-      selectTestObjectByName() {
-        this.$axios.get(this.$api.capacityScope.selectTestObjectByName).then(res => {
-          let data = []
+            });
+          });
+          this.laboratory = data;
+        });
+    },
+    selectTestObjectByName() {
+      this.$axios
+        .get(this.$api.capacityScope.selectTestObjectByName)
+        .then(res => {
+          let data = [];
           res.data.forEach(a => {
             data.push({
               label: a.specimenName,
               value: a.specimenName
-            })
-          })
-          this.sampleType = data
-        })
-      },
-      selectStandardMethods() {
-        this.$axios.get(this.$api.standardMethod.selectStandardMethods).then(res => {
-          let data = []
+            });
+          });
+          this.sampleType = data;
+        });
+    },
+    selectStandardMethods() {
+      this.$axios
+        .get(this.$api.standardMethod.selectStandardMethods)
+        .then(res => {
+          let data = [];
           res.data.forEach(a => {
             data.push({
               label: a.name,
               value: a.id
-            })
-          })
-          this.standardEnum = data
-        })
-      },
-      addStandardMethodList() {
-        if (this.standardId == null || this.standardId == '') {
-          this.$message.error('鏍囧噯鏂规硶鏈�夋嫨')
-          return
-        }
-        this.addLoad2 = true
-        this.$axios.post(this.$api.standardTree.addStandardMethodList, {
+            });
+          });
+          this.standardEnum = data;
+        });
+    },
+    addStandardMethodList() {
+      if (this.standardId == null || this.standardId == "") {
+        this.$message.error("鏍囧噯鏂规硶鏈�夋嫨");
+        return;
+      }
+      this.addLoad2 = true;
+      this.$axios
+        .post(this.$api.standardTree.addStandardMethodList, {
           standardId: this.standardId,
           tree: this.selectTree
-        }).then(res => {
-          this.addLoad2 = false
-          this.addStandardDia = false
-          this.$message.success('娣诲姞鎴愬姛')
-          this.selectsStandardMethodByFLSSM()
         })
-      },
-      addStandardTree() {
-        if (this.addOb.sampleType == null || this.addOb.sampleType == '') {
-          this.$message.error('瀵硅薄涓嶅瓨鍦�')
-          return
-        }
-        if (this.addOb.model == null || this.addOb.model == '') {
-          this.$message.error('璇峰~鍐欏瀷鍙�')
-          return
-        }
-        this.addLoad = true
-        this.$axios.post(this.$api.standardTree.addStandardTree, this.addOb, {
+        .then(res => {
+          this.addLoad2 = false;
+          this.addStandardDia = false;
+          this.$message.success("娣诲姞鎴愬姛");
+          this.selectsStandardMethodByFLSSM();
+        });
+    },
+    addStandardTree() {
+      if (this.addOb.sampleType == null || this.addOb.sampleType == "") {
+        this.$message.error("瀵硅薄涓嶅瓨鍦�");
+        return;
+      }
+      if (this.addOb.model == null || this.addOb.model == "") {
+        this.$message.error("璇峰~鍐欏瀷鍙�");
+        return;
+      }
+      this.addLoad = true;
+      this.$axios
+        .post(this.$api.standardTree.addStandardTree, this.addOb, {
           headers: {
-            'Content-Type': 'application/json'
+            "Content-Type": "application/json"
           }
-        }).then(res => {
-          if (res.code === 201) {
-            this.addLoad = false
-            return
-          }
-          this.$message.success('娣诲姞鎴愬姛')
-          this.addDia = false
-          this.list
-            .find(a => a.label == this.addOb.factory).children
-            .find(a => a.label == this.addOb.laboratory).children
-            .find(a => a.label == this.addOb.sampleType).children
-            .find(a => a.label == this.addOb.sample).children.push({
-              code: '[5]',
-              label: this.addOb.model,
-              value: this.addOb.model,
-            })
-          this.addLoad = false
-        }).catch(e => {
-          this.addDia = false
-          this.addLoad = false
         })
-      },
-      selectsStandardMethodByFLSSM() {
-        this.tableLoad = true
-        this.$axios.post(this.$api.standardTree.selectsStandardMethodByFLSSM, {
+        .then(res => {
+          if (res.code === 201) {
+            this.addLoad = false;
+            return;
+          }
+          this.$message.success("娣诲姞鎴愬姛");
+          this.addDia = false;
+          this.list
+            .find(a => a.label == this.addOb.factory)
+            .children.find(a => a.label == this.addOb.laboratory)
+            .children.find(a => a.label == this.addOb.sampleType)
+            .children.find(a => a.label == this.addOb.sample)
+            .children.push({
+              code: "[5]",
+              label: this.addOb.model,
+              value: this.addOb.model
+            });
+          this.addLoad = false;
+        })
+        .catch(e => {
+          this.addDia = false;
+          this.addLoad = false;
+        });
+    },
+    selectsStandardMethodByFLSSM() {
+      this.tableLoad = true;
+      this.$axios
+        .post(this.$api.standardTree.selectsStandardMethodByFLSSM, {
           tree: this.selectTree
-        }).then(res => {
-          this.tableLoad = false
-          this.standardList = res.data.standardMethodList
+        })
+        .then(res => {
+          this.tableLoad = false;
+          this.standardList = res.data.standardMethodList;
           if (this.standardList && this.standardList.length > 0) {
-            this.$refs.standard.setCurrentRow(this.standardList[0])
-            this.rowClick(this.standardList[0])
+            this.$refs.standard.setCurrentRow(this.standardList[0]);
+            this.rowClick(this.standardList[0]);
           } else {
             this.productList = [];
           }
-        })
-      },
-      getPower() {
-        let power = JSON.parse(sessionStorage.getItem('power'))
-        let add = false
-        let addStandardMethod = false
-        let upStandardProduct = false
-        let delStandardMethod = false
-        let delStandardProduct = false
-        let addStandardProduct = false
-        let delStandardTree = false
-        let inExcelOfTreePower = false
-        for (var i = 0; i < power.length; i++) {
-          if (power[i].menuMethod == 'addStandardTree') {
-            add = true
-          }
-          if (power[i].menuMethod == 'addStandardMethodList') {
-            addStandardMethod = true
-          }
-          if (power[i].menuMethod == 'upStandardProductList') {
-            upStandardProduct = true
-          }
-          if (power[i].menuMethod == 'delStandardMethodByFLSSM') {
-            delStandardMethod = true
-          }
-          if (power[i].menuMethod == 'delStandardProductByIds') {
-            delStandardProduct = true
-          }
-          if (power[i].menuMethod == 'addStandardProduct') {
-            addStandardProduct = true
-          }
-          if (power[i].menuMethod == 'delStandardTree') {
-            delStandardTree = true
-          }
-          if (power[i].menuMethod == 'inExcelOfTree') {
-            inExcelOfTreePower = true
-          }
+        });
+    },
+    getPower() {
+      let power = JSON.parse(sessionStorage.getItem("power"));
+      let add = false;
+      let addStandardMethod = false;
+      let upStandardProduct = false;
+      let delStandardMethod = false;
+      let delStandardProduct = false;
+      let addStandardProduct = false;
+      let delStandardTree = false;
+      let inExcelOfTreePower = false;
+      for (var i = 0; i < power.length; i++) {
+        if (power[i].menuMethod == "addStandardTree") {
+          add = true;
         }
-        this.addPower = add
-        this.addStandardMethod = addStandardMethod
-        this.upStandardProduct = upStandardProduct
-        this.delStandardMethod = delStandardMethod
-        this.delStandardProduct = delStandardProduct
-        this.addStandardProduct = addStandardProduct
-        this.delStandardTree = delStandardTree
-        this.inExcelOfTreePower = inExcelOfTreePower
-      },
-      upStandardProductList(value, index) {
-        this.$axios.post(this.$api.standardTree.upStandardProductList, {
+        if (power[i].menuMethod == "addStandardMethodList") {
+          addStandardMethod = true;
+        }
+        if (power[i].menuMethod == "upStandardProductList") {
+          upStandardProduct = true;
+        }
+        if (power[i].menuMethod == "delStandardMethodByFLSSM") {
+          delStandardMethod = true;
+        }
+        if (power[i].menuMethod == "delStandardProductByIds") {
+          delStandardProduct = true;
+        }
+        if (power[i].menuMethod == "addStandardProduct") {
+          addStandardProduct = true;
+        }
+        if (power[i].menuMethod == "delStandardTree") {
+          delStandardTree = true;
+        }
+        if (power[i].menuMethod == "inExcelOfTree") {
+          inExcelOfTreePower = true;
+        }
+      }
+      this.addPower = add;
+      this.addStandardMethod = addStandardMethod;
+      this.upStandardProduct = upStandardProduct;
+      this.delStandardMethod = delStandardMethod;
+      this.delStandardProduct = delStandardProduct;
+      this.addStandardProduct = addStandardProduct;
+      this.delStandardTree = delStandardTree;
+      this.inExcelOfTreePower = inExcelOfTreePower;
+    },
+    upStandardProductList(value, index) {
+      this.$axios
+        .post(this.$api.standardTree.upStandardProductList, {
           str: JSON.stringify({
             id: index,
             ask: value
           })
-        }).then(res => {
-          if (res.code == 201) {
-            this.$message.error('鏈繚瀛�')
-            return
-          }
-          this.$message.success('宸蹭繚瀛�')
         })
-      },
-      upStandardProductListOfTell(value, index) {
-        this.$axios.post(this.$api.standardTree.upStandardProductList, {
+        .then(res => {
+          if (res.code == 201) {
+            this.$message.error("鏈繚瀛�");
+            return;
+          }
+          this.$message.success("宸蹭繚瀛�");
+        });
+    },
+    upStandardProductListOfTell(value, index) {
+      this.$axios
+        .post(this.$api.standardTree.upStandardProductList, {
           str: JSON.stringify({
             id: index,
             tell: value
           })
-        }).then(res => {
-          if (res.code == 201) {
-            this.$message.error('鏈繚瀛�')
-            return
-          }
-          this.$message.success('宸蹭繚瀛�')
         })
-      },
-      upStandardProductListOfMethodS(value, index) {
-        this.$axios.post(this.$api.standardTree.upStandardProductList, {
+        .then(res => {
+          if (res.code == 201) {
+            this.$message.error("鏈繚瀛�");
+            return;
+          }
+          this.$message.success("宸蹭繚瀛�");
+        });
+    },
+    upStandardProductListOfMethodS(value, index) {
+      this.$axios
+        .post(this.$api.standardTree.upStandardProductList, {
           str: JSON.stringify({
             id: index,
             methodS: value
           })
-        }).then(res => {
+        })
+        .then(res => {
           if (res.code == 201) {
-            this.$message.error('鏈繚瀛�')
-            return
+            this.$message.error("鏈繚瀛�");
+            return;
           }
           // this.$message.success('宸蹭繚瀛�')
-        })
-      },
-      upStandardProductListOfPrice(value, index) {
-        this.$axios.post(this.$api.standardTree.upStandardProductList, {
+        });
+    },
+    upStandardProductListOfPrice(value, index) {
+      this.$axios
+        .post(this.$api.standardTree.upStandardProductList, {
           str: JSON.stringify({
             id: index,
             price: value
           })
-        }).then(res => {
+        })
+        .then(res => {
           if (res.code == 201) {
-            this.$message.error('鏈繚瀛�')
-            return
+            this.$message.error("鏈繚瀛�");
+            return;
           }
           // this.$message.success('宸蹭繚瀛�')
-        })
-      },
-      upStandardProductListOfManHour(value, index) {
-        this.$axios.post(this.$api.standardTree.upStandardProductList, {
+        });
+    },
+    upStandardProductListOfManHour(value, index) {
+      this.$axios
+        .post(this.$api.standardTree.upStandardProductList, {
           str: JSON.stringify({
             id: index,
             manHour: value
           })
-        }).then(res => {
+        })
+        .then(res => {
           if (res.code == 201) {
-            this.$message.error('鏈繚瀛�')
-            return
+            this.$message.error("鏈繚瀛�");
+            return;
           }
           // this.$message.success('宸蹭繚瀛�')
-        })
-      },
-      upStandardProductListOfTemplate(value, index) {
-        this.$axios.post(this.$api.standardTree.upStandardProductList, {
+        });
+    },
+    upStandardProductListOfTemplate(value, index) {
+      this.$axios
+        .post(this.$api.standardTree.upStandardProductList, {
           str: JSON.stringify({
             id: index,
             templateId: value
           })
-        }).then(res => {
+        })
+        .then(res => {
           if (res.code == 201) {
-            this.$message.error('鏈繚瀛�')
-            return
+            this.$message.error("鏈繚瀛�");
+            return;
           }
           // this.$message.success('宸蹭繚瀛�')
+        });
+    },
+    delStandardMethodByFLSSM(id) {
+      this.$confirm("鏄惁鍒犻櫎褰撳墠鏁版嵁?", "璀﹀憡", {
+        confirmButtonText: "纭畾",
+        cancelButtonText: "鍙栨秷",
+        type: "warning"
+      })
+        .then(() => {
+          this.tableLoad = true;
+          this.$axios
+            .post(this.$api.standardTree.delStandardMethodByFLSSM, {
+              id: id
+            })
+            .then(res => {
+              if (res.code == 201) {
+                return;
+              }
+              this.$message.success("宸插垹闄�");
+              this.selectsStandardMethodByFLSSM();
+            });
         })
-      },
-      delStandardMethodByFLSSM(id) {
-        this.$confirm('鏄惁鍒犻櫎褰撳墠鏁版嵁?', "璀﹀憡", {
+        .catch(() => {});
+    },
+    handleSelectionChange(val) {
+      this.selects = [];
+      val.forEach(a => {
+        this.selects.push(a.id);
+      });
+    },
+    delStandardProductByIds() {
+      if (this.selects.length == 0) {
+        this.$message.error("鏈�変腑鏁版嵁");
+        return;
+      }
+      this.$confirm(
+        "鏄惁鍒犻櫎褰撳墠閫変腑 " + this.selects.length + " 鏉℃暟鎹�?",
+        "璀﹀憡",
+        {
           confirmButtonText: "纭畾",
           cancelButtonText: "鍙栨秷",
           type: "warning"
-        }).then(() => {
-          this.tableLoad = true
-          this.$axios.post(this.$api.standardTree.delStandardMethodByFLSSM, {
-            id: id
-          }).then(res => {
-            if (res.code == 201) {
-              return
-            }
-            this.$message.success('宸插垹闄�')
-            this.selectsStandardMethodByFLSSM()
-          })
-        }).catch(() => {})
-      },
-      handleSelectionChange(val) {
-        this.selects = []
-        val.forEach(a => {
-          this.selects.push(a.id)
-        })
-      },
-      delStandardProductByIds() {
-        if (this.selects.length == 0) {
-          this.$message.error('鏈�変腑鏁版嵁')
-          return
         }
-        this.$confirm('鏄惁鍒犻櫎褰撳墠閫変腑 ' + this.selects.length + ' 鏉℃暟鎹�?', "璀﹀憡", {
-          confirmButtonText: "纭畾",
-          cancelButtonText: "鍙栨秷",
-          type: "warning"
-        }).then(() => {
-          this.tableLoad = true
-          this.$axios.post(this.$api.standardTree.delStandardProductByIds, {
-            ids: JSON.stringify(this.selects)
-          }).then(res => {
-            if (res.code == 201) {
-              return
-            }
-            this.$message.success('宸插垹闄�')
-            this.selectsStandardMethodByFLSSM()
-          })
-        }).catch(() => {})
-      },
-      addStandardProductDo() {
-        let selects = this.$refs.ValueTable.multipleSelection
-        if (selects.length == 0) {
-          this.$message.error('鏈�夋嫨鏁版嵁')
-          return
-        }
-        let select = []
-        selects.forEach(a => {
-          select.push(a.id)
+      )
+        .then(() => {
+          this.tableLoad = true;
+          this.$axios
+            .post(this.$api.standardTree.delStandardProductByIds, {
+              ids: JSON.stringify(this.selects)
+            })
+            .then(res => {
+              if (res.code == 201) {
+                return;
+              }
+              this.$message.success("宸插垹闄�");
+              this.selectsStandardMethodByFLSSM();
+            });
         })
-        this.tableLoad = true
-        this.$axios.post(this.$api.standardTree.addStandardProduct, {
+        .catch(() => {});
+    },
+    addStandardProductDo() {
+      let selects = this.$refs.ValueTable.multipleSelection;
+      if (selects.length == 0) {
+        this.$message.error("鏈�夋嫨鏁版嵁");
+        return;
+      }
+      let select = [];
+      selects.forEach(a => {
+        select.push(a.id);
+      });
+      this.tableLoad = true;
+      this.$axios
+        .post(this.$api.standardTree.addStandardProduct, {
           ids: JSON.stringify(select),
           tree: this.selectTree
-        }).then(res => {
-          if (res.code == 201) {
-            return
-          }
-          this.$message.success('娣诲姞鎴愬姛')
-          this.selectsStandardMethodByFLSSM()
         })
-        this.addProductDia = false
-      },
-      rowClick(row, column, event) {
-        this.currentPage = 1;
-        this.tableLoad2 = true
-        this.standardId = row.id
-        this.$axios.post(this.$api.standardTree.selectStandardProductListByMethodId, {
+        .then(res => {
+          if (res.code == 201) {
+            return;
+          }
+          this.$message.success("娣诲姞鎴愬姛");
+          this.selectsStandardMethodByFLSSM();
+        });
+      this.addProductDia = false;
+    },
+    rowClick(row, column, event) {
+      this.currentPage = 1;
+      this.tableLoad2 = true;
+      this.standardId = row.id;
+      this.$axios
+        .post(this.$api.standardTree.selectStandardProductListByMethodId, {
           id: row.id,
           tree: this.selectTree,
           page: this.currentPage
-        }).then(res => {
-          this.productList = res.data.productList
-          this.total = res.data.total
+        })
+        .then(res => {
+          this.productList = res.data.productList;
+          this.total = res.data.total;
           setTimeout(() => {
             this.productList.forEach(a => {
-              if (a.state == 1) this.toggleSelection(a)
-            })
-          }, 300)
-          this.tableLoad2 = false
-        })
-      },
-      toggleSelection(row) {
-        this.$refs.productTable.toggleRowSelection(row, true);
-      },
-      tableRowClassName({
-        row,
-        rowIndex
-      }) {
-        if (row.state === 0) {
-          return 'warning-row';
-        }
-        return '';
-      },
-      upProductSelect(selection, row) {
-        row.state = (row.state == 1 ? 0 : 1)
-        this.$axios.post(this.$api.standardTree.upStandardProductList, {
+              if (a.state == 1) this.toggleSelection(a);
+            });
+          }, 300);
+          this.tableLoad2 = false;
+        });
+    },
+    toggleSelection(row) {
+      this.$refs.productTable.toggleRowSelection(row, true);
+    },
+    tableRowClassName({ row, rowIndex }) {
+      if (row.state === 0) {
+        return "warning-row";
+      }
+      return "";
+    },
+    upProductSelect(selection, row) {
+      row.state = row.state == 1 ? 0 : 1;
+      this.$axios
+        .post(this.$api.standardTree.upStandardProductList, {
           str: JSON.stringify({
             id: row.id,
             state: row.state
           })
-        }).then(res => {
+        })
+        .then(res => {
           if (res.code == 201) {
-            this.$message.error('鏈繚瀛�')
-            return
+            this.$message.error("鏈繚瀛�");
+            return;
           }
           // this.$message.success('宸蹭繚瀛�')
-        })
-      },
-      filterHandler(value) {
-        for (let column in value) {
-          if (value[column].length === 0) {
-            if (column === 'inspectionItem') {
-              this.inspectionItem = null
-            } else if (column === 'inspectionItemSubclass') {
-              this.inspectionItemSubclass = null
-            } else if (column === 'sonLaboratory') {
-              this.sonLaboratory = null
-            }
-          } else {
-            if (column === 'inspectionItem') {
-              this.inspectionItem = value[column][0]
-            } else if (column === 'inspectionItemSubclass') {
-              this.inspectionItemSubclass = value[column][0]
-            } else if (column === 'sonLaboratory') {
-              this.sonLaboratory = value[column][0]
-            }
+        });
+    },
+    filterHandler(value) {
+      for (let column in value) {
+        if (value[column].length === 0) {
+          if (column === "inspectionItem") {
+            this.inspectionItem = null;
+          } else if (column === "inspectionItemSubclass") {
+            this.inspectionItemSubclass = null;
+          } else if (column === "sonLaboratory") {
+            this.sonLaboratory = null;
           }
-          this.getList()
-        }
-      },
-      handleAll(e) {
-        if (e.length > 0) {
-          this.productList.map(m => {
-            m.state = 0
-            this.upProductSelect(null, m)
-            return m
-          })
         } else {
-          this.productList.map(m => {
-            m.state = 1
-            this.upProductSelect(null, m)
-            return m
-          })
-        }
-      },
-      sectionUp(row) {
-        if (Array.isArray(row)) {
-          // 鍊兼槸涓�涓暟缁�
-          if (row.length === 0) {
-            return this.$message.error('璇烽�夋嫨妫�楠岄」')
-          }
-          this.sectionRow = {}
-          this.sectionUpDia = true
-          this.sectionList = []
-        } else {
-          // 鍊兼槸涓�涓璞�
-          this.sectionRow = row
-          this.sectionUpDia = true
-          this.sectionList = []
-          if (this.sectionRow.section != null && this.sectionRow.section != '') {
-            JSON.parse(this.sectionRow.section).forEach((a, ai) => {
-              this.sectionList.push({
-                thing: a,
-                ask: JSON.parse(this.sectionRow.ask)[ai],
-                tell: JSON.parse(this.sectionRow.tell)[ai],
-                price: JSON.parse(this.sectionRow.price)[ai],
-                manHour: JSON.parse(this.sectionRow.manHour)[ai]
-              })
-            })
+          if (column === "inspectionItem") {
+            this.inspectionItem = value[column][0];
+          } else if (column === "inspectionItemSubclass") {
+            this.inspectionItemSubclass = value[column][0];
+          } else if (column === "sonLaboratory") {
+            this.sonLaboratory = value[column][0];
           }
         }
-      },
-      sectionLoadAdd() {
-        let sectionList = []
-        let askList = []
-        let tellList = []
-        let priceList = []
-        let manHourList = []
-        this.sectionList.forEach(a => {
-          if (a.thing !== '') {
-            sectionList.push(a.thing)
-            askList.push(a.ask)
-            tellList.push(a.tell)
-            priceList.push(a.price)
-            manHourList.push(a.manHour)
-          }
-        })
-        if (sectionList.length === 0) {
-          this.sectionRow.section = null
-          this.sectionRow.ask = null
-          this.sectionRow.tell = null
-          this.sectionRow.price = null
-          this.sectionRow.manHour = null
-        } else {
-          this.sectionRow.section = JSON.stringify(sectionList)
-          this.sectionRow.ask = JSON.stringify(askList)
-          this.sectionRow.tell = JSON.stringify(tellList)
-          this.sectionRow.price = JSON.stringify(priceList)
-          this.sectionRow.manHour = JSON.stringify(manHourList)
+        this.getList();
+      }
+    },
+    handleAll(e) {
+      if (e.length > 0) {
+        this.productList.map(m => {
+          m.state = 0;
+          this.upProductSelect(null, m);
+          return m;
+        });
+      } else {
+        this.productList.map(m => {
+          m.state = 1;
+          this.upProductSelect(null, m);
+          return m;
+        });
+      }
+    },
+    sectionUp(row) {
+      if (Array.isArray(row)) {
+        // 鍊兼槸涓�涓暟缁�
+        if (row.length === 0) {
+          return this.$message.error("璇烽�夋嫨妫�楠岄」");
         }
-        this.sectionLoad = true
-        if (this.moreSelects.length === 0) {
-          this.$axios.post(this.$api.standardTree.upStandardProductList, {
+        this.sectionRow = {};
+        this.sectionUpDia = true;
+        this.sectionList = [];
+      } else {
+        // 鍊兼槸涓�涓璞�
+        this.sectionRow = row;
+        this.sectionUpDia = true;
+        this.sectionList = [];
+        if (this.sectionRow.section != null && this.sectionRow.section != "") {
+          JSON.parse(this.sectionRow.section).forEach((a, ai) => {
+            this.sectionList.push({
+              thing: a,
+              ask: JSON.parse(this.sectionRow.ask)[ai],
+              tell: JSON.parse(this.sectionRow.tell)[ai],
+              price: JSON.parse(this.sectionRow.price)[ai],
+              manHour: JSON.parse(this.sectionRow.manHour)[ai]
+            });
+          });
+        }
+      }
+    },
+    sectionLoadAdd() {
+      let sectionList = [];
+      let askList = [];
+      let tellList = [];
+      let priceList = [];
+      let manHourList = [];
+      this.sectionList.forEach(a => {
+        if (a.thing !== "") {
+          sectionList.push(a.thing);
+          askList.push(a.ask);
+          tellList.push(a.tell);
+          priceList.push(a.price);
+          manHourList.push(a.manHour);
+        }
+      });
+      if (sectionList.length === 0) {
+        this.sectionRow.section = null;
+        this.sectionRow.ask = null;
+        this.sectionRow.tell = null;
+        this.sectionRow.price = null;
+        this.sectionRow.manHour = null;
+      } else {
+        this.sectionRow.section = JSON.stringify(sectionList);
+        this.sectionRow.ask = JSON.stringify(askList);
+        this.sectionRow.tell = JSON.stringify(tellList);
+        this.sectionRow.price = JSON.stringify(priceList);
+        this.sectionRow.manHour = JSON.stringify(manHourList);
+      }
+      this.sectionLoad = true;
+      if (this.moreSelects.length === 0) {
+        this.$axios
+          .post(this.$api.standardTree.upStandardProductList, {
             str: JSON.stringify({
               id: this.sectionRow.id,
               section: this.sectionRow.section,
@@ -1276,115 +1797,137 @@
               price: this.sectionRow.price,
               manHour: this.sectionRow.manHour
             })
-          }).then(res => {
-            this.sectionLoad = false
-            if (res.code == 201) {
-              this.$message.error('鏈繚瀛�')
-              return
-            }
-            this.$message.success('宸蹭繚瀛�')
-            this.sectionUpDia = false
           })
-        } else {
-          this.$axios.post(this.$api.standardTree.upStandardProducts, {
-            ids: JSON.stringify(this.moreSelects.map(a => a.id)),
-            standardProductList: {
-              section: this.sectionRow.section,
-              ask: this.sectionRow.ask,
-              tell: this.sectionRow.tell,
-              price: this.sectionRow.price,
-              manHour: this.sectionRow.manHour
-            }
-          }, {
-            headers: {
-              'Content-Type': 'application/json'
-            }
-          }).then(res => {
-            this.sectionLoad = false
+          .then(res => {
+            this.sectionLoad = false;
             if (res.code == 201) {
-              this.$message.error('鏈繚瀛�')
-              return
+              this.$message.error("鏈繚瀛�");
+              return;
             }
-            this.$message.success('宸蹭繚瀛�')
-            this.sectionUpDia = false
+            this.$message.success("宸蹭繚瀛�");
+            this.sectionUpDia = false;
+          });
+      } else {
+        this.$axios
+          .post(
+            this.$api.standardTree.upStandardProducts,
+            {
+              ids: JSON.stringify(this.moreSelects.map(a => a.id)),
+              standardProductList: {
+                section: this.sectionRow.section,
+                ask: this.sectionRow.ask,
+                tell: this.sectionRow.tell,
+                price: this.sectionRow.price,
+                manHour: this.sectionRow.manHour
+              }
+            },
+            {
+              headers: {
+                "Content-Type": "application/json"
+              }
+            }
+          )
+          .then(res => {
+            this.sectionLoad = false;
+            if (res.code == 201) {
+              this.$message.error("鏈繚瀛�");
+              return;
+            }
+            this.$message.success("宸蹭繚瀛�");
+            this.sectionUpDia = false;
             this.currentPage0 = 1;
-            this.getList()
+            this.getList();
             this.rowClick({
               id: this.standardId
-            })
-          })
-        }
-      },
-      getStandardTemplate() {
-        this.$axios.get(this.$api.StandardTemplate.getStandardTemplate).then(res => {
-          this.templateList = res.data
-        })
-      },
-      handleCurrentChange(val) {
-        this.currentPage = val;
-        this.tableLoad2 = true
-        this.$axios.post(this.$api.standardTree.selectStandardProductListByMethodId, {
+            });
+          });
+      }
+    },
+    getStandardTemplate() {
+      this.$axios
+        .get(this.$api.StandardTemplate.getStandardTemplate)
+        .then(res => {
+          this.templateList = res.data;
+        });
+    },
+    handleCurrentChange(val) {
+      this.currentPage = val;
+      this.tableLoad2 = true;
+      this.$axios
+        .post(this.$api.standardTree.selectStandardProductListByMethodId, {
           id: this.standardId,
           tree: this.selectTree,
           page: val
-        }).then(res => {
-          this.productList = res.data.productList
+        })
+        .then(res => {
+          this.productList = res.data.productList;
           setTimeout(() => {
             this.productList.forEach(a => {
-              if (a.state == 1) this.toggleSelection(a)
-            })
-          }, 200)
-          this.tableLoad2 = false
-        })
-      },
-      async handleMore() {
-        if ((!this.standardId && this.standardId != 0) || this.standardList.length == 0) {
-          return this.$message.error('璇烽�夋嫨瀹為獙瀹ゃ�佹牱鍝�')
-        }
-        await this.getList()
-        this.moreEdit = true
-      },
-      selectStandardMethods() {
-        this.$axios.get(this.$api.standardMethod.selectStandardMethods).then(res => {
-          let data = []
+              if (a.state == 1) this.toggleSelection(a);
+            });
+          }, 200);
+          this.tableLoad2 = false;
+        });
+    },
+    async handleMore() {
+      if (
+        (!this.standardId && this.standardId != 0) ||
+        this.standardList.length == 0
+      ) {
+        return this.$message.error("璇烽�夋嫨瀹為獙瀹ゃ�佹牱鍝�");
+      }
+      await this.getList();
+      this.moreEdit = true;
+    },
+    selectStandardMethods() {
+      this.$axios
+        .get(this.$api.standardMethod.selectStandardMethods)
+        .then(res => {
+          let data = [];
           res.data.forEach(a => {
             data.push({
               label: a.code,
               value: a.code
-            })
-          })
-          this.methodList = data
-        })
-      },
-      subMoreEdit() {
-        if (this.moreSelects.length === 0) {
-          return this.$message.error('璇烽�夋嫨妫�楠岄」')
+            });
+          });
+          this.methodList = data;
+        });
+    },
+    subMoreEdit() {
+      if (this.moreSelects.length === 0) {
+        return this.$message.error("璇烽�夋嫨妫�楠岄」");
+      }
+      this.moreEditLoad = true;
+      for (let a in this.moreInfo) {
+        if (this.moreInfo[a] == "") {
+          delete this.moreInfo[a];
         }
-        this.moreEditLoad = true
-        for (let a in this.moreInfo) {
-          if (this.moreInfo[a] == '') {
-            delete this.moreInfo[a]
+      }
+      this.$axios
+        .post(
+          this.$api.standardTree.upStandardProducts,
+          {
+            ids: JSON.stringify(this.moreSelects.map(a => a.id)),
+            standardProductList: this.moreInfo
+          },
+          {
+            headers: {
+              "Content-Type": "application/json"
+            }
           }
-        }
-        this.$axios.post(this.$api.standardTree.upStandardProducts, {
-          ids: JSON.stringify(this.moreSelects.map(a => a.id)),
-          standardProductList: this.moreInfo
-        }, {
-          headers: {
-            'Content-Type': 'application/json'
-          }
-        }).then(res => {
-          this.moreEditLoad = false
+        )
+        .then(res => {
+          this.moreEditLoad = false;
           if (res.code == 201) {
-            this.$message.error('鏈繚瀛�')
-            return
+            this.$message.error("鏈繚瀛�");
+            return;
           }
-          this.$message.success('宸蹭繚瀛�')
+          this.$message.success("宸蹭繚瀛�");
           this.currentPage0 = 1;
-          this.getList()
+          this.getList();
           this.rowClick({
             id: this.standardId
-          })
+          });
           // this.moreInfo = {
           //   ask:'',
           //   tell:'',
@@ -1393,166 +1936,184 @@
           //   manHour:'',
           //   templateId:''
           // }
-        })
-      },
-      handleSelectAll0(rows) {
-        if (rows.length) {
-          rows.forEach(a => {
-            if (!this.moreSelects.find(b => a.id === b.id)) {
-              this.moreSelects.push(a)
-            }
-          })
-        } else {
-          this.productList0.forEach(a => {
-            this.moreSelects = this.moreSelects.filter(b => b.id != a.id)
-          })
-        }
-      },
-      handleSelectionChange0(val, row) {
-        if (this.moreSelects.find(a => a.id === row.id)) {
-          this.moreSelects = this.moreSelects.filter(a => a.id != row.id)
-        } else {
-          this.moreSelects.push(row)
-        }
-      },
-      getList() {
-        this.productTableLoading0 = true
-        this.getItemEnum()
-        this.$axios.post(this.$api.standardTree.selectStandardProductByMethodId, {
+        });
+    },
+    handleSelectAll0(rows) {
+      if (rows.length) {
+        rows.forEach(a => {
+          if (!this.moreSelects.find(b => a.id === b.id)) {
+            this.moreSelects.push(a);
+          }
+        });
+      } else {
+        this.productList0.forEach(a => {
+          this.moreSelects = this.moreSelects.filter(b => b.id != a.id);
+        });
+      }
+    },
+    handleSelectionChange0(val, row) {
+      if (this.moreSelects.find(a => a.id === row.id)) {
+        this.moreSelects = this.moreSelects.filter(a => a.id != row.id);
+      } else {
+        this.moreSelects.push(row);
+      }
+    },
+    getList() {
+      this.productTableLoading0 = true;
+      this.getItemEnum();
+      this.$axios
+        .post(this.$api.standardTree.selectStandardProductByMethodId, {
           id: this.standardId,
           tree: this.selectTree,
           page: this.currentPage0,
           laboratory: this.sonLaboratory,
           items: this.inspectionItemSubclass,
           item: this.inspectionItem
-        }).then(res => {
-          this.productList0 = res.data.records
-          this.total0 = res.data.total
-          this.productTableLoading0 = false
-          this.page = res.data.pages
+        })
+        .then(res => {
+          this.productList0 = res.data.records;
+          this.total0 = res.data.total;
+          this.productTableLoading0 = false;
+          this.page = res.data.pages;
           this.$nextTick(() => {
             this.productList0.forEach((a, i) => {
               if (this.moreSelects.find(b => a.id == b.id)) {
-                this.$refs.productTable0.toggleRowSelection(this.productList0[i], true)
+                this.$refs.productTable0.toggleRowSelection(
+                  this.productList0[i],
+                  true
+                );
               }
-            })
-          })
-        })
-      },
-      handleCurrentChange0(e) {
-        this.currentPage0 = e;
-        this.getList()
-      },
-      getItemEnum() {
-        this.$axios.post(this.$api.standardTree.selectStandardProductEnumByMethodId, {
+            });
+          });
+        });
+    },
+    handleCurrentChange0(e) {
+      this.currentPage0 = e;
+      this.getList();
+    },
+    getItemEnum() {
+      this.$axios
+        .post(this.$api.standardTree.selectStandardProductEnumByMethodId, {
           id: this.standardId,
           tree: this.selectTree,
-          item:this.inspectionItem
-        }).then(res => {
-          this.filters0 = []
-          this.filters1 = []
+          item: this.inspectionItem
+        })
+        .then(res => {
+          this.filters0 = [];
+          this.filters1 = [];
           res.data.item.forEach(a => {
             this.filters0.push({
               text: a.inspectionItem,
               value: a.inspectionItem
-            })
-          })
+            });
+          });
           res.data.items.forEach(a => {
             if (a != null) {
               this.filters1.push({
                 text: a.inspectionItemSubclass,
                 value: a.inspectionItemSubclass
-              })
+              });
             }
-          })
-        })
-      },
-      beforeUpload(file, fileList) {
-        if (file.raw.type != 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet') {
-          this.$message.error('涓婁紶鏂囦欢鏍煎紡涓嶆纭�');
-          this.$refs.upload.clearFiles()
-          return false;
-        }
-      },
-      submitUpload() {
-        if (this.$refs.upload.uploadFiles.length == 0) {
-          this.$message.error('鏈�夋嫨鏂囦欢')
-          return
-        }
-        this.uploading = true
-        this.$refs.upload.submit();
-      },
-      onSuccess(response, file, fileList) {
-        this.$refs.upload.clearFiles()
-        this.uploadDia = false
-        this.uploading = false
-        if (response.code == 201) {
-          this.$message.error(response.message)
-          return
-        }
-        this.$message.success('涓婁紶鎴愬姛')
-        this.standardList = []
-        this.productList = []
-        this.selectStandardTreeList()
-      },
-      onError(err, file, fileList) {
-        this.$message.error('涓婁紶澶辫触')
-        this.$refs.upload.clearFiles()
-        this.uploading = false
-      },
-      clearProduct(type){
-        this.$confirm('鏄惁娓呯┖?', "璀﹀憡", {
-          confirmButtonText: "纭畾",
-          cancelButtonText: "鍙栨秷",
-          type: "warning"
-        }).then(() => {
-          if(type === 1){
-            this.$axios.post(this.$api.standardTree.resetTreeOfPrice, {
-              tree: this.selectTree,
-              standardId: this.standardId
-            }).then(res => {
-              if (res.code == 201) {
-                return
-              }
-              this.$message.success('宸叉竻绌�')
-              this.currentPage0 = 1;
-              this.getList()
-              this.rowClick({
-                id: this.standardId
-              })
-            })
-          }else if(type === 2){
-            this.$axios.post(this.$api.standardTree.resetTreeOfHour, {
-              tree: this.selectTree,
-              standardId: this.standardId
-            }).then(res => {
-              if (res.code == 201) {
-                return
-              }
-              this.$message.success('宸叉竻绌�')
-              this.currentPage0 = 1;
-              this.getList()
-              this.rowClick({
-                id: this.standardId
-              })
-            })
-          }
-        }).catch(() => {})
-      },
-      handleDown(){
-        this.outLoading = true
-        this.$axios.get(this.$api.standardTree.exportStandTree,{responseType: 'blob'}).then(res => {
-          this.outLoading = false
-          this.$message.success('瀵煎嚭鎴愬姛')
-          const blob = new Blob([res],{ type: 'application/force-download' });
-          const url = URL.createObjectURL(blob);
-          const link = document.createElement('a');
-          link.href = url;
-          link.download = '妫�楠屾爣鍑�.xlsx';
-          link.click();
-          document.body.removeChild(link)
-        })
+          });
+        });
+    },
+    beforeUpload(file, fileList) {
+      if (
+        file.raw.type !=
+        "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
+      ) {
+        this.$message.error("涓婁紶鏂囦欢鏍煎紡涓嶆纭�");
+        this.$refs.upload.clearFiles();
+        return false;
       }
+    },
+    submitUpload() {
+      if (this.$refs.upload.uploadFiles.length == 0) {
+        this.$message.error("鏈�夋嫨鏂囦欢");
+        return;
+      }
+      this.uploading = true;
+      this.$refs.upload.submit();
+    },
+    onSuccess(response, file, fileList) {
+      this.$refs.upload.clearFiles();
+      this.uploadDia = false;
+      this.uploading = false;
+      if (response.code == 201) {
+        this.$message.error(response.message);
+        return;
+      }
+      this.$message.success("涓婁紶鎴愬姛");
+      this.standardList = [];
+      this.productList = [];
+      this.selectStandardTreeList();
+    },
+    onError(err, file, fileList) {
+      this.$message.error("涓婁紶澶辫触");
+      this.$refs.upload.clearFiles();
+      this.uploading = false;
+    },
+    clearProduct(type) {
+      this.$confirm("鏄惁娓呯┖?", "璀﹀憡", {
+        confirmButtonText: "纭畾",
+        cancelButtonText: "鍙栨秷",
+        type: "warning"
+      })
+        .then(() => {
+          if (type === 1) {
+            this.$axios
+              .post(this.$api.standardTree.resetTreeOfPrice, {
+                tree: this.selectTree,
+                standardId: this.standardId
+              })
+              .then(res => {
+                if (res.code == 201) {
+                  return;
+                }
+                this.$message.success("宸叉竻绌�");
+                this.currentPage0 = 1;
+                this.getList();
+                this.rowClick({
+                  id: this.standardId
+                });
+              });
+          } else if (type === 2) {
+            this.$axios
+              .post(this.$api.standardTree.resetTreeOfHour, {
+                tree: this.selectTree,
+                standardId: this.standardId
+              })
+              .then(res => {
+                if (res.code == 201) {
+                  return;
+                }
+                this.$message.success("宸叉竻绌�");
+                this.currentPage0 = 1;
+                this.getList();
+                this.rowClick({
+                  id: this.standardId
+                });
+              });
+          }
+        })
+        .catch(() => {});
+    },
+    handleDown() {
+      this.outLoading = true;
+      this.$axios
+        .get(this.$api.standardTree.exportStandTree, { responseType: "blob" })
+        .then(res => {
+          this.outLoading = false;
+          this.$message.success("瀵煎嚭鎴愬姛");
+          const blob = new Blob([res], { type: "application/force-download" });
+          const url = URL.createObjectURL(blob);
+          const link = document.createElement("a");
+          link.href = url;
+          link.download = "妫�楠屾爣鍑�.xlsx";
+          link.click();
+          document.body.removeChild(link);
+        });
     }
   }
+};
 </script>

--
Gitblit v1.9.3