From dfa179b30b76044bc576e68e72b6cf725bddbd2e Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期二, 08 四月 2025 18:13:11 +0800
Subject: [PATCH] 代码初始化

---
 admin/src/views/business/categoryDbhType.vue                                    |    4 
 admin/src/views/system/permission.vue                                           |    1 
 admin/src/views/business/workorderShe.vue                                       |  223 +++++++-------
 admin/src/views/system/dict.vue                                                 |    1 
 admin/src/layouts/TableLayout1.vue                                              |  268 ++++++++--------
 admin/src/views/business/managersDca.vue                                        |    1 
 admin/src/views/system/login-log.vue                                            |    1 
 admin/src/views/business/categorySheType.vue                                    |    4 
 admin/src/views/system/menu.vue                                                 |    1 
 admin/src/views/business/companyMember.vue                                      |    6 
 admin/src/views/business/categoryDcaLocaltion.vue                               |    4 
 admin/src/views/system/user.vue                                                 |    1 
 admin/src/views/business/categoryDbhLocaltion.vue                               |    4 
 admin/src/views/business/company.vue                                            |    2 
 admin/src/views/system/trace-log.vue                                            |    1 
 admin/src/layouts/AppLayout.vue                                                 |    3 
 admin/src/layouts/TableLayout.vue                                               |   66 ++-
 admin/src/views/business/categorySheLocaltion.vue                               |    4 
 server/src/main/java/com/doumee/service/business/impl/WorkorderServiceImpl.java |   46 +-
 admin/src/views/business/managersShe.vue                                        |    1 
 admin/src/views/business/categoryDcaProblem.vue                                 |    4 
 admin/src/components/business/OperaWorkorderDetailSheWindow.vue                 |  203 +++++++++++++
 admin/src/views/business/managersSheNotice.vue                                  |    1 
 admin/src/views/system/job-log.vue                                              |    1 
 server/src/main/java/com/doumee/dao/business/model/Workorder.java               |   19 
 admin/src/views/business/managersDcaAuth.vue                                    |    1 
 admin/src/views/system/role.vue                                                 |    1 
 27 files changed, 553 insertions(+), 319 deletions(-)

diff --git a/admin/src/components/business/OperaWorkorderDetailSheWindow.vue b/admin/src/components/business/OperaWorkorderDetailSheWindow.vue
new file mode 100644
index 0000000..24ecc6e
--- /dev/null
+++ b/admin/src/components/business/OperaWorkorderDetailSheWindow.vue
@@ -0,0 +1,203 @@
+<template>
+  <GlobalWindow
+    :title="title"
+    :visible.sync="visible"
+    :confirm-working="isWorking"
+    @confirm="confirm"
+  >
+    <el-form :model="form" ref="form" :rules="rules">
+      <el-form-item label="鍒涘缓浜虹紪鐮�" prop="creator">
+        <el-input v-model="form.creator" placeholder="璇疯緭鍏ュ垱寤轰汉缂栫爜" v-trim/>
+      </el-form-item>
+      <el-form-item label="鍒涘缓鏃堕棿" prop="createDate">
+        <el-date-picker v-model="form.createDate" value-format="yyyy-MM-dd" placeholder="璇疯緭鍏ュ垱寤烘椂闂�"></el-date-picker>
+      </el-form-item>
+      <el-form-item label="鏇存柊浜虹紪鐮�" prop="editor">
+        <el-input v-model="form.editor" placeholder="璇疯緭鍏ユ洿鏂颁汉缂栫爜" v-trim/>
+      </el-form-item>
+      <el-form-item label="鏇存柊鏃堕棿" prop="editDate">
+        <el-date-picker v-model="form.editDate" value-format="yyyy-MM-dd" placeholder="璇疯緭鍏ユ洿鏂版椂闂�"></el-date-picker>
+      </el-form-item>
+      <el-form-item label="鏄惁鍒犻櫎0鍚� 1鏄�" prop="isdeleted">
+        <el-input v-model="form.isdeleted" placeholder="璇疯緭鍏ユ槸鍚﹀垹闄�0鍚� 1鏄�" v-trim/>
+      </el-form-item>
+      <el-form-item label="鎵�灞炲垎绫荤紪锛堝叧鑱攃ategory)" prop="categoryId">
+        <el-input v-model="form.categoryId" placeholder="璇疯緭鍏ユ墍灞炲垎绫荤紪锛堝叧鑱攃ategory)" v-trim/>
+      </el-form-item>
+      <el-form-item label="澶囨敞" prop="remark">
+        <el-input v-model="form.remark" placeholder="璇疯緭鍏ュ娉�" v-trim/>
+      </el-form-item>
+      <el-form-item label="鐘舵�� 0寰呯‘璁�/寰呭垵瀹� 1寰呭垎閰�/寰呯粓瀹� 2寰呭鐞�  3 宸叉挙鍥� 4宸插鐞�" prop="status">
+        <el-input v-model="form.status" placeholder="璇疯緭鍏ョ姸鎬� 0寰呯‘璁�/寰呭垵瀹� 1寰呭垎閰�/寰呯粓瀹� 2寰呭鐞�  3 宸叉挙鍥� 4宸插鐞�" v-trim/>
+      </el-form-item>
+      <el-form-item label="鎺掑簭鐮�" prop="sortnum">
+        <el-input v-model="form.sortnum" placeholder="璇疯緭鍏ユ帓搴忕爜" v-trim/>
+      </el-form-item>
+      <el-form-item label="绫诲瀷 0浣嶇疆璐d换浜� 1鐝暱 2鐗╀笟涓荤 3宸ョ▼甯� 4SHE璐熻矗浜� 5SHE宸ュ崟閭鎶勯�佷汉" prop="type">
+        <el-input v-model="form.type" placeholder="璇疯緭鍏ョ被鍨� 0浣嶇疆璐d换浜� 1鐝暱 2鐗╀笟涓荤 3宸ョ▼甯� 4SHE璐熻矗浜� 5SHE宸ュ崟閭鎶勯�佷汉" v-trim/>
+      </el-form-item>
+      <el-form-item label="涓婃姤浜哄憳缂栫爜锛堝叧鑱攎ember)" prop="memberId">
+        <el-input v-model="form.memberId" placeholder="璇疯緭鍏ヤ笂鎶ヤ汉鍛樼紪鐮侊紙鍏宠仈member)" v-trim/>
+      </el-form-item>
+      <el-form-item label="閮ㄩ棬缂栫爜" prop="companyId">
+        <el-input v-model="form.companyId" placeholder="璇疯緭鍏ラ儴闂ㄧ紪鐮�" v-trim/>
+      </el-form-item>
+      <el-form-item label="涓婃姤鏃堕棿" prop="submitDate">
+        <el-input v-model="form.submitDate" placeholder="璇疯緭鍏ヤ笂鎶ユ椂闂�" v-trim/>
+      </el-form-item>
+      <el-form-item label="SHE娑夊強浜哄憳绫诲瀷 0鏈汉 1鍚屼簨 2渚涘簲鍟�" prop="memberType">
+        <el-input v-model="form.memberType" placeholder="璇疯緭鍏HE娑夊強浜哄憳绫诲瀷 0鏈汉 1鍚屼簨 2渚涘簲鍟�" v-trim/>
+      </el-form-item>
+      <el-form-item label="SHE娑夊強浜哄憳浼佷笟缂栫爜闆嗗悎" prop="memberQwids">
+        <el-input v-model="form.memberQwids" placeholder="璇疯緭鍏HE娑夊強浜哄憳浼佷笟缂栫爜闆嗗悎" v-trim/>
+      </el-form-item>
+      <el-form-item label="SHE娑夊強浜哄憳渚涘簲鍟嗛泦鍚�" prop="memberNames">
+        <el-input v-model="form.memberNames" placeholder="璇疯緭鍏HE娑夊強浜哄憳渚涘簲鍟嗛泦鍚�" v-trim/>
+      </el-form-item>
+      <el-form-item label="鍙戠敓鍦扮偣/浣嶇疆缂栫爜锛堝叧鑱攃ategory锛�" prop="localtionId">
+        <el-input v-model="form.localtionId" placeholder="璇疯緭鍏ュ彂鐢熷湴鐐�/浣嶇疆缂栫爜锛堝叧鑱攃ategory锛�" v-trim/>
+      </el-form-item>
+      <el-form-item label="鏄惁澶栭儴灏卞尰 0鍚� 1鏄�" prop="outJiuyi">
+        <el-input v-model="form.outJiuyi" placeholder="璇疯緭鍏ユ槸鍚﹀閮ㄥ氨鍖� 0鍚� 1鏄�" v-trim/>
+      </el-form-item>
+      <el-form-item label="鏄惁鍖诲姟瀹� 0鍚� 1鏄�" prop="isYiwushi">
+        <el-input v-model="form.isYiwushi" placeholder="璇疯緭鍏ユ槸鍚﹀尰鍔″ 0鍚� 1鏄�" v-trim/>
+      </el-form-item>
+      <el-form-item label="鏄惁鍙椾激 0鍚� 1鏄�" prop="isHurted">
+        <el-input v-model="form.isHurted" placeholder="璇疯緭鍏ユ槸鍚﹀彈浼� 0鍚� 1鏄�" v-trim/>
+      </el-form-item>
+      <el-form-item label="鏄惁鍜屽伐浣滅浉鍏�" prop="workRelated">
+        <el-input v-model="form.workRelated" placeholder="璇疯緭鍏ユ槸鍚﹀拰宸ヤ綔鐩稿叧" v-trim/>
+      </el-form-item>
+      <el-form-item label="浜嬩欢璇存槑" prop="eventInfo">
+        <el-input v-model="form.eventInfo" placeholder="璇疯緭鍏ヤ簨浠惰鏄�" v-trim/>
+      </el-form-item>
+      <el-form-item label="閭欢閫氱煡浜哄憳缂栫爜闆嗗悎" prop="emialMemberIds">
+        <el-input v-model="form.emialMemberIds" placeholder="璇疯緭鍏ラ偖浠堕�氱煡浜哄憳缂栫爜闆嗗悎" v-trim/>
+      </el-form-item>
+      <el-form-item label="浼佷笟寰俊閫氱煡浜哄憳缂栫爜闆嗗悎" prop="qwnoticeMemberIds">
+        <el-input v-model="form.qwnoticeMemberIds" placeholder="璇疯緭鍏ヤ紒涓氬井淇¢�氱煡浜哄憳缂栫爜闆嗗悎" v-trim/>
+      </el-form-item>
+      <el-form-item label="鍙戠幇鏃堕棿" prop="happenTime">
+        <el-input v-model="form.happenTime" placeholder="璇疯緭鍏ュ彂鐜版椂闂�" v-trim/>
+      </el-form-item>
+      <el-form-item label="椋庨櫓绫诲瀷(鍏宠仈category锛�" prop="typeId">
+        <el-date-picker v-model="form.typeId" value-format="yyyy-MM-dd" placeholder="璇疯緭鍏ラ闄╃被鍨�(鍏宠仈category锛�"></el-date-picker>
+      </el-form-item>
+      <el-form-item label="椋庨櫓鎻忚堪" prop="riskInfo">
+        <el-input v-model="form.riskInfo" placeholder="璇疯緭鍏ラ闄╂弿杩�" v-trim/>
+      </el-form-item>
+      <el-form-item label="褰撳墠鐗╀笟涓荤缂栫爜锛堝叧鑱攎ember锛�" prop="managerId">
+        <el-input v-model="form.managerId" placeholder="璇疯緭鍏ュ綋鍓嶇墿涓氫富绠$紪鐮侊紙鍏宠仈member锛�" v-trim/>
+      </el-form-item>
+      <el-form-item label="褰撳墠澶勭悊浜哄憳缂栫爜锛堝叧鑱攎ember)" prop="dealerId">
+        <el-input v-model="form.dealerId" placeholder="璇疯緭鍏ュ綋鍓嶅鐞嗕汉鍛樼紪鐮侊紙鍏宠仈member)" v-trim/>
+      </el-form-item>
+      <el-form-item label="鍒嗛厤鏃堕棿" prop="dispatchTime">
+        <el-date-picker v-model="form.dispatchTime" value-format="yyyy-MM-dd" placeholder="璇疯緭鍏ュ垎閰嶆椂闂�"></el-date-picker>
+      </el-form-item>
+      <el-form-item label="鍒嗛厤澶囨敞" prop="dispatchInfo">
+        <el-input v-model="form.dispatchInfo" placeholder="璇疯緭鍏ュ垎閰嶅娉�" v-trim/>
+      </el-form-item>
+      <el-form-item label="澶勭悊鏃堕棿" prop="dealTime">
+        <el-date-picker v-model="form.dealTime" value-format="yyyy-MM-dd" placeholder="璇疯緭鍏ュ鐞嗘椂闂�"></el-date-picker>
+      </el-form-item>
+      <el-form-item label="澶勭悊澶囨敞" prop="dealInfo">
+        <el-input v-model="form.dealInfo" placeholder="璇疯緭鍏ュ鐞嗗娉�" v-trim/>
+      </el-form-item>
+      <el-form-item label="DCA闂缂栫爜" prop="problemId">
+        <el-input v-model="form.problemId" placeholder="璇疯緭鍏CA闂缂栫爜" v-trim/>
+      </el-form-item>
+      <el-form-item label="DCA闂鏁伴噺" prop="problemNum">
+        <el-input v-model="form.problemNum" placeholder="璇疯緭鍏CA闂鏁伴噺" v-trim/>
+      </el-form-item>
+      <el-form-item label="浣嶇疆鍦扮偣璺緞鍚嶇О" prop="locationName">
+        <el-input v-model="form.locationName" placeholder="璇疯緭鍏ヤ綅缃湴鐐硅矾寰勫悕绉�" v-trim/>
+      </el-form-item>
+      <el-form-item label="宸ュ崟鍙�" prop="code">
+        <el-input v-model="form.code" placeholder="璇疯緭鍏ュ伐鍗曞彿" v-trim/>
+      </el-form-item>
+    </el-form>
+  </GlobalWindow>
+</template>
+
+<script>
+import BaseOpera from '@/components/base/BaseOpera'
+import GlobalWindow from '@/components/common/GlobalWindow'
+export default {
+  name: 'OperaWorkorderWindow',
+  extends: BaseOpera,
+  components: { GlobalWindow },
+  data () {
+    return {
+      // 琛ㄥ崟鏁版嵁
+      form: {
+        id: null,
+        creator: '',
+        createDate: '',
+        editor: '',
+        editDate: '',
+        isdeleted: '',
+        categoryId: '',
+        remark: '',
+        status: '',
+        sortnum: '',
+        type: '',
+        memberId: '',
+        companyId: '',
+        submitDate: '',
+        memberType: '',
+        memberQwids: '',
+        memberNames: '',
+        localtionId: '',
+        outJiuyi: '',
+        isYiwushi: '',
+        isHurted: '',
+        workRelated: '',
+        eventInfo: '',
+        emialMemberIds: '',
+        qwnoticeMemberIds: '',
+        happenTime: '',
+        typeId: '',
+        riskInfo: '',
+        managerId: '',
+        dealerId: '',
+        dispatchTime: '',
+        dispatchInfo: '',
+        dealTime: '',
+        dealInfo: '',
+        problemId: '',
+        problemNum: '',
+        locationName: '',
+        code: ''
+      },
+      // 楠岃瘉瑙勫垯
+      rules: {
+      }
+    }
+  },
+  created () {
+    this.config({
+      api: '/business/workorder',
+      'field.id': 'id'
+    })
+  },
+  methods:{
+    /**
+     * 鎵撳紑绐楀彛
+     *
+     * @param title 绐楀彛鏍囬
+     * @param target 琛屽璞★紙浠呯紪杈戦渶璇ュ弬鏁帮級
+     */
+    open (title, target) {
+      this.title = title
+      this.visible = true
+      this.$nextTick(() => {
+        for (const key in this.form) {
+          this.form[key] = target[key]
+        }
+      })
+    }
+  }
+}
+</script>
diff --git a/admin/src/layouts/AppLayout.vue b/admin/src/layouts/AppLayout.vue
index 476998f..51bb3e9 100644
--- a/admin/src/layouts/AppLayout.vue
+++ b/admin/src/layouts/AppLayout.vue
@@ -58,13 +58,14 @@
     display: flex;
     flex-direction: column;
     overflow: hidden;
