From 05170ec3d816960d4f8a38ec8d202cefe73b4179 Mon Sep 17 00:00:00 2001
From: qushaowei <qushaowei@163.com>
Date: 星期二, 17 十月 2023 17:40:17 +0800
Subject: [PATCH] 保养问题项处理

---
 src/views/system/modules/DepartList/DepartAuthModal.vue                            |  570 +++---
 src/views/eam/modules/daily3MaintenanceOrder/EquipmentPrecisionCheckOrderModal.vue |    1 
 src/views/eam/DailyInspectionOrderList.vue                                         |    2 
 src/views/eam/DailyInspectionStandardList.vue                                      |    2 
 src/views/system/modules/DepartList/DepartTeam.vue                                 |  394 ++++
 src/views/eam/modules/daily3MaintenanceOrder/EquipmentTechnologyStatusModal.vue    |  229 ++
 src/views/eam/DailyMaintenanceStandardList.vue                                     |    2 
 src/views/system/modules/DepartList/DepartModal.vue                                |  429 ++--
 src/views/system/modules/DepartList/TeamModal.vue                                  |  286 +++
 src/views/system/DepartList.vue                                                    | 1270 ++++++++------
 src/views/eam/Daily3MaintenanceOrderList.vue                                       |   74 
 src/views/eam/modules/daily3MaintenanceOrder/DailyMaintenanceOrderExeDrawer.vue    |  748 ++++++++
 src/views/eam/DailyMaintenanceOrderList.vue                                        |   24 
 src/views/eam/modules/daily3MaintenanceOrder/StoveCategoryModal.vue                | 1000 +++++++++++
 src/views/eam/modules/dailyMaintenanceOrder/ActualWorkHoursEditTable.vue           |    4 
 15 files changed, 3,996 insertions(+), 1,039 deletions(-)

diff --git a/src/views/eam/DailyMaintenanceOrderList3m.vue b/src/views/eam/Daily3MaintenanceOrderList.vue
similarity index 86%
rename from src/views/eam/DailyMaintenanceOrderList3m.vue
rename to src/views/eam/Daily3MaintenanceOrderList.vue
index 13f3c93..777c289 100644
--- a/src/views/eam/DailyMaintenanceOrderList3m.vue
+++ b/src/views/eam/Daily3MaintenanceOrderList.vue
@@ -155,14 +155,14 @@
             v-if="record.status == '1'"
             type="vertical"
           />
-          <a
+          <!-- <a
             v-if="record.status === '2'"
             @click="handleOrderChange(record)"
           >璁″垝鍙樻洿</a>
           <a-divider
             v-if="record.status == '2'"
             type="vertical"
-          />
+          /> -->
           <a-popconfirm
             title="纭畾鎾ゅ洖宸ュ崟鍚�?"
             @confirm="() => handleOrderReset(record)"
@@ -252,11 +252,27 @@
             type="vertical"
           /> -->
           <a
-            v-if="record.status === '5' || record.status === '8' "
+            v-if="record.status === '5' && record.isNotStoveCategoryFlag == false && record.precisionParameters == '1' && (record.precisionInspectionStatus == '0' ||record.precisionInspectionStatus == '1' ||record.precisionInspectionStatus == '2' ||record.precisionInspectionStatus == '3' ||record.precisionInspectionStatus == '4')"
             @click="handlePrecisionCheckOrder(record)"
           >绮惧害妫�楠�</a>
           <a-divider
-            v-if="record.status === '5'|| record.status === '8'"
+            v-if="record.status === '5'&& record.isNotStoveCategoryFlag == false && record.precisionParameters == '1'  && (record.precisionInspectionStatus == '0' ||record.precisionInspectionStatus == '1' ||record.precisionInspectionStatus == '2' ||record.precisionInspectionStatus == '3' ||record.precisionInspectionStatus == '4')"
+            type="vertical"
+          />
+          <a
+            v-if="record.status === '5' && record.isNotStoveCategoryFlag == true && (record.stoveExemptStatus == '0' ||record.stoveExemptStatus == '1' ||record.stoveExemptStatus == '2')"
+            @click="handleStoveDetection(record)"
+          >鐐夌被妫�娴�</a>
+          <a-divider
+            v-if="record.status === '5'&& record.isNotStoveCategoryFlag == true && (record.stoveExemptStatus == '0' ||record.stoveExemptStatus == '1' ||record.stoveExemptStatus == '2')"
+            type="vertical"
+          />
+          <a
+            v-if="record.status === '5' && record.isNotStoveCategoryFlag == false && record.precisionParameters == '0'"
+            @click="handleTechnologyStatus(record)"
+          >鎶�鏈姸鎬侀壌瀹�</a>
+          <a-divider
+            v-if="record.status === '5'&& record.isNotStoveCategoryFlag == false && record.precisionParameters == '0' "
             type="vertical"
           />
           <a-dropdown>
@@ -283,7 +299,7 @@
           slot-scope="text, record"
         >
           <a
-            v-if="record.status === '3' || record.status === '4' ||record.status === '5'  ||record.status === '7' ||record.status === '8'"
+            v-if="record.status === '3' || record.status === '4' ||record.status === '5'  ||record.status === '7' "
             class="lot"
             @click="handleOrderExe(record)"
           >{{record.num}}</a>
@@ -309,6 +325,10 @@
       ref="EquipmentPrecisionCheckOrderModal"
       @ok="modalFormOk"
     ></equipment-precision-check-order-modal>
+    <stove-category-modal
+      ref="StoveCategoryModal"
+      @ok="modalFormOk"
+    ></stove-category-modal>
     <maintenance-order-assign-modal
       ref="MaintenanceOrderAssignModal"
       @ok="modalFormOk"
@@ -317,6 +337,10 @@
       ref="DailyMaintenanceOrderExeDrawer"
       @ok="modalFormOk"
     ></daily-maintenance-order-exe-drawer>
+    <equipment-technology-status-modal
+      ref="EquipmentTechnologyStatusModal"
+      @ok="modalFormOk"
+    ></equipment-technology-status-modal>
   </a-card>
 </template>
 
@@ -328,9 +352,11 @@
 import MaintenanceOrderModal from './modules/dailyMaintenanceOrder/MaintenanceOrderModal'
 import FinishDevolutionModal from './modules/dailyMaintenanceOrder/FinishDevolutionModal'
 import MaintenanceOrderChangeModal from './modules/dailyMaintenanceOrder/MaintenanceOrderChangeModal'
-import EquipmentPrecisionCheckOrderModal from './modules/dailyMaintenanceOrder/EquipmentPrecisionCheckOrderModal'
+import EquipmentPrecisionCheckOrderModal from './modules/daily3MaintenanceOrder/EquipmentPrecisionCheckOrderModal'
+import StoveCategoryModal from './modules/daily3MaintenanceOrder/StoveCategoryModal'
 import MaintenanceOrderAssignModal from './modules/dailyMaintenanceOrder/MaintenanceOrderAssignModal'
-import DailyMaintenanceOrderExeDrawer from './modules/dailyMaintenanceOrder/DailyMaintenanceOrderExeDrawer'
+import DailyMaintenanceOrderExeDrawer from './modules/daily3MaintenanceOrder/DailyMaintenanceOrderExeDrawer'
+import EquipmentTechnologyStatusModal from './modules/daily3MaintenanceOrder/EquipmentTechnologyStatusModal'
 import { getAction, postAction, requestPut } from '@/api/manage'
 
 export default {
@@ -342,11 +368,14 @@
     MaintenanceOrderAssignModal,
     EquipmentPrecisionCheckOrderModal,
     DailyMaintenanceOrderExeDrawer,
-    MaintenanceOrderChangeModal
+    MaintenanceOrderChangeModal,
+    StoveCategoryModal,
+    EquipmentTechnologyStatusModal
   },
   data() {
     return {
-      description: '鏃ュ父淇濆吇宸ュ崟',
+      description: '涓夌骇淇濆吇宸ュ崟',
+      queryParam: { maintenanceType: '3' },
       // 琛ㄥご
       columns: [
         {
@@ -360,15 +389,15 @@
           }
         },
         {
-          title: '鐘舵��',
-          align: "center",
-          dataIndex: 'statusName'
-        },
-        {
           title: '淇濆吇宸ュ崟鍙�',
           align: "center",
           dataIndex: 'num',
           scopedSlots: { customRender: 'num' }
+        },
+        {
+          title: '鐘舵��',
+          align: "center",
+          dataIndex: 'statusName'
         },
         {
           title: '淇濆吇鍛ㄦ湡',
@@ -476,7 +505,7 @@
         }
       ],
       url: {
-        list: "/eam/dailyMaintenanceOrder/getDailyMaintenanceOrderList",
+        list: "/eam/dailyMaintenanceOrder/getDailyMaintenanceOrder3List",
         delete: "/eam/dailyMaintenanceOrder/delete",
         deleteBatch: "/eam/dailyMaintenanceOrder/deleteBatch",
         exportXlsUrl: "/eam/dailyMaintenanceOrder/exportXls",
@@ -573,10 +602,21 @@
       this.$refs.EquipmentPrecisionCheckOrderModal.disableSubmit = false;
     },
 
-    handleOrderChange: function (record) {
+    handleTechnologyStatus: function (record) {
+      this.$refs.EquipmentTechnologyStatusModal.edit(record);
+      this.$refs.EquipmentTechnologyStatusModal.title = "鎶�鏈姸鎬佺紪杈�";
+      this.$refs.EquipmentTechnologyStatusModal.disableSubmit = false;
+    },
 
+    handleStoveDetection: function (record) {
+      this.$refs.StoveCategoryModal.edit(record);
+      this.$refs.StoveCategoryModal.title = "娓╁害鍧囧寑鎬ф娴嬫潯浠剁‘璁よ〃";
+      this.$refs.StoveCategoryModal.disableSubmit = false;
+    },
+
+    handleOrderChange: function (record) {
       this.$refs.MaintenanceOrderChangeModal.edit(record);
-      this.$refs.MaintenanceOrderChangeModal.title = "鐢熶骇璁惧淇濆吇璁″垝鍙樻洿鐢宠鍗�";
+      this.$refs.MaintenanceOrderChangeModal.title = "娓╁害鍧囧寑鎬ф娴嬫潯浠剁‘璁よ〃";
       this.$refs.MaintenanceOrderChangeModal.disableSubmit = false;
     },
 
diff --git a/src/views/eam/DailyInspectionOrderList.vue b/src/views/eam/DailyInspectionOrderList.vue
index d630e3a..c9ffbdc 100644
--- a/src/views/eam/DailyInspectionOrderList.vue
+++ b/src/views/eam/DailyInspectionOrderList.vue
@@ -1,7 +1,7 @@
 <template>
   <a-card
     :bordered="false"
-    title="鏃ュ父鐐规宸ュ崟"
+    title="鏃ヤ繚鍛ㄤ繚宸ュ崟"
   >
     <!-- 鏌ヨ鍖哄煙 -->
     <div class="table-page-search-wrapper">
diff --git a/src/views/eam/DailyInspectionStandardList.vue b/src/views/eam/DailyInspectionStandardList.vue
index 1f7cf59..0cb2c33 100644
--- a/src/views/eam/DailyInspectionStandardList.vue
+++ b/src/views/eam/DailyInspectionStandardList.vue
@@ -1,6 +1,6 @@
 <template>
   <a-card
-    title="鏃ュ父鐐规"
+    title="鏃ヤ繚鍛ㄤ繚鏍囧噯"
     :bordered='false'
   >
     <div class='table-page-search-wrapper'>
diff --git a/src/views/eam/DailyMaintenanceOrderList.vue b/src/views/eam/DailyMaintenanceOrderList.vue
index 9b77df9..0174fad 100644
--- a/src/views/eam/DailyMaintenanceOrderList.vue
+++ b/src/views/eam/DailyMaintenanceOrderList.vue
@@ -1,7 +1,7 @@
 <template>
   <a-card
     :bordered="false"
-    title="鏃ュ父淇濆吇宸ュ崟"
+    title="浜岀骇淇濆吇宸ュ崟"
   >
     <!-- 鏌ヨ鍖哄煙 -->
     <div class="table-page-search-wrapper">
@@ -315,7 +315,8 @@
   },
   data() {
     return {
-      description: '鏃ュ父淇濆吇宸ュ崟',
+      description: '浜岀骇淇濆吇宸ュ崟',
+      queryParam: { maintenanceType: '2' },
       // 琛ㄥご
       columns: [
         {
@@ -329,16 +330,21 @@
           }
         },
         {
-          title: '鐘舵��',
-          align: "center",
-          dataIndex: 'statusName'
-        },
-        {
           title: '淇濆吇宸ュ崟鍙�',
           align: "center",
           dataIndex: 'num',
           scopedSlots: { customRender: 'num' }
         },
+        {
+          title: '鐘舵��',
+          align: "center",
+          dataIndex: 'statusName'
+        },
+        // {
+        //   title: '淇濆吇绫诲瀷',
+        //   align: "center",
+        //   dataIndex: 'maintenanceTypeName',
+        // },
         {
           title: '淇濆吇鍛ㄦ湡',
           align: "center",
@@ -491,7 +497,7 @@
     },
 
     handlePrintInfo(record) {
-      let href = `${window._CONFIG['domianURL']}/jmreport/view/857408393168490496?id=`+record.id; //缃戠珯閾炬帴
+      let href = `${window._CONFIG['domianURL']}/jmreport/view/857408393168490496?id=` + record.id; //缃戠珯閾炬帴
       window.open(href, "_blank");
     },
 
@@ -627,7 +633,7 @@
   font-weight: bold;
 }
 .yellow {
-  color: yellow;
+  color: rgba(255, 255, 0, 0.443);
   font-weight: bold;
 }
 .fontweight {
diff --git a/src/views/eam/DailyMaintenanceStandardList.vue b/src/views/eam/DailyMaintenanceStandardList.vue
index 5692a18..30e82f1 100644
--- a/src/views/eam/DailyMaintenanceStandardList.vue
+++ b/src/views/eam/DailyMaintenanceStandardList.vue
@@ -1,6 +1,6 @@
 <template>
   <a-card
-    title="鏃ュ父淇濆吇鏍囧噯"
+    title="鍛ㄦ湡鎬т繚鍏绘爣鍑�"
     :bordered='false'
   >
     <div class='table-page-search-wrapper'>
diff --git a/src/views/eam/modules/daily3MaintenanceOrder/DailyMaintenanceOrderExeDrawer.vue b/src/views/eam/modules/daily3MaintenanceOrder/DailyMaintenanceOrderExeDrawer.vue
new file mode 100644
index 0000000..0070563
--- /dev/null
+++ b/src/views/eam/modules/daily3MaintenanceOrder/DailyMaintenanceOrderExeDrawer.vue
@@ -0,0 +1,748 @@
+<template>
+  <a-drawer
+    :title="title"
+    :width="drawerWidth"
+    :visible="visible"
+    @close="handleCancel"
+    :confirmLoading="confirmLoading"
+    :maskClosable="maskClosable"
+  >
+    <a-card :style="getBackground()">
+      <template>
+        <a-card>
+          <div :style="{width: '100%',border: '1px solid #e9e9e9',padding: '10px 16px',background: '#fff',}">
+            <a-row :style="{textAlign:'left'}">
+              <a-button
+                :style="{marginRight: '8px'}"
+                @click="handleSW"
+                :disabled=SWbuttonDistable
+                type="primary"
+                v-has="'dailyMaintenanceOrder:SW'"
+              >寮�宸�</a-button>
+              <a-button
+                :style="{marginRight: '8px'}"
+                @click="handleReport"
+                :disabled="buttonDistable"
+                type="primary"
+                v-has="'dailyMaintenanceOrder:report'"
+              >鎶ュ伐</a-button>
+              <a-button
+                :style="{marginRight: '8px'}"
+                @click="handleReset"
+                :disabled="revocationDistable"
+                type="primary"
+                v-has="'dailyMaintenanceOrder:reset'"
+              >鎾ら攢</a-button>
+            </a-row>
+          </div>
+          <div :style="{width: '100%',border: '1px solid #e9e9e9',padding: '10px 16px',background: '#fff',}">
+            <a-row :gutter="24">
+              <a-col :span="6">
+                <a-form-item
+                  :labelCol="labelCol"
+                  :wrapperCol="wrapperCol"
+                  label="鐘舵��"
+                  class="hightColor"
+                >
+                  <span
+                    v-if="this.model != null"
+                    class="hightColor"
+                  >{{ this.model.statusName }}</span>
+                  <span
+                    v-else
+                    class="frozenRowClass"
+                  >-</span>
+                </a-form-item>
+              </a-col>
+              <a-col :span="6">
+                <a-form-item
+                  :labelCol="{span:8}"
+                  :wrapperCol="{span:16}"
+                  label="淇濆吇宸ュ崟鍙�"
+                  class="hightColor"
+                >
+                  <span
+                    v-if="this.model != null"
+                    class="hightColor"
+                  >{{ this.model.num }}</span>
+                  <span
+                    v-else
+                    class="frozenRowClass"
+                  >-</span>
+                </a-form-item>
+              </a-col>
+              <a-col :span="6">
+                <a-form-item
+                  :labelCol="labelCol"
+                  :wrapperCol="wrapperCol"
+                  label="浣跨敤閮ㄩ棬"
+                  class="hightColor"
+                >
+                  <span
+                    v-if="this.model != null"
+                    class="hightColor"
+                  >{{ this.model.departName }}</span>
+                  <span
+                    v-else
+                    class="frozenRowClass"
+                  >-</span>
+                </a-form-item>
+              </a-col>
+              <a-col :span="6">
+                <a-form-item
+                  :labelCol="labelCol"
+                  :wrapperCol="wrapperCol"
+                  label="璐d换鐝粍"
+                  class="hightColor"
+                >
+                  <span
+                    v-if="this.model != null"
+                    class="hight"
+                  >{{ this.model.teamName }}</span>
+                  <span
+                    v-else
+                    class="frozenRowClass"
+                  >-</span>
+                </a-form-item>
+              </a-col>
+            </a-row>
+            <a-row :gutter="24">
+              <a-col :span="24">
+                <a-form-item
+                  label="闂鍙婂鐞嗘帾鏂芥弿杩�"
+                  :labelCol="{span:3}"
+                  :wrapperCol="{span:18}"
+                  class="hightColor"
+                >
+                  <a-textarea
+                    allowClear
+                    :disabled="this.model.status!='4'"
+                    :placeholder="'璇疯緭鍏ラ棶棰樺強澶勭悊鎺柦鎻忚堪'"
+                    v-model="model.description"
+                  />
+                </a-form-item>
+              </a-col>
+            </a-row>
+          </div>
+
+          <a-tabs
+            type="card"
+            defaultActiveKey="1"
+          >
+            <a-tab-pane
+              tab='淇濆吇鏄庣粏'
+              key="1"
+              class="hightColor"
+            >
+
+              <div>
+                <a-table
+                  ref="table"
+                  size="middle"
+                  bordered
+                  rowKey="id"
+                  :columns="columns"
+                  :dataSource="dataSource"
+                  :loading="loading"
+                  @change="handleTableChange"
+                  :pagination="ipagination"
+                >
+                  <!-- :scroll="{ x: 'calc(1200px + 50%)', y: 900 }" -->
+                  <!-- :scroll="{x:true}" -->
+                  <template
+                    v-for="col in columns"
+                    :slot="col.dataIndex"
+                    slot-scope='text, record, index'
+                  >
+                    <div :key="col.dataIndex">
+                      <span
+                        v-if=" col.dataIndex == 'photo' && !text"
+                        style="font-size: 12px;font-style: italic;"
+                      >鏃犲浘鐗�</span>
+                      <img
+                        v-if="col.dataIndex == 'photo'  && text"
+                        :src="getImgView(text)"
+                        :preview="record.maintenanceStandardDetailId"
+                        height="25px"
+                        alt=""
+                        style="max-width:80px;font-size: 12px;font-style: italic;"
+                      />
+                      <!-- 绀烘剰鍥� 寮�濮� -->
+                      <!-- <Tooltip
+                        placement="top"
+                        title="棰勮鍥剧墖"
+                      >
+                        <img
+                          v-if=" col.dataIndex == 'photo' && record.sketchPhoto.path && (record.sketchPhoto.format.toLowerCase()=='jpg'||record.sketchPhoto.format.toLowerCase()=='bmp'||record.sketchPhoto.format.toLowerCase()=='png'||record.sketchPhoto.format.toLowerCase()=='jpeg'||record.sketchPhoto.format.toLowerCase()=='gif')"
+                          width="30"
+                          height="14"
+                          border="1"
+                          draggable="false"
+                          preview="1"
+                          :preview-text="''"
+                          :src="record.sketchPhoto.src"
+                        />
+                      </Tooltip>
+
+                      <a
+                        v-if=" col.dataIndex == 'photo' &&  record.sketchPhoto.path && record.sketchPhoto.format.toLowerCase()=='pdf'"
+                        href="javascript:;"
+                        @click="viewP(record.sketchPhoto)"
+                      >
+                        棰勮
+                      </a> -->
+
+                      <a-input
+                        :value="text"
+                        v-if="col.dataIndex == 'maintenanceOrderDetailUda1'"
+                        @change="(e)=>handleChange(e, record.key, col, index)"
+                      />
+                    </div>
+                  </template>
+                </a-table>
+                <div :style="{width: '100%',border: '1px solid #e9e9e9',padding: '10px 16px',background: '#fff',}">
+                  <a-row :style="{textAlign:'right'}">
+                    <a-button
+                      :style="{marginRight: '8px'}"
+                      @click="handleCancel"
+                    >
+                      鍙栨秷
+                    </a-button>
+                    <a-button
+                      @click="handleOk()"
+                      type="primary"
+                      :disabled="this.model.status!='4'"
+                      :loading="confirmLoading"
+                    >淇濆瓨</a-button>
+                  </a-row>
+                  <!-- v-has="'dailyMaintenanceOrder:actualWorkHoursSave'" -->
+                  <!-- :disabled="false" -->
+                </div>
+              </div>
+            </a-tab-pane>
+
+            <a-tab-pane
+              tab='璁″垝鐢ㄦ枡'
+              key="2"
+            >
+              <div
+                class="table-operator"
+                style="margin:-16px"
+              >
+                <maintenance-standard-planning-material :maintenanceStandardId='maintenanceStandardId' />
+              </div>
+            </a-tab-pane>
+            <a-tab-pane
+              tab='鍗遍櫓闃叉帶'
+              key="3"
+            >
+              <div
+                class="table-operator"
+                style="margin:-16px"
+              >
+                <maintenance-standard-safety-requirement :maintenanceStandardId='maintenanceStandardId' />
+              </div>
+            </a-tab-pane>
+            <a-tab-pane
+              tab='浣滀笟鎸囧涔�'
+              key="4"
+            >
+              <div
+                class="table-operator"
+                style="margin:-16px"
+              >
+                <maintenance-standard-work-instruction :maintenanceStandardId='maintenanceStandardId' />
+              </div>
+            </a-tab-pane>
+            <a-tab-pane
+              tab='瀹為檯鐢ㄦ枡'
+              key="5"
+            >
+              <div
+                class="table-operator"
+                style="margin:-16px"
+              >
+                <actual-material-edit-table
+                  :dailyMaintenanceOrderId="this.model.id"
+                  :dailyMaintenanceOrderStatus="this.model.status"
+                  :equipmentId="this.model.equipmentId"
+                ></actual-material-edit-table>
+              </div>
+            </a-tab-pane>
+            <a-tab-pane
+              tab='瀹為檯宸ユ椂'
+              key="6"
+            >
+              <div
+                class="table-operator"
+                style="margin:-16px"
+              >
+                <actual-work-hours-edit-table
+                  :dailyMaintenanceOrderId="this.model.id"
+                  :dailyMaintenanceOrderStatus="this.model.status"
+                  :equipmentId="this.model.equipmentId"
+                  :teamId="this.model.teamId"
+                ></actual-work-hours-edit-table>
+              </div>
+            </a-tab-pane>
+          </a-tabs>
+        </a-card>
+      </template>
+    </a-card>
+
+    <div :style="{width: '100%',border: '1px solid #e9e9e9',padding: '10px 16px',background: '#fff',}">
+      <a-row :style="{textAlign:'right'}">
+        <a-button
+          :style="{marginRight: '8px'}"
+          @click="handleCancel"
+        >
+          鍙栨秷
+        </a-button>
+        <a-button
+          :style="{marginRight: '8px'}"
+          @click="handleTS"
+          :disabled="buttonDistable"
+          type="primary"
+          v-if="false"
+        >鏆傚瓨</a-button>
+        <a-button
+          @click="handleOk"
+          :disabled="buttonDistable"
+          type="primary"
+          v-if="false"
+        >淇濆瓨</a-button>
+      </a-row>
+    </div>
+  </a-drawer>
+</template>
+
+<script>
+import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+import { requestPut, getAction, downFile, postAction } from '@/api/manage'
+import Tooltip from 'ant-design-vue/es/tooltip'
+
+import { preview } from 'vue-photo-preview'
+import { ACCESS_TOKEN } from '@/store/mutation-types'
+import Vue from 'vue'
+import PdfView from '@views/common/PdfView'
+import { getFileAccessHttpUrl } from '@/api/manage';
+
+import MaintenanceStandardPlanningMaterial from '../dailyMaintenanceOrder/MaintenanceStandardPlanningMaterial'
+import MaintenanceStandardSafetyRequirement from '../dailyMaintenanceOrder/MaintenanceStandardSafetyRequirement'
+import MaintenanceStandardWorkInstruction from '../dailyMaintenanceOrder/MaintenanceStandardWorkInstruction'
+import ActualMaterialEditTable from '../dailyMaintenanceOrder/ActualMaterialEditTable.vue'
+import ActualWorkHoursEditTable from '../dailyMaintenanceOrder/ActualWorkHoursEditTable.vue'
+
+export default {
+  name: 'DailyMaintenanceOrderExeDrawer',
+  mixins: [JeecgListMixin],
+  components: {
+    PdfView,
+    preview,
+    Tooltip,
+    MaintenanceStandardPlanningMaterial,
+    MaintenanceStandardSafetyRequirement,
+    MaintenanceStandardWorkInstruction,
+    ActualMaterialEditTable,
+    ActualWorkHoursEditTable
+  },
+  data() {
+    return {
+      title: "鏃ュ父淇濆吇宸ュ崟鎵ц",
+      visible: false,
+      maskClosable: true,
+      confirmLoading: false,
+      drawerWidth: "100%",
+      buttonDistable: false,
+      SWbuttonDistable: false,
+      revocationDistable: false,
+      currentNodeSelect: '',
+      maintenanceStandardId: '-1',
+      loading: false,
+      dataSource: [],
+      model: {},
+      form: this.$form.createForm(this),
+      labelCol: {
+        xs: { span: 24 },
+        sm: { span: 6 },
+      },
+      wrapperCol: {
+        xs: { span: 24 },
+        sm: { span: 18 },
+      },
+      validatorRules: {
+        // description: {
+        //   rules: [
+        //     { required: true, message: '璇疯緭鍏ユ弿杩�!' },
+        //   ]
+        // }
+      },
+      columns: [
+        {
+          title: '#',
+          dataIndex: '',
+          key: 'rowIndex',
+          align: 'center',
+          width: 60,
+          customRender: function (t, r, index) {
+            return parseInt(index) + 1
+          }
+
+        },
+        {
+          title: '閮ㄤ綅',
+          align: 'center',
+          dataIndex: 'location',
+        },
+        // class: "notshow"
+        {
+          title: '绀烘剰鍥�',
+          align: 'center',
+          dataIndex: 'photo',
+          scopedSlots: { customRender: 'photo' },
+        },
+        // class: "notshow"
+        {
+          title: '淇濆吇椤圭洰',
+          align: 'center',
+          dataIndex: 'maintenanceProjectNum',
+        },
+        {
+          title: '淇濆吇鏍囧噯',
+          align: 'center',
+          dataIndex: 'standard',
+        },
+        // {
+        //   title: '鏂规硶',
+        //   align: 'center',
+        //   dataIndex: 'maintenanceMethodName',
+        // },
+        // {
+        //   title: '宸ュ叿',
+        //   align: 'center',
+        //   dataIndex: 'maintenanceTool',
+        // },
+        {
+          title: '瀹夊叏瑕佹眰',
+          align: 'center',
+          dataIndex: 'maintenanceRequire',
+        },
+        {
+          title: '宸ユ椂瀹氶锛堝皬鏃讹級',
+          align: 'center',
+          dataIndex: 'workingHourQuota',
+        },
+        {
+          title: '淇濆吇鍛ㄦ湡',
+          align: 'center',
+          dataIndex: 'maintenanceCycleName',
+        },
+        {
+          title: '缁翠繚涓撲笟',
+          align: 'center',
+          dataIndex: 'maintenanceSpecialtyName',
+        },
+        {
+          title: '淇濆吇浜�',
+          align: 'center',
+          dataIndex: 'maintenanceOrderDetailUda1',
+          width: 200,
+          scopedSlots: { customRender: 'maintenanceOrderDetailUda1' },
+        },
+      ],
+      url: {
+        list: "/eam/dailyMaintenanceOrderDetail/getDailyMaintenanceOrderDetailList",
+        urlDownload: window._CONFIG['staticDomainURL'],
+        download: '/sys/upload/downloadFile',
+        editStatus: "/eam/dailyMaintenanceOrder/editStatus",
+        revocation: "/eam/dailyMaintenanceOrder/revocation3M",
+        report: "/eam/dailyMaintenanceOrder/report3M",
+        edit: "/eam/dailyMaintenanceOrderDetail/edit"
+      },
+    }
+  },
+  mounted() {
+    this.$bus.$on('closeDrawer', (data) => {
+      this.visible = false;
+    })
+  },
+
+  methods: {
+
+    handleShow(record) {
+      this.model = Object.assign({}, record);
+      this.maintenanceStandardId = record.maintenanceStandardId
+      this.dataSource = []
+      this.visible = true;
+      this.queryParam.dailyMaintenanceOrderId = record.id
+      this.loadData1(1)
+    },
+
+    loadData1(arg) {
+      if (!this.url.list) {
+        this.$message.error("璇疯缃畊rl.list灞炴��!")
+        return
+      }
+      //鍔犺浇鏁版嵁 鑻ヤ紶鍏ュ弬鏁�1鍒欏姞杞界涓�椤电殑鍐呭
+      if (arg === 1) {
+        this.ipagination.current = 1;
+      }
+      var params = this.getQueryParams();//鏌ヨ鏉′欢
+      this.loading = true;
+      getAction(this.url.list, params).then((res) => {
+        if (res.success) {
+          // for (let i = 0; i < res.result.records.length; i++) {
+          //   let r = res.result.records[i].sketchPhoto;
+          //   r.src = this.getSrc(res.result.records[i].sketchPhoto);
+          // }
+          //update-begin---author:zhangyafei    Date:20201118  for锛氶�傞厤涓嶅垎椤电殑鏁版嵁鍒楄〃------------
+          this.dataSource = res.result.records || res.result;
+          if (res.result.total) {
+            this.ipagination.total = res.result.total;
+          } else {
+            this.ipagination.total = 0;
+          }
+          //update-end---author:zhangyafei    Date:20201118  for锛氶�傞厤涓嶅垎椤电殑鏁版嵁鍒楄〃------------
+        } else {
+          this.$message.warning(res.message)
+        }
+      }).finally(() => {
+        this.loading = false
+      })
+    },
+
+    modalFormOk() {
+      //娓呯┖鍒楄〃閫変腑
+      this.onClearSelected()
+    },
+    loadData() {
+    },
+    getBackground() {
+      return "background-color:rgba(127, 127, 127,0.08)";
+    },
+    handleCancel() {
+      this.$emit('ok');
+      this.alterFlag = new Date();
+      this.close()
+    },
+    close() {
+      this.visible = false;
+    },
+    //鏆傚瓨
+    handleTS() {
+
+    },
+    //寮�宸�
+    handleSW() {
+      const that = this;
+      that.confirmLoading = true;
+      this.$confirm({
+        title: '淇濆吇宸ュ崟寮�宸�',
+        content: '鎻愮ず锛氬紑宸ュ悗鏃犳硶鎾ゅ洖锛岃璋ㄦ厧鎿嶄綔锛�',
+        okText: '纭',
+        cancelText: '鍙栨秷',
+        onOk() {
+          requestPut(that.url.editStatus, { id: that.model.id, status: '4' }).then((res) => {
+            if (res.success) {
+              that.model.status = '4'
+              that.$message.success("宸ュ崟寮�宸ユ垚鍔燂紒")
+              that.buttonDistable = false
+              that.revocationDistable = true
+              that.SWbuttonDistable = true
+            } else {
+              that.$message.warning("宸ュ崟寮�宸ュけ璐ワ紒")
+            }
+          }).finally(() => {
+            that.confirmLoading = false;
+            // that.close();
+          })
+        },
+      })
+    },
+    //鎶ュ伐
+    handleReport() {
+      const that = this;
+      that.confirmLoading = true;
+      this.$confirm({
+        title: '淇濆吇宸ュ崟鎶ュ伐',
+        content: '鎻愮ず锛氭姤宸ュ悗淇濆吇瀹屽伐锛岃璋ㄦ厧鎿嶄綔锛�',
+        okText: '纭',
+        cancelText: '鍙栨秷',
+        onOk() {
+          requestPut(that.url.report, { id: that.model.id, status: '5', description: that.model.description }).then((res) => {
+            if (res.success) {
+              that.model.status = '5'
+              that.$message.success(res.message)
+              that.buttonDistable = false
+              that.revocationDistable = true
+              that.SWbuttonDistable = true
+              that.$emit('ok');
+              that.alterFlag = new Date();
+              that.close();
+            } else {
+              that.$message.warning(res.message)
+            }
+          }).finally(() => {
+            that.confirmLoading = false;
+            // 
+          })
+        },
+      })
+    },
+    //鎾ら攢
+    handleReset() {
+      const that = this;
+      that.confirmLoading = true;
+      this.$confirm({
+        title: '瀹屽伐鎾ら攢',
+        content: '鎻愮ず锛氬畬宸ユ挙閿�鍚庡彲缁х画鎶ュ伐鎿嶄綔锛�',
+        okText: '纭',
+        cancelText: '鍙栨秷',
+        onOk() {
+          requestPut(that.url.revocation, { id: that.model.id, status: '4' }).then((res) => {
+            if (res.success) {
+              that.model.status = '4'
+              that.$message.success(res.message)
+              that.buttonDistable = false
+              that.revocationDistable = true
+              that.SWbuttonDistable = true
+            } else {
+              that.$message.warning(res.message)
+            }
+          }).finally(() => {
+            that.confirmLoading = false;
+            // that.close();
+          })
+        },
+      })
+    },
+    //淇濆瓨
+    handleOk() {
+      const that = this
+      this.loading = true;
+      this.form.validateFields((err, values) => {
+        if (!err) {
+          that.confirmLoading = true
+          let formData = {}
+          formData.dailyMaintenanceOrderDetails = that.dataSource;
+          let obj = obj = postAction(this.url.edit, formData)
+          obj.then((res) => {
+            if (res.success) {
+              that.$message.success(res.message)
+              that.$emit('ok')
+            } else {
+              that.$message.warning(res.message)
+            }
+          }).finally(() => {
+            that.confirmLoading = false
+            that.loadData1();
+            this.loading = false;
+          })
+        }
+      })
+    },
+
+    handleChange(value, key, column, index) {
+      let that = this;
+      const temp = [...that.dataSource];
+      const target = temp[index];
+      if (target) {
+        target[column.dataIndex] = value;
+        if ('maintenanceOrderDetailUda1' == column.dataIndex) {
+          target['maintenanceOrderDetailUda1'] = value.target.value;
+        }
+        that.dataSource = temp;
+      }
+    },
+
+    view(record) {
+      this.$refs.pdfview.showPdf(record.src);
+    },
+
+    handleDownload(record) {
+      downFile(this.url.download, { id: record.upload.id }).then((res) => {
+        if (!res) {
+          this.$message.warning('鏂囦欢涓嬭浇澶辫触')
+          return
+        } else {
+          let fileName = record.upload.name;
+          if (typeof window.navigator.msSaveBlob !== 'undefined') {
+            window.navigator.msSaveBlob(new Blob([res]), fileName);
+          } else {
+            let url = window.URL.createObjectURL(new Blob([res]));
+            let link = document.createElement('a');
+            link.style.display = 'none';
+            link.href = url;
+            link.setAttribute('download', fileName);
+            document.body.appendChild(link);
+            link.click()
+            document.body.removeChild(link) //涓嬭浇瀹屾垚绉婚櫎鍏冪礌
+            window.URL.revokeObjectURL(url) //閲婃斁鎺塨lob瀵硅薄
+          }
+        }
+      })
+    },
+
+    getSrc(record) {
+      if (!record.path) {
+        return '';
+      }
+      //鏈湴锛歭ocal\Minio锛歮inio\闃块噷浜戯細alioss
+      if (record.uploadType == 'local') {
+
+        let ssoLoginFlag = Vue.ls.get("ssoLoginFlag");
+        let deployMode = Vue.ls.get("deployMode");
+
+        if (ssoLoginFlag && deployMode == "container") {
+          var baseProject = Vue.ls.get("baseProject");
+          console.log("baseProject==>" + baseProject)
+
+          var hostname = window.location.protocol + "//" + window.location.host;
+          var url = hostname + '/' + baseProject + '/sys/common/static';
+          return getFileAccessHttpUrl(record.path + record.encodeName, url, window._CONFIG['hyperTextTransfer'])
+        } else {
+          //鏍规嵁鍙戝竷鐘舵�佷慨鏀筯ttps 鎴� http
+          return getFileAccessHttpUrl(record.path + record.encodeName, this.url.urlDownload, window._CONFIG['hyperTextTransfer'])
+        }
+
+      } else if (record.uploadType == 'alioss') {
+
+        const OSS = require('ali-oss')
+        const client = new OSS({
+          // region浠ユ澀宸炰负渚嬶紙oss-cn-hangzhou锛夛紝鍏朵粬region鎸夊疄闄呮儏鍐靛~鍐欍��
+          region: window._CONFIG['region'],
+          // 闃块噷浜戜富璐﹀彿AccessKey鎷ユ湁鎵�鏈堿PI鐨勮闂潈闄愶紝椋庨櫓寰堥珮銆傚己鐑堝缓璁偍鍒涘缓骞朵娇鐢≧AM璐﹀彿杩涜API璁块棶鎴栨棩甯歌繍缁达紝璇风櫥褰昍AM鎺у埗鍙板垱寤篟AM璐﹀彿銆�
+          accessKeyId: window._CONFIG['accessKeyId'],
+          accessKeySecret: window._CONFIG['accessKeySecret'],
+          bucket: window._CONFIG['bucket'],
+        })
+        // object-key琛ㄧず浠嶰SS涓嬭浇鏂囦欢鏃堕渶瑕佹寚瀹氬寘鍚枃浠跺悗缂�鍦ㄥ唴鐨勫畬鏁磋矾寰勶紝渚嬪abc/efg/123.jpg銆�
+        return client.signatureUrl(record.path)
+      }
+    },
+  },
+
+}
+</script>
+
+<style scoped>
+@import '~@assets/less/common.less';
+.hightColor {
+  height: 10%;
+  font-weight: bold;
+  font-size: 20px;
+  color: #1b1e1e;
+}
+.frozenRowClass {
+  color: #c9c9c9;
+}
+.fontweight {
+  font-weight: bold;
+}
+.hight {
+  color: #f5222d;
+}
+/deep/ .red {
+  color: red;
+}
+</style>
\ No newline at end of file
diff --git a/src/views/eam/modules/dailyMaintenanceOrder/EquipmentPrecisionCheckOrderModal.vue b/src/views/eam/modules/daily3MaintenanceOrder/EquipmentPrecisionCheckOrderModal.vue
similarity index 99%
rename from src/views/eam/modules/dailyMaintenanceOrder/EquipmentPrecisionCheckOrderModal.vue
rename to src/views/eam/modules/daily3MaintenanceOrder/EquipmentPrecisionCheckOrderModal.vue
index c2743c5..f865e11 100644
--- a/src/views/eam/modules/dailyMaintenanceOrder/EquipmentPrecisionCheckOrderModal.vue
+++ b/src/views/eam/modules/daily3MaintenanceOrder/EquipmentPrecisionCheckOrderModal.vue
@@ -456,6 +456,7 @@
         if (res.success) {
           this.dataSource = res.result[0].precisionInspectionDetails
           this.model = Object.assign({}, res.result[0]);
+          debugger
         }
       })
     },
