From ff0d18ecf8781e9f75a83e305142a753c3a7098d Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期四, 20 二月 2025 17:40:55 +0800
Subject: [PATCH] 解决页面缓存问题

---
 src/components/Table/lims-table.vue                    |    2 
 src/views/standard/model/index.vue                     |    1 
 src/views/standard/standardLibrary/index.vue           |  564 ++++++--------------------
 src/views/performance/manHour/index.vue                |   24 
 src/views/CNAS/process/method/standardMethod/index.vue |  141 +-----
 src/views/performance/class/index.vue                  |  491 +++++++---------------
 src/views/business/inspectionTask/inspection.vue       |    1 
 src/views/business/inspectionTask/index.vue            |    1 
 8 files changed, 324 insertions(+), 901 deletions(-)

diff --git a/src/components/Table/lims-table.vue b/src/components/Table/lims-table.vue
index 879357a..fb86ea4 100644
--- a/src/components/Table/lims-table.vue
+++ b/src/components/Table/lims-table.vue
@@ -268,7 +268,7 @@
       row.forEach((a) => {
         count += a.name.length;
       });
-      return count * 15 + 40 + "px";
+      return count * 15 + 60 + "px";
     },
     iconFn(row) {
       if (row.name === "缂栬緫" || row.name === "淇敼") {
diff --git a/src/views/CNAS/process/method/standardMethod/index.vue b/src/views/CNAS/process/method/standardMethod/index.vue
index b970b5f..f29c0e2 100644
--- a/src/views/CNAS/process/method/standardMethod/index.vue
+++ b/src/views/CNAS/process/method/standardMethod/index.vue
@@ -37,157 +37,70 @@
       <div class="search_thing">
         <div class="search_label">鏍囧噯缂栧彿锛�</div>
         <div class="search_input">
-          <el-input
-            size="small"
-            placeholder="璇疯緭鍏�"
-            clearable
-            v-model="queryParams.code"
-            @keyup.enter.native="refreshTable()"
-          ></el-input>
+          <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="queryParams.code"
+            @keyup.enter.native="refreshTable()"></el-input>
         </div>
       </div>
       <div class="search_thing">
         <div class="search_label">鏍囧噯鍚嶇О锛�</div>
         <div class="search_input">
-          <el-input
-            size="small"
-            placeholder="璇疯緭鍏�"
-            clearable
-            v-model="queryParams.name"
-            @keyup.enter.native="refreshTable()"
-          ></el-input>
+          <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="queryParams.name"
+            @keyup.enter.native="refreshTable()"></el-input>
         </div>
       </div>
       <div class="search_thing" style="padding-left: 30px">
         <el-button size="small" @click="refresh()">閲� 缃�</el-button>
-        <el-button size="small" type="primary" @click="refreshTable()"
-          >鏌� 璇�</el-button
-        >
+        <el-button size="small" type="primary" @click="refreshTable()">鏌� 璇�</el-button>
       </div>
       <div class="btn">
-        <el-button
-          size="small"
-          @click="$refs.ValueTable.openUpload()"
-          v-if="inPower"
-        >
+        <el-button size="small" @click="$refs.ValueTable.openUpload()" v-if="inPower">
           <i class="el-icon-upload2" style="color: #3a7bfa"></i>
-          <span style="color: #3a7bfa">瀵煎叆</span></el-button
-        >
-        <el-button size="small" type="primary" @click="openAdd" v-if="addPower"
-          >鏂板</el-button
-        >
+          <span style="color: #3a7bfa">瀵煎叆</span></el-button>
+        <el-button size="small" type="primary" @click="openAdd" v-if="addPower">鏂板</el-button>
       </div>
     </div>
-    <lims-table
-      :tableData="tableData"
-      :column="column"
-      :page="page"
-      :tableLoading="tableLoading"
-      :height="'calc(100vh - 250px)'"
-      style="padding: 20px; padding-top: 0"
-      @pagination="pagination"
-    ></lims-table>
+    <lims-table :tableData="tableData" :column="column" :page="page" :tableLoading="tableLoading"
+      :height="'calc(100vh - 250px)'" style="padding: 20px; padding-top: 0" @pagination="pagination"></lims-table>
     <!-- 鏂板/缂栬緫 -->
     <el-dialog :title="title" :visible.sync="addDlog" width="500px">
-      <el-form
-        :model="addForm"
-        ref="addForm"
-        :rules="addRules"
-        label-position="right"
-        label-width="120px"
-      >
+      <el-form :model="addForm" ref="addForm" :rules="addRules" label-position="right" label-width="120px">
         <el-form-item label="棰嗗煙" prop="field">
-          <el-input
-            size="small"
-            placeholder="璇疯緭鍏�"
-            clearable
-            v-model="addForm.field"
-          ></el-input>
+          <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="addForm.field"></el-input>
         </el-form-item>
         <el-form-item label="鏍囧噯缂栧彿" prop="code">
-          <el-input
-            size="small"
-            placeholder="璇疯緭鍏�"
-            clearable
-            v-model="addForm.code"
-          >
+          <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="addForm.code">
           </el-input>
         </el-form-item>
         <el-form-item label="妫�楠屽璞�" prop="structureTestObjectId">
-          <el-cascader
-            size="small"
-            :options="tandardTree"
-            v-model="addForm.structureTestObjectId"
-            collapse-tags
-            :props="{ multiple: true, checkStrictly: true }"
-            clearable
-            style="width: 100%"
-          ></el-cascader>
+          <el-cascader size="small" :options="tandardTree" v-model="addForm.structureTestObjectId" collapse-tags
+            :props="{ multiple: true, checkStrictly: true }" clearable style="width: 100%"></el-cascader>
         </el-form-item>
         <el-form-item label="鏍囧噯鎻忚堪" prop="name">
-          <el-input
-            size="small"
-            placeholder="璇疯緭鍏�"
-            clearable
-            v-model="addForm.name"
-          >
+          <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="addForm.name">
           </el-input>
         </el-form-item>
         <el-form-item label="鏍囧噯鎻忚堪EN" prop="nameEn">
-          <el-input
-            size="small"
-            placeholder="璇疯緭鍏�"
-            clearable
-            v-model="addForm.nameEn"
-          >
+          <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="addForm.nameEn">
           </el-input>
         </el-form-item>
         <el-form-item label="澶囨敞" prop="remark">
-          <el-input
-            size="small"
-            placeholder="璇疯緭鍏�"
-            clearable
-            v-model="addForm.remark"
-          >
+          <el-input size="small" placeholder="璇疯緭鍏�" clearable v-model="addForm.remark">
           </el-input>
         </el-form-item>
         <el-form-item label="璧勮川" prop="qualificationId">
-          <el-select
-            v-model="addForm.qualificationId"
-            size="small"
-            clearable
-            placeholder="璇烽�夋嫨"
-            style="width: 100%"
-          >
-            <el-option
-              v-for="item in qualificationList"
-              :key="item.value"
-              :label="item.label"
-              :value="item.value"
-            >
+          <el-select v-model="addForm.qualificationId" size="small" clearable placeholder="璇烽�夋嫨" style="width: 100%">
+            <el-option v-for="item in qualificationList" :key="item.value" :label="item.label" :value="item.value">
             </el-option>
           </el-select>
         </el-form-item>
         <el-form-item label="鏄惁浜у搧鏍囧噯" prop="isProduct">
-          <el-select
-            v-model="addForm.isProduct"
-            size="small"
-            clearable
-            placeholder="璇烽�夋嫨"
-            style="width: 100%"
-          >
+          <el-select v-model="addForm.isProduct" size="small" clearable placeholder="璇烽�夋嫨" style="width: 100%">
             <el-option label="鍚�" :value="0"> </el-option>
             <el-option label="鏄�" :value="1"> </el-option>
           </el-select>
         </el-form-item>
         <el-form-item label="鏄惁鍚敤" prop="isUse">
-          <el-select
-            v-model="addForm.isUse"
-            size="small"
-            clearable
-            placeholder="璇烽�夋嫨"
-            style="width: 100%"
-          >
+          <el-select v-model="addForm.isUse" size="small" clearable placeholder="璇烽�夋嫨" style="width: 100%">
             <el-option label="鍚�" :value="0"> </el-option>
             <el-option label="鏄�" :value="1"> </el-option>
           </el-select>
@@ -195,12 +108,7 @@
       </el-form>
       <span slot="footer" class="dialog-footer">
         <el-button @click="addDlog = false">鍙� 娑�</el-button>
-        <el-button
-          :loading="addLoading"
-          type="primary"
-          @click="submitProduct('addForm')"
-          >纭� 璁�</el-button
-        >
+        <el-button :loading="addLoading" type="primary" @click="submitProduct('addForm')">纭� 璁�</el-button>
       </span>
     </el-dialog>
   </div>
@@ -216,6 +124,7 @@
   upStandardMethod,
 } from "@/api/cnas/process/method/standardMethod";
 export default {
+  name: 'StandardMethod',
   components: {
     limsTable,
   },
@@ -481,7 +390,7 @@
             this.getList();
           });
         })