+    overflow-y: hidden !important;
     & > header {
       height: $header-height;
       flex-shrink: 0;
     }
     & > main {
       height: 100%;
-      overflow-y: auto;
+    /*  overflow-y: auto;*/
     }
   }
 }
diff --git a/admin/src/layouts/TableLayout.vue b/admin/src/layouts/TableLayout.vue
index 287478d..28b3a81 100644
--- a/admin/src/layouts/TableLayout.vue
+++ b/admin/src/layouts/TableLayout.vue
@@ -1,14 +1,15 @@
 <template>
-  <div class="table-layout">
+  <div class="table-layout" >
     <!-- 澶撮儴 -->
-    <div v-if="withBreadcrumb" class="table-header">
-      <el-breadcrumb separator="/">
-        <el-breadcrumb-item v-for="path in paths" :key="path">{{path}}</el-breadcrumb-item>
-      </el-breadcrumb>
-    </div>
+    <!--    <div v-if="withBreadcrumb" class="table-header">
+          <el-breadcrumb separator="/">
+            <el-breadcrumb-item v-for="path in paths" :key="path">{{path}}</el-breadcrumb-item>
+          </el-breadcrumb>
+        </div>-->
+    <!-- <div style="height:10px;"></div> -->
     <Profile :roles="roles" :permissions="permissions">
       <!-- 鎼滅储琛ㄥ崟閮ㄥ垎 -->
-      <div class="table-search-form">
+      <div class="table-search-form" ref="tableSearchForm">
         <div class="form-wrap">
           <slot name="search-form"></slot>
         </div>
@@ -49,19 +50,39 @@
     paths () {
       return this.$route.meta.paths
     }
+  },
+  mounted() {
+
   }
 }
 </script>
 
 <style lang="scss">
 @import "@/assets/style/variables.scss";