diff --git a/src/views/eam/modules/daily3MaintenanceOrder/EquipmentTechnologyStatusModal.vue b/src/views/eam/modules/daily3MaintenanceOrder/EquipmentTechnologyStatusModal.vue
new file mode 100644
index 0000000..e862851
--- /dev/null
+++ b/src/views/eam/modules/daily3MaintenanceOrder/EquipmentTechnologyStatusModal.vue
@@ -0,0 +1,229 @@
+<template>
+  <a-modal
+    :title="title"
+    :width="650"
+    :visible="visible"
+    :maskClosable="false"
+    :confirmLoading="confirmLoading"
+    :okButtonProps="{ props: {disabled: disableSubmit} }"
+    @ok="handleOk"
+    @cancel="handleCancel"
+    cancelText="鍏抽棴"
+  >
+    <a-spin :spinning="confirmLoading">
+      <a-form :form="form">
+        <a-row :gutter="24">
+          <a-col :span="24">
+            <a-form-item
+              label="缁熶竴缂栧彿"
+              :labelCol="labelCol"
+              :wrapperCol="wrapperCol"
+            >
+              <a-input
+                allow-clear
+                :disabled="true"
+                :placeholder="disableSubmit?'':'璇疯緭鍏ョ粺涓�缂栧彿'"
+                v-decorator="['equipmentNum', validatorRules.equipmentNum ]"
+              />
+            </a-form-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-item
+              label="璁惧鍚嶇О"
+              :labelCol="labelCol"
+              :wrapperCol="wrapperCol"
+            >
+              <a-input
+                allow-clear
+                :disabled="true"
+                :placeholder="disableSubmit?'':'璇疯緭鍏ヨ澶囧悕绉�'"
+                v-decorator="['equipmentName', validatorRules.equipmentName ]"
+              />
+            </a-form-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-item
+              label="鍨嬪彿"
+              :labelCol="labelCol"
+              :wrapperCol="wrapperCol"
+            >
+              <a-input
+                allow-clear
+                :disabled="true"
+                :placeholder="disableSubmit?'':'璇疯緭鍏ュ瀷鍙�'"
+                v-decorator="['equipmentModel', validatorRules.equipmentModel ]"
+              />
+            </a-form-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-item
+              label="瑙勬牸"
+              :labelCol="labelCol"
+              :wrapperCol="wrapperCol"
+            >
+              <a-input
+                allow-clear
+                :disabled="true"
+                :placeholder="disableSubmit?'':'璇疯緭鍏ヨ鏍�'"
+                v-decorator="['specification', validatorRules.specification ]"
+              />
+            </a-form-item>
+          </a-col>
+          <a-col :span="24">
+            <a-form-model-item
+              label="鎶�鏈姸鎬�"
+              :labelCol="labelCol"
+              :wrapperCol="wrapperCol"
+              prop="technologyStatus"
+            >
+              <j-dict-select-tag
+                allow-clear
+                placeholder="璇烽�夋嫨鎶�鏈姸鎬�"
+                :triggerChange="true"
+                dictCode="technology_status"
+                v-decorator="['technologyStatus', validatorRules.technologyStatus ]"
+              />
+            </a-form-model-item>
+          </a-col>
+        </a-row>
+      </a-form>
+    </a-spin>
+
+    <template slot="footer">
+      <a-button
+        :style="{marginRight: '8px'}"
+        @click="handleCancel"
+      >
+        鍏抽棴
+      </a-button>
+      <a-button
+        :disabled="disableSubmit || confirmLoading"
+        :loading="confirmLoading"
+        @click="handleOk"
+        type="primary"
+      >淇濆瓨</a-button>
+      <!-- icon="save" -->
+    </template>
+
+  </a-modal>
+</template>
+
+<script>
+import pick from 'lodash.pick'
+import { postAction, requestPut } from '@/api/manage'
+import { duplicateCheck } from '@/api/api'
+
+export default {
+  name: 'EquipmentTechnologyStatusModal',
+  data() {
+    return {
+      title: "鎿嶄綔",
+      visible: false,
+      codeDisable: true,
+      disableSubmit: false,
+      model: {},
+      labelCol: {
+        xs: { span: 24 },
+        sm: { span: 5 },
+      },
+      wrapperCol: {
+        xs: { span: 24 },
+        sm: { span: 19 },
+      },
+      confirmLoading: false,
+      form: this.$form.createForm(this),
+      validatorRules: {
+        technologyStatus: {
+          rules: [
+            { required: true, message: '璇疯緭鍏ラ�夋嫨鎶�鏈姸鎬�!' },
+          ]
+        },
+
+      },
+      url: {
+        edit: "/eam/dailyMaintenanceOrder/editTechnologyStatus"
+      },
+      //鏂板銆佺紪杈戙�佸垹闄ゃ�佹壒閲忓垹闄ゆ搷浣滄敼鍙樻暟鎹悗鍒锋柊鍏宠仈鐨勭粍浠剁殑鐩戝惉灞炴��
+      alterFlag: ""
+    }
+  },
+  created() {
+  },
+  methods: {
+
+    edit(record) {
+      this.form.resetFields();
+      this.model = Object.assign({}, record);
+      this.visible = true;
+      this.disableSubmit = false;
+      this.$nextTick(() => {
+        this.form.setFieldsValue(pick(this.model, 'equipmentNum', 'equipmentName', 'equipmentModel', 'specification', 'technologyStatus'))
+      });
+      if (record.id) {
+        this.codeDisable = true;
+      } else {
+        this.codeDisable = false;
+      }
+    },
+
+    close() {
+      this.$emit('close');
+      this.visible = false;
+    },
+
+    handleOk() {
+      const that = this;
+      // 瑙﹀彂琛ㄥ崟楠岃瘉
+      this.form.validateFields((err, values) => {
+        if (!err) {
+          that.confirmLoading = true;
+          let formData = Object.assign(this.model, values);
+          let obj;
+          if (!this.model.id) {
+            obj = postAction(this.url.add, formData);
+          } else {
+            obj = requestPut(this.url.edit, { id: this.model.equipmentId, technologyStatus: this.model.technologyStatus, maintenanceOrderId: this.model.id });
+          }
+          obj.then((res) => {
+            if (res.success) {
+              that.$message.success(res.message);
+              that.$emit('ok');
+              that.alterFlag = new Date();
+            } else {
+              that.$message.warning(res.message);
+            }
+          }).finally(() => {
+            that.confirmLoading = false;
+            that.close();
+          })
+        }
+      })
+    },
+
+    handleCancel() {
+      this.close()
+    },
+  },
+}
+</script>
+
+<style scoped>
+.ant-btn {
+  padding: 0 10px;
+  margin-left: 3px;
+}
+
+.ant-form-item-control {
+  line-height: 0px;
+}
+
+/** 涓昏〃鍗曡闂磋窛 */
+.ant-form .ant-form-item {
+  margin-bottom: 10px;
+}
+
+/** Tab椤甸潰琛岄棿璺� */
+.ant-tabs-content .ant-form-item {
+  margin-bottom: 0px;
+}
+</style>
\ No newline at end of file
diff --git a/src/views/eam/modules/daily3MaintenanceOrder/StoveCategoryModal.vue b/src/views/eam/modules/daily3MaintenanceOrder/StoveCategoryModal.vue
new file mode 100644
index 0000000..b8006ed
--- /dev/null
+++ b/src/views/eam/modules/daily3MaintenanceOrder/StoveCategoryModal.vue
@@ -0,0 +1,1000 @@
+<template>
+  <a-modal
+    :width="1000"
+    :visible="visible"
+    :maskClosable="false"
+    @ok="handleOk"
+    cancelText="鍏抽棴"
+    @cancel="handleCancel"
+    :confirmLoading="confirmLoading"
+  >
+
+    <!-- :title="title" -->
+    <!-- <a-spin :spinning="confirmLoading"> -->
+    <!-- <a-form :form="form"> -->
+    <a-divider
+      orientation="center"
+      style="font-size: large;font-style: normal;font-size: 30px;color: #66aeed;"
+    > 娓╁害鍧囧寑鎬ф娴嬫潯浠剁‘璁よ〃 </a-divider>
+
+    <!-- <div :style="{height: '115px',float: 'left',width: '100%',border: '1px solid #e9e9e9',padding: '50px 20px',background: '#fff',}"> -->
+    <span
+      class="ant-descriptions-title"
+      style="font-size: large;font-style: normal;font-size: 20px;"
+    >&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;鍦ㄤ笁淇濆疄鏂借繃绋嬩腑锛岃繘琛屼簡缁翠慨鎴栨洿鎹笖绗﹀悎浠ヤ笅鏉℃涔嬩竴鑰呭繀椤昏繘琛岀倝娓╁潎鍖�鎬ф娴嬪苟瀵逛笅鍒楁潯娆捐繘琛屾墦鈭氱‘璁ゃ��</span>
+    <!-- </div> -->
+    <div>
+      <div :style="{height: '45px',float: 'left',width: '10%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
+        <span
+          class="ant-descriptions-title"
+          style="font-size: large;font-style: normal;font-size: 15px;"
+        >搴忓彿</span>
+      </div>
+      <div :style="{height: '45px',float: 'left',width: '80%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
+        <span
+          class="ant-descriptions-title"
+          style="font-size: large;font-style: normal;font-size: 15px;"
+        >缁翠慨鎴栨洿鎹㈤」鐩�</span>
+      </div>
+      <div :style="{height: '45px',float: 'right',width: '10%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
+        <span
+          class="ant-descriptions-title"
+          style="font-size: large;font-style: normal;font-size: 15px;"
+        >鏄�/鍚�</span>
+      </div>
+    </div>
+
+    <div>
+      <div :style="{height: '45px',float: 'left',width: '10%',border: '1px solid #e9e9e9',padding: '20px 20px',background: '#fff',}">
+        <span
+          class="ant-descriptions-title"
+          style="font-size: large;font-style: normal;font-size: 15px;"
+        >1</span>
+      </div>
+      <div :style="{height: '45px',float: 'left',width: '80%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
+        <span
+          class="ant-descriptions-title"
+          style="font-size: large;font-style: normal;font-size: 15px;"
+        >澧炲姞鏈�楂樺伐浣滄俯搴︽垨闄嶄綆鏈�浣庡伐浣滄俯搴�</span>
+      </div>
+      <div :style="{height: '45px',float: 'right',width: '10%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
+        <a-switch
+          checked-children="鏄�"
+          un-checked-children="鍚�"
+          :checked="model.result_1 == '1'"
+          @change="handleSwitch(model.result_1)"
+        />
+      </div>
+    </div>
+    <div>
+      <div :style="{height: '45px',float: 'left',width: '10%',border: '1px solid #e9e9e9',padding: '20px 20px',background: '#fff',}">
+        <span
+          class="ant-descriptions-title"
+          style="font-size: large;font-style: normal;font-size: 15px;"
+        >2</span>
+      </div>
+      <div :style="{height: '45px',float: 'left',width: '80%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
+        <span
+          class="ant-descriptions-title"
+          style="font-size: large;font-style: normal;font-size: 15px;"
+        >鐐夊瓙娓╁害鍧囧寑鎬у彉鏇翠负鏇村皬鐨勬俯搴﹀亸宸姹�</span>
+      </div>
+      <div :style="{height: '45px',float: 'right',width: '10%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
+        <a-switch
+          checked-children="鏄�"
+          un-checked-children="鍚�"
+          :checked="model.result_2 == '1'"
+          @change="handle2Switch(model.result_2)"
+        />
+      </div>
+    </div>
+    <div>
+      <div :style="{height: '45px',float: 'left',width: '10%',border: '1px solid #e9e9e9',padding: '20px 20px',background: '#fff',}">
+        <span
+          class="ant-descriptions-title"
+          style="font-size: large;font-style: normal;font-size: 15px;"
+        >3</span>
+      </div>
+      <div :style="{height: '45px',float: 'left',width: '80%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
+        <span
+          class="ant-descriptions-title"
+          style="font-size: large;font-style: normal;font-size: 15px;"
+        >浣跨敤涓嶅悓鐨勫姞鐑粍浠舵垨鍔犵儹缁勪欢鐨勭被鍨嬫垨浣嶇疆鍙樺寲</span>
+      </div>
+      <div :style="{height: '45px',float: 'right',width: '10%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
+        <a-switch
+          checked-children="鏄�"
+          un-checked-children="鍚�"
+          :checked="model.result_3 == '1'"
+          @change="handle3Switch(model.result_3)"
+        />
+      </div>
+    </div>
+    <div>
+      <div :style="{height: '45px',float: 'left',width: '10%',border: '1px solid #e9e9e9',padding: '20px 20px',background: '#fff',}">
+        <span
+          class="ant-descriptions-title"
+          style="font-size: large;font-style: normal;font-size: 15px;"
+        >4</span>
+      </div>
+      <div :style="{height: '45px',float: 'left',width: '80%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
+        <span
+          class="ant-descriptions-title"
+          style="font-size: large;font-style: normal;font-size: 15px;"
+        >鐑寰幆璁惧鐨勬皵娴佹柟寮�/閫熺巼鍙樺寲鐨勩�傚:鎸℃澘浣嶇疆銆侀鎵囬�熷害銆侀鎵囨暟閲忕瓑绛夊彉鍖�</span>
+      </div>
+      <div :style="{height: '45px',float: 'right',width: '10%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
+        <a-switch
+          checked-children="鏄�"
+          un-checked-children="鍚�"
+          :checked="model.result_4 == '1'"
+          @change="handle4Switch(model.result_4)"
+        />
+      </div>
+    </div>
+    <div>
+      <div :style="{height: '45px',float: 'left',width: '10%',border: '1px solid #e9e9e9',padding: '20px 20px',background: '#fff',}">
+        <span
+          class="ant-descriptions-title"
+          style="font-size: large;font-style: normal;font-size: 15px;"
+        >5</span>
+      </div>
+      <div :style="{height: '45px',float: 'left',width: '80%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
+        <span
+          class="ant-descriptions-title"
+          style="font-size: large;font-style: normal;font-size: 15px;"
+        >鑰愮儹灞傚帤搴︾殑鏀瑰彉鎴栦娇鐢ㄤ笉鍚岀儹鎬ц兘鐨勬柊鍨嬭�愮儹鏉愭枡</span>
+      </div>
+      <div :style="{height: '45px',float: 'right',width: '10%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
+        <a-switch
+          checked-children="鏄�"
+          un-checked-children="鍚�"
+          :checked="model.result_5 == '1'"
+          @change="handle5Switch(model.result_5)"
+        />
+      </div>
+    </div>
+    <div>
+      <div :style="{height: '45px',float: 'left',width: '10%',border: '1px solid #e9e9e9',padding: '20px 20px',background: '#fff',}">
+        <span
+          class="ant-descriptions-title"
+          style="font-size: large;font-style: normal;font-size: 15px;"
+        >6</span>
+      </div>
+      <div :style="{height: '45px',float: 'left',width: '80%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
+        <span
+          class="ant-descriptions-title"
+          style="font-size: large;font-style: normal;font-size: 15px;"
+        >鐪熺┖鐐夊姞鐑閲嶆柊璁捐鎴栨潗鏂欐敼鍙�</span>
+      </div>
+      <div :style="{height: '45px',float: 'right',width: '10%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
+        <a-switch
+          checked-children="鏄�"
+          un-checked-children="鍚�"
+          :checked="model.result_6 == '1'"
+          @change="handle6Switch(model.result_6)"
+        />
+
+      </div>
+    </div>
+    <div :style="{height: '45px',float: 'left',width: '10%',border: '1px solid #e9e9e9',padding: '20px 20px',background: '#fff',}">
+      <span
+        class="ant-descriptions-title"
+        style="font-size: large;font-style: normal;font-size: 15px;"
+      >7</span>
+    </div>
+    <div :style="{height: '45px',float: 'left',width: '80%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
+      <span
+        class="ant-descriptions-title"
+        style="font-size: large;font-style: normal;font-size: 15px;"
+      >鎺у埗浼犳劅鍣ㄤ綅缃垨绫诲瀷鍙戠敓鏀瑰彉</span>
+    </div>
+    <div :style="{height: '45px',float: 'right',width: '10%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
+
+      <a-switch
+        checked-children="鏄�"
+        un-checked-children="鍚�"
+        :checked="model.result_7 == '1'"
+        @change="handle7Switch(model.result_7)"
+      />
+    </div>
+    <div>
+      <div :style="{height: '45px',float: 'left',width: '10%',border: '1px solid #e9e9e9',padding: '20px 20px',background: '#fff',}">
+        <span
+          class="ant-descriptions-title"
+          style="font-size: large;font-style: normal;font-size: 15px;"
+        >8</span>
+      </div>
+      <div :style="{height: '45px',float: 'left',width: '80%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
+        <span
+          class="ant-descriptions-title"
+          style="font-size: large;font-style: normal;font-size: 15px;"
+        >娓╁害鎺у埗绯荤粺銆佹帶鍒舵柟寮忔垨鍙傛暟鍙戠敓鏀瑰彉</span>
+      </div>
+      <div :style="{height: '45px',float: 'right',width: '10%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
+        <a-switch
+          checked-children="鏄�"
+          un-checked-children="鍚�"
+          :checked="model.result_8 == '1'"
+          @change="handle8Switch(model.result_8)"
+        />
+      </div>
+    </div>
+    <div>
+      <div :style="{height: '45px',float: 'left',width: '10%',border: '1px solid #e9e9e9',padding: '20px 20px',background: '#fff',}">
+        <span
+          class="ant-descriptions-title"
+          style="font-size: large;font-style: normal;font-size: 15px;"
+        >9</span>
+      </div>
+      <div :style="{height: '45px',float: 'left',width: '80%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
+        <span
+          class="ant-descriptions-title"
+          style="font-size: large;font-style: normal;font-size: 15px;"
+        >鐕冩皵鐐夌噧鐑у帇姘旇瀹氬�肩浉瀵逛簬鍘熷璁惧畾鍊煎彂鐢熸敼鍙�</span>
+      </div>
+      <div :style="{height: '45px',float: 'right',width: '10%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
+        <a-switch
+          checked-children="鏄�"
+          un-checked-children="鍚�"
+          :checked="model.result_9 == '1'"
+          @change="handle9Switch(model.result_9)"
+        />
+
+      </div>
+    </div>
+    <div>
+      <div :style="{height: '45px',float: 'left',width: '10%',border: '1px solid #e9e9e9',padding: '20px 20px',background: '#fff',}">
+        <span
+          class="ant-descriptions-title"
+          style="font-size: large;font-style: normal;font-size: 15px;"
+        >10</span>
+      </div>
+      <div :style="{height: '45px',float: 'left',width: '80%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
+        <span
+          class="ant-descriptions-title"
+          style="font-size: large;font-style: normal;font-size: 15px;"
+        >宸ヤ綔鍖轰綅缃垨澶у皬鏀瑰彉</span>
+      </div>
+      <div :style="{height: '45px',float: 'right',width: '10%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
+
+        <a-switch
+          checked-children="鏄�"
+          un-checked-children="鍚�"
+          :checked="model.result_10 == '1'"
+          @change="handle10Switch(model.result_10)"
+        />
+
+      </div>
+    </div>
+    <div>
+      <div :style="{height: '45px',float: 'left',width: '10%',border: '1px solid #e9e9e9',padding: '20px 20px',background: '#fff',}">
+        <span
+          class="ant-descriptions-title"
+          style="font-size: large;font-style: normal;font-size: 15px;"
+        >11</span>
+      </div>
+      <div :style="{height: '45px',float: 'left',width: '80%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
+        <span
+          class="ant-descriptions-title"
+          style="font-size: large;font-style: normal;font-size: 15px;"
+        >閲囩敤鍘熸湁瑙勬牸鍜屽瀷鍙风殑鏉愭枡銆佸湪鍘熸湁浣嶇疆涓婃洿鎹㈠姞鐑郴缁�</span>
+      </div>
+      <div :style="{height: '45px',float: 'right',width: '10%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
+        <a-switch
+          checked-children="鏄�"
+          un-checked-children="鍚�"
+          :checked="model.result_11 == '1'"
+          @change="handle11Switch(model.result_11)"
+        />
+      </div>
+    </div>
+    <div>
+      <div :style="{height: '45px',float: 'left',width: '10%',border: '1px solid #e9e9e9',padding: '20px 20px',background: '#fff',}">
+        <span
+          class="ant-descriptions-title"
+          style="font-size: large;font-style: normal;font-size: 15px;"
+        >12</span>
+      </div>
+      <div :style="{height: '45px',float: 'left',width: '80%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
+        <span
+          class="ant-descriptions-title"
+          style="font-size: large;font-style: normal;font-size: 15px;"
+        >浣跨敤鐩稿悓鎴栫浉浼间紶鐑壒鎬х殑鏉愭枡鏇存崲鍘熸湁鑰愮儹鏉愭枡</span>
+      </div>
+      <div :style="{height: '45px',float: 'right',width: '10%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
+        <a-switch
+          checked-children="鏄�"
+          un-checked-children="鍚�"
+          :checked="model.result_12 == '1'"
+          @change="handle12Switch(model.result_12)"
+        />
+      </div>
+    </div>
+    <div>
+      <div :style="{height: '45px',float: 'left',width: '10%',border: '1px solid #e9e9e9',padding: '20px 20px',background: '#fff',}">
+        <span
+          class="ant-descriptions-title"
+          style="font-size: large;font-style: normal;font-size: 15px;"
+        >13</span>
+      </div>
+      <div :style="{height: '45px',float: 'left',width: '80%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
+        <span
+          class="ant-descriptions-title"
+          style="font-size: large;font-style: normal;font-size: 15px;"
+        >缁翠慨鐑寰幆璁惧锛屽叾姘旀祦鏂瑰紡/閫熺巼涓庡師鏉ヤ竴鑷寸殑銆傚:鎸℃澘浣嶇疆銆侀鎵囬�熷害銆侀鎵囨暟閲忕瓑</span>
+      </div>
+      <div :style="{height: '45px',float: 'right',width: '10%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
+        <a-switch
+          checked-children="鏄�"
+          un-checked-children="鍚�"
+          :checked="model.result_13 == '1'"
+          @change="handle13Switch(model.result_13)"
+        />
+      </div>
+    </div>
+    <div>
+      <div :style="{height: '45px',float: 'left',width: '10%',border: '1px solid #e9e9e9',padding: '20px 20px',background: '#fff',}">
+        <span
+          class="ant-descriptions-title"
+          style="font-size: large;font-style: normal;font-size: 15px;"
+        >14</span>
+      </div>
+      <div :style="{height: '45px',float: 'left',width: '80%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
+        <span
+          class="ant-descriptions-title"
+          style="font-size: large;font-style: normal;font-size: 15px;"
+        >鎸夎瀹氱殑浣嶇疆鏇存崲鍚岀被鍨嬫帶鍒朵紶鎰熷櫒</span>
+      </div>
+      <div :style="{height: '45px',float: 'right',width: '10%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
+        <a-switch
+          checked-children="鏄�"
+          un-checked-children="鍚�"
+          :checked="model.result_14 == '1'"
+          @change="handle14Switch(model.result_14)"
+        />
+      </div>
+    </div>
+    <div>
+      <div :style="{height: '45px',float: 'left',width: '10%',border: '1px solid #e9e9e9',padding: '20px 20px',background: '#fff',}">
+        <span
+          class="ant-descriptions-title"
+          style="font-size: large;font-style: normal;font-size: 15px;"
+        >15</span>
+      </div>
+      <div :style="{height: '45px',float: 'left',width: '80%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
+        <span
+          class="ant-descriptions-title"
+          style="font-size: large;font-style: normal;font-size: 15px;"
+        >鎸夊師鏉ョ殑鍨嬪彿銆佸弬鏁版洿鎹㈡俯搴︽帶鍒朵华琛�</span>
+      </div>
+      <div :style="{height: '45px',float: 'right',width: '10%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
+        <a-switch
+          checked-children="鏄�"
+          un-checked-children="鍚�"
+          :checked="model.result_15 == '1'"
+          @change="handle15Switch(model.result_15)"
+        />
+      </div>
+    </div>
+    <div>
+      <div :style="{height: '45px',float: 'left',width: '10%',border: '1px solid #e9e9e9',padding: '20px 20px',background: '#fff',}">
+        <span
+          class="ant-descriptions-title"
+          style="font-size: large;font-style: normal;font-size: 15px;"
+        >16</span>
+      </div>
+      <div :style="{height: '45px',float: 'left',width: '80%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
+        <span
+          class="ant-descriptions-title"
+          style="font-size: large;font-style: normal;font-size: 15px;"
+        >璁惧鐨勫畨瑁呬綅缃鏀瑰彉</span>
+      </div>
+      <div :style="{height: '45px',float: 'right',width: '10%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
+        <a-switch
+          checked-children="鏄�"
+          un-checked-children="鍚�"
+          :checked="model.result_16 == '1'"
+          @change="handle16Switch(model.result_16)"
+        />
+
+      </div>
+    </div>
+    <div>
+      <div :style="{height: '45px',float: 'left',width: '10%',border: '1px solid #e9e9e9',padding: '20px 20px',background: '#fff',}">
+        <span
+          class="ant-descriptions-title"
+          style="font-size: large;font-style: normal;font-size: 15px;"
+        >17</span>
+      </div>
+      <div :style="{height: '45px',float: 'left',width: '80%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
+        <span
+          class="ant-descriptions-title"
+          style="font-size: large;font-style: normal;font-size: 15px;"
+        >鏇存崲鍔犵儹绯荤粺杩炴帴浠舵垨閰嶄欢</span>
+      </div>
+      <div :style="{height: '45px',float: 'right',width: '10%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
+        <a-switch
+          checked-children="鏄�"
+          un-checked-children="鍚�"
+          :checked="model.result_17 == '1'"
+          @change="handle17Switch(model.result_17)"
+        />
+      </div>
+    </div>
+    <div>
+      <div :style="{height: '45px',float: 'left',width: '10%',border: '1px solid #e9e9e9',padding: '20px 20px',background: '#fff',}">
+        <span
+          class="ant-descriptions-title"
+          style="font-size: large;font-style: normal;font-size: 15px;"
+        >18</span>
+      </div>
+      <div :style="{height: '45px',float: 'left',width: '80%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
+        <span
+          class="ant-descriptions-title"
+          style="font-size: large;font-style: normal;font-size: 15px;"
+        >浣跨敤杩囩▼涓紝鐐夊瓙涓婂叾瀹冧紶鎰熷櫒(鐩戞祴銆佽秴娓╂垨璁板綍)鐨勮鏁拌秴鍑哄潎鍖�鎬ц姹傝寖鍥达紝涓斾笌鍧囧寑鎬ф湁鍏�</span>
+      </div>
+      <div :style="{height: '45px',float: 'right',width: '10%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
+        <a-switch
+          checked-children="鏄�"
+          un-checked-children="鍚�"
+          :checked="model.result_18 == '1'"
+          @change="handle18Switch(model.result_18)"
+        />
+      </div>
+    </div>
+    <div>
+      <div :style="{height: '45px',float: 'left',width: '10%',border: '1px solid #e9e9e9',padding: '20px 20px',background: '#fff',}">
+        <span
+          class="ant-descriptions-title"
+          style="font-size: large;font-style: normal;font-size: 15px;"
+        >19</span>
+      </div>
+      <div :style="{height: '45px',float: 'left',width: '80%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
+        <span
+          class="ant-descriptions-title"
+          style="font-size: large;font-style: normal;font-size: 15px;"
+        >鐐夐棬閮ㄥ垎缁翠慨</span>
+      </div>
+      <div :style="{height: '45px',float: 'right',width: '10%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
+        <a-switch
+          checked-children="鏄�"
+          un-checked-children="鍚�"
+          :checked="model.result_19 == '1'"
+          @change="handle19Switch(model.result_19)"
+        />
+      </div>
+    </div>
+    <div>
+      <div :style="{height: '45px',float: 'left',width: '10%',border: '1px solid #e9e9e9',padding: '20px 20px',background: '#fff',}">
+        <span
+          class="ant-descriptions-title"
+          style="font-size: large;font-style: normal;font-size: 15px;"
+        >20</span>
+      </div>
+      <div :style="{height: '45px',float: 'left',width: '80%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
+        <span
+          class="ant-descriptions-title"
+          style="font-size: large;font-style: normal;font-size: 15px;"
+        >鍔犵儹鐐夊仠鐢ㄤ笁涓湀浠ヤ笂锛屽啀娆′娇鐢ㄥ墠</span>
+      </div>
+      <div :style="{height: '45px',float: 'right',width: '10%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
+        <a-switch
+          checked-children="鏄�"
+          un-checked-children="鍚�"
+          :checked="model.result_20 == '1'"
+          @change="handle20Switch(model.result_20)"
+        />
+      </div>
+    </div>
+    <div>
+      <div :style="{height: '130px',float: 'left',width: '10%',border: '1px solid #e9e9e9',padding: '20px 20px',background: '#fff',}">
+        <span
+          class="ant-descriptions-title"
+          style="font-size: large;font-style: normal;font-size: 15px;"
+        >纭</span>
+      </div>
+      <div :style="{height: '130px',float: 'left',width: '90%',border: '1px solid #e9e9e9',padding: '10px 10px',background: '#fff',}">
+        <a-row :gutter="24">
+          <span
+            class="ant-descriptions-title"
+            style="font-size: large;font-style: normal;font-size: 15px;"
+          >&nbsp;&nbsp;&nbsp;1銆佺粡瀵硅澶囪繘琛屼笁淇濆強瀵逛笂杩伴」鐩繘琛岀‘璁わ紝鏃犻渶杩涜娓╁害鍧囧寑鎬ф娴�&nbsp;&nbsp;&nbsp;</span>
+          <a-switch
+            checked-children="鏄�"
+            un-checked-children="鍚�"
+            :checked="model.result_21 == '1'"
+            @change="handle21Switch(model.result_21)"
+          />
+          <span
+            class="ant-descriptions-title"
+            style="font-size: large;font-style: normal;font-size: 15px;"
+          >&nbsp;&nbsp;&nbsp;銆�</span>
+        </a-row>
+        <a-row :gutter="24">
+          <span
+            class="ant-descriptions-title"
+            style="font-size: large;font-style: normal;font-size: 15px;"
+          >&nbsp;&nbsp;&nbsp;2銆佺粡瀵圭&nbsp;&nbsp;&nbsp;</span>
+          <a-input-number
+            v-model="model.sort"
+            :min=0
+            :max=20
+          />
+          <span
+            class="ant-descriptions-title"
+            style="font-size: large;font-style: normal;font-size: 15px;"
+          >&nbsp;&nbsp;&nbsp;椤硅繘琛岀淮淇垨鏇存崲(鏀瑰彉)绛夛紝闇�杩涜娓╁害鍧囧寑鎬ф娴�&nbsp;&nbsp;&nbsp;</span>
+          <a-switch
+            checked-children="鏄�"
+            un-checked-children="鍚�"
+            :checked="model.result_22 == '1'"
+            @change="handle22Switch(model.result_22)"
+          />
+          <span
+            class="ant-descriptions-title"
+            style="font-size: large;font-style: normal;font-size: 15px;"
+          >&nbsp;&nbsp;&nbsp;銆�</span>
+        </a-row>
+        <a-row :gutter="24">
+          <a-col :span="12">
+            <span
+              class="ant-descriptions-title"
+              style="font-size: large;font-style: normal;font-size: 15px;"
+            >&nbsp;&nbsp;&nbsp;缁翠慨瀹や富浠伙細&nbsp;&nbsp;&nbsp;</span>
+            <span v-if="this.model != null">{{ this.model.repairDirectorUserName }}</span>
+            <span v-else>-</span>
+          </a-col>
+          <a-col :span="12">
+            <span
+              class="ant-descriptions-title"
+              style="font-size: large;font-style: normal;font-size: 15px;"
+            >&nbsp;&nbsp;&nbsp;淇濆吇浜哄憳锛�&nbsp;&nbsp;&nbsp;</span>
+            <span v-if="this.model != null">{{ this.model.maintenanceUserName }}</span>
+            <span v-else>-</span>
+          </a-col>
+        </a-row>
+        <a-row :gutter="24">
+          <a-col :span="12">
+            <span
+              class="ant-descriptions-title"
+              style="font-size: large;font-style: normal;font-size: 15px;"
+            >&nbsp;&nbsp;&nbsp;浠〃宸ワ細&nbsp;&nbsp;&nbsp;</span>
+            <span v-if="this.model != null">{{ this.model.meterUserName }}</span>
+            <span v-else>-</span>
+          </a-col>
+          <a-col :span="12">
+            <span
+              class="ant-descriptions-title"
+              style="font-size: large;font-style: normal;font-size: 15px;"
+            >&nbsp;&nbsp;&nbsp;鏃ユ湡锛�&nbsp;&nbsp;&nbsp;</span>
+            <span v-if="this.model != null">{{ this.model.updateTime }}</span>
+            <span v-else>-</span>
+          </a-col>
+        </a-row>
+
+      </div>
+    </div>
+    <!-- </a-form> -->
+    <!-- </a-spin> -->
+
+    <template slot="footer">
+      <a-button
+        :style="{marginRight: '8px'}"
+        @click="handleCancel()"
+      >
+        鍏抽棴
+      </a-button>
+
+      <a-button
+        @click="handleOk()"
+        type="primary"
+        :loading="confirmLoading"
+        :disabled="disableSubmit || confirmLoading"
+      >纭畾</a-button>
+    </template>
+  </a-modal>
+
+</template>
+
+<script>
+import { getAction, postAction, requestPut } from '@/api/manage'
+import pick from 'lodash.pick'
+import JMultiSelectTag from '@/components/dict/JMultiSelectTag'
+import Tooltip from 'ant-design-vue/es/tooltip'
+import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+import { ACCESS_TOKEN } from '@/store/mutation-types'
+import { getFileAccessHttpUrl } from '@/api/manage';
+
+export default {
+  name: "StoveCategoryModal",
+  mixins: [JeecgListMixin],
+  components: {
+    JMultiSelectTag,
+    Tooltip,
+  },
+  data() {
+    return {
+      title: "鎿嶄綔",
+      visible: false,
+      disableSubmit: false,
+      codeDisable: true,
+      dataSource: [],
+      model: {},
+      departs: [],
+      labelCol: {
+        xs: { span: 24 },
+        sm: { span: 6 },
+      },
+      wrapperCol: {
+        xs: { span: 24 },
+        sm: { span: 18 },
+      },
+      confirmLoading: false,
+      form: this.$form.createForm(this),
+      validatorRules: {
+        num: {
+          rules: [
+            { required: true, message: '璇疯緭鍏ヤ繚鍏诲伐鍗曠紪鐮�!' },
+          ]
+        },
+      },
+      url: {
+        add: "/eam/maintenanceStoveExempt/maintenanceStoveExempt",
+        getStoveCategory: "/eam/maintenanceStoveExempt/getStoveCategory",
+        list: "/eam/dailyMaintenanceOrder/getMaintenanceCycleByStandardId",
+      },
+
+    }
+  },
+
+  methods: {
+
+    edit(record) {
+      let that = this;
+
+      this.form.resetFields();
+      this.model = Object.assign({}, record);
+      this.getStoveCategory()
+      this.visible = true;
+      that.$nextTick(() => {
+        // that.form.setFieldsValue(pick(that.model, 'num', 'teamId', 'remark'));
+      });
+
+    },
+
+
+    close() {
+      this.$emit('close');
+      this.visible = false;
+    },
+
+    handleCancel() {
+      this.close();
+    },
+
+    handleOk() {
+
+      const that = this;
+      // 瑙﹀彂琛ㄥ崟楠岃瘉
+      that.form.validateFields((err, values) => {
+        if (!err) {
+          this.$confirm({
+            title: '娓╁害鍧囧寑鎬ф娴嬫潯浠剁‘璁�',
+            content: '鎻愮ず锛氳璋ㄦ厧鎿嶄綔锛�',
+            okText: '纭',
+            cancelText: '鍙栨秷',
+            onOk() {
+              let formData = Object.assign(that.model, values);
+              that.confirmLoading = true;
+              postAction(that.url.add, formData).then((res) => {
+                if (res.success) {
+                  that.$message.success(res.message);
+                  that.$emit('ok', new Date());
+                } else {
+                  that.$message.warning(res.message);
+                }
+              }).finally(() => {
+                that.confirmLoading = false;
+                that.close();
+              })
+            },
+          })
+        }
+      })
+    },
+
+    handleDelete(text, record, index) {
+      this.dataSource.splice(index, 1);
+    },
+
+    getStoveCategory() {
+      getAction(this.url.getStoveCategory, { maintenanceOrderId: this.model.id }).then((res) => {
+        if (res.success) {
+          this.model = Object.assign({}, res.result[0]);
+        }
+      })
+    },
+
+    handleSwitch(result_1) {
+      if ('0' == result_1) {
+        this.model.result_1 = '1'
+      } else {
+        this.model.result_1 = '0'
+      }
+      this.model = Object.assign({}, this.model);
+    },
+
+    handle2Switch(result_2) {
+      if ('0' == result_2) {
+        this.model.result_2 = '1'
+      } else {
+        this.model.result_2 = '0'
+      }
+      this.model = Object.assign({}, this.model);
+    },
+
+    // handle2Switch(result2) {
+    //   if ('0' == result2) {
+    //     this.model.result2 = '1'
+    //   } else {
+    //     this.model.result2 = '0'
+    //   }
+    //   this.model = Object.assign({}, this.model);
+    // },
+
+    handle3Switch(result_3) {
+      if ('0' == result_3) {
+        this.model.result_3 = '1'
+      } else {
+        this.model.result_3 = '0'
+      }
+      this.model = Object.assign({}, this.model);
+    },
+
+    handle4Switch(result_4) {
+      if ('0' == result_4) {
+        this.model.result_4 = '1'
+      } else {
+        this.model.result_4 = '0'
+      }
+      this.model = Object.assign({}, this.model);
+    },
+
+    handle5Switch(result_5) {
+      if ('0' == result_5) {
+        this.model.result_5 = '1'
+      } else {
+        this.model.result_5 = '0'
+      }
+      this.model = Object.assign({}, this.model);
+    },
+
+    handle6Switch(result_6) {
+      if ('0' == result_6) {
+        this.model.result_6 = '1'
+      } else {
+        this.model.result_6 = '0'
+      }
+      this.model = Object.assign({}, this.model);
+    },
+
+    handle7Switch(result_7) {
+      if ('0' == result_7) {
+        this.model.result_7 = '1'
+      } else {
+        this.model.result_7 = '0'
+      }
+      this.model = Object.assign({}, this.model);
+    },
+
+    handle8Switch(result_8) {
+      if ('0' == result_8) {
+        this.model.result_8 = '1'
+      } else {
+        this.model.result_8 = '0'
+      }
+      this.model = Object.assign({}, this.model);
+    },
+
+    handle9Switch(result_9) {
+      if ('0' == result_9) {
+        this.model.result_9 = '1'
+      } else {
+        this.model.result_9 = '0'
+      }
+      this.model = Object.assign({}, this.model);
+    },
+
+    handle10Switch(result_10) {
+      if ('0' == result_10) {
+        this.model.result_10 = '1'
+      } else {
+        this.model.result_10 = '0'
+      }
+      this.model = Object.assign({}, this.model);
+    },
+
+    handle11Switch(result_11) {
+      if ('0' == result_11) {
+        this.model.result_11 = '1'
+      } else {
+        this.model.result_11 = '0'
+      }
+      this.model = Object.assign({}, this.model);
+    },
+
+    handle12Switch(result_12) {
+      if ('0' == result_12) {
+        this.model.result_12 = '1'
+      } else {
+        this.model.result_12 = '0'
+      }
+      this.model = Object.assign({}, this.model);
+    },
+
+    handle13Switch(result_13) {
+      if ('0' == result_13) {
+        this.model.result_13 = '1'
+      } else {
+        this.model.result_13 = '0'
+      }
+      this.model = Object.assign({}, this.model);
+    },
+
+    handle14Switch(result_14) {
+      if ('0' == result_14) {
+        this.model.result_14 = '1'
+      } else {
+        this.model.result_14 = '0'
+      }
+      this.model = Object.assign({}, this.model);
+    },
+
+    handle15Switch(result_15) {
+      if ('0' == result_15) {
+        this.model.result_15 = '1'
+      } else {
+        this.model.result_15 = '0'
+      }
+      this.model = Object.assign({}, this.model);
+    },
+
+    handle16Switch(result_16) {
+      if ('0' == result_16) {
+        this.model.result_16 = '1'
+      } else {
+        this.model.result_16 = '0'
+      }
+      this.model = Object.assign({}, this.model);
+    },
+
+    handle17Switch(result_17) {
+      if ('0' == result_17) {
+        this.model.result_17 = '1'
+      } else {
+        this.model.result_17 = '0'
+      }
+      this.model = Object.assign({}, this.model);
+    },
+
+    handle18Switch(result_18) {
+      if ('0' == result_18) {
+        this.model.result_18 = '1'
+      } else {
+        this.model.result_18 = '0'
+      }
+      this.model = Object.assign({}, this.model);
+    },
+
+    handle19Switch(result_19) {
+      if ('0' == result_19) {
+        this.model.result_19 = '1'
+      } else {
+        this.model.result_19 = '0'
+      }
+      this.model = Object.assign({}, this.model);
+    },
+
+    handle20Switch(result_20) {
+      if ('0' == result_20) {
+        this.model.result_20 = '1'
+      } else {
+        this.model.result_20 = '0'
+      }
+      this.model = Object.assign({}, this.model);
+    },
+
+    handle21Switch(result_21) {
+      if ('0' == result_21) {
+        this.model.result_21 = '1'
+      } else {
+        this.model.result_21 = '0'
+      }
+      this.model = Object.assign({}, this.model);
+    },
+
+    handle22Switch(result_22) {
+      if ('0' == result_22) {
+        this.model.result_22 = '1'
+      } else {
+        this.model.result_22 = '0'
+      }
+      this.model = Object.assign({}, this.model);
+    },
+
+
+    // onChangeJudgmentResult(e) {
+    //   this.model.judgmentResult = e.target.value
+    // },
+
+    // handleChange(value, key, column, index) {
+    //   let that = this;
+    //   const temp = [...that.dataSource];
+    //   const target = temp.filter(item => key === item.key)[index];
+    //   if (target) {
+    //     if ('actualMeasure' == column.dataIndex) {
+    //       target['actualMeasure'] = value.target.value;
+    //     }
+    //     //鏄剧ず甯﹁繃鏉ョ殑鏁版嵁
+    //     that.dataSource = temp;
+    //   }
+    // },
+
+  },
+}
+</script>
+
+<style lang="less" scoped>
+/deep/ .frozenRowClass {
+  color: #c9c9c9;
+}
+.fontweight {
+  font-weight: bold;
+}
+.ant-btn {
+  padding: 0 10px;
+  margin-left: 3px;
+}
+
+.ant-form-item-control {
+  line-height: 0px;
+}
+
+/** 涓昏〃鍗曡闂磋窛 */
+.ant-form .ant-form-item {
+  margin-bottom: 10px;
+}
+
+/** Tab椤甸潰琛岄棿璺� */
+.ant-tabs-content .ant-form-item {
+  margin-bottom: 0px;
+}
+.hightColor {
+  height: 10%;
+  font-weight: bold;
+  font-size: 20px;
+  color: #1b1e1e;
+}
+.frozenRowClass {
+  color: #c9c9c9;
+}
+.fontweight {
+  font-weight: bold;
+}
+.hight {
+  color: #f5222d;
+}
+/deep/ .red {
+  color: red;
+}
+
+.line {
+  width: 1px;
+  height: 300px;
+  background-color: #000;
+  border: none;
+  float: left;
+}
+</style>
\ No newline at end of file
diff --git a/src/views/eam/modules/dailyMaintenanceOrder/ActualWorkHoursEditTable.vue b/src/views/eam/modules/dailyMaintenanceOrder/ActualWorkHoursEditTable.vue
index edcf120..c59e9c3 100644
--- a/src/views/eam/modules/dailyMaintenanceOrder/ActualWorkHoursEditTable.vue
+++ b/src/views/eam/modules/dailyMaintenanceOrder/ActualWorkHoursEditTable.vue
@@ -175,7 +175,7 @@
           dataIndex: 'username',
           align: "center",
           scopedSlots: { customRender: 'username' },