-        .catch(() => {});
+        .catch(() => { });
     },
   },
 };
diff --git a/src/views/business/inspectionTask/index.vue b/src/views/business/inspectionTask/index.vue
index 4c59a35..f71274e 100644
--- a/src/views/business/inspectionTask/index.vue
+++ b/src/views/business/inspectionTask/index.vue
@@ -254,6 +254,7 @@
 } from "@/api/business/inspectionTask.js";
 import { mapGetters } from "vuex";
 export default {
+  name: 'InspectionTask',
   components: {
     EditInspectionItem,
     limsTable,
diff --git a/src/views/business/inspectionTask/inspection.vue b/src/views/business/inspectionTask/inspection.vue
index a633db3..aea46d7 100644
--- a/src/views/business/inspectionTask/inspection.vue
+++ b/src/views/business/inspectionTask/inspection.vue
@@ -547,6 +547,7 @@
 import html2canvas from "html2canvas";
 import { mapGetters } from "vuex";
 export default {
+  name: 'inspection',
   components: {
     PurchaseVerification,
     AddUnPass,
diff --git a/src/views/performance/class/index.vue b/src/views/performance/class/index.vue
index 18e6ed2..d5a7a4a 100644
--- a/src/views/performance/class/index.vue
+++ b/src/views/performance/class/index.vue
@@ -4,123 +4,57 @@
       <div class="search_thing">
         <div class="search_label">閫夋嫨鏃堕棿锛�</div>
         <div class="search_input">
-          <el-date-picker
-            v-model="query.year"
-            type="year"
-            size="small"
-            format="yyyy"
-            placeholder="閫夋嫨骞�"
-            @change="refreshTable()"
-            style="width: 140px"
-            :clearable="false"
-          >
+          <el-date-picker v-model="query.year" type="year" size="small" format="yyyy" placeholder="閫夋嫨骞�"
+            @change="refreshTable()" style="width: 140px" :clearable="false">
           </el-date-picker>
-          <el-select
-            v-model="query.month"
-            clearable
-            placeholder="閫夋嫨鏈�"
-            style="width: 140px; margin-left: 16px"
-            size="small"
-            @change="refreshTable()"
-          >
-            <el-option
-              v-for="item in monthOptions"
-              :key="item.value"
-              :label="item.label"
-              :value="item.value"
-            >
+          <el-select v-model="query.month" clearable placeholder="閫夋嫨鏈�" style="width: 140px; margin-left: 16px"
+            size="small" @change="refreshTable()">
+            <el-option v-for="item in monthOptions" :key="item.value" :label="item.label" :value="item.value">
             </el-option>
           </el-select>
-          <el-input
-            v-model="query.userName"
-            placeholder="璇疯緭鍏ヤ汉鍛樺悕绉�"
-            size="small"
-            style="width: 140px; margin: 0 16px"
-            clearable
-            @keyup.enter.native="refreshTable()"
-          ></el-input>
-          <el-select
-            v-model="query.laboratory"
-            placeholder="璇烽�夋嫨瀹為獙瀹�"
-            style="width: 140px"
-            size="small"
-            clearable
-            @change="refreshTable()"
-          >
-            <el-option
-              v-for="item in laboratory"
-              :key="item.value"
-              :label="item.label"
-              :value="item.value"
-            >
+          <el-input v-model="query.userName" placeholder="璇疯緭鍏ヤ汉鍛樺悕绉�" size="small" style="width: 140px; margin: 0 16px"
+            clearable @keyup.enter.native="refreshTable()"></el-input>
+          <el-select v-model="query.laboratory" placeholder="璇烽�夋嫨瀹為獙瀹�" style="width: 140px" size="small" clearable
+            @change="refreshTable()">
+            <el-option v-for="item in laboratory" :key="item.value" :label="item.label" :value="item.value">
             </el-option>
           </el-select>
         </div>
       </div>
       <div class="search_thing" style="padding-left: 30px">
         <el-button size="small" @click="refresh()">閲� 缃�</el-button>
-        <el-button size="small" type="primary" @click="refreshTable()"
-          >鏌� 璇�</el-button
-        >
+        <el-button size="small" type="primary" @click="refreshTable()">鏌� 璇�</el-button>
       </div>
       <div class="search_thing btns" style="padding-left: 30px">
-        <el-button
-          size="small"
-          type="primary"
-          v-if="checkPermi(['performance:class:time'])"
-          @click="configTime"
-          >鏃堕棿閰嶇疆</el-button
-        >
-        <el-button
-          size="small"
-          type="primary"
-          v-if="checkPermi(['performance:class:down'])"
-          @click="handleDown"
-          :loading="downLoading"
-          >瀵� 鍑�</el-button
-        >
-        <el-button
-          size="small"
-          type="primary"
-          @click="schedulingVisible = true"
-          v-if="checkPermi(['performance:class:add'])"
-          >鎺� 鐝�</el-button
-        >
+        <el-button size="small" type="primary" v-if="checkPermi(['performance:class:time'])"
+          @click="configTime">鏃堕棿閰嶇疆</el-button>
+        <el-button size="small" type="primary" v-if="checkPermi(['performance:class:down'])" @click="handleDown"
+          :loading="downLoading">瀵� 鍑�</el-button>
+        <el-button size="small" type="primary" @click="schedulingVisible = true"
+          v-if="checkPermi(['performance:class:add'])">鎺� 鐝�</el-button>
       </div>
     </div>
     <div class="center" v-loading="pageLoading">
       <div class="clearfix" style="width: 100%" v-show="query.month">
         <div class="fixed-left">
-          <div
-            class="content-title"
-            style="padding-left: 16px; box-sizing: border-box"
-          >
+          <div class="content-title" style="padding-left: 16px; box-sizing: border-box">
             浜哄憳鍚嶇О
           </div>
-          <div
-            class="content-user"
-            :class="{ hoverType: currentUserIndex == index }"
-            v-for="(item, index) in list"
-            :key="'e' + index"
-            v-on:mouseenter="onMouseEnter(index)"
-            v-on:mouseleave="currentUserIndex = null"
-          >
+          <div class="content-user" :class="{ hoverType: currentUserIndex == index }" v-for="(item, index) in list"
+            :key="'e' + index" v-on:mouseenter="onMouseEnter(index)" v-on:mouseleave="currentUserIndex = null">
             <div class="user-pic">
               {{ item.name ? item.name.charAt(0) : "" }}
             </div>
             <div class="user-info">
-              <p
-                style="
+              <p style="
                   font-size: 14px;
                   color: #3a7bfa;
                   line-height: 24px;
                   margin: 0;
-                "
-              >
+                ">
                 {{ item.name }}
               </p>
-              <p
-                style="
+              <p style="
                   color: #999999;
                   font-size: 12px;
                   transform: scale(0.8) translateX(-20px);
@@ -128,102 +62,60 @@
                   width: 150px;
                   overflow-x: show;
                   margin: 0;
-                "
-              >
+                ">
                 鏃�:{{ item.day0 }},涓�:{{ item.day1 }},澶�:{{ item.day2 }},浼�:{{
                   item.day3
                 }},鍋�:{{ item.day4 }},宸�:{{ item.day6 }}
               </p>
               <p style="margin-top: 4px; margin: 0">
-                <span
-                  style="
+                <span style="
                     color: #999999;
                     font-size: 12px;
                     display: inline-block;
                     transform: scale(0.8) translateX(-10px);
-                  "
-                  >鍚堣鍑哄嫟: </span
-                ><span style="font-size: 16px; color: #ff4902"
-                  >{{
+                  ">鍚堣鍑哄嫟: </span><span style="font-size: 16px; color: #ff4902">{{
                     query.month
                       ? item.monthlyAttendance.totalAttendance
                       : item.sidebarAnnualAttendance.totalAttendance
-                  }}澶�</span
-                >
+                  }}澶�</span>
               </p>
             </div>
           </div>
         </div>
         <div class="scroll-right">
           <div class="content">
-            <div
-              class="content-title content-title-right"
-              style="border-bottom: 0"
-            >
-              <div
-                class="content-title-item"
-                v-for="(item, index) in weeks"
-                :key="'b' + index"
-              >
-                <span
-                  class="month"
-                  style="position: absolute; top: 0px"
-                  v-if="item.week == '鍛ㄦ棩'"
-                  >{{ item.weekNum }}鍛�</span
-                >
+            <div class="content-title content-title-right" style="border-bottom: 0">
+              <div class="content-title-item" v-for="(item, index) in weeks" :key="'b' + index">
+                <span class="month" style="position: absolute; top: 0px" v-if="item.week == '鍛ㄦ棩'">{{ item.weekNum
+                  }}鍛�</span>
                 <p style="height: 26px; position: absolute; bottom: 12px">
                   <span class="day">{{ item.day }}</span>
                   <span class="week">{{ item.week.charAt(1) }}</span>
                 </p>
               </div>
             </div>
-            <div
-              class="content-body"
-              v-for="(item, index) in list"
-              :key="'c' + index"
-              v-on:mouseenter="onMouseEnter(index)"
-              v-on:mouseleave="currentUserIndex = null"
-            >
-              <div
-                class="content-body-item"
-                v-for="(m, i) in item.list"
-                :key="'d' + i"
-                :class="{ hoverType: currentUserIndex == index }"
-              >
-                <el-dropdown
-                  trigger="click"
-                  placement="bottom"
-                  @command="(e) => handleCommand(e, m)"
+            <div class="content-body" v-for="(item, index) in list" :key="'c' + index"
+              v-on:mouseenter="onMouseEnter(index)" v-on:mouseleave="currentUserIndex = null">
+              <div class="content-body-item" v-for="(m, i) in item.list" :key="'d' + i"
+                :class="{ hoverType: currentUserIndex == index }">
+                <el-dropdown trigger="click" placement="bottom" @command="(e) => handleCommand(e, m)"
                   :disabled="!checkPermi(['performance:class:edit'])"
-                  style="width: 100%; height: 100%; cursor: pointer"
-                >
-                  <div
-                    class="work-box"
-                    :class="{
-                      type0: m.shift === '0',
-                      type1: m.shift === '1',
-                      type2: m.shift === '2',
-                      type3: m.shift === '3',
-                      type4: m.shift === '4',
-                      type5: m.shift === '5',
-                      type6: m.shift === '6',
-                    }"
-                  >
-                    <span
-                      style="cursor: pointer"
-                      :style="`opacity: ${
-                        getShiftByDic(m.shift) == '鏃�' ? 0 : 1
-                      };`"
-                      >{{ getShiftByDic(m.shift) }}</span
-                    >
+                  style="width: 100%; height: 100%; cursor: pointer">
+                  <div class="work-box" :class="{
+                    type0: m.shift === '0',
+                    type1: m.shift === '1',
+                    type2: m.shift === '2',
+                    type3: m.shift === '3',
+                    type4: m.shift === '4',
+                    type5: m.shift === '5',
+                    type6: m.shift === '6',
+                  }">
+                    <span style="cursor: pointer" :style="`opacity: ${getShiftByDic(m.shift) == '鏃�' ? 0 : 1
+                      };`">{{ getShiftByDic(m.shift) }}</span>
                   </div>
                   <el-dropdown-menu slot="dropdown">
-                    <el-dropdown-item
-                      v-for="(n, j) in classType"
-                      :key="'h' + j"
-                      :command="n.dictValue"
-                      >{{ n.dictLabel }}</el-dropdown-item
-                    >
+                    <el-dropdown-item v-for="(n, j) in classType" :key="'h' + j" :command="n.dictValue">{{ n.dictLabel
+                      }}</el-dropdown-item>
                   </el-dropdown-menu>
                 </el-dropdown>
               </div>
@@ -231,42 +123,26 @@
           </div>
         </div>
       </div>
-      <div
-        class="clearfix year-table"
-        style="width: 100%"
-        v-show="!query.month"
-      >
+      <div class="clearfix year-table" style="width: 100%" v-show="!query.month">
         <div class="fixed-left">
-          <div
-            class="content-title"
-            style="padding-left: 16px; box-sizing: border-box"
-          >
+          <div class="content-title" style="padding-left: 16px; box-sizing: border-box">
             浜哄憳鍚嶇О
           </div>
-          <div
-            class="content-user"
-            :class="{ hoverType: currentUserIndex == index }"
-            v-for="(item, index) in yearList"
-            :key="'e' + index"
-            v-on:mouseenter="onMouseEnter(index)"
-            v-on:mouseleave="currentUserIndex = null"
-          >
+          <div class="content-user" :class="{ hoverType: currentUserIndex == index }" v-for="(item, index) in yearList"
+            :key="'e' + index" v-on:mouseenter="onMouseEnter(index)" v-on:mouseleave="currentUserIndex = null">
             <div class="user-pic">
               {{ item.name ? item.name.charAt(0) : "" }}
             </div>
             <div class="user-info">
-              <p
-                style="
+              <p style="
                   font-size: 14px;
                   color: #3a7bfa;
                   line-height: 24px;
                   margin: 0;
-                "
-              >
+                ">
                 {{ item.name }}
               </p>
-              <p
-                style="
+              <p style="
                   color: #999999;
                   font-size: 12px;
                   transform: scale(0.8) translateX(-20px);
@@ -274,24 +150,18 @@
                   width: 150px;
                   overflow-x: show;
                   margin: 0;
-                "
-              >
+                ">
                 鏃�:{{ item.day0 }},涓�:{{ item.day1 }},澶�:{{ item.day2 }},浼�:{{
                   item.day3
                 }},鍋�:{{ item.day4 }},宸�:{{ item.day6 }}
               </p>
               <p style="margin-top: 4px; margin: 0">
-                <span
-                  style="
+                <span style="
                     color: #999999;
                     font-size: 12px;
                     display: inline-block;
                     transform: scale(0.8) translateX(-10px);
-                  "
-                  >鍚堣鍑哄嫟: </span
-                ><span style="font-size: 16px; color: #ff4902"
-                  >{{ item.work_time }}澶�</span
-                >
+                  ">鍚堣鍑哄嫟: </span><span style="font-size: 16px; color: #ff4902">{{ item.work_time }}澶�</span>
               </p>
             </div>
           </div>
@@ -299,36 +169,18 @@
         <div class="scroll-right">
           <div class="content">
             <div>
-              <div
-                class="content-title content-title-right"
-                style="border-bottom: 0; height: 52px"
-                :style="`display: grid;
-                grid-template-columns: repeat(${monthList.length}, 1fr);`"
-              >
-                <div
-                  class="content-title-item"
-                  v-for="(item, index) in monthList"
-                  :key="'b' + index"
-                  style="height: 52px"
-                >
+              <div class="content-title content-title-right" style="border-bottom: 0; height: 52px" :style="`display: grid;
+                grid-template-columns: repeat(${monthList.length}, 1fr);`">
+                <div class="content-title-item" v-for="(item, index) in monthList" :key="'b' + index"
+                  style="height: 52px">
                   <span class="month">{{ item }}鏈�</span>
                 </div>
               </div>
-              <div
-                class="content-body"
-                v-for="(item, index) in yearList"
-                :key="'c' + index"
-                v-on:mouseenter="onMouseEnter(index)"
-                v-on:mouseleave="currentUserIndex = null"
-                :style="`display: grid;
-              grid-template-columns: repeat(${monthList.length}, 1fr);`"
-              >
-                <div
-                  class="content-body-item"
-                  v-for="(m, i) in item.monthList"
-                  :key="'d' + i"
-                  :class="{ hoverType: currentUserIndex == index }"
-                >
+              <div class="content-body" v-for="(item, index) in yearList" :key="'c' + index"
+                v-on:mouseenter="onMouseEnter(index)" v-on:mouseleave="currentUserIndex = null" :style="`display: grid;
+              grid-template-columns: repeat(${monthList.length}, 1fr);`">
+                <div class="content-body-item" v-for="(m, i) in item.monthList" :key="'d' + i"
+                  :class="{ hoverType: currentUserIndex == index }">
                   <p style="color: rgb(153, 153, 153); font-size: 12px">
                     鍚堣鍑哄嫟锛�<span style="font-size: 14px; color: #000">{{
                       m.totalMonthAttendance
@@ -346,41 +198,23 @@
         </div>
       </div>
     </div>
-    <el-pagination
-      background
-      @current-change="currentChange"
-      :page-size="pageSize"
-      :current-page="currentPage"
-      layout="total, prev, pager, next, jumper"
-      :total="total"
-      style="margin-top: 10px; text-align: right; margin-right: 30px"
-    >
+    <el-pagination background @current-change="currentChange" :page-size="pageSize" :current-page="currentPage"
+      layout="total, prev, pager, next, jumper" :total="total"
+      style="margin-top: 10px; text-align: right; margin-right: 30px">
     </el-pagination>
 
     <el-dialog title="鏃堕棿閰嶇疆" :visible.sync="configTimeVisible" width="620px">
       <div v-loading="configTimeVisibleLoading" style="min-height: 200px">
         <div v-for="(item, index) in timeQuery">
-          <div
-            class="form"
-            style="display: flex; justify-content: space-between"
-          >
+          <div class="form" style="display: flex; justify-content: space-between">
             <div style="margin-bottom: 12px; width: 200px">
               <span class="form_label">鐝锛�</span>
               <span v-if="!item.isEdit"> {{ item.type }} </span>
               <span class="form_input" v-if="item.isEdit">
-                <el-select
-                  v-model="item.shift"
-                  placeholder="璇烽�夋嫨"
-                  style="width: 70%; margin-right: 8px"
-                  clearable
-                  size="small"
-                >
-                  <el-option
-                    v-for="obj in timeTypeList"
-                    :key="obj.dictValue"
-                    :label="obj.dictLabel"
-                    :value="obj.dictValue"
-                  >
+                <el-select v-model="item.shift" placeholder="璇烽�夋嫨" style="width: 70%; margin-right: 8px" clearable
+                  size="small">
+                  <el-option v-for="obj in timeTypeList" :key="obj.dictValue" :label="obj.dictLabel"
+                    :value="obj.dictValue">
                   </el-option>
                 </el-select>
               </span>
@@ -395,67 +229,36 @@
                 }}
               </span>
               <span class="form_input" v-if="item.isEdit">
-                <el-time-select
-                  placeholder="璧峰鏃堕棿"
-                  v-model="item.startTime"
-                  size="small"
-                  :picker-options="{
-                    start: '00:00',
-                    step: '00:15',
-                    end: '24:00',
-                  }"
-                  style="width: 120px"
-                >
+                <el-time-select placeholder="璧峰鏃堕棿" v-model="item.startTime" size="small" :picker-options="{
+                  start: '00:00',
+                  step: '00:15',
+                  end: '24:00',
+                }" style="width: 120px">
                 </el-time-select>
-                <el-time-select
-                  style="width: 120px"
-                  placeholder="缁撴潫鏃堕棿"
-                  v-model="item.endTime"
-                  size="small"
+                <el-time-select style="width: 120px" placeholder="缁撴潫鏃堕棿" v-model="item.endTime" size="small"
                   :picker-options="{
                     start: '00:00',
                     step: '00:15',
                     end: '24:00',
-                  }"
-                >
+                  }">
                 </el-time-select>
               </span>
             </div>
             <span>
-              <i
-                class="el-icon-circle-check"
-                v-if="item.isEdit"
-                style="margin-left: 10px; color: #4b79f2; cursor: pointer"
-                @click="saveEdit(item, index)"
-              ></i>
-              <i
-                class="el-icon-edit"
-                v-if="!item.isEdit"
-                style="margin-left: 10px; color: #4b79f2; cursor: pointer"
-                @click="item.isEdit = true"
-              ></i>
-              <i
-                class="el-icon-delete"
-                v-if="timeQuery.length > 1"
-                style="margin-left: 10px; color: #ff4902; cursor: pointer"
-                @click="deleteTime(item, index)"
-              ></i>
+              <i class="el-icon-circle-check" v-if="item.isEdit"
+                style="margin-left: 10px; color: #4b79f2; cursor: pointer" @click="saveEdit(item, index)"></i>
+              <i class="el-icon-edit" v-if="!item.isEdit" style="margin-left: 10px; color: #4b79f2; cursor: pointer"
+                @click="item.isEdit = true"></i>
+              <i class="el-icon-delete" v-if="timeQuery.length > 1"
+                style="margin-left: 10px; color: #ff4902; cursor: pointer" @click="deleteTime(item, index)"></i>
             </span>
           </div>
           <el-divider></el-divider>
-          <div
-            @click="addTimeForm"
-            style="color: #4b79f2; cursor: pointer"
-            v-if="index === timeQuery.length - 1"
-          >
+          <div @click="addTimeForm" style="color: #4b79f2; cursor: pointer" v-if="index === timeQuery.length - 1">
             娣诲姞鏃堕棿閰嶇疆
           </div>
         </div>
-        <div
-          @click="addTimeForm"
-          style="color: #4b79f2"
-          v-if="timeQuery.length === 0"
-        >
+        <div @click="addTimeForm" style="color: #4b79f2" v-if="timeQuery.length === 0">
           娣诲姞鏃堕棿閰嶇疆
         </div>
       </div>
@@ -466,13 +269,8 @@
           <span style="color: red; margin-right: 4px">*</span>鍛ㄦ锛�
         </div>
         <div class="search_input" style="width: calc(100% - 90px)">
-          <el-date-picker
-            v-model="schedulingQuery.week"
-            type="week"
-            format="yyyy 绗� WW 鍛�"
-            placeholder="閫夋嫨鍛ㄦ"
-            style="width: 100%"
-          >
+          <el-date-picker v-model="schedulingQuery.week" type="week" format="yyyy 绗� WW 鍛�" placeholder="閫夋嫨鍛ㄦ"
+            style="width: 100%">
           </el-date-picker>
         </div>
       </div>
@@ -481,20 +279,9 @@
           <span style="color: red; margin-right: 4px">*</span>浜哄憳鍚嶇О锛�
         </div>
         <div class="search_input" style="width: calc(100% - 90px)">
-          <el-select
-            v-model="schedulingQuery.userId"
-            placeholder="璇烽�夋嫨"
-            style="width: 100%"
-            multiple
-            clearable
-            collapse-tags
-          >
-            <el-option
-              v-for="item in personList"
-              :key="item.id"
-              :label="item.name"
-              :value="item.id"
-            >
+          <el-select v-model="schedulingQuery.userId" placeholder="璇烽�夋嫨" style="width: 100%" multiple clearable
+            collapse-tags>
+            <el-option v-for="item in personList" :key="item.id" :label="item.name" :value="item.id">
             </el-option>
           </el-select>
         </div>
@@ -504,26 +291,15 @@
           <span style="color: red; margin-right: 4px">*</span>鐝锛�
         </div>
         <div class="search_input" style="width: calc(100% - 90px)">
-          <el-select
-            v-model="schedulingQuery.shift"
-            placeholder="璇烽�夋嫨"
-            style="width: 100%"
-          >
-            <el-option
-              v-for="item in classType"
-              :key="item.dictValue"
-              :label="item.dictLabel"
-              :value="item.dictValue"
-            >
+          <el-select v-model="schedulingQuery.shift" placeholder="璇烽�夋嫨" style="width: 100%">
+            <el-option v-for="item in classType" :key="item.dictValue" :label="item.dictLabel" :value="item.dictValue">
             </el-option>
           </el-select>
         </div>
       </div>
       <span slot="footer" class="dialog-footer">
         <el-button @click="schedulingVisible = false">鍙� 娑�</el-button>
-        <el-button type="primary" @click="confirmScheduling" :loading="loading"
-          >纭� 瀹�</el-button
-        >
+        <el-button type="primary" @click="confirmScheduling" :loading="loading">纭� 瀹�</el-button>
       </span>
     </el-dialog>
   </div>
@@ -545,6 +321,7 @@
   selectUserCondition,
 } from "@/api/performance/class";
 export default {
+  name: 'Class',
   data() {
     return {
       query: {
@@ -727,8 +504,8 @@
             (i == 0 && strArr[i] == 0
               ? ""
               : i > 0 && strArr[i] == 0 && strArr[i - 1] == 0
-              ? ""
-              : changeNum[strArr[i]] + (strArr[i] == 0 ? unit[0] : unit[i])) +
+                ? ""
+                : changeNum[strArr[i]] + (strArr[i] == 0 ? unit[0] : unit[i])) +
             newNum;
         }
         return newNum;
@@ -1060,6 +837,7 @@
 .class-page {
   padding: 10px;
 }
+
 .form_title {
   height: 36px;
   display: flex;
@@ -1067,6 +845,7 @@
   justify-content: space-between;
   font-weight: 800;
 }
+
 .search {
   height: 50px;
   display: flex;
@@ -1085,16 +864,19 @@
   font-size: 14px;
   text-align: right;
 }
+
 .search_input {
   display: flex;
   align-items: center;
 }
+
 .btns {
   position: absolute;
   right: 16px;
   top: 50%;
   transform: translate(0, -50%);
 }
+
 .center {
   width: 100%;
   height: calc(100vh - 220px);
@@ -1102,43 +884,56 @@
   overflow-y: auto;
   display: flex;
 }
->>> .scroll-pagination {
+
+>>>.scroll-pagination {
   overflow-y: scroll;
   scrollbar-width: none;
 }
->>> .scroll-pagination::-webkit-scrollbar {
+
+>>>.scroll-pagination::-webkit-scrollbar {
   display: none;
 }
+
 .fixed-left {
   float: left;
-  width: 220px; /* 宸﹁竟鍖哄煙瀹藉害 */
+  width: 220px;
+  /* 宸﹁竟鍖哄煙瀹藉害 */
   background-color: #fff;
-  box-shadow: 2px -2px 5px rgba(51, 51, 51, 0.12); /* 宸﹁竟闃村奖 */
+  box-shadow: 2px -2px 5px rgba(51, 51, 51, 0.12);
+  /* 宸﹁竟闃村奖 */
 }
+
 .clearfix::after {
   content: "";
   display: table;
   clear: both;
 }
+
 .scroll-right {
-  width: calc(100% - 220px); /* 鍑忓幓宸﹁竟鍖哄煙瀹藉害 */
-  min-height: calc(100% - 10px); /* 瑙嗗彛楂樺害 */
+  width: calc(100% - 220px);
+  /* 鍑忓幓宸﹁竟鍖哄煙瀹藉害 */
+  min-height: calc(100% - 10px);
+  /* 瑙嗗彛楂樺害 */
   margin-left: 220px;
   overflow-x: scroll;
 }
 
 .content {
-  min-height: calc(100% - 10px); /* 瑙嗗彛楂樺害 */
+  min-height: calc(100% - 10px);
+  /* 瑙嗗彛楂樺害 */
 }
+
 .content-title {
   height: 58px;
   line-height: 58px;
   border-bottom: 1px solid #eeeeee;
 }
+
 .content-title-right {
   display: flex;
   align-items: center;
 }
+
 .content-title-item {
   height: 100%;
   width: 50px;
@@ -1151,6 +946,7 @@
   flex-direction: column;
   position: relative;
 }
+
 .content-title-item .month {
   font-size: 12px;
   color: #3a7bfa;
@@ -1161,19 +957,23 @@
   text-align: center;
   line-height: 22px;
 }
+
 .content-title-item .day {
   font-size: 14px;
   color: #333333;
   margin-right: 4px;
 }
+
 .content-title-item .week {
   font-size: 12px;
   color: #999999;
 }
+
 .content-body {
   display: flex;
   align-items: center;
 }
+
 .content-body-item {
   height: 70px;
   width: 50px;
@@ -1184,6 +984,7 @@
   border-right: 1px solid #eeeeee;
   border-bottom: 1px solid #eeeeee;
 }
+
 .work-box {
   width: 100%;
   height: 100%;
@@ -1195,61 +996,77 @@
   color: #999;
   font-size: 14px;
 }
+
 .work-box.type0 {
   background: rgba(58, 123, 250, 0.15);
   color: #3a7bfa !important;
 }
+
 .work-box.type0 span {
   color: #3a7bfa !important;
 }
+
 .work-box.type1 {
   background: #e3dcfe;
   color: #635998 !important;
 }
+
 .work-box.type1 span {
   color: #635998 !important;
 }
+
 .work-box.type2 {
   background: #fae2ca;
   color: #bc8d5e !important;
 }
+
 .work-box.type2 span {
   color: #bc8d5e !important;
 }
+
 .work-box.type3 {
   background: #e1f3d8;
   color: #67c23a !important;
 }
+
 .work-box.type3 span {
   color: #67c23a !important;
 }
+
 .work-box.type4 {
   background: #fde2e2;
   color: #f56c6c !important;
 }
+
 .work-box.type4 span {
   color: #f56c6c !important;
 }
+
 .work-box.type5 {
   background: #ff46c145;
   color: #ff46c0 !important;
 }
+
 .work-box.type5 span {
   color: #ff46c0 !important;
 }
+
 .work-box.type6 {
   background: #00036418;
   color: #000464 !important;
 }
+
 .work-box.type6 span {
   color: #000464 !important;
 }
+
 .work-box-left {
   display: flex;
   justify-content: center;
   flex-direction: column;
   line-height: 24px;
 }
+
 .content-user {
   width: 100%;
   height: 70px;
@@ -1258,6 +1075,7 @@
   display: flex;
   align-items: center;
 }
+
 .user-pic {
   width: 50px;
   height: 50px;
@@ -1269,19 +1087,24 @@
   line-height: 50px;
   margin-left: 10px;
 }
+
 .user-info {
   flex: 1;
   margin-left: 10px;
 }
+
 .hoverType {
   background: rgba(58, 123, 250, 0.03);
 }
+
 .year-table {
   width: 100%;
 }
+
 .year-table .scroll-right {
   flex: 1;
 }
+
 .year-table .month {
   font-size: 14px;
   color: #3a7bfa;
@@ -1292,9 +1115,11 @@
   text-align: center;
   line-height: 30px;
 }
+
 .year-table .content-title-item {
   width: 100%;
 }
+
 .year-table .content-body-item {
   width: 100%;
   height: 70px;
diff --git a/src/views/performance/manHour/index.vue b/src/views/performance/manHour/index.vue
index 9358001..1d8e620 100644
--- a/src/views/performance/manHour/index.vue
+++ b/src/views/performance/manHour/index.vue
@@ -1,27 +1,14 @@
 <template>
   <div class="work-time-management">
     <div style="text-align: left">
-      <el-radio-group
-        v-model="currentComponent"
-        size="small"
-        style="margin-top: 16px; margin-left: 16px"
-      >
-        <el-radio-button
-          v-if="checkPermi(['performance:manHour:workTimeStatistics'])"
-          label="workTimeStatistics"
-        >
+      <el-radio-group v-model="currentComponent" size="small" style="margin-top: 16px; margin-left: 16px">
+        <el-radio-button v-if="checkPermi(['performance:manHour:workTimeStatistics'])" label="workTimeStatistics">
           宸ユ椂姹囨��
         </el-radio-button>
-        <el-radio-button
-          v-if="checkPermi(['performance:manHour:workTimeManagement'])"
-          label="workTimeManagement"
-        >
+        <el-radio-button v-if="checkPermi(['performance:manHour:workTimeManagement'])" label="workTimeManagement">
           鏃ュ伐鏃剁鐞�
         </el-radio-button>
-        <el-radio-button
-          v-if="checkPermi(['performance:manHour:workTimeConfig'])"
-          label="workTimeConfig"
-        >
+        <el-radio-button v-if="checkPermi(['performance:manHour:workTimeConfig'])" label="workTimeConfig">
           杈呭姪宸ユ椂閰嶇疆
         </el-radio-button>
       </el-radio-group>
@@ -35,12 +22,13 @@
 import workTimeManagement from "./workTimeManagement.vue";
 import workTimeConfig from "./workTimeConfig.vue";
 export default {
+  name: "ManHour",
   components: {
     workTimeStatistics,
     workTimeManagement,
     workTimeConfig,
   },
-  created() {},
+  created() { },
   data() {
     return {
       currentComponent: "workTimeStatistics",
diff --git a/src/views/standard/model/index.vue b/src/views/standard/model/index.vue
index 1fa2c57..75231b3 100644
--- a/src/views/standard/model/index.vue
+++ b/src/views/standard/model/index.vue
@@ -63,6 +63,7 @@
   getEditTemplatePreparation,
 } from "@/api/standard/model";
 export default {
+  name: 'Model',
   components: {
     Excel,
     limsTable,
diff --git a/src/views/standard/standardLibrary/index.vue b/src/views/standard/standardLibrary/index.vue
index ff3c615..21eeeb8 100644
--- a/src/views/standard/standardLibrary/index.vue
+++ b/src/views/standard/standardLibrary/index.vue
@@ -77,21 +77,21 @@
   overflow: hidden;
 }
 
->>> .el-table__body-wrapper {
+>>>.el-table__body-wrapper {
   height: calc(100% - 46px) !important;
 }
 
->>> .header-class {
+>>>.header-class {
   height: 40px !important;
 }
 
->>> .header-class th.el-table__cell > .cell {
+>>>.header-class th.el-table__cell>.cell {
   line-height: 20px !important;
   padding-top: 0 !important;
   padding-bottom: 0 !important;
 }
 
->>> .el-table__row {
+>>>.el-table__row {
   height: 35px !important;
 }
 
@@ -125,11 +125,13 @@
   right: 70px;
 }
 
->>> .is-disabled .el-textarea__inner {
+>>>.is-disabled .el-textarea__inner {
   background: rgba(0, 0, 0, 0.05) !important;
 }
->>> .el-table__body-wrapper::-webkit-scrollbar {
-  height: 14px; /* 璁剧疆婊氬姩鏉″搴� */
+
+>>>.el-table__body-wrapper::-webkit-scrollbar {
+  height: 14px;
+  /* 璁剧疆婊氬姩鏉″搴� */
 }
 </style>
 <style>
@@ -139,10 +141,7 @@
   border-radius: 2px;
 }
 
-.standard
-  .el-tree--highlight-current
-  .el-tree-node.is-current
-  > .el-tree-node__content {
+.standard .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content {
   color: #3a7bfa;
 }
 
@@ -193,104 +192,49 @@
     <div class="left">
       <el-row>
         <el-col :span="20">
-          <el-input
-            v-model="search"
-            clearable
-            placeholder="杈撳叆鍏抽敭瀛楄繘琛屾悳绱�"
-            size="small"
-            style="margin-bottom: 5px"
-            suffix-icon="el-icon-search"
-            @blur="searchFilter"
-            @clear="searchFilter"
-          ></el-input>
+          <el-input v-model="search" clearable placeholder="杈撳叆鍏抽敭瀛楄繘琛屾悳绱�" size="small" style="margin-bottom: 5px"
+            suffix-icon="el-icon-search" @blur="searchFilter" @clear="searchFilter"></el-input>
         </el-col>
-        <el-col
-          v-if="checkPermi(['standard:standardLibrary:add'])"
-          :span="4"
-          style="text-align: center; line-height: 30px"
-        >
-          <el-button
-            circle
-            icon="el-icon-plus"
-            size="mini"
-            type="primary"
-            @click="addDia = true"
-          ></el-button>
+        <el-col v-if="checkPermi(['standard:standardLibrary:add'])" :span="4"
+          style="text-align: center; line-height: 30px">
+          <el-button circle icon="el-icon-plus" size="mini" type="primary" @click="addDia = true"></el-button>
         </el-col>
       </el-row>
-      <el-tree
-        ref="tree"
-        v-loading="treeLoad"
-        :allow-drop="allowDrop"
-        :data="list"
-        :default-expanded-keys="expandedKeys"
-        :draggable="true"
-        :filter-node-method="filterNode"
-        :props="{ children: 'children', label: 'label' }"
-        highlight-current
-        node-key="label"
-        style="
+      <el-tree ref="tree" v-loading="treeLoad" :allow-drop="allowDrop" :data="list"
+        :default-expanded-keys="expandedKeys" :draggable="true" :filter-node-method="filterNode"
+        :props="{ children: 'children', label: 'label' }" highlight-current node-key="label" style="
           height: calc(100% - 30px);
           overflow-y: scroll;
           scrollbar-width: none;
-        "
-        @node-click="handleNodeClick"
-        @node-expand="nodeOpen"
-        @node-collapse="nodeClose"
-        @node-drop="handleDrop"
-      >
+        " @node-click="handleNodeClick" @node-expand="nodeOpen" @node-collapse="nodeClose" @node-drop="handleDrop">
         <div slot-scope="{ node, data }" class="custom-tree-node">
           <el-row style="width: 100%">
-            <el-col
-              :class="{ sort: node.level > 3 }"
-              :span="19"
-              :title="data.label"
-              style="text-align: left"
-            >
+            <el-col :class="{ sort: node.level > 3 }" :span="19" :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
-              v-if="
-                checkPermi(['standard:standardLibrary:delStandardTree']) &&
-                (node.data.children === null ||
-                  node.data.children === undefined)
-              "
-              :span="2"
-              style="text-align: right"
-            >
-              <el-button
-                size="mini"
-                type="text"
-                @click="editTreeName(node.data)"
-              >
+            <el-col v-if="
+              checkPermi(['standard:standardLibrary:delStandardTree']) &&
+              (node.data.children === null ||
+                node.data.children === undefined)
+            " :span="2" style="text-align: right">
+              <el-button size="mini" type="text" @click="editTreeName(node.data)">
                 <i class="el-icon-edit"></i>
               </el-button>
             </el-col>
-            <el-col
-              v-if="
-                checkPermi(['standard:standardLibrary:delStandardTree']) &&
-                (node.data.children === null ||
-                  node.data.children === undefined)
-              "
-              :span="2"
-              style="text-align: right"
-            >
-              <el-button
-                size="mini"
-                type="text"
-                @click.stop="remove(node, data)"
-              >
+            <el-col v-if="
+              checkPermi(['standard:standardLibrary:delStandardTree']) &&
+              (node.data.children === null ||
+                node.data.children === undefined)
+            " :span="2" style="text-align: right">
+              <el-button size="mini" type="text" @click.stop="remove(node, data)">
                 <i class="el-icon-delete"></i>
               </el-button>
             </el-col>
@@ -304,304 +248,128 @@
           selectTree
         }}</el-col>
         <el-col :span="4">
-          <el-button
-            v-if="isShowCopy"
-            size="small"
-            style="position: absolute; right: 20px; top: 1px"
-            type="primary"
-            @click="openCopyDia"
-            >鎵归噺澶嶅埗</el-button
-          >
+          <el-button v-if="isShowCopy" size="small" style="position: absolute; right: 20px; top: 1px" type="primary"
+            @click="openCopyDia">鎵归噺澶嶅埗</el-button>
         </el-col>
       </el-row>
       <el-row v-loading="tableLoad" class="standard_table">
-        <el-table
-          ref="standard"
-          :data="standardList"
-          class="el-table"
-          header-row-class-name="header-class"
-          height="220"
-          highlight-current-row
-          style="width: 100%; height: 220px !important"
-          tooltip-effect="dark"
-          @row-click="rowClick"
-        >
-          <el-table-column
-            label="鏍囧噯缂栧彿"
-            prop="code"
-            show-overflow-tooltip
-            width="200"
-          >
+        <el-table ref="standard" :data="standardList" class="el-table" header-row-class-name="header-class" height="220"
+          highlight-current-row style="width: 100%; height: 220px !important" tooltip-effect="dark"
+          @row-click="rowClick">
+          <el-table-column label="鏍囧噯缂栧彿" prop="code" show-overflow-tooltip width="200">
             <template slot-scope="scope">
               <span style="color: red; font-size: 14px">{{
                 scope.row["code"]
               }}</span>
             </template>
           </el-table-column>
-          <el-table-column
-            label="鏍囧噯鍚嶇О"
-            prop="name"
-            show-overflow-tooltip
-          ></el-table-column>
-          <el-table-column
-            label="澶囨敞"
-            prop="remark"
-            show-overflow-tooltip
-          ></el-table-column>
+          <el-table-column label="鏍囧噯鍚嶇О" prop="name" show-overflow-tooltip></el-table-column>
+          <el-table-column label="澶囨敞" prop="remark" show-overflow-tooltip></el-table-column>
         </el-table>
       </el-row>
       <el-row v-loading="tableLoad2" class="product_table">
-        <el-table
-          id="templateParamTable"
-          ref="productTable"
-          v-loading="productTableLoading"
-          :data="productList"
-          :fit="true"
-          :row-class-name="tableRowClassName"
-          border
-          class="productTable"
-          header-row-class-name="header-class"
-          height="100%"
-          row-key="id"
-          stripe
-          style="width: 100%"
-          tooltip-effect="dark"
-          @select="upProductSelect"
-          @selection-change="handleSelectionChange"
-          @select-all="handleAll"
-        >
+        <el-table id="templateParamTable" ref="productTable" v-loading="productTableLoading" :data="productList"
+          :fit="true" :row-class-name="tableRowClassName" border class="productTable"
+          header-row-class-name="header-class" height="100%" row-key="id" stripe style="width: 100%"
+          tooltip-effect="dark" @select="upProductSelect" @selection-change="handleSelectionChange"
+          @select-all="handleAll">
           <el-table-column type="selection" width="50"> </el-table-column>
-          <el-table-column
-            label="浜у搧"
-            min-width="100"
-            prop="sample"
-            show-overflow-tooltip
-          ></el-table-column>
-          <el-table-column
-            label="鍨嬪彿"
-            min-width="100"
-            prop="model"
-            show-overflow-tooltip
-          ></el-table-column>
-          <el-table-column
-            label="妫�楠岄」鍒嗙被"
-            min-width="140"
-            prop="inspectionItemClass"
-            show-overflow-tooltip
-          ></el-table-column>
-          <el-table-column
-            label="妫�楠岄」"
-            min-width="140"
-            prop="inspectionItem"
-            show-overflow-tooltip
-          ></el-table-column>
-          <el-table-column
-            label="妫�楠岄」瀛愰」"
-            min-width="140"
-            prop="inspectionItemSubclass"
-            show-overflow-tooltip
-          ></el-table-column>
-          <el-table-column
-            label="瀛愬疄楠屽"
-            prop="sonLaboratory"
-            show-overflow-tooltip
-            width="130"
-          ></el-table-column>
+          <el-table-column label="浜у搧" min-width="100" prop="sample" show-overflow-tooltip></el-table-column>
+          <el-table-column label="鍨嬪彿" min-width="100" prop="model" show-overflow-tooltip></el-table-column>
+          <el-table-column label="妫�楠岄」鍒嗙被" min-width="140" prop="inspectionItemClass"
+            show-overflow-tooltip></el-table-column>
+          <el-table-column label="妫�楠岄」" min-width="140" prop="inspectionItem" show-overflow-tooltip></el-table-column>
+          <el-table-column label="妫�楠岄」瀛愰」" min-width="140" prop="inspectionItemSubclass"
+            show-overflow-tooltip></el-table-column>
+          <el-table-column label="瀛愬疄楠屽" prop="sonLaboratory" show-overflow-tooltip width="130"></el-table-column>
           <el-table-column label="瑕佹眰鍊�" min-width="200px" prop="ask">
             <template slot-scope="scope">
-              <el-input
-                v-if="
-                  checkPermi(['standard:standardLibrary:upStandardProduct'])
-                "
-                v-model="scope.row.ask"
-                :autosize="{ minRows: 1, maxRows: 3 }"
-                clearable
-                placeholder="瑕佹眰鍊�"
-                size="small"
-                type="textarea"
-                @change="(value) => upStandardProductList(value, scope.row.id)"
-              ></el-input>
+              <el-input v-if="
+                checkPermi(['standard:standardLibrary:upStandardProduct'])
+              " v-model="scope.row.ask" :autosize="{ minRows: 1, maxRows: 3 }" clearable placeholder="瑕佹眰鍊�"
+                size="small" type="textarea" @change="(value) => upStandardProductList(value, scope.row.id)"></el-input>
               <span v-else>{{ scope.row.ask }}</span>
             </template>
           </el-table-column>
           <el-table-column label="瑕佹眰鎻忚堪" min-width="220px" prop="tell">
             <template slot-scope="scope">
-              <el-input
-                v-if="
-                  checkPermi(['standard:standardLibrary:upStandardProduct'])
-                "
-                v-model="scope.row.tell"
-                :autosize="{ minRows: 1, maxRows: 3 }"
-                clearable
-                placeholder="瑕佹眰鎻忚堪"
-                size="small"
-                type="textarea"
-                @change="
-                  (value) => upStandardProductListOfTell(value, scope.row.id)
-                "
-              ></el-input>
+              <el-input v-if="
+                checkPermi(['standard:standardLibrary:upStandardProduct'])
+              " v-model="scope.row.tell" :autosize="{ minRows: 1, maxRows: 3 }" clearable placeholder="瑕佹眰鎻忚堪"
+                size="small" type="textarea" @change="(value) => upStandardProductListOfTell(value, scope.row.id)
+                  "></el-input>
               <span v-else>{{ scope.row.ask }}</span>
             </template>
           </el-table-column>
           <el-table-column label="璇曢獙鏂规硶" prop="method" width="200">
             <template slot-scope="scope">
-              <el-select
-                v-if="
-                  checkPermi(['standard:standardLibrary:upStandardProduct'])
-                "
-                v-model="scope.row.methodS"
-                clearable
-                placeholder="璇曢獙鏂规硶"
-                size="small"
-                @change="
-                  (value) => upStandardProductListOfMethodS(value, scope.row.id)
-                "
-              >
-                <el-option
-                  v-for="(a, i) in scope.row.method &&
-                  JSON.parse(scope.row.method)"
-                  :key="i"
-                  :label="a"
-                  :value="a"
-                ></el-option>
+              <el-select v-if="
+                checkPermi(['standard:standardLibrary:upStandardProduct'])
+              " v-model="scope.row.methodS" clearable placeholder="璇曢獙鏂规硶" size="small" @change="(value) => upStandardProductListOfMethodS(value, scope.row.id)
+                  ">
+                <el-option v-for="(a, i) in scope.row.method &&
+                  JSON.parse(scope.row.method)" :key="i" :label="a" :value="a"></el-option>
               </el-select>
               <span v-else>{{ scope.row.methodS }}</span>
             </template>
           </el-table-column>
-          <el-table-column
-            label="鏉′欢"
-            min-width="140"
-            prop="radius"
-            show-overflow-tooltip
-          >
+          <el-table-column label="鏉′欢" min-width="140" prop="radius" show-overflow-tooltip>
             <template slot-scope="scope">
-              <el-select
-                v-if="
-                  checkPermi(['standard:standardLibrary:upStandardProduct'])
-                "
-                v-model="scope.row.radius"
-                clearable
-                placeholder="鏉′欢"
-                size="small"
-                @change="
-                  (value) => upStandardProductListOfRadius(value, scope.row.id)
-                "
-              >
-                <el-option
-                  v-for="(a, i) in scope.row.radiusList &&
-                  JSON.parse(scope.row.radiusList)"
-                  :key="i"
-                  :label="a"
-                  :value="a"
-                ></el-option>
+              <el-select v-if="
+                checkPermi(['standard:standardLibrary:upStandardProduct'])
+              " v-model="scope.row.radius" clearable placeholder="鏉′欢" size="small" @change="(value) => upStandardProductListOfRadius(value, scope.row.id)
+                  ">
+                <el-option v-for="(a, i) in scope.row.radiusList &&
+                  JSON.parse(scope.row.radiusList)" :key="i" :label="a" :value="a"></el-option>
               </el-select>
               <span v-else>{{ scope.row.radius }}</span>
             </template>
           </el-table-column>
-          <el-table-column
-            label="璁¢噺鍗曚綅"
-            prop="unit"
-            show-overflow-tooltip
-            width="100"
-          ></el-table-column>
+          <el-table-column label="璁¢噺鍗曚綅" prop="unit" show-overflow-tooltip width="100"></el-table-column>
           <el-table-column label="鍗曚环(鍏�)" prop="price" width="120">
             <template slot-scope="scope">
-              <el-input
-                v-if="
-                  checkPermi(['standard:standardLibrary:upStandardProduct'])
-                "
-                v-model="scope.row.price"
-                placeholder="鍗曚环(鍏�)"
-                size="small"
-                @change="
-                  (value) => upStandardProductListOfPrice(value, scope.row.id)
-                "
-              >
+              <el-input v-if="
+                checkPermi(['standard:standardLibrary:upStandardProduct'])
+              " v-model="scope.row.price" placeholder="鍗曚环(鍏�)" size="small" @change="(value) => upStandardProductListOfPrice(value, scope.row.id)
+                  ">
               </el-input>
               <span v-else>{{ scope.row.price }}</span>
             </template>
           </el-table-column>
           <el-table-column label="宸ユ椂绯绘暟" prop="manHour" width="120">
             <template slot-scope="scope">
-              <el-input
-                v-if="
-                  checkPermi(['standard:standardLibrary:upStandardProduct'])
-                "
-                v-model="scope.row.manHour"
-                placeholder="鍗曚环(鍏�)"
-                size="small"
-                @change="
-                  (value) => upStandardProductListOfManHour(value, scope.row.id)
-                "
-              >
+              <el-input v-if="
+                checkPermi(['standard:standardLibrary:upStandardProduct'])
+              " v-model="scope.row.manHour" placeholder="鍗曚环(鍏�)" size="small" @change="(value) => upStandardProductListOfManHour(value, scope.row.id)
+                  ">
               </el-input>
               <span v-else>{{ scope.row.manHour }}</span>
             </template>
           </el-table-column>
-          <el-table-column
-            label="宸ユ椂鍒嗙粍"
-            prop="manHourGroup"
-            show-overflow-tooltip
-            width="100"
-          ></el-table-column>
+          <el-table-column label="宸ユ椂鍒嗙粍" prop="manHourGroup" show-overflow-tooltip width="100"></el-table-column>
           <el-table-column label="妯℃澘" prop="templateId" width="200">
             <template slot-scope="scope">
-              <el-select
-                v-model="scope.row.templateId"
-                :disabled="
-                  !checkPermi(['standard:standardLibrary:upStandardProduct'])
-                "
-                filterable
-                size="small"
-                @change="
-                  (value) =>
+              <el-select v-model="scope.row.templateId" :disabled="!checkPermi(['standard:standardLibrary:upStandardProduct'])
+                " filterable size="small" @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-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
-            label="鍖洪棿"
-            prop="section"
-            show-overflow-tooltip
-            width="120"
-          ></el-table-column>
+          <el-table-column label="鍖洪棿" prop="section" show-overflow-tooltip width="120"></el-table-column>
           <el-table-column label="鎿嶄綔" prop="section" width="160">
             <template slot-scope="scope">
-              <el-button
-                type="text"
-                @click="sectionUp(scope.row)"
-                :disabled="
-                  !checkPermi(['standard:standardLibrary:upStandardProduct'])
-                "
-                >鍖洪棿璁剧疆</el-button
-              >
-              <el-button
-                type="text"
-                :disabled="
-                  !checkPermi(['standard:standardLibrary:upStandardProduct'])
-                "
-                @click="bindSupplierDensitySecond(scope.row)"
-                >缁戝畾鍘傚</el-button
-              >
+              <el-button type="text" @click="sectionUp(scope.row)" :disabled="!checkPermi(['standard:standardLibrary:upStandardProduct'])
+                ">鍖洪棿璁剧疆</el-button>
+              <el-button type="text" :disabled="!checkPermi(['standard:standardLibrary:upStandardProduct'])
+                " @click="bindSupplierDensitySecond(scope.row)">缁戝畾鍘傚</el-button>
             </template>
           </el-table-column>
         </el-table>
-        <el-pagination
-          :current-page="currentPage"
-          :page-size="300"
-          :total="total"
-          layout="total, prev, pager, next, jumper"
-          style="position: absolute; right: 16px; bottom: 1px"
-          @current-change="handleCurrentChange"
-        >
+        <el-pagination :current-page="currentPage" :page-size="300" :total="total"
+          layout="total, prev, pager, next, jumper" style="position: absolute; right: 16px; bottom: 1px"
+          @current-change="handleCurrentChange">
         </el-pagination>
       </el-row>
     </div>
@@ -613,21 +381,14 @@
             <span class="required-span">* </span>鍨嬪彿锛�
           </el-col>
           <el-col :offset="1" :span="16">
-            <el-input
-              v-model="addOb.model"
-              clearable
-              placeholder="璇疯緭鍏ュ瀷鍙�"
-              size="small"
-              @keyup.enter.native="addStandardTree"
-            ></el-input>
+            <el-input v-model="addOb.model" clearable placeholder="璇疯緭鍏ュ瀷鍙�" 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 :loading="addLoad" type="primary" @click="addStandardTree"
-          >纭� 瀹�</el-button
-        >
+        <el-button :loading="addLoad" type="primary" @click="addStandardTree">纭� 瀹�</el-button>
       </span>
     </el-dialog>
     <el-dialog :visible.sync="updateDia" title="鍒嗙被淇敼" width="400px">
@@ -637,96 +398,50 @@
             <span class="required-span">* </span>鍨嬪彿锛�
           </el-col>
           <el-col :offset="1" :span="16">
-            <el-input
-              v-model="addOb.model"
-              clearable
-              placeholder="璇疯緭鍏ュ瀷鍙�"
-              size="small"
-              @keyup.enter.native="updateStandardTree"
-            ></el-input>
+            <el-input v-model="addOb.model" clearable placeholder="璇疯緭鍏ュ瀷鍙�" size="small"
+              @keyup.enter.native="updateStandardTree"></el-input>
           </el-col>
         </el-row>
       </div>
       <span slot="footer" class="dialog-footer">
         <el-button @click="updateDia = false">鍙� 娑�</el-button>
-        <el-button
-          :loading="updateLoad"
-          type="primary"
-          @click="updateStandardTree"
-          >纭� 瀹�</el-button
-        >
+        <el-button :loading="updateLoad" type="primary" @click="updateStandardTree">纭� 瀹�</el-button>
       </span>
     </el-dialog>
-    <el-dialog
-      :close-on-click-modal="false"
-      :visible.sync="sectionUpDia"
-      title="鍖洪棿璁剧疆"
-      width="80%"
-    >
+    <el-dialog :close-on-click-modal="false" :visible.sync="sectionUpDia" title="鍖洪棿璁剧疆" width="80%">
       <div class="body" style="padding: 5px 0">
         <el-table :data="sectionList" border height="350px" style="width: 100%">
           <el-table-column align="center" label="搴忓彿" type="index" width="70">
           </el-table-column>
           <el-table-column align="center" label="鍖洪棿">
             <template slot-scope="scope">
-              <el-input
-                v-model="scope.row.thing"
-                clearable
-                placeholder="鍖洪棿"
-                size="small"
-              ></el-input>
+              <el-input v-model="scope.row.thing" clearable placeholder="鍖洪棿" size="small"></el-input>
             </template>
           </el-table-column>
           <el-table-column align="center" label="鑺暟">
             <template slot-scope="scope">
-              <el-input
-                v-model="scope.row.cores"
-                clearable
-                placeholder="鑺暟"
-                size="small"
-              ></el-input>
+              <el-input v-model="scope.row.cores" clearable placeholder="鑺暟" size="small"></el-input>
             </template>
           </el-table-column>
           <el-table-column align="center" label="瑕佹眰鍊�">
             <template slot-scope="scope">
-              <el-input
-                v-model="scope.row.ask"
-                clearable
-                placeholder="瑕佹眰鍊�"
-                size="small"
-              ></el-input>
+              <el-input v-model="scope.row.ask" clearable placeholder="瑕佹眰鍊�" size="small"></el-input>
             </template>
           </el-table-column>
           <el-table-column align="center" label="瑕佹眰鎻忚堪">
             <template slot-scope="scope">
-              <el-input
-                v-model="scope.row.tell"
-                :autosize="{ minRows: 1, maxRows: 2 }"
-                clearable
-                placeholder="瑕佹眰鎻忚堪"
-                size="small"
-                type="textarea"
-              ></el-input>
+              <el-input v-model="scope.row.tell" :autosize="{ minRows: 1, maxRows: 2 }" clearable placeholder="瑕佹眰鎻忚堪"
+                size="small" type="textarea"></el-input>
             </template>
           </el-table-column>
           <el-table-column align="center" label="瀵间綋鏉愯川">
             <template slot-scope="scope">
-              <el-input
-                v-model="scope.row.conductorMaterial"
-                clearable
-                placeholder="瀵间綋鏉愯川"
-                size="small"
-              ></el-input>
+              <el-input v-model="scope.row.conductorMaterial" clearable placeholder="瀵间綋鏉愯川" size="small"></el-input>
             </template>
           </el-table-column>
           <el-table-column align="center" label="瀵间綋绫诲瀷">
             <template slot-scope="scope">
-              <el-input
-                v-model="scope.row.conductorType"
-                clearable
-                placeholder="瀵间綋绫诲瀷"
-                size="small"
-              ></el-input>
+              <el-input v-model="scope.row.conductorType" clearable placeholder="瀵间綋绫诲瀷" size="small"></el-input>
             </template>
           </el-table-column>
           <!--          <el-table-column align="center" label="鍗曚环" width="120">-->
@@ -741,42 +456,24 @@
           <!--          </el-table-column>-->
           <el-table-column align="center" label="鎿嶄綔" width="70">
             <template slot-scope="scope">
-              <el-button
-                circle
-                icon="el-icon-minus"
-                size="mini"
-                type="danger"
-                @click="sectionList.splice(scope.$index, 1)"
-              ></el-button>
+              <el-button circle icon="el-icon-minus" size="mini" type="danger"
+                @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 :loading="sectionLoad" type="primary" @click="sectionLoadAdd"
-          >淇� 瀛�</el-button
-        >
-        <el-button
-          icon="el-icon-plus"
-          type="primary"
-          @click="sectionList.push({ thing: '' })"
-        ></el-button>
+        <el-button :loading="sectionLoad" type="primary" @click="sectionLoadAdd">淇� 瀛�</el-button>
+        <el-button icon="el-icon-plus" type="primary" @click="sectionList.push({ thing: '' })"></el-button>
       </span>
     </el-dialog>
-    <bindSupplierDensityDialogAsk
-      v-if="bindSupplierDensityDialog"
-      :bindSupplierDensityDialog="bindSupplierDensityDialog"
-      :currentRow="currentSupplierDensityRow"
-      @closeBindPartDialog="closeBindSupplierDensityDialog"
-    ></bindSupplierDensityDialogAsk>
-    <BatchCopy
-      v-if="batchCopyDia"
-      ref="BatchCopy"
-      :selectTree1="selectTree"
-      :standardId="standardId"
-      @refreshList="refreshList"
-    ></BatchCopy>
+    <bindSupplierDensityDialogAsk v-if="bindSupplierDensityDialog"
+      :bindSupplierDensityDialog="bindSupplierDensityDialog" :currentRow="currentSupplierDensityRow"
+      @closeBindPartDialog="closeBindSupplierDensityDialog">
+    </bindSupplierDensityDialogAsk>
+    <BatchCopy v-if="batchCopyDia" ref="BatchCopy" :selectTree1="selectTree" :standardId="standardId"
+      @refreshList="refreshList"></BatchCopy>
   </div>
 </template>
 
@@ -809,6 +506,7 @@
 import bindSupplierDensityDialogAsk from "./components/bindSupplierDensityDialogAsk.vue";
 import BatchCopy from "./components/BatchCopy.vue";
 export default {
+  name: 'StandardLibrary',
   components: {
     BatchCopy,
     bindSupplierDensityDialogAsk,
@@ -1059,7 +757,7 @@
             this.productList = [];
           });
         })
-        .catch((e) => {});
+        .catch((e) => { });
     },
     deleteStandard(arr, label) {
       arr.forEach((item, index) => {
@@ -1358,7 +1056,7 @@
             this.selectsStandardMethodByFLSSM();
           });
         })
-        .catch(() => {});
+        .catch(() => { });
     },
     handleSelectionChange(val) {
       this.selects = [];
@@ -1392,7 +1090,7 @@
             this.selectsStandardMethodByFLSSM();
           });
         })
-        .catch(() => {});
+        .catch(() => { });
     },
     addStandardProductDo() {
       let selects = this.$refs.ValueTable.multipleSelection;

--
Gitblit v1.9.3