+/*.el-container .el-main[data-v-5b01577c] {
+  width: 100%;
+  height: calc(100vh - 68px);
+  padding: 0;
+  position: relative;
+  display: flex
+;
+  flex-direction: column;
+  overflow-y: scroll;
+  overflow-x: hidden;
+  scrollbar-width: none;
+  -ms-overflow-style: none;
+}*/
 .table-layout {
-  height: 100%;
+  height: calc(100%-10px);
   display: flex;
   flex-direction: column;
+  margin-top: 10px;
   .not-allow-wrap {
     padding-top: 0;
   }
+}
+.danger-column{
+  color: red;
 }
 // 澶撮儴
 .table-header {
@@ -87,13 +108,11 @@
   display: flex;
   flex-wrap: wrap;
   padding: 0 16px;
+  margin-bottom: 10px;
   .form-wrap {
     padding: 16px 16px 0 16px;
     width: 100%;
     background: #fff;
-    .el-form-item__content {
-      min-width: 192px;
-    }
     &:empty {
       padding: 0;
     }
@@ -106,10 +125,9 @@
 }
 // 鍒楄〃鍜屽垎椤�
 .table-content {
-  margin-top: 10px;
   padding: 0 16px;
   .table-wrap {
-    padding: 16px 16px 0 16px;
+    padding: 16px 16px 60px 16px;
     background: #fff;
     // 宸ュ叿鏍�
     .toolbar {
@@ -122,24 +140,17 @@
     }
     // 琛ㄦ牸
     .el-table {
+      //min-height: 300px;
+      overflow: auto;
       th {
         .cell {
           color: #666;
-        }
-      }
-      td {
-        .cell {
-          min-height: 32px;
-          line-height: 20px;
-          display: flex;
-          align-items: center;
         }
       }
       // 澶嶉�夋鍒�
       .el-table-column--selection {
         .cell {
           text-align: center !important;
-          justify-content: center;
         }
       }
       // 澶氬�煎瓧娈�
@@ -164,8 +175,17 @@
     }
     // 鍒嗛〉
     .table-pagination {
-      padding: 16px 0;
+      margin-left: 0px;
+      padding: 16px 0px;
       text-align: left;
+      display: block;
+      z-index: 100;
+      width: -webkit-fill-available;
+      /* width: 80%; */
+      position: fixed;
+      bottom: 0px;
+      background-color: white;
+      margin-right: 50px;
     }
   }
 }
diff --git a/admin/src/layouts/TableLayout1.vue b/admin/src/layouts/TableLayout1.vue
index aaee5ed..9cd8065 100644
--- a/admin/src/layouts/TableLayout1.vue
+++ b/admin/src/layouts/TableLayout1.vue
@@ -1,34 +1,34 @@
 <template>
-    <div class="table-layout">
-        <!-- 澶撮儴 -->
-<!--        <div v-if="withBreadcrumb" class="table-header">
-            <el-breadcrumb separator="/">
-                <el-breadcrumb-item v-for="path in paths" :key="path">{{path}}</el-breadcrumb-item>
-            </el-breadcrumb>
-        </div>-->
-        <Profile :roles="roles" :permissions="permissions">
-            <div style="width: 100%; height: 100%; padding: 0 16px; box-sizing: border-box; display: flex; align-items: center; justify-content: space-between;">
-                <div style="width: 240px; height: 100%; flex-shrink: 0; background: #ffffff;">
-                    <slot name="menu"></slot>
-                </div>
-                <div style="width: calc(100% - 250px); height: 100%">
-                    <!-- 鎼滅储琛ㄥ崟閮ㄥ垎 -->
-                    <div class="table-search-form" style="padding: 0 !important;">
-                        <div class="form-wrap">
-                            <slot name="search-form"></slot>
-                        </div>
-                    </div>
-                    <slot name="space"></slot>
-                    <!-- 鍒楄〃鍜屽垎椤甸儴鍒� -->
-                    <div class="table-content" style="padding: 0 !important;">
-                        <div class="table-wrap">
-                            <slot name="table-wrap"></slot>
-                        </div>
-                    </div>
-                </div>
+  <div class="table-layout">
+    <!-- 澶撮儴 -->
+    <!--        <div v-if="withBreadcrumb" class="table-header">
+                <el-breadcrumb separator="/">
+                    <el-breadcrumb-item v-for="path in paths" :key="path">{{path}}</el-breadcrumb-item>
+                </el-breadcrumb>
+            </div>-->
+    <Profile :roles="roles" :permissions="permissions">
+      <div style="width: 100%; height: 100%; padding: 0 16px; box-sizing: border-box; display: flex; align-items: center; justify-content: space-between;">
+        <div style="width: 240px; height: 100%; flex-shrink: 0; background: #ffffff;">
+          <slot name="menu"></slot>
+        </div>
+        <div style="width: calc(100% - 250px); height: 100%">
+          <!-- 鎼滅储琛ㄥ崟閮ㄥ垎 -->
+          <div class="table-search-form" style="padding: 0 !important;">
+            <div class="form-wrap">
+              <slot name="search-form"></slot>
             </div>
-        </Profile>
-    </div>
+          </div>
+          <slot name="space"></slot>
+          <!-- 鍒楄〃鍜屽垎椤甸儴鍒� -->
+          <div class="table-content" style="padding: 0 !important;">
+            <div class="table-wrap">
+              <slot name="table-wrap"></slot>
+            </div>
+          </div>
+        </div>
+      </div>
+    </Profile>
+  </div>
 </template>
 
 <script>
@@ -60,116 +60,116 @@
 </script>
 
 <style lang="scss">
-    @import "@/assets/style/variables.scss";
-    .table-layout {
-        height: 100%;
-        display: flex;
-        flex-direction: column;
-        .not-allow-wrap {
-            padding-top: 0;
-        }
+@import "@/assets/style/variables.scss";
+.table-layout {
+  height: 100%;
+  display: flex;
+  flex-direction: column;
+  .not-allow-wrap {
+    padding-top: 20;
+  }
+}
+// 澶撮儴
+.table-header {
+  overflow: hidden;
+  padding: 12px 16px;
+  flex-shrink: 0;
+  // 椤甸潰璺緞
+  .el-breadcrumb {
+    .el-breadcrumb__item {
+      .el-breadcrumb__inner {
+        color: #ABB2BE;
+        font-size: 12px;
+      }
+      &:last-of-type .el-breadcrumb__inner {
+        color: #606263;
+        font-size: 14px;
+      }
     }
-    // 澶撮儴
-    .table-header {
-        overflow: hidden;
-        padding: 12px 16px;
-        flex-shrink: 0;
-        // 椤甸潰璺緞
-        .el-breadcrumb {
-            .el-breadcrumb__item {
-                .el-breadcrumb__inner {
-                    color: #ABB2BE;
-                    font-size: 12px;
-                }
-                &:last-of-type .el-breadcrumb__inner {
-                    color: #606263;
-                    font-size: 14px;
-                }
-            }
-        }
+  }
+}
+// 鎼滅储
+.table-search-form {
+  display: flex;
+  flex-wrap: wrap;
+  /*padding: 0 16px;*/
+  /*box-sizing: border-box;*/
+  .form-wrap {
+    padding: 16px 16px 0 16px;
+    width: 100%;
+    background: #fff;
+    &:empty {
+      padding: 0;
     }
-    // 鎼滅储
-    .table-search-form {
-        display: flex;
-        flex-wrap: wrap;
-        /*padding: 0 16px;*/
-        /*box-sizing: border-box;*/
-        .form-wrap {
-            padding: 16px 16px 0 16px;
-            width: 100%;
-            background: #fff;
-            &:empty {
-                padding: 0;
-            }
+  }
+  section {
+    display: inline-block;
+    margin-left: 16px;
+    margin-bottom: 18px;
+  }
+}
+// 鍒楄〃鍜屽垎椤�
+.table-content {
+  /*padding: 0 16px;*/
+  .table-wrap {
+    padding: 16px 16px 60px 16px;
+    background: #fff;
+    // 宸ュ叿鏍�
+    .toolbar {
+      border-bottom: 1px solid #eee;
+      padding-bottom: 10px;
+      li {
+        display: inline-block;
+        margin-right: 6px;
+      }
+    }
+    // 琛ㄦ牸
+    .el-table {
+      th {
+        .cell {
+          color: #666;
         }
-        section {
+      }
+      // 澶嶉�夋鍒�
+      .el-table-column--selection {
+        .cell {
+          text-align: center !important;
+        }
+      }
+      // 澶氬�煎瓧娈�
+      .table-column-strings {
+        ul {
+          li {
             display: inline-block;
-            margin-left: 16px;
-            margin-bottom: 18px;
+            background: #eee;
+            border-radius: 3px;
+            padding: 0 3px;
+            margin-right: 3px;
+            margin-bottom: 3px;
+          }
         }
+      }
+      // 鏍戣瑙夎皟鏁�
+      [class*=el-table__row--level] .el-table__expand-icon {
+        position: relative;
+        left: -6px;
+        margin-right: 0;
+      }
     }
-    // 鍒楄〃鍜屽垎椤�
-    .table-content {
-        /*padding: 0 16px;*/
-        .table-wrap {
-            padding: 16px 16px 60px 16px;
-            background: #fff;
-            // 宸ュ叿鏍�
-            .toolbar {
-                border-bottom: 1px solid #eee;
-                padding-bottom: 10px;
-                li {
-                    display: inline-block;
-                    margin-right: 6px;
-                }
-            }
-            // 琛ㄦ牸
-            .el-table {
-                th {
-                    .cell {
-                        color: #666;
-                    }
-                }
-                // 澶嶉�夋鍒�
-                .el-table-column--selection {
-                    .cell {
-                        text-align: center !important;
-                    }
-                }
-                // 澶氬�煎瓧娈�
-                .table-column-strings {
-                    ul {
-                        li {
-                            display: inline-block;
-                            background: #eee;
-                            border-radius: 3px;
-                            padding: 0 3px;
-                            margin-right: 3px;
-                            margin-bottom: 3px;
-                        }
-                    }
-                }
-                // 鏍戣瑙夎皟鏁�
-                [class*=el-table__row--level] .el-table__expand-icon {
-                    position: relative;
-                    left: -6px;
-                    margin-right: 0;
-                }
-            }
-            // 鍒嗛〉
-            .table-pagination {
-              margin-left: 0px;
-              padding: 16px 0px ;
-              text-align: left;
-              display: block;
-              z-index: 100;
-              width: -webkit-fill-available;
-              /* width: 80%; */
-               position: fixed;
-              bottom: 0px;
-              background-color: white;
-              margin-right: 50px;
-            }
-        }
+    // 鍒嗛〉
+    .table-pagination {
+      margin-left: 0px;
+      padding: 16px 0px ;
+      text-align: left;
+      display: block;
+      z-index: 100;
+      width: -webkit-fill-available;
+      /* width: 80%; */
+      position: fixed;
+      bottom: 0px;
+      background-color: white;
+      margin-right: 50px;
     }
+  }
+}
 </style>
diff --git a/admin/src/views/business/categoryDbhLocaltion.vue b/admin/src/views/business/categoryDbhLocaltion.vue
index 9ef4df0..81f2068 100644
--- a/admin/src/views/business/categoryDbhLocaltion.vue
+++ b/admin/src/views/business/categoryDbhLocaltion.vue
@@ -17,7 +17,7 @@
       <div
         style="width: 100%; height: 50px; background: rgba(242, 242, 242, 1); line-height: 50px; text-align: center; font-size: 14px;">
         璺岀粖婊戦闄╁彂鐢熷湴鐐�</div>
-      <div style="width: 100%; height: calc(100vh - 170px); overflow-y: scroll;">
+      <div style="width: 100%; height: calc(100vh - 130px); overflow-y: scroll;">
         <Tree :list="treeList" :alllist="treeList"  :defaultProps="{ name: 'name', status: 'fsStatus', children: 'childList', id: 'id' }"
           @callback="callback" />
       </div>
@@ -30,7 +30,7 @@
                        v-permissions="['business:category:create']">鏂板缓</el-button></li>
         <li><el-button type="danger" @click="deleteByIdInBatch(true,getfindTreePage)" icon="el-icon-delete" v-permissions="['business:category:delete']">鎵归噺鍒犻櫎</el-button></li>
       </ul>
-      <el-table   v-loading="isWorking.search" :data="tableData.list" stripe @selection-change="handleSelectionChange">
+      <el-table :height="tableHeightNew"  v-loading="isWorking.search" :data="tableData.list" stripe @selection-change="handleSelectionChange">
         <el-table-column type="selection" width="55"></el-table-column>
         <el-table-column prop="name" label="鍚嶇О" min-width="100px"></el-table-column>
         <el-table-column prop="parentName" label="鐖剁骇" min-width="150px"></el-table-column>
diff --git a/admin/src/views/business/categoryDbhType.vue b/admin/src/views/business/categoryDbhType.vue
index c483c46..71ab6b9 100644
--- a/admin/src/views/business/categoryDbhType.vue
+++ b/admin/src/views/business/categoryDbhType.vue
@@ -17,7 +17,7 @@
       <div
         style="width: 100%; height: 50px; background: rgba(242, 242, 242, 1); line-height: 50px; text-align: center; font-size: 14px;">
         璺岀粖婊戦闄╃被鍨�</div>
-      <div style="width: 100%; height: calc(100vh - 170px); overflow-y: scroll;">
+      <div style="width: 100%; height: calc(100vh - 130px); overflow-y: scroll;">
         <Tree :list="treeList" :alllist="treeList"  :defaultProps="{ name: 'name', status: 'fsStatus', children: 'childList', id: 'id' }"
           @callback="callback" />
       </div>
@@ -30,7 +30,7 @@
                        v-permissions="['business:category:create']">鏂板缓</el-button></li>
         <li><el-button type="danger" @click="deleteByIdInBatch(true,getfindTreePage)" icon="el-icon-delete" v-permissions="['business:category:delete']">鎵归噺鍒犻櫎</el-button></li>
       </ul>
-      <el-table   v-loading="isWorking.search" :data="tableData.list" stripe @selection-change="handleSelectionChange">
+      <el-table  :height="tableHeightNew" v-loading="isWorking.search" :data="tableData.list" stripe @selection-change="handleSelectionChange">
         <el-table-column type="selection" width="55"></el-table-column>
         <el-table-column prop="name" label="鍚嶇О" min-width="100px"></el-table-column>
         <el-table-column prop="parentName" label="鐖剁骇" min-width="150px"></el-table-column>
diff --git a/admin/src/views/business/categoryDcaLocaltion.vue b/admin/src/views/business/categoryDcaLocaltion.vue
index 16d83c9..d4c63a6 100644
--- a/admin/src/views/business/categoryDcaLocaltion.vue
+++ b/admin/src/views/business/categoryDcaLocaltion.vue
@@ -17,7 +17,7 @@
       <div
         style="width: 100%; height: 50px; background: rgba(242, 242, 242, 1); line-height: 50px; text-align: center; font-size: 14px;">
         DCA浜嬩欢浣嶇疆</div>
-      <div style="width: 100%; height: calc(100vh - 170px); overflow-y: scroll;">
+      <div style="width: 100%; height: calc(100vh - 130px); overflow-y: scroll;">
         <Tree :list="treeList" :alllist="treeList"  :defaultProps="{ name: 'name', status: 'fsStatus', children: 'childList', id: 'id' }"
           @callback="callback" />
       </div>
@@ -30,7 +30,7 @@
                        v-permissions="['business:category:create']">鏂板缓</el-button></li>
         <li><el-button type="danger" @click="deleteByIdInBatch(true,getfindTreePage)" icon="el-icon-delete" v-permissions="['business:category:delete']">鎵归噺鍒犻櫎</el-button></li>
       </ul>
-      <el-table   v-loading="isWorking.search" :data="tableData.list" stripe @selection-change="handleSelectionChange">
+      <el-table  :height="tableHeightNew" v-loading="isWorking.search" :data="tableData.list" stripe @selection-change="handleSelectionChange">
         <el-table-column type="selection" width="55"></el-table-column>
         <el-table-column prop="name" label="鍚嶇О" min-width="100px"></el-table-column>
         <el-table-column prop="parentName" label="鐖剁骇" min-width="150px"></el-table-column>
diff --git a/admin/src/views/business/categoryDcaProblem.vue b/admin/src/views/business/categoryDcaProblem.vue
index 1149c72..55f6eae 100644
--- a/admin/src/views/business/categoryDcaProblem.vue
+++ b/admin/src/views/business/categoryDcaProblem.vue
@@ -17,7 +17,7 @@
       <div
         style="width: 100%; height: 50px; background: rgba(242, 242, 242, 1); line-height: 50px; text-align: center; font-size: 14px;">
         DCA涓婚</div>
-      <div style="width: 100%; height: calc(100vh - 170px); overflow-y: scroll;">
+      <div style="width: 100%; height: calc(100vh - 130px); overflow-y: scroll;">
         <Tree :list="treeList" :alllist="treeList"  :defaultProps="{ name: 'name', status: 'fsStatus', children: 'childList', id: 'id' }"
           @callback="callback" />
       </div>
@@ -30,7 +30,7 @@
                        v-permissions="['business:category:create']">鏂板缓</el-button></li>
         <li><el-button type="danger" @click="deleteByIdInBatch(true,getfindTreePage)" icon="el-icon-delete" v-permissions="['business:category:delete']">鎵归噺鍒犻櫎</el-button></li>
       </ul>
-      <el-table   v-loading="isWorking.search" :data="tableData.list" stripe @selection-change="handleSelectionChange">
+      <el-table  :height="tableHeightNew" v-loading="isWorking.search" :data="tableData.list" stripe @selection-change="handleSelectionChange">
         <el-table-column type="selection" width="55"></el-table-column>
         <el-table-column prop="name" label="鍚嶇О" min-width="100px"></el-table-column>
         <el-table-column prop="parentName" label="鎵�灞炵埗绾�" min-width="150px"></el-table-column>
diff --git a/admin/src/views/business/categorySheLocaltion.vue b/admin/src/views/business/categorySheLocaltion.vue
index 4437fdc..ab86ac3 100644
--- a/admin/src/views/business/categorySheLocaltion.vue
+++ b/admin/src/views/business/categorySheLocaltion.vue
@@ -17,7 +17,7 @@
       <div
         style="width: 100%; height: 50px; background: rgba(242, 242, 242, 1); line-height: 50px; text-align: center; font-size: 14px;">
         SHE浜嬩欢鍙戠敓鍦扮偣</div>
-      <div style="width: 100%; height: calc(100vh - 170px); overflow-y: scroll;">
+      <div style="width: 100%; height: calc(100vh - 130px); overflow-y: scroll;">
         <Tree :list="treeList" :alllist="treeList"  :defaultProps="{ name: 'name', status: 'fsStatus', children: 'childList', id: 'id' }"
           @callback="callback" />
       </div>
@@ -30,7 +30,7 @@
                        v-permissions="['business:category:create']">鏂板缓</el-button></li>
         <li><el-button type="danger" @click="deleteByIdInBatch(true,getfindTreePage)" icon="el-icon-delete" v-permissions="['business:category:delete']">鎵归噺鍒犻櫎</el-button></li>
       </ul>
-      <el-table   v-loading="isWorking.search" :data="tableData.list" stripe @selection-change="handleSelectionChange">
+      <el-table  :height="tableHeightNew" v-loading="isWorking.search" :data="tableData.list" stripe @selection-change="handleSelectionChange">
         <el-table-column type="selection" width="55"></el-table-column>
         <el-table-column prop="name" label="鍚嶇О" min-width="100px"></el-table-column>
         <el-table-column prop="parentName" label="鐖剁骇" min-width="150px"></el-table-column>
diff --git a/admin/src/views/business/categorySheType.vue b/admin/src/views/business/categorySheType.vue
index 071108c..04f5ecc 100644
--- a/admin/src/views/business/categorySheType.vue
+++ b/admin/src/views/business/categorySheType.vue
@@ -17,7 +17,7 @@
       <div
         style="width: 100%; height: 50px; background: rgba(242, 242, 242, 1); line-height: 50px; text-align: center; font-size: 14px;">
         浼ゅ绫诲瀷</div>
-      <div style="width: 100%; height: calc(100vh - 170px); overflow-y: scroll;">
+      <div style="width: 100%; height: calc(100vh - 130px); overflow-y: scroll;">
         <Tree :list="treeList" :alllist="treeList"  :defaultProps="{ name: 'name', status: 'fsStatus', children: 'childList', id: 'id' }"
           @callback="callback" />
       </div>
@@ -30,7 +30,7 @@
                        v-permissions="['business:category:create']">鏂板缓</el-button></li>
         <li><el-button type="danger" @click="deleteByIdInBatch(true,getfindTreePage)" icon="el-icon-delete" v-permissions="['business:category:delete']">鎵归噺鍒犻櫎</el-button></li>
       </ul>
-      <el-table   v-loading="isWorking.search" :data="tableData.list" stripe @selection-change="handleSelectionChange">
+      <el-table  :height="tableHeightNew" v-loading="isWorking.search" :data="tableData.list" stripe @selection-change="handleSelectionChange">
         <el-table-column type="selection" width="55"></el-table-column>
         <el-table-column prop="name" label="鍚嶇О" min-width="100px"></el-table-column>
         <el-table-column prop="parentName" label="鐖剁骇" min-width="150px"></el-table-column>
diff --git a/admin/src/views/business/company.vue b/admin/src/views/business/company.vue
index ff6ea36..5b50d07 100644
--- a/admin/src/views/business/company.vue
+++ b/admin/src/views/business/company.vue
@@ -4,7 +4,7 @@
       <ul class="toolbar" v-permissions="['business:company:create', 'business:company:sync']">
         <li><el-button type="primary" v-permissions="['business:company:create']" :loading="loading"  @click="synchronous()">鍏ㄩ噺鍚屾浼佷笟寰俊缁勭粐</el-button></li>
       </ul>
-      <el-table  v-loading="isWorking.search" :data="list" stripe
+      <el-table :height="tableHeightNew" v-loading="isWorking.search" :data="list" stripe
                 :tree-props="{ children: 'childList', hasChildren: 'hasChildren' }" row-key="id"
                 @selection-change="handleSelectionChange" default-expand-all>
         <el-table-column type="selection" width="55"></el-table-column>
diff --git a/admin/src/views/business/companyMember.vue b/admin/src/views/business/companyMember.vue
index 47db257..f189d83 100644
--- a/admin/src/views/business/companyMember.vue
+++ b/admin/src/views/business/companyMember.vue
@@ -16,8 +16,8 @@
       <div
         style="width: 100%; height: 50px; background: rgba(242, 242, 242, 1); line-height: 50px; text-align: center; font-size: 14px;">
         浼佷笟缁勭粐</div>
-      <div style="width: 100%; height: calc(100vh - 170px); overflow-y: scroll;">
-        <Tree :list="companyTree" :defaultProps="{ name: 'name', status: 'fsStatus', children: 'childList', id: 'id' }"
+      <div style="width: 100%; height: calc(100vh - 130px); overflow-y: scroll;">
+        <Tree :list="companyTree" :alllist="companyTree" :defaultProps="{ name: 'name', status: 'fsStatus', children: 'childList', id: 'id' }"
           @callback="callback" />
       </div>
     </template>
@@ -30,7 +30,7 @@
             @change="search">鏄惁鍖呭惈涓嬬骇缁勭粐</el-checkbox>
         </li>
       </ul>
-      <el-table   v-loading="isWorking.search" :data="tableData.list" stripe @selection-change="handleSelectionChange">
+      <el-table :height="tableHeightNew"  v-loading="isWorking.search" :data="tableData.list" stripe @selection-change="handleSelectionChange">
         <el-table-column type="selection" width="55"></el-table-column>
         <el-table-column fixed="left" prop="name" label="濮撳悕" min-width="80px">
           <template slot-scope="{row}">
diff --git a/admin/src/views/business/managersDca.vue b/admin/src/views/business/managersDca.vue
index 27e2a1f..f1adef1 100644
--- a/admin/src/views/business/managersDca.vue
+++ b/admin/src/views/business/managersDca.vue
@@ -19,6 +19,7 @@
         <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:managers:delete']">鍒犻櫎</el-button></li>
       </ul>
       <el-table
+          :height="tableHeightNew"
         v-loading="isWorking.search"
         :data="tableData.list"
         stripe
diff --git a/admin/src/views/business/managersDcaAuth.vue b/admin/src/views/business/managersDcaAuth.vue
index 0f9ceb7..0faccb6 100644
--- a/admin/src/views/business/managersDcaAuth.vue
+++ b/admin/src/views/business/managersDcaAuth.vue
@@ -19,6 +19,7 @@
         <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:managers:delete']">鍒犻櫎</el-button></li>
       </ul>
       <el-table
+          :height="tableHeightNew"
         v-loading="isWorking.search"
         :data="tableData.list"
         stripe
diff --git a/admin/src/views/business/managersShe.vue b/admin/src/views/business/managersShe.vue
index 1771908..10c282b 100644
--- a/admin/src/views/business/managersShe.vue
+++ b/admin/src/views/business/managersShe.vue
@@ -19,6 +19,7 @@
         <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:managers:delete']">鍒犻櫎</el-button></li>
       </ul>
       <el-table
+          :height="tableHeightNew"
         v-loading="isWorking.search"
         :data="tableData.list"
         stripe
diff --git a/admin/src/views/business/managersSheNotice.vue b/admin/src/views/business/managersSheNotice.vue
index 03a9f1d..0f8f3a3 100644
--- a/admin/src/views/business/managersSheNotice.vue
+++ b/admin/src/views/business/managersSheNotice.vue
@@ -19,6 +19,7 @@
         <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:managers:delete']">鍒犻櫎</el-button></li>
       </ul>
       <el-table
+          :height="tableHeightNew"
         v-loading="isWorking.search"
         :data="tableData.list"
         stripe
diff --git a/admin/src/views/business/workorderShe.vue b/admin/src/views/business/workorderShe.vue
index 88aba45..4262d3b 100644
--- a/admin/src/views/business/workorderShe.vue
+++ b/admin/src/views/business/workorderShe.vue
@@ -1,31 +1,18 @@
 <template>
   <TableLayout :permissions="['business:workorder:query']">
     <!-- 鎼滅储琛ㄥ崟 -->
-    <SearchFormCollapse slot="search-form">
+    <div slot="search-form">
       <el-form ref="searchForm" :model="searchForm" label-width="100px" inline>
-        <el-form-item label="鎵�灞炲垎绫荤紪锛堝叧鑱攃ategory)" prop="categoryId">
-          <el-input v-model="searchForm.categoryId" placeholder="璇疯緭鍏ユ墍灞炲垎绫荤紪锛堝叧鑱攃ategory)" @keypress.enter.native="search"></el-input>
+        <el-form-item label="浼ゅ绫诲瀷" prop="typeId">
+          <el-cascader  v-model="searchForm.categoryList" :options="categorys" @change="handleChangeCategory" :show-all-levels="false"
+                        clearable filterable :props="categoryprops"  >
+            <template slot-scope="{ node, data }">
+              <span>{{ data.name }}</span> <!-- 鑷畾涔夋樉绀哄唴瀹� -->
+            </template>
+          </el-cascader>
         </el-form-item>
-        <el-form-item label="涓婃姤浜哄憳缂栫爜锛堝叧鑱攎ember)" prop="memberId">
-          <el-input v-model="searchForm.memberId" placeholder="璇疯緭鍏ヤ笂鎶ヤ汉鍛樼紪鐮侊紙鍏宠仈member)" @keypress.enter.native="search"></el-input>
-        </el-form-item>
-        <el-form-item label="閮ㄩ棬缂栫爜" prop="companyId">
-          <el-input v-model="searchForm.companyId" placeholder="璇疯緭鍏ラ儴闂ㄧ紪鐮�" @keypress.enter.native="search"></el-input>
-        </el-form-item>
-        <el-form-item label="SHE娑夊強浜哄憳绫诲瀷 0鏈汉 1鍚屼簨 2渚涘簲鍟�" prop="memberType">
-          <el-input v-model="searchForm.memberType" placeholder="璇疯緭鍏HE娑夊強浜哄憳绫诲瀷 0鏈汉 1鍚屼簨 2渚涘簲鍟�" @keypress.enter.native="search"></el-input>
-        </el-form-item>
-        <el-form-item label="SHE娑夊強浜哄憳渚涘簲鍟嗛泦鍚�" prop="memberNames">
-          <el-input v-model="searchForm.memberNames" placeholder="璇疯緭鍏HE娑夊強浜哄憳渚涘簲鍟嗛泦鍚�" @keypress.enter.native="search"></el-input>
-        </el-form-item>
-        <el-form-item label="鍙戠敓鍦扮偣/浣嶇疆缂栫爜锛堝叧鑱攃ategory锛�" prop="localtionId">
-          <el-input v-model="searchForm.localtionId" placeholder="璇疯緭鍏ュ彂鐢熷湴鐐�/浣嶇疆缂栫爜锛堝叧鑱攃ategory锛�" @keypress.enter.native="search"></el-input>
-        </el-form-item>
-        <el-form-item label="椋庨櫓绫诲瀷(鍏宠仈category锛�" prop="typeId">
-          <el-date-picker v-model="searchForm.typeId" value-format="yyyy-MM-dd" placeholder="璇疯緭鍏ラ闄╃被鍨�(鍏宠仈category锛�" @change="search"/>
-        </el-form-item>
-        <el-form-item label="浣嶇疆鍦扮偣璺緞鍚嶇О" prop="locationName">
-          <el-input v-model="searchForm.locationName" placeholder="璇疯緭鍏ヤ綅缃湴鐐硅矾寰勫悕绉�" @keypress.enter.native="search"></el-input>
+        <el-form-item label="涓婃姤浜哄憳" prop="memberName">
+          <el-input v-model="searchForm.memberName" placeholder="浜哄憳濮撳悕鎴栨墜鏈哄彿" @keypress.enter.native="search"></el-input>
         </el-form-item>
         <el-form-item label="宸ュ崟鍙�" prop="code">
           <el-input v-model="searchForm.code" placeholder="璇疯緭鍏ュ伐鍗曞彿" @keypress.enter.native="search"></el-input>
@@ -35,58 +22,69 @@
           <el-button @click="reset">閲嶇疆</el-button>
         </section>
       </el-form>
-    </SearchFormCollapse>
+    </div>
     <!-- 琛ㄦ牸鍜屽垎椤� -->
     <template v-slot:table-wrap>
-      <ul class="toolbar" v-permissions="['business:workorder:create', 'business:workorder:delete']">
-        <li><el-button type="primary" @click="$refs.operaWorkorderWindow.open('鏂板缓宸ュ崟淇℃伅琛�')" icon="el-icon-plus" v-permissions="['business:workorder:create']">鏂板缓</el-button></li>
-        <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['business:workorder:delete']">鍒犻櫎</el-button></li>
+      <ul class="toolbar" v-permissions="['business:workorder:exportExcel']">
+        <li> <el-button type="primary" :loading="isWorking.export" @click="exportExcel">瀵煎嚭</el-button></li>
       </ul>
       <el-table
+        :height="tableHeightNew"
         v-loading="isWorking.search"
         :data="tableData.list"
         stripe
         @selection-change="handleSelectionChange"
       >
-        <el-table-column type="selection" width="55"></el-table-column>
-        <el-table-column prop="id" label="涓婚敭" min-width="100px"></el-table-column>
-        <el-table-column prop="creator" label="鍒涘缓浜虹紪鐮�" min-width="100px"></el-table-column>
-        <el-table-column prop="createDate" label="鍒涘缓鏃堕棿" min-width="100px"></el-table-column>
-        <el-table-column prop="editor" label="鏇存柊浜虹紪鐮�" min-width="100px"></el-table-column>
-        <el-table-column prop="editDate" label="鏇存柊鏃堕棿" min-width="100px"></el-table-column>
-        <el-table-column prop="isdeleted" label="鏄惁鍒犻櫎0鍚� 1鏄�" min-width="100px"></el-table-column>
-        <el-table-column prop="categoryId" label="鎵�灞炲垎绫荤紪锛堝叧鑱攃ategory)" min-width="100px"></el-table-column>
-        <el-table-column prop="remark" label="澶囨敞" min-width="100px"></el-table-column>
-        <el-table-column prop="status" label="鐘舵�� 0寰呯‘璁�/寰呭垵瀹� 1寰呭垎閰�/寰呯粓瀹� 2寰呭鐞�  3 宸叉挙鍥� 4宸插鐞�" min-width="100px"></el-table-column>
-        <el-table-column prop="sortnum" label="鎺掑簭鐮�" min-width="100px"></el-table-column>
-        <el-table-column prop="type" label="绫诲瀷 0浣嶇疆璐d换浜� 1鐝暱 2鐗╀笟涓荤 3宸ョ▼甯� 4SHE璐熻矗浜� 5SHE宸ュ崟閭鎶勯�佷汉" min-width="100px"></el-table-column>
-        <el-table-column prop="memberId" label="涓婃姤浜哄憳缂栫爜锛堝叧鑱攎ember)" min-width="100px"></el-table-column>
-        <el-table-column prop="companyId" label="閮ㄩ棬缂栫爜" min-width="100px"></el-table-column>
+        <el-table-column prop="code"  label="宸ュ崟鍙�" min-width="100px" fixed>
+          <template slot-scope="{row}">
+            <span style="color: #2E68EC;cursor: pointer" @click="$refs.operaWorkorderWindow.open('SHE浜嬩欢宸ュ崟璇︽儏', row)" >{{ row.code || '-'}}</span>
+          </template>
+        </el-table-column>
+        <el-table-column prop="typeName" label="浼ゅ绫诲瀷" min-width="100px"></el-table-column>
         <el-table-column prop="submitDate" label="涓婃姤鏃堕棿" min-width="100px"></el-table-column>
-        <el-table-column prop="memberType" label="SHE娑夊強浜哄憳绫诲瀷 0鏈汉 1鍚屼簨 2渚涘簲鍟�" min-width="100px"></el-table-column>
-        <el-table-column prop="memberQwids" label="SHE娑夊強浜哄憳浼佷笟缂栫爜闆嗗悎" min-width="100px"></el-table-column>
-        <el-table-column prop="memberNames" label="SHE娑夊強浜哄憳渚涘簲鍟嗛泦鍚�" min-width="100px"></el-table-column>
-        <el-table-column prop="localtionId" label="鍙戠敓鍦扮偣/浣嶇疆缂栫爜锛堝叧鑱攃ategory锛�" min-width="100px"></el-table-column>
-        <el-table-column prop="outJiuyi" label="鏄惁澶栭儴灏卞尰 0鍚� 1鏄�" min-width="100px"></el-table-column>
-        <el-table-column prop="isYiwushi" label="鏄惁鍖诲姟瀹� 0鍚� 1鏄�" min-width="100px"></el-table-column>
-        <el-table-column prop="isHurted" label="鏄惁鍙椾激 0鍚� 1鏄�" min-width="100px"></el-table-column>
-        <el-table-column prop="workRelated" label="鏄惁鍜屽伐浣滅浉鍏�" min-width="100px"></el-table-column>
+        <el-table-column prop="status" label="鐘舵��" min-width="100px">
+          <template slot-scope="{row}">
+            <span v-if="row.status ==0">寰呭鐞�</span>
+            <span v-else-if="row.status ==4">宸插鐞�</span>
+            <span v-else-if="row.status ==3">宸插叧闂�</span>
+            <span v-else>澶勭悊涓�</span>
+          </template>
+        </el-table-column>
+        <el-table-column prop="memberName" label="涓婃姤浜哄憳" min-width="100px">
+          <template slot-scope="{row}">
+            <span >{{row.memberName}} - {{row.memberPhone||''}}</span>
+          </template>
+        </el-table-column>
+        <el-table-column prop="companyName" label="鎵�鍦ㄩ儴闂�" min-width="100px"></el-table-column>
+        <el-table-column prop="memberType" label="娑夊強浜哄憳" min-width="100px">
+          <template slot-scope="{row}">
+            <span v-if="row.memberType == 2">渚涘簲鍟�-{{row.memberNames}}</span>
+            <span v-else-if="row.memberType == 1">鍚屼簨-{{row.memberNames}}</span>
+            <span v-else>鏈汉</span>
+          </template>
+        </el-table-column>
+        <el-table-column prop="localtionName" label="鍙戠敓鍦扮偣" min-width="100px"></el-table-column>
+          <el-table-column prop="outJiuyi" label="灏卞尰鎯呭喌" min-width="100px">
+            <template slot-scope="{row}">
+              <span v-if="row.outJiuyi == 1">澶栭儴灏卞尰-
+                  <span v-if="row.isYiwushi == 1">鍖诲姟瀹�-
+                     <span v-if="row.isHurted == 1">鍙椾激</span>
+                     <span v-else>鏈彈浼�</span>
+                  </span>
+                   <span v-else>闈炲尰鍔″</span>
+              </span>
+              <span v-else>闈炲閮ㄥ氨鍖�</span>
+            </template>
+          </el-table-column>
+          <el-table-column prop="workRelated" label="鍜屽伐浣滅浉鍏�" min-width="100px">
+            <template slot-scope="{row}">
+              <span v-if="row.workRelated == 1">鏄�</span>
+              <span v-else>鍚�</span>
+            </template>
+          </el-table-column>
         <el-table-column prop="eventInfo" label="浜嬩欢璇存槑" min-width="100px"></el-table-column>
-        <el-table-column prop="emialMemberIds" label="閭欢閫氱煡浜哄憳缂栫爜闆嗗悎" min-width="100px"></el-table-column>
-        <el-table-column prop="qwnoticeMemberIds" label="浼佷笟寰俊閫氱煡浜哄憳缂栫爜闆嗗悎" min-width="100px"></el-table-column>
-        <el-table-column prop="happenTime" label="鍙戠幇鏃堕棿" min-width="100px"></el-table-column>
-        <el-table-column prop="typeId" label="椋庨櫓绫诲瀷(鍏宠仈category锛�" min-width="100px"></el-table-column>
-        <el-table-column prop="riskInfo" label="椋庨櫓鎻忚堪" min-width="100px"></el-table-column>
-        <el-table-column prop="managerId" label="褰撳墠鐗╀笟涓荤缂栫爜锛堝叧鑱攎ember锛�" min-width="100px"></el-table-column>
-        <el-table-column prop="dealerId" label="褰撳墠澶勭悊浜哄憳缂栫爜锛堝叧鑱攎ember)" min-width="100px"></el-table-column>
-        <el-table-column prop="dispatchTime" label="鍒嗛厤鏃堕棿" min-width="100px"></el-table-column>
-        <el-table-column prop="dispatchInfo" label="鍒嗛厤澶囨敞" min-width="100px"></el-table-column>
-        <el-table-column prop="dealTime" label="澶勭悊鏃堕棿" min-width="100px"></el-table-column>
-        <el-table-column prop="dealInfo" label="澶勭悊澶囨敞" min-width="100px"></el-table-column>
-        <el-table-column prop="problemId" label="DCA闂缂栫爜" min-width="100px"></el-table-column>
-        <el-table-column prop="problemNum" label="DCA闂鏁伴噺" min-width="100px"></el-table-column>
-        <el-table-column prop="locationName" label="浣嶇疆鍦扮偣璺緞鍚嶇О" min-width="100px"></el-table-column>
-        <el-table-column prop="code" label="宸ュ崟鍙�" min-width="100px"></el-table-column>
+        <el-table-column prop="remark" label="澶囨敞" min-width="100px"></el-table-column>
+        <el-table-column prop="createDate" label="鍒涘缓鏃堕棿" min-width="100px"></el-table-column>
         <el-table-column
           v-if="containPermissions(['business:workorder:update', 'business:workorder:delete'])"
           label="鎿嶄綔"
@@ -94,8 +92,8 @@
           fixed="right"
         >
           <template slot-scope="{row}">
-            <el-button type="text" @click="$refs.operaWorkorderWindow.open('缂栬緫宸ュ崟淇℃伅琛�', row)" icon="el-icon-edit" v-permissions="['business:workorder:update']">缂栬緫</el-button>
-            <el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:workorder:delete']">鍒犻櫎</el-button>
+            <el-button type="text" @click="$refs.operaWorkorderWindow.open('SHE浜嬩欢宸ュ崟璇︽儏', row)" icon="el-icon-edit" >鏌ョ湅璇︽儏</el-button>
+          <!--<el-button type="text" @click="deleteById(row)" icon="el-icon-delete" v-permissions="['business:workorder:delete']">鍒犻櫎</el-button>-->
           </template>
         </el-table-column>
       </el-table>
@@ -107,63 +105,39 @@
       </pagination>
     </template>
     <!-- 鏂板缓/淇敼 -->
-    <OperaWorkorderWindow ref="operaWorkorderWindow" @success="handlePageChange"/>
+    <OperaWorkorderDetailSheWindow ref="operaWorkorderWindow" @success="handlePageChange"/>
   </TableLayout>
 </template>
 
 <script>
 import BaseTable from '@/components/base/BaseTable'
 import TableLayout from '@/layouts/TableLayout'
-import SearchFormCollapse from '@/components/common/SearchFormCollapse'
 import Pagination from '@/components/common/Pagination'
-import OperaWorkorderWindow from '@/components/business/OperaWorkorderWindow'
+import OperaWorkorderDetailSheWindow from '@/components/business/OperaWorkorderDetailSheWindow'
+import { treeList } from '@/api/business/category'
 export default {
   name: 'Workorder',
   extends: BaseTable,
-  components: { SearchFormCollapse, TableLayout, Pagination, OperaWorkorderWindow },
+  components: {TableLayout, Pagination, OperaWorkorderDetailSheWindow },
   data () {
     return {
       // 鎼滅储
       searchForm: {
-        id: '',
-        creator: '',
-        createDate: '',
-        editor: '',
-        editDate: '',
-        isdeleted: '',
-        categoryId: '',
-        remark: '',
-        status: '',
-        sortnum: '',
-        type: '',
-        memberId: '',
-        companyId: '',
-        submitDate: '',
-        memberType: '',
-        memberQwids: '',
-        memberNames: '',
+        type: '0',
+        memberName: '',
+        memberCompanyId: '',
         localtionId: '',
-        outJiuyi: '',
-        isYiwushi: '',
-        isHurted: '',
-        workRelated: '',
-        eventInfo: '',
-        emialMemberIds: '',
-        qwnoticeMemberIds: '',
-        happenTime: '',
         typeId: '',
-        riskInfo: '',
-        managerId: '',
-        dealerId: '',
-        dispatchTime: '',
-        dispatchInfo: '',
-        dealTime: '',
-        dealInfo: '',
-        problemId: '',
-        problemNum: '',
-        locationName: '',
-        code: ''
-      }
+        code: '',
+        categoryList: []
+      },
+      categoryprops: {
+        label: 'name',
+        value: 'id',
+        checkStrictly: true,
+        lazyLoad: this.lazyLoad
+      },
+      categorys: []
     }
   },
   created () {
@@ -173,7 +147,42 @@
       'field.id': 'id',
       'field.main': 'id'
     })
+    this.loadCategorys()
     this.search()
+  },
+  methods: {
+    handleChangeCategory (value) {
+      if (this.searchForm.categoryList && this.searchForm.categoryList.length >= 1) {
+        this.searchForm.typeId = this.searchForm.categoryList[this.searchForm.categoryList.length - 1]
+      }
+    },
+    loadCategorys () {
+      treeList({ type: 0 })
+        .then(res => {
+          if (res && res.length > 0) {
+            res[0].fsStatus = 1
+            this.categorys = this.getCategoryTree(res)
+          }
+        })
+    },
+    getCategoryTree (tree) {
+      if (tree == null) {
+        return []
+      }
+      return tree.map(item => {
+        const newItem = { ...item }
+        if (newItem) {
+          newItem.children = newItem.childList
+        }
+        if (item.children && item.children.length === 0) {
+          this.$delete(newItem, 'children')
+        } else {
+          newItem.children = this.getCategoryTree(newItem.children)
+        }
+        // newItem.disabled = false
+        return newItem
+      })
+    }
   }
 }
 </script>
diff --git a/admin/src/views/system/dict.vue b/admin/src/views/system/dict.vue
index 5c67584..4e054ee 100644
--- a/admin/src/views/system/dict.vue
+++ b/admin/src/views/system/dict.vue
@@ -20,6 +20,7 @@
         <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['system:dict:delete']">鍒犻櫎</el-button></li>
       </ul>
       <el-table
+          :height="tableHeightNew"
         v-loading="isWorking.search"
         :data="tableData.list"
         :default-sort = "{prop: 'createTime', order: 'descending'}"
diff --git a/admin/src/views/system/job-log.vue b/admin/src/views/system/job-log.vue
index 1a0cfaa..eb5a962 100644
--- a/admin/src/views/system/job-log.vue
+++ b/admin/src/views/system/job-log.vue
@@ -50,6 +50,7 @@
         <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['system:job:log:delete']">鍒犻櫎</el-button></li>
       </ul>
       <el-table
+          :height="tableHeightNew"
         v-loading="isWorking.search"
         :data="tableData.list"
         stripe
diff --git a/admin/src/views/system/login-log.vue b/admin/src/views/system/login-log.vue
index d5b1360..ee96767 100644
--- a/admin/src/views/system/login-log.vue
+++ b/admin/src/views/system/login-log.vue
@@ -37,6 +37,7 @@
     <!-- 琛ㄦ牸鍜屽垎椤� -->
     <template v-slot:table-wrap>
       <el-table
+          :height="tableHeightNew"
         v-loading="isWorking.search"
         :data="tableData.list"
         stripe
diff --git a/admin/src/views/system/menu.vue b/admin/src/views/system/menu.vue
index 2c01829..02ab31d 100644
--- a/admin/src/views/system/menu.vue
+++ b/admin/src/views/system/menu.vue
@@ -9,6 +9,7 @@
         <li><el-button @click="sort('bottom')" :loading="isWorking.sort" icon="el-icon-sort-down" v-permissions="['system:menu:sort']">涓嬬Щ</el-button></li>
       </ul>
       <el-table
+          :height="tableHeightNew"
         ref="table"
         v-loading="isWorking.search"
         :data="tableData.list"
diff --git a/admin/src/views/system/permission.vue b/admin/src/views/system/permission.vue
index d00d3ea..ec2fe7d 100644
--- a/admin/src/views/system/permission.vue
+++ b/admin/src/views/system/permission.vue
@@ -9,6 +9,7 @@
             <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['system:permission:delete']">鍒犻櫎</el-button></li>
           </ul>
           <el-table
+              :height="tableHeightNew"
             :data="module.children"
             :ref="'module' + module.id"
             row-key="id"
diff --git a/admin/src/views/system/role.vue b/admin/src/views/system/role.vue
index 91cf09e..de43986 100644
--- a/admin/src/views/system/role.vue
+++ b/admin/src/views/system/role.vue
@@ -20,6 +20,7 @@
         <li v-permissions="['system:role:delete']"><el-button @click="deleteByIdInBatch" icon="el-icon-delete">鍒犻櫎</el-button></li>
       </ul>
       <el-table
+          :height="tableHeightNew"
         v-loading="isWorking.search"
         :data="tableData.list"
         :default-sort = "{prop: 'createTime', order: 'descending'}"
diff --git a/admin/src/views/system/trace-log.vue b/admin/src/views/system/trace-log.vue
index 2035e80..657f6c1 100644
--- a/admin/src/views/system/trace-log.vue
+++ b/admin/src/views/system/trace-log.vue
@@ -50,6 +50,7 @@
     <!-- 琛ㄦ牸鍜屽垎椤� -->
     <template v-slot:table-wrap>
       <el-table
+          :height="tableHeightNew"
         v-loading="isWorking.search"
         :data="tableData.list"
         stripe
diff --git a/admin/src/views/system/user.vue b/admin/src/views/system/user.vue
index ff761fc..5957acc 100644
--- a/admin/src/views/system/user.vue
+++ b/admin/src/views/system/user.vue
@@ -23,6 +23,7 @@
         <li v-permissions="['system:user:delete']"><el-button icon="el-icon-delete" @click="deleteByIdInBatch">鍒犻櫎</el-button></li>
       </ul>
       <el-table
+          :height="tableHeightNew"
         v-loading="isWorking.search"
         :data="tableData.list"
         :default-sort = "{prop: 'createTime', order: 'descending'}"
diff --git a/server/src/main/java/com/doumee/dao/business/model/Workorder.java b/server/src/main/java/com/doumee/dao/business/model/Workorder.java
index d29f4cf..88fa837 100644
--- a/server/src/main/java/com/doumee/dao/business/model/Workorder.java
+++ b/server/src/main/java/com/doumee/dao/business/model/Workorder.java
@@ -79,7 +79,7 @@
 
     @ApiModelProperty(value = "涓婃姤鏃堕棿", example = "1")
     @ExcelExportColumn(name="涓婃姤鏃堕棿")
-    private Integer submitDate;
+    private Date submitDate;
 
     @ApiModelProperty(value = "SHE娑夊強浜哄憳绫诲瀷 0鏈汉 1鍚屼簨 2渚涘簲鍟�", example = "1")
     @ExcelExportColumn(name="SHE娑夊強浜哄憳绫诲瀷 0鏈汉 1鍚屼簨 2渚涘簲鍟�")
@@ -131,8 +131,7 @@
 
     @ApiModelProperty(value = "椋庨櫓绫诲瀷(鍏宠仈category锛�")
     @ExcelExportColumn(name="椋庨櫓绫诲瀷(鍏宠仈category锛�")
-
-    private Date typeId;
+    private Integer typeId;
 
     @ApiModelProperty(value = "椋庨櫓鎻忚堪", example = "1")
     @ExcelExportColumn(name="椋庨櫓鎻忚堪")
@@ -202,6 +201,9 @@
     @ApiModelProperty("闄勪欢淇℃伅")
     @TableField(exist = false)
     private List<Multifile> multifileList;
+    @ApiModelProperty("鎿嶄綔鍘嗗彶闆嗗悎")
+    @TableField(exist = false)
+    private List<WorkorderLog> logList;
 
     @ApiModelProperty("鎻愭姤浜哄憳鍚嶇О")
     @TableField(exist = false)
@@ -215,26 +217,21 @@
     @TableField(exist = false)
     private String hurtTypeName;
 
-    @ApiModelProperty("鍙戠敓鍦扮偣鍚嶇О")
-    @TableField(exist = false)
-    private String locationTypeName;
-
     @ApiModelProperty("椋庨櫓绫诲瀷鍚嶇О")
     @TableField(exist = false)
     private String typeName;
-
     @ApiModelProperty("DCA闂鍚嶇О")
     @TableField(exist = false)
     private String problemName;
+    @ApiModelProperty("鐢ㄦ埛")
+    @TableField(exist = false)
+    private String memberPhone;
 
     @ApiModelProperty("鍚屼簨鍚嶇О 澶氫釜,鍒嗗壊")
     @TableField(exist = false)
     private String colleague;
 
 
-    @ApiModelProperty(value = "涓婃姤浜烘墜鏈哄彿")
-    @TableField(exist = false)
-    private String memberPhone;
 
 
 }
diff --git a/server/src/main/java/com/doumee/service/business/impl/WorkorderServiceImpl.java b/server/src/main/java/com/doumee/service/business/impl/WorkorderServiceImpl.java
index a89cd1a..692355d 100644
--- a/server/src/main/java/com/doumee/service/business/impl/WorkorderServiceImpl.java
+++ b/server/src/main/java/com/doumee/service/business/impl/WorkorderServiceImpl.java
@@ -162,16 +162,12 @@
         Workorder workorder = workorderMapper.selectJoinOne(Workorder.class,
                 new MPJLambdaWrapper<Workorder>()
                         .selectAll(Workorder.class)
+                        .selectAs(Member::getPhone,Workorder::getMemberPhone)
                         .selectAs(Member::getName,Workorder::getMemberName)
-                        .selectAs(Company::getNamePath,Workorder::getCompanyName)
-                        .select(" c1.name ",Workorder::getHurtTypeName)
-                        .select(" c2.name ",Workorder::getLocationTypeName)
+                        .selectAs(Workorder::getCompanyName,Workorder::getCompanyName)
                         .select(" c3.name ",Workorder::getTypeName)
                         .select(" c4.name ",Workorder::getProblemName)
                         .leftJoin(Member.class,Member::getId,Workorder::getMemberId)
-                        .leftJoin(Company.class,Company::getId,Member::getCompanyId)
-                        .leftJoin(" category c1 on  t.CATEGORY_ID = c1.id   ") //鍙椾激绫诲埆
-                        .leftJoin(" category c2 on  t.LOCALTION_ID = c2.id   ") //鍙戠敓鍦扮偣
                         .leftJoin(" category c3 on  t.TYPE_ID = c3.id   ") //椋庨櫓绫诲瀷
                         .leftJoin(" category c4 on  t.PROBLEM_ID = c4.id   ") //DCA闂缂栫爜
                         .eq(Workorder::getId,id)
@@ -197,14 +193,8 @@
                 workorder.setMultifileList(multifileList);
             }
         }
-
-
         return workorder;
     }
-
-
-
-
 
     @Override
     public void deleteById(Integer id) {
@@ -260,9 +250,19 @@
     @Override
     public PageData<Workorder> findPage(PageWrap<Workorder> pageWrap) {
         IPage<Workorder> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
-        QueryWrapper<Workorder> queryWrapper = new QueryWrapper<>();
         Utils.MP.blankToNull(pageWrap.getModel());
-        queryWrapper.lambda()
+        MPJLambdaWrapper<Workorder> queryWrapper = new MPJLambdaWrapper<>();
+        pageWrap.getModel().setIsdeleted(Constants.ZERO);
+        queryWrapper
+                .selectAll(Workorder.class)
+                .selectAs(Member::getName,Workorder::getMemberName)
+                .selectAs(Member::getCompanyName,Workorder::getCompanyName)
+                .selectAs(Member::getPhone,Workorder::getMemberPhone)
+                .select(" c3.name ",Workorder::getTypeName)
+                .select(" c4.name ",Workorder::getProblemName)
+                .leftJoin(Member.class,Member::getId,Workorder::getMemberId)
+                .leftJoin(" category c3 on  t.TYPE_ID = c3.id   ") //椋庨櫓绫诲瀷
+                .leftJoin(" category c4 on  t.PROBLEM_ID = c4.id   ") //DCA闂缂栫爜
                 .eq(pageWrap.getModel().getId() != null, Workorder::getId, pageWrap.getModel().getId())
                 .eq(pageWrap.getModel().getCreator() != null, Workorder::getCreator, pageWrap.getModel().getCreator())
                 .ge(pageWrap.getModel().getCreateDate() != null, Workorder::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate()))
@@ -281,7 +281,7 @@
                 .eq(pageWrap.getModel().getSubmitDate() != null, Workorder::getSubmitDate, pageWrap.getModel().getSubmitDate())
                 .eq(pageWrap.getModel().getMemberType() != null, Workorder::getMemberType, pageWrap.getModel().getMemberType())
                 .eq(pageWrap.getModel().getMemberQwids() != null, Workorder::getMemberQwids, pageWrap.getModel().getMemberQwids())
-                .eq(pageWrap.getModel().getMemberNames() != null, Workorder::getMemberNames, pageWrap.getModel().getMemberNames())
+                .like(pageWrap.getModel().getMemberNames() != null, Workorder::getMemberNames, pageWrap.getModel().getMemberNames())
                 .eq(pageWrap.getModel().getLocaltionId() != null, Workorder::getLocaltionId, pageWrap.getModel().getLocaltionId())
                 .eq(pageWrap.getModel().getOutJiuyi() != null, Workorder::getOutJiuyi, pageWrap.getModel().getOutJiuyi())
                 .eq(pageWrap.getModel().getIsYiwushi() != null, Workorder::getIsYiwushi, pageWrap.getModel().getIsYiwushi())
@@ -291,8 +291,7 @@
                 .eq(pageWrap.getModel().getEmialMemberIds() != null, Workorder::getEmialMemberIds, pageWrap.getModel().getEmialMemberIds())
                 .eq(pageWrap.getModel().getQwnoticeMemberIds() != null, Workorder::getQwnoticeMemberIds, pageWrap.getModel().getQwnoticeMemberIds())
                 .eq(pageWrap.getModel().getHappenTime() != null, Workorder::getHappenTime, pageWrap.getModel().getHappenTime())
-                .ge(pageWrap.getModel().getTypeId() != null, Workorder::getTypeId, Utils.Date.getStart(pageWrap.getModel().getTypeId()))
-                .le(pageWrap.getModel().getTypeId() != null, Workorder::getTypeId, Utils.Date.getEnd(pageWrap.getModel().getTypeId()))
+                .eq(pageWrap.getModel().getTypeId() != null, Workorder::getTypeId, pageWrap.getModel().getTypeId())
                 .eq(pageWrap.getModel().getRiskInfo() != null, Workorder::getRiskInfo, pageWrap.getModel().getRiskInfo())
                 .eq(pageWrap.getModel().getManagerId() != null, Workorder::getManagerId, pageWrap.getModel().getManagerId())
                 .eq(pageWrap.getModel().getDealerId() != null, Workorder::getDealerId, pageWrap.getModel().getDealerId())
@@ -310,16 +309,9 @@
                 .eq(pageWrap.getModel().getDcaYesNum() != null, Workorder::getDcaYesNum, pageWrap.getModel().getDcaYesNum())
                 .eq(pageWrap.getModel().getDcaNoNum() != null, Workorder::getDcaNoNum, pageWrap.getModel().getDcaNoNum())
                 .eq(pageWrap.getModel().getDcaRecordId() != null, Workorder::getDcaRecordId, pageWrap.getModel().getDcaRecordId())
-                .eq(pageWrap.getModel().getDcaCsIds() != null, Workorder::getDcaCsIds, pageWrap.getModel().getDcaCsIds())
-        ;
-        for(PageWrap.SortData sortData: pageWrap.getSorts()) {
-            if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
-                queryWrapper.orderByDesc(sortData.getProperty());
-            } else {
-                queryWrapper.orderByAsc(sortData.getProperty());
-            }
-        }
-        return PageData.from(workorderMapper.selectPage(page, queryWrapper));
+                .eq(pageWrap.getModel().getDcaCsIds() != null, Workorder::getDcaCsIds, pageWrap.getModel().getDcaCsIds()) ;
+                queryWrapper.orderByDesc(Workorder::getCreateDate);
+        return PageData.from(workorderMapper.selectJoinPage(page,Workorder.class, queryWrapper));
     }
 
     @Override

--
Gitblit v1.9.3