-          className: 'red',
+          // className: 'red',
           width: 250,
         },
         {
@@ -188,7 +188,7 @@
           title: '*瀹為檯宸ユ椂',
           dataIndex: 'actualWorkingHourQuota',
           align: "center",
-          className: 'red',
+          // className: 'red',
           scopedSlots: { customRender: 'actualWorkingHourQuota' },
           width: 250,
         },
diff --git a/src/views/system/DepartList.vue b/src/views/system/DepartList.vue
index c9446ce..fee36ce 100644
--- a/src/views/system/DepartList.vue
+++ b/src/views/system/DepartList.vue
@@ -1,51 +1,105 @@
 <template xmlns:background-color="http://www.w3.org/1999/xhtml">
   <a-row :gutter="10">
-    <a-col :md="12" :sm="24">
+    <a-col
+      :md="12"
+      :sm="24"
+    >
       <a-card :bordered="false">
 
         <!-- 鎸夐挳鎿嶄綔鍖哄煙 -->
         <a-row style="margin-left: 14px">
-          <a-button @click="handleAdd(1)" type="primary">娣诲姞閮ㄩ棬</a-button>
-          <a-button @click="handleAdd(2)" type="primary">娣诲姞涓嬬骇</a-button>
-          <a-button type="primary" icon="download" @click="handleExportXls('閮ㄩ棬淇℃伅')">瀵煎嚭</a-button>
-          <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">
-            <a-button type="primary" icon="import">瀵煎叆</a-button>
+          <a-button
+            @click="handleAdd(1)"
+            type="primary"
+          >娣诲姞閮ㄩ棬</a-button>
+          <a-button
+            @click="handleAdd(2)"
+            type="primary"
+          >娣诲姞涓嬬骇</a-button>
+          <a-button
+            type="primary"
+            icon="download"
+            @click="handleExportXls('閮ㄩ棬淇℃伅')"
+          >瀵煎嚭</a-button>
+          <a-upload
+            name="file"
+            :showUploadList="false"
+            :multiple="false"
+            :headers="tokenHeader"
+            :action="importExcelUrl"
+            @change="handleImportExcel"
+          >
+            <a-button
+              type="primary"
+              icon="import"
+            >瀵煎叆</a-button>
           </a-upload>
-          <a-button title="鍒犻櫎澶氭潯鏁版嵁" @click="batchDel" type="default">鎵归噺鍒犻櫎</a-button>
+          <a-button
+            title="鍒犻櫎澶氭潯鏁版嵁"
+            @click="batchDel"
+            type="default"
+          >鎵归噺鍒犻櫎</a-button>
           <!--<a-button @click="refresh" type="default" icon="reload" :loading="loading">鍒锋柊</a-button>-->
         </a-row>
         <div style="background: #fff;padding-left:16px;height: 100%; margin-top: 5px">
-          <a-alert type="info" :showIcon="true">
+          <a-alert
+            type="info"
+            :showIcon="true"
+          >
             <div slot="message">
               褰撳墠閫夋嫨锛�<span v-if="this.currSelected.title">{{ getCurrSelectedTitle() }}</span>
-              <a v-if="this.currSelected.title" style="margin-left: 10px" @click="onClearSelected">鍙栨秷閫夋嫨</a>
+              <a
+                v-if="this.currSelected.title"
+                style="margin-left: 10px"
+                @click="onClearSelected"
+              >鍙栨秷閫夋嫨</a>
             </div>
           </a-alert>
-          <a-input-search @search="onSearch" style="width:100%;margin-top: 10px" placeholder="璇疯緭鍏ラ儴闂ㄥ悕绉�"/>
+          <a-input-search
+            @search="onSearch"
+            style="width:100%;margin-top: 10px"
+            placeholder="璇疯緭鍏ラ儴闂ㄥ悕绉�"
+          />
           <!-- 鏍�-->
-          <a-col :md="10" :sm="24">
+          <a-col
+            :md="10"
+            :sm="24"
+          >
             <template>
-              <a-dropdown :trigger="[this.dropTrigger]" @visibleChange="dropStatus">
-               <span style="user-select: none">
-            <a-tree
-              checkable
-              multiple
-              @select="onSelect"
-              @check="onCheck"
-              @rightClick="rightHandle"
-              :selectedKeys="selectedKeys"
-              :checkedKeys="checkedKeys"
-              :treeData="departTree"
-              :checkStrictly="checkStrictly"
-              :expandedKeys="iExpandedKeys"
-              :autoExpandParent="autoExpandParent"
-              @expand="onExpand"/>
+              <a-dropdown
+                :trigger="[this.dropTrigger]"
+                @visibleChange="dropStatus"
+              >
+                <span style="user-select: none">
+                  <a-tree
+                    checkable
+                    multiple
+                    @select="onSelect"
+                    @check="onCheck"
+                    @rightClick="rightHandle"
+                    :selectedKeys="selectedKeys"
+                    :checkedKeys="checkedKeys"
+                    :treeData="departTree"
+                    :checkStrictly="checkStrictly"
+                    :expandedKeys="iExpandedKeys"
+                    :autoExpandParent="autoExpandParent"
+                    @expand="onExpand"
+                  />
                 </span>
                 <!--鏂板鍙抽敭鐐瑰嚮浜嬩欢,鍜屽鍔犳坊鍔犲拰鍒犻櫎鍔熻兘-->
                 <a-menu slot="overlay">
-                  <a-menu-item @click="handleAdd(3)" key="1">娣诲姞</a-menu-item>
-                  <a-menu-item @click="handleDelete" key="2">鍒犻櫎</a-menu-item>
-                  <a-menu-item @click="closeDrop" key="3">鍙栨秷</a-menu-item>
+                  <a-menu-item
+                    @click="handleAdd(3)"
+                    key="1"
+                  >娣诲姞</a-menu-item>
+                  <a-menu-item
+                    @click="handleDelete"
+                    key="2"
+                  >鍒犻櫎</a-menu-item>
+                  <a-menu-item
+                    @click="closeDrop"
+                    key="3"
+                  >鍙栨秷</a-menu-item>
                 </a-menu>
               </a-dropdown>
             </template>
@@ -54,14 +108,35 @@
       </a-card>
       <!---- author:os_chengtgen -- date:20190827 --  for:鍒囨崲鐖跺瓙鍕鹃�夋ā寮� =======------>
       <div class="drawer-bootom-button">
-        <a-dropdown :trigger="['click']" placement="topCenter">
+        <a-dropdown
+          :trigger="['click']"
+          placement="topCenter"
+        >
           <a-menu slot="overlay">
-            <a-menu-item key="1" @click="switchCheckStrictly(1)">鐖跺瓙鍏宠仈</a-menu-item>
-            <a-menu-item key="2" @click="switchCheckStrictly(2)">鍙栨秷鍏宠仈</a-menu-item>
-            <a-menu-item key="3" @click="checkALL">鍏ㄩ儴鍕鹃��</a-menu-item>
-            <a-menu-item key="4" @click="cancelCheckALL">鍙栨秷鍏ㄩ��</a-menu-item>
-            <a-menu-item key="5" @click="expandAll">灞曞紑鎵�鏈�</a-menu-item>
-            <a-menu-item key="6" @click="closeAll">鍚堝苟鎵�鏈�</a-menu-item>
+            <a-menu-item
+              key="1"
+              @click="switchCheckStrictly(1)"
+            >鐖跺瓙鍏宠仈</a-menu-item>
+            <a-menu-item
+              key="2"
+              @click="switchCheckStrictly(2)"
+            >鍙栨秷鍏宠仈</a-menu-item>
+            <a-menu-item
+              key="3"
+              @click="checkALL"
+            >鍏ㄩ儴鍕鹃��</a-menu-item>
+            <a-menu-item
+              key="4"
+              @click="cancelCheckALL"
+            >鍙栨秷鍏ㄩ��</a-menu-item>
+            <a-menu-item
+              key="5"
+              @click="expandAll"
+            >灞曞紑鎵�鏈�</a-menu-item>
+            <a-menu-item
+              key="6"
+              @click="closeAll"
+            >鍚堝苟鎵�鏈�</a-menu-item>
           </a-menu>
           <a-button>
             鏍戞搷浣� <a-icon type="up" />
@@ -70,589 +145,684 @@
       </div>
       <!---- author:os_chengtgen -- date:20190827 --  for:鍒囨崲鐖跺瓙鍕鹃�夋ā寮� =======------>
     </a-col>
-    <a-col :md="12" :sm="24">
+    <a-col
+      :md="12"
+      :sm="24"
+    >
       <a-tabs defaultActiveKey="1">
-        <a-tab-pane tab="鍩烘湰淇℃伅" key="1" >
-          <a-card :bordered="false" v-if="selectedKeys.length>0">
-            <a-form-model ref="form" :model="model" :rules="validatorRules">
-              <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" prop="departName" label="鏈烘瀯鍚嶇О">
-                <a-input placeholder="璇疯緭鍏ユ満鏋�/閮ㄩ棬鍚嶇О" v-model="model.departName" />
+        <a-tab-pane
+          tab="鍩烘湰淇℃伅"
+          key="1"
+        >
+          <a-card
+            :bordered="false"
+            v-if="selectedKeys.length>0"
+          >
+            <a-form-model
+              ref="form"
+              :model="model"
+              :rules="validatorRules"
+            >
+              <a-form-model-item
+                :labelCol="labelCol"
+                :wrapperCol="wrapperCol"
+                prop="departName"
+                label="鏈烘瀯鍚嶇О"
+              >
+                <a-input
+                  placeholder="璇疯緭鍏ユ満鏋�/閮ㄩ棬鍚嶇О"
+                  v-model="model.departName"
+                />
               </a-form-model-item>
-              <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="涓婄骇閮ㄩ棬">
+              <a-form-model-item
+                :labelCol="labelCol"
+                :wrapperCol="wrapperCol"
+                label="浣跨敤閮ㄩ棬缂栫爜"
+                prop="useDepartNum"
+              >
+                <a-input
+                  id="useDepartNum"
+                  placeholder="璇疯緭鍏ヤ娇鐢ㄩ儴闂ㄧ紪鐮�"
+                  v-model="model.useDepartNum"
+                />
+              </a-form-model-item>
+              <a-form-model-item
+                :labelCol="labelCol"
+                :wrapperCol="wrapperCol"
+                label="缁翠慨閮ㄩ棬缂栫爜"
+                prop="repairDepartNum"
+              >
+                <a-input
+                  id="repairDepartNum"
+                  placeholder="璇疯緭鍏ョ淮淇儴闂ㄧ紪鐮�"
+                  v-model="model.repairDepartNum"
+                />
+              </a-form-model-item>
+              <a-form-model-item
+                :labelCol="labelCol"
+                :wrapperCol="wrapperCol"
+                label="涓婄骇閮ㄩ棬"
+              >
                 <a-tree-select
                   style="width:100%"
                   :dropdownStyle="{maxHeight:'200px',overflow:'auto'}"
                   :treeData="treeData"
                   :disabled="disable"
                   v-model="model.parentId"
-                  placeholder="鏃�">
+                  placeholder="鏃�"
+                >
                 </a-tree-select>
               </a-form-model-item>
-              <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="鎺掑簭">
+              <a-form-model-item
+                :labelCol="labelCol"
+                :wrapperCol="wrapperCol"
+                label="鎺掑簭"
+              >
                 <a-input-number v-model="model.departOrder" />
               </a-form-model-item>
-              <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" label="澶囨敞">
-                <a-textarea placeholder="璇疯緭鍏ュ娉�" v-model="model.memo"/>
+              <a-form-model-item
+                :labelCol="labelCol"
+                :wrapperCol="wrapperCol"
+                label="澶囨敞"
+              >
+                <a-textarea
+                  placeholder="璇疯緭鍏ュ娉�"
+                  v-model="model.memo"
+                />
               </a-form-model-item>
             </a-form-model>
             <div class="anty-form-btn">
-              <a-button @click="emptyCurrForm" type="default" htmlType="button" icon="sync">閲嶇疆</a-button>
-              <a-button @click="submitCurrForm" type="primary" htmlType="button" icon="form">淇濆瓨</a-button>
+              <a-button
+                @click="emptyCurrForm"
+                type="default"
+                htmlType="button"
+                icon="sync"
+              >閲嶇疆</a-button>
+              <a-button
+                @click="submitCurrForm"
+                type="primary"
+                htmlType="button"
+                icon="form"
+              >淇濆瓨</a-button>
             </div>
           </a-card>
-          <a-card v-else >
+          <a-card v-else>
             <a-empty>
               <span slot="description"> 璇峰厛閫夋嫨涓�涓儴闂�! </span>
             </a-empty>
           </a-card>
         </a-tab-pane>
-        <a-tab-pane tab="閮ㄩ棬鏉冮檺" key="2" forceRender>
+        <a-tab-pane
+          tab="閮ㄩ棬鏉冮檺"
+          key="2"
+          forceRender
+        >
           <!--<depart-auth-modal ref="departAuth"/>-->
           <depart-m-auth-modal ref="departMAuth"></depart-m-auth-modal>
         </a-tab-pane>
-        <a-tab-pane v-if="isDepartType == 0" tab="璁惧鍒楄〃" key="3" forceRender>
-          <depart-auth-modal ref="departAuth"/>
+        <a-tab-pane
+          v-if="isDepartType == 0"
+          tab="璁惧鍒楄〃"
+          key="3"
+          forceRender
+        >
+          <depart-auth-modal ref="departAuth" />
+        </a-tab-pane>
+
+        <a-tab-pane
+          v-if="isDepartType == 0"
+          tab="鐝粍鍒楄〃"
+          key="4"
+          forceRender
+        >
+          <depart-team ref="departTeam" />
         </a-tab-pane>
       </a-tabs>
 
     </a-col>
-    <depart-modal ref="departModal" @ok="loadTree"></depart-modal>
+    <depart-modal
+      ref="departModal"
+      @ok="loadTree"
+    ></depart-modal>
   </a-row>
 </template>
 <script>
-  import {mapActions} from 'vuex'
-  import DepartMModal from './modules/DepartModal'
-  import DepartModal from './modules/DepartList/DepartModal'
-  import {queryDepartTreeList, searchByKeywords, deleteByDepartId} from '@/api/api'
-  import {httpAction, deleteAction} from '@/api/manage'
-  import {JeecgListMixin} from '@/mixins/JeecgListMixin'
-  import DepartAuthModal from './modules/DepartList/DepartAuthModal'
-  import DepartMAuthModal from './modules/DepartAuthModal'
+import { mapActions } from 'vuex'
+import DepartMModal from './modules/DepartModal'
+import DepartModal from './modules/DepartList/DepartModal'
+import { queryDepartTreeList, searchByKeywords, deleteByDepartId } from '@/api/api'
+import { httpAction, deleteAction } from '@/api/manage'
+import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+import DepartAuthModal from './modules/DepartList/DepartAuthModal'
+import DepartMAuthModal from './modules/DepartAuthModal'
+import DepartTeam from './modules/DepartList/DepartTeam'
 
-  // 琛ㄥご
-  const columns = [
-    {
-      title: '鏈烘瀯鍚嶇О',
-      dataIndex: 'departName'
-    },
-    {
-      title: '鏈烘瀯绫诲瀷',
-      align: 'center',
-      dataIndex: 'orgType'
-    },
-    {
-      title: '鏈烘瀯缂栫爜',
-      dataIndex: 'orgCode',
-    },
-    {
-      title: '鎵嬫満鍙�',
-      dataIndex: 'mobile'
-    },
-    {
-      title: '浼犵湡',
-      dataIndex: 'fax'
-    },
-    {
-      title: '鍦板潃',
-      dataIndex: 'address'
-    },
-    {
-      title: '鎺掑簭',
-      align: 'center',
-      dataIndex: 'departOrder'
-    },
-    {
-      title: '鎿嶄綔',
-      align: 'center',
-      dataIndex: 'action',
-      scopedSlots: {customRender: 'action'}
+// 琛ㄥご
+const columns = [
+  {
+    title: '鏈烘瀯鍚嶇О',
+    dataIndex: 'departName'
+  },
+  {
+    title: '鏈烘瀯绫诲瀷',
+    align: 'center',
+    dataIndex: 'orgType'
+  },
+  {
+    title: '鏈烘瀯缂栫爜',
+    dataIndex: 'orgCode',
+  },
+  {
+    title: '鎵嬫満鍙�',
+    dataIndex: 'mobile'
+  },
+  {
+    title: '浼犵湡',
+    dataIndex: 'fax'
+  },
+  {
+    title: '鍦板潃',
+    dataIndex: 'address'
+  },
+  {
+    title: '鎺掑簭',
+    align: 'center',
+    dataIndex: 'departOrder'
+  },
+  {
+    title: '鎿嶄綔',
+    align: 'center',
+    dataIndex: 'action',
+    scopedSlots: { customRender: 'action' }
+  }
+]
+export default {
+  name: 'DepartList',
+  mixins: [JeecgListMixin],
+  components: {
+    DepartAuthModal,
+    DepartModal,
+    DepartMModal,
+    DepartMAuthModal,
+    DepartTeam
+  },
+  data() {
+    return {
+      isDepartType: "",
+      iExpandedKeys: [],
+      loading: false,
+      autoExpandParent: true,
+      currFlowId: '',
+      currFlowName: '',
+      disable: true,
+      treeData: [],
+      visible: false,
+      departTree: [],
+      rightClickSelectedKey: '',
+      rightClickSelectedOrgCode: '',
+      hiding: true,
+      model: {},
+      dropTrigger: '',
+      depart: {},
+      columns: columns,
+      disableSubmit: false,
+      checkedKeys: [],
+      selectedKeys: [],
+      autoIncr: 1,
+      currSelected: {},
+      allTreeKeys: [],
+      checkStrictly: true,
+      labelCol: {
+        xs: { span: 24 },
+        sm: { span: 5 }
+      },
+      wrapperCol: {
+        xs: { span: 24 },
+        sm: { span: 16 }
+      },
+      graphDatasource: {
+        nodes: [],
+        edges: []
+      },
+      validatorRules: {
+        departName: [{ required: true, message: '璇疯緭鍏ユ満鏋�/閮ㄩ棬鍚嶇О!' }],
+        orgCode: [{ required: true, message: '璇疯緭鍏ユ満鏋勭紪鐮�!' }],
+        orgCategory: [{ required: true, message: '璇疯緭鍏ユ満鏋勭被鍨�!' }],
+        mobile: [{ validator: this.validateMobile }]
+      },
+      url: {
+        delete: '/sys/sysDepart/delete',
+        edit: '/sys/sysDepart/edit',
+        deleteBatch: '/sys/sysDepart/deleteBatch',
+        exportXlsUrl: "sys/sysDepart/exportXls",
+        importExcelUrl: "sys/sysDepart/importExcel",
+      },
+      orgCategoryDisabled: false,
     }
-  ]
-  export default {
-    name: 'DepartList',
-    mixins: [JeecgListMixin],
-    components: {
-      DepartAuthModal,
-      DepartModal,
-      DepartMModal,
-      DepartMAuthModal
-    },
-    data() {
-      return {
-        isDepartType:"",
-        iExpandedKeys: [],
-        loading: false,
-        autoExpandParent: true,
-        currFlowId: '',
-        currFlowName: '',
-        disable: true,
-        treeData: [],
-        visible: false,
-        departTree: [],
-        rightClickSelectedKey: '',
-        rightClickSelectedOrgCode: '',
-        hiding: true,
-        model: {},
-        dropTrigger: '',
-        depart: {},
-        columns: columns,
-        disableSubmit: false,
-        checkedKeys: [],
-        selectedKeys: [],
-        autoIncr: 1,
-        currSelected: {},
-        allTreeKeys:[],
-        checkStrictly: true,
-        labelCol: {
-          xs: {span: 24},
-          sm: {span: 5}
-        },
-        wrapperCol: {
-          xs: {span: 24},
-          sm: {span: 16}
-        },
-        graphDatasource: {
-          nodes: [],
-          edges: []
-        },
-        validatorRules: {
-          departName: [{required: true, message: '璇疯緭鍏ユ満鏋�/閮ㄩ棬鍚嶇О!'}],
-          orgCode: [{required: true, message: '璇疯緭鍏ユ満鏋勭紪鐮�!'}],
-          orgCategory:[{required: true, message: '璇疯緭鍏ユ満鏋勭被鍨�!'}],
-          mobile:[{validator: this.validateMobile}]
-        },
-        url: {
-          delete: '/sys/sysDepart/delete',
-          edit: '/sys/sysDepart/edit',
-          deleteBatch: '/sys/sysDepart/deleteBatch',
-          exportXlsUrl: "sys/sysDepart/exportXls",
-          importExcelUrl: "sys/sysDepart/importExcel",
-        },
-        orgCategoryDisabled:false,
-      }
-    },
-    computed: {
-      importExcelUrl: function () {
-        return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
-      }
-    },
-    methods: {
-      ...mapActions(['QueryDepartTree']),
-      queryTreeData() {
-        this.QueryDepartTree().then(res => {
-          if (res.success) {
-            this.isDepartType = res.result[0].value
-          } else {
-            // this.$message.warn(res.message)
-            this.$notification.warning({
-              message:'娑堟伅',
-              description:res.message
-            });
-          }
-        }).finally(() =>{
-        })
-      },
-      loadData() {
-        this.refresh();
-      },
-      loadTree() {
-        var that = this
-        that.treeData = []
-        that.departTree = []
-        queryDepartTreeList().then((res) => {
-          if (res.success) {
-            //閮ㄩ棬鍏ㄩ�夊悗锛屽啀娣诲姞閮ㄩ棬锛岄�変腑鏁伴噺澧炲
-            this.allTreeKeys = [];
-            for (let i = 0; i < res.result.length; i++) {
-              let temp = res.result[i]
-              that.treeData.push(temp)
-              that.departTree.push(temp)
-              that.setThisExpandedKeys(temp)
-              that.getAllKeys(temp);
-              // console.log(temp.id)
-            }
-            this.loading = false
-          }
-        })
-      },
-      setThisExpandedKeys(node) {
-        if (node.children && node.children.length > 0) {
-          this.iExpandedKeys.push(node.key)
-          for (let a = 0; a < node.children.length; a++) {
-            this.setThisExpandedKeys(node.children[a])
-          }
-        }
-      },
-      refresh() {
-        this.loading = true
-        this.loadTree()
-      },
-      // 鍙抽敭鎿嶄綔鏂规硶
-      rightHandle(node) {
-        this.dropTrigger = 'contextmenu'
-        console.log(node.node.eventKey)
-        this.rightClickSelectedKey = node.node.eventKey
-        this.rightClickSelectedOrgCode = node.node.dataRef.orgCode
-      },
-      onExpand(expandedKeys) {
-        console.log('onExpand', expandedKeys)
-        this.iExpandedKeys = expandedKeys
-        this.autoExpandParent = false
-      },
-      backFlowList() {
-        this.$router.back(-1)
-      },
-      // 鍙抽敭鐐瑰嚮涓嬫媺妗嗘敼鍙樹簨浠�
-      dropStatus(visible) {
-        if (visible == false) {
-          this.dropTrigger = ''
-        }
-      },
-      // 鍙抽敭涓嬫媺鍏抽棴涓嬫媺妗�
-      closeDrop() {
-        this.dropTrigger = ''
-      },
-      addRootNode() {
-        this.$refs.nodeModal.add(this.currFlowId, '')
-      },
-      batchDel: function () {
-        if (this.checkedKeys.length <= 0) {
-          // this.$message.warning('璇烽�夋嫨涓�鏉¤褰曪紒')
+  },
+  computed: {
+    importExcelUrl: function () {
+      return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
+    }
+  },
+  methods: {
+    ...mapActions(['QueryDepartTree']),
+    queryTreeData() {
+      this.QueryDepartTree().then(res => {
+        if (res.success) {
+          this.isDepartType = res.result[0].value
+        } else {
+          // this.$message.warn(res.message)
           this.$notification.warning({
-            message:'娑堟伅',
-            description:"璇烽�夋嫨涓�鏉¤褰�"
+            message: '娑堟伅',
+            description: res.message
           });
-        } else {
-          var ids = ''
-          for (var a = 0; a < this.checkedKeys.length; a++) {
-            ids += this.checkedKeys[a] + ','
+        }
+      }).finally(() => {
+      })
+    },
+    loadData() {
+      this.refresh();
+    },
+    loadTree() {
+      var that = this
+      that.treeData = []
+      that.departTree = []
+      queryDepartTreeList().then((res) => {
+        if (res.success) {
+          //閮ㄩ棬鍏ㄩ�夊悗锛屽啀娣诲姞閮ㄩ棬锛岄�変腑鏁伴噺澧炲
+          this.allTreeKeys = [];
+          for (let i = 0; i < res.result.length; i++) {
+            let temp = res.result[i]
+            that.treeData.push(temp)
+            that.departTree.push(temp)
+            that.setThisExpandedKeys(temp)
+            that.getAllKeys(temp);
+            // console.log(temp.id)
           }
-          var that = this
-          this.$confirm({
-            title: '纭鍒犻櫎',
-            content: '纭畾瑕佸垹闄ゆ墍閫変腑鐨� ' + this.checkedKeys.length + ' 鏉℃暟鎹紝浠ュ強瀛愯妭鐐规暟鎹悧?',
-            onOk: function () {
-              deleteAction(that.url.deleteBatch, {ids: ids}).then((res) => {
-                if (res.success) {
-                  // that.$message.success(res.message)
-                  that.$notification.warning({
-                    message:'娑堟伅',
-                    description:res.message
-                  });
-                  that.loadTree()
-                  that.onClearSelected()
-                } else {
-                  // that.$message.warning(res.message)
-                  that.$notification.warning({
-                    message:'娑堟伅',
-                    description:res.message
-                  });
-                }
-              })
-            }
-          })
+          this.loading = false
         }
-      },
-      onSearch(value) {
-        let that = this
-        if (value) {
-          searchByKeywords({keyWord: value}).then((res) => {
-            if (res.success) {
-              that.departTree = []
-              for (let i = 0; i < res.result.length; i++) {
-                let temp = res.result[i]
-                that.departTree.push(temp)
-              }
-            } else {
-              // that.$message.warning(res.message)
-              that.$notification.warning({
-                message:'娑堟伅',
-                description:res.message
-              });
-            }
-          })
-        } else {
-          that.loadTree()
+      })
+    },
+    setThisExpandedKeys(node) {
+      if (node.children && node.children.length > 0) {
+        this.iExpandedKeys.push(node.key)
+        for (let a = 0; a < node.children.length; a++) {
+          this.setThisExpandedKeys(node.children[a])
         }
-
-      },
-      nodeModalOk() {
-        this.loadTree()
-      },
-      nodeModalClose() {
-      },
-      hide() {
-        console.log(111)
-        this.visible = false
-      },
-      onCheck(checkedKeys, info) {
-        console.log('onCheck', checkedKeys, info)
-        this.hiding = false
-        //---- author:os_chengtgen -- date:20190827 --  for:鍒囨崲鐖跺瓙鍕鹃�夋ā寮� =======------
-        if(this.checkStrictly){
-          this.checkedKeys = checkedKeys.checked;
-        }else{
-          this.checkedKeys = checkedKeys
+      }
+    },
+    refresh() {
+      this.loading = true
+      this.loadTree()
+    },
+    // 鍙抽敭鎿嶄綔鏂规硶
+    rightHandle(node) {
+      this.dropTrigger = 'contextmenu'
+      console.log(node.node.eventKey)
+      this.rightClickSelectedKey = node.node.eventKey
+      this.rightClickSelectedOrgCode = node.node.dataRef.orgCode
+    },
+    onExpand(expandedKeys) {
+      console.log('onExpand', expandedKeys)
+      this.iExpandedKeys = expandedKeys
+      this.autoExpandParent = false
+    },
+    backFlowList() {
+      this.$router.back(-1)
+    },
+    // 鍙抽敭鐐瑰嚮涓嬫媺妗嗘敼鍙樹簨浠�
+    dropStatus(visible) {
+      if (visible == false) {
+        this.dropTrigger = ''
+      }
+    },
+    // 鍙抽敭涓嬫媺鍏抽棴涓嬫媺妗�
+    closeDrop() {
+      this.dropTrigger = ''
+    },
+    addRootNode() {
+      this.$refs.nodeModal.add(this.currFlowId, '')
+    },
+    batchDel: function () {
+      if (this.checkedKeys.length <= 0) {
+        // this.$message.warning('璇烽�夋嫨涓�鏉¤褰曪紒')
+        this.$notification.warning({
+          message: '娑堟伅',
+          description: "璇烽�夋嫨涓�鏉¤褰�"
+        });
+      } else {
+        var ids = ''
+        for (var a = 0; a < this.checkedKeys.length; a++) {
+          ids += this.checkedKeys[a] + ','
         }
-        //---- author:os_chengtgen -- date:20190827 --  for:鍒囨崲鐖跺瓙鍕鹃�夋ā寮� =======------
-      },
-      onSelect(selectedKeys, e) {
-        console.log('selected', selectedKeys, e)
-        this.hiding = false
-        let record = e.node.dataRef
-        console.log('onSelect-record', record)
-        this.currSelected = Object.assign({}, record)
-        this.model = this.currSelected
-        this.selectedKeys = [record.key]
-        this.model.parentId = record.parentId
-        this.setValuesToForm(record)
-        if(this.isDepartType == 0){
-          this.$refs.departAuth.show(record.id);
-        }
-
-        this.$refs.departMAuth.show(record.id)
-
-      },
-      // 瑙﹀彂onSelect浜嬩欢鏃�,涓洪儴闂ㄦ爲鍙充晶鐨刦orm琛ㄥ崟璧嬪��
-      setValuesToForm(record) {
-        if(record.orgCategory == '1'){
-          this.orgCategoryDisabled = true;
-        }else{
-          this.orgCategoryDisabled = false;
-        }
-      },
-      getCurrSelectedTitle() {
-        return !this.currSelected.title ? '' : this.currSelected.title
-      },
-      onClearSelected() {
-        this.hiding = true
-        this.checkedKeys = []
-        this.currSelected = {}
-        this.selectedKeys = []
-        if(this.isDepartType == 0){
-          this.$refs.departAuth.departId = ''
-
-        }
-        this.$refs.departMAuth.departId = ''
-      },
-      handleNodeTypeChange(val) {
-        this.currSelected.nodeType = val
-      },
-      notifyTriggerTypeChange(value) {
-        this.currSelected.notifyTriggerType = value
-      },
-      receiptTriggerTypeChange(value) {
-        this.currSelected.receiptTriggerType = value
-      },
-      submitCurrForm() {
-        this.$refs.form.validate(valid => {
-          if (valid) {
-            if (!this.currSelected.id) {
-              // this.$message.warning('璇风偣鍑婚�夋嫨瑕佷慨鏀归儴闂�!')
-              this.$notification.warning({
-                message:'娑堟伅',
-                description:"璇风偣鍑婚�夋嫨瑕佷慨鏀归儴闂�"
-              });
-              return
-            }
-
-            httpAction(this.url.edit, this.currSelected, 'put').then((res) => {
-              if (res.success) {
-                // this.$message.success('淇濆瓨鎴愬姛!')
-                this.$notification.warning({
-                  message:'娑堟伅',
-                  description:"淇濆瓨鎴愬姛"
-                });
-                this.loadTree()
-              } else {
-                // this.$message.error(res.message)
-                this.$notification.warning({
-                  message:'娑堟伅',
-                  description:res.message
-                });
-              }
-            })
-          }
-        })
-      },
-      emptyCurrForm() {
-        this.$refs.form.resetFields();
-        this.model={}
-      },
-      nodeSettingFormSubmit() {
-        this.$refs.form.validate(valid => {
-          if (valid) {
-            console.log('Received values of form: ', this.model)
-          }
-        })
-      },
-      openSelect() {
-        this.$refs.sysDirectiveModal.show()
-      },
-      handleAdd(num) {
-        if (num == 1) {
-          this.$refs.departModal.add()
-          this.$refs.departModal.title = '鏂板'
-        } else if (num == 2) {
-          console.log(this.currSelected)
-          let key = this.currSelected.key
-          if (!key) {
-            this.$message.warning('璇峰厛鐐瑰嚮閫変腑涓婄骇閮ㄩ棬锛�')
-            return false
-          }
-          this.$refs.departModal.add(this.selectedKeys)
-          this.$refs.departModal.title = '鏂板'
-        } else {
-          this.$refs.departModal.add(this.rightClickSelectedKey)
-          this.$refs.departModal.title = '鏂板'
-        }
-      },
-      handleDelete() {
         var that = this
         this.$confirm({
           title: '纭鍒犻櫎',
-          content: '纭畾瑕佸垹闄ゆ閮ㄩ棬浠ュ強瀛愯妭鐐规暟鎹悧?',
+          content: '纭畾瑕佸垹闄ゆ墍閫変腑鐨� ' + this.checkedKeys.length + ' 鏉℃暟鎹紝浠ュ強瀛愯妭鐐规暟鎹悧?',
           onOk: function () {
-            deleteByDepartId({id: that.rightClickSelectedKey}).then((resp) => {
-              if (resp.success) {
-                //鍒犻櫎鎴愬姛鍚庯紝鍘婚櫎宸查�変腑涓殑鏁版嵁
-                that.checkedKeys.splice(that.checkedKeys.findIndex(key => key === that.rightClickSelectedKey), 1);
-                that.$message.success('鍒犻櫎鎴愬姛!')
+            deleteAction(that.url.deleteBatch, { ids: ids }).then((res) => {
+              if (res.success) {
+                // that.$message.success(res.message)
+                that.$notification.warning({
+                  message: '娑堟伅',
+                  description: res.message
+                });
                 that.loadTree()
-                //鍒犻櫎鍚庡悓姝ユ竻绌哄彸渚у熀鏈俊鎭唴瀹�
-                let orgCode=that.model.orgCode;
-                if(orgCode && orgCode === that.rightClickSelectedOrgCode){
-                  that.onClearSelected()
-                }
+                that.onClearSelected()
               } else {
-                that.$message.warning('鍒犻櫎澶辫触!')
+                // that.$message.warning(res.message)
+                that.$notification.warning({
+                  message: '娑堟伅',
+                  description: res.message
+                });
               }
             })
           }
         })
-      },
-      selectDirectiveOk(record) {
-        console.log('閫変腑鎸囦护鏁版嵁', record)
-        this.nodeSettingForm.setFieldsValue({directiveCode: record.directiveCode})
-        this.currSelected.sysCode = record.sysCode
-      },
-      getFlowGraphData(node) {
-        this.graphDatasource.nodes.push({
-          id: node.id,
-          text: node.flowNodeName
+      }
+    },
+    onSearch(value) {
+      let that = this
+      if (value) {
+        searchByKeywords({ keyWord: value }).then((res) => {
+          if (res.success) {
+            that.departTree = []
+            for (let i = 0; i < res.result.length; i++) {
+              let temp = res.result[i]
+              that.departTree.push(temp)
+            }
+          } else {
+            // that.$message.warning(res.message)
+            that.$notification.warning({
+              message: '娑堟伅',
+              description: res.message
+            });
+          }
         })
-        if (node.children.length > 0) {
-          for (let a = 0; a < node.children.length; a++) {
-            let temp = node.children[a]
-            this.graphDatasource.edges.push({
-              source: node.id,
-              target: temp.id
-            })
-            this.getFlowGraphData(temp)
-          }
-        }
-      },
+      } else {
+        that.loadTree()
+      }
+
+    },
+    nodeModalOk() {
+      this.loadTree()
+    },
+    nodeModalClose() {
+    },
+    hide() {
+      console.log(111)
+      this.visible = false
+    },
+    onCheck(checkedKeys, info) {
+      console.log('onCheck', checkedKeys, info)
+      this.hiding = false
       //---- author:os_chengtgen -- date:20190827 --  for:鍒囨崲鐖跺瓙鍕鹃�夋ā寮� =======------
-      expandAll () {
-        this.iExpandedKeys = this.allTreeKeys
-      },
-      closeAll () {
-        this.iExpandedKeys = []
-      },
-      checkALL () {
-        this.checkStriccheckStrictlytly = false
-        this.checkedKeys = this.allTreeKeys
-      },
-      cancelCheckALL () {
-        //this.checkedKeys = this.defaultCheckedKeys
-        this.checkedKeys = []
-      },
-      switchCheckStrictly (v) {
-        if(v==1){
-          this.checkStrictly = false
-        }else if(v==2){
-          this.checkStrictly = true
-        }
-      },
-      getAllKeys(node) {
-        // console.log('node',node);
-        this.allTreeKeys.push(node.key)
-        if (node.children && node.children.length > 0) {
-          for (let a = 0; a < node.children.length; a++) {
-            this.getAllKeys(node.children[a])
-          }
-        }
+      if (this.checkStrictly) {
+        this.checkedKeys = checkedKeys.checked;
+      } else {
+        this.checkedKeys = checkedKeys
       }
       //---- author:os_chengtgen -- date:20190827 --  for:鍒囨崲鐖跺瓙鍕鹃�夋ā寮� =======------
+    },
+    onSelect(selectedKeys, e) {
+      console.log('selected', selectedKeys, e)
+      this.hiding = false
+      let record = e.node.dataRef
+      console.log('onSelect-record', record)
+      this.currSelected = Object.assign({}, record)
+      this.model = this.currSelected
+      this.selectedKeys = [record.key]
+      this.model.parentId = record.parentId
+      this.setValuesToForm(record)
+      if (this.isDepartType == 0) {
+        this.$refs.departAuth.show(record.id);
+        this.$refs.departTeam.show(record.id);
+      }
+
+      this.$refs.departMAuth.show(record.id)
 
     },
-    created() {
-      this.queryTreeData()
-      this.currFlowId = this.$route.params.id
-      this.currFlowName = this.$route.params.name
-      // this.loadTree()
+    // 瑙﹀彂onSelect浜嬩欢鏃�,涓洪儴闂ㄦ爲鍙充晶鐨刦orm琛ㄥ崟璧嬪��
+    setValuesToForm(record) {
+      if (record.orgCategory == '1') {
+        this.orgCategoryDisabled = true;
+      } else {
+        this.orgCategoryDisabled = false;
+      }
     },
+    getCurrSelectedTitle() {
+      return !this.currSelected.title ? '' : this.currSelected.title
+    },
+    onClearSelected() {
+      this.hiding = true
+      this.checkedKeys = []
+      this.currSelected = {}
+      this.selectedKeys = []
+      if (this.isDepartType == 0) {
+        this.$refs.departAuth.departId = ''
+        this.$refs.departTeam.departId = ''
+      }
+      this.$refs.departMAuth.departId = ''
+    },
+    handleNodeTypeChange(val) {
+      this.currSelected.nodeType = val
+    },
+    notifyTriggerTypeChange(value) {
+      this.currSelected.notifyTriggerType = value
+    },
+    receiptTriggerTypeChange(value) {
+      this.currSelected.receiptTriggerType = value
+    },
+    submitCurrForm() {
+      this.$refs.form.validate(valid => {
+        if (valid) {
+          if (!this.currSelected.id) {
+            // this.$message.warning('璇风偣鍑婚�夋嫨瑕佷慨鏀归儴闂�!')
+            this.$notification.warning({
+              message: '娑堟伅',
+              description: "璇风偣鍑婚�夋嫨瑕佷慨鏀归儴闂�"
+            });
+            return
+          }
 
-  }
+          httpAction(this.url.edit, this.currSelected, 'put').then((res) => {
+            if (res.success) {
+              // this.$message.success('淇濆瓨鎴愬姛!')
+              this.$notification.warning({
+                message: '娑堟伅',
+                description: "淇濆瓨鎴愬姛"
+              });
+              this.loadTree()
+            } else {
+              // this.$message.error(res.message)
+              this.$notification.warning({
+                message: '娑堟伅',
+                description: res.message
+              });
+            }
+          })
+        }
+      })
+    },
+    emptyCurrForm() {
+      this.$refs.form.resetFields();
+      this.model = {}
+    },
+    nodeSettingFormSubmit() {
+      this.$refs.form.validate(valid => {
+        if (valid) {
+          console.log('Received values of form: ', this.model)
+        }
+      })
+    },
+    openSelect() {
+      this.$refs.sysDirectiveModal.show()
+    },
+    handleAdd(num) {
+      if (num == 1) {
+        this.$refs.departModal.add()
+        this.$refs.departModal.title = '鏂板'
+      } else if (num == 2) {
+        console.log(this.currSelected)
+        let key = this.currSelected.key
+        if (!key) {
+          this.$message.warning('璇峰厛鐐瑰嚮閫変腑涓婄骇閮ㄩ棬锛�')
+          return false
+        }
+        this.$refs.departModal.add(this.selectedKeys)
+        this.$refs.departModal.title = '鏂板'
+      } else {
+        this.$refs.departModal.add(this.rightClickSelectedKey)
+        this.$refs.departModal.title = '鏂板'
+      }
+    },
+    handleDelete() {
+      var that = this
+      this.$confirm({
+        title: '纭鍒犻櫎',
+        content: '纭畾瑕佸垹闄ゆ閮ㄩ棬浠ュ強瀛愯妭鐐规暟鎹悧?',
+        onOk: function () {
+          deleteByDepartId({ id: that.rightClickSelectedKey }).then((resp) => {
+            if (resp.success) {
+              //鍒犻櫎鎴愬姛鍚庯紝鍘婚櫎宸查�変腑涓殑鏁版嵁
+              that.checkedKeys.splice(that.checkedKeys.findIndex(key => key === that.rightClickSelectedKey), 1);
+              that.$message.success('鍒犻櫎鎴愬姛!')
+              that.loadTree()
+              //鍒犻櫎鍚庡悓姝ユ竻绌哄彸渚у熀鏈俊鎭唴瀹�
+              let orgCode = that.model.orgCode;
+              if (orgCode && orgCode === that.rightClickSelectedOrgCode) {
+                that.onClearSelected()
+              }
+            } else {
+              that.$message.warning('鍒犻櫎澶辫触!')
+            }
+          })
+        }
+      })
+    },
+    selectDirectiveOk(record) {
+      console.log('閫変腑鎸囦护鏁版嵁', record)
+      this.nodeSettingForm.setFieldsValue({ directiveCode: record.directiveCode })
+      this.currSelected.sysCode = record.sysCode
+    },
+    getFlowGraphData(node) {
+      this.graphDatasource.nodes.push({
+        id: node.id,
+        text: node.flowNodeName
+      })
+      if (node.children.length > 0) {
+        for (let a = 0; a < node.children.length; a++) {
+          let temp = node.children[a]
+          this.graphDatasource.edges.push({
+            source: node.id,
+            target: temp.id
+          })
+          this.getFlowGraphData(temp)
+        }
+      }
+    },
+    //---- author:os_chengtgen -- date:20190827 --  for:鍒囨崲鐖跺瓙鍕鹃�夋ā寮� =======------
+    expandAll() {
+      this.iExpandedKeys = this.allTreeKeys
+    },
+    closeAll() {
+      this.iExpandedKeys = []
+    },
+    checkALL() {
+      this.checkStriccheckStrictlytly = false
+      this.checkedKeys = this.allTreeKeys
+    },
+    cancelCheckALL() {
+      //this.checkedKeys = this.defaultCheckedKeys
+      this.checkedKeys = []
+    },
+    switchCheckStrictly(v) {
+      if (v == 1) {
+        this.checkStrictly = false
+      } else if (v == 2) {
+        this.checkStrictly = true
+      }
+    },
+    getAllKeys(node) {
+      // console.log('node',node);
+      this.allTreeKeys.push(node.key)
+      if (node.children && node.children.length > 0) {
+        for (let a = 0; a < node.children.length; a++) {
+          this.getAllKeys(node.children[a])
+        }
+      }
+    }
+    //---- author:os_chengtgen -- date:20190827 --  for:鍒囨崲鐖跺瓙鍕鹃�夋ā寮� =======------
+
+  },
+  created() {
+    this.queryTreeData()
+    this.currFlowId = this.$route.params.id
+    this.currFlowName = this.$route.params.name
+    // this.loadTree()
+  },
+
+}
 </script>
 <style scoped>
-  .ant-card-body .table-operator {
-    margin: 15px;
-  }
+.ant-card-body .table-operator {
+  margin: 15px;
+}
 
-  .anty-form-btn {
-    width: 100%;
-    text-align: center;
-  }
+.anty-form-btn {
+  width: 100%;
+  text-align: center;
+}
 
-  .anty-form-btn button {
-    margin: 0 5px;
-  }
+.anty-form-btn button {
+  margin: 0 5px;
+}
 
-  .anty-node-layout .ant-layout-header {
-    padding-right: 0
-  }
+.anty-node-layout .ant-layout-header {
+  padding-right: 0;
+}
 
-  .header {
-    padding: 0 8px;
-  }
+.header {
+  padding: 0 8px;
+}
 
-  .header button {
-    margin: 0 3px
-  }
+.header button {
+  margin: 0 3px;
+}
 
-  .ant-modal-cust-warp {
-    height: 100%
-  }
+.ant-modal-cust-warp {
+  height: 100%;
+}
 
-  .ant-modal-cust-warp .ant-modal-body {
-    height: calc(100% - 110px) !important;
-    overflow-y: auto
-  }
+.ant-modal-cust-warp .ant-modal-body {
+  height: calc(100% - 110px) !important;
+  overflow-y: auto;
+}
 
-  .ant-modal-cust-warp .ant-modal-content {
-    height: 90% !important;
-    overflow-y: hidden
-  }
+.ant-modal-cust-warp .ant-modal-content {
+  height: 90% !important;
+  overflow-y: hidden;
+}
 
-  #app .desktop {
-    height: auto !important;
-  }
+#app .desktop {
+  height: auto !important;
+}
 
-  /** Button鎸夐挳闂磋窛 */
-  .ant-btn {
-    margin-left: 3px
-  }
+/** Button鎸夐挳闂磋窛 */
+.ant-btn {
+  margin-left: 3px;
+}
 
-  .drawer-bootom-button {
-    /*position: absolute;*/
-    bottom: 0;
-    width: 100%;
-    border-top: 1px solid #e8e8e8;
-    padding: 10px 16px;
-    text-align: left;
-    left: 0;
-    background: #fff;
-    border-radius: 0 0 2px 2px;
-  }
+.drawer-bootom-button {
+  /*position: absolute;*/
+  bottom: 0;
+  width: 100%;
+  border-top: 1px solid #e8e8e8;
+  padding: 10px 16px;
+  text-align: left;
+  left: 0;
+  background: #fff;
+  border-radius: 0 0 2px 2px;
+}
 </style>
\ No newline at end of file
diff --git a/src/views/system/modules/DepartList/DepartAuthModal.vue b/src/views/system/modules/DepartList/DepartAuthModal.vue
index a4d88ad..d3dd7ab 100644
--- a/src/views/system/modules/DepartList/DepartAuthModal.vue
+++ b/src/views/system/modules/DepartList/DepartAuthModal.vue
@@ -2,32 +2,56 @@
   <a-card :bordered="false">
     <template v-if="this.departId">
       <div class="table-page-search-wrapper">
-        <a-form layout="inline" @keyup.enter.native="searchQuery">
+        <a-form
+          layout="inline"
+          @keyup.enter.native="searchQuery"
+        >
           <a-row :gutter="24">
 
-            <a-col :md="6" :sm="12">
+            <a-col :span="24 / 2  ">
               <a-form-item label="璁惧缂栧彿">
-                <a-input placeholder="璇疯緭鍏ヨ澶囩紪鍙�" v-model="queryParam.equipmentId"></a-input>
+                <a-input
+                  placeholder="璇疯緭鍏ヨ澶囩紪鍙�"
+                  v-model="queryParam.equipmentId"
+                ></a-input>
               </a-form-item>
             </a-col>
-            <a-col :md="6" :sm="8">
-              <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>
-              <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">閲嶇疆</a-button>
+            <a-col :span="24 / 2  ">
+              <a-button
+                type="primary"
+                @click="searchQuery"
+                icon="search"
+              >鏌ヨ</a-button>
+              <a-button
+                type="primary"
+                @click="searchReset"
+                icon="reload"
+                style="margin-left: 8px"
+              >閲嶇疆</a-button>
             </a-col>
           </a-row>
         </a-form>
       </div>
-      <div class="table-operator" style="border-top: 5px">
+      <div
+        class="table-operator"
+        style="border-top: 5px"
+      >
         <a-dropdown v-if="selectedRowKeys.length > 0">
-          <a-menu slot="overlay"  @click="handleMenuClick">
+          <a-menu
+            slot="overlay"
+            @click="handleMenuClick"
+          >
             <a-menu-item key="1">
-              <a-icon type="delete" @click="batchDel"/>
+              <a-icon
+                type="delete"
+                @click="batchDel"
+              />
               鎵归噺绉婚櫎
             </a-menu-item>
           </a-menu>
           <a-button style="margin-left: 8px">
             鎵归噺鎿嶄綔
-            <a-icon type="down"/>
+            <a-icon type="down" />
           </a-button>
         </a-dropdown>
       </div>
@@ -42,22 +66,33 @@
         :pagination="ipagination"
         :loading="loading"
         :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
-        @change="handleTableChange">
+        @change="handleTableChange"
+      >
 
         <!--<template slot="avatarslot" slot-scope="text, record, index">-->
-          <!--<div class="anty-img-wrap">-->
-            <!--<a-avatar shape="square" :src="getAvatarView(record.avatar)" icon="user"/>-->
-          <!--</div>-->
+        <!--<div class="anty-img-wrap">-->
+        <!--<a-avatar shape="square" :src="getAvatarView(record.avatar)" icon="user"/>-->
+        <!--</div>-->
         <!--</template>-->
 
-        <span slot="action" slot-scope="text, record">
-        <a-popconfirm title="纭畾绉婚櫎鍚�?" @confirm="() => handleDelete(record.id)">
-                  <a>绉婚櫎</a>
-        </a-popconfirm>
+        <span
+          slot="action"
+          slot-scope="text, record"
+        >
+          <a-popconfirm
+            title="纭畾绉婚櫎鍚�?"
+            @confirm="() => handleDelete(record.id)"
+          >
+            <a>绉婚櫎</a>
+          </a-popconfirm>
         </span>
       </a-table>
     </template>
-    <a-card v-else :bordered="false" style="height:200px">
+    <a-card
+      v-else
+      :bordered="false"
+      style="height:200px"
+    >
       <a-empty>
         <span slot="description"> 璇峰厛閫夋嫨涓�涓儴闂�! </span>
       </a-empty>
@@ -66,268 +101,265 @@
 </template>
 
 <script>
-  import {queryTreeListForRole,queryDepartPermission,saveDepartPermission} from '@/api/api'
-  import DepartDataruleModal from './DepartDataruleModal'
-  import {JeecgListMixin} from '@/mixins/JeecgListMixin'
-  import { getAction,postAction } from '@/api/manage'
-  import { filterObj } from '@/utils/util'
-  import qs from 'qs'
-  export default {
-    name: 'DepartAuthModal',
-    mixins: [JeecgListMixin],
-    components: { DepartDataruleModal },
-    data(){
-      return {
-        queryParam:{},
-        columns: [
-          {
-            title: '#',
-            dataIndex: '',
-            key:'rowIndex',
-            width:60,
-            align:"center",
-            customRender:function (t,r,index) {
-              return parseInt(index)+1;
-            }
-          },
-          {
-            title: '璁惧缂栧彿',
-            align: "center",
-            dataIndex: 'equipmentId',
-            width: 120,
-            // sorter: true
-          },
-          {
-            title: '璁惧鍚嶇О',
-            align: "center",
-            width: 150,
-            dataIndex: 'equipmentName',
-          },
-          {
-            title: '璁惧绫诲瀷',
-            align: "center",
-            width: 120,
-            dataIndex: 'equipmentType',
-            // scopedSlots: {customRender: "avatarslot"}
-          },
-
-          {
-            title: '椹卞姩绫诲瀷',
-            align: "center",
-            width: 80,
-            dataIndex: 'driveType',
-            // sorter: true
-          },
-
-          {
-            title: '鎿嶄綔',
-            dataIndex: 'action',
-            scopedSlots: {customRender: 'action'},
-            align: "center",
-            width: 120
+import { queryTreeListForRole, queryDepartPermission, saveDepartPermission } from '@/api/api'
+import DepartDataruleModal from './DepartDataruleModal'
+import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+import { getAction, postAction } from '@/api/manage'
+import { filterObj } from '@/utils/util'
+import qs from 'qs'
+export default {
+  name: 'DepartAuthModal',
+  mixins: [JeecgListMixin],
+  components: { DepartDataruleModal },
+  data() {
+    return {
+      queryParam: {},
+      columns: [
+        {
+          title: '#',
+          dataIndex: '',
+          key: 'rowIndex',
+          width: 60,
+          align: "center",
+          customRender: function (t, r, index) {
+            return parseInt(index) + 1;
           }
+        },
+        {
+          title: '璁惧缂栧彿',
+          align: "center",
+          dataIndex: 'equipmentId',
+          width: 120,
+          // sorter: true
+        },
+        {
+          title: '璁惧鍚嶇О',
+          align: "center",
+          width: 150,
+          dataIndex: 'equipmentName',
+        },
+        {
+          title: '璁惧绫诲瀷',
+          align: "center",
+          width: 120,
+          dataIndex: 'equipmentType',
+          // scopedSlots: {customRender: "avatarslot"}
+        },
 
-        ],
-        disableMixinCreated:true,
-        departId:"",
-        title:"閮ㄩ棬鏉冮檺閰嶇疆",
-        visible: false,
-        loading: false,
-        url:{
-          list:'/mdc/mdcEquipment/equipmentListByDepart',
-          removeEquipmentForDepart:'/mdc/mdcEquipment/removeEquipmentForDepart',
-          serachEquipment:'/mdc/mdcEquipment/equipmentListByDepart',
-          removeEquipmentsForDepart:"/mdc/mdcEquipment/removeEquipmentsForDepart"
+        {
+          title: '椹卞姩绫诲瀷',
+          align: "center",
+          width: 80,
+          dataIndex: 'driveType',
+          // sorter: true
+        },
+
+        {
+          title: '鎿嶄綔',
+          dataIndex: 'action',
+          scopedSlots: { customRender: 'action' },
+          align: "center",
+          width: 120
+        }
+
+      ],
+      disableMixinCreated: true,
+      departId: "",
+      title: "閮ㄩ棬鏉冮檺閰嶇疆",
+      visible: false,
+      loading: false,
+      url: {
+        list: '/mdc/mdcEquipment/equipmentListByDepart',
+        removeEquipmentForDepart: '/mdc/mdcEquipment/removeEquipmentForDepart',
+        serachEquipment: '/mdc/mdcEquipment/equipmentListByDepart',
+        removeEquipmentsForDepart: "/mdc/mdcEquipment/removeEquipmentsForDepart"
+      }
+    }
+  },
+  methods: {
+
+    show(departId) {
+      this.departId = departId
+      this.loadData();
+    },
+    close() {
+      this.reset()
+      this.$emit('close');
+      this.visible = false;
+    },
+    searchReset() {
+      this.queryParam = {}
+      this.loadData();
+    },
+    searchQuery() {
+      var id = this.queryParam.equipmentId
+      this.loading = true;
+      var params = this.getQueryParams();//鏌ヨ鏉′欢
+
+      params.pageNo = this.ipagination.current;
+      params.pageSize = this.ipagination.pageSize;
+      getAction(this.url.serachEquipment, { equipmentId: this.queryParam.equipmentId, departId: this.departId, pageNo: params.pageNo, pageSize: params.pageSize }).then((res) => {
+        if (res.success) {
+          // console.log(res)
+          //update-begin---author:zhangyafei    Date:20201118  for锛氶�傞厤涓嶅垎椤电殑鏁版嵁鍒楄〃------------
+          this.dataSource = res.result.records || res.result;
+          if (res.result.total) {
+            this.ipagination.total = res.result.total;
+          } else {
+            this.ipagination.total = 0;
+          }
+          //update-end---author:zhangyafei    Date:20201118  for锛氶�傞厤涓嶅垎椤电殑鏁版嵁鍒楄〃------------
+        } else {
+          this.$message.warning(res.message)
+        }
+      }).finally(() => {
+        this.loading = false
+      })
+    },
+    handleTableChange(pagination, filters, sorter) {
+      //鍒嗛〉銆佹帓搴忋�佺瓫閫夊彉鍖栨椂瑙﹀彂
+      //TODO 绛涢��
+      // console.log(pagination)
+      if (Object.keys(sorter).length > 0) {
+        this.isorter.column = sorter.field;
+        this.isorter.order = "ascend" == sorter.order ? "asc" : "desc"
+      }
+      this.ipagination = pagination;
+      this.loadData();
+    },
+    loadData() {
+      //鍔犺浇鏁版嵁 鑻ヤ紶鍏ュ弬鏁�1鍒欏姞杞界涓�椤电殑鍐呭
+      // if (arg === 1) {
+      //   this.ipagination.current = 1;
+      // }
+      var params = this.getQueryParams();//鏌ヨ鏉′欢
+
+      params.pageNo = this.ipagination.current;
+      params.pageSize = this.ipagination.pageSize;
+      this.loading = true;
+      getAction(this.url.list, params).then((res) => {
+        if (res.success) {
+          // console.log(res)
+          //update-begin---author:zhangyafei    Date:20201118  for锛氶�傞厤涓嶅垎椤电殑鏁版嵁鍒楄〃------------
+          this.dataSource = res.result.records || res.result;
+          if (res.result.total) {
+            this.ipagination.total = res.result.total;
+          } else {
+            this.ipagination.total = 0;
+          }
+          //update-end---author:zhangyafei    Date:20201118  for锛氶�傞厤涓嶅垎椤电殑鏁版嵁鍒楄〃------------
+        } else {
+          // this.$message.warning(res.message)
+          this.$notification.warning({
+            message: '娑堟伅',
+            description: res.message
+          });
+        }
+      }).finally(() => {
+        this.loading = false
+      })
+    },
+    getQueryParams() {
+      //鑾峰彇鏌ヨ鏉′欢
+      let sqp = {}
+      if (this.superQueryParams) {
+        sqp['superQueryParams'] = encodeURI(this.superQueryParams)
+        sqp['superQueryMatchType'] = this.superQueryMatchType
+      }
+      var param = Object.assign(sqp, this.queryParam, this.isorter, this.filters);
+      param.field = this.getQueryField();
+      param.pageNo = this.ipagination.current;
+      param.pageSize = this.ipagination.pageSize;
+      param.departId = this.departId;
+      //鑾峰彇鐢ㄦ埛瀹氬埗鐨勫弬鏁板睘鎬�
+      if (this.getCustomQueryParams) {
+        param = this.getCustomQueryParams(param);
+        if (!param) {
+          return false;
         }
       }
+
+      return filterObj(param);
     },
-    methods: {
+    handleDelete(equipmentId) {
 
-      show(departId){
-        this.departId=departId
-        this.loadData();
-      },
-      close () {
-        this.reset()
-        this.$emit('close');
-        this.visible = false;
-      },
-      searchReset() {
-        this.queryParam = {}
-        this.loadData();
-      },
-      searchQuery() {
-        var id = this.queryParam.equipmentId
-        this.loading = true;
-        var params = this.getQueryParams();//鏌ヨ鏉′欢
-
-        params.pageNo = this.ipagination.current;
-        params.pageSize = this.ipagination.pageSize;
-        getAction(this.url.serachEquipment,{equipmentId:this.queryParam.equipmentId,departId:this.departId,pageNo:params.pageNo,pageSize:params.pageSize}).then((res)=>{
-          if (res.success) {
-            // console.log(res)
-            //update-begin---author:zhangyafei    Date:20201118  for锛氶�傞厤涓嶅垎椤电殑鏁版嵁鍒楄〃------------
-            this.dataSource = res.result.records||res.result;
-            if(res.result.total)
-            {
-              this.ipagination.total = res.result.total;
-            }else{
-              this.ipagination.total = 0;
-            }
-            //update-end---author:zhangyafei    Date:20201118  for锛氶�傞厤涓嶅垎椤电殑鏁版嵁鍒楄〃------------
-          }else{
-            this.$message.warning(res.message)
-          }
-        }).finally(() => {
-          this.loading = false
-        })
-      },
-      handleTableChange(pagination, filters, sorter) {
-        //鍒嗛〉銆佹帓搴忋�佺瓫閫夊彉鍖栨椂瑙﹀彂
-        //TODO 绛涢��
-        // console.log(pagination)
-        if (Object.keys(sorter).length > 0) {
-          this.isorter.column = sorter.field;
-          this.isorter.order = "ascend" == sorter.order ? "asc" : "desc"
-        }
-        this.ipagination = pagination;
-        this.loadData();
-      },
-      loadData(){
-        //鍔犺浇鏁版嵁 鑻ヤ紶鍏ュ弬鏁�1鍒欏姞杞界涓�椤电殑鍐呭
-        // if (arg === 1) {
-        //   this.ipagination.current = 1;
-        // }
-        var params = this.getQueryParams();//鏌ヨ鏉′欢
-
-        params.pageNo = this.ipagination.current;
-        params.pageSize = this.ipagination.pageSize;
-        this.loading = true;
-        getAction(this.url.list,params).then((res)=>{
-          if (res.success) {
-            // console.log(res)
-            //update-begin---author:zhangyafei    Date:20201118  for锛氶�傞厤涓嶅垎椤电殑鏁版嵁鍒楄〃------------
-            this.dataSource = res.result.records||res.result;
-            if(res.result.total)
-            {
-              this.ipagination.total = res.result.total;
-            }else{
-              this.ipagination.total = 0;
-            }
-            //update-end---author:zhangyafei    Date:20201118  for锛氶�傞厤涓嶅垎椤电殑鏁版嵁鍒楄〃------------
-          }else{
-            // this.$message.warning(res.message)
-            this.$notification.warning({
-              message:'娑堟伅',
-              description:res.message
-            });
-          }
-        }).finally(() => {
-          this.loading = false
-        })
-      },
-      getQueryParams() {
-        //鑾峰彇鏌ヨ鏉′欢
-        let sqp = {}
-        if(this.superQueryParams){
-          sqp['superQueryParams']=encodeURI(this.superQueryParams)
-          sqp['superQueryMatchType'] = this.superQueryMatchType
-        }
-        var param = Object.assign(sqp, this.queryParam, this.isorter ,this.filters);
-        param.field = this.getQueryField();
-        param.pageNo = this.ipagination.current;
-        param.pageSize = this.ipagination.pageSize;
-        param.departId = this.departId;
-        //鑾峰彇鐢ㄦ埛瀹氬埗鐨勫弬鏁板睘鎬�
-        if (this.getCustomQueryParams) {
-          param = this.getCustomQueryParams(param);
-          if(!param){
-            return false;
-          }
-        }
-
-        return filterObj(param);
-      },
-      handleDelete(equipmentId){
-
-        postAction(this.url.removeEquipmentForDepart,qs.stringify({departId:this.departId,equipmentId:equipmentId})).then((res)=>{
-          if (res.success) {
-            // this.$message.warning(res.message)
-            this.$notification.success({
-              message:'娑堟伅',
-              description:res.message
-            });
-
-            this.loadData(this.departId);
-          }else{
-            // this.$message.warning(res.message)
-            this.$notification.warning({
-              message:'娑堟伅',
-              description:res.message
-            });
-
-          }
-        }).finally(() => {
-
-        })
-      },
-      handleMenuClick(e) {
-        if (e.key == 1) {
-          this.batchDel();
-        }
-      },
-      batchDel: function () {
-        if(!this.url.removeEquipmentsForDepart){
-          this.$message.error("璇疯缃畊rl.removeEquipmentsForDepart灞炴��!")
-          return
-        }
-        if (this.selectedRowKeys.length <= 0) {
-          // this.$message.warning('璇烽�夋嫨涓�鏉¤褰曪紒');
-          this.$notification.warning({
-            message:'娑堟伅',
-            description:"璇烽�夋嫨涓�鏉¤褰�"
+      postAction(this.url.removeEquipmentForDepart, qs.stringify({ departId: this.departId, equipmentId: equipmentId })).then((res) => {
+        if (res.success) {
+          // this.$message.warning(res.message)
+          this.$notification.success({
+            message: '娑堟伅',
+            description: res.message
           });
-          return;
+
+          this.loadData(this.departId);
         } else {
-          var ids = "";
-          for (var a = 0; a < this.selectedRowKeys.length; a++) {
-            ids += this.selectedRowKeys[a] + ",";
-          }
-          var that = this;
-          this.$confirm({
-            title: "纭鍒犻櫎",
-            content: "鏄惁鍒犻櫎閫変腑鏁版嵁?",
-            onOk: function () {
-              that.loading = true;
-              postAction(that.url.removeEquipmentsForDepart,qs.stringify({departId:that.departId,equipmentIds:ids})).then((res) => {
-                if (res.success) {
-                  //閲嶆柊璁$畻鍒嗛〉闂
-                  that.reCalculatePage(that.selectedRowKeys.length)
-                  // that.$message.success(res.message);
-                  that.$notification.success({
-                    message:'娑堟伅',
-                    description:res.message
-                  });
-                  that.loadData(that.departId);
-                  that.onClearSelected();
-                } else {
-                  // that.$message.warning(res.message);
-                  that.$notification.warning({
-                    message:'娑堟伅',
-                    description:res.message
-                  });
-                }
-              }).finally(() => {
-                that.loading = false;
-              });
-            }
+          // this.$message.warning(res.message)
+          this.$notification.warning({
+            message: '娑堟伅',
+            description: res.message
           });
+
         }
-      },
+      }).finally(() => {
+
+      })
     },
-  }
+    handleMenuClick(e) {
+      if (e.key == 1) {
+        this.batchDel();
+      }
+    },
+    batchDel: function () {
+      if (!this.url.removeEquipmentsForDepart) {
+        this.$message.error("璇疯缃畊rl.removeEquipmentsForDepart灞炴��!")
+        return
+      }
+      if (this.selectedRowKeys.length <= 0) {
+        // this.$message.warning('璇烽�夋嫨涓�鏉¤褰曪紒');
+        this.$notification.warning({
+          message: '娑堟伅',
+          description: "璇烽�夋嫨涓�鏉¤褰�"
+        });
+        return;
+      } else {
+        var ids = "";
+        for (var a = 0; a < this.selectedRowKeys.length; a++) {
+          ids += this.selectedRowKeys[a] + ",";
+        }
+        var that = this;
+        this.$confirm({
+          title: "纭鍒犻櫎",
+          content: "鏄惁鍒犻櫎閫変腑鏁版嵁?",
+          onOk: function () {
+            that.loading = true;
+            postAction(that.url.removeEquipmentsForDepart, qs.stringify({ departId: that.departId, equipmentIds: ids })).then((res) => {
+              if (res.success) {
+                //閲嶆柊璁$畻鍒嗛〉闂
+                that.reCalculatePage(that.selectedRowKeys.length)
+                // that.$message.success(res.message);
+                that.$notification.success({
+                  message: '娑堟伅',
+                  description: res.message
+                });
+                that.loadData(that.departId);
+                that.onClearSelected();
+              } else {
+                // that.$message.warning(res.message);
+                that.$notification.warning({
+                  message: '娑堟伅',
+                  description: res.message
+                });
+              }
+            }).finally(() => {
+              that.loading = false;
+            });
+          }
+        });
+      }
+    },
+  },
+}
 </script>
 
 <style scoped>
-
 </style>
\ No newline at end of file
diff --git a/src/views/system/modules/DepartList/DepartModal.vue b/src/views/system/modules/DepartList/DepartModal.vue
index 697ec7c..67a1d0e 100644
--- a/src/views/system/modules/DepartList/DepartModal.vue
+++ b/src/views/system/modules/DepartList/DepartModal.vue
@@ -8,81 +8,131 @@
     :okButtonProps="{ props: {disabled: disableSubmit} }"
     @ok="handleOk"
     @cancel="handleCancel"
-    cancelText="鍏抽棴">
+    cancelText="鍏抽棴"
+  >
 
     <a-spin :spinning="confirmLoading">
-      <a-form-model ref="form" :model="model" :rules="validatorRules">
+      <a-form-model
+        ref="form"
+        :model="model"
+        :rules="validatorRules"
+      >
         <a-form-model-item
           :labelCol="labelCol"
           :wrapperCol="wrapperCol"
           label="鏈烘瀯鍚嶇О"
           prop="departName"
           :hidden="false"
-          hasFeedback >
-          <a-input id="departName" placeholder="璇疯緭鍏ユ満鏋�/閮ㄩ棬鍚嶇О" v-model="model.departName"/>
-        </a-form-model-item>
-        <a-form-model-item :labelCol="labelCol" :wrapperCol="wrapperCol" :hidden="seen" label="涓婄骇閮ㄩ棬" hasFeedback>
-        <a-tree-select
-          style="width:100%"
-          :dropdownStyle="{maxHeight:'200px',overflow:'auto'}"
-          :treeData="departTree"
-          v-model="model.parentId"
-          placeholder="璇烽�夋嫨涓婄骇閮ㄩ棬"
-          :disabled="condition">
-        </a-tree-select>
-        </a-form-model-item>
-        <!--<a-form-model-item-->
-          <!--:labelCol="labelCol"-->
-          <!--:wrapperCol="wrapperCol"-->
-          <!--label="鏈烘瀯绫诲瀷">-->
-         <!--<template v-if="seen">-->
-            <!--<a-radio-group v-model="model.orgCategory" placeholder="璇烽�夋嫨鏈烘瀯绫诲瀷">-->
-              <!--<a-radio value="1">-->
-                <!--鍏徃-->
-              <!--</a-radio>-->
-            <!--</a-radio-group>-->
-          <!--</template>-->
-          <!--<template v-else>-->
-            <!--<a-radio-group v-model="model.orgCategory" placeholder="璇烽�夋嫨鏈烘瀯绫诲瀷">-->
-              <!--<a-radio value="2">-->
-                <!--閮ㄩ棬-->
-              <!--</a-radio>-->
-              <!--<a-radio value="3">-->
-                <!--宀椾綅-->
-              <!--</a-radio>-->
-            <!--</a-radio-group>-->
-       <!--</template>-->
-        <!--</a-form-model-item>-->
-        <!--<a-form-model-item-->
-          <!--:labelCol="labelCol"-->
-          <!--:wrapperCol="wrapperCol"-->
-          <!--prop="mobile"-->
-          <!--label="鐢佃瘽">-->
-          <!--<a-input placeholder="璇疯緭鍏ョ數璇�" v-model="model.mobile"/>-->
-        <!--</a-form-model-item>-->
-        <!--<a-form-model-item-->
-          <!--:labelCol="labelCol"-->
-          <!--:wrapperCol="wrapperCol"-->
-          <!--label="浼犵湡">-->
-          <!--<a-input placeholder="璇疯緭鍏ヤ紶鐪�" v-model="model.fax"/>-->
-        <!--</a-form-model-item>-->
-        <!--<a-form-model-item-->
-          <!--:labelCol="labelCol"-->
-          <!--:wrapperCol="wrapperCol"-->
-          <!--label="鍦板潃">-->
-          <!--<a-input placeholder="璇疯緭鍏ュ湴鍧�" v-model="model.address"/>-->
-        <!--</a-form-model-item>-->
-        <a-form-model-item
-          :labelCol="labelCol"
-          :wrapperCol="wrapperCol"
-          label="鎺掑簭">
-          <a-input-number v-model="model.departOrder"/>
+          hasFeedback
+        >
+          <a-input
+            id="departName"
+            placeholder="璇疯緭鍏ユ満鏋�/閮ㄩ棬鍚嶇О"
+            v-model="model.departName"
+          />
         </a-form-model-item>
         <a-form-model-item
           :labelCol="labelCol"
           :wrapperCol="wrapperCol"
-          label="澶囨敞">
-          <a-textarea placeholder="璇疯緭鍏ュ娉�" v-model="model.memo"/>
+          label="浣跨敤閮ㄩ棬缂栫爜"
+          prop="useDepartNum"
+          :hidden="false"
+          hasFeedback
+        >
+          <a-input
+            id="useDepartNum"
+            placeholder="璇疯緭鍏ヤ娇鐢ㄩ儴闂ㄧ紪鐮�"
+            v-model="model.useDepartNum"
+          />
+        </a-form-model-item>
+        <a-form-model-item
+          :labelCol="labelCol"
+          :wrapperCol="wrapperCol"
+          label="缁翠慨閮ㄩ棬缂栫爜"
+          prop="repairDepartNum"
+          :hidden="false"
+          hasFeedback
+        >
+          <a-input
+            id="repairDepartNum"
+            placeholder="璇疯緭鍏ョ淮淇儴闂ㄧ紪鐮�"
+            v-model="model.repairDepartNum"
+          />
+        </a-form-model-item>
+        <a-form-model-item
+          :labelCol="labelCol"
+          :wrapperCol="wrapperCol"
+          :hidden="seen"
+          label="涓婄骇閮ㄩ棬"
+          hasFeedback
+        >
+          <a-tree-select
+            style="width:100%"
+            :dropdownStyle="{maxHeight:'200px',overflow:'auto'}"
+            :treeData="departTree"
+            v-model="model.parentId"
+            placeholder="璇烽�夋嫨涓婄骇閮ㄩ棬"
+            :disabled="condition"
+          >
+          </a-tree-select>
+        </a-form-model-item>
+        <!--<a-form-model-item-->
+        <!--:labelCol="labelCol"-->
+        <!--:wrapperCol="wrapperCol"-->
+        <!--label="鏈烘瀯绫诲瀷">-->
+        <!--<template v-if="seen">-->
+        <!--<a-radio-group v-model="model.orgCategory" placeholder="璇烽�夋嫨鏈烘瀯绫诲瀷">-->
+        <!--<a-radio value="1">-->
+        <!--鍏徃-->
+        <!--</a-radio>-->
+        <!--</a-radio-group>-->
+        <!--</template>-->
+        <!--<template v-else>-->
+        <!--<a-radio-group v-model="model.orgCategory" placeholder="璇烽�夋嫨鏈烘瀯绫诲瀷">-->
+        <!--<a-radio value="2">-->
+        <!--閮ㄩ棬-->
+        <!--</a-radio>-->
+        <!--<a-radio value="3">-->
+        <!--宀椾綅-->
+        <!--</a-radio>-->
+        <!--</a-radio-group>-->
+        <!--</template>-->
+        <!--</a-form-model-item>-->
+        <!--<a-form-model-item-->
+        <!--:labelCol="labelCol"-->
+        <!--:wrapperCol="wrapperCol"-->
+        <!--prop="mobile"-->
+        <!--label="鐢佃瘽">-->
+        <!--<a-input placeholder="璇疯緭鍏ョ數璇�" v-model="model.mobile"/>-->
+        <!--</a-form-model-item>-->
+        <!--<a-form-model-item-->
+        <!--:labelCol="labelCol"-->
+        <!--:wrapperCol="wrapperCol"-->
+        <!--label="浼犵湡">-->
+        <!--<a-input placeholder="璇疯緭鍏ヤ紶鐪�" v-model="model.fax"/>-->
+        <!--</a-form-model-item>-->
+        <!--<a-form-model-item-->
+        <!--:labelCol="labelCol"-->
+        <!--:wrapperCol="wrapperCol"-->
+        <!--label="鍦板潃">-->
+        <!--<a-input placeholder="璇疯緭鍏ュ湴鍧�" v-model="model.address"/>-->
+        <!--</a-form-model-item>-->
+        <a-form-model-item
+          :labelCol="labelCol"
+          :wrapperCol="wrapperCol"
+          label="鎺掑簭"
+        >
+          <a-input-number v-model="model.departOrder" />
+        </a-form-model-item>
+        <a-form-model-item
+          :labelCol="labelCol"
+          :wrapperCol="wrapperCol"
+          label="澶囨敞"
+        >
+          <a-textarea
+            placeholder="璇疯緭鍏ュ娉�"
+            v-model="model.memo"
+          />
         </a-form-model-item>
 
       </a-form-model>
@@ -91,143 +141,144 @@
 </template>
 
 <script>
-  import { httpAction } from '@/api/manage'
-  import { queryIdTree } from '@/api/api'
-  import pick from 'lodash.pick'
-  import ATextarea from 'ant-design-vue/es/input/TextArea'
-  export default {
-    name: "SysDepartModal",
-    components: { ATextarea },
-    data () {
-      return {
-        departTree:[],
-        orgTypeData:[],
-        phoneWarning:'',
-        departName:"",
-        title:"鎿嶄綔",
-        seen:false,
-        visible: false,
-        condition:true,
-        disableSubmit:false,
-        model: {},
-        defaultModel:{
-          departOrder:0,
-          orgCategory:'1'
-        },
-        menuhidden:false,
-        menuusing:true,
-        labelCol: {
-          xs: { span: 24 },
-          sm: { span: 5 },
-        },
-        wrapperCol: {
-          xs: { span: 24 },
-          sm: { span: 16 },
-        },
+import { httpAction } from '@/api/manage'
+import { queryIdTree } from '@/api/api'
+import pick from 'lodash.pick'
+import ATextarea from 'ant-design-vue/es/input/TextArea'
+export default {
+  name: "SysDepartModal",
+  components: { ATextarea },
+  data() {
+    return {
+      departTree: [],
+      orgTypeData: [],
+      phoneWarning: '',
+      departName: "",
+      title: "鎿嶄綔",
+      seen: false,
+      visible: false,
+      condition: true,
+      disableSubmit: false,
+      model: {},
+      defaultModel: {
+        departOrder: 0,
+        orgCategory: '1'
+      },
+      menuhidden: false,
+      menuusing: true,
+      labelCol: {
+        xs: { span: 24 },
+        sm: { span: 5 },
+      },
+      wrapperCol: {
+        xs: { span: 24 },
+        sm: { span: 16 },
+      },
 
-        confirmLoading: false,
-        validatorRules:{
-          departName:[{ required: true, message: '璇疯緭鍏ユ満鏋�/閮ㄩ棬鍚嶇О!' }],
-          // orgCode:[{ required: true, message: '璇疯緭鍏ユ満鏋勭紪鐮�!' }],
-          // mobile: [{validator:this.validateMobile}],
-          // orgCategory:[{required: true, message: '璇疯緭鍏ユ満鏋勭被鍨�!'}]
-        },
-        url: {
-          add: "/sys/sysDepart/add",
-        },
-        dictDisabled:true,
+      confirmLoading: false,
+      validatorRules: {
+        departName: [{ required: true, message: '璇疯緭鍏ユ満鏋�/閮ㄩ棬鍚嶇О!' }],
+        useDepartNum: [{ required: false, message: '璇疯緭鍏ヤ娇鐢ㄩ儴闂ㄧ紪鐮�!' }],
+        repairDepartNum: [{ required: false, message: '璇疯緭鍏ョ淮淇儴闂ㄧ紪鐮�!' }],
+        // orgCode:[{ required: true, message: '璇疯緭鍏ユ満鏋勭紪鐮�!' }],
+        // mobile: [{validator:this.validateMobile}],
+        // orgCategory:[{required: true, message: '璇疯緭鍏ユ満鏋勭被鍨�!'}]
+      },
+      url: {
+        add: "/sys/sysDepart/add",
+      },
+      dictDisabled: true,
+    }
+  },
+  created() {
+  },
+  methods: {
+    loadTreeData() {
+      var that = this;
+      queryIdTree().then((res) => {
+        if (res.success) {
+          that.departTree = [];
+          for (let i = 0; i < res.result.length; i++) {
+            let temp = res.result[i];
+            that.departTree.push(temp);
+          }
+        }
+
+      })
+    },
+    add(depart) {
+      if (depart) {
+        this.seen = false;
+        this.dictDisabled = false;
+      } else {
+        this.seen = true;
+        this.dictDisabled = true;
+      }
+      this.edit(depart);
+    },
+    edit(record) {
+      this.visible = true;
+      this.model = Object.assign({}, this.defaultModel, record)
+      this.loadTreeData();
+      this.model.parentId = record != null ? record.toString() : null;
+      if (this.seen) {
+        this.model.orgCategory = '1';
+      } else {
+        this.model.orgCategory = '2';
       }
     },
-    created () {
+    close() {
+      this.$emit('close');
+      this.disableSubmit = false;
+      this.visible = false;
+      this.$refs.form.resetFields();
     },
-    methods: {
-      loadTreeData(){
-        var that = this;
-        queryIdTree().then((res)=>{
-          if(res.success){
-            that.departTree = [];
-            for (let i = 0; i < res.result.length; i++) {
-              let temp = res.result[i];
-              that.departTree.push(temp);
+    handleOk() {
+      const that = this;
+      // 瑙﹀彂琛ㄥ崟楠岃瘉
+      this.$refs.form.validate(valid => {
+        if (valid) {
+          that.confirmLoading = true;
+          httpAction(this.url.add, this.model, "post").then((res) => {
+            if (res.success) {
+              // that.$message.success(res.message);
+              that.$notification.success({
+                message: '娑堟伅',
+                description: res.message
+              });
+              that.loadTreeData();
+              that.$emit('ok');
+            } else {
+              // that.$message.warning(res.message);
+              that.$notification.warning({
+                message: '娑堟伅',
+                description: res.message
+              });
             }
-          }
+          }).finally(() => {
+            that.confirmLoading = false;
+            that.close();
+          })
 
-        })
-      },
-      add (depart) {
-        if(depart){
-          this.seen = false;
-          this.dictDisabled = false;
-        }else{
-          this.seen = true;
-          this.dictDisabled = true;
+        } else {
+          return false;
         }
-        this.edit(depart);
-      },
-      edit (record) {
-          this.visible = true;
-          this.model = Object.assign({}, this.defaultModel, record)
-          this.loadTreeData();
-          this.model.parentId = record!=null?record.toString():null;
-           if(this.seen){
-             this.model.orgCategory = '1';
-           }else{
-             this.model.orgCategory = '2';
-           }
-      },
-      close () {
-        this.$emit('close');
-        this.disableSubmit = false;
-        this.visible = false;
-        this.$refs.form.resetFields();
-      },
-      handleOk () {
-        const that = this;
-        // 瑙﹀彂琛ㄥ崟楠岃瘉
-        this.$refs.form.validate(valid => {
-          if (valid) {
-            that.confirmLoading = true;
-            httpAction(this.url.add,this.model,"post").then((res)=>{
-              if(res.success){
-                // that.$message.success(res.message);
-                that.$notification.success({
-                  message:'娑堟伅',
-                  description:res.message
-                });
-                that.loadTreeData();
-                that.$emit('ok');
-              }else{
-                // that.$message.warning(res.message);
-                that.$notification.warning({
-                  message:'娑堟伅',
-                  description:res.message
-                });
-              }
-            }).finally(() => {
-              that.confirmLoading = false;
-              that.close();
-            })
-
-          }else{
-            return false;
-          }
-        })
-      },
-      handleCancel () {
-        this.close()
-      },
-      validateMobile(rule,value,callback){
-        if (!value || new RegExp(/^1([38][0-9]|4[579]|5[0-3,5-9]|6[6]|7[0135678]|9[89])\d{8}$/).test(value)){
-          callback();
-        }else{
-          callback("鎮ㄧ殑鎵嬫満鍙风爜鏍煎紡涓嶆纭�!");
-        }
-
+      })
+    },
+    handleCancel() {
+      this.close()
+    },
+    validateMobile(rule, value, callback) {
+      if (!value || new RegExp(/^1([38][0-9]|4[579]|5[0-3,5-9]|6[6]|7[0135678]|9[89])\d{8}$/).test(value)) {
+        callback();
+      } else {
+        callback("鎮ㄧ殑鎵嬫満鍙风爜鏍煎紡涓嶆纭�!");
       }
+
     }
   }
+}
 </script>
 
 <style scoped>
-
 </style>
\ No newline at end of file
diff --git a/src/views/system/modules/DepartList/DepartTeam.vue b/src/views/system/modules/DepartList/DepartTeam.vue
new file mode 100644
index 0000000..0d10d45
--- /dev/null
+++ b/src/views/system/modules/DepartList/DepartTeam.vue
@@ -0,0 +1,394 @@
+<template>
+  <a-card :bordered="false">
+    <template v-if="this.departId">
+      <div class="table-page-search-wrapper">
+        <a-form
+          layout="inline"
+          @keyup.enter.native="searchQuery"
+        >
+          <a-row :gutter="24">
+
+            <a-col :span="24 / 2  ">
+              <a-form-item
+                :labelCol="labelCol"
+                :wrapperCol="wrapperCol"
+                label="鐝粍缂栧彿"
+              >
+                <j-input
+                  placeholder="璇疯緭鍏ョ彮缁勭紪鍙�"
+                  v-model="queryParam.num"
+                ></j-input>
+              </a-form-item>
+            </a-col>
+            <a-col :span="24 / 2  ">
+              <a-button
+                type="primary"
+                @click="searchQuery"
+                icon="search"
+              >鏌ヨ</a-button>
+              <a-button
+                type="primary"
+                @click="searchReset"
+                icon="reload"
+                style="margin-left: 8px"
+              >閲嶇疆</a-button>
+              <a-button
+                type="primary"
+                @click="handleAdd"
+                icon="plus"
+                style="margin-left: 8px"
+              >鏂板</a-button>
+            </a-col>
+          </a-row>
+        </a-form>
+      </div>
+      <div
+        class="table-operator"
+        style="border-top: 5px"
+      >
+        <a-dropdown v-if="selectedRowKeys.length > 0">
+          <a-menu
+            slot="overlay"
+            @click="handleMenuClick"
+          >
+            <a-menu-item key="1">
+              <a-icon
+                type="delete"
+                @click="batchDel"
+              />
+              鎵归噺绉婚櫎
+            </a-menu-item>
+          </a-menu>
+          <a-button style="margin-left: 8px">
+            鎵归噺鎿嶄綔
+            <a-icon type="down" />
+          </a-button>
+        </a-dropdown>
+      </div>
+      <a-table
+        ref="table"
+        bordered
+        size="middle"
+        rowKey="id"
+        :scroll="{x: 500}"
+        :columns="columns"
+        :dataSource="dataSource"
+        :pagination="ipagination"
+        :loading="loading"
+        :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
+        @change="handleTableChange"
+      >
+
+        <!--<template slot="avatarslot" slot-scope="text, record, index">-->
+        <!--<div class="anty-img-wrap">-->
+        <!--<a-avatar shape="square" :src="getAvatarView(record.avatar)" icon="user"/>-->
+        <!--</div>-->
+        <!--</template>-->
+        <span
+          slot="name"
+          slot-scope="text"
+        >
+          <j-ellipsis
+            :value="text"
+            :length="7"
+          />
+        </span>
+
+        <span
+          slot="action"
+          slot-scope="text, record"
+        >
+          <a @click="handleEdit(record)">缂栬緫</a>
+          <a-divider type="vertical" />
+          <a-popconfirm
+            title="纭畾绉婚櫎鍚�?"
+            @confirm="() => handleDelete(record.id)"
+          >
+            <a>绉婚櫎</a>
+          </a-popconfirm>
+        </span>
+      </a-table>
+    </template>
+    <a-card
+      v-else
+      :bordered="false"
+      style="height:200px"
+    >
+      <a-empty>
+        <span slot="description"> 璇峰厛閫夋嫨涓�涓儴闂�! </span>
+      </a-empty>
+    </a-card>
+    <team-modal
+      ref="modalForm"
+      @ok="modalFormOk"
+      :departId=this.departId
+    ></team-modal>
+    <!-- :nodeSelected="nodeSelected" -->
+  </a-card>
+</template>
+
+<script>
+import { queryTreeListForRole, queryDepartPermission, saveDepartPermission } from '@/api/api'
+import DepartDataruleModal from './DepartDataruleModal'
+import { JeecgListMixin } from '@/mixins/JeecgListMixin'
+import { getAction, postAction, deleteAction } from '@/api/manage'
+import { filterObj } from '@/utils/util'
+import JEllipsis from '@/components/jeecg/JEllipsis'
+import qs from 'qs'
+import TeamModal from './TeamModal'
+export default {
+  name: 'DepartTeam',
+  mixins: [JeecgListMixin],
+  components: { DepartDataruleModal, TeamModal, JEllipsis },
+  data() {
+    return {
+      queryParam: {},
+      labelCol: {
+        xs: { span: 24 },
+        sm: { span: 5 },
+      },
+      wrapperCol: {
+        xs: { span: 24 },
+        sm: { span: 16 },
+      },
+      columns: [
+        {
+          title: '#',
+          dataIndex: '',
+          key: 'rowIndex',
+          width: 60,
+          align: "center",
+          customRender: function (t, r, index) {
+            return parseInt(index) + 1;
+          }
+        },
+        {
+          title: '閮ㄩ棬',
+          align: "center",
+          dataIndex: 'departId_dictText',
+        },
+        {
+          title: '鐝粍缂栧彿',
+          align: "center",
+          dataIndex: 'num',
+        },
+        {
+          title: '鐝粍鍚嶇О',
+          align: "center",
+          dataIndex: 'name',
+          scopedSlots: { customRender: 'name' },
+        },
+        {
+          title: '澶囨敞',
+          align: "center",
+          dataIndex: 'remark',
+        },
+
+        {
+          title: '鎿嶄綔',
+          dataIndex: 'action',
+          scopedSlots: { customRender: 'action' },
+          align: "center",
+          width: 120
+        }
+
+      ],
+      disableMixinCreated: true,
+      departId: "",
+      title: "閮ㄩ棬鏉冮檺閰嶇疆",
+      visible: false,
+      loading: false,
+      hidden: true,
+      url: {
+        list: '/base/team/list',
+        remove: '/base/team/delete',
+        serachTeams: '/base/team/list',
+        deleteBatch: "/base/team/deleteBatch"
+      }
+    }
+  },
+  methods: {
+
+    show(departId) {
+      this.departId = departId
+      this.loadData();
+    },
+    close() {
+      this.reset()
+      this.$emit('close');
+      this.visible = false;
+    },
+    searchReset() {
+      this.queryParam = {}
+      this.loadData();
+    },
+    searchQuery() {
+      this.loading = true;
+      var params = this.getQueryParams();//鏌ヨ鏉′欢
+      params.pageNo = this.ipagination.current;
+      params.pageSize = this.ipagination.pageSize;
+      getAction(this.url.serachTeams, params).then((res) => {
+        if (res.success) {
+          // console.log(res)
+          //update-begin---author:zhangyafei    Date:20201118  for锛氶�傞厤涓嶅垎椤电殑鏁版嵁鍒楄〃------------
+          this.dataSource = res.result.records || res.result;
+          if (res.result.total) {
+            this.ipagination.total = res.result.total;
+          } else {
+            this.ipagination.total = 0;
+          }
+          //update-end---author:zhangyafei    Date:20201118  for锛氶�傞厤涓嶅垎椤电殑鏁版嵁鍒楄〃------------
+        } else {
+          this.$message.warning(res.message)
+        }
+      }).finally(() => {
+        this.loading = false
+      })
+    },
+    handleTableChange(pagination, filters, sorter) {
+      //鍒嗛〉銆佹帓搴忋�佺瓫閫夊彉鍖栨椂瑙﹀彂
+      //TODO 绛涢��
+      // console.log(pagination)
+      if (Object.keys(sorter).length > 0) {
+        this.isorter.column = sorter.field;
+        this.isorter.order = "ascend" == sorter.order ? "asc" : "desc"
+      }
+      this.ipagination = pagination;
+      this.loadData();
+    },
+    loadData() {
+      //鍔犺浇鏁版嵁 鑻ヤ紶鍏ュ弬鏁�1鍒欏姞杞界涓�椤电殑鍐呭
+      // if (arg === 1) {
+      //   this.ipagination.current = 1;
+      // }
+      var params = this.getQueryParams();//鏌ヨ鏉′欢
+
+      params.pageNo = this.ipagination.current;
+      params.pageSize = this.ipagination.pageSize;
+      this.loading = true;
+      getAction(this.url.list, params).then((res) => {
+        if (res.success) {
+          // console.log(res)
+          //update-begin---author:zhangyafei    Date:20201118  for锛氶�傞厤涓嶅垎椤电殑鏁版嵁鍒楄〃------------
+          this.dataSource = res.result.records || res.result;
+          if (res.result.total) {
+            this.ipagination.total = res.result.total;
+          } else {
+            this.ipagination.total = 0;
+          }
+          //update-end---author:zhangyafei    Date:20201118  for锛氶�傞厤涓嶅垎椤电殑鏁版嵁鍒楄〃------------
+        } else {
+          // this.$message.warning(res.message)
+          this.$notification.warning({
+            message: '娑堟伅',
+            description: res.message
+          });
+        }
+      }).finally(() => {
+        this.loading = false
+      })
+    },
+    getQueryParams() {
+      //鑾峰彇鏌ヨ鏉′欢
+      let sqp = {}
+      if (this.superQueryParams) {
+        sqp['superQueryParams'] = encodeURI(this.superQueryParams)
+        sqp['superQueryMatchType'] = this.superQueryMatchType
+      }
+      var param = Object.assign(sqp, this.queryParam, this.isorter, this.filters);
+      param.field = this.getQueryField();
+      param.pageNo = this.ipagination.current;
+      param.pageSize = this.ipagination.pageSize;
+      param.departId = this.departId;
+      //鑾峰彇鐢ㄦ埛瀹氬埗鐨勫弬鏁板睘鎬�
+      if (this.getCustomQueryParams) {
+        param = this.getCustomQueryParams(param);
+        if (!param) {
+          return false;
+        }
+      }
+
+      return filterObj(param);
+    },
+    handleDelete(id) {
+
+      deleteAction(this.url.remove, { id: id }).then((res) => {
+        if (res.success) {
+          // this.$message.warning(res.message)
+          this.$notification.success({
+            message: '娑堟伅',
+            description: res.message
+          });
+
+          this.show(this.departId);
+        } else {
+          // this.$message.warning(res.message)
+          this.$notification.warning({
+            message: '娑堟伅',
+            description: res.message
+          });
+
+        }
+      }).finally(() => {
+
+      })
+    },
+    handleMenuClick(e) {
+      if (e.key == 1) {
+        this.batchDel();
+      }
+    },
+    batchDel: function () {
+      if (!this.url.deleteBatch) {
+        this.$message.error("璇疯缃畊rl.deleteBatch灞炴��!")
+        return
+      }
+      if (this.selectedRowKeys.length <= 0) {
+        // this.$message.warning('璇烽�夋嫨涓�鏉¤褰曪紒');
+        this.$notification.warning({
+          message: '娑堟伅',
+          description: "璇烽�夋嫨涓�鏉¤褰�"
+        });
+        return;
+      } else {
+        var ids = "";
+        for (var a = 0; a < this.selectedRowKeys.length; a++) {
+          ids += this.selectedRowKeys[a] + ",";
+        }
+        var that = this;
+        this.$confirm({
+          title: "纭鍒犻櫎",
+          content: "鏄惁鍒犻櫎閫変腑鏁版嵁?",
+          onOk: function () {
+            that.loading = true;
+            deleteAction(that.url.deleteBatch, { ids: ids }).then((res) => {
+              if (res.success) {
+                //閲嶆柊璁$畻鍒嗛〉闂
+                that.reCalculatePage(that.selectedRowKeys.length)
+                // that.$message.success(res.message);
+                that.$notification.success({
+                  message: '娑堟伅',
+                  description: res.message
+                });
+                that.show(that.departId);
+                that.onClearSelected();
+              } else {
+                // that.$message.warning(res.message);
+                that.$notification.warning({
+                  message: '娑堟伅',
+                  description: res.message
+                });
+              }
+            }).finally(() => {
+              that.loading = false;
+            });
+          }
+        });
+      }
+    },
+  },
+}
+</script>
+
+<style scoped>
+</style>
\ No newline at end of file
diff --git a/src/views/system/modules/DepartList/TeamModal.vue b/src/views/system/modules/DepartList/TeamModal.vue
new file mode 100644
index 0000000..ab02ae5
--- /dev/null
+++ b/src/views/system/modules/DepartList/TeamModal.vue
@@ -0,0 +1,286 @@
+<template>
+  <a-modal
+    :title="title"
+    :width="800"
+    :visible="visible"
+    :confirmLoading="confirmLoading"
+    :okButtonProps="{ props: {disabled: disableSubmit} }"
+    @ok="handleOk"
+    @cancel="handleCancel"
+    cancelText="鍏抽棴"
+  >
+
+    <a-spin :spinning="confirmLoading">
+      <a-form :form="form">
+        <a-row :gutter="24">
+          <a-col :span="24">
+            <a-form-model-item
+              :labelCol="{span:4}"
+              :wrapperCol="{span:18}"
+              :hidden="seen"
+              label="涓婄骇閮ㄩ棬"
+              hasFeedback
+            >
+              <a-tree-select
+                style="width:100%"
+                :dropdownStyle="{maxHeight:'200px',overflow:'auto'}"
+                :treeData="departTree"
+                v-model="model.departId"
+                placeholder="璇烽�夋嫨涓婄骇閮ㄩ棬"
+                :disabled="true"
+              >
+              </a-tree-select>
+            </a-form-model-item>
+          </a-col>
+        </a-row>
+        <a-row :gutter="24">
+          <a-col :span="24">
+            <a-form-item
+              label="鐝粍缂栧彿"
+              :labelCol="{span:4}"
+              :wrapperCol="{span:18}"
+            >
+              <a-input
+                :readOnly="disableSubmit"
+                allow-clear
+                placeholder="璇疯緭鍏ョ彮缁勭紪鍙�"
+                v-decorator="['num', validatorRules.num ]"
+              />
+            </a-form-item>
+          </a-col>
+        </a-row>
+
+        <a-row :gutter="24">
+          <a-col :span="24">
+            <a-form-item
+              label="鐝粍鍚嶇О"
+              :labelCol="{span:4}"
+              :wrapperCol="{span:18}"
+            >
+              <a-input
+                :readOnly="disableSubmit"
+                allow-clear
+                placeholder="璇疯緭鍏ョ彮缁勫悕绉�"
+                v-decorator="['name', validatorRules.name ]"
+              />
+            </a-form-item>
+          </a-col>
+        </a-row>
+
+        <a-row :gutter="24">
+          <a-col :span="24">
+            <a-form-item
+              :labelCol="{span:4}"
+              :wrapperCol="{span:18}"
+              label="澶囨敞"
+            >
+              <a-textarea
+                :readOnly="disableSubmit"
+                placeholder="璇疯緭鍏ュ娉�"
+                allow-clear
+                v-decorator="['remark', validatorRules.remark]"
+              />
+            </a-form-item>
+          </a-col>
+        </a-row>
+
+      </a-form>
+    </a-spin>
+  </a-modal>
+</template>
+
+<script>
+import pick from 'lodash.pick'
+import { postAction, requestPut } from '@/api/manage'
+import { duplicateCheck } from '@/api/api'
+import { queryIdTree } from '@/api/api'
+
+export default {
+  name: 'TeamModal',
+  props: {
+    // nodeSelected: {
+    //   type: Object,
+    //   default: {}
+    // },
+    departId: {
+      type: String,
+      default: ""
+    },
+  },
+  data() {
+    return {
+      title: "鎿嶄綔",
+      visible: false,
+      model: {},
+      departTree: [],
+      labelCol: {
+        xs: { span: 24 },
+        sm: { span: 6 },
+      },
+      wrapperCol: {
+        xs: { span: 24 },
+        sm: { span: 18 },
+      },
+      confirmLoading: false,
+      form: this.$form.createForm(this),
+      validatorRules: {
+        num: {
+          rules: [
+            { required: true, message: '璇疯緭鍏ョ彮缁勭紪鍙�!' },
+            { min: 0, max: 30, message: '闀垮害涓嶈秴杩� 30 涓瓧绗�', trigger: 'blur' },
+            { validator: this.validateNum },
+          ]
+        },
+        name: {
+          rules: [
+            { required: true, message: '璇疯緭鍏ョ彮缁勫悕绉�!' },
+            { min: 0, max: 64, message: '闀垮害涓嶈秴杩� 64 涓瓧绗�', trigger: 'blur' },
+            { validator: this.validateName },
+          ]
+        },
+        remark: {
+          rules: [
+            { min: 0, max: 100, message: '闀垮害涓嶈秴杩� 100 涓瓧绗�', trigger: 'blur' },
+          ]
+        }
+      },
+      url: {
+        add: "/base/team/add",
+        edit: "/base/team/edit"
+      },
+      disableSubmit: false,
+      //鏂板銆佺紪杈戙�佸垹闄ゃ�佹壒閲忓垹闄ゆ搷浣滄敼鍙樻暟鎹悗鍒锋柊鍏宠仈鐨勭粍浠剁殑鐩戝惉灞炴��
+      // alterFlag: ""
+    }
+  },
+  created() {
+  },
+  methods: {
+    add() {
+      this.edit({});
+    },
+    edit(record) {
+      this.loadTreeData();
+      this.form.resetFields();
+      this.model = Object.assign({}, record);
+      this.model.departId = this.departId
+      this.visible = true;
+      this.disableSubmit = false;
+      this.$nextTick(() => {
+        this.form.setFieldsValue(pick(this.model, 'num', 'name', 'remark'))
+      });
+    },
+    close() {
+      this.$emit('close');
+      this.visible = false;
+    },
+    handleOk() {
+      const that = this;
+      // 瑙﹀彂琛ㄥ崟楠岃瘉
+      this.form.validateFields((err, values) => {
+        if (!err) {
+          that.confirmLoading = true;
+          let formData = Object.assign(this.model, values);
+          let obj;
+          if (!this.model.id) {
+            obj = postAction(this.url.add, formData);
+          } else {
+            obj = requestPut(this.url.edit, formData, { id: this.model.id });
+          }
+          obj.then((res) => {
+            if (res.success) {
+              that.$message.success(res.message);
+              that.$emit('ok');
+              that.alterFlag = new Date()
+            } else {
+              that.$message.warning(res.message);
+            }
+          }).finally(() => {
+            that.confirmLoading = false;
+            that.close();
+          })
+        }
+      })
+    },
+
+    loadTreeData() {
+      var that = this;
+      queryIdTree().then((res) => {
+        if (res.success) {
+          that.departTree = [];
+          for (let i = 0; i < res.result.length; i++) {
+            let temp = res.result[i];
+            that.departTree.push(temp);
+          }
+        }
+
+      })
+    },
+    handleCancel() {
+      this.close()
+    },
+    //楠岃瘉 缂栧彿
+    validateNum(rule, value, callback) {
+      var params = {
+        tableName: 'mom_base_team',
+        fieldName: 'num',
+        fieldVal: value,
+        dataId: this.model.id,
+        //鏁版嵁搴撲腑瀛樺湪瀛楁del_flag骞朵娇鐢ㄨ瀛楁浣滀负鏈垹闄ょ瓥鐣ワ紝鐪熷垹闄わ細false 鍋囧垹闄わ細true
+        delFlag: 'true',
+      };
+      duplicateCheck(params).then((res) => {
+        if (res.success) {
+          callback();
+        } else {
+          callback("缂栧彿宸插瓨鍦�!");
+        }
+      })
+    },
+    //楠岃瘉 鍚嶇О
+    validateName(rule, value, callback) {
+      var params = {
+        tableName: 'mom_base_team',
+        fieldName: 'name',
+        fieldVal: value,
+        dataId: this.model.id,
+        //鏁版嵁搴撲腑瀛樺湪瀛楁del_flag骞朵娇鐢ㄨ瀛楁浣滀负鏈垹闄ょ瓥鐣ワ紝鐪熷垹闄わ細false 鍋囧垹闄わ細true
+        delFlag: 'true',
+      };
+      duplicateCheck(params).then((res) => {
+        if (res.success) {
+          callback();
+        } else {
+          callback("鍚嶇О宸插瓨鍦�!");
+        }
+      })
+    },
+  },
+  // watch: {
+  //   alterFlag() {
+  //     this.$bus.$emit('queryTreeData');
+  //   }
+  // }
+}
+</script>
+
+<style scoped>
+.ant-btn {
+  padding: 0 10px;
+  margin-left: 3px;
+}
+
+.ant-form-item-control {
+  line-height: 0px;
+}
+
+/** 涓昏〃鍗曡闂磋窛 */
+.ant-form .ant-form-item {
+  margin-bottom: 10px;
+}
+
+/** Tab椤甸潰琛岄棿璺� */
+.ant-tabs-content .ant-form-item {
+  margin-bottom: 0px;
+}
+</style>
\ No newline at end of file

--
Gitblit v1.9.3