From 0607e1ce79787ef81d40e56d417e184bc7dcb2ae Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期六, 27 一月 2024 11:42:36 +0800
Subject: [PATCH] Mr.Shi

---
 platform/src/api/system/menu.js                              |    6 
 company/src/api/system/menuCom.js                            |   50 +
 platform/src/components/business/OperaDispatchUnitWindow.vue |  472 ++++++++++--------
 company/src/components/common/MenuSelect.vue                 |   32 
 platform/src/api/business/worktype.js                        |   11 
 company/src/views/system/menuCom.vue                         |   24 
 /dev/null                                                    |  193 -------
 platform/src/views/business/dispatchUnit.vue                 |  114 ++-
 platform/src/components/business/dispatchUnitDetails.vue     |  261 ++++++++++
 platform/src/api/business/dispatchUnit.js                    |   18 
 company/src/components/system/menu/OperaMenuComWindow.vue    |  164 ++++++
 platform/src/components/business/addJobType.vue              |   60 ++
 platform/src/components/common/UploadAvatarVideo.vue         |  128 ++++
 platform/src/api/business/duWorktype.js                      |    6 
 platform/.env.development                                    |    5 
 company/.env.development                                     |    5 
 16 files changed, 1,058 insertions(+), 491 deletions(-)

diff --git a/company/.env.development b/company/.env.development
index 22616b7..e464a2e 100644
--- a/company/.env.development
+++ b/company/.env.development
@@ -1,7 +1,6 @@
 # 寮�鍙戠幆澧冮厤缃�
 NODE_ENV = 'development'
 
-VUE_APP_API = 'http://192.168.0.104:10023/'
+# VUE_APP_API = 'http://192.168.0.104:10023/'
 
-VUE_APP_API = 'http://192.168.0.104:10023/'
-# VUE_APP_API = 'http://192.168.0.134:10023/'
+VUE_APP_API = 'http://192.168.0.134:10023/'
diff --git a/company/src/api/system/menuCom.js b/company/src/api/system/menuCom.js
new file mode 100644
index 0000000..24cd87c
--- /dev/null
+++ b/company/src/api/system/menuCom.js
@@ -0,0 +1,50 @@
+import request from '@/utils/request'
+
+// 鏌ヨ----骞冲彴鑿滃崟
+export function fetchTree () {
+    return request.post(`/system/menu/treeList/0`)
+}
+
+// 鏌ヨ----浼佷笟鑿滃崟
+export function fetchTree1 () {
+    return request.post(`/system/menu/treeList/1`)
+}
+
+// 鏂板缓
+export function create (data) {
+    return request.post('/system/menu/create', data)
+}
+
+// 淇敼
+export function updateById (data) {
+    return request.post('/system/menu/updateById', data)
+}
+
+// 淇敼鐘舵��
+export function updateStatus (data) {
+    return request.post('/system/menu/updateStatus', data)
+}
+
+// 鍒犻櫎
+export function deleteById (id) {
+    return request.get(`/system/menu/delete/${id}`)
+}
+
+// 鎵归噺鍒犻櫎
+export function deleteByIdInBatch (ids) {
+    return request.get('/system/menu/delete/batch', {
+        params: {
+            ids
+        }
+    })
+}
+
+// 鏌ヨ鑿滃崟鏍�
+export function fetchMenuTree () {
+    return request.get('/system/menu/treeNodes?type=0')
+}
+
+// 鎺掑簭
+export function sort (data) {
+    return request.post('/system/menu/updateSort', data)
+}
diff --git a/company/src/components/common/MenuSelect.vue b/company/src/components/common/MenuSelect.vue
index ea5f26c..3471617 100644
--- a/company/src/components/common/MenuSelect.vue
+++ b/company/src/components/common/MenuSelect.vue
@@ -12,7 +12,7 @@
 
 <script>
 import TreeSelect from './TreeSelect'
-import { fetchTree } from '@/api/system/menu'
+import { fetchTree, fetchTree1 } from '@/api/system/menu'
 export default {
   name: 'MenuSelect',
   components: { TreeSelect },
@@ -20,6 +20,9 @@
     value: {},
     inline: {
       default: true
+    },
+    type: {
+      default: '0'
     },
     placeholder: {
       default: '璇烽�夋嫨鑿滃崟'
@@ -47,14 +50,25 @@
   methods: {
     // 鑾峰彇鎵�鏈夎彍鍗�
     fetchData () {
-      fetchTree()
-        .then(records => {
-          this.data = []
-          this.__fillData(this.data, records)
-        })
-        .catch(e => {
-          this.$tip.apiFailed(e)
-        })
+      if (this.type === '1') {
+        fetchTree1()
+          .then(records => {
+            this.data = []
+            this.__fillData(this.data, records)
+          })
+          .catch(e => {
+            this.$tip.apiFailed(e)
+          })
+      } else {
+        fetchTree()
+          .then(records => {
+            this.data = []
+            this.__fillData(this.data, records)
+          })
+          .catch(e => {
+            this.$tip.apiFailed(e)
+          })
+      }
     },
     // 濉厖鑿滃崟鏍�
     __fillData (list, pool) {
diff --git a/company/src/components/system/menu/OperaMenuComWindow.vue b/company/src/components/system/menu/OperaMenuComWindow.vue
new file mode 100644
index 0000000..efafc84
--- /dev/null
+++ b/company/src/components/system/menu/OperaMenuComWindow.vue
@@ -0,0 +1,164 @@
+<template>
+    <GlobalWindow
+        class="handle-table-dialog"
+        :title="title"
+        :visible.sync="visible"
+        :confirm-working="isWorking"
+        @confirm="confirm"
+    >
+        <p class="tip" v-if="form.parent != null && form.id == null">涓� <em>{{parentName}}</em> 鏂板缓瀛愯彍鍗�</p>
+        <el-form :model="form" ref="form" :rules="rules">
+            <el-form-item label="涓婄骇鑿滃崟" prop="parentId">
+                <MenuSelect v-if="visible" type="1" v-model="form.parentId" placeholder="璇烽�夋嫨涓婄骇鑿滃崟" :exclude-id="excludeMenuId" clearable :inline="false"/>
+            </el-form-item>
+            <el-form-item label="鑿滃崟鍚嶇О" prop="name" required>
+                <el-input v-model="form.name" placeholder="璇疯緭鍏ヨ彍鍗曞悕绉�" v-trim maxlength="50"/>
+            </el-form-item>
+            <el-form-item label="璁块棶璺緞" prop="path">
+                <el-input v-model="form.path" placeholder="璇疯緭鍏ヨ闂矾寰�" v-trim maxlength="200"/>
+            </el-form-item>
+            <el-form-item label="鍥炬爣" prop="icon" class="form-item-icon">
+                <el-radio-group v-model="form.icon">
+                    <el-radio :label="icon" v-for="icon in icons" :key="icon">
+                        <i :class="{[icon]: true}"></i>
+                    </el-radio>
+                </el-radio-group>
+            </el-form-item>
+            <el-form-item label="澶囨敞" prop="remark">
+                <el-input type="textarea" v-model="form.remark" placeholder="璇疯緭鍏ヨ彍鍗曞娉�" v-trim :rows="3" maxlength="500"/>
+            </el-form-item>
+        </el-form>
+    </GlobalWindow>
+</template>
+
+<script>
+    import BaseOpera from '@/components/base/BaseOpera'
+    import GlobalWindow from '@/components/common/GlobalWindow'
+    import MenuSelect from '@/components/common/MenuSelect'
+    import icons from '@/utils/icons'
+    export default {
+        name: 'OperaMenuWindow',
+        extends: BaseOpera,
+        components: { MenuSelect, GlobalWindow },
+        data () {
+            return {
+                icons,
+                // 涓婄骇鑿滃崟鍚嶇О
+                parentName: '',
+                // 闇�鎺掗櫎閫夋嫨鐨勮彍鍗旾D
+                excludeMenuId: null,
+                // 琛ㄥ崟鏁版嵁
+                form: {
+                    id: null,
+                    parentId: null,
+                    name: '',
+                    path: '',
+                    icon: '',
+                    remark: '',
+                    type: '1'
+                },
+                // 楠岃瘉瑙勫垯
+                rules: {
+                    name: [
+                        { required: true, message: '璇疯緭鍏ヨ彍鍗曞悕绉�' }
+                    ]
+                }
+            }
+        },
+        methods: {
+            /**
+             * @title: 绐楀彛鏍囬
+             * @target: 缂栬緫鐨勮彍鍗曞璞�
+             * @parent: 鏂板缓鏃剁殑涓婄骇鑿滃崟
+             */
+            open (title, target, parent) {
+                this.title = title
+                this.visible = true
+                // 鏂板缓锛宮enu涓虹┖鏃惰〃绀烘柊寤鸿彍鍗�
+                if (target == null) {
+                    this.excludeMenuId = null
+                    this.$nextTick(() => {
+                        this.$refs.form.resetFields()
+                        this.form.id = null
+                        this.form.type = parent.type
+                        this.form.parentId = parent == null ? null : parent.id
+                        this.parentName = parent == null ? null : parent.name
+                    })
+                    return
+                }
+                // 缂栬緫
+                this.$nextTick(() => {
+                    this.excludeMenuId = target.id
+                    for (const key in this.form) {
+                        this.form[key] = target[key]
+                    }
+                })
+            }
+        },
+        created () {
+            this.config({
+                api: '/system/menu'
+            })
+        }
+    }
+</script>
+
+<style scoped lang="scss">
+    @import "@/assets/style/variables";
+    $icon-background-color: $primary-color;
+    .global-window {
+        .tip {
+            margin-bottom: 12px;
+            em {
+                font-style: normal;
+                color: $primary-color;
+                font-weight: bold;
+            }
+        }
+        // 鍥炬爣
+        /deep/ .form-item-icon {
+            .el-form-item__content {
+                height: 193px;
+                overflow-y: auto;
+            }
+            .el-radio-group {
+                background: $icon-background-color;
+                padding: 4px;
+                .el-radio {
+                    margin-right: 0;
+                    color: #fff;
+                    padding: 6px;
+                    &.is-checked {
+                        background: $icon-background-color - 30;
+                        border-radius: 10px;
+                    }
+                    .el-radio__input.is-checked + .el-radio__label {
+                        color: #fff;
+                    }
+                }
+                .el-radio__input {
+                    display: none;
+                }
+                .el-radio__label {
+                    padding-left: 0;
+                    // element-ui鍥炬爣
+                    i {
+                        font-size: 30px;
+                    }
+                    // 鑷畾涔夊浘鏍�
+                    [class^="eva-icon-"], [class*=" eva-icon-"] {
+                        width: 30px;
+                        height: 30px;
+                        background-size: 25px;
+                        vertical-align: bottom;
+                    }
+                }
+                .el-radio--small {
+                    height: auto;
+                    padding: 8px;
+                    margin-left: 0;
+                }
+            }
+        }
+    }
+</style>
diff --git a/company/src/views/system/menuCom.vue b/company/src/views/system/menuCom.vue
index 8481f79..6dd790e 100644
--- a/company/src/views/system/menuCom.vue
+++ b/company/src/views/system/menuCom.vue
@@ -3,7 +3,7 @@
         <!-- 琛ㄦ牸鍜屽垎椤� -->
         <template v-slot:table-wrap>
             <ul class="toolbar" v-permissions="['system:menu:create', 'system:menu:delete', 'system:menu:sort']">
-                <li><el-button type="primary" @click="$refs.operaMenuWindow.open('鏂板缓涓�绾ц彍鍗�')" icon="el-icon-plus" v-permissions="['system:menu:create']">鏂板缓</el-button></li>
+                <li><el-button type="primary" @click="$refs.OperaMenuComWindow.open('鏂板缓涓�绾ц彍鍗�')" icon="el-icon-plus" v-permissions="['system:menu:create']">鏂板缓</el-button></li>
                 <li><el-button @click="deleteByIdInBatch" icon="el-icon-delete" v-permissions="['system:menu:delete']">鍒犻櫎</el-button></li>
                 <li><el-button @click="sort('top')" :loading="isWorking.sort" icon="el-icon-sort-up" v-permissions="['system:menu:sort']">涓婄Щ</el-button></li>
                 <li><el-button @click="sort('bottom')" :loading="isWorking.sort" icon="el-icon-sort-down" v-permissions="['system:menu:sort']">涓嬬Щ</el-button></li>
@@ -42,33 +42,33 @@
                     </template>
                 </el-table-column>
                 <el-table-column
-                        v-if="containPermissions(['system:menu:update', 'system:menu:create', 'system:menu:delete'])"
-                        label="鎿嶄綔"
-                        min-width="220"
-                        fixed="right"
+                    v-if="containPermissions(['system:menu:update', 'system:menu:create', 'system:menu:delete'])"
+                    label="鎿嶄綔"
+                    min-width="220"
+                    fixed="right"
                 >
                     <template slot-scope="{row}">
-                        <el-button type="text" icon="el-icon-edit" @click="$refs.operaMenuWindow.open('缂栬緫鑿滃崟', row)" v-permissions="['system:menu:update']">缂栬緫</el-button>
-                        <el-button type="text" icon="el-icon-plus" @click="$refs.operaMenuWindow.open('鏂板缓瀛愯彍鍗�', null, row)" v-permissions="['system:menu:create']">鏂板缓瀛愯彍鍗�</el-button>
+                        <el-button type="text" icon="el-icon-edit" @click="$refs.OperaMenuComWindow.open('缂栬緫鑿滃崟', {...row, type: 1})" v-permissions="['system:menu:update']">缂栬緫</el-button>
+                        <el-button type="text" icon="el-icon-plus" @click="$refs.OperaMenuComWindow.open('鏂板缓瀛愯彍鍗�', null, {...row, type: 1})" v-permissions="['system:menu:create']">鏂板缓瀛愯彍鍗�</el-button>
                         <el-button v-if="!row.fixed" type="text" icon="el-icon-delete" @click="deleteById(row)" v-permissions="['system:menu:delete']">鍒犻櫎</el-button>
                     </template>
                 </el-table-column>
             </el-table>
         </template>
         <!-- 鏂板缓/淇敼 -->
-        <OperaMenuWindow ref="operaMenuWindow" @success="handlePageChange(tableData.pagination.pageIndex)"/>
+        <OperaMenuComWindow ref="OperaMenuComWindow" @success="handlePageChange(tableData.pagination.pageIndex)"/>
     </TableLayout>
 </template>
 
 <script>
     import TableLayout from '@/layouts/TableLayout'
     import BaseTable from '@/components/base/BaseTable'
-    import OperaMenuWindow from '@/components/system/menu/OperaMenuWindow'
-    import { fetchTree, updateStatus, sort } from '@/api/system/menu'
+    import OperaMenuComWindow from '@/components/system/menu/OperaMenuComWindow'
+    import { fetchTree1, updateStatus, sort } from '@/api/system/menu'
     export default {
         name: 'SystemMenu',
         extends: BaseTable,
-        components: { OperaMenuWindow, TableLayout },
+        components: { OperaMenuComWindow, TableLayout },
         data () {
             return {
                 // 鏄惁姝e湪澶勭悊涓�
@@ -81,7 +81,7 @@
             // 鏌ヨ鏁版嵁
             handlePageChange () {
                 this.isWorking.search = true
-                fetchTree(1)
+                fetchTree1()
                     .then(records => {
                         this.tableData.list = records
                     })
diff --git a/platform/.env.development b/platform/.env.development
index 22616b7..eeb3602 100644
--- a/platform/.env.development
+++ b/platform/.env.development
@@ -1,7 +1,4 @@
 # 寮�鍙戠幆澧冮厤缃�
 NODE_ENV = 'development'
 
-VUE_APP_API = 'http://192.168.0.104:10023/'
-
-VUE_APP_API = 'http://192.168.0.104:10023/'
-# VUE_APP_API = 'http://192.168.0.134:10023/'
+VUE_APP_API = 'http://192.168.0.134:10025/'
diff --git a/platform/src/api/business/dispatchUnit.js b/platform/src/api/business/dispatchUnit.js
index af8149a..22a2e2a 100644
--- a/platform/src/api/business/dispatchUnit.js
+++ b/platform/src/api/business/dispatchUnit.js
@@ -2,12 +2,22 @@
 
 // 鏌ヨ
 export function fetchList (data) {
-    return request.post('/business/dispatchUnit/page', data, {
-        trim: true
-    })
+  return request.post('/business/dispatchUnit/page', data, {
+    trim: true
+  })
 }
 
 // 鍒涘缓
 export function create (data) {
-    return request.post('/business/dispatchUnit/create', data)
+  return request.post('/business/dispatchUnit/create', data)
+}
+
+// 淇敼
+export function updateById (data) {
+  return request.post('/business/dispatchUnit/updateById', data)
+}
+
+// 鏍规嵁ID鏌ヨ
+export function getById (id) {
+  return request.get(`/business/dispatchUnit/${id}`)
 }
diff --git a/platform/src/api/business/duWorktype.js b/platform/src/api/business/duWorktype.js
new file mode 100644
index 0000000..ea873af
--- /dev/null
+++ b/platform/src/api/business/duWorktype.js
@@ -0,0 +1,6 @@
+import request from '../../utils/request'
+
+// 鏍规嵁ID鍒犻櫎
+export function deleteById (id) {
+  return request.get(`/business/duWorktype/delete/${id}`)
+}
diff --git a/platform/src/api/business/insurance.js b/platform/src/api/business/insurance.js
deleted file mode 100644
index 2713c67..0000000
--- a/platform/src/api/business/insurance.js
+++ /dev/null
@@ -1,36 +0,0 @@
-import request from '../../utils/request'
-
-// 鏌ヨ
-export function fetchList (data) {
-    return request.post('/business/insurance/page', data, {
-        trim: true
-    })
-}
-
-// 瀵煎嚭Excel
-export function exportExcel (data) {
-    return request.post('/business/insurance/exportExcel', data, {
-        trim: true,
-        download: true
-    })
-}
-
-// 鍒涘缓
-export function create (data) {
-    return request.post('/business/insurance/create', data)
-}
-
-// 鏌ヨ鍏ㄩ儴
-export function all (data) {
-    return request.post('/business/insurance/list', data)
-}
-
-// 淇敼
-export function updateById (data) {
-    return request.post('/business/insurance/updateById', data)
-}
-
-// 淇敼鐘舵��
-export function updateStatus (data) {
-    return request.post('/business/insurance/updateStatus', data)
-}
diff --git a/platform/src/api/business/insuranceApply.js b/platform/src/api/business/insuranceApply.js
deleted file mode 100644
index 793cbbb..0000000
--- a/platform/src/api/business/insuranceApply.js
+++ /dev/null
@@ -1,13 +0,0 @@
-import request from '../../utils/request'
-
-// 鏌ヨ
-export function fetchList (data) {
-    return request.post('/business/insuranceApply/page', data, {
-        trim: true
-    })
-}
-
-// 淇敼
-export function updateById (data) {
-    return request.post('/business/insuranceApply/updateById', data)
-}
diff --git a/platform/src/api/business/taxes.js b/platform/src/api/business/taxes.js
deleted file mode 100644
index 03a2cee..0000000
--- a/platform/src/api/business/taxes.js
+++ /dev/null
@@ -1,8 +0,0 @@
-import request from '../../utils/request'
-
-// 鏌ヨ
-export function fetchList (data) {
-    return request.post('/business/taxes/page', data, {
-        trim: true
-    })
-}
diff --git a/platform/src/api/business/worktype.js b/platform/src/api/business/worktype.js
index 5d62464..ea9c218 100644
--- a/platform/src/api/business/worktype.js
+++ b/platform/src/api/business/worktype.js
@@ -1,11 +1,6 @@
 import request from '../../utils/request'
 
-// 瀵煎叆妯℃澘
-export function importExcel (data) {
-    return request.post(`/business/worktype/importExcel`, data)
-}
-
-// 鏌ヨ鍏ㄩ儴宸ョ
-export function all (data) {
-    return request.post(`/business/worktype/list`, data)
+// 鏍规嵁鏉′欢宸ョ鍒楄〃
+export function findListByDTO (data) {
+  return request.post('/business/worktype/findListByDTO', data)
 }
diff --git a/platform/src/api/system/menu.js b/platform/src/api/system/menu.js
index adad7ad..3ba843e 100644
--- a/platform/src/api/system/menu.js
+++ b/platform/src/api/system/menu.js
@@ -2,12 +2,12 @@
 
 // 鏌ヨ----骞冲彴鑿滃崟
 export function fetchTree () {
-  return request.post(`/system/menu/treeList/0`)
+  return request.post('/system/menu/treeList/0')
 }
 
 // 鏌ヨ----浼佷笟鑿滃崟
 export function fetchTree1 () {
-  return request.post(`/system/menu/treeList/1`)
+  return request.post('/system/menu/treeList/1')
 }
 
 // 鏂板缓
@@ -41,7 +41,7 @@
 
 // 鏌ヨ鑿滃崟鏍�
 export function fetchMenuTree () {
-  return request.get('/system/menu/treeNodes?type=0')
+  return request.get('/system/menu/treeNodes?type=1')
 }
 
 // 鎺掑簭
diff --git a/platform/src/components/business/InsuranceDetails.vue b/platform/src/components/business/InsuranceDetails.vue
deleted file mode 100644
index d615444..0000000
--- a/platform/src/components/business/InsuranceDetails.vue
+++ /dev/null
@@ -1,209 +0,0 @@
-<template>
-    <GlobalWindow
-        :title="title"
-        width="50%"
-        :visible.sync="visible"
-        :confirm-working="isWorking"
-        @confirm="confirm"
-    >
-        <div class="box">
-            <div class="box_header">
-                <div class="box_header_item">
-                    <div class="box_header_item_label">鎶曚繚浼佷笟</div>
-                    <div class="box_header_item_val">瀹夊窘鏍煎姏鏈烘鍒堕�犲巶</div>
-                </div>
-                <div class="box_header_item">
-                    <div class="box_header_item_label">淇濋櫓鏂规</div>
-                    <div class="box_header_item_val">骞冲畨淇濋櫓闆囦富璐d换闄〢鐗�</div>
-                </div>
-                <div class="box_header_item">
-                    <div class="box_header_item_label">淇濋櫓鐢熸晥璧锋湡</div>
-                    <div class="box_header_item_val">2023-09-11 00:00:00</div>
-                </div>
-                <div class="box_header_item">
-                    <div class="box_header_item_label">淇濋櫓鐢熸晥姝㈡湡</div>
-                    <div class="box_header_item_val">2023-10-11 23:59:59</div>
-                </div>
-                <div class="box_header_item">
-                    <div class="box_header_item_label">鎶曚繚浜烘暟</div>
-                    <div class="box_header_item_val">50</div>
-                </div>
-                <div class="box_header_item">
-                    <div class="box_header_item_label">鎬昏垂鐢�</div>
-                    <div class="box_header_item_val">15000</div>
-                </div>
-            </div>
-            <div class="box_table">
-                <div class="box_table_head">
-                    <div class="box_table_head_item">搴忓彿</div>
-                    <div class="box_table_head_item">鍛樺伐濮撳悕</div>
-                    <div class="box_table_head_item">韬唤璇佸彿</div>
-                    <div class="box_table_head_item">娲鹃仯鍗曚綅</div>
-                    <div class="box_table_head_item">鎵�灞炲伐绉�</div>
-                </div>
-                <div class="box_table_content" v-for="(item, index) in 6" :key="index">
-                    <div class="box_table_content_item">{{index + 1}}</div>
-                    <div class="box_table_content_item">鐜嬫煇鏌�</div>
-                    <div class="box_table_content_item">340411190001010011</div>
-                    <div class="box_table_content_item">瀹夊窘鏍煎姏鏈烘鍒堕�犲巶</div>
-                    <div class="box_table_content_item">4绫� 鏈烘鍔犲伐/鍒堕��</div>
-                </div>
-            </div>
-        </div>
-        <template v-slot:footer>
-            <el-button type="primary">浼佷笟璇佷欢</el-button>
-            <el-button type="primary">瀵煎嚭璇﹀崟</el-button>
-            <el-button>鍙栨秷</el-button>
-        </template>
-    </GlobalWindow>
-</template>
-
-<script>
-    import BaseOpera from '@/components/base/BaseOpera'
-    import GlobalWindow from '@/components/common/GlobalWindow'
-    export default {
-        name: 'InsuranceDetails',
-        extends: BaseOpera,
-        components: { GlobalWindow },
-        data () {
-            return {
-                // 琛ㄥ崟鏁版嵁
-                form: {
-                    id: null,
-                    editDate: ''
-                },
-                // 楠岃瘉瑙勫垯
-                rules: {
-                },
-                formInline: {
-                    user: '',
-                    region: ''
-                },
-                reverse: true,
-                activities: [{
-                    content: '娲诲姩鎸夋湡寮�濮�',
-                    timestamp: '2018-04-15'
-                }, {
-                    content: '閫氳繃瀹℃牳',
-                    timestamp: '2018-04-13'
-                }, {
-                    content: '鍒涘缓鎴愬姛',
-                    timestamp: '2018-04-11'
-                }],
-                tableData: [],
-                activeName: 'first',
-                currentPage: 1
-            }
-        },
-        created () {
-            this.config({
-                api: '/business/insuranceApply',
-                'field.id': 'id'
-            })
-        },
-        methods: {
-            handleSizeChange(val) {
-                console.log(`姣忛〉 ${val} 鏉);
-            },
-            handleCurrentChange(val) {
-                console.log(`褰撳墠椤�: ${val}`);
-            },
-            handleClick(tab, event) {
-                console.log(tab, event);
-            },
-            onSubmit() {
-
-            }
-        }
-    }
-</script>
-
-<style lang="scss" scoped>
-    .box {
-        width: 100%;
-        .box_header {
-            width: 100%;
-            display: flex;
-            align-items: center;
-            flex-wrap: wrap;
-            border-top: 1px solid #b4bbc5;
-            border-left: 1px solid #b4bbc5;
-            .box_header_item {
-                width: 50%;
-                height: 50px;
-                display: flex;
-                align-items: center;
-                border-right: 1px solid #b4bbc5;
-                border-bottom: 1px solid #b4bbc5;
-                box-sizing: border-box;
-                .box_header_item_label {
-                    flex: 1;
-                    height: 100%;
-                    display: flex;
-                    align-items: center;
-                    justify-content: center;
-                    font-size: 14px;
-                    color: black;
-                    background: #f2f2f2;
-                    border-right: 1px solid #b4bbc5;
-                }
-                .box_header_item_val {
-                    flex: 1;
-                    height: 100%;
-                    display: flex;
-                    align-items: center;
-                    justify-content: center;
-                    font-size: 14px;
-                    color: black;
-                }
-            }
-        }
-        .box_table {
-            width: 100%;
-            border-left: 1px solid #b4bbc5;
-            box-sizing: border-box;
-            .box_table_head {
-                width: 100%;
-                display: flex;
-                align-items: center;
-                .box_table_head_item {
-                    flex: 1;
-                    height: 50px;
-                    background: #f2f2f2;
-                    display: flex;
-                    align-items: center;
-                    justify-content: center;
-                    font-size: 14px;
-                    color: black;
-                    border-right: 1px solid #b4bbc5;
-                    border-bottom: 1px solid #b4bbc5;
-                    box-sizing: border-box;
-                    &:nth-child(1) {
-                        flex: 0.5;
-                    }
-                }
-            }
-            .box_table_content {
-                width: 100%;
-                display: flex;
-                align-items: center;
-                .box_table_content_item {
-                    flex: 1;
-                    height: 50px;
-                    background: #ffffff;
-                    display: flex;
-                    align-items: center;
-                    justify-content: center;
-                    font-size: 14px;
-                    color: black;
-                    border-right: 1px solid #b4bbc5;
-                    border-bottom: 1px solid #b4bbc5;
-                    box-sizing: border-box;
-                    &:nth-child(1) {
-                        flex: 0.5;
-                    }
-                }
-            }
-        }
-    }
-</style>
diff --git a/platform/src/components/business/OperaApplyChangeWindow.vue b/platform/src/components/business/OperaApplyChangeWindow.vue
deleted file mode 100644
index c544c30..0000000
--- a/platform/src/components/business/OperaApplyChangeWindow.vue
+++ /dev/null
@@ -1,485 +0,0 @@
-<template>
-    <GlobalWindow
-        :title="title"
-        width="80%"
-        :visible.sync="visible"
-        :confirm-working="isWorking"
-        @confirm="confirm"
-    >
-        <div class="desc">
-            <div class="desc_item">
-                <div class="desc_item_label">
-                    <div class="desc_item_label_left">
-                        <span>鎶曚繚浼佷笟锛氬畨寰藉钩瀹変汉鍔涜祫婧愭湁闄愬叕鍙�</span>
-                        <span>淇濆崟鐘舵�侊細寰呭嚭鍗�</span>
-                        <span>鎻愪氦鏃堕棿锛�2023-09-11 00:00:00</span>
-                    </div>
-                    <div class="desc_item_label_right">
-                        <el-button type="primary" @click="$refs.applyChangeDetails.open('鍔犲噺淇濈敵璇峰崟璇︽儏')">瀵煎嚭璇﹀崟</el-button>
-                        <el-button type="primary" @click="$refs.applyChangeDetails.open('鍔犲噺淇濈敵璇峰崟璇︽儏')">瀵煎嚭璇﹀崟</el-button>
-                        <el-button type="primary" @click="visible3 = true">涓婁紶鎵瑰崟</el-button>
-                        <el-button type="danger" @click="visible1 = true">閫�鍥炴姇淇�</el-button>
-                        <el-button type="danger" @click="visible4 = true">淇敼鎵瑰崟</el-button>
-                    </div>
-                </div>
-                <div class="desc_item_from">
-                    <el-table
-                            :data="tableData"
-                            border
-                            style="width: 100%">
-                        <el-table-column
-                                prop="date"
-                                label="淇濆崟鍙�">
-                        </el-table-column>
-                        <el-table-column
-                                prop="name"
-                                label="淇濋櫓鏂规"
-                                width="180">
-                        </el-table-column>
-                        <el-table-column
-                                prop="address"
-                                label="淇濋櫓鐢熸晥璧锋湡">
-                        </el-table-column>
-                        <el-table-column
-                                prop="address"
-                                label="淇濋櫓鐢熸晥姝㈡湡">
-                        </el-table-column>
-                        <el-table-column
-                                prop="address"
-                                label="鎶曚繚浜烘暟">
-                        </el-table-column>
-                        <el-table-column
-                                prop="address"
-                                label="鍦ㄤ繚鏃堕暱锛堝ぉ锛�">
-                        </el-table-column>
-                        <el-table-column
-                                prop="address"
-                                label="褰撳墠璐圭敤">
-                        </el-table-column>
-                        <el-table-column
-                                prop="address"
-                                label="鎬昏垂鐢�">
-                        </el-table-column>
-                    </el-table>
-                </div>
-                <div class="desc_item_cate">
-                    <el-tabs v-model="activeName" @tab-click="handleClick">
-                        <el-tab-pane label="鍔犱繚鍛樺伐" name="first"></el-tab-pane>
-                        <el-tab-pane label="鍑忎繚鍛樺伐" name="second"></el-tab-pane>
-                    </el-tabs>
-                </div>
-                <div class="desc_item_from">
-                    <el-table
-                        :data="tableData"
-                        border
-                        style="width: 100%">
-                        <el-table-column label="搴忓彿">
-                            <template slot-scope="scope">
-                                <span>{{scope.$index + 1}}</span>
-                            </template>
-                        </el-table-column>
-                        <el-table-column
-                            prop="date"
-                            label="鍛樺伐濮撳悕">
-                        </el-table-column>
-                        <el-table-column
-                            prop="name"
-                            label="鎬у埆"
-                            width="180">
-                        </el-table-column>
-                        <el-table-column
-                            prop="address"
-                            label="韬唤璇佸彿">
-                        </el-table-column>
-                        <el-table-column
-                            prop="address"
-                            label="娲鹃仯鍗曚綅">
-                        </el-table-column>
-                        <el-table-column
-                            prop="address"
-                            label="鎵�灞炲伐绉�">
-                        </el-table-column>
-                        <el-table-column
-                            prop="address"
-                            label="淇濋櫓鐢熸晥璧锋湡">
-                        </el-table-column>
-                        <el-table-column
-                            prop="address"
-                            label="淇濋櫓鐢熸晥姝㈡湡">
-                        </el-table-column>
-                        <el-table-column
-                            prop="address"
-                            label="璐圭敤">
-                        </el-table-column>
-                    </el-table>
-                    <div class="desc_item_from_page">
-                        <el-pagination
-                            @size-change="handleSizeChange"
-                            @current-change="handleCurrentChange"
-                            :current-page="currentPage"
-                            :page-sizes="[100, 200, 300, 400]"
-                            :page-size="100"
-                            layout="total, sizes, prev, pager, next, jumper"
-                            :total="400">
-                        </el-pagination>
-                    </div>
-                </div>
-                <div class="desc_item_review">
-                    <div class="desc_item_review_label">瀹℃牳娴佺▼</div>
-                    <el-timeline :reverse="reverse">
-                        <el-timeline-item
-                                v-for="(activity, index) in activities"
-                                :key="index"
-                                :timestamp="activity.timestamp">
-                            {{activity.content}}
-                        </el-timeline-item>
-                    </el-timeline>
-                </div>
-            </div>
-        </div>
-        <!--    閫�鍥炴姇淇�    -->
-        <el-dialog
-            title="閫�鍥炴姇淇�"
-            :visible.sync="visible1"
-            :show-close="false"
-            :close-on-click-modal="false"
-            width="30%"
-            center>
-            <div class="form">
-                <div class="form_item">
-                    <div class="form_item_label"><span>*</span>濉啓閫�鍥炶鏄庯細</div>
-                    <div class="form_item_val">
-                        <textarea placeholder="璇疯緭鍏�"></textarea>
-                    </div>
-                </div>
-            </div>
-            <span slot="footer" class="dialog-footer">
-                <el-button @click="visible1 = false">鍙� 娑�</el-button>
-                <el-button type="primary" @click="visible1 = false">纭� 瀹�</el-button>
-            </span>
-        </el-dialog>
-        <!--    涓婁紶淇濋櫓鎵瑰崟    -->
-        <el-dialog
-            title="涓婁紶淇濋櫓鎵瑰崟"
-            :visible.sync="visible3"
-            :show-close="false"
-            :close-on-click-modal="false"
-            width="30%"
-            center>
-            <div class="form">
-                <div class="form_item">
-                    <div class="form_item_label">瀹㈡埛鏈熸湜鎵瑰崟鐢熸晥鏈燂細</div>
-                    <div class="form_item_val">2023-10-01 00:00:00</div>
-                </div>
-                <div class="form_item">
-                    <div class="form_item_label">鎵瑰崟鐢熸晥璧锋湡鏄惁涓�鑷达細</div>
-                    <div class="form_item_val">
-                        <el-radio-group v-model="radio">
-                            <el-radio :label="0">涓庢壒鍗曚竴鑷�</el-radio>
-                            <el-radio :label="1">涓庢壒鍗曚笉涓�鑷�</el-radio>
-                        </el-radio-group>
-                    </div>
-                </div>
-                <div class="form_item">
-                    <div class="form_item_label"><span>*</span>鎵瑰崟鐢熸晥鏈燂細</div>
-                    <div class="form_item_val">
-                        <el-date-picker
-                            v-model="value1"
-                            type="date"
-                            placeholder="閫夋嫨鏃ユ湡">
-                        </el-date-picker>
-                    </div>
-                </div>
-                <div class="form_item">
-                    <div class="form_item_label">鎵瑰崟鐢熸晥鏈燂細</div>
-                    <div class="form_item_val">2023-10-01 00:00:00</div>
-                </div>
-                <div class="form_item">
-                    <div class="form_item_label"><span>*</span>鎵瑰崟鍙凤細</div>
-                    <div class="form_item_val">
-                        <el-input placeholder="璇疯緭鍏�"></el-input>
-                    </div>
-                </div>
-                <div class="form_item">
-                    <div class="form_item_label">涓婁紶淇濋櫓鎵瑰崟锛�</div>
-                    <div class="form_item_val">
-                        <el-upload
-                                class="upload-demo"
-                                action="https://jsonplaceholder.typicode.com/posts/"
-                                :on-preview="handlePreview"
-                                :on-remove="handleRemove"
-                                :before-remove="beforeRemove"
-                                multiple
-                                :limit="1"
-                                :on-exceed="handleExceed"
-                                :file-list="fileList">
-                            <el-button size="small" type="primary">鐐瑰嚮涓婁紶</el-button>
-                            <div slot="tip" class="el-upload__tip">鍙兘涓婁紶pdf鏂囦欢锛屼笖涓嶈秴杩�5mb</div>
-                        </el-upload>
-                    </div>
-                </div>
-            </div>
-            <span slot="footer" class="dialog-footer">
-                <el-button @click="visible3 = false">鍙� 娑�</el-button>
-                <el-button type="primary" @click="visible3 = false">纭� 瀹�</el-button>
-            </span>
-        </el-dialog>
-        <!--    淇敼淇濋櫓鍗�    -->
-        <el-dialog
-            title="淇敼淇濋櫓鍗�"
-            :visible.sync="visible4"
-            :show-close="false"
-            :close-on-click-modal="false"
-            width="30%"
-            center>
-            <div class="form">
-                <div class="form_item">
-                    <div class="form_item_label"><span>*</span>淇濋櫓鐢熸晥鏈燂細</div>
-                    <div class="form_item_val">
-                        <el-date-picker
-                            style="width: 100%;"
-                            v-model="value1"
-                            type="date"
-                            placeholder="閫夋嫨鏃ユ湡">
-                        </el-date-picker>
-                    </div>
-                </div>
-                <div class="form_item">
-                    <div class="form_item_label"><span>*</span>淇濆崟鍙凤細</div>
-                    <div class="form_item_val">
-                        <el-input placeholder="璇疯緭鍏�"></el-input>
-                    </div>
-                </div>
-                <div class="form_item">
-                    <div class="form_item_label"><span>*</span>涓婁紶淇濋櫓鍗曪細</div>
-                    <div class="form_item_val">
-                        <el-upload
-                            class="upload-demo"
-                            action="https://jsonplaceholder.typicode.com/posts/"
-                            :on-preview="handlePreview"
-                            :on-remove="handleRemove"
-                            :before-remove="beforeRemove"
-                            multiple
-                            :limit="1"
-                            :on-exceed="handleExceed"
-                            :file-list="fileList">
-                            <el-button size="small" type="primary">鐐瑰嚮涓婁紶</el-button>
-                            <div slot="tip" class="el-upload__tip">鍙兘涓婁紶pdf鏂囦欢锛屼笖涓嶈秴杩�5mb</div>
-                        </el-upload>
-                    </div>
-                </div>
-                <div class="form_item">
-                    <div class="form_item_label"><span>*</span>淇敼鍘熷洜锛�</div>
-                    <div class="form_item_val">
-                        <el-input placeholder="璇疯緭鍏�"></el-input>
-                    </div>
-                </div>
-            </div>
-            <span slot="footer" class="dialog-footer">
-                <el-button @click="visible4 = false">鍙� 娑�</el-button>
-                <el-button type="primary" @click="visible4 = false">纭� 瀹�</el-button>
-            </span>
-        </el-dialog>
-        <applyChangeDetails ref="applyChangeDetails" />
-    </GlobalWindow>
-</template>
-
-<script>
-    import BaseOpera from '@/components/base/BaseOpera'
-    import GlobalWindow from '@/components/common/GlobalWindow'
-    import applyChangeDetails from '@/components/business/applyChangeDetails'
-    export default {
-        name: 'OperaApplyChangeWindow',
-        extends: BaseOpera,
-        components: { GlobalWindow, applyChangeDetails },
-        data () {
-            return {
-                // 琛ㄥ崟鏁版嵁
-                form: {
-                    id: null,
-                    editDate: ''
-                },
-                // 楠岃瘉瑙勫垯
-                rules: {
-                },
-                formInline: {
-                    user: '',
-                    region: ''
-                },
-                visible1: false,
-                visible2: false,
-                visible3: false,
-                visible4: false,
-                visible5: false,
-                reverse: true,
-                radio: 0,
-                fileList: [
-                    {name: 'food.pdf', url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100'}
-                ],
-                activities: [{
-                    content: '娲诲姩鎸夋湡寮�濮�',
-                    timestamp: '2018-04-15'
-                }, {
-                    content: '閫氳繃瀹℃牳',
-                    timestamp: '2018-04-13'
-                }, {
-                    content: '鍒涘缓鎴愬姛',
-                    timestamp: '2018-04-11'
-                }],
-                tableData: [],
-                activeName: 'first',
-                currentPage: 1
-            }
-        },
-        created () {
-            this.config({
-                api: '/business/insuranceApply',
-                'field.id': 'id'
-            })
-        },
-        methods: {
-            handleRemove(file, fileList) {
-                console.log(file, fileList);
-            },
-            handlePreview(file) {
-                console.log(file);
-            },
-            handleExceed(files, fileList) {
-                this.$message.warning(`褰撳墠闄愬埗閫夋嫨 3 涓枃浠讹紝鏈閫夋嫨浜� ${files.length} 涓枃浠讹紝鍏遍�夋嫨浜� ${files.length + fileList.length} 涓枃浠禶);
-            },
-            beforeRemove(file, fileList) {
-                return this.$confirm(`纭畾绉婚櫎 ${ file.name }锛焋);
-            },
-            successEvent() {
-
-            },
-            handleSizeChange(val) {
-                console.log(`姣忛〉 ${val} 鏉);
-            },
-            handleCurrentChange(val) {
-                console.log(`褰撳墠椤�: ${val}`);
-            },
-            handleClick(tab, event) {
-                console.log(tab, event);
-            },
-            onSubmit() {
-
-            }
-        }
-    }
-</script>
-<style>
-    .v-modal {
-        z-index: 2000 !important;
-    }
-</style>
-<style lang="scss" scoped>
-    .form {
-        width: 100%;
-        display: flex;
-        align-items: center;
-        flex-direction: column;
-        .form_span {
-            width: 100%;
-            display: flex;
-            align-items: start;
-            flex-direction: column;
-            margin-bottom: 20px;
-            span {
-                font-size: 14px;
-                &:nth-child(1) {
-                    color: black;
-                    margin-bottom: 5px;
-                }
-                &:nth-child(2) {
-                    color: #8c939d;
-                }
-            }
-        }
-        .form_item {
-            width: 100%;
-            display: flex;
-            align-items: center;
-            margin-bottom: 20px;
-            &:last-child {
-                margin: 0 !important;
-            }
-            .form_item_label {
-                flex-shrink: 0;
-                width: 170px;
-                color: black;
-                font-size: 14px;
-                span {
-                    color: red;
-                    font-size: 14px;
-                }
-            }
-            .form_item_val {
-                flex: 1;
-                /*height: 40px;*/
-                margin-left: 20px;
-                textarea {
-                    width: 100%;
-                    height: 70px;
-                    border: 1px solid #cbcbcb;
-                    padding: 10px;
-                    outline: none;
-                    box-sizing: border-box;
-                }
-                input {
-                    width: 100%;
-                    height: 40px;
-                    outline: none;
-                    border-radius: 5px;
-                    border: 1px solid #cbcbcb;
-                    padding: 0 20px;
-                    box-sizing: border-box;
-                }
-            }
-        }
-    }
-    .desc {
-        width: 100%;
-        .desc_item {
-            width: 100%;
-            display: flex;
-            flex-direction: column;
-            .desc_item_label {
-                width: 100%;
-                display: flex;
-                align-items: center;
-                justify-content: space-between;
-                margin-bottom: 10px;
-                span {
-                    font-size: 14px;
-                    color: black;
-                    margin-right: 30px;
-                }
-            }
-            .desc_item_from {
-                width: 100%;
-                margin-bottom: 10px;
-                .desc_item_from_page {
-                    width: 100%;
-                    display: flex;
-                    align-items: center;
-                    justify-content: end;
-                    margin-top: 10px;
-                }
-            }
-            .desc_item_cate {
-                width: 100%;
-                margin-bottom: 10px;
-            }
-            .desc_item_review {
-                width: 100%;
-                .desc_item_review_label {
-                    font-size: 20px;
-                    color: black;
-                    font-weight: bold;
-                    margin-bottom: 15px;
-                }
-            }
-        }
-    }
-</style>
diff --git a/platform/src/components/business/OperaCompanyDescWindow.vue b/platform/src/components/business/OperaCompanyDescWindow.vue
deleted file mode 100644
index a5b131e..0000000
--- a/platform/src/components/business/OperaCompanyDescWindow.vue
+++ /dev/null
@@ -1,401 +0,0 @@
-<template>
-    <GlobalWindow
-        :title="title"
-        width="100%"
-        :withFooter="false"
-        :visible.sync="visible"
-        :confirm-working="isWorking"
-        @confirm="confirm"
-    >
-        <div class="info">
-            <div class="info_label">
-                <span>浼佷笟璇︽儏</span>
-                <div>
-                    <el-button type="primary" @click="$refs.modification.open('淇敼淇濋櫓鏂规', form)">鏇存敼淇濋櫓鏂规</el-button>
-                    <el-button type="primary" @click="$refs.operaCompanyWindow.open('缂栬緫浼佷笟淇℃伅', form)">淇敼浼佷笟淇℃伅</el-button>
-                </div>
-            </div>
-            <div class="info_list">
-                <div class="info_list_item">
-                    <div class="info_list_item_label">浼佷笟鍚嶇О锛�</div>
-                    <div class="info_list_item_val">{{form.name || '-'}}</div>
-                </div>
-                <div class="info_list_item">
-                    <div class="info_list_item_label">缁熶竴淇$敤浠g爜锛�</div>
-                    <div class="info_list_item_val">{{form.code || '-'}}</div>
-                </div>
-                <div class="info_list_item">
-                    <div class="info_list_item_label">鍏徃璐﹀彿锛�</div>
-                    <div class="info_list_item_val">{{form.username || '-'}}</div>
-                </div>
-                <div class="info_list_item">
-                    <div class="info_list_item_label">缁戝畾鎵嬫満鍙凤細</div>
-                    <div class="info_list_item_val">
-                        {{form.phone || '-'}}
-                        <el-button type="primary" size="mini" style="margin-left: 10px;" @click="visiblePhone = true">鏇存敼缁戝畾</el-button>
-                    </div>
-                </div>
-                <div class="info_list_item">
-                    <div class="info_list_item_label">璁よ瘉閭锛�</div>
-                    <div class="info_list_item_val">{{form.email || '-'}}</div>
-                </div>
-                <div class="info_list_item">
-                    <div class="info_list_item_label">绾崇◣浜鸿瘑鍒彿锛�</div>
-                    <div class="info_list_item_val">{{form.taxCode || '-'}}</div>
-                </div>
-                <div class="info_list_item">
-                    <div class="info_list_item_label">寮�鎴疯锛�</div>
-                    <div class="info_list_item_val">{{form.taxBank || '-'}}</div>
-                </div>
-                <div class="info_list_item">
-                    <div class="info_list_item_label">閾惰璐﹀彿锛�</div>
-                    <div class="info_list_item_val">{{form.taxAccount || '-'}}</div>
-                </div>
-                <div class="info_list_item" style="width: 100%;">
-                    <div class="info_list_item_label">鍦板潃銆佺數璇濓細</div>
-                    <div class="info_list_item_val">{{form.taxAddr || '-'}}</div>
-                </div>
-                <div class="info_list_item" style="width: 100%;">
-                    <div class="info_list_item_label">鐢靛瓙鍙戠エ鎺ユ敹鍦板潃锛�</div>
-                    <div class="info_list_item_val">{{form.invoiceEmail || '-'}}</div>
-                </div>
-                <div class="info_list_item" style="width: 100%;">
-                    <div class="info_list_item_label">鐢靛瓙鍙戠エ鎺ユ敹鍦板潃锛�</div>
-                    <div class="info_list_item_val">{{form.invoiceAddr || '-'}}</div>
-                </div>
-            </div>
-            <el-table
-                :data="form.solutionListName"
-                border
-                style="width: 100%; margin-bottom: 20px;">
-                <el-table-column
-                    label="搴忓彿"
-                    align="center"
-                    width="80">
-                    <template slot-scope="scope">
-                        <span>{{scope.$index + 1}}</span>
-                    </template>
-                </el-table-column>
-                <el-table-column
-                    prop="solutionName"
-                    align="center"
-                    label="淇濋櫓鏂规">
-                </el-table-column>
-                <el-table-column
-                    align="center"
-                    label="鍔犲噺淇濆姛鑳�">
-                    <template slot-scope="{row}">
-                        <el-checkbox :true-label="1" :false-label="0" disabled v-model="row.canAdd">鍔犱繚</el-checkbox>
-                        <el-checkbox :true-label="1" :false-label="0" disabled v-model="row.canReduce">鍑忎繚</el-checkbox>
-                    </template>
-                </el-table-column>
-            </el-table>
-            <div class="info_list" v-if="JSON.stringify(form) !== '{}'">
-                <div class="info_list_item">
-                    <div class="info_list_item_label" style="width: 100px;">钀ヤ笟鎵х収锛�</div>
-                    <div class="info_list_item_val">
-                        <div class="image" v-if="form.businessImg.fileurlFull">
-                            <img :src="form.businessImg.fileurlFull" alt="">
-                        </div>
-                    </div>
-                </div>
-                <div class="info_list_item">
-                    <div class="info_list_item_label" style="width: 100px;">娉曚汉韬唤璇侊細</div>
-                    <div class="info_list_item_val">
-                        <div class="image" v-if="form.idcardImgList[0].fileurlFull">
-                            <img :src="form.idcardImgList[0].fileurlFull" alt="">
-                        </div>
-                        <div class="image" v-if="form.idcardImgList[1].fileurlFull">
-                            <img :src="form.idcardImgList[1].fileurlFull" alt="">
-                        </div>
-                    </div>
-                </div>
-                <div class="info_list_item">
-                    <div class="info_list_item_label" style="width: 100px;">浼佷笟绛剧珷锛�</div>
-                    <div class="info_list_item_val">
-                        <div class="image" v-if="form.signImg.fileurlFull">
-                            <img :src="form.signImg.fileurlFull" alt="">
-                        </div>
-                    </div>
-                </div>
-            </div>
-        </div>
-        <!-- 鏂板缓/淇敼 -->
-        <OperaCompanyWindow ref="operaCompanyWindow" @success="callback"/>
-        <!-- 淇敼淇濋櫓鏂规 -->
-        <modification ref="modification" @success="callback"/>
-        <!-- 淇敼鎵嬫満鍙� -->
-        <el-dialog
-            title="鏇存敼缁戝畾鎵嬫満鍙�"
-            :visible.sync="visiblePhone"
-            width="500px"
-            :modal="false"
-            :show-close="false"
-            :close-on-click-modal="false"
-            center>
-            <div class="form">
-                <div class="form_item">
-                    <div class="form_item_label">缁戝畾鎵嬫満鍙凤細</div>
-                    <div class="form_item_val">
-                        <el-input v-model="phone" placeholder="璇疯緭鍏�"></el-input>
-                    </div>
-                </div>
-                <div class="form_item">
-                    <div class="form_item_label">楠岃瘉鐮侊細</div>
-                    <div class="form_item_val">
-                        <el-input v-model="code" placeholder="璇疯緭鍏�"></el-input>
-                        <el-button type="primary" style="margin-left: 20px;" @click="send" v-if="num === 0">鍙戦�侀獙璇佺爜</el-button>
-                        <el-button type="primary" style="flex-shrink: 0; margin-left: 15px;" v-else>{{num}}s</el-button>
-                    </div>
-                </div>
-            </div>
-            <span slot="footer" class="dialog-footer">
-                <el-button @click="close">鍙� 娑�</el-button>
-                <el-button type="primary" @click="updatePhoneEvent">鎻� 浜�</el-button>
-            </span>
-        </el-dialog>
-    </GlobalWindow>
-</template>
-
-<script>
-    import BaseOpera from '@/components/base/BaseOpera'
-    import GlobalWindow from '@/components/common/GlobalWindow'
-    import OperaCompanyWindow from '@/components/business/OperaCompanyWindow'
-    import modification from '@/components/business/modification'
-    import { getById, updatePhone } from '@/api/business/company'
-    import { listForCompany } from '@/api/business/solutions'
-    import { sendSms } from '@/api/business/smsEmail'
-    export default {
-        name: 'OperaCompanyDescWindow',
-        extends: BaseOpera,
-        components: { GlobalWindow, OperaCompanyWindow, modification },
-        data () {
-            return {
-                ruleForm: {
-                    phone: '',
-                    code: ''
-                },
-                num: 0,
-                timer: null,
-                // 琛ㄥ崟鏁版嵁
-                form: {},
-                phone: '',
-                code: '',
-                visiblePhone: false,
-                options: [],
-                tableData: []
-            }
-        },
-        created () {
-            this.config({
-                api: '/business/company',
-                'field.id': 'id'
-            })
-        },
-        methods: {
-            close() {
-                this.visiblePhone = false
-                this.phone = ''
-                this.code = ''
-                clearInterval(this.timer)
-                this.num = 0
-            },
-            updatePhoneEvent() {
-                if (!this.phone) {
-                    this.$message.warning('璇疯緭鍏ユ墜鏈哄彿')
-                    return
-                }
-                if (!this.code) {
-                    this.$message.warning('璇疯緭鍏ラ獙璇佺爜')
-                    return
-                }
-                updatePhone({
-                    id: this.form.id,
-                    captche: this.code,
-                    phone: this.phone
-                }).then(res => {
-                    this.form.phone = JSON.parse(JSON.stringify(this.phone))
-                    this.$message.success('鎿嶄綔鎴愬姛')
-                    this.visiblePhone = false
-                    this.phone = ''
-                    this.code = ''
-                    clearInterval(this.timer)
-                    this.num = 0
-                })
-            },
-            send() {
-                if (!this.phone) {
-                    this.$message.warning('璇疯緭鍏ユ墜鏈哄彿')
-                    return
-                }
-                sendSms({ phone: this.phone })
-                    .then(res => {
-                        this.num = 60
-                        this.setTime()
-                    })
-            },
-            setTime() {
-                this.timer = setInterval(() => {
-                    this.num -= 1
-                    if (this.num === 0) {
-                        clearInterval(this.timer)
-                        this.num = 0
-                    }
-                }, 1000)
-            },
-            open (title, target) {
-                const that = this;
-                this.title = title
-                this.phone = ''
-                this.code = ''
-                clearInterval(this.timer)
-                this.num = 0
-                getById(target.id)
-                    .then(res => {
-                        this.form = res
-                        this.form.type = 1
-
-                        this.form.file = {
-                            imgurl: '',
-                            imgurlfull: ''
-                        }
-                        this.form.file1 = {
-                            imgurl: '',
-                            imgurlfull: ''
-                        }
-                        this.form.file2 = {
-                            imgurl: '',
-                            imgurlfull: ''
-                        }
-                        this.form.file3 = {
-                            imgurl: '',
-                            imgurlfull: ''
-                        }
-
-                        this.form.file.imgurl = res.businessImg.fileurl
-                        this.form.file.imgurlfull = res.businessImg.fileurlFull
-                        this.form.file1.imgurl = res.idcardImgList[0].fileurl
-                        this.form.file1.imgurlfull = res.idcardImgList[0].fileurlFull
-                        this.form.file2.imgurl = res.idcardImgList[1].fileurl
-                        this.form.file2.imgurlfull = res.idcardImgList[1].fileurlFull
-                        this.form.file3.imgurl = res.signImg.fileurl
-                        this.form.file3.imgurlfull = res.signImg.fileurlFull
-
-                        listForCompany({ companyId: target.id })
-                            .then(resa => {
-                                that.form.solutionList = resa.map(item => {
-                                    return {
-                                        solutionBaseId: item.solutionBaseId,
-                                        canAdd: item.canAdd,
-                                        canReduce: item.canReduce
-                                    }
-                                })
-                                that.form.solutionListName = resa.map(item => {
-                                    return {
-                                        solutionName: item.solutionName,
-                                        canAdd: item.canAdd,
-                                        canReduce: item.canReduce
-                                    }
-                                })
-                                console.log(that.form)
-                                that.visible = true
-                            })
-                    })
-            },
-            callback() {
-                this.$emit('success')
-                this.visible = false
-            }
-        }
-    }
-</script>
-
-<style lang="scss" scoped>
-    .form {
-        width: 100%;
-        display: flex;
-        flex-direction: column;
-        .form_item {
-            width: 100%;
-            display: flex;
-            align-items: center;
-            margin-bottom: 20px;
-            &:last-child {
-                margin-bottom: 0 !important;
-            }
-            .form_item_label {
-                width: 100px;
-                flex-shrink: 0;
-                font-size: 14px;
-                color: black;
-            }
-            .form_item_val {
-                flex: 1;
-                height: 35px;
-                display: flex;
-                align-items: center;
-                input {
-                    width: 100%;
-                    height: 100%;
-                    font-size: 14px;
-                    color: black;
-                    padding: 5px 10px;
-                    outline: none;
-                    box-sizing: border-box;
-                    border: 1px solid #ececec;
-                }
-            }
-        }
-    }
-    .info {
-        width: 100%;
-        .info_label {
-            width: 100%;
-            display: flex;
-            align-items: center;
-            justify-content: space-between;
-            margin-bottom: 20px;
-            span {
-                font-size: 18px;
-                font-weight: 500;
-                color: #000000;
-            }
-        }
-        .info_list {
-            width: 100%;
-            display: flex;
-            align-items: center;
-            flex-wrap: wrap;
-            .info_list_item {
-                width: 33.3%;
-                display: flex;
-                align-items: start;
-                margin-bottom: 20px;
-                .info_list_item_label {
-                    width: 150px;
-                    flex-shrink: 0;
-                }
-                .info_list_item_val {
-                    flex: 1;
-                    display: flex;
-                    align-items: center;
-                    .image {
-                        width: 100px;
-                        height: 100px;
-                        display: flex;
-                        align-items: center;
-                        justify-content: center;
-                        overflow: hidden;
-                        margin-right: 10px;
-                        &:last-child {
-                            margin: 0 !important;
-                        }
-                        img {
-                            width: 100%;
-                        }
-                    }
-                }
-            }
-        }
-    }
-</style>
diff --git a/platform/src/components/business/OperaCompanyWindow.vue b/platform/src/components/business/OperaCompanyWindow.vue
deleted file mode 100644
index 44c6e69..0000000
--- a/platform/src/components/business/OperaCompanyWindow.vue
+++ /dev/null
@@ -1,335 +0,0 @@
-<template>
-    <GlobalWindow
-        :title="title"
-        width="50%"
-        :visible.sync="visible"
-        :confirm-working="isWorking"
-        @confirm="confirm"
-    >
-        <el-form :model="form" ref="form" :rules="rules" style="width: 50%;">
-            <el-form-item label="鍏徃鍚嶇О" prop="name">
-                <el-input v-model="form.name" placeholder="璇疯緭鍏�" v-trim/>
-            </el-form-item>
-            <el-form-item label="缁熶竴淇$敤浠g爜" prop="code">
-                <el-input v-model="form.code" placeholder="璇疯緭鍏�" v-trim/>
-            </el-form-item>
-            <el-form-item label="娉曚汉濮撳悕" prop="legalName" v-if="form.type !== 1">
-                <el-input v-model="form.legalName" placeholder="璇疯緭鍏�" v-trim/>
-            </el-form-item>
-            <el-form-item label="缁戝畾鎵嬫満鍙�" prop="phone" v-if="form.type !== 1">
-                <div style="width: 100%; display: flex; align-items: center;">
-                    <el-input v-model="form.phone" maxlength="11" type="number" style="flex: 1;" placeholder="璇疯緭鍏�" v-trim/>
-                    <el-button type="primary" style="flex-shrink: 0; margin-left: 15px;" @click="send" v-if="num === 0">鍙戦�侀獙璇佺爜</el-button>
-                    <el-button type="primary" style="flex-shrink: 0; margin-left: 15px;" v-else>{{num}}s</el-button>
-                </div>
-            </el-form-item>
-            <el-form-item label="楠岃瘉鐮�" prop="captche" v-if="form.type !== 1">
-                <el-input v-model="form.captche" placeholder="璇疯緭鍏�" v-trim/>
-            </el-form-item>
-            <el-form-item label="鍏徃璐﹀彿" prop="username" v-if="form.type !== 1">
-                <el-input v-model="form.username" placeholder="璇疯緭鍏�" v-trim/>
-            </el-form-item>
-            <el-form-item label="璁よ瘉閭" prop="email" v-if="form.type !== 1">
-                <el-input v-model="form.email" placeholder="璇疯緭鍏�" v-trim/>
-            </el-form-item>
-            <el-form-item label="绾崇◣浜鸿瘑鍒彿" prop="taxCode">
-                <el-input v-model="form.taxCode" placeholder="璇疯緭鍏�" v-trim/>
-            </el-form-item>
-            <el-form-item label="閾惰璐﹀彿" prop="taxAccount">
-                <el-input v-model="form.taxAccount" placeholder="璇疯緭鍏�" v-trim/>
-            </el-form-item>
-            <el-form-item label="寮�鎴疯" prop="taxBank">
-                <el-input v-model="form.taxBank" placeholder="璇疯緭鍏�" v-trim/>
-            </el-form-item>
-            <el-form-item label="鍦板潃銆佺數璇�" prop="taxAddr">
-                <el-input v-model="form.taxAddr" placeholder="璇疯緭鍏�" v-trim/>
-            </el-form-item>
-            <el-form-item label="鐢靛瓙鍙戠エ鎺ユ敹鍦板潃" prop="invoiceEmail">
-                <el-input v-model="form.invoiceEmail" placeholder="璇疯緭鍏�" v-trim/>
-            </el-form-item>
-            <el-form-item label="绾歌川鍙戠エ鎺ユ敹鍦板潃" prop="invoiceAddr">
-                <el-input v-model="form.invoiceAddr" placeholder="璇疯緭鍏�" v-trim/>
-            </el-form-item>
-            <el-form-item label="钀ヤ笟鎵х収" prop="businessImg">
-                <UploadAvatarImage :uploadData="{ folder: 'company' }" :file="form.file" @uploadSuccess="result" />
-            </el-form-item>
-            <el-form-item label="娉曚汉韬唤璇�" prop="idcardImgList">
-                <div style="width: 100%; display: flex; align-items: center;">
-                    <UploadAvatarImage :uploadData="{ folder: 'company' }" :file="form.file1" @uploadSuccess="result1" />
-                    <div style="width: 15px;height: 100%;"></div>
-                    <UploadAvatarImage :uploadData="{ folder: 'company' }" :file="form.file2" @uploadSuccess="result2" />
-                </div>
-            </el-form-item>
-            <el-form-item label="鐢靛瓙绛剧珷" prop="signImg">
-                <UploadAvatarImage :uploadData="{ folder: 'company' }" :file="form.file3" @uploadSuccess="result3" />
-            </el-form-item>
-        </el-form>
-        <el-button type="primary" style="margin-bottom: 15px;" @click="add" v-if="form.type !== 1">娣诲姞</el-button>
-        <el-table
-            v-if="form.type !== 1"
-            :data="form.solutionList"
-            border
-            style="width: 100%">
-            <el-table-column
-                label="搴忓彿"
-                align="center"
-                width="80">
-                <template slot-scope="scope">
-                    <span>{{scope.$index + 1}}</span>
-                </template>
-            </el-table-column>
-            <el-table-column
-                align="center"
-                label="淇濋櫓鏂规">
-                <template slot-scope="{row}">
-                    <el-select v-model="row.solutionBaseId" placeholder="璇烽�夋嫨">
-                        <el-option
-                            v-for="item in programme"
-                            :key="item.id"
-                            :label="item.name"
-                            :value="item.id">
-                        </el-option>
-                    </el-select>
-                </template>
-            </el-table-column>
-            <el-table-column
-                align="center"
-                label="鍔犲噺淇濆姛鑳�">
-                <template slot-scope="{row}">
-                    <el-checkbox :true-label="1" :false-label="0" v-model="row.canAdd">鍔犱繚</el-checkbox>
-                    <el-checkbox :true-label="1" :false-label="0" v-model="row.canReduce">鍑忎繚</el-checkbox>
-                </template>
-            </el-table-column>
-            <el-table-column
-                label="鎿嶄綔"
-                align="center"
-                width="100">
-                <template slot-scope="scope">
-                    <el-button type="text" size="small" style="color: red;" @click="dele(scope.$index)">鍒犻櫎</el-button>
-                </template>
-            </el-table-column>
-        </el-table>
-    </GlobalWindow>
-</template>
-
-<script>
-    import BaseOpera from '@/components/base/BaseOpera'
-    import GlobalWindow from '@/components/common/GlobalWindow'
-    import UploadAvatarImage from '@/components/common/UploadAvatarImage'
-    import { all } from '@/api/business/solutions'
-    import { sendSms } from '@/api/business/smsEmail'
-    export default {
-        name: 'OperaCompanyWindow',
-        extends: BaseOpera,
-        components: { GlobalWindow, UploadAvatarImage },
-        data () {
-            return {
-                // 琛ㄥ崟鏁版嵁
-                form: {
-                    id: null,
-                    name: '',
-                    code: '',
-                    legalName: '',
-                    taxCode: '',
-                    taxAccount: '',
-                    username: '',
-                    taxBank: '',
-                    taxAddr: '',
-                    invoiceEmail: '',
-                    invoiceAddr: '',
-                    phone: '',
-                    email: '',
-                    captche: '',
-                    businessImg: {
-                        fileurl: '',
-                        name: ''
-                    },
-                    idcardImgList: [],
-                    signImg: {
-                        fileurl: '',
-                        name: ''
-                    },
-                    solutionList: [
-                        {
-                            solutionBaseId: '',
-                            canAdd: 0,
-                            canReduce: 0
-                        }
-                    ],
-                    type: '',
-                    file: {
-                        imgurl: '',
-                        imgurlfull: ''
-                    },
-                    file1: {
-                        imgurl: '',
-                        imgurlfull: ''
-                    },
-                    file2: {
-                        imgurl: '',
-                        imgurlfull: ''
-                    },
-                    file3: {
-                        imgurl: '',
-                        imgurlfull: ''
-                    },
-                },
-                timer: null,
-                num: 0,
-                // 楠岃瘉瑙勫垯
-                rules: {
-                    name: [
-                        { required: true, message: '璇疯緭鍏ュ叕鍙稿悕绉�' }
-                    ],
-                    code: [
-                        { required: true, message: '璇疯緭鍏ョ粺涓�淇$敤浠g爜' }
-                    ],
-                    captche: [
-                        { required: true, message: '璇疯緭鍏ラ獙璇佺爜' }
-                    ],
-                    legalName: [
-                        { required: true, message: '璇疯緭鍏ユ硶浜哄鍚�' }
-                    ],
-                    phone: [
-                        { required: true, message: '璇疯緭鍏ユ墜鏈哄彿' }
-                    ],
-                    taxAccount: [
-                        { required: true, message: '璇疯緭鍏ユ墜鏈哄彿' }
-                    ],
-                    email: [
-                        { required: true, message: '璇疯緭鍏ヨ璇侀偖绠�' }
-                    ],
-                    businessImg: [
-                        { required: true, message: '璇蜂笂浼犺惀涓氭墽鐓�' }
-                    ],
-                    idcardImgList: [
-                        { required: true, message: '璇蜂笂浼犳硶浜鸿韩浠借瘉' }
-                    ],
-                    signImg: [
-                        { required: true, message: '璇蜂笂浼犵數瀛愮绔�' }
-                    ],
-                    username: [
-                        { required: true, message: '璇疯緭鍏ュ叕鍙歌处鍙�' }
-                    ]
-                },
-
-                programme: []
-            }
-        },
-        created () {
-            this.config({
-                api: '/business/company',
-                'field.id': 'id'
-            })
-        },
-        watch: {
-            visible: {
-                handler(news) {
-                    if (news) {
-                        clearInterval(this.timer)
-                        this.num = 0
-                    }
-                }
-            }
-        },
-        methods: {
-            send() {
-                if (!this.form.phone) {
-                    this.$message.warning('璇疯緭鍏ユ墜鏈哄彿')
-                    return
-                }
-                sendSms({ phone: this.form.phone })
-                    .then(res => {
-                        this.num = 60
-                        this.setTime()
-                    })
-            },
-            setTime() {
-                this.timer = setInterval(() => {
-                    this.num -= 1
-                    if (this.num === 0) {
-                        clearInterval(this.timer)
-                        this.num = 0
-                    }
-                }, 1000)
-            },
-            open (title, target) {
-                this.title = title
-                this.visible = true
-                this.getAll()
-                // 鏂板缓
-                if (target == null) {
-                    this.$nextTick(() => {
-                        this.$refs.form.resetFields()
-                        this.form[this.configData['field.id']] = null
-                    })
-                    return
-                }
-                // 缂栬緫
-                this.$nextTick(() => {
-                    for (const key in this.form) {
-                        this.form[key] = target[key]
-                    }
-                })
-            },
-            // 鑾峰彇鍏ㄩ儴鏂规
-            getAll() {
-                all({})
-                    .then(res => {
-                        this.programme = res
-                    })
-            },
-            dele(index) {
-                if (this.form.solutionList.length === 1) {
-                    this.$message.warning('鑷冲皯淇濈暀涓�椤�')
-                    return
-                }
-                this.form.solutionList.splice(index, 1)
-            },
-            add() {
-                this.form.solutionList.push({
-                    solutionName: '',
-                    canAdd: '',
-                    canReduce: ''
-                })
-            },
-            handleRemove(file, fileList) {
-                console.log(file, fileList);
-            },
-            // 鎺ユ敹钀ヤ笟鎵х収鏁版嵁
-            result(data) {
-                this.form.businessImg = {
-                    fileurl: '',
-                    name: ''
-                }
-                this.form.businessImg.fileurl = data.imgurl
-                this.form.businessImg.name = data.name
-            },
-            // 韬唤璇佺収鐗�1
-            result1(data) {
-                this.form.idcardImgList[0] = {
-                    fileurl: '',
-                    name: ''
-                }
-                this.form.idcardImgList[0] = { fileurl: data.imgurl, name: data.name }
-            },
-            // 韬唤璇佺収鐗�2
-            result2(data) {
-                this.form.idcardImgList[1] = {
-                    fileurl: '',
-                    name: ''
-                }
-                this.form.idcardImgList[1] = { fileurl: data.imgurl, name: data.name }
-            },
-            // 鐢靛瓙绛剧珷
-            result3(data) {
-                this.form.signImg = {
-                    fileurl: '',
-                    name: ''
-                }
-                this.form.signImg.fileurl = data.imgurl
-                this.form.signImg.name = data.name
-            }
-        }
-    }
-</script>
diff --git a/platform/src/components/business/OperaDispatchUnitWindow.vue b/platform/src/components/business/OperaDispatchUnitWindow.vue
index 3593eed..a9d80df 100644
--- a/platform/src/components/business/OperaDispatchUnitWindow.vue
+++ b/platform/src/components/business/OperaDispatchUnitWindow.vue
@@ -1,244 +1,292 @@
 <template>
     <GlobalWindow
         :title="title"
-        width="50%"
         :visible.sync="visible"
         :confirm-working="isWorking"
         @confirm="confirm"
     >
-        <div class="box">
-            <div class="box_label">娲鹃仯鍗曚綅璇︽儏</div>
-            <div class="box_list">
-                <div class="box_list_item">
-                    <div class="box_list_item_label">娲鹃仯鍗曚綅锛�</div>
-                    <div class="box_list_item_val">鑺滄箹鏍煎姏绮惧瘑鍒堕�犳湁闄愬叕鍙�</div>
-                </div>
-                <div class="box_list_item">
-                    <div class="box_list_item_label">娲鹃仯鍗曚綅淇$敤浠g爜锛�</div>
-                    <div class="box_list_item_val">913401000900000001</div>
-                </div>
-                <div class="box_list_item">
-                    <div class="box_list_item_label">娲鹃仯鍗曚綅鐘舵�侊細</div>
-                    <div class="box_list_item_val">宸查�氳繃</div>
-                </div>
-                <div class="box_list_item">
-                    <div class="box_list_item_label">娲鹃仯鍗曚綅璇﹁堪锛�</div>
-                    <div class="box_list_item_val">鏃�</div>
-                </div>
-            </div>
-            <div class="box_x"></div>
-            <div class="box_fa">淇濋櫓鏂规锛氬钩瀹変繚闄╅泧涓昏矗浠婚櫓A鐗�</div>
-            <el-table
-                :data="tableData"
-                border
-                style="width: 100%">
-                <el-table-column
-                    label="搴忓彿"
-                    align="center"
-                    width="80">
-                    <template slot-scope="scope">
-                        <span>{{scope.$index + 1}}</span>
-                    </template>
-                </el-table-column>
-                <el-table-column
-                    align="center"
-                    label="鎵�灞炲伐绉�">
-                    <template slot-scope="{row}">
-                        <el-select v-model="row.info" placeholder="璇烽�夋嫨">
+        <el-form :model="form" ref="form" :rules="rules">
+            <el-form-item label="娲鹃仯鍗曚綅鍚嶇О" prop="name">
+                <el-input v-model="form.name" placeholder="璇疯緭鍏�" v-trim/>
+            </el-form-item>
+            <el-form-item label="娲鹃仯鍗曚綅淇$敤浠g爜" prop="code">
+                <el-input v-model="form.code" placeholder="璇疯緭鍏�" v-trim/>
+            </el-form-item>
+            <el-form-item label="娲鹃仯鍗曚綅鎻忚堪" prop="content">
+                <el-input v-model="form.content" placeholder="璇疯緭鍏�" v-trim/>
+            </el-form-item>
+        </el-form>
+        <div class="list">
+            <el-button type="primary" style="margin-bottom: 15px;" @click="add">娣诲姞鏂规</el-button>
+            <div class="list_item" v-for="(item, index) in form.saveDuSolutionDTOList" :key="index">
+                <div class="list_item_input">
+                    <div class="list_item_input_label"><span>*</span>淇濋櫓鏂规</div>
+                    <div class="list_item_input_val">
+                        <el-select v-model="item.solutionId" @change="changeTypeWork($event, index)" placeholder="璇烽�夋嫨">
                             <el-option
-                                v-for="item in options"
-                                :key="item.value"
-                                :label="item.label"
-                                :value="item.value">
+                                v-for="item in insuranceScheme"
+                                :key="item.id"
+                                :label="item.name"
+                                :value="item.id">
                             </el-option>
                         </el-select>
-                    </template>
-                </el-table-column>
-                <el-table-column
-                    label="瀹℃牳閫氳繃鏃ユ湡"
-                    width="150"
-                    align="center"
-                    prop="time">
-                </el-table-column>
-            </el-table>
-            <div class="box_videos">
-                <div class="box_videos_item" v-for="(item,index) in 1" :key="index">
-                    <video src="https://baidu.com"></video>
-                    <div class="box_videos_item_info">
-                        1-3绫� 钄彍/鍥壓宸�/瀹剁瀹剁暅楗插吇浜哄憳
+                        <div style="display: flex; align-items: center;">
+                            <el-button type="primary" @click="addItem(index)">娣诲姞</el-button>
+                            <el-button type="danger" @click="deleItem(index)">鍒犻櫎</el-button>
+                        </div>
                     </div>
                 </div>
-            </div>
-            <div class="box_fa">淇濋櫓鏂规锛氬钩瀹変繚闄╅泧涓昏矗浠婚櫓A鐗�</div>
-            <el-table
-                    :data="tableData"
-                    border
-                    style="width: 100%">
-                <el-table-column
-                        label="搴忓彿"
-                        align="center"
-                        width="80">
-                    <template slot-scope="scope">
-                        <span>{{scope.$index + 1}}</span>
-                    </template>
-                </el-table-column>
-                <el-table-column
-                        align="center"
-                        label="鎵�灞炲伐绉�">
-                    <template slot-scope="{row}">
-                        <el-select v-model="row.info" placeholder="璇烽�夋嫨">
-                            <el-option
-                                    v-for="item in options"
-                                    :key="item.value"
-                                    :label="item.label"
-                                    :value="item.value">
-                            </el-option>
-                        </el-select>
-                    </template>
-                </el-table-column>
-                <el-table-column
-                        label="瀹℃牳閫氳繃鏃ユ湡"
-                        width="150"
-                        align="center"
-                        prop="time">
-                </el-table-column>
-            </el-table>
-            <div class="box_videos">
-                <div class="box_videos_item" v-for="(item,index) in 1" :key="index">
-                    <video src="https://baidu.com"></video>
-                    <div class="box_videos_item_info">
-                        1-3绫� 钄彍/鍥壓宸�/瀹剁瀹剁暅楗插吇浜哄憳
-                    </div>
+                <div class="list_item_table">
+                    <el-table
+                        :data="item.saveDuWorkTypeDTOList"
+                        border
+                        style="width: 100%">
+                        <el-table-column label="搴忓彿" width="80px">
+                            <template slot-scope="scope">
+                                <span>{{scope.$index + 1}}</span>
+                            </template>
+                        </el-table-column>
+                        <el-table-column
+                            prop="name"
+                            label="鎵�灞炲伐绉�">
+                            <template slot-scope="scope">
+                                <el-select v-model="scope.row.workTypeId" @change="changeGZ($event, index, scope.$index)" placeholder="璇烽�夋嫨">
+                                    <el-option
+                                        v-for="item in item.typeWork"
+                                        :key="item.id"
+                                        :label="item.name"
+                                        :value="item.id">
+                                    </el-option>
+                                </el-select>
+                            </template>
+                        </el-table-column>
+                        <el-table-column
+                            prop="address"
+                            label="鎿嶄綔瑙嗛锛堥潪蹇呭~锛�">
+                            <template slot-scope="scope">
+                                <div style="width: 100px; height: 100px;">
+                                    <UploadAvatarVideo :uploadData="{ folder: 'unit' }" :file="scope.row.file" @uploadSuccess="result($event, index, scope.$index)" />
+                                </div>
+                            </template>
+                        </el-table-column>
+                        <el-table-column
+                            label="鎿嶄綔"
+                            width="90"
+                            fixed="right">
+                            <template slot-scope="scope">
+                                <el-button type="text" @click="dele(index, scope.$index)">鍒犻櫎</el-button>
+                            </template>
+                        </el-table-column>
+                    </el-table>
                 </div>
             </div>
-            <div class="box_label">瀹℃牳娴佺▼</div>
-            <el-timeline :reverse="reverse" style="margin-top: 20px;">
-                <el-timeline-item
-                    v-for="(activity, index) in activities"
-                    :key="index"
-                    :timestamp="activity.timestamp">
-                    {{activity.content}}
-                </el-timeline-item>
-            </el-timeline>
         </div>
     </GlobalWindow>
 </template>
 
 <script>
-    import BaseOpera from '@/components/base/BaseOpera'
-    import GlobalWindow from '@/components/common/GlobalWindow'
-    export default {
-        name: 'OperaDispatchUnitWindow',
-        extends: BaseOpera,
-        components: { GlobalWindow },
-        data () {
-            return {
-                reverse: true,
-                activities: [{
-                    content: '鎻愪氦娲鹃仯鍗曚綅',
-                    timestamp: '鎿嶄綔鍛�-寮犱紵锛堝畨寰借眴绫崇鎶�鏈夐檺鍏徃锛塡n' +
-                        '\n' +
-                        '2023-09-11 00:00:00'
-                }, {
-                    content: '娲鹃仯鍗曚綅閫氳繃\n' +
-                        '\n' +
-                        '\n' +
-                        '鎻愪氦鎰忚锛�-',
-                    timestamp: '鎿嶄綔鍛�-鍙舵樉楠忥紙骞冲彴绔級\n' +
-                        '\n' +
-                        '2023-09-11 00:00:00'
-                }],
-                // 琛ㄥ崟鏁版嵁
-                form: {
-                    id: null,
-                    worktypeStatus: ''
-                },
-                // 楠岃瘉瑙勫垯
-                rules: {
-                },
-                tableData: []
-            }
-        },
-        created () {
-            this.config({
-                api: '/business/dispatchUnit',
-                'field.id': 'id'
-            })
-        }
+import BaseOpera from '@/components/base/BaseOpera'
+import GlobalWindow from '@/components/common/GlobalWindow'
+import UploadAvatarVideo from '@/components/common/UploadAvatarVideo'
+import { all } from '@/api/business/solutions'
+import { findListByDTO } from '@/api/business/worktype'
+export default {
+  name: 'OperaDispatchUnitWindow',
+  extends: BaseOpera,
+  components: { GlobalWindow, UploadAvatarVideo },
+  data () {
+    return {
+      // 琛ㄥ崟鏁版嵁
+      form: {
+        id: null,
+        name: '',
+        code: '',
+        content: '',
+        saveDuSolutionDTOList: [
+          {
+            id: '',
+            saveDuWorkTypeDTOList: [
+              {
+                videoUrl: '',
+                workTypeId: '',
+                workTypeName: '',
+                file: {
+                  videourl: '',
+                  videourlfull: ''
+                }
+              }
+            ],
+            typeWork: [],
+            solutionId: '',
+            solutionName: ''
+          }
+        ]
+      },
+      // 楠岃瘉瑙勫垯
+      rules: {
+        name: [
+          { required: true, message: '璇疯緭鍏ユ淳閬e崟浣嶅悕绉�' }
+        ],
+        code: [
+          { required: true, message: '璇疯緭鍏ユ淳閬e崟浣嶄俊鐢ㄤ唬鐮�' }
+        ],
+        content: [
+          { required: true, message: '璇疯緭鍏ユ淳閬e崟浣嶆弿杩�' }
+        ]
+      },
+      insuranceScheme: []
     }
+  },
+  created () {
+    this.config({
+      api: '/business/dispatchUnit',
+      'field.id': 'id'
+    })
+    all({})
+      .then(res => {
+        this.insuranceScheme = res
+      })
+  },
+  methods: {
+    open (title, target) {
+      this.title = title
+      this.visible = true
+      this.form.saveDuSolutionDTOList = [
+        {
+          id: '',
+          saveDuWorkTypeDTOList: [
+            {
+              videoUrl: '',
+              workTypeId: '',
+              workTypeName: '',
+              file: {
+                videourl: '',
+                videourlfull: ''
+              }
+            }
+          ],
+          typeWork: [],
+          solutionId: '',
+          solutionName: ''
+        }
+      ]
+      // 鏂板缓
+      if (target == null) {
+        this.$nextTick(() => {
+          this.$refs.form.resetFields()
+          this.form[this.configData['field.id']] = null
+        })
+        return
+      }
+      // 缂栬緫
+      this.$nextTick(() => {
+        for (const key in this.form) {
+          this.form[key] = target[key]
+        }
+      })
+    },
+    // 鍒囨崲宸ョ
+    changeGZ(a, b, c) {
+      let text = ''
+      this.form.saveDuSolutionDTOList[b].typeWork.forEach(item => {
+        if (item.id === a) {
+          text = item.name
+        }
+      })
+      this.form.saveDuSolutionDTOList[b].saveDuWorkTypeDTOList[c].workTypeName = text
+    },
+    // 鍒囨崲鏂规
+    changeTypeWork(id, index) {
+      findListByDTO({ queryType: 0, id })
+        .then(res => {
+          this.form.saveDuSolutionDTOList[index].typeWork = res
+        })
+      let text = ''
+      this.insuranceScheme.forEach(item => {
+        if (item.id === id) {
+          text = item.name
+        }
+      })
+      this.form.saveDuSolutionDTOList[index].solutionName = text
+    },
+    add() {
+      this.form.saveDuSolutionDTOList.unshift({
+        id: '',
+        saveDuWorkTypeDTOList: [
+          {
+            videoUrl: '',
+            workTypeId: '',
+            file: {
+              videourl: '',
+              videourlfull: ''
+            }
+          }
+        ],
+        solutionId: ''
+      })
+    },
+    addItem(index) {
+      this.form.saveDuSolutionDTOList[index].saveDuWorkTypeDTOList.push({
+        videoUrl: '',
+        workTypeId: '',
+        file: {
+          videourl: '',
+          videourlfull: ''
+        }
+      })
+    },
+    deleItem(index) {
+      if (this.form.saveDuSolutionDTOList.length === 1) {
+        this.$message.warning('鑷冲皯淇濈暀涓�椤瑰唴瀹�')
+        return
+      }
+      this.form.saveDuSolutionDTOList.splice(index, 1)
+    },
+    result(e, a, b) {
+      this.form.saveDuSolutionDTOList[a].saveDuWorkTypeDTOList[b].videoUrl = e.imgurl
+    },
+    dele(a, b) {
+      if (this.form.saveDuSolutionDTOList[a].saveDuWorkTypeDTOList.length === 1) {
+        this.$message.warning('鑷冲皯淇濈暀涓�椤瑰唴瀹�')
+        return
+      }
+      this.form.saveDuSolutionDTOList[a].saveDuWorkTypeDTOList.splice(b, 1)
+    }
+  }
+}
 </script>
 
 <style lang="scss" scoped>
-    .box {
+    .list {
         width: 100%;
-        .box_label {
-            font-size: 20px;
-            font-weight: 600;
-            margin-bottom: 10px;
-        }
-        .box_list {
+        margin-bottom: 20px;
+        .list_item {
             width: 100%;
-            display: flex;
-            align-items: center;
-            flex-wrap: wrap;
-            justify-content: space-between;
-            .box_list_item {
-                width: 33.3%;
-                display: flex;
-                align-items: center;
-                margin-top: 10px;
-                .box_list_item_label {
-                    flex-shrink: 0;
+            margin-bottom: 20px;
+            &:last-child {
+                margin: 0 !important;
+            }
+            .list_item_input {
+                width: 100%;
+                margin-bottom: 15px;
+                .list_item_input_label {
+                    margin-bottom: 10px;
                     font-size: 14px;
-                    color: black;
+                    color: #606266;
+                    span {
+                        color: red;
+                        margin-right: 4px;
+                    }
                 }
-                .box_list_item_val {
-                    flex: 1;
-                    font-size: 14px;
-                    color: black;
+                .list_item_input_val {
+                    width: 100%;
+                    display: flex;
+                    align-items: center;
+                    justify-content: space-between;
                 }
             }
-        }
-        .box_x {
-            width: 100%;
-            height: 1px;
-            background: #ececec;
-            margin: 20px 0;
-        }
-        .box_fa {
-            font-size: 14px;
-            color: black;
-            margin-bottom: 20px;
-        }
-        .box_videos {
-            width: 100%;
-            display: flex;
-            flex-wrap: wrap;
-            align-items: center;
-            margin-top: 20px;
-            .box_videos_item {
-                width: 300px;
-                padding: 5px;
-                box-sizing: border-box;
-                display: flex;
-                align-items: start;
-                border: 1px solid #ececec;
-                margin-right: 20px;
-                margin-bottom: 20px;
-                &:last-child {
-                    margin-right: 0 !important;
-                }
-                video {
-                    flex-shrink: 0;
-                    width: 100px;
-                    height: 100px;
-                }
-                .box_videos_item_info {
-                    flex: 1;
-                    font-size: 14px;
-                    color: black;
-                    margin-left: 5px;
-                }
+            .list_item_table {
+
             }
         }
     }
diff --git a/platform/src/components/business/OperaInsuranceApplyWindow.vue b/platform/src/components/business/OperaInsuranceApplyWindow.vue
deleted file mode 100644
index b61ea73..0000000
--- a/platform/src/components/business/OperaInsuranceApplyWindow.vue
+++ /dev/null
@@ -1,593 +0,0 @@
-<template>
-    <GlobalWindow
-        :title="title"
-        width="80%"
-        :visible.sync="visible"
-        :confirm-working="isWorking"
-        @confirm="confirm"
-    >
-        <div class="desc">
-            <div class="desc_item">
-                <div class="desc_item_label">
-                    <div class="desc_item_label_left">
-                        <span>鎶曚繚浼佷笟锛氬畨寰藉钩瀹変汉鍔涜祫婧愭湁闄愬叕鍙�</span>
-                        <span>淇濆崟鐘舵�侊細寰呭嚭鍗�</span>
-                        <span>鎻愪氦鏃堕棿锛�2023-09-11 00:00:00</span>
-                    </div>
-                    <div class="desc_item_label_right">
-                        <el-button type="primary" @click="$refs.InsuranceDetails.open('鎶曚繚璇︽儏鍗�')">瀵煎嚭璇﹀崟</el-button>
-                        <el-button type="primary" @click="visible2 = true">涓婁紶鎶曚繚鍗�</el-button>
-                        <el-button type="primary" @click="visible3 = true">涓婁紶淇濋櫓鍗�</el-button>
-                        <el-button type="primary" @click="visible5 = true">椹冲洖閫�鍥炵敵璇�</el-button>
-                        <el-button type="primary" @click="$refs.InsuranceDetails.open('鎶曚繚璇︽儏鍗�')">鎶曚繚瀹℃牳</el-button>
-                        <el-button type="danger" @click="visible1 = true">閫�鍥炴姇淇�</el-button>
-                        <el-button type="danger" @click="visible4 = true">淇敼淇濋櫓鍗�</el-button>
-                    </div>
-                </div>
-                <div class="desc_item_from">
-                    <el-table
-                        :data="tableData"
-                        border
-                        style="width: 100%">
-                        <el-table-column
-                            prop="date"
-                            label="淇濆崟鍙�">
-                        </el-table-column>
-                        <el-table-column
-                            prop="name"
-                            label="淇濋櫓鏂规"
-                            width="180">
-                        </el-table-column>
-                        <el-table-column
-                            prop="address"
-                            label="淇濋櫓鐢熸晥璧锋湡">
-                        </el-table-column>
-                        <el-table-column
-                            prop="address"
-                            label="淇濋櫓鐢熸晥姝㈡湡">
-                        </el-table-column>
-                        <el-table-column
-                            prop="address"
-                            label="鎶曚繚浜烘暟">
-                        </el-table-column>
-                        <el-table-column
-                            prop="address"
-                            label="鍦ㄤ繚鏃堕暱锛堝ぉ锛�">
-                        </el-table-column>
-                        <el-table-column
-                            prop="address"
-                            label="褰撳墠璐圭敤">
-                        </el-table-column>
-                        <el-table-column
-                            prop="address"
-                            label="鎬昏垂鐢�">
-                        </el-table-column>
-                    </el-table>
-                </div>
-                <div class="desc_item_cate">
-                    <el-tabs v-model="activeName" @tab-click="handleClick">
-                        <el-tab-pane label="鍦ㄤ繚浜哄憳" name="first"></el-tab-pane>
-                        <el-tab-pane label="鍔�/鍑忎繚璁板綍" name="second"></el-tab-pane>
-                        <el-tab-pane label="鎹㈠巶璁板綍" name="third"></el-tab-pane>
-                    </el-tabs>
-                </div>
-                <div class="desc_item_search">
-                    <el-form :inline="true" :model="formInline" class="demo-form-inline">
-                        <el-form-item label="鍦ㄤ繚鐘舵��" prop="region">
-                            <el-select v-model="formInline.region" placeholder="璇烽�夋嫨">
-                                <el-option label="淇濋殰涓�" value="1"></el-option>
-                                <el-option label="涓嶅湪淇�" value="2"></el-option>
-                            </el-select>
-                        </el-form-item>
-                        <el-form-item label="娲鹃仯鍗曚綅" prop="region">
-                            <el-select v-model="formInline.region" placeholder="璇烽�夋嫨">
-                                <el-option label="淇濋殰涓�" value="1"></el-option>
-                                <el-option label="涓嶅湪淇�" value="2"></el-option>
-                            </el-select>
-                        </el-form-item>
-                        <el-form-item label="鎵�灞炲伐绉�" prop="region">
-                            <el-select v-model="formInline.region" placeholder="璇烽�夋嫨">
-                                <el-option label="淇濋殰涓�" value="1"></el-option>
-                                <el-option label="涓嶅湪淇�" value="2"></el-option>
-                            </el-select>
-                        </el-form-item>
-                        <el-form-item label="鍛樺伐濮撳悕" prop="user">
-                            <el-input v-model="formInline.user" placeholder="璇疯緭鍏�"></el-input>
-                        </el-form-item>
-                        <el-form-item label="淇濋櫓鐢熸晥璧锋湡" prop="user">
-                            <el-date-picker
-                                v-model="formInline.user"
-                                type="daterange"
-                                range-separator="鑷�"
-                                start-placeholder="寮�濮嬫棩鏈�"
-                                end-placeholder="缁撴潫鏃ユ湡">
-                            </el-date-picker>
-                        </el-form-item>
-                        <el-form-item label="淇濋櫓鐢熸晥璧锋湡" prop="user">
-                            <el-date-picker
-                                v-model="formInline.user"
-                                type="daterange"
-                                range-separator="鑷�"
-                                start-placeholder="寮�濮嬫棩鏈�"
-                                end-placeholder="缁撴潫鏃ユ湡">
-                            </el-date-picker>
-                        </el-form-item>
-                        <section>
-                            <el-button type="primary" @click="onSubmit">鏌ヨ</el-button>
-                            <el-button>閲嶇疆</el-button>
-                            <el-button type="primary">瀵煎嚭鍚嶅崟</el-button>
-                        </section>
-                    </el-form>
-                </div>
-                <div class="desc_item_from">
-                    <el-table
-                        :data="tableData"
-                        border
-                        style="width: 100%">
-                        <el-table-column label="搴忓彿">
-                            <template slot-scope="scope">
-                                <span>{{scope.$index + 1}}</span>
-                            </template>
-                        </el-table-column>
-                        <el-table-column
-                            prop="date"
-                            label="鍛樺伐濮撳悕">
-                        </el-table-column>
-                        <el-table-column
-                            prop="name"
-                            label="鎬у埆"
-                            width="180">
-                        </el-table-column>
-                        <el-table-column
-                            prop="address"
-                            label="韬唤璇佸彿">
-                        </el-table-column>
-                        <el-table-column
-                            prop="address"
-                            label="娲鹃仯鍗曚綅">
-                        </el-table-column>
-                        <el-table-column
-                            prop="address"
-                            label="鎵�灞炲伐绉�">
-                        </el-table-column>
-                        <el-table-column
-                            prop="address"
-                            label="淇濋櫓鐢熸晥璧锋湡">
-                        </el-table-column>
-                        <el-table-column
-                            prop="address"
-                            label="淇濋櫓鐢熸晥姝㈡湡">
-                        </el-table-column>
-                        <el-table-column
-                            prop="address"
-                            label="浜х敓璐圭敤锛堝厓锛�">
-                        </el-table-column>
-                    </el-table>
-                    <div class="desc_item_from_page">
-                        <el-pagination
-                            @size-change="handleSizeChange"
-                            @current-change="handleCurrentChange"
-                            :current-page="currentPage"
-                            :page-sizes="[100, 200, 300, 400]"
-                            :page-size="100"
-                            layout="total, sizes, prev, pager, next, jumper"
-                            :total="400">
-                        </el-pagination>
-                    </div>
-                </div>
-                <div class="desc_item_review">
-                    <div class="desc_item_review_label">瀹℃牳娴佺▼</div>
-                    <el-timeline :reverse="reverse">
-                        <el-timeline-item
-                            v-for="(activity, index) in activities"
-                            :key="index"
-                            :timestamp="activity.timestamp">
-                            {{activity.content}}
-                        </el-timeline-item>
-                    </el-timeline>
-                </div>
-            </div>
-        </div>
-        <InsuranceDetails ref="InsuranceDetails" @success="successEvent" />
-        <!--    閫�鍥炴姇淇�    -->
-        <el-dialog
-            title="閫�鍥炴姇淇�"
-            :visible.sync="visible1"
-            :show-close="false"
-            :close-on-click-modal="false"
-            width="30%"
-            center>
-            <div class="form">
-                <div class="form_item">
-                    <div class="form_item_label"><span>*</span>濉啓閫�鍥炶鏄庯細</div>
-                    <div class="form_item_val">
-                        <textarea placeholder="璇疯緭鍏�"></textarea>
-                    </div>
-                </div>
-            </div>
-            <span slot="footer" class="dialog-footer">
-                <el-button @click="visible1 = false">鍙� 娑�</el-button>
-                <el-button type="primary" @click="visible1 = false">纭� 瀹�</el-button>
-            </span>
-        </el-dialog>
-        <!--    涓婁紶鎶曚繚鍗�    -->
-        <el-dialog
-            title="涓婁紶鎶曚繚鍗�"
-            :visible.sync="visible2"
-            :show-close="false"
-            :close-on-click-modal="false"
-            width="30%"
-            center>
-            <div class="form">
-                <div class="form_item">
-                    <div class="form_item_label">涓婁紶鎶曚繚鍗曪細</div>
-                    <div class="form_item_val">
-                        <el-upload
-                            class="upload-demo"
-                            action="https://jsonplaceholder.typicode.com/posts/"
-                            :on-preview="handlePreview"
-                            :on-remove="handleRemove"
-                            :before-remove="beforeRemove"
-                            multiple
-                            :limit="1"
-                            :on-exceed="handleExceed"
-                            :file-list="fileList">
-                            <el-button size="small" type="primary">鐐瑰嚮涓婁紶</el-button>
-                            <div slot="tip" class="el-upload__tip">鍙兘涓婁紶pdf鏂囦欢锛屼笖涓嶈秴杩�5mb</div>
-                        </el-upload>
-                    </div>
-                </div>
-            </div>
-            <span slot="footer" class="dialog-footer">
-                <el-button @click="visible2 = false">鍙� 娑�</el-button>
-                <el-button type="primary" @click="visible2 = false">纭� 瀹�</el-button>
-            </span>
-        </el-dialog>
-        <!--    涓婁紶淇濋櫓鍗�    -->
-        <el-dialog
-            title="涓婁紶淇濋櫓鍗�"
-            :visible.sync="visible3"
-            :show-close="false"
-            :close-on-click-modal="false"
-            width="30%"
-            center>
-            <div class="form">
-                <div class="form_item">
-                    <div class="form_item_label">瀹㈡埛鏈熸湜淇濋櫓鐢熸晥璧锋湡锛�</div>
-                    <div class="form_item_val">2023-10-01 00:00:00</div>
-                </div>
-                <div class="form_item">
-                    <div class="form_item_label">淇濋櫓鐢熸晥璧锋湡鏄惁涓�鑷达細</div>
-                    <div class="form_item_val">
-                        <el-radio-group v-model="radio">
-                            <el-radio :label="0">涓庝繚鍗曚竴鑷�</el-radio>
-                            <el-radio :label="1">涓庝繚鍗曚笉涓�鑷�</el-radio>
-                        </el-radio-group>
-                    </div>
-                </div>
-                <div class="form_item">
-                    <div class="form_item_label"><span>*</span>淇濋櫓鐢熸晥璧锋湡锛�</div>
-                    <div class="form_item_val">
-                        <el-date-picker
-                            v-model="value1"
-                            type="date"
-                            placeholder="閫夋嫨鏃ユ湡">
-                        </el-date-picker>
-                    </div>
-                </div>
-                <div class="form_item">
-                    <div class="form_item_label">淇濋櫓鐢熸晥璧锋湡锛�</div>
-                    <div class="form_item_val">2023-10-01 00:00:00</div>
-                </div>
-                <div class="form_item">
-                    <div class="form_item_label"><span>*</span>淇濆崟鍙凤細</div>
-                    <div class="form_item_val">
-                        <el-input placeholder="璇疯緭鍏�"></el-input>
-                    </div>
-                </div>
-                <div class="form_item">
-                    <div class="form_item_label">涓婁紶淇濋櫓鍗曪細</div>
-                    <div class="form_item_val">
-                        <el-upload
-                            class="upload-demo"
-                            action="https://jsonplaceholder.typicode.com/posts/"
-                            :on-preview="handlePreview"
-                            :on-remove="handleRemove"
-                            :before-remove="beforeRemove"
-                            multiple
-                            :limit="1"
-                            :on-exceed="handleExceed"
-                            :file-list="fileList">
-                            <el-button size="small" type="primary">鐐瑰嚮涓婁紶</el-button>
-                            <div slot="tip" class="el-upload__tip">鍙兘涓婁紶pdf鏂囦欢锛屼笖涓嶈秴杩�5mb</div>
-                        </el-upload>
-                    </div>
-                </div>
-            </div>
-            <span slot="footer" class="dialog-footer">
-                <el-button @click="visible3 = false">鍙� 娑�</el-button>
-                <el-button type="primary" @click="visible3 = false">纭� 瀹�</el-button>
-            </span>
-        </el-dialog>
-        <!--    淇敼淇濋櫓鍗�    -->
-        <el-dialog
-            title="淇敼淇濋櫓鍗�"
-            :visible.sync="visible4"
-            :show-close="false"
-            :close-on-click-modal="false"
-            width="30%"
-            center>
-            <div class="form">
-                <div class="form_item">
-                    <div class="form_item_label"><span>*</span>淇濋櫓鐢熸晥璧锋湡锛�</div>
-                    <div class="form_item_val">
-                        <el-date-picker
-                            v-model="value1"
-                            type="date"
-                            placeholder="閫夋嫨鏃ユ湡">
-                        </el-date-picker>
-                    </div>
-                </div>
-                <div class="form_item">
-                    <div class="form_item_label"><span>*</span>淇濆崟鍙凤細</div>
-                    <div class="form_item_val">
-                        <el-input placeholder="璇疯緭鍏�"></el-input>
-                    </div>
-                </div>
-                <div class="form_item">
-                    <div class="form_item_label"><span>*</span>涓婁紶淇濋櫓鍗曪細</div>
-                    <div class="form_item_val">
-                        <el-upload
-                            class="upload-demo"
-                            action="https://jsonplaceholder.typicode.com/posts/"
-                            :on-preview="handlePreview"
-                            :on-remove="handleRemove"
-                            :before-remove="beforeRemove"
-                            multiple
-                            :limit="1"
-                            :on-exceed="handleExceed"
-                            :file-list="fileList">
-                            <el-button size="small" type="primary">鐐瑰嚮涓婁紶</el-button>
-                            <div slot="tip" class="el-upload__tip">鍙兘涓婁紶pdf鏂囦欢锛屼笖涓嶈秴杩�5mb</div>
-                        </el-upload>
-                    </div>
-                </div>
-                <div class="form_item">
-                    <div class="form_item_label"><span>*</span>淇敼鍘熷洜锛�</div>
-                    <div class="form_item_val">
-                        <el-input placeholder="璇疯緭鍏�"></el-input>
-                    </div>
-                </div>
-            </div>
-            <span slot="footer" class="dialog-footer">
-                <el-button @click="visible4 = false">鍙� 娑�</el-button>
-                <el-button type="primary" @click="visible4 = false">纭� 瀹�</el-button>
-            </span>
-        </el-dialog>
-        <!--    椹冲洖閫�鍥炵敵璇�    -->
-        <el-dialog
-            title="椹冲洖閫�鍥炵敵璇�"
-            :visible.sync="visible5"
-            :show-close="false"
-            :close-on-click-modal="false"
-            width="30%"
-            center>
-            <div class="form">
-                <div class="form_item">
-                    <div class="form_item_label"><span>*</span>濉啓璇存槑锛�</div>
-                    <div class="form_item_val">
-                        <textarea placeholder="璇疯緭鍏�"></textarea>
-                    </div>
-                </div>
-            </div>
-            <span slot="footer" class="dialog-footer">
-                <el-button @click="visible5 = false">鍙� 娑�</el-button>
-                <el-button type="primary" @click="visible5 = false">纭� 瀹�</el-button>
-            </span>
-        </el-dialog>
-    </GlobalWindow>
-</template>
-
-<script>
-    import BaseOpera from '@/components/base/BaseOpera'
-    import GlobalWindow from '@/components/common/GlobalWindow'
-    import InsuranceDetails from '@/components/business/InsuranceDetails'
-    export default {
-        name: 'OperaInsuranceApplyWindow',
-        extends: BaseOpera,
-        components: { GlobalWindow, InsuranceDetails },
-        data () {
-            return {
-                // 琛ㄥ崟鏁版嵁
-                form: {
-                    id: null,
-                    editDate: ''
-                },
-                // 楠岃瘉瑙勫垯
-                rules: {
-                },
-                formInline: {
-                    user: '',
-                    region: ''
-                },
-                visible1: false,
-                visible2: false,
-                visible3: false,
-                visible4: false,
-                visible5: false,
-                reverse: true,
-                radio: 0,
-                fileList: [
-                    {name: 'food.pdf', url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100'}
-                ],
-                activities: [{
-                    content: '娲诲姩鎸夋湡寮�濮�',
-                    timestamp: '2018-04-15'
-                }, {
-                    content: '閫氳繃瀹℃牳',
-                    timestamp: '2018-04-13'
-                }, {
-                    content: '鍒涘缓鎴愬姛',
-                    timestamp: '2018-04-11'
-                }],
-                tableData: [],
-                activeName: 'first',
-                currentPage: 1
-            }
-        },
-        created () {
-            this.config({
-                api: '/business/insuranceApply',
-                'field.id': 'id'
-            })
-        },
-        methods: {
-            handleRemove(file, fileList) {
-                console.log(file, fileList);
-            },
-            handlePreview(file) {
-                console.log(file);
-            },
-            handleExceed(files, fileList) {
-                this.$message.warning(`褰撳墠闄愬埗閫夋嫨 3 涓枃浠讹紝鏈閫夋嫨浜� ${files.length} 涓枃浠讹紝鍏遍�夋嫨浜� ${files.length + fileList.length} 涓枃浠禶);
-            },
-            beforeRemove(file, fileList) {
-                return this.$confirm(`纭畾绉婚櫎 ${ file.name }锛焋);
-            },
-            successEvent() {
-
-            },
-            handleSizeChange(val) {
-                console.log(`姣忛〉 ${val} 鏉);
-            },
-            handleCurrentChange(val) {
-                console.log(`褰撳墠椤�: ${val}`);
-            },
-            handleClick(tab, event) {
-                console.log(tab, event);
-            },
-            onSubmit() {
-
-            }
-        }
-    }
-</script>
-<style>
-    .v-modal {
-        z-index: 2000 !important;
-    }
-</style>
-<style lang="scss" scoped>
-    .form {
-        width: 100%;
-        display: flex;
-        align-items: center;
-        flex-direction: column;
-        .form_span {
-            width: 100%;
-            display: flex;
-            align-items: start;
-            flex-direction: column;
-            margin-bottom: 20px;
-            span {
-                font-size: 14px;
-                &:nth-child(1) {
-                    color: black;
-                    margin-bottom: 5px;
-                }
-                &:nth-child(2) {
-                    color: #8c939d;
-                }
-            }
-        }
-        .form_item {
-            width: 100%;
-            display: flex;
-            align-items: center;
-            margin-bottom: 20px;
-            &:last-child {
-                margin: 0 !important;
-            }
-            .form_item_label {
-                flex-shrink: 0;
-                width: 170px;
-                color: black;
-                font-size: 14px;
-                span {
-                    color: red;
-                    font-size: 14px;
-                }
-            }
-            .form_item_val {
-                flex: 1;
-                /*height: 40px;*/
-                margin-left: 20px;
-                textarea {
-                    width: 100%;
-                    height: 70px;
-                    border: 1px solid #cbcbcb;
-                    padding: 10px;
-                    outline: none;
-                    box-sizing: border-box;
-                }
-                input {
-                    width: 100%;
-                    height: 40px;
-                    outline: none;
-                    border-radius: 5px;
-                    border: 1px solid #cbcbcb;
-                    padding: 0 20px;
-                    box-sizing: border-box;
-                }
-            }
-        }
-    }
-    .desc {
-        width: 100%;
-        .desc_item {
-            width: 100%;
-            display: flex;
-            flex-direction: column;
-            .desc_item_label {
-                width: 100%;
-                display: flex;
-                align-items: center;
-                justify-content: space-between;
-                margin-bottom: 10px;
-                span {
-                    font-size: 14px;
-                    color: black;
-                    margin-right: 30px;
-                }
-            }
-            .desc_item_from {
-                width: 100%;
-                margin-bottom: 10px;
-                .desc_item_from_page {
-                    width: 100%;
-                    display: flex;
-                    align-items: center;
-                    justify-content: end;
-                    margin-top: 10px;
-                }
-            }
-            .desc_item_cate {
-                width: 100%;
-                margin-bottom: 10px;
-            }
-            .desc_item_search {
-                width: 100%;
-                margin-bottom: 20px;
-            }
-            .desc_item_review {
-                width: 100%;
-                .desc_item_review_label {
-                    font-size: 20px;
-                    color: black;
-                    font-weight: bold;
-                    margin-bottom: 15px;
-                }
-            }
-        }
-    }
-</style>
diff --git a/platform/src/components/business/OperaInsuranceDescWindow.vue b/platform/src/components/business/OperaInsuranceDescWindow.vue
deleted file mode 100644
index 9d65468..0000000
--- a/platform/src/components/business/OperaInsuranceDescWindow.vue
+++ /dev/null
@@ -1,111 +0,0 @@
-<template>
-    <GlobalWindow
-        :title="title"
-        submitText="淇敼"
-        :visible.sync="visible"
-        :confirm-working="isWorking"
-        @confirm="$refs.operaInsuranceWindow.open('缂栬緫淇濋櫓鍏徃', form)"
-    >
-        <div class="box">
-            <div class="box_name">
-                <span>淇濋櫓鍏徃锛歿{form.name}}</span>
-                <span>鏄惁鍚敤锛歿{form.status == 0 ? '鍚敤' : '绂佺敤'}}</span>
-            </div>
-            <el-table
-                :data="tableData"
-                border>
-                <el-table-column
-                    label="搴忓彿"
-                    align="center"
-                    width="80">
-                    <template slot-scope="scope">
-                        <span>{{scope.$index + 1}}</span>
-                    </template>
-                </el-table-column>
-                <el-table-column
-                    prop="name"
-                    align="center"
-                    label="宸ョ鍚嶇О">
-                </el-table-column>
-            </el-table>
-        </div>
-        <!-- 鏂板缓/淇敼 -->
-        <OperaInsuranceWindow ref="operaInsuranceWindow" @success="success"/>
-    </GlobalWindow>
-</template>
-
-<script>
-    import BaseOpera from '@/components/base/BaseOpera'
-    import GlobalWindow from '@/components/common/GlobalWindow'
-    import OperaInsuranceWindow from '@/components/business/OperaInsuranceWindow'
-    import { all } from '@/api/business/worktype'
-    export default {
-        name: 'OperaInsuranceDescWindow',
-        extends: BaseOpera,
-        components: { GlobalWindow, OperaInsuranceWindow },
-        data () {
-            return {
-                // 琛ㄥ崟鏁版嵁
-                form: {
-                    id: null,
-                    name: '',
-                    status: ''
-                },
-                tableData: []
-            }
-        },
-        created () {
-            this.config({
-                api: '/business/insurance',
-                'field.id': 'id'
-            })
-        },
-        methods: {
-            open (title, target) {
-                this.title = title
-                this.visible = true
-                // 鏂板缓
-                if (target == null) {
-                    this.$nextTick(() => {
-                        this.$refs.form.resetFields()
-                        this.form[this.configData['field.id']] = null
-                    })
-                    return
-                }
-                // 缂栬緫
-                this.$nextTick(() => {
-                    for (const key in this.form) {
-                        this.form[key] = target[key]
-                    }
-                    all({ insuranceId: this.form.id })
-                        .then(res => {
-                            let arr = []
-                            res.forEach(item => {
-                                arr.push({ name: item.name })
-                            })
-                            this.tableData = arr
-                        })
-                })
-            },
-            success() {
-                this.$emit('success')
-                this.visible = false
-            }
-        }
-    }
-</script>
-<style lang="scss" scoped>
-    .box {
-        width: 100%;
-        .box_name {
-            display: flex;
-            align-items: center;
-            margin-bottom: 10px;
-            span {
-                font-size: 16px;
-                color: black;
-                margin-right: 30px;
-            }
-        }
-    }
-</style>
diff --git a/platform/src/components/business/OperaInsuranceWindow.vue b/platform/src/components/business/OperaInsuranceWindow.vue
deleted file mode 100644
index ed719f6..0000000
--- a/platform/src/components/business/OperaInsuranceWindow.vue
+++ /dev/null
@@ -1,157 +0,0 @@
-<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="name">
-                <el-input v-model="form.name" placeholder="骞冲畨淇濋櫓" v-trim/>
-            </el-form-item>
-            <div style="width: 100%; display: flex; align-items: center;margin-bottom: 10px;">
-                <el-button type="primary" @click="add">娣诲姞</el-button>
-                <el-button type="primary" @click="impor">瀵煎叆宸ョ</el-button>
-                <el-button type="text" @click="exprot">瀵煎叆妯$増xls</el-button>
-            </div>
-            <el-table
-                :data="form.worktypeList"
-                border
-                style="width: 100%; margin-bottom: 20px;">
-                <el-table-column
-                    label="搴忓彿"
-                    align="center"
-                    width="80">
-                    <template slot-scope="scope">
-                        <span>{{scope.$index + 1}}</span>
-                    </template>
-                </el-table-column>
-                <el-table-column
-                    align="center"
-                    label="宸ョ鍚嶇О">
-                    <template slot-scope="{row}">
-                        <el-input v-model="row.name" placeholder="璇疯緭鍏�" v-trim/>
-                    </template>
-                </el-table-column>
-                <el-table-column
-                    label="鎿嶄綔"
-                    align="center"
-                    width="100">
-                    <template slot-scope="scope">
-                        <el-button type="text" size="small" style="color: red;" @click="dele(scope.$index)">鍒犻櫎</el-button>
-                    </template>
-                </el-table-column>
-            </el-table>
-        </el-form>
-        <!--    涓婁紶宸ョ    -->
-        <input type="file" @change="getFile" style="opacity: 0;" ref="upload" accept=".xlsx" />
-    </GlobalWindow>
-</template>
-
-<script>
-    import BaseOpera from '@/components/base/BaseOpera'
-    import GlobalWindow from '@/components/common/GlobalWindow'
-    import { importExcel, all } from '@/api/business/worktype'
-
-    export default {
-        name: 'OperaInsuranceWindow',
-        extends: BaseOpera,
-        components: { GlobalWindow },
-        data () {
-            return {
-                // 琛ㄥ崟鏁版嵁
-                form: {
-                    id: null,
-                    name: '',
-                    worktypeList: [
-                        { name: '' }
-                    ]
-                },
-                // 楠岃瘉瑙勫垯
-                rules: {
-                }
-            }
-        },
-        created () {
-            this.config({
-                api: '/business/insurance',
-                'field.id': 'id'
-            })
-        },
-        methods: {
-            open (title, target) {
-                this.title = title
-                this.visible = true
-                // 鏂板缓
-                if (target == null) {
-                    this.$nextTick(() => {
-                        this.$refs.form.resetFields()
-                        this.form[this.configData['field.id']] = null
-                    })
-                    return
-                }
-                // 缂栬緫
-                this.$nextTick(() => {
-                    for (const key in this.form) {
-                        this.form[key] = target[key]
-                    }
-                    all({ insuranceId: this.form.id })
-                        .then(res => {
-                            let arr = []
-                            res.forEach(item => {
-                                arr.push({ name: item.name })
-                            })
-                            this.form.worktypeList = arr
-                        })
-                })
-            },
-            // 瀵煎嚭妯℃澘
-            exprot() {
-                let a = document.createElement("a");
-                a.href = '/public/file/typeWork.xlsx';
-                a.download = '淇濋櫓鍏徃-宸ョ瀵煎叆妯$増.xlsx';
-                a.click();
-            },
-            // 瀵煎叆宸ョ妯℃澘
-            getFile(e) {
-                const formdate = new FormData()
-                formdate.append('file', e.target.files[0])
-                importExcel(formdate)
-                    .then(res => {
-                        res.forEach(item => {
-                            if (this.form.worktypeList.length === 0) {
-                                this.form.worktypeList.push({ name: item })
-                            } else {
-                                let next = true
-                                this.form.worktypeList.forEach(row => {
-                                    if (row.name === item) {
-                                        next = false
-                                    }
-                                })
-                                if (next) {
-                                    this.form.worktypeList.push({ name: item })
-                                }
-                            }
-                        })
-                    })
-                    .finally(() => {
-                        this.$refs.upload.value = null
-                    })
-            },
-            // 涓婁紶鏂囦欢
-            impor() {
-                this.$refs.upload.click()
-            },
-            add() {
-                this.form.worktypeList.push({ name: '' })
-            },
-            dele(index) {
-                if (this.form.worktypeList.length === 1) {
-                    this.$message.warning('鑷冲皯淇濈暀涓�椤瑰唴瀹�')
-                    return
-                }
-                this.form.worktypeList.splice(index, 1)
-            }
-        }
-    }
-</script>
diff --git a/platform/src/components/business/OperaMemberWindow.vue b/platform/src/components/business/OperaMemberWindow.vue
deleted file mode 100644
index acec779..0000000
--- a/platform/src/components/business/OperaMemberWindow.vue
+++ /dev/null
@@ -1,121 +0,0 @@
-<template>
-    <GlobalWindow
-            :title="title"
-            width="70%"
-            :visible.sync="visible"
-            :confirm-working="isWorking"
-            @confirm="confirm"
-    >
-        <div class="box">
-            <div class="box_label">
-                <div class="box_label_left">
-                    <span>濮撳悕锛氱帇鏌愭煇</span>
-                    <span>韬唤璇佸彿锛�340411190001010011</span>
-                    <span>鎶曚繚鐘舵�侊細淇濋殰涓�</span>
-                </div>
-                <el-button type="primary">瀵煎嚭璁板綍</el-button>
-            </div>
-            <el-table
-                :data="tableData"
-                border
-                style="width: 100%">
-                <el-table-column
-                    label="搴忓彿"
-                    align="center"
-                    width="80">
-                    <template slot-scope="scope">
-                        <span>{{scope.$index + 1}}</span>
-                    </template>
-                </el-table-column>
-                <el-table-column
-                    align="center"
-                    prop="type"
-                    label="淇濋櫓鏂规">
-                </el-table-column>
-                <el-table-column
-                    align="center"
-                    prop="type"
-                    label="淇濆崟鍙�">
-                </el-table-column>
-                <el-table-column
-                    align="center"
-                    prop="type"
-                    label="鎵瑰崟鍙�">
-                </el-table-column>
-                <el-table-column
-                    align="center"
-                    prop="type"
-                    label="娲鹃仯鍗曚綅">
-                </el-table-column>
-                <el-table-column
-                    align="center"
-                    prop="type"
-                    label="鎵�灞炲伐绉�">
-                </el-table-column>
-                <el-table-column
-                    align="center"
-                    prop="type"
-                    label="淇濋櫓鐢熸晥璧锋湡">
-                </el-table-column>
-                <el-table-column
-                    align="center"
-                    prop="type"
-                    label="淇濋櫓鐢熸晥姝㈡湡">
-                </el-table-column>
-            </el-table>
-        </div>
-    </GlobalWindow>
-</template>
-
-<script>
-    import BaseOpera from '@/components/base/BaseOpera'
-    import GlobalWindow from '@/components/common/GlobalWindow'
-    export default {
-        name: 'OperaMemberWindow',
-        extends: BaseOpera,
-        components: { GlobalWindow },
-        data () {
-            return {
-                // 琛ㄥ崟鏁版嵁
-                form: {
-                    id: null,
-                    worktypeId: ''
-                },
-                // 楠岃瘉瑙勫垯
-                rules: {
-                },
-                tableData: []
-            }
-        },
-        created () {
-            this.config({
-                api: '/business/member',
-                'field.id': 'id'
-            })
-        }
-    }
-</script>
-
-<style lang="scss" scoped>
-    .box {
-        width: 100%;
-        .box_label {
-            width: 100%;
-            display: flex;
-            align-items: center;
-            justify-content: space-between;
-            margin-top: 10px;
-            margin-bottom: 20px;
-            .box_label_left {
-                flex: 1;
-                display: flex;
-                align-items: center;
-                span {
-                    font-size: 15px;
-                    color: black;
-                    margin-right: 20px;
-                }
-            }
-        }
-    }
-</style>
diff --git a/platform/src/components/business/OperaPolicyListWindow.vue b/platform/src/components/business/OperaPolicyListWindow.vue
deleted file mode 100644
index f6b1098..0000000
--- a/platform/src/components/business/OperaPolicyListWindow.vue
+++ /dev/null
@@ -1,449 +0,0 @@
-<template>
-    <GlobalWindow
-        :title="title"
-        width="80%"
-        :visible.sync="visible"
-        :confirm-working="isWorking"
-        @confirm="confirm"
-    >
-        <div class="desc">
-            <div class="desc_item">
-                <div class="desc_item_label">
-                    <div class="desc_item_label_left">
-                        <span>鎶曚繚浼佷笟锛氬畨寰藉钩瀹変汉鍔涜祫婧愭湁闄愬叕鍙�</span>
-                        <span>淇濆崟鐘舵�侊細寰呭嚭鍗�</span>
-                        <span>鎻愪氦鏃堕棿锛�2023-09-11 00:00:00</span>
-                    </div>
-                    <div class="desc_item_label_right">
-                        <el-button type="primary" @click="$refs.policyListDetails.open('鎶曚繚璇︽儏鍗�')">瀵煎嚭璇﹀崟</el-button>
-                        <el-button type="primary">鏌ョ湅鎶曚繚鍗�</el-button>
-                        <el-button type="primary">鏌ョ湅淇濋櫓鍗�</el-button>
-                        <el-button type="danger" @click="visible4 = true">淇敼淇濋櫓鍗�</el-button>
-                    </div>
-                </div>
-                <div class="desc_item_from">
-                    <el-table
-                            :data="tableData"
-                            border
-                            style="width: 100%">
-                        <el-table-column
-                                prop="date"
-                                label="淇濆崟鍙�">
-                        </el-table-column>
-                        <el-table-column
-                                prop="name"
-                                label="淇濋櫓鏂规"
-                                width="180">
-                        </el-table-column>
-                        <el-table-column
-                                prop="address"
-                                label="淇濋櫓鐢熸晥璧锋湡">
-                        </el-table-column>
-                        <el-table-column
-                                prop="address"
-                                label="淇濋櫓鐢熸晥姝㈡湡">
-                        </el-table-column>
-                        <el-table-column
-                                prop="address"
-                                label="鎶曚繚浜烘暟">
-                        </el-table-column>
-                        <el-table-column
-                                prop="address"
-                                label="鍦ㄤ繚鏃堕暱锛堝ぉ锛�">
-                        </el-table-column>
-                        <el-table-column
-                                prop="address"
-                                label="褰撳墠璐圭敤">
-                        </el-table-column>
-                        <el-table-column
-                                prop="address"
-                                label="鎬昏垂鐢�">
-                        </el-table-column>
-                    </el-table>
-                </div>
-                <div class="desc_item_cate">
-                    <el-tabs v-model="activeName" @tab-click="handleClick">
-                        <el-tab-pane label="鍦ㄤ繚浜哄憳" name="first"></el-tab-pane>
-                        <el-tab-pane label="鍔�/鍑忎繚璁板綍" name="second"></el-tab-pane>
-                        <el-tab-pane label="鎹㈠巶璁板綍" name="third"></el-tab-pane>
-                    </el-tabs>
-                </div>
-                <div class="desc_item_search">
-                    <el-form :inline="true" :model="formInline" class="demo-form-inline">
-                        <el-form-item label="鍦ㄤ繚鐘舵��" prop="region">
-                            <el-select v-model="formInline.region" placeholder="璇烽�夋嫨">
-                                <el-option label="淇濋殰涓�" value="1"></el-option>
-                                <el-option label="涓嶅湪淇�" value="2"></el-option>
-                            </el-select>
-                        </el-form-item>
-                        <el-form-item label="娲鹃仯鍗曚綅" prop="region">
-                            <el-select v-model="formInline.region" placeholder="璇烽�夋嫨">
-                                <el-option label="淇濋殰涓�" value="1"></el-option>
-                                <el-option label="涓嶅湪淇�" value="2"></el-option>
-                            </el-select>
-                        </el-form-item>
-                        <el-form-item label="鎵�灞炲伐绉�" prop="region">
-                            <el-select v-model="formInline.region" placeholder="璇烽�夋嫨">
-                                <el-option label="淇濋殰涓�" value="1"></el-option>
-                                <el-option label="涓嶅湪淇�" value="2"></el-option>
-                            </el-select>
-                        </el-form-item>
-                        <el-form-item label="鍛樺伐濮撳悕" prop="user">
-                            <el-input v-model="formInline.user" placeholder="璇疯緭鍏�"></el-input>
-                        </el-form-item>
-                        <el-form-item label="淇濋櫓鐢熸晥璧锋湡" prop="user">
-                            <el-date-picker
-                                    v-model="formInline.user"
-                                    type="daterange"
-                                    range-separator="鑷�"
-                                    start-placeholder="寮�濮嬫棩鏈�"
-                                    end-placeholder="缁撴潫鏃ユ湡">
-                            </el-date-picker>
-                        </el-form-item>
-                        <el-form-item label="淇濋櫓鐢熸晥璧锋湡" prop="user">
-                            <el-date-picker
-                                    v-model="formInline.user"
-                                    type="daterange"
-                                    range-separator="鑷�"
-                                    start-placeholder="寮�濮嬫棩鏈�"
-                                    end-placeholder="缁撴潫鏃ユ湡">
-                            </el-date-picker>
-                        </el-form-item>
-                        <section>
-                            <el-button type="primary" @click="onSubmit">鏌ヨ</el-button>
-                            <el-button>閲嶇疆</el-button>
-                            <el-button type="primary">瀵煎嚭鍚嶅崟</el-button>
-                        </section>
-                    </el-form>
-                </div>
-                <div class="desc_item_from">
-                    <el-table
-                            :data="tableData"
-                            border
-                            style="width: 100%">
-                        <el-table-column label="搴忓彿">
-                            <template slot-scope="scope">
-                                <span>{{scope.$index + 1}}</span>
-                            </template>
-                        </el-table-column>
-                        <el-table-column
-                                prop="date"
-                                label="鍛樺伐濮撳悕">
-                        </el-table-column>
-                        <el-table-column
-                                prop="name"
-                                label="鎬у埆"
-                                width="180">
-                        </el-table-column>
-                        <el-table-column
-                                prop="address"
-                                label="韬唤璇佸彿">
-                        </el-table-column>
-                        <el-table-column
-                                prop="address"
-                                label="娲鹃仯鍗曚綅">
-                        </el-table-column>
-                        <el-table-column
-                                prop="address"
-                                label="鎵�灞炲伐绉�">
-                        </el-table-column>
-                        <el-table-column
-                                prop="address"
-                                label="淇濋櫓鐢熸晥璧锋湡">
-                        </el-table-column>
-                        <el-table-column
-                                prop="address"
-                                label="淇濋櫓鐢熸晥姝㈡湡">
-                        </el-table-column>
-                        <el-table-column
-                                prop="address"
-                                label="浜х敓璐圭敤锛堝厓锛�">
-                        </el-table-column>
-                    </el-table>
-                    <div class="desc_item_from_page">
-                        <el-pagination
-                                @size-change="handleSizeChange"
-                                @current-change="handleCurrentChange"
-                                :current-page="currentPage"
-                                :page-sizes="[100, 200, 300, 400]"
-                                :page-size="100"
-                                layout="total, sizes, prev, pager, next, jumper"
-                                :total="400">
-                        </el-pagination>
-                    </div>
-                </div>
-                <div class="desc_item_review">
-                    <div class="desc_item_review_label">瀹℃牳娴佺▼</div>
-                    <el-timeline :reverse="reverse">
-                        <el-timeline-item
-                                v-for="(activity, index) in activities"
-                                :key="index"
-                                :timestamp="activity.timestamp">
-                            {{activity.content}}
-                        </el-timeline-item>
-                    </el-timeline>
-                </div>
-            </div>
-        </div>
-        <policyListDetails ref="policyListDetails" @success="successEvent" />
-        <!--    淇敼淇濋櫓鍗�    -->
-        <el-dialog
-                title="淇敼淇濋櫓鍗�"
-                :visible.sync="visible4"
-                :show-close="false"
-                :close-on-click-modal="false"
-                width="30%"
-                center>
-            <div class="form">
-                <div class="form_item">
-                    <div class="form_item_label"><span>*</span>淇濋櫓鐢熸晥璧锋湡锛�</div>
-                    <div class="form_item_val">
-                        <el-date-picker
-                                v-model="value1"
-                                type="date"
-                                placeholder="閫夋嫨鏃ユ湡">
-                        </el-date-picker>
-                    </div>
-                </div>
-                <div class="form_item">
-                    <div class="form_item_label"><span>*</span>淇濆崟鍙凤細</div>
-                    <div class="form_item_val">
-                        <el-input placeholder="璇疯緭鍏�"></el-input>
-                    </div>
-                </div>
-                <div class="form_item">
-                    <div class="form_item_label"><span>*</span>涓婁紶淇濋櫓鍗曪細</div>
-                    <div class="form_item_val">
-                        <el-upload
-                                class="upload-demo"
-                                action="https://jsonplaceholder.typicode.com/posts/"
-                                :on-preview="handlePreview"
-                                :on-remove="handleRemove"
-                                :before-remove="beforeRemove"
-                                multiple
-                                :limit="1"
-                                :on-exceed="handleExceed"
-                                :file-list="fileList">
-                            <el-button size="small" type="primary">鐐瑰嚮涓婁紶</el-button>
-                            <div slot="tip" class="el-upload__tip">鍙兘涓婁紶pdf鏂囦欢锛屼笖涓嶈秴杩�5mb</div>
-                        </el-upload>
-                    </div>
-                </div>
-                <div class="form_item">
-                    <div class="form_item_label"><span>*</span>淇敼鍘熷洜锛�</div>
-                    <div class="form_item_val">
-                        <el-input placeholder="璇疯緭鍏�"></el-input>
-                    </div>
-                </div>
-            </div>
-            <span slot="footer" class="dialog-footer">
-                <el-button @click="visible4 = false">鍙� 娑�</el-button>
-                <el-button type="primary" @click="visible4 = false">纭� 瀹�</el-button>
-            </span>
-        </el-dialog>
-    </GlobalWindow>
-</template>
-
-<script>
-    import BaseOpera from '@/components/base/BaseOpera'
-    import GlobalWindow from '@/components/common/GlobalWindow'
-    import policyListDetails from '@/components/business/policyListDetails'
-    export default {
-        name: 'OperaPolicyListWindow',
-        extends: BaseOpera,
-        components: { GlobalWindow, policyListDetails },
-        data () {
-            return {
-                // 琛ㄥ崟鏁版嵁
-                form: {
-                    id: null,
-                    editDate: ''
-                },
-                // 楠岃瘉瑙勫垯
-                rules: {
-                },
-                formInline: {
-                    user: '',
-                    region: ''
-                },
-                visible1: false,
-                visible2: false,
-                visible3: false,
-                visible4: false,
-                visible5: false,
-                reverse: true,
-                radio: 0,
-                fileList: [
-                    {name: 'food.pdf', url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100'}
-                ],
-                activities: [{
-                    content: '娲诲姩鎸夋湡寮�濮�',
-                    timestamp: '2018-04-15'
-                }, {
-                    content: '閫氳繃瀹℃牳',
-                    timestamp: '2018-04-13'
-                }, {
-                    content: '鍒涘缓鎴愬姛',
-                    timestamp: '2018-04-11'
-                }],
-                tableData: [],
-                activeName: 'first',
-                currentPage: 1
-            }
-        },
-        created () {
-            this.config({
-                api: '/business/insuranceApply',
-                'field.id': 'id'
-            })
-        },
-        methods: {
-            handleRemove(file, fileList) {
-                console.log(file, fileList);
-            },
-            handlePreview(file) {
-                console.log(file);
-            },
-            handleExceed(files, fileList) {
-                this.$message.warning(`褰撳墠闄愬埗閫夋嫨 3 涓枃浠讹紝鏈閫夋嫨浜� ${files.length} 涓枃浠讹紝鍏遍�夋嫨浜� ${files.length + fileList.length} 涓枃浠禶);
-            },
-            beforeRemove(file, fileList) {
-                return this.$confirm(`纭畾绉婚櫎 ${ file.name }锛焋);
-            },
-            successEvent() {
-
-            },
-            handleSizeChange(val) {
-                console.log(`姣忛〉 ${val} 鏉);
-            },
-            handleCurrentChange(val) {
-                console.log(`褰撳墠椤�: ${val}`);
-            },
-            handleClick(tab, event) {
-                console.log(tab, event);
-            },
-            onSubmit() {
-
-            }
-        }
-    }
-</script>
-<style>
-    .v-modal {
-        z-index: 2000 !important;
-    }
-</style>
-<style lang="scss" scoped>
-    .form {
-        width: 100%;
-        display: flex;
-        align-items: center;
-        flex-direction: column;
-        .form_span {
-            width: 100%;
-            display: flex;
-            align-items: start;
-            flex-direction: column;
-            margin-bottom: 20px;
-            span {
-                font-size: 14px;
-                &:nth-child(1) {
-                    color: black;
-                    margin-bottom: 5px;
-                }
-                &:nth-child(2) {
-                    color: #8c939d;
-                }
-            }
-        }
-        .form_item {
-            width: 100%;
-            display: flex;
-            align-items: center;
-            margin-bottom: 20px;
-            &:last-child {
-                margin: 0 !important;
-            }
-            .form_item_label {
-                flex-shrink: 0;
-                width: 170px;
-                color: black;
-                font-size: 14px;
-                span {
-                    color: red;
-                    font-size: 14px;
-                }
-            }
-            .form_item_val {
-                flex: 1;
-                /*height: 40px;*/
-                margin-left: 20px;
-                textarea {
-                    width: 100%;
-                    height: 70px;
-                    border: 1px solid #cbcbcb;
-                    padding: 10px;
-                    outline: none;
-                    box-sizing: border-box;
-                }
-                input {
-                    width: 100%;
-                    height: 40px;
-                    outline: none;
-                    border-radius: 5px;
-                    border: 1px solid #cbcbcb;
-                    padding: 0 20px;
-                    box-sizing: border-box;
-                }
-            }
-        }
-    }
-    .desc {
-        width: 100%;
-        .desc_item {
-            width: 100%;
-            display: flex;
-            flex-direction: column;
-            .desc_item_label {
-                width: 100%;
-                display: flex;
-                align-items: center;
-                justify-content: space-between;
-                margin-bottom: 10px;
-                span {
-                    font-size: 14px;
-                    color: black;
-                    margin-right: 30px;
-                }
-            }
-            .desc_item_from {
-                width: 100%;
-                margin-bottom: 10px;
-                .desc_item_from_page {
-                    width: 100%;
-                    display: flex;
-                    align-items: center;
-                    justify-content: end;
-                    margin-top: 10px;
-                }
-            }
-            .desc_item_cate {
-                width: 100%;
-                margin-bottom: 10px;
-            }
-            .desc_item_search {
-                width: 100%;
-                margin-bottom: 20px;
-            }
-            .desc_item_review {
-                width: 100%;
-                .desc_item_review_label {
-                    font-size: 20px;
-                    color: black;
-                    font-weight: bold;
-                    margin-bottom: 15px;
-                }
-            }
-        }
-    }
-</style>
diff --git a/platform/src/components/business/OperaSettleClaimsWindow.vue b/platform/src/components/business/OperaSettleClaimsWindow.vue
deleted file mode 100644
index 23a618d..0000000
--- a/platform/src/components/business/OperaSettleClaimsWindow.vue
+++ /dev/null
@@ -1,756 +0,0 @@
-<template>
-    <GlobalWindow
-        :title="title"
-        width="80%"
-        :visible.sync="visible"
-        :confirm-working="isWorking"
-        @confirm="confirm"
-    >
-        <div class="desc">
-            <div class="desc_label">
-                <div class="desc_label_left">
-                    <span class="desc_label_left_title">
-                        鎶ユ璇︽儏
-                    </span>
-                    <span class="desc_label_left_time">
-                        鎶ユ鏃ユ湡锛�2015-10-03 10:15:22
-                    </span>
-                    <span class="desc_label_left_code">
-                        鎶ユ鍙凤細214141241241
-                    </span>
-                </div>
-                <div class="desc_label_right">
-                    <el-button type="primary" @click="visible1 = true">娣诲姞鎶ユ鍙�</el-button>
-                    <el-button type="primary" @click="visible2 = true">鐞嗚禂澶勭悊</el-button>
-                    <el-button type="primary" @click="visible4 = true">缁撴鎻愪氦</el-button>
-                    <el-button type="danger" @click="visible3 = true">鎾ら攢鐢宠</el-button>
-                </div>
-            </div>
-            <div class="desc_list">
-                <div class="desc_list_item">
-                    <div class="desc_list_item_label">
-                        鍑洪櫓浜哄鍚嶏細
-                    </div>
-                    <div class="desc_list_item_val">
-                        鍚翠笁涓�
-                    </div>
-                </div>
-                <div class="desc_list_item">
-                    <div class="desc_list_item_label">
-                        鍑洪櫓浜鸿韩浠借瘉鍙凤細
-                    </div>
-                    <div class="desc_list_item_val">
-                        320224403660011111
-                    </div>
-                </div>
-                <div class="desc_list_item">
-                    <div class="desc_list_item_label">
-                        浜嬫晠鍙戠敓鏃堕棿锛�
-                    </div>
-                    <div class="desc_list_item_val">
-                        2015-10-02 10:15:22
-                    </div>
-                </div>
-                <div class="desc_list_item">
-                    <div class="desc_list_item_label">
-                        鎵�灞炰繚鍗曞彿锛�
-                    </div>
-                    <div class="desc_list_item_val" style="cursor: pointer; color: rgba(39, 157, 255, 0.968627450980392);">
-                        11121624116241
-                        <el-button type="primary" style="margin-left: 10px;">鏌ョ湅淇濋櫓鍗�</el-button>
-                    </div>
-                </div>
-                <div class="desc_list_item">
-                    <div class="desc_list_item_label">
-                        淇濋櫓鐢熸晥璧锋湡锛�
-                    </div>
-                    <div class="desc_list_item_val">
-                        2015-10-02 10:15:22
-                    </div>
-                </div>
-                <div class="desc_list_item">
-                    <div class="desc_list_item_label">
-                        淇濋櫓鐢熸晥姝㈡湡锛�
-                    </div>
-                    <div class="desc_list_item_val">
-                        2015-10-02 10:15:22
-                    </div>
-                </div>
-                <div class="desc_list_item">
-                    <div class="desc_list_item_label">
-                        娲鹃仯鍗曚綅锛�
-                    </div>
-                    <div class="desc_list_item_val">
-                        鑺滄箹鏍煎姏绮惧瘑鍒堕�犳湁闄愬叕鍙�
-                    </div>
-                </div>
-                <div class="desc_list_item">
-                    <div class="desc_list_item_label">
-                        鎵�灞炲伐绉嶏細
-                    </div>
-                    <div class="desc_list_item_val">
-                        4绫绘満姊板姞宸�
-                    </div>
-                </div>
-                <div class="desc_list_item">
-                    <div class="desc_list_item_label">
-                        灏辫瘖鍖荤枟鏈烘瀯锛�
-                    </div>
-                    <div class="desc_list_item_val">
-                        瀹夊窘鐪佷汉姘戝尰闄�
-                    </div>
-                </div>
-                <div class="desc_list_item">
-                    <div class="desc_list_item_label">
-                        浜嬫晠绫诲瀷锛�
-                    </div>
-                    <div class="desc_list_item_val">
-                        宸ヤ綔鏈熼棿鍙椾激
-                    </div>
-                </div>
-                <div class="desc_list_item">
-                    <div class="desc_list_item_label">
-                        鏄惁浣忛櫌锛�
-                    </div>
-                    <div class="desc_list_item_val">
-                        鍚�
-                    </div>
-                </div>
-                <div class="desc_list_item">
-                    <div class="desc_list_item_label">
-                        鏄惁鏈夊尰鐤椾繚闄╋細
-                    </div>
-                    <div class="desc_list_item_val">
-                        鍚�
-                    </div>
-                </div>
-                <div class="desc_list_item">
-                    <div class="desc_list_item_label">
-                        鍑洪櫓鍦板尯锛�
-                    </div>
-                    <div class="desc_list_item_val">
-                        瀹夊窘鐪佸悎鑲ュ競
-                    </div>
-                </div>
-                <div class="desc_list_item">
-                    <div class="desc_list_item_label">
-                        鎶ユ浜哄鍚嶏細
-                    </div>
-                    <div class="desc_list_item_val">
-                        鐜嬫灄
-                    </div>
-                </div>
-                <div class="desc_list_item">
-                    <div class="desc_list_item_label">
-                        鎶ユ浜鸿仈绯绘柟寮忥細
-                    </div>
-                    <div class="desc_list_item_val">
-                        13355667788
-                    </div>
-                </div>
-                <div class="desc_list_item" style="width: 100%;">
-                    <div class="desc_list_item_label">
-                        浜嬫晠鎻忚堪锛�
-                    </div>
-                    <div class="desc_list_item_val">
-                        2021骞�01鏈�24鏃ュ噷鏅�03鐐瑰乏鍙筹紝鍛樺伐鍛ㄥ厜纾婂湪鑻忓窞宸ヤ笟鍥尯闀垮畯鍏夌數绉戞妧鏈夐檺鍏徃鍏夌數鐢熶骇閮ㄥ厜瀛﹁啘瑁佸垏璇捐溅闂达紝鐢ㄦ墜鍔ㄥ弶杞︽惉杩愬師鏉愭枡鏃讹紝鍘熸潗鏂欐帀钀界牳鍒板彸鑴氾紝鍑屾櫒3锛�30宸﹀彸鍏徃娲句笓杞﹂�佸線鑻忓窞宸ヤ笟鍥尯鏄熸箹鍖婚櫌灏辫瘖锛屼负鍛樺伐浼ゅ彛杩涜鍖呮墡姝㈣鍚庯紝鍑屾櫒05锛�45杞�佽嚦鑻忓窞鐟炲崕楠ㄧ鍖婚櫌杩涗竴姝ユ不鐤椼��
-                    </div>
-                </div>
-                <div class="desc_list_item" style="width: 100%;">
-                    <div class="desc_list_item_label">
-                        鎶ユ瑙嗛锛�
-                    </div>
-                    <div class="desc_list_item_videos">
-                        <div class="desc_list_item_imgs_video">
-                            <video src="blob:https://www.bilibili.com/f8718314-82c5-43d2-9b26-2c4d701b6bab"></video>
-                        </div>
-                        <div class="desc_list_item_imgs_video">
-                            <video src="blob:https://www.bilibili.com/f8718314-82c5-43d2-9b26-2c4d701b6bab"></video>
-                        </div>
-                    </div>
-                </div>
-            </div>
-            <div class="desc_xian"></div>
-            <div class="desc_label">
-                <div class="desc_label_left">
-                    <span class="desc_label_left_title">
-                        鐞嗚禂璧勬枡
-                    </span>
-                    <span class="desc_label_left_time" style="color: black">
-                        璧勬枡瀹屾垚鏃ユ湡锛�2015-10-03 10:15:22
-                    </span>
-                </div>
-                <div class="desc_label_right">
-                    <el-button type="primary" @click="visible5 = true">澶囨敞鏍囩</el-button>
-                    <el-button type="primary" @click="submit">璧勬枡纭</el-button>
-                    <el-button type="primary">璧勬枡涓嬭浇</el-button>
-                </div>
-            </div>
-            <div class="desc_data">
-                <div class="desc_data_label">1. 鍛樺伐鍏崇郴璇佹槑璧勬枡</div>
-                <div class="desc_data_list">
-                    <div class="desc_data_list_item" v-for="(item, index) in 2" :key="index">
-                        <div class="desc_data_list_item_dele">鍒犻櫎</div>
-                        <div class="desc_data_list_item_img">
-                            <img src="@/assets/images/Galanz@2x.png" />
-                        </div>
-                        <div class="desc_data_list_item_info">
-                            <span>鑰冨嫟琛�.jpg</span>
-                            <span>鎿嶄綔鍛�-鐜嬫煇鏌�</span>
-                            <span>2023-05-22 10:10:11</span>
-                        </div>
-                    </div>
-                    <div class="desc_data_list_item">
-                        <div class="desc_data_list_item_img" style="cursor: pointer; background: #8c939d;">
-                            <i class="el-icon-plus"></i>
-                        </div>
-                        <div class="desc_data_list_item_upload">
-                            <el-button type="primary">涓婁紶</el-button>
-                            <el-button>鍙栨秷</el-button>
-                        </div>
-                    </div>
-                    <div class="desc_data_list_item1"></div>
-                    <div class="desc_data_list_item1"></div>
-                </div>
-            </div>
-            <div class="desc_data">
-                <div class="desc_data_label">2. 鍖荤枟璧勬枡</div>
-                <div class="desc_data_cate">
-                    <el-tabs v-model="activeName" @tab-click="handleClick">
-                        <el-tab-pane label="闂ㄨ瘖" name="first"></el-tab-pane>
-                        <el-tab-pane label="浣忛櫌璧勬枡" name="second"></el-tab-pane>
-                        <el-tab-pane label="浼ゆ畫" name="third"></el-tab-pane>
-                    </el-tabs>
-                </div>
-                <div class="desc_data_list">
-                    <div class="desc_data_list_item" v-for="(item, index) in 2" :key="index">
-                        <div class="desc_data_list_item_dele">鍒犻櫎</div>
-                        <div class="desc_data_list_item_img">
-                            <img src="@/assets/images/Galanz@2x.png" />
-                        </div>
-                        <div class="desc_data_list_item_info">
-                            <span>鑰冨嫟琛�.jpg</span>
-                            <span>鎿嶄綔鍛�-鐜嬫煇鏌�</span>
-                            <span>2023-05-22 10:10:11</span>
-                        </div>
-                    </div>
-                    <div class="desc_data_list_item">
-                        <div class="desc_data_list_item_img" style="cursor: pointer; background: #8c939d;">
-                            <i class="el-icon-plus"></i>
-                        </div>
-                        <div class="desc_data_list_item_upload">
-                            <el-button type="primary">涓婁紶</el-button>
-                            <el-button>鍙栨秷</el-button>
-                        </div>
-                    </div>
-                    <div class="desc_data_list_item1"></div>
-                    <div class="desc_data_list_item1"></div>
-                </div>
-            </div>
-            <div class="desc_data">
-                <div class="desc_data_label">3. 璧斾粯缁撴璧勬枡</div>
-                <div class="desc_data_list">
-                    <div class="desc_data_list_item" v-for="(item, index) in 2" :key="index">
-                        <div class="desc_data_list_item_dele">鍒犻櫎</div>
-                        <div class="desc_data_list_item_img">
-                            <img src="@/assets/images/Galanz@2x.png" />
-                        </div>
-                        <div class="desc_data_list_item_info">
-                            <span>鑰冨嫟琛�.jpg</span>
-                            <span>鎿嶄綔鍛�-鐜嬫煇鏌�</span>
-                            <span>2023-05-22 10:10:11</span>
-                        </div>
-                    </div>
-                    <div class="desc_data_list_item">
-                        <div class="desc_data_list_item_img" style="cursor: pointer; background: #8c939d;">
-                            <i class="el-icon-plus"></i>
-                        </div>
-                        <div class="desc_data_list_item_upload">
-                            <el-button type="primary">涓婁紶</el-button>
-                            <el-button>鍙栨秷</el-button>
-                        </div>
-                    </div>
-                    <div class="desc_data_list_item1"></div>
-                    <div class="desc_data_list_item1"></div>
-                </div>
-            </div>
-            <div class="desc_label">
-                <div class="desc_label_left">
-                    <span class="desc_label_left_title">
-                        妗堜欢杩涘害
-                    </span>
-                </div>
-            </div>
-            <div class="desc_times">
-                <el-timeline :reverse="reverse">
-                    <el-timeline-item
-                        v-for="(activity, index) in activities"
-                        :key="index"
-                        :timestamp="activity.timestamp">
-                        {{activity.content}}
-                    </el-timeline-item>
-                </el-timeline>
-            </div>
-        </div>
-        <el-dialog
-            title="娣诲姞鎶ユ鍙�"
-            :visible.sync="visible1"
-            :show-close="false"
-            :close-on-click-modal="false"
-            width="30%"
-            center>
-            <div class="form">
-                <div class="form_item">
-                    <div class="form_item_label">
-                        <span>*</span>鎶ユ鍙凤細
-                    </div>
-                    <div class="form_item_val">
-                        <input type="text" placeholder="璇疯緭鍏�">
-                    </div>
-                </div>
-            </div>
-            <span slot="footer" class="dialog-footer">
-                <el-button @click="visible1 = false">鍙� 娑�</el-button>
-                <el-button type="primary" @click="visible1 = false">纭� 瀹�</el-button>
-            </span>
-        </el-dialog>
-        <el-dialog
-            title="鐞嗚禂澶勭悊"
-            :visible.sync="visible2"
-            :show-close="false"
-            :close-on-click-modal="false"
-            width="30%"
-            center>
-            <div class="form">
-                <div class="form_item">
-                    <div class="form_item_label">
-                        <span>*</span>澶勭悊杩涘睍锛�
-                    </div>
-                    <div class="form_item_val">
-                        <textarea placeholder="璇疯緭鍏�"></textarea>
-                    </div>
-                </div>
-            </div>
-            <span slot="footer" class="dialog-footer">
-                <el-button @click="visible2 = false">鍙� 娑�</el-button>
-                <el-button type="primary" @click="visible2 = false">纭� 瀹�</el-button>
-            </span>
-        </el-dialog>
-        <el-dialog
-            title="鎾ら攢鐢宠"
-            :visible.sync="visible3"
-            :show-close="false"
-            :close-on-click-modal="false"
-            width="30%"
-            center>
-            <div class="form">
-                <div class="form_item">
-                    <div class="form_item_label">
-                        <span>*</span>濉啓鎾ら攢璇存槑锛�
-                    </div>
-                    <div class="form_item_val">
-                        <textarea placeholder="璇疯緭鍏�"></textarea>
-                    </div>
-                </div>
-            </div>
-            <span slot="footer" class="dialog-footer">
-                <el-button @click="visible3 = false">鍙� 娑�</el-button>
-                <el-button type="primary" @click="visible3 = false">纭� 瀹�</el-button>
-            </span>
-        </el-dialog>
-        <el-dialog
-            title="鐞嗚禂缁撴"
-            :visible.sync="visible4"
-            :show-close="false"
-            :close-on-click-modal="false"
-            width="30%"
-            center>
-            <div class="form">
-                <div class="form_item">
-                    <div class="form_item_label">
-                        <span>*</span>缁撴鍐呭锛�
-                    </div>
-                    <div class="form_item_val">
-                        <textarea placeholder="璇疯緭鍏�"></textarea>
-                    </div>
-                </div>
-                <div class="form_item">
-                    <div class="form_item_label">
-                        <span>*</span>鐞嗚禂璐圭敤锛�
-                    </div>
-                    <div class="form_item_val">
-                        <el-table
-                            :data="tableData"
-                            border
-                            style="width: 100%">
-                            <el-table-column
-                                prop="date"
-                                label="鍖荤枟鐞嗚禂">
-                            </el-table-column>
-                            <el-table-column
-                                prop="name"
-                                label="璇伐鐞嗚禂">
-                            </el-table-column>
-                            <el-table-column
-                                prop="address"
-                                label="浼ゆ畫鐞嗚禂">
-                            </el-table-column>
-                            <el-table-column
-                                prop="address"
-                                label="姝讳骸鐞嗚禂">
-                            </el-table-column>
-                            <el-table-column
-                                prop="address"
-                                label="鐞嗚禂鎬婚">
-                            </el-table-column>
-                        </el-table>
-                    </div>
-                </div>
-            </div>
-            <span slot="footer" class="dialog-footer">
-                <el-button @click="visible4 = false">鍙� 娑�</el-button>
-                <el-button type="primary" @click="visible4 = false">纭� 瀹�</el-button>
-            </span>
-        </el-dialog>
-        <el-dialog
-            title="澶囨敞鏍囩"
-            :visible.sync="visible5"
-            :show-close="false"
-            :close-on-click-modal="false"
-            width="30%"
-            center>
-            <div class="form">
-                <div class="form_span">
-                    <span>鐞嗚禂鍛�-鐜嬫灄  2023-11-11 10:33:12</span>
-                    <span>鏉庣璐� 鍙充腑鎸囪繙鑺傛寚楠ㄩ鎶樻墦鍖呭鐞�5000(鍚尰鐤楄宸� 浼�)鍏嶉壌瀹氬拰璁ゅ畾鍙互鍚�?</span>
-                </div>
-                <div class="form_span">
-                    <span>鐞嗚禂鍛�-鏉庢煇  2023-11-11 10:33:12</span>
-                    <span>鐞嗚禂璇曠潃鐢宠涓� 闇�鎻愪緵妫�鏌ユ姤鍛婂崟 鍘熶欢瀵勪繚鍙�</span>
-                </div>
-                <div class="form_item">
-                    <div class="form_item_label">
-                        <span>*</span>濉啓鎾ら攢璇存槑锛�
-                    </div>
-                    <div class="form_item_val">
-                        <textarea placeholder="璇疯緭鍏�"></textarea>
-                    </div>
-                </div>
-            </div>
-            <span slot="footer" class="dialog-footer">
-                <el-button @click="visible5 = false">鍙� 娑�</el-button>
-                <el-button type="primary" @click="visible5 = false">娣� 鍔�</el-button>
-            </span>
-        </el-dialog>
-    </GlobalWindow>
-</template>
-
-<script>
-    import BaseOpera from '@/components/base/BaseOpera'
-    import GlobalWindow from '@/components/common/GlobalWindow'
-    export default {
-        name: 'OperaSettleClaimsWindow',
-        extends: BaseOpera,
-        components: { GlobalWindow },
-        data () {
-            return {
-                // 琛ㄥ崟鏁版嵁
-                form: {
-                    id: null,
-                },
-                // 楠岃瘉瑙勫垯
-                rules: {
-                },
-                activeName: 'first',
-                reverse: true,
-                activities: [
-                    {
-                        content: '鎻愪氦鎶ユ鐢宠\n' +
-                            '\n' +
-                            '\n' +
-                            '鎻愪氦鎰忚锛�-',
-                        timestamp: '鎿嶄綔鍛�-寮犱紵锛堝畨寰藉钩瀹変汉鍔涜祫婧愭湁闄愬叕鍙革級\n' +
-                            '\n' +
-                            '2023-09-11 00:00:00'
-                    }
-                ],
-                tableData: [],
-                visible1: false,
-                visible2: false,
-                visible3: false,
-                visible4: false,
-                visible5: false
-            }
-        },
-        created () {
-            this.config({
-                api: '/business/settleClaims',
-                'field.id': 'id'
-            })
-        },
-        methods: {
-            handleClick(tab, event) {
-                console.log(tab, event);
-            },
-            submit() {
-                this.$confirm('鐞嗚禂鏉愭枡鏀堕泦瀹屾垚锛岃鍙婃椂鎻愪氦淇濋櫓鍏徃锛�', '璧勬枡鏀堕泦瀹屾垚', {
-                    confirmButtonText: '鎻愪氦',
-                    cancelButtonText: '鍙栨秷',
-                    type: 'warning'
-                }).then(() => {
-                    this.$message({
-                        type: 'success',
-                        message: '鎻愪氦鎴愬姛!'
-                    });
-                }).catch(() => {
-
-                });
-            }
-        }
-    }
-</script>
-<style>
-    .v-modal {
-        z-index: 2000 !important;
-    }
-</style>
-<style lang="scss" scoped>
-    .form {
-        width: 100%;
-        display: flex;
-        align-items: center;
-        flex-direction: column;
-        .form_span {
-            width: 100%;
-            display: flex;
-            align-items: start;
-            flex-direction: column;
-            margin-bottom: 20px;
-            span {
-                font-size: 14px;
-                &:nth-child(1) {
-                    color: black;
-                    margin-bottom: 5px;
-                }
-                &:nth-child(2) {
-                    color: #8c939d;
-                }
-            }
-        }
-        .form_item {
-            width: 100%;
-            display: flex;
-            align-items: start;
-            margin-bottom: 20px;
-            &:last-child {
-                margin: 0 !important;
-            }
-            .form_item_label {
-                flex-shrink: 0;
-                color: black;
-                font-size: 14px;
-                span {
-                    color: red;
-                    font-size: 14px;
-                }
-            }
-            .form_item_val {
-                flex: 1;
-                /*height: 40px;*/
-                margin-left: 20px;
-                textarea {
-                    width: 100%;
-                    height: 70px;
-                    border: 1px solid #cbcbcb;
-                    padding: 10px;
-                    outline: none;
-                    box-sizing: border-box;
-                }
-                input {
-                    width: 100%;
-                    height: 100%;
-                    outline: none;
-                    border-radius: 5px;
-                    border: 1px solid #cbcbcb;
-                    padding: 0 20px;
-                    box-sizing: border-box;
-                }
-            }
-        }
-    }
-    .desc {
-        width: 100%;
-        display: flex;
-        align-items: center;
-        flex-direction: column;
-        .desc_label {
-            width: 100%;
-            display: flex;
-            align-items: center;
-            justify-content: space-between;
-            .desc_label_left {
-                flex: 1;
-                display: flex;
-                align-items: center;
-                .desc_label_left_title {
-                    font-size: 20px;
-                    font-weight: bold;
-                    color: black;
-                }
-                .desc_label_left_time {
-                    font-size: 14px;
-                    color: rgba(249, 86, 1, 0.996);
-                    margin-left: 10px;
-                }
-                .desc_label_left_code {
-                    font-size: 15px;
-                    color: black;
-                    margin-left: 30px;
-                }
-            }
-            .desc_label_right {
-                flex-shrink: 0;
-            }
-        }
-        .desc_list {
-            width: 100%;
-            margin-top: 20px;
-            display: flex;
-            align-items: center;
-            flex-wrap: wrap;
-            .desc_list_item {
-                width: 33.3%;
-                display: flex;
-                align-items: center;
-                margin-bottom: 10px;
-                .desc_list_item_label {
-                    width: 130px;
-                    flex-shrink: 0;
-                    font-size: 15px;
-                    color: black;
-                }
-                .desc_list_item_val {
-                    flex: 1;
-                    font-size: 15px;
-                    color: black;
-                }
-                .desc_list_item_videos {
-                    flex: 1;
-                    display: flex;
-                    align-items: center;
-                    flex-wrap: wrap;
-                    .desc_list_item_imgs_video {
-                        width: 150px;
-                        height: 150px;
-                        background: black;
-                        margin-right: 10px;
-                        video {
-                            width: 100%;
-                            height: 100%;
-                        }
-                    }
-                }
-            }
-        }
-        .desc_xian {
-            width: 100%;
-            height: 1px;
-            margin: 10px 0;
-            background: #ececec;
-        }
-        .desc_data {
-            width: 100%;
-            display: flex;
-            flex-direction: column;
-            margin-top: 20px;
-            .desc_data_label {
-                font-size: 16px;
-                color: black;
-                font-weight: 600;
-                margin-bottom: 20px;
-            }
-            .desc_data_cate {
-                width: 100%;
-                margin: 0 0 10px 0;
-            }
-            .desc_data_list {
-                width: 100%;
-                display: flex;
-                align-items: center;
-                flex-wrap: wrap;
-                justify-content: space-between;
-                .desc_data_list_item1 {
-                    width: 24.5%;
-                }
-                .desc_data_list_item {
-                    width: 24.5%;
-                    padding: 10px;
-                    box-sizing: border-box;
-                    border: 1px solid #e2e2e2;
-                    display: flex;
-                    align-items: center;
-                    justify-content: space-between;
-                    position: relative;
-                    margin-bottom: 10px;
-                    .desc_data_list_item_dele {
-                        position: absolute;
-                        top: 10px;
-                        right: 10px;
-                        font-size: 14px;
-                        cursor: pointer;
-                        color: rgba(249, 86, 1, 0.996078431372549);
-                    }
-                    .desc_data_list_item_upload {
-                        flex: 1;
-                        height: 80px;
-                        display: flex;
-                        align-items: center;
-                        justify-content: center;
-                    }
-                    .desc_data_list_item_img {
-                        flex-shrink: 0;
-                        width: 80px;
-                        height: 80px;
-                        display: flex;
-                        align-items: center;
-                        justify-content: center;
-                        overflow: hidden;
-                        .el-icon-plus {
-                            font-size: 26px;
-                            color: #ffffff;
-                        }
-                        img {
-                            width: 100%;
-                            height: 100%;
-                        }
-                    }
-                    .desc_data_list_item_info {
-                        flex: 1;
-                        height: 80px;
-                        display: flex;
-                        flex-direction: column;
-                        justify-content: space-between;
-                        span {
-                            &:nth-child(1) {
-                                font-size: 14px;
-                                color: black;
-                            }
-                            &:nth-child(2) {
-                                font-size: 14px;
-                                color: #888888;
-                            }
-                            &:nth-child(3) {
-                                font-size: 14px;
-                                color: #888888;
-                            }
-                        }
-                    }
-                }
-            }
-        }
-        .desc_times {
-            width: 100%;
-            margin-top: 20px;
-        }
-    }
-</style>
diff --git a/platform/src/components/business/OperaSolutionsDescWindow.vue b/platform/src/components/business/OperaSolutionsDescWindow.vue
deleted file mode 100644
index adb5dfd..0000000
--- a/platform/src/components/business/OperaSolutionsDescWindow.vue
+++ /dev/null
@@ -1,240 +0,0 @@
-<template>
-    <GlobalWindow
-        :title="title"
-        width="50%"
-        submitText="淇敼"
-        :visible.sync="visible"
-        :confirm-working="isWorking"
-        @confirm="$refs.operaSolutionsWindow.open('缂栬緫鏂规', form)"
-    >
-        <div class="info">
-            <div class="info_list">
-                <div class="info_list_item">
-                    <div class="info_list_item_label">鏂规鍚嶇О锛�</div>
-                    <div class="info_list_item_val">{{form.name}}</div>
-                </div>
-                <div class="info_list_item">
-                    <div class="info_list_item_label">淇濋櫓鍏徃锛�</div>
-                    <div class="info_list_item_val">{{form.insuranceName}}</div>
-                </div>
-                <div class="info_list_item">
-                    <div class="info_list_item_label">鎵夸繚鍏徃锛�</div>
-                    <div class="info_list_item_val">{{form.companyName}}</div>
-                </div>
-                <div class="info_list_item">
-                    <div class="info_list_item_label">鎶曚繚骞撮緞锛�</div>
-                    <div class="info_list_item_val">{{form.minAge}}鑷硔{form.maxAge}}</div>
-                </div>
-                <div class="info_list_item">
-                    <div class="info_list_item_label">鎶曚繚绫诲瀷锛�</div>
-                    <div class="info_list_item_val">骞冲彴鎶曚繚</div>
-                </div>
-                <div class="info_list_item">
-                    <div class="info_list_item_label">淇濋櫓璐圭敤锛�</div>
-                    <div class="info_list_item_val">
-                        {{form.price}}鍏�/浜�/
-                        <span v-if="form.timeUnit === 0">澶�</span>
-                        <span v-if="form.timeUnit === 1">鍗婃湀</span>
-                        <span v-if="form.timeUnit === 2">鏈�</span>
-                        <span v-if="form.timeUnit === 3">骞�</span>
-                    </div>
-                </div>
-                <div class="info_list_item">
-                    <div class="info_list_item_label">鎶曚繚鍛ㄦ湡锛�</div>
-                    <div class="info_list_item_val">
-                        {{form.insureCycle}}
-                        <span v-if="form.insureCycleUnit === 0">澶�</span>
-                        <span v-if="form.insureCycleUnit === 1">鍗婃湀</span>
-                        <span v-if="form.insureCycleUnit === 2">鏈�</span>
-                        <span v-if="form.insureCycleUnit === 3">骞�</span>
-                    </div>
-                </div>
-                <div class="info_list_item">
-                    <div class="info_list_item_label">鐢熸晥鏃堕棿锛�</div>
-                    <div class="info_list_item_val">{{form.validType === 0 ? '鏃ュ悗鐢熸晥' : '娆℃湀鐢熸晥'}}</div>
-                </div>
-                <div class="info_list_item">
-                    <div class="info_list_item_label">鎶曚繚绫诲瀷锛�</div>
-                    <div class="info_list_item_val">{{form.type === 0 ? '鐩翠繚' : '濮旀墭鎶曚繚'}}</div>
-                </div>
-                <div class="info_list_item">
-                    <div class="info_list_item_label">鎺ユ敹鏂囦欢閭锛�</div>
-                    <div class="info_list_item_val">{{form.email}}</div>
-                </div>
-            </div>
-            <el-table
-                :data="form.worktypeList"
-                border
-                style="width: 100%; margin-bottom: 20px;">
-                <el-table-column
-                    label="搴忓彿"
-                    align="center"
-                    width="80">
-                    <template slot-scope="scope">
-                        <span>{{scope.$index + 1}}</span>
-                    </template>
-                </el-table-column>
-                <el-table-column
-                    prop="worktypeName"
-                    align="center"
-                    label="鎵�灞炲伐绉�">
-                </el-table-column>
-            </el-table>
-            <div class="info_agree">
-                <div class="info_agree_label">淇濋櫓澹版槑锛�</div>
-                <div class="info_agree_label">鐗瑰埆绾﹀畾锛�</div>
-                <div class="info_agree_val">
-                    {{form.specialAgreement}}
-                </div>
-            </div>
-        </div>
-        <!-- 淇敼 -->
-        <OperaSolutionsWindow ref="operaSolutionsWindow" @success="callback"/>
-    </GlobalWindow>
-</template>
-
-<script>
-    import BaseOpera from '@/components/base/BaseOpera'
-    import GlobalWindow from '@/components/common/GlobalWindow'
-    import OperaSolutionsWindow from '@/components/business/OperaSolutionsWindow'
-    import { solutionsId } from '@/api/business/solutions'
-    export default {
-        name: 'OperaSolutionsDescWindow',
-        extends: BaseOpera,
-        components: { GlobalWindow, OperaSolutionsWindow },
-        data () {
-            return {
-                // 琛ㄥ崟鏁版嵁
-                form: {
-                    id: null,
-                    name: '',
-                    companyName: '',
-                    insuranceId: '',
-                    validType: 0,
-                    type: 0,
-                    minAge: '',
-                    maxAge: '',
-                    price: '',
-                    timeUnit: '',
-                    insureCycle: '',
-                    insureCycleUnit: '',
-                    email: '',
-                    specialAgreement: '',
-                    specialInfo: '',
-                    ortherInfo: '',
-                    insuranceName: '',
-                    signKeyword: '',
-                    worktypeList: [],
-                    worktypeIdList: []
-                }
-            }
-        },
-        created () {
-            this.config({
-                api: '/business/solutions',
-                'field.id': 'id'
-            })
-        },
-        methods: {
-            open (title, target) {
-                this.title = title
-                this.visible = true
-                this.$nextTick(() => {
-                    for (const key in this.form) {
-                        this.form[key] = target[key]
-                    }
-                    this.getDetails()
-                })
-            },
-            getDetails() {
-                solutionsId(this.form.id)
-                    .then(res => {
-                        for (const key in this.form) {
-                            this.form[key] = res[key]
-                        }
-                        this.form.worktypeIdList = res.worktypeList.map(item => {
-                            return {
-                                worktypeId: item.worktypeId
-                            }
-                        })
-                    })
-            },
-            callback() {
-                this.$emit('success')
-                this.visible = false
-            }
-        }
-    }
-</script>
-
-<style lang="scss" scoped>
-    .info {
-        width: 100%;
-        .info_agree {
-            width: 100%;
-            display: flex;
-            flex-direction: column;
-            margin-top: 20px;
-            .info_agree_label {
-                font-size: 14px;
-                font-weight: 500;
-                color: #000000;
-                margin-top: 5px;
-            }
-            .info_agree_val {
-                font-size: 14px;
-                font-weight: 500;
-                color: #000000;
-                margin-top: 5px;
-            }
-        }
-        .info_label {
-            width: 100%;
-            display: flex;
-            align-items: center;
-            justify-content: space-between;
-            margin-bottom: 20px;
-            span {
-                font-size: 18px;
-                font-weight: 500;
-                color: #000000;
-            }
-        }
-        .info_fwb {
-            width: 100%;
-            margin-top: 20px;
-        }
-        .info_list {
-            width: 100%;
-            display: flex;
-            align-items: center;
-            flex-wrap: wrap;
-            .info_list_item {
-                width: 50%;
-                display: flex;
-                align-items: start;
-                margin-bottom: 20px;
-                .info_list_item_label {
-                    width: 130px;
-                    flex-shrink: 0;
-                }
-                .info_list_item_val {
-                    flex: 1;
-                    display: flex;
-                    align-items: center;
-                    .image {
-                        width: 100px;
-                        height: 100px;
-                        display: flex;
-                        align-items: center;
-                        justify-content: center;
-                        overflow: hidden;
-                        img {
-                            width: 100%;
-                        }
-                    }
-                }
-            }
-        }
-    }
-</style>
diff --git a/platform/src/components/business/OperaSolutionsWindow.vue b/platform/src/components/business/OperaSolutionsWindow.vue
deleted file mode 100644
index fcdce95..0000000
--- a/platform/src/components/business/OperaSolutionsWindow.vue
+++ /dev/null
@@ -1,312 +0,0 @@
-<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="name">
-                <el-input v-model="form.name" placeholder="璇疯緭鍏�" v-trim/>
-            </el-form-item>
-            <el-form-item label="淇濋櫓鍏徃" prop="insuranceId">
-                <el-select v-model="form.insuranceId" @change="getAllWorktype1" placeholder="璇烽�夋嫨">
-                    <el-option
-                        v-for="item in company"
-                        :key="item.id"
-                        :label="item.name"
-                        :value="item.id">
-                    </el-option>
-                </el-select>
-            </el-form-item>
-            <el-form-item label="鎵夸繚鍏徃" prop="companyName">
-                <el-input v-model="form.companyName" placeholder="璇疯緭鍏�" v-trim/>
-            </el-form-item>
-            <el-form-item label="鎶曚繚骞撮緞" prop="minAge">
-                <div style="display: flex; align-items: center;">
-                    <el-select v-model="form.minAge" style="flex: 1;" placeholder="璇烽�夋嫨">
-                        <el-option
-                            v-for="item in 60"
-                            :key="item"
-                            :label="item"
-                            :value="item">
-                        </el-option>
-                    </el-select>
-                    <span style="margin: 0 30px;">鑷�</span>
-                    <el-select v-model="form.maxAge" style="flex: 1;" placeholder="璇烽�夋嫨">
-                        <el-option
-                            v-for="item in 60"
-                            :key="item"
-                            :label="item"
-                            :value="item">
-                        </el-option>
-                    </el-select>
-                </div>
-            </el-form-item>
-            <el-form-item label="淇濋櫓璐圭敤" prop="price">
-                <div style="display: flex; align-items: center;">
-                    <el-input v-model="form.price" style="flex: 1;" placeholder="璇疯緭鍏�" v-trim/>
-                    <span style="margin: 0 30px;">鍏�/浜�</span>
-                    <el-select v-model="form.timeUnit" style="flex: 1;" placeholder="璇烽�夋嫨">
-                        <el-option label="澶�" :value="0"></el-option>
-                        <el-option label="鍗婃湀" :value="1"></el-option>
-                        <el-option label="鏈�" :value="2"></el-option>
-                        <el-option label="骞�" :value="3"></el-option>
-                    </el-select>
-                </div>
-            </el-form-item>
-            <el-form-item label="鎶曚繚鍛ㄦ湡" prop="insureCycle">
-                <div style="display: flex; align-items: center;">
-                    <el-input v-model="form.insureCycle" style="flex: 1;" placeholder="璇疯緭鍏�" v-trim/>
-                    <span style="margin: 0 30px;"></span>
-                    <el-select v-model="form.insureCycleUnit" style="flex: 1;" placeholder="璇烽�夋嫨">
-                        <el-option label="澶�" :value="0"></el-option>
-                        <el-option label="鍗婃湀" :value="1"></el-option>
-                        <el-option label="鏈�" :value="2"></el-option>
-                        <el-option label="骞�" :value="3"></el-option>
-                    </el-select>
-                </div>
-            </el-form-item>
-            <el-form-item label="鐢熸晥鏃堕棿" prop="validType">
-                <el-radio-group v-model="form.validType">
-                    <el-radio :label="0">鏃ュ悗鐢熸晥</el-radio>
-                    <el-radio :label="1">娆℃湀鐢熸晥</el-radio>
-                </el-radio-group>
-            </el-form-item>
-            <el-form-item label="鎶曚繚绫诲瀷" prop="type">
-                <el-radio-group v-model="form.type">
-                    <el-radio :label="0">鐩翠繚</el-radio>
-                    <el-radio :label="1">濮旀墭鎶曚繚</el-radio>
-                </el-radio-group>
-            </el-form-item>
-            <el-form-item label="鎺ユ敹鏂囦欢閭" prop="email">
-                <el-input v-model="form.email" placeholder="璇疯緭鍏�" v-trim/>
-            </el-form-item>
-            <el-form-item label="鎶曚繚鍗曠绔犲叧閿瓧" prop="signKeyword">
-                <el-input v-model="form.signKeyword" placeholder="澶氫釜鑻辨枃閫楀彿闅斿紑" v-trim/>
-            </el-form-item>
-            <el-button type="primary" @click="add">娣诲姞宸ョ</el-button>
-            <el-table
-                :data="form.worktypeIdList"
-                border
-                style="width: 100%; margin-bottom: 20px;">
-                <el-table-column
-                    label="搴忓彿"
-                    align="center"
-                    width="80">
-                    <template slot-scope="scope">
-                        <span>{{scope.$index + 1}}</span>
-                    </template>
-                </el-table-column>
-                <el-table-column
-                    align="center"
-                    label="鎵�灞炲伐绉�">
-                    <template slot-scope="{row}">
-                        <el-select filterable v-model="row.worktypeId" placeholder="璇烽�夋嫨">
-                            <el-option
-                                v-for="item in typeWork"
-                                :key="item.id"
-                                :label="item.name"
-                                :value="item.id">
-                            </el-option>
-                        </el-select>
-                    </template>
-                </el-table-column>
-                <el-table-column
-                    label="鎿嶄綔"
-                    align="center"
-                    width="100">
-                    <template slot-scope="scope">
-                        <el-button type="text" size="small" style="color: red;" @click="dele(scope.$index)">鍒犻櫎</el-button>
-                    </template>
-                </el-table-column>
-            </el-table>
-            <el-form-item label="鐗瑰埆绾﹀畾" prop="specialAgreement">
-                <el-input type="textarea" v-model="form.specialAgreement" placeholder="璇疯緭鍏ョ壒鍒害瀹�" v-trim/>
-            </el-form-item>
-            <el-form-item label="鐗瑰埆璇存槑" prop="specialInfo">
-                <el-input type="textarea" v-model="form.specialInfo" placeholder="璇疯緭鍏ョ壒鍒鏄�" v-trim/>
-            </el-form-item>
-            <el-form-item label="鍏朵粬璇存槑" prop="ortherInfo">
-                <el-input type="textarea" v-model="form.ortherInfo" placeholder="璇疯緭鍏ュ叾浠栬鏄�" v-trim/>
-            </el-form-item>
-        </el-form>
-    </GlobalWindow>
-</template>
-
-<script>
-    import BaseOpera from '@/components/base/BaseOpera'
-    import GlobalWindow from '@/components/common/GlobalWindow'
-    import { all } from '@/api/business/insurance'
-    import { all as allWorktype } from '@/api/business/worktype'
-    import { solutionsId } from '@/api/business/solutions'
-    export default {
-        name: 'OperaSolutionsWindow',
-        extends: BaseOpera,
-        components: { GlobalWindow },
-        data () {
-            return {
-                // 琛ㄥ崟鏁版嵁
-                form: {
-                    id: null,
-                    name: '',
-                    companyName: '',
-                    insuranceId: '',
-                    validType: 0,
-                    type: 0,
-                    minAge: '',
-                    maxAge: '',
-                    price: '',
-                    timeUnit: '',
-                    insureCycle: '',
-                    insureCycleUnit: '',
-                    email: '',
-                    specialAgreement: '',
-                    specialInfo: '',
-                    ortherInfo: '',
-                    signKeyword: '',
-                    worktypeIdList: [{ worktypeId: '' }]
-                },
-                // 楠岃瘉瑙勫垯
-                rules: {
-                    name: [
-                        { required: true, message: '璇疯緭鍏ユ柟妗堝悕绉�' }
-                    ],
-                    insuranceId: [
-                        { required: true, message: '璇烽�夋嫨淇濋櫓鍏徃' }
-                    ],
-                    companyName: [
-                        { required: true, message: '璇疯緭鍏ユ壙淇濆叕鍙�' }
-                    ],
-                    minAge: [
-                        { required: true, message: '璇烽�夋嫨鎶曚繚骞撮緞' }
-                    ],
-                    price: [
-                        { required: true, message: '璇疯緭鍏ヤ繚闄╄垂鐢�' }
-                    ],
-                    insureCycle: [
-                        { required: true, message: '璇疯緭鍏ユ姇淇濆懆鏈�' }
-                    ],
-                    validType: [
-                        { required: true, message: '璇烽�夋嫨鐢熸晥鏃堕棿' }
-                    ],
-                    type: [
-                        { required: true, message: '璇烽�夋嫨鎶曚繚绫诲瀷' }
-                    ],
-                    signKeyword: [
-                        { required: true, message: '璇疯緭鍏ユ姇淇濆崟绛剧珷鍏抽敭瀛�' }
-                    ]
-                },
-                company: [],
-                typeWork: []
-            }
-        },
-        created () {
-            this.config({
-                api: '/business/solutions',
-                'field.id': 'id'
-            })
-        },
-        methods: {
-            // 鍒囨崲鍏徃
-            getAllWorktype1() {
-                this.form.worktypeIdList = [{ worktypeId: '' }]
-                this.getAllWorktype()
-            },
-            // 纭鏂板缓/淇敼
-            confirm () {
-                let data = JSON.parse(JSON.stringify(this.form))
-                data.worktypeIdList = data.worktypeIdList.map(item => item.worktypeId)
-                this.$refs.form.validate((valid) => {
-                    if (!valid) {
-                        return
-                    }
-                    // 璋冪敤鏂板缓鎺ュ彛
-                    this.isWorking = true
-                    if (data.id == null || data.id === '') {
-                        this.api.create(data)
-                            .then(() => {
-                                this.visible = false
-                                this.$tip.apiSuccess('鏂板缓鎴愬姛')
-                                this.$emit('success')
-                            })
-                            .catch(e => {
-                                this.$tip.apiFailed(e)
-                            })
-                            .finally(() => {
-                                this.isWorking = false
-                            })
-                    } else {
-                        this.api.updateById(data)
-                            .then(() => {
-                                this.visible = false
-                                this.$tip.apiSuccess('淇敼鎴愬姛')
-                                this.$emit('success')
-                            })
-                            .catch(e => {
-                                this.$tip.apiFailed(e)
-                            })
-                            .finally(() => {
-                                this.isWorking = false
-                            })
-                    }
-                })
-            },
-            open (title, target) {
-                this.title = title
-                this.visible = true
-                this.form.worktypeIdList = [{ worktypeId: '' }]
-                this.allCompany()
-                // 鏂板缓
-                if (target == null) {
-                    this.$nextTick(() => {
-                        this.$refs.form.resetFields()
-                        this.form[this.configData['field.id']] = null
-                    })
-                    return
-                }
-                // 缂栬緫
-                this.$nextTick(() => {
-                    solutionsId(target.id)
-                        .then(res => {
-                            for (const key in this.form) {
-                                this.form[key] = res[key]
-                            }
-                            this.form.worktypeIdList = res.worktypeList.map(item => {
-                                return {
-                                    worktypeId: item.worktypeId
-                                }
-                            })
-                            this.getAllWorktype()
-                        })
-                })
-            },
-            // 鏌ヨ淇濋櫓鍏徃涓嬪叏閮ㄥ伐绉�
-            getAllWorktype() {
-                allWorktype({
-                    insuranceId: this.form.insuranceId
-                }).then(res => {
-                    this.typeWork = res
-                })
-            },
-            // 鏌ヨ鍏ㄩ儴淇濋櫓鍏徃
-            allCompany() {
-                all({ dataType: 2 })
-                    .then(res => {
-                        console.log(res)
-                        this.company = res
-                    })
-            },
-            add() {
-                this.form.worktypeIdList.push({ worktypeId: '' })
-            },
-            dele(index) {
-                if (this.form.worktypeIdList.length === 1) {
-                    this.$message.warning('鑷冲皯瑕佷繚鐣欎竴椤�')
-                    return
-                }
-                this.form.worktypeIdList.splice(index, 1)
-            }
-        }
-    }
-</script>
diff --git a/platform/src/components/business/OperaSwitchCourtWindow.vue b/platform/src/components/business/OperaSwitchCourtWindow.vue
deleted file mode 100644
index f4ee769..0000000
--- a/platform/src/components/business/OperaSwitchCourtWindow.vue
+++ /dev/null
@@ -1,469 +0,0 @@
-<template>
-    <GlobalWindow
-        :title="title"
-        width="80%"
-        :visible.sync="visible"
-        :confirm-working="isWorking"
-        @confirm="confirm"
-    >
-        <div class="desc">
-            <div class="desc_item">
-                <div class="desc_item_label">
-                    <div class="desc_item_label_left">
-                        <span>鎶曚繚浼佷笟锛氬畨寰藉钩瀹変汉鍔涜祫婧愭湁闄愬叕鍙�</span>
-                        <span>淇濆崟鐘舵�侊細寰呭嚭鍗�</span>
-                        <span>鎻愪氦鏃堕棿锛�2023-09-11 00:00:00</span>
-                    </div>
-                    <div class="desc_item_label_right">
-                        <el-button type="primary" @click="$refs.switchCourtDetaols.open('鎹㈠巶鐢宠鍗曡鎯�')">瀵煎嚭璇﹀崟</el-button>
-                        <el-button type="primary">鏌ョ湅鐢宠鍗�</el-button>
-                        <el-button type="primary" @click="visible3 = true">涓婁紶鎵瑰崟</el-button>
-                        <el-button type="danger" @click="visible1 = true">閫�鍥炴姇淇�</el-button>
-                        <el-button type="danger" @click="visible4 = true">淇敼鎵瑰崟</el-button>
-                    </div>
-                </div>
-                <div class="desc_item_from">
-                    <el-table
-                        :data="tableData"
-                        border
-                        style="width: 100%">
-                        <el-table-column
-                            prop="date"
-                            label="鎵瑰崟鍙�">
-                        </el-table-column>
-                        <el-table-column
-                            prop="name"
-                            label="鍏宠仈淇濆崟鍙�">
-                        </el-table-column>
-                        <el-table-column
-                            prop="address"
-                            label="淇濋櫓鏂规">
-                        </el-table-column>
-                        <el-table-column
-                            prop="address"
-                            label="淇濋櫓鐢熸晥姝㈡湡">
-                        </el-table-column>
-                        <el-table-column
-                            prop="address"
-                            label="淇濋櫓鐢熸晥姝㈡湡">
-                        </el-table-column>
-                        <el-table-column
-                            prop="address"
-                            label="鎵瑰崟鐢熸晥鏈�">
-                        </el-table-column>
-                    </el-table>
-                </div>
-                <div class="desc_item_from">
-                    <el-table
-                        :data="tableData"
-                        border
-                        style="width: 100%">
-                        <el-table-column label="搴忓彿">
-                            <template slot-scope="scope">
-                                <span>{{scope.$index + 1}}</span>
-                            </template>
-                        </el-table-column>
-                        <el-table-column
-                            prop="date"
-                            label="鍛樺伐濮撳悕">
-                        </el-table-column>
-                        <el-table-column
-                            prop="address"
-                            label="韬唤璇佸彿">
-                        </el-table-column>
-                        <el-table-column
-                            prop="address"
-                            label="鍘熸淳閬e崟浣�">
-                        </el-table-column>
-                        <el-table-column
-                            prop="address"
-                            label="鍘熸墍灞炲伐绉�">
-                        </el-table-column>
-                        <el-table-column
-                            prop="address"
-                            label="淇濋櫓鐢熸晥璧锋湡">
-                        </el-table-column>
-                        <el-table-column
-                            prop="address"
-                            label="淇濋櫓鐢熸晥姝㈡湡">
-                        </el-table-column>
-                        <el-table-column
-                            prop="address"
-                            label="鎵瑰崟鐢熸晥鏈�">
-                        </el-table-column>
-                        <el-table-column
-                            prop="address"
-                            label="鎹㈠巶鍚庢淳閬e崟浣�">
-                        </el-table-column>
-                        <el-table-column
-                            prop="address"
-                            label="鎹㈠巶鍚庢墍灞炲伐绉�">
-                        </el-table-column>
-                    </el-table>
-                    <div class="desc_item_from_page">
-                        <el-pagination
-                            @size-change="handleSizeChange"
-                            @current-change="handleCurrentChange"
-                            :current-page="currentPage"
-                            :page-sizes="[100, 200, 300, 400]"
-                            :page-size="100"
-                            layout="total, sizes, prev, pager, next, jumper"
-                            :total="400">
-                        </el-pagination>
-                    </div>
-                </div>
-                <div class="desc_item_review">
-                    <div class="desc_item_review_label">瀹℃牳娴佺▼</div>
-                    <el-timeline :reverse="reverse">
-                        <el-timeline-item
-                                v-for="(activity, index) in activities"
-                                :key="index"
-                                :timestamp="activity.timestamp">
-                            {{activity.content}}
-                        </el-timeline-item>
-                    </el-timeline>
-                </div>
-            </div>
-        </div>
-        <!--    閫�鍥炴姇淇�    -->
-        <el-dialog
-            title="閫�鍥炴姇淇�"
-            :visible.sync="visible1"
-            :show-close="false"
-            :close-on-click-modal="false"
-            width="30%"
-            center>
-            <div class="form">
-                <div class="form_item">
-                    <div class="form_item_label"><span>*</span>濉啓閫�鍥炶鏄庯細</div>
-                    <div class="form_item_val">
-                        <el-input
-                            type="textarea"
-                            :rows="2"
-                            placeholder="璇疯緭鍏�">
-                        </el-input>
-                    </div>
-                </div>
-            </div>
-            <span slot="footer" class="dialog-footer">
-                <el-button @click="visible1 = false">鍙� 娑�</el-button>
-                <el-button type="primary" @click="visible1 = false">纭� 瀹�</el-button>
-            </span>
-        </el-dialog>
-        <!--    涓婁紶淇濋櫓鎵瑰崟    -->
-        <el-dialog
-            title="涓婁紶淇濋櫓鎵瑰崟"
-            :visible.sync="visible3"
-            :show-close="false"
-            :close-on-click-modal="false"
-            width="30%"
-            center>
-            <div class="form">
-                <div class="form_item">
-                    <div class="form_item_label">瀹㈡埛鏈熸湜鎵瑰崟鐢熸晥鏈燂細</div>
-                    <div class="form_item_val">2023-10-01 00:00:00</div>
-                </div>
-                <div class="form_item">
-                    <div class="form_item_label">鎵瑰崟鐢熸晥璧锋湡鏄惁涓�鑷达細</div>
-                    <div class="form_item_val">
-                        <el-radio-group v-model="radio">
-                            <el-radio :label="0">涓庢壒鍗曚竴鑷�</el-radio>
-                            <el-radio :label="1">涓庢壒鍗曚笉涓�鑷�</el-radio>
-                        </el-radio-group>
-                    </div>
-                </div>
-                <div class="form_item">
-                    <div class="form_item_label"><span>*</span>鎵瑰崟鐢熸晥鏈燂細</div>
-                    <div class="form_item_val">
-                        <el-date-picker
-                                v-model="value1"
-                                type="date"
-                                placeholder="閫夋嫨鏃ユ湡">
-                        </el-date-picker>
-                    </div>
-                </div>
-                <div class="form_item">
-                    <div class="form_item_label">鎵瑰崟鐢熸晥鏈燂細</div>
-                    <div class="form_item_val">2023-10-01 00:00:00</div>
-                </div>
-                <div class="form_item">
-                    <div class="form_item_label"><span>*</span>鎵瑰崟鍙凤細</div>
-                    <div class="form_item_val">
-                        <el-input placeholder="璇疯緭鍏�"></el-input>
-                    </div>
-                </div>
-                <div class="form_item">
-                    <div class="form_item_label">涓婁紶淇濋櫓鎵瑰崟锛�</div>
-                    <div class="form_item_val">
-                        <el-upload
-                                class="upload-demo"
-                                action="https://jsonplaceholder.typicode.com/posts/"
-                                :on-preview="handlePreview"
-                                :on-remove="handleRemove"
-                                :before-remove="beforeRemove"
-                                multiple
-                                :limit="1"
-                                :on-exceed="handleExceed"
-                                :file-list="fileList">
-                            <el-button size="small" type="primary">鐐瑰嚮涓婁紶</el-button>
-                            <div slot="tip" class="el-upload__tip">鍙兘涓婁紶pdf鏂囦欢锛屼笖涓嶈秴杩�5mb</div>
-                        </el-upload>
-                    </div>
-                </div>
-            </div>
-            <span slot="footer" class="dialog-footer">
-                <el-button @click="visible3 = false">鍙� 娑�</el-button>
-                <el-button type="primary" @click="visible3 = false">纭� 瀹�</el-button>
-            </span>
-        </el-dialog>
-        <!--    淇敼淇濋櫓鍗�    -->
-        <el-dialog
-                title="淇敼淇濋櫓鍗�"
-                :visible.sync="visible4"
-                :show-close="false"
-                :close-on-click-modal="false"
-                width="30%"
-                center>
-            <div class="form">
-                <div class="form_item">
-                    <div class="form_item_label"><span>*</span>淇濋櫓鐢熸晥鏈燂細</div>
-                    <div class="form_item_val">
-                        <el-date-picker
-                                style="width: 100%;"
-                                v-model="value1"
-                                type="date"
-                                placeholder="閫夋嫨鏃ユ湡">
-                        </el-date-picker>
-                    </div>
-                </div>
-                <div class="form_item">
-                    <div class="form_item_label"><span>*</span>淇濆崟鍙凤細</div>
-                    <div class="form_item_val">
-                        <el-input placeholder="璇疯緭鍏�"></el-input>
-                    </div>
-                </div>
-                <div class="form_item">
-                    <div class="form_item_label"><span>*</span>涓婁紶淇濋櫓鍗曪細</div>
-                    <div class="form_item_val">
-                        <el-upload
-                                class="upload-demo"
-                                action="https://jsonplaceholder.typicode.com/posts/"
-                                :on-preview="handlePreview"
-                                :on-remove="handleRemove"
-                                :before-remove="beforeRemove"
-                                multiple
-                                :limit="1"
-                                :on-exceed="handleExceed"
-                                :file-list="fileList">
-                            <el-button size="small" type="primary">鐐瑰嚮涓婁紶</el-button>
-                            <div slot="tip" class="el-upload__tip">鍙兘涓婁紶pdf鏂囦欢锛屼笖涓嶈秴杩�5mb</div>
-                        </el-upload>
-                    </div>
-                </div>
-                <div class="form_item">
-                    <div class="form_item_label"><span>*</span>淇敼鍘熷洜锛�</div>
-                    <div class="form_item_val">
-                        <el-input placeholder="璇疯緭鍏�"></el-input>
-                    </div>
-                </div>
-            </div>
-            <span slot="footer" class="dialog-footer">
-                <el-button @click="visible4 = false">鍙� 娑�</el-button>
-                <el-button type="primary" @click="visible4 = false">纭� 瀹�</el-button>
-            </span>
-        </el-dialog>
-        <switchCourtDetaols ref="switchCourtDetaols" />
-    </GlobalWindow>
-</template>
-
-<script>
-    import BaseOpera from '@/components/base/BaseOpera'
-    import GlobalWindow from '@/components/common/GlobalWindow'
-    import switchCourtDetaols from '@/components/business/switchCourtDetaols'
-    export default {
-        name: 'OperaSwitchCourtWindow',
-        extends: BaseOpera,
-        components: { GlobalWindow, switchCourtDetaols },
-        data () {
-            return {
-                // 琛ㄥ崟鏁版嵁
-                form: {
-                    id: null,
-                    editDate: ''
-                },
-                // 楠岃瘉瑙勫垯
-                rules: {
-                },
-                formInline: {
-                    user: '',
-                    region: ''
-                },
-                visible1: false,
-                visible2: false,
-                visible3: false,
-                visible4: false,
-                visible5: false,
-                reverse: true,
-                radio: 0,
-                fileList: [
-                    {name: 'food.pdf', url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100'}
-                ],
-                activities: [{
-                    content: '娲诲姩鎸夋湡寮�濮�',
-                    timestamp: '2018-04-15'
-                }, {
-                    content: '閫氳繃瀹℃牳',
-                    timestamp: '2018-04-13'
-                }, {
-                    content: '鍒涘缓鎴愬姛',
-                    timestamp: '2018-04-11'
-                }],
-                tableData: [],
-                currentPage: 1
-            }
-        },
-        created () {
-            this.config({
-                api: '/business/insuranceApply',
-                'field.id': 'id'
-            })
-        },
-        methods: {
-            handleRemove(file, fileList) {
-                console.log(file, fileList);
-            },
-            handlePreview(file) {
-                console.log(file);
-            },
-            handleExceed(files, fileList) {
-                this.$message.warning(`褰撳墠闄愬埗閫夋嫨 3 涓枃浠讹紝鏈閫夋嫨浜� ${files.length} 涓枃浠讹紝鍏遍�夋嫨浜� ${files.length + fileList.length} 涓枃浠禶);
-            },
-            beforeRemove(file, fileList) {
-                return this.$confirm(`纭畾绉婚櫎 ${ file.name }锛焋);
-            },
-            successEvent() {
-
-            },
-            handleSizeChange(val) {
-                console.log(`姣忛〉 ${val} 鏉);
-            },
-            handleCurrentChange(val) {
-                console.log(`褰撳墠椤�: ${val}`);
-            },
-            onSubmit() {
-
-            }
-        }
-    }
-</script>
-<style>
-    .v-modal {
-        z-index: 2000 !important;
-    }
-</style>
-<style lang="scss" scoped>
-    .form {
-        width: 100%;
-        display: flex;
-        align-items: center;
-        flex-direction: column;
-        .form_span {
-            width: 100%;
-            display: flex;
-            align-items: start;
-            flex-direction: column;
-            margin-bottom: 20px;
-            span {
-                font-size: 14px;
-                &:nth-child(1) {
-                    color: black;
-                    margin-bottom: 5px;
-                }
-                &:nth-child(2) {
-                    color: #8c939d;
-                }
-            }
-        }
-        .form_item {
-            width: 100%;
-            display: flex;
-            align-items: center;
-            margin-bottom: 20px;
-            &:last-child {
-                margin: 0 !important;
-            }
-            .form_item_label {
-                flex-shrink: 0;
-                width: 170px;
-                color: black;
-                font-size: 14px;
-                span {
-                    color: red;
-                    font-size: 14px;
-                }
-            }
-            .form_item_val {
-                flex: 1;
-                /*height: 40px;*/
-                margin-left: 20px;
-                textarea {
-                    width: 100%;
-                    height: 70px;
-                    border: 1px solid #cbcbcb;
-                    padding: 10px;
-                    outline: none;
-                    box-sizing: border-box;
-                }
-                input {
-                    width: 100%;
-                    height: 40px;
-                    outline: none;
-                    border-radius: 5px;
-                    border: 1px solid #cbcbcb;
-                    padding: 0 20px;
-                    box-sizing: border-box;
-                }
-            }
-        }
-    }
-    .desc {
-        width: 100%;
-        .desc_item {
-            width: 100%;
-            display: flex;
-            flex-direction: column;
-            .desc_item_label {
-                width: 100%;
-                display: flex;
-                align-items: center;
-                justify-content: space-between;
-                margin-bottom: 10px;
-                span {
-                    font-size: 14px;
-                    color: black;
-                    margin-right: 30px;
-                }
-            }
-            .desc_item_from {
-                width: 100%;
-                margin-bottom: 10px;
-                .desc_item_from_page {
-                    width: 100%;
-                    display: flex;
-                    align-items: center;
-                    justify-content: end;
-                    margin-top: 10px;
-                }
-            }
-            .desc_item_review {
-                width: 100%;
-                .desc_item_review_label {
-                    font-size: 20px;
-                    color: black;
-                    font-weight: bold;
-                    margin-bottom: 15px;
-                }
-            }
-        }
-    }
-</style>
diff --git a/platform/src/components/business/OperaTaxesWindow.vue b/platform/src/components/business/OperaTaxesWindow.vue
deleted file mode 100644
index f747b2b..0000000
--- a/platform/src/components/business/OperaTaxesWindow.vue
+++ /dev/null
@@ -1,190 +0,0 @@
-<template>
-    <GlobalWindow
-        :title="title"
-        width="50%"
-        submitText="杩斿洖淇敼"
-        :visible.sync="visible"
-        :confirm-working="isWorking"
-        @confirm="confirm"
-    >
-        <div class="info">
-            <div class="info_label">
-                <span>浼佷笟璇︽儏锛堝凡鐢宠锛�</span>
-            </div>
-            <div class="info_list">
-                <div class="info_list_item">
-                    <div class="info_list_item_label">寮�绁ㄥ悕绉帮細</div>
-                    <div class="info_list_item_val">瀹夊窘鏍煎姏浜哄姏璧勬簮鏈夐檺鍏徃</div>
-                </div>
-                <div class="info_list_item">
-                    <div class="info_list_item_label">绾崇◣浜鸿瘑鍒彿锛�</div>
-                    <div class="info_list_item_val">913418210000000000</div>
-                </div>
-                <div class="info_list_item">
-                    <div class="info_list_item_label">寮�鎴疯锛�</div>
-                    <div class="info_list_item_val">瀹夊窘鍐滄潙鍟嗕笟閾惰鑲′唤鏈夐檺鍏徃鍚堣偉鏀</div>
-                </div>
-                <div class="info_list_item">
-                    <div class="info_list_item_label">璐﹀彿锛�</div>
-                    <div class="info_list_item_val">
-                        20010355666666600000000
-                    </div>
-                </div>
-                <div class="info_list_item" style="width: 100%;">
-                    <div class="info_list_item_label">鍦板潃銆佺數璇濓細</div>
-                    <div class="info_list_item_val">瀹夊窘鐪佸悎鑲ュ競缁忔祹鎶�鏈紑鍙戝尯鑾茶姳璺互涓溿�佺煶闂ㄨ矾浠ュ崡鑾茶姳璺�1锛�     0551-63450845</div>
-                </div>
-                <div class="info_list_item" style="width: 100%;">
-                    <div class="info_list_item_label">鎺ユ敹鏂瑰紡锛�</div>
-                    <div class="info_list_item_val">鐢靛瓙鍙戠エ</div>
-                </div>
-                <div class="info_list_item" style="width: 100%;">
-                    <div class="info_list_item_label">鎺ユ敹鍦板潃锛�</div>
-                    <div class="info_list_item_val">111122223333@qq.com</div>
-                </div>
-                <div class="info_list_item" style="width: 100%;">
-                    <div class="info_list_item_label">寮�绁ㄩ噾棰濓細</div>
-                    <div class="info_list_item_val" style="color:rgba(249, 86, 1, 0.996078431372549);">2000.00</div>
-                </div>
-            </div>
-            <el-table
-                :data="tableData"
-                border
-                show-summary
-                :summary-method="getSummaries"
-                style="width: 100%; margin-bottom: 20px;">
-                <el-table-column
-                    label="搴忓彿"
-                    align="center"
-                    width="80">
-                    <template slot-scope="scope">
-                        <span>{{scope.$index + 1}}</span>
-                    </template>
-                </el-table-column>
-                <el-table-column
-                    align="center"
-                    prop="code"
-                    label="淇濋櫓鏂规">
-                </el-table-column>
-                <el-table-column
-                    align="center"
-                    prop="code"
-                    label="淇濆崟鍙�">
-                </el-table-column>
-                <el-table-column
-                    align="center"
-                    prop="code"
-                    label="鐢宠寮�绁ㄦ椂闂�">
-                </el-table-column>
-                <el-table-column
-                    align="center"
-                    prop="code"
-                    label="閲戦">
-                </el-table-column>
-            </el-table>
-        </div>
-    </GlobalWindow>
-</template>
-
-<script>
-    import BaseOpera from '@/components/base/BaseOpera'
-    import GlobalWindow from '@/components/common/GlobalWindow'
-    export default {
-        name: 'OperaCompanyWindow',
-        extends: BaseOpera,
-        components: { GlobalWindow },
-        data () {
-            return {
-                // 琛ㄥ崟鏁版嵁
-                form: {
-                    id: null
-                },
-                // 楠岃瘉瑙勫垯
-                rules: {}
-            }
-        },
-        created () {
-            this.config({
-                api: '/business/taxes',
-                'field.id': 'id'
-            })
-        },
-        methods: {
-            getSummaries(param) {
-                const { columns, data } = param;
-                const sums = [];
-                columns.forEach((column, index) => {
-                    if (index === 0) {
-                        sums[index] = '鍚堣';
-                        return;
-                    } else {
-                        if (index == 9||index==10||index==11||index==12) {
-                            const values = data.map(item => Number(item[column.property]));
-                            if (!values.every(value => isNaN(value))) {
-                                sums[index] = values.reduce((prev, curr) => {
-                                    const value = Number(curr);
-                                    if (!isNaN(value)) {
-                                        return prev + curr;
-                                    } else {
-                                        return prev;
-                                    }
-                                }, 0);
-                            }
-                        }
-                    }
-                });
-                return sums;
-            }
-        }
-    }
-</script>
-
-<style lang="scss" scoped>
-    .info {
-        width: 100%;
-        .info_label {
-            width: 100%;
-            display: flex;
-            align-items: center;
-            justify-content: space-between;
-            margin-bottom: 20px;
-            span {
-                font-size: 18px;
-                font-weight: 500;
-                color: #000000;
-            }
-        }
-        .info_list {
-            width: 100%;
-            display: flex;
-            align-items: center;
-            flex-wrap: wrap;
-            .info_list_item {
-                width: 50%;
-                display: flex;
-                align-items: start;
-                margin-bottom: 20px;
-                .info_list_item_label {
-                    width: 150px;
-                    flex-shrink: 0;
-                }
-                .info_list_item_val {
-                    flex: 1;
-                    display: flex;
-                    align-items: center;
-                    .image {
-                        width: 100px;
-                        height: 100px;
-                        display: flex;
-                        align-items: center;
-                        justify-content: center;
-                        overflow: hidden;
-                        img {
-                            width: 100%;
-                        }
-                    }
-                }
-            }
-        }
-    }
-</style>
diff --git a/platform/src/components/business/addJobType.vue b/platform/src/components/business/addJobType.vue
new file mode 100644
index 0000000..999934c
--- /dev/null
+++ b/platform/src/components/business/addJobType.vue
@@ -0,0 +1,60 @@
+<template>
+    <GlobalWindow
+        :title="title"
+        :visible.sync="visible"
+        :confirm-working="isWorking"
+        @confirm="confirm"
+    >
+        淇濋櫓鏂规
+    </GlobalWindow>
+</template>
+
+<script>
+  import BaseOpera from '@/components/base/BaseOpera'
+  import GlobalWindow from '@/components/common/GlobalWindow'
+  export default {
+    name: 'addJobType',
+    extends: BaseOpera,
+    components: { GlobalWindow },
+    data () {
+      return {
+        // 琛ㄥ崟鏁版嵁
+        form: {
+          id: null,
+          duSolutionList: [],
+          saveDuSolutionDTOList: [
+            {
+              id: '',
+              saveDuWorkTypeDTOList: [
+                {
+                  videoUrl: '',
+                  workTypeId: '',
+                  file: {
+                    videourl: '',
+                    videourlfull: ''
+                  }
+                }
+              ],
+              typeWork: [],
+              solutionId: ''
+            }
+          ]
+        },
+        insuranceScheme: []
+      }
+    },
+    created () {
+      this.config({
+        api: '/business/dispatchUnit',
+        'field.id': 'id'
+      })
+    },
+    methods: {
+
+    }
+  }
+</script>
+
+<style lang="scss" scoped>
+
+</style>
diff --git a/platform/src/components/business/applyChangeDetails.vue b/platform/src/components/business/applyChangeDetails.vue
deleted file mode 100644
index 1f9ab1c..0000000
--- a/platform/src/components/business/applyChangeDetails.vue
+++ /dev/null
@@ -1,249 +0,0 @@
-<template>
-    <GlobalWindow
-        :title="title"
-        width="50%"
-        :visible.sync="visible"
-        :confirm-working="isWorking"
-        @confirm="confirm"
-    >
-        <div class="box">
-            <div class="box_header">
-                <div class="box_header_item">
-                    <div class="box_header_item_label">鎶曚繚浼佷笟</div>
-                    <div class="box_header_item_val">瀹夊窘鏍煎姏鏈烘鍒堕�犲巶</div>
-                </div>
-                <div class="box_header_item">
-                    <div class="box_header_item_label">淇濋櫓鏂规</div>
-                    <div class="box_header_item_val">骞冲畨淇濋櫓闆囦富璐d换闄〢鐗�</div>
-                </div>
-                <div class="box_header_item">
-                    <div class="box_header_item_label">鍏宠仈淇濆崟鍙�</div>
-                    <div class="box_header_item_val">11121241241241</div>
-                </div>
-                <div class="box_header_item">
-                    <div class="box_header_item_label">鎶曚繚浜烘暟</div>
-                    <div class="box_header_item_val">50</div>
-                </div>
-            </div>
-            <div class="box_table">
-                <div class="box_table_headText">鍔犱繚鍛樺伐</div>
-                <div class="box_table_head">
-                    <div class="box_table_head_item">搴忓彿</div>
-                    <div class="box_table_head_item">鍛樺伐濮撳悕</div>
-                    <div class="box_table_head_item">韬唤璇佸彿</div>
-                    <div class="box_table_head_item">娲鹃仯鍗曚綅</div>
-                    <div class="box_table_head_item">鎵�灞炲伐绉�</div>
-                    <div class="box_table_head_item">璐圭敤</div>
-                </div>
-                <div class="box_table_content" v-for="(item, index) in 3" :key="index">
-                    <div class="box_table_content_item">{{index + 1}}</div>
-                    <div class="box_table_content_item">鐜嬫煇鏌�</div>
-                    <div class="box_table_content_item">340411190001010011</div>
-                    <div class="box_table_content_item">瀹夊窘鏍煎姏鏈烘鍒堕�犲巶</div>
-                    <div class="box_table_content_item">4绫� 鏈烘鍔犲伐/鍒堕��</div>
-                    <div class="box_table_content_item">200</div>
-                </div>
-            </div>
-            <div class="box_table">
-                <div class="box_table_headText">鍑忎繚鍛樺伐</div>
-                <div class="box_table_head">
-                    <div class="box_table_head_item">搴忓彿</div>
-                    <div class="box_table_head_item">鍛樺伐濮撳悕</div>
-                    <div class="box_table_head_item">韬唤璇佸彿</div>
-                    <div class="box_table_head_item">娲鹃仯鍗曚綅</div>
-                    <div class="box_table_head_item">鎵�灞炲伐绉�</div>
-                    <div class="box_table_head_item">璐圭敤</div>
-                </div>
-                <div class="box_table_content" v-for="(item, index) in 3" :key="index">
-                    <div class="box_table_content_item">{{index + 1}}</div>
-                    <div class="box_table_content_item">鐜嬫煇鏌�</div>
-                    <div class="box_table_content_item">340411190001010011</div>
-                    <div class="box_table_content_item">瀹夊窘鏍煎姏鏈烘鍒堕�犲巶</div>
-                    <div class="box_table_content_item">4绫� 鏈烘鍔犲伐/鍒堕��</div>
-                    <div class="box_table_content_item">-200</div>
-                </div>
-            </div>
-            <div class="box_header">
-                <div class="box_header_item">
-                    <div class="box_header_item_label">鍔犱繚浜烘暟</div>
-                    <div class="box_header_item_val">2</div>
-                </div>
-                <div class="box_header_item">
-                    <div class="box_header_item_label">鍑忎繚浜烘暟</div>
-                    <div class="box_header_item_val">1</div>
-                </div>
-                <div class="box_header_item" style="flex: 1;">
-                    <div class="box_header_item_label" style="flex: 0.333 !important;">璐圭敤鍙樻洿</div>
-                    <div class="box_header_item_val">100</div>
-                </div>
-            </div>
-        </div>
-        <template v-slot:footer>
-            <el-button type="primary">浼佷笟璇佷欢</el-button>
-            <el-button type="primary">瀵煎嚭璇﹀崟</el-button>
-            <el-button @click="visible = false">鍙栨秷</el-button>
-        </template>
-    </GlobalWindow>
-</template>
-
-<script>
-    import BaseOpera from '@/components/base/BaseOpera'
-    import GlobalWindow from '@/components/common/GlobalWindow'
-    export default {
-        name: 'applyChangeDetails',
-        extends: BaseOpera,
-        components: { GlobalWindow },
-        data () {
-            return {
-                // 琛ㄥ崟鏁版嵁
-                form: {
-                    id: null,
-                    editDate: ''
-                },
-                // 楠岃瘉瑙勫垯
-                rules: {
-                },
-                formInline: {
-                    user: '',
-                    region: ''
-                },
-                reverse: true,
-                activities: [{
-                    content: '娲诲姩鎸夋湡寮�濮�',
-                    timestamp: '2018-04-15'
-                }, {
-                    content: '閫氳繃瀹℃牳',
-                    timestamp: '2018-04-13'
-                }, {
-                    content: '鍒涘缓鎴愬姛',
-                    timestamp: '2018-04-11'
-                }],
-                tableData: [],
-                activeName: 'first',
-                currentPage: 1
-            }
-        },
-        created () {
-            this.config({
-                api: '/business/insuranceApply',
-                'field.id': 'id'
-            })
-        },
-        methods: {
-            handleSizeChange(val) {
-                console.log(`姣忛〉 ${val} 鏉);
-            },
-            handleCurrentChange(val) {
-                console.log(`褰撳墠椤�: ${val}`);
-            },
-            handleClick(tab, event) {
-                console.log(tab, event);
-            },
-            onSubmit() {
-
-            }
-        }
-    }
-</script>
-
-<style lang="scss" scoped>
-    .box {
-        width: 100%;
-        .box_header {
-            width: 100%;
-            display: flex;
-            align-items: center;
-            flex-wrap: wrap;
-            border-top: 1px solid #b4bbc5;
-            border-left: 1px solid #b4bbc5;
-            .box_header_item {
-                width: 50%;
-                height: 50px;
-                display: flex;
-                align-items: center;
-                border-right: 1px solid #b4bbc5;
-                border-bottom: 1px solid #b4bbc5;
-                box-sizing: border-box;
-                .box_header_item_label {
-                    flex: 1;
-                    height: 100%;
-                    display: flex;
-                    align-items: center;
-                    justify-content: center;
-                    font-size: 14px;
-                    color: black;
-                    background: #f2f2f2;
-                    border-right: 1px solid #b4bbc5;
-                }
-                .box_header_item_val {
-                    flex: 1;
-                    height: 100%;
-                    display: flex;
-                    align-items: center;
-                    justify-content: center;
-                    font-size: 14px;
-                    color: black;
-                }
-            }
-        }
-        .box_table {
-            width: 100%;
-            border-left: 1px solid #b4bbc5;
-            box-sizing: border-box;
-            .box_table_headText {
-                width: 100%;
-                height: 50px;
-                display: flex;
-                align-items: center;
-                justify-content: center;
-                background: #f2f2f2;
-                font-size: 14px;
-                color: black;
-                border-right: 1px solid #b4bbc5;
-                border-bottom: 1px solid #b4bbc5;
-            }
-            .box_table_head {
-                width: 100%;
-                display: flex;
-                align-items: center;
-                .box_table_head_item {
-                    flex: 1;
-                    height: 50px;
-                    background: #f2f2f2;
-                    display: flex;
-                    align-items: center;
-                    justify-content: center;
-                    font-size: 14px;
-                    color: black;
-                    border-right: 1px solid #b4bbc5;
-                    border-bottom: 1px solid #b4bbc5;
-                    box-sizing: border-box;
-                    &:nth-child(1) {
-                        flex: 0.5;
-                    }
-                }
-            }
-            .box_table_content {
-                width: 100%;
-                display: flex;
-                align-items: center;
-                .box_table_content_item {
-                    flex: 1;
-                    height: 50px;
-                    background: #ffffff;
-                    display: flex;
-                    align-items: center;
-                    justify-content: center;
-                    font-size: 14px;
-                    color: black;
-                    border-right: 1px solid #b4bbc5;
-                    border-bottom: 1px solid #b4bbc5;
-                    box-sizing: border-box;
-                    &:nth-child(1) {
-                        flex: 0.5;
-                    }
-                }
-            }
-        }
-    }
-</style>
diff --git a/platform/src/components/business/dispatchReview.vue b/platform/src/components/business/dispatchReview.vue
deleted file mode 100644
index 9d1ce17..0000000
--- a/platform/src/components/business/dispatchReview.vue
+++ /dev/null
@@ -1,163 +0,0 @@
-<template>
-    <GlobalWindow
-        :title="title"
-        width="50%"
-        :visible.sync="visible"
-        :confirm-working="isWorking"
-    >
-        <div class="box">
-            <div class="box_label">淇濋櫓鏂规锛氬钩瀹変繚闄╅泧涓昏矗浠婚櫓B鐗�</div>
-            <el-table
-                :data="tableData"
-                border
-                style="width: 100%">
-                <el-table-column
-                    prop="date"
-                    label="鏃ユ湡">
-                </el-table-column>
-                <el-table-column
-                    prop="name"
-                    label="濮撳悕">
-                </el-table-column>
-                <el-table-column
-                    prop="address"
-                    label="鍦板潃">
-                </el-table-column>
-            </el-table>
-        </div>
-        <!--    椹冲洖閫�鍥炵敵璇�    -->
-        <el-dialog
-            title="瀹℃牳纭"
-            :visible.sync="visible5"
-            :show-close="false"
-            :close-on-click-modal="false"
-            width="30%"
-            center>
-            <div class="form">
-                <div class="form_item">
-                    <div class="form_item_label"><span>*</span>瀹℃牳璇存槑锛�</div>
-                    <div class="form_item_val">
-                        <el-input type="textarea" :rows="2" placeholder="璇疯緭鍏�"></el-input>
-                    </div>
-                </div>
-            </div>
-            <span slot="footer" class="dialog-footer">
-                <el-button @click="visible5 = false">鍙� 娑�</el-button>
-                <el-button type="primary" @click="visible5 = false">纭� 瀹�</el-button>
-            </span>
-        </el-dialog>
-        <template v-slot:footer>
-            <el-button type="primary" @click="visible5 = true">瀹℃牳閫氳繃</el-button>
-            <el-button @click="visible5 = true">瀹℃牳閫�鍥�</el-button>
-        </template>
-    </GlobalWindow>
-</template>
-
-<script>
-    import BaseOpera from '@/components/base/BaseOpera'
-    import GlobalWindow from '@/components/common/GlobalWindow'
-    export default {
-        name: 'dispatchReview',
-        extends: BaseOpera,
-        components: { GlobalWindow },
-        data () {
-            return {
-                // 琛ㄥ崟鏁版嵁
-                form: {
-                    id: null,
-                    editDate: ''
-                },
-                // 楠岃瘉瑙勫垯
-                rules: {
-                },
-                tableData: [],
-                visible5: false
-            }
-        },
-        created () {
-            this.config({
-                api: '/business/insuranceApply',
-                'field.id': 'id'
-            })
-        },
-        methods: {
-
-        }
-    }
-</script>
-
-<style lang="scss" scoped>
-    .box {
-        width: 100%;
-        .box_label {
-            width: 100%;
-            color: black;
-            font-size: 14px;
-            margin-bottom: 15px;
-        }
-    }
-    .form {
-        width: 100%;
-        display: flex;
-        align-items: center;
-        flex-direction: column;
-        .form_span {
-            width: 100%;
-            display: flex;
-            align-items: start;
-            flex-direction: column;
-            margin-bottom: 20px;
-            span {
-                font-size: 14px;
-                &:nth-child(1) {
-                    color: black;
-                    margin-bottom: 5px;
-                }
-                &:nth-child(2) {
-                    color: #8c939d;
-                }
-            }
-        }
-        .form_item {
-            width: 100%;
-            display: flex;
-            align-items: center;
-            margin-bottom: 20px;
-            &:last-child {
-                margin: 0 !important;
-            }
-            .form_item_label {
-                flex-shrink: 0;
-                width: 170px;
-                color: black;
-                font-size: 14px;
-                span {
-                    color: red;
-                    font-size: 14px;
-                }
-            }
-            .form_item_val {
-                flex: 1;
-                /*height: 40px;*/
-                margin-left: 20px;
-                textarea {
-                    width: 100%;
-                    height: 70px;
-                    border: 1px solid #cbcbcb;
-                    padding: 10px;
-                    outline: none;
-                    box-sizing: border-box;
-                }
-                input {
-                    width: 100%;
-                    height: 40px;
-                    outline: none;
-                    border-radius: 5px;
-                    border: 1px solid #cbcbcb;
-                    padding: 0 20px;
-                    box-sizing: border-box;
-                }
-            }
-        }
-    }
-</style>
diff --git a/platform/src/components/business/dispatchUnitDetails.vue b/platform/src/components/business/dispatchUnitDetails.vue
new file mode 100644
index 0000000..3913223
--- /dev/null
+++ b/platform/src/components/business/dispatchUnitDetails.vue
@@ -0,0 +1,261 @@
+<template>
+    <GlobalWindow
+        :title="title"
+        :visible.sync="visible"
+        :confirm-working="isWorking"
+        @confirm="confirm"
+    >
+        <div class="info">
+            <div class="info_list">
+                <div class="info_list_item">
+                    <div class="info_list_item_label">娲鹃仯鍗曚綅锛�</div>
+                    <div class="info_list_item_val">{{form.name}}</div>
+                </div>
+                <div class="info_list_item">
+                    <div class="info_list_item_label">娲鹃仯鍗曚綅淇$敤浠g爜锛�</div>
+                    <div class="info_list_item_val">{{form.code}}</div>
+                </div>
+                <div class="info_list_item">
+                    <div class="info_list_item_label">娲鹃仯鍗曚綅鐘舵�侊細</div>
+                    <div class="info_list_item_val" v-if="form.unitStatus === 0">寰呭鏍�</div>
+                    <div class="info_list_item_val" style="color: green;" v-if="form.unitStatus === 1">瀹℃牳閫氳繃</div>
+                    <div class="info_list_item_val" style="color: red;" v-if="form.unitStatus === 2">瀹℃牳涓嶉�氳繃</div>
+                </div>
+                <div class="info_list_item">
+                    <div class="info_list_item_label">娲鹃仯鍗曚綅璇﹁堪锛�</div>
+                    <div class="info_list_item_val">{{form.content}}</div>
+                </div>
+            </div>
+            <div class="info_btns">
+                <el-button type="primary">淇敼娲鹃仯鍗曚綅</el-button>
+                <el-button type="primary">娣诲姞宸ョ</el-button>
+            </div>
+            <div class="info_table">
+                <div class="info_table_item" v-for="(item, index) in form.duSolutionList" :key="index">
+                    <div class="info_table_item_label">淇濋櫓鏂规锛歿{item.solutionName}}</div>
+                    <div class="info_table_item_content">
+                        <el-table
+                            :data="item.duWorktypeList"
+                            border
+                            style="width: 100%">
+                            <el-table-column label="搴忓彿" width="80px">
+                                <template slot-scope="scope">
+                                    <span>{{scope.$index + 1}}</span>
+                                </template>
+                            </el-table-column>
+                            <el-table-column
+                                prop="workTypeName"
+                                label="鎵�灞炲伐绉�">
+                            </el-table-column>
+                            <el-table-column
+                                prop="name"
+                                label="鎿嶄綔瑙嗛">
+                                <template slot-scope="{row}">
+                                    <video loop controls width="150px" height="150px" :src="row.videoUrlFull"></video>
+                                </template>
+                            </el-table-column>
+                            <el-table-column
+                                prop="checkDate"
+                                label="瀹℃牳閫氳繃鏃ユ湡">
+                            </el-table-column>
+                            <el-table-column
+                                label="鐘舵��">
+                                <template slot-scope="{row}">
+                                    <span v-if="row.status === 0">寰呭鏍�</span>
+                                    <span v-if="row.status === 1">瀹℃牳閫氳繃</span>
+                                    <span v-if="row.status === 2">瀹℃牳涓嶉�氳繃</span>
+                                </template>
+                            </el-table-column>
+                            <el-table-column
+                                label="鎿嶄綔">
+                                <template slot-scope="scope">
+                                    <el-button type="text" style="color: red;" v-if="scope.row.status === 2" @click="dele(scope.row.id, index, scope.$index)">鍒犻櫎</el-button>
+                                </template>
+                            </el-table-column>
+                        </el-table>
+                    </div>
+                </div>
+            </div>
+            <div class="info_status">
+                <div class="info_status_label">瀹℃牳娴佺▼</div>
+                <div class="info_status_list">
+                    <el-timeline :reverse="reverse">
+                        <el-timeline-item
+                            v-for="(activity, index) in form.duLogList"
+                            :key="index">
+                            <div style="display: flex; flex-direction: column;">
+                                <span style="font-size: 16px; font-weight: 400; color: black;">
+                                    {{activity.title}}
+                                    <span style="font-size: 16px; font-weight: 400; color: black; margin-left: 10px;" v-if="activity.objType === 5 || activity.objType === 6 || activity.objType === 1 || activity.objType === 2">
+                                        鎻愪氦鎰忚: -
+                                    </span>
+                                </span>
+                                <span style="margin-top: 5px; font-size: 12px; font-weight: 400; color: #999999;">
+                                    鎿嶄綔鍛�-{{activity.creatorName}}锛坽{activity.companyName}}锛墈{activity.createDate}}
+                                </span>
+                            </div>
+                        </el-timeline-item>
+                    </el-timeline>
+                </div>
+            </div>
+        </div>
+    </GlobalWindow>
+</template>
+
+<script>
+  import BaseOpera from '@/components/base/BaseOpera'
+  import GlobalWindow from '@/components/common/GlobalWindow'
+  import { getById } from '@/api/business/dispatchUnit'
+  import { deleteById } from '@/api/business/duWorktype'
+  export default {
+    name: 'OperaDispatchUnitWindow',
+    extends: BaseOpera,
+    components: { GlobalWindow },
+    data () {
+      return {
+        // 琛ㄥ崟鏁版嵁
+        form: {
+          id: null,
+          name: '',
+          code: '',
+          content: '',
+          unitStatus: '',
+          duLogList: [],
+          duSolutionList: [],
+          saveDuSolutionDTOList: [
+            {
+              id: '',
+              saveDuWorkTypeDTOList: [
+                {
+                  videoUrl: '',
+                  workTypeId: '',
+                  file: {
+                    videourl: '',
+                    videourlfull: ''
+                  }
+                }
+              ],
+              typeWork: [],
+              solutionId: ''
+            }
+          ]
+        },
+        tableData: [],
+        insuranceScheme: [],
+        reverse: true,
+        activities: [{
+          content: '娲诲姩鎸夋湡寮�濮�',
+          timestamp: '2018-04-15'
+        }, {
+          content: '閫氳繃瀹℃牳',
+          timestamp: '2018-04-13'
+        }, {
+          content: '鍒涘缓鎴愬姛',
+          timestamp: '2018-04-11'
+        }]
+      }
+    },
+    created () {
+      this.config({
+        api: '/business/dispatchUnit',
+        'field.id': 'id'
+      })
+    },
+    methods: {
+      dele (id, b, c) {
+        this.$confirm('姝ゆ搷浣滃皢姘镐箙鍒犻櫎璇ュ伐绉�, 鏄惁缁х画?', '鎻愮ず', {
+          confirmButtonText: '纭畾',
+          cancelButtonText: '鍙栨秷',
+          type: 'warning'
+        }).then(() => {
+          deleteById(id)
+            .then(res => {
+              this.$message.success('鍒犻櫎鎴愬姛')
+              this.getDetails()
+            })
+        }).catch(() => {
+
+        });
+      },
+      open (title, target) {
+        this.title = title
+        this.form.id = target.id
+        this.visible = true
+        this.getDetails()
+      },
+      async getDetails() {
+        let res = await getById(this.form.id)
+        for (const key in this.form) {
+          this.form[key] = res[key]
+        }
+      }
+    }
+  }
+</script>
+
+<style lang="scss" scoped>
+    .info {
+        width: 100%;
+        .info_list {
+            width: 100%;
+            display: flex;
+            align-items: center;
+            flex-wrap: wrap;
+            .info_list_item {
+                width: 33.3%;
+                display: flex;
+                align-items: center;
+                margin-bottom: 15px;
+                .info_list_item_label {
+                    flex-shrink: 0;
+                    width: 150px;
+                    font-size: 14px;
+                    color: black;
+                }
+                .info_list_item_val {
+                    flex: 1;
+                    font-size: 14px;
+                    color: black;
+                }
+            }
+        }
+        .info_btns {
+            width: 100%;
+            display: flex;
+            align-items: center;
+            margin-bottom: 15px;
+        }
+        .info_table {
+            width: 100%;
+            display: flex;
+            flex-direction: column;
+            margin-bottom: 15px;
+            .info_table_item {
+                width: 100%;
+                display: flex;
+                flex-direction: column;
+                margin-bottom: 15px;
+                &:last-child {
+                    margin: 0 !important;
+                }
+                .info_table_item_label {
+                    font-size: 14px;
+                    color: black;
+                    margin-bottom: 10px;
+                }
+                .info_table_item_content {
+                    width: 100%;
+                }
+            }
+        }
+        .info_status {
+            width: 100%;
+            .info_status_label {
+                width: 100%;
+                font-size: 18px;
+                font-weight: bold;
+                margin-bottom: 15px;
+            }
+        }
+    }
+</style>
diff --git a/platform/src/components/business/dispatchUnitReviewDetails.vue b/platform/src/components/business/dispatchUnitReviewDetails.vue
deleted file mode 100644
index e628141..0000000
--- a/platform/src/components/business/dispatchUnitReviewDetails.vue
+++ /dev/null
@@ -1,296 +0,0 @@
-<template>
-    <GlobalWindow
-        :title="title"
-        width="80%"
-        :visible.sync="visible"
-        :confirm-working="isWorking"
-        @confirm="confirm"
-    >
-        <div class="info">
-            <div class="info_head">
-                <span>鎵�灞炰紒涓氾細鑺滄箹鏍煎姏绮惧瘑鍒堕�犳湁闄愬叕鍙�</span>
-                <el-button type="primary" @click="visible5 = true">瀹℃牳</el-button>
-                <el-button type="primary" @click="$refs.dispatchReview.open('瀹℃牳宸ョ')">瀹℃牳宸ョ</el-button>
-            </div>
-            <div class="info_list">
-                <div class="info_list_item">娲鹃仯鍗曚綅锛氳姕婀栨牸鍔涚簿瀵嗗埗閫犳湁闄愬叕鍙�</div>
-                <div class="info_list_item">娲鹃仯鍗曚綅淇$敤浠g爜锛�913401000900000001</div>
-                <div class="info_list_item">娲鹃仯鍗曚綅鐘舵�侊細寰呭鏍�</div>
-                <div class="info_list_item">娲鹃仯鍗曚綅璇﹁堪锛氭棤</div>
-            </div>
-            <div class="info_x"></div>
-            <div class="info_form">
-                <div class="info_form_label">淇濋櫓鏂规锛氬钩瀹変繚闄╅泧涓昏矗浠婚櫓B鐗�</div>
-                <el-table
-                    :data="tableData"
-                    border
-                    style="width: 100%">
-                    <el-table-column
-                        prop="date"
-                        label="鏃ユ湡">
-                    </el-table-column>
-                    <el-table-column
-                        prop="name"
-                        label="濮撳悕">
-                    </el-table-column>
-                    <el-table-column
-                        prop="address"
-                        label="鍦板潃">
-                    </el-table-column>
-                </el-table>
-            </div>
-            <div class="info_form">
-                <div class="info_form_label">淇濋櫓鏂规锛氬钩瀹変繚闄╅泧涓昏矗浠婚櫓B鐗�</div>
-                <el-table
-                    :data="tableData"
-                    border
-                    style="width: 100%">
-                    <el-table-column
-                        prop="date"
-                        label="鏃ユ湡">
-                    </el-table-column>
-                    <el-table-column
-                        prop="name"
-                        label="濮撳悕">
-                    </el-table-column>
-                    <el-table-column
-                        prop="address"
-                        label="鍦板潃">
-                    </el-table-column>
-                </el-table>
-            </div>
-            <div class="desc_label">
-                <div class="desc_label_left">
-                    <span class="desc_label_left_title">
-                        妗堜欢杩涘害
-                    </span>
-                </div>
-            </div>
-            <div class="desc_times">
-                <el-timeline :reverse="reverse">
-                    <el-timeline-item
-                        v-for="(activity, index) in activities"
-                        :key="index"
-                        :timestamp="activity.timestamp">
-                        {{activity.content}}
-                    </el-timeline-item>
-                </el-timeline>
-            </div>
-            <!--    椹冲洖閫�鍥炵敵璇�    -->
-            <el-dialog
-                title="瀹℃牳纭"
-                :visible.sync="visible5"
-                :show-close="false"
-                :close-on-click-modal="false"
-                width="30%"
-                center>
-                <div class="form">
-                    <div class="form_item">
-                        <div class="form_item_label"><span>*</span>瀹℃牳璇存槑锛�</div>
-                        <div class="form_item_val">
-                            <el-input type="textarea" :rows="2" placeholder="璇疯緭鍏�"></el-input>
-                        </div>
-                    </div>
-                </div>
-                <span slot="footer" class="dialog-footer">
-                <el-button @click="visible5 = false">鍙� 娑�</el-button>
-                <el-button type="primary" @click="visible5 = false">纭� 瀹�</el-button>
-            </span>
-            </el-dialog>
-            <!--      瀹℃牳      -->
-            <dispatchReview ref="dispatchReview" />
-        </div>
-    </GlobalWindow>
-</template>
-
-<script>
-    import BaseOpera from '@/components/base/BaseOpera'
-    import GlobalWindow from '@/components/common/GlobalWindow'
-    import dispatchReview from '@/components/business/dispatchReview'
-    export default {
-        name: 'dispatchUnitReviewDetails',
-        extends: BaseOpera,
-        components: { GlobalWindow, dispatchReview },
-        data () {
-            return {
-                // 琛ㄥ崟鏁版嵁
-                form: {
-                    id: null,
-                    editDate: ''
-                },
-                // 楠岃瘉瑙勫垯
-                rules: {
-                },
-                tableData: [],
-                visible5: false,
-                reverse: true,
-                activities: [{
-                    content: '娲诲姩鎸夋湡寮�濮�',
-                    timestamp: '2018-04-15'
-                }, {
-                    content: '閫氳繃瀹℃牳',
-                    timestamp: '2018-04-13'
-                }, {
-                    content: '鍒涘缓鎴愬姛',
-                    timestamp: '2018-04-11'
-                }],
-            }
-        },
-        created () {
-            this.config({
-                api: '/business/insuranceApply',
-                'field.id': 'id'
-            })
-        },
-        methods: {
-
-        }
-    }
-</script>
-
-<style>
-    .v-modal {
-        z-index: 2000 !important;
-    }
-</style>
-
-<style lang="scss" scoped>
-    .info {
-        width: 100%;
-        .form {
-            width: 100%;
-            display: flex;
-            align-items: center;
-            flex-direction: column;
-            .form_span {
-                width: 100%;
-                display: flex;
-                align-items: start;
-                flex-direction: column;
-                margin-bottom: 20px;
-                span {
-                    font-size: 14px;
-                    &:nth-child(1) {
-                        color: black;
-                        margin-bottom: 5px;
-                    }
-                    &:nth-child(2) {
-                        color: #8c939d;
-                    }
-                }
-            }
-            .form_item {
-                width: 100%;
-                display: flex;
-                align-items: center;
-                margin-bottom: 20px;
-                &:last-child {
-                    margin: 0 !important;
-                }
-                .form_item_label {
-                    flex-shrink: 0;
-                    width: 170px;
-                    color: black;
-                    font-size: 14px;
-                    span {
-                        color: red;
-                        font-size: 14px;
-                    }
-                }
-                .form_item_val {
-                    flex: 1;
-                    /*height: 40px;*/
-                    margin-left: 20px;
-                    textarea {
-                        width: 100%;
-                        height: 70px;
-                        border: 1px solid #cbcbcb;
-                        padding: 10px;
-                        outline: none;
-                        box-sizing: border-box;
-                    }
-                    input {
-                        width: 100%;
-                        height: 40px;
-                        outline: none;
-                        border-radius: 5px;
-                        border: 1px solid #cbcbcb;
-                        padding: 0 20px;
-                        box-sizing: border-box;
-                    }
-                }
-            }
-        }
-        .info_head {
-            width: 100%;
-            display: flex;
-            align-items: center;
-            justify-content: space-between;
-            span {
-                color: black;
-                font-size: 14px;
-            }
-        }
-        .info_list {
-            width: 100%;
-            display: flex;
-            align-items: center;
-            flex-wrap: wrap;
-            margin-top: 15px;
-            .info_list_item {
-                width: 33.3%;
-                color: black;
-                font-size: 14px;
-                margin-bottom: 15px;
-            }
-        }
-        .info_x {
-            width: 100%;
-            height: 1px;
-            background: #eeeeee;
-            margin-bottom: 15px;
-        }
-        .info_form {
-            width: 100%;
-            margin-bottom: 15px;
-            .info_form_label {
-                color: black;
-                font-size: 14px;
-                margin-bottom: 15px;
-            }
-        }
-        .desc_label {
-            width: 100%;
-            display: flex;
-            align-items: center;
-            justify-content: space-between;
-            .desc_label_left {
-                flex: 1;
-                display: flex;
-                align-items: center;
-                .desc_label_left_title {
-                    font-size: 20px;
-                    font-weight: bold;
-                    color: black;
-                }
-                .desc_label_left_time {
-                    font-size: 14px;
-                    color: rgba(249, 86, 1, 0.996);
-                    margin-left: 10px;
-                }
-                .desc_label_left_code {
-                    font-size: 15px;
-                    color: black;
-                    margin-left: 30px;
-                }
-            }
-            .desc_label_right {
-                flex-shrink: 0;
-            }
-        }
-        .desc_times {
-            width: 100%;
-            margin-top: 20px;
-        }
-    }
-</style>
diff --git a/platform/src/components/business/modification.vue b/platform/src/components/business/modification.vue
deleted file mode 100644
index 877a401..0000000
--- a/platform/src/components/business/modification.vue
+++ /dev/null
@@ -1,153 +0,0 @@
-<template>
-    <GlobalWindow
-        :title="title"
-        width="100%"
-        :visible.sync="visible"
-        :confirm-working="isWorking"
-        @confirm="confirm"
-    >
-        <el-button type="primary" style="margin-bottom: 15px;" @click="add">娣诲姞</el-button>
-        <el-table
-            :data="form.solutionList"
-            border
-            style="width: 100%">
-            <el-table-column
-                label="搴忓彿"
-                align="center"
-                width="80">
-                <template slot-scope="scope">
-                    <span>{{scope.$index + 1}}</span>
-                </template>
-            </el-table-column>
-            <el-table-column
-                align="center"
-                label="淇濋櫓鏂规">
-                <template slot-scope="{row}">
-                    <el-select v-model="row.solutionBaseId" placeholder="璇烽�夋嫨">
-                        <el-option
-                            v-for="item in programme"
-                            :key="item.id"
-                            :label="item.name"
-                            :value="item.id">
-                        </el-option>
-                    </el-select>
-                </template>
-            </el-table-column>
-            <el-table-column
-                align="center"
-                label="鍔犲噺淇濆姛鑳�">
-                <template slot-scope="{row}">
-                    <el-checkbox :true-label="1" :false-label="0" v-model="row.canAdd">鍔犱繚</el-checkbox>
-                    <el-checkbox :true-label="1" :false-label="0" v-model="row.canReduce">鍑忎繚</el-checkbox>
-                </template>
-            </el-table-column>
-            <el-table-column
-                label="鎿嶄綔"
-                align="center"
-                width="100">
-                <template slot-scope="scope">
-                    <el-button type="text" size="small" style="color: red;" @click="dele(scope.$index)">鍒犻櫎</el-button>
-                </template>
-            </el-table-column>
-        </el-table>
-    </GlobalWindow>
-</template>
-
-<script>
-    import BaseOpera from '@/components/base/BaseOpera'
-    import GlobalWindow from '@/components/common/GlobalWindow'
-    import { all } from '@/api/business/solutions'
-    import { listForCompany } from '@/api/business/solutions'
-    import { updateSolutions } from '@/api/business/company'
-
-    export default {
-        name: 'modification',
-        extends: BaseOpera,
-        components: { GlobalWindow },
-        data () {
-            return {
-                // 琛ㄥ崟鏁版嵁
-                form: {
-                    id: null,
-                    solutionList: [
-                        {
-                            solutionBaseId: '',
-                            canAdd: 0,
-                            canReduce: 0
-                        }
-                    ]
-                },
-                // 楠岃瘉瑙勫垯
-                rules: {
-                    solutionList: [
-                        { required: true, message: '璇疯緭鍏ュ叕鍙歌处鍙�' }
-                    ]
-                },
-                programme: []
-            }
-        },
-        created () {
-            this.config({
-                api: '/business/company',
-                'field.id': 'id'
-            })
-        },
-        methods: {
-            confirm() {
-                this.isWorking = true
-                updateSolutions(this.form)
-                    .then(res => {
-                        this.visible = false
-                        this.$tip.apiSuccess('鏂板缓鎴愬姛')
-                        this.$emit('success')
-                    })
-                    .catch(e => {
-                        this.$tip.apiFailed(e)
-                    })
-                    .finally(() => {
-                        this.isWorking = false
-                    })
-            },
-            // 鑾峰彇鍏ㄩ儴鏂规
-            getAll() {
-                all({})
-                    .then(res => {
-                        this.programme = res
-                    })
-            },
-            open (title, target) {
-                var that = this;
-                this.title = title
-                for (const key in this.form) {
-                    this.form[key] = target[key]
-                }
-                this.getAll()
-                listForCompany({ companyId: target.id })
-                    .then(resa => {
-                        that.form.solutionList = resa.map(item => {
-                            return {
-                                solutionBaseId: item.solutionBaseId,
-                                canAdd: item.canAdd,
-                                canReduce: item.canReduce
-                            }
-                        })
-                        that.visible = true
-                    })
-            },
-            add() {
-                this.form.solutionList.push({
-                    solutionName: '',
-                    canAdd: '',
-                    canReduce: ''
-                })
-            },
-            dele(index) {
-                if (this.form.solutionList.length === 1) {
-                    this.$message.warning('鑷冲皯淇濈暀涓�椤�')
-                    return
-                }
-                this.form.solutionList.splice(index, 1)
-            }
-        }
-    }
-</script>
diff --git a/platform/src/components/business/policyListDetails.vue b/platform/src/components/business/policyListDetails.vue
deleted file mode 100644
index a4a5ed8..0000000
--- a/platform/src/components/business/policyListDetails.vue
+++ /dev/null
@@ -1,242 +0,0 @@
-<template>
-    <GlobalWindow
-        :title="title"
-        width="50%"
-        :visible.sync="visible"
-        :confirm-working="isWorking"
-        @confirm="confirm"
-    >
-        <div class="box">
-            <div class="box_header">
-                <div class="box_header_item">
-                    <div class="box_header_item_label">鎶曚繚浼佷笟</div>
-                    <div class="box_header_item_val">瀹夊窘鏍煎姏鏈烘鍒堕�犲巶</div>
-                </div>
-                <div class="box_header_item">
-                    <div class="box_header_item_label">淇濋櫓鏂规</div>
-                    <div class="box_header_item_val">骞冲畨淇濋櫓闆囦富璐d换闄〢鐗�</div>
-                </div>
-                <div class="box_header_item">
-                    <div class="box_header_item_label">淇濋櫓鐢熸晥璧锋湡</div>
-                    <div class="box_header_item_val">2023-09-11 00:00:00</div>
-                </div>
-                <div class="box_header_item">
-                    <div class="box_header_item_label">淇濋櫓鐢熸晥姝㈡湡</div>
-                    <div class="box_header_item_val">2023-10-11 23:59:59</div>
-                </div>
-                <div class="box_header_item">
-                    <div class="box_header_item_label">鎶曚繚浜烘暟</div>
-                    <div class="box_header_item_val">50</div>
-                </div>
-                <div class="box_header_item">
-                    <div class="box_header_item_label">鎬昏垂鐢�</div>
-                    <div class="box_header_item_val">15000</div>
-                </div>
-            </div>
-            <div class="box_table">
-                <div class="box_table_head">
-                    <div class="box_table_head_item">搴忓彿</div>
-                    <div class="box_table_head_item">鍛樺伐濮撳悕</div>
-                    <div class="box_table_head_item">韬唤璇佸彿</div>
-                    <div class="box_table_head_item">娲鹃仯鍗曚綅</div>
-                    <div class="box_table_head_item">鎵�灞炲伐绉�</div>
-                </div>
-                <div class="box_table_content" v-for="(item, index) in 6" :key="index">
-                    <div class="box_table_content_item">{{index + 1}}</div>
-                    <div class="box_table_content_item">鐜嬫煇鏌�</div>
-                    <div class="box_table_content_item">340411190001010011</div>
-                    <div class="box_table_content_item">瀹夊窘鏍煎姏鏈烘鍒堕�犲巶</div>
-                    <div class="box_table_content_item">4绫� 鏈烘鍔犲伐/鍒堕��</div>
-                </div>
-            </div>
-            <div class="box_footer">
-                <div class="box_footer_label">澶囨敞</div>
-                <div class="box_footer_val">
-                    <el-input placeholder="璇疯緭鍏�"></el-input>
-                </div>
-            </div>
-        </div>
-        <template v-slot:footer>
-            <el-button type="primary">浼佷笟璇佷欢</el-button>
-            <el-button type="primary">瀵煎嚭璇﹀崟</el-button>
-            <el-button @click="visible = false">鍙栨秷</el-button>
-        </template>
-    </GlobalWindow>
-</template>
-
-<script>
-    import BaseOpera from '@/components/base/BaseOpera'
-    import GlobalWindow from '@/components/common/GlobalWindow'
-    export default {
-        name: 'policyListDetails',
-        extends: BaseOpera,
-        components: { GlobalWindow },
-        data () {
-            return {
-                // 琛ㄥ崟鏁版嵁
-                form: {
-                    id: null,
-                    editDate: ''
-                },
-                // 楠岃瘉瑙勫垯
-                rules: {
-                },
-                formInline: {
-                    user: '',
-                    region: ''
-                },
-                reverse: true,
-                activities: [{
-                    content: '娲诲姩鎸夋湡寮�濮�',
-                    timestamp: '2018-04-15'
-                }, {
-                    content: '閫氳繃瀹℃牳',
-                    timestamp: '2018-04-13'
-                }, {
-                    content: '鍒涘缓鎴愬姛',
-                    timestamp: '2018-04-11'
-                }],
-                tableData: [],
-                activeName: 'first',
-                currentPage: 1
-            }
-        },
-        created () {
-            this.config({
-                api: '/business/insuranceApply',
-                'field.id': 'id'
-            })
-        },
-        methods: {
-            handleSizeChange(val) {
-                console.log(`姣忛〉 ${val} 鏉);
-            },
-            handleCurrentChange(val) {
-                console.log(`褰撳墠椤�: ${val}`);
-            },
-            handleClick(tab, event) {
-                console.log(tab, event);
-            },
-            onSubmit() {
-
-            }
-        }
-    }
-</script>
-
-<style lang="scss" scoped>
-    .box {
-        width: 100%;
-        .box_header {
-            width: 100%;
-            display: flex;
-            align-items: center;
-            flex-wrap: wrap;
-            border-top: 1px solid #b4bbc5;
-            border-left: 1px solid #b4bbc5;
-            .box_header_item {
-                width: 50%;
-                height: 50px;
-                display: flex;
-                align-items: center;
-                border-right: 1px solid #b4bbc5;
-                border-bottom: 1px solid #b4bbc5;
-                box-sizing: border-box;
-                .box_header_item_label {
-                    flex: 1;
-                    height: 100%;
-                    display: flex;
-                    align-items: center;
-                    justify-content: center;
-                    font-size: 14px;
-                    color: black;
-                    background: #f2f2f2;
-                    border-right: 1px solid #b4bbc5;
-                }
-                .box_header_item_val {
-                    flex: 1;
-                    height: 100%;
-                    display: flex;
-                    align-items: center;
-                    justify-content: center;
-                    font-size: 14px;
-                    color: black;
-                }
-            }
-        }
-        .box_table {
-            width: 100%;
-            border-left: 1px solid #b4bbc5;
-            box-sizing: border-box;
-            .box_table_head {
-                width: 100%;
-                display: flex;
-                align-items: center;
-                .box_table_head_item {
-                    flex: 1;
-                    height: 50px;
-                    background: #f2f2f2;
-                    display: flex;
-                    align-items: center;
-                    justify-content: center;
-                    font-size: 14px;
-                    color: black;
-                    border-right: 1px solid #b4bbc5;
-                    border-bottom: 1px solid #b4bbc5;
-                    box-sizing: border-box;
-                    &:nth-child(1) {
-                        flex: 0.5;
-                    }
-                }
-            }
-            .box_table_content {
-                width: 100%;
-                display: flex;
-                align-items: center;
-                .box_table_content_item {
-                    flex: 1;
-                    height: 50px;
-                    background: #ffffff;
-                    display: flex;
-                    align-items: center;
-                    justify-content: center;
-                    font-size: 14px;
-                    color: black;
-                    border-right: 1px solid #b4bbc5;
-                    border-bottom: 1px solid #b4bbc5;
-                    box-sizing: border-box;
-                    &:nth-child(1) {
-                        flex: 0.5;
-                    }
-                }
-            }
-        }
-        .box_footer {
-            width: 100%;
-            height: 50px;
-            border-left: 1px solid #b4bbc5;
-            border-bottom: 1px solid #b4bbc5;
-            border-right: 1px solid #b4bbc5;
-            display: flex;
-            align-items: center;
-            .box_footer_label {
-                width: 200px;
-                height: 100%;
-                display: flex;
-                align-items: center;
-                justify-content: center;
-                font-size: 14px;
-                color: black;
-                background: #f2f2f2;
-            }
-            .box_footer_val /deep/ {
-                width: calc(100% - 200px);
-                height: 100%;
-                input {
-                    width: 100%;
-                    height: 50px;
-                }
-            }
-        }
-    }
-</style>
diff --git a/platform/src/components/business/switchCourtDetaols.vue b/platform/src/components/business/switchCourtDetaols.vue
deleted file mode 100644
index 4a54799..0000000
--- a/platform/src/components/business/switchCourtDetaols.vue
+++ /dev/null
@@ -1,236 +0,0 @@
-<template>
-    <GlobalWindow
-        :title="title"
-        width="70%"
-        :visible.sync="visible"
-        :confirm-working="isWorking"
-        @confirm="confirm"
-    >
-        <div class="box">
-            <el-table
-                :data="tableData"
-                border
-                style="width: 100%; margin-bottom: 15px;">
-                <el-table-column
-                    prop="date"
-                    label="鎵瑰崟鍙�">
-                </el-table-column>
-                <el-table-column
-                    prop="name"
-                    label="鍏宠仈淇濆崟鍙�">
-                </el-table-column>
-                <el-table-column
-                    prop="address"
-                    label="淇濋櫓鏂规">
-                </el-table-column>
-                <el-table-column
-                    prop="address"
-                    label="淇濋櫓鐢熸晥璧锋湡">
-                </el-table-column>
-                <el-table-column
-                    prop="address"
-                    label="淇濋櫓鐢熸晥姝㈡湡">
-                </el-table-column>
-                <el-table-column
-                    prop="address"
-                    label="鎵瑰崟鐢熸晥鏈�">
-                </el-table-column>
-            </el-table>
-            <el-table
-                :data="tableData"
-                border
-                style="width: 100%; margin-bottom: 15px;">
-                <el-table-column
-                    prop="date"
-                    label="搴忓彿">
-                </el-table-column>
-                <el-table-column
-                    prop="name"
-                    label="鍛樺伐濮撳悕">
-                </el-table-column>
-                <el-table-column
-                    prop="address"
-                    label="韬唤璇佸彿">
-                </el-table-column>
-                <el-table-column
-                    prop="address"
-                    label="鍘熸淳閬e崟浣�">
-                </el-table-column>
-                <el-table-column
-                    prop="address"
-                    label="鍘熸墍灞炲伐绉�">
-                </el-table-column>
-                <el-table-column
-                    prop="address"
-                    label="淇濋櫓鐢熸晥璧锋湡">
-                </el-table-column>
-                <el-table-column
-                    prop="address"
-                    label="鎹㈠巶鍚庢淳閬e崟浣�">
-                </el-table-column>
-                <el-table-column
-                    prop="address"
-                    label="鎹㈠巶鍚庢墍灞炲伐绉�">
-                </el-table-column>
-                <el-table-column
-                    prop="address"
-                    label="淇濋櫓鐢熸晥姝㈡湡">
-                </el-table-column>
-            </el-table>
-            <el-pagination
-                @size-change="handleSizeChange"
-                @current-change="handleCurrentChange"
-                :current-page="currentPage"
-                :page-sizes="[100, 200, 300, 400]"
-                :page-size="100"
-                layout="total, sizes, prev, pager, next, jumper"
-                :total="400">
-            </el-pagination>
-        </div>
-        <template v-slot:footer>
-            <el-button type="primary">浼佷笟璇佷欢</el-button>
-            <el-button type="primary">瀵煎嚭璇﹀崟</el-button>
-            <el-button @click="visible = false">鍙栨秷</el-button>
-        </template>
-    </GlobalWindow>
-</template>
-
-<script>
-    import BaseOpera from '@/components/base/BaseOpera'
-    import GlobalWindow from '@/components/common/GlobalWindow'
-    export default {
-        name: 'switchCourtDetaols',
-        extends: BaseOpera,
-        components: { GlobalWindow },
-        data () {
-            return {
-                // 琛ㄥ崟鏁版嵁
-                form: {
-                    id: null,
-                    editDate: ''
-                },
-                tableData: [],
-                currentPage: 1
-            }
-        },
-        created () {
-            this.config({
-                api: '/business/insuranceApply',
-                'field.id': 'id'
-            })
-        },
-        methods: {
-            handleSizeChange(val) {
-                console.log(`姣忛〉 ${val} 鏉);
-            },
-            handleCurrentChange(val) {
-                console.log(`褰撳墠椤�: ${val}`);
-            },
-            onSubmit() {
-
-            }
-        }
-    }
-</script>
-
-<style lang="scss" scoped>
-    .box {
-        width: 100%;
-        .box_header {
-            width: 100%;
-            display: flex;
-            align-items: center;
-            flex-wrap: wrap;
-            border-top: 1px solid #b4bbc5;
-            border-left: 1px solid #b4bbc5;
-            .box_header_item {
-                width: 50%;
-                height: 50px;
-                display: flex;
-                align-items: center;
-                border-right: 1px solid #b4bbc5;
-                border-bottom: 1px solid #b4bbc5;
-                box-sizing: border-box;
-                .box_header_item_label {
-                    flex: 1;
-                    height: 100%;
-                    display: flex;
-                    align-items: center;
-                    justify-content: center;
-                    font-size: 14px;
-                    color: black;
-                    background: #f2f2f2;
-                    border-right: 1px solid #b4bbc5;
-                }
-                .box_header_item_val {
-                    flex: 1;
-                    height: 100%;
-                    display: flex;
-                    align-items: center;
-                    justify-content: center;
-                    font-size: 14px;
-                    color: black;
-                }
-            }
-        }
-        .box_table {
-            width: 100%;
-            border-left: 1px solid #b4bbc5;
-            box-sizing: border-box;
-            .box_table_headText {
-                width: 100%;
-                height: 50px;
-                display: flex;
-                align-items: center;
-                justify-content: center;
-                background: #f2f2f2;
-                font-size: 14px;
-                color: black;
-                border-right: 1px solid #b4bbc5;
-                border-bottom: 1px solid #b4bbc5;
-            }
-            .box_table_head {
-                width: 100%;
-                display: flex;
-                align-items: center;
-                .box_table_head_item {
-                    flex: 1;
-                    height: 50px;
-                    background: #f2f2f2;
-                    display: flex;
-                    align-items: center;
-                    justify-content: center;
-                    font-size: 14px;
-                    color: black;
-                    border-right: 1px solid #b4bbc5;
-                    border-bottom: 1px solid #b4bbc5;
-                    box-sizing: border-box;
-                    &:nth-child(1) {
-                        flex: 0.5;
-                    }
-                }
-            }
-            .box_table_content {
-                width: 100%;
-                display: flex;
-                align-items: center;
-                .box_table_content_item {
-                    flex: 1;
-                    height: 50px;
-                    background: #ffffff;
-                    display: flex;
-                    align-items: center;
-                    justify-content: center;
-                    font-size: 14px;
-                    color: black;
-                    border-right: 1px solid #b4bbc5;
-                    border-bottom: 1px solid #b4bbc5;
-                    box-sizing: border-box;
-                    &:nth-child(1) {
-                        flex: 0.5;
-                    }
-                }
-            }
-        }
-    }
-</style>
diff --git a/platform/src/components/common/UploadAvatarVideo.vue b/platform/src/components/common/UploadAvatarVideo.vue
new file mode 100644
index 0000000..5031b58
--- /dev/null
+++ b/platform/src/components/common/UploadAvatarVideo.vue
@@ -0,0 +1,128 @@
+<template>
+  <div>
+    <el-upload
+      class="avatar-uploader"
+      accept=".mp4"
+      :style="customStyle"
+      :action="uploadImgUrl"
+      :data="uploadData"
+      :show-file-list="false"
+      :on-success="handleAvatarSuccess"
+      :on-error="uploadError"
+      :before-upload="beforeAvatarUpload">
+      <video v-if="file.videourlfull" :src="file.videourlfull" :style="customStyle" class="avatar" />
+      <div v-else :style="customStyle">
+        <i class="el-icon-plus avatar-uploader-icon"></i>
+        <div class="tips-style">{{ tipsLabel }}</div>
+      </div>
+    </el-upload>
+  </div>
+
+</template>
+
+<script>
+export default {
+  props: {
+    file: {
+      type: Object,
+      default: () => {}
+    },
+    tipsLabel: '',
+    customStyle: {
+      type: String,
+      default: 'width: 90px; height: 90px;'
+    },
+    uploadData: Object
+  },
+  data() {
+    return {
+      uploadImgUrl: process.env.VUE_APP_API_PREFIX + '/public/upload'
+    }
+  },
+
+  methods: {
+    // 涓婁紶鍥剧墖
+    handleAvatarSuccess(res, file) {
+      if (res.code == 200) {
+        let { data } = res
+        this.file.videourl = data.imgaddr;
+        this.file.videourlfull = data.url;
+        this.$message.success('涓婁紶鎴愬姛')
+        this.$emit('uploadSuccess', { imgurl: data.imgaddr, imgurlfull: data.url, name: data.originname })
+      } else {
+        this.$tip.apiFailed('涓婁紶澶辫触')
+      }
+      this.$emit('uploadEnd')
+    },
+    uploadError() {
+      this.$tip.apiFailed('涓婁紶澶辫触')
+      this.$emit('endUpload')
+    },
+    // // 鎷︽埅
+    beforeAvatarUpload(file) {
+      this.$emit('uploadBegin')
+      return true
+    }
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+$image-width: 100px;
+.avatar-uploader {
+  width: $image-width;
+  height: $image-width;
+}
+::v-deep .el-upload {
+  border: 1px dashed #d9d9d9;
+  border-radius: 6px;
+  cursor: pointer;
+  position: relative;
+  width: $image-width;
+  height: $image-width;
+  overflow: hidden;
+}
+.avatar-uploader .el-upload:hover {
+  border-color: #409EFF;
+}
+.avatar-uploader-icon {
+  line-height: 90px;
+  font-size: 28px;
+  color: #8c939d;
+  width: $image-width;
+  height: $image-width;
+  text-align: center;
+}
+.avatar {
+  width: $image-width;
+  height: $image-width;
+  display: block;
+}
+.tips-style {
+  height: 13px;
+  font-size: 13px;
+  font-weight: 400;
+  color: #999999;
+  line-height: 13px;
+}
+</style>
+<style lang="scss" scoped>
+::v-deep .el-upload--picture-card{
+  width: 90px !important;
+  height: 90px !important;
+}
+::v-deep .el-upload-list__item {
+  width: 90px !important;
+  height: 90px !important;
+}
+.icon {
+  -webkit-transform: translate(-50%,-50%);
+  -ms-transform: translate(-50%,-50%);
+  transform: translate(0%, -85%);
+}
+::v-deep .el-upload-list__item {
+  width: 90px !important;
+  height: 90px !important;
+}
+</style>
+
diff --git a/platform/src/views/business/applyChange.vue b/platform/src/views/business/applyChange.vue
deleted file mode 100644
index a2198db..0000000
--- a/platform/src/views/business/applyChange.vue
+++ /dev/null
@@ -1,126 +0,0 @@
-<template>
-    <TableLayout :permissions="['business:applychange:query']">
-        <!-- 鎼滅储琛ㄥ崟 -->
-        <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
-            <el-form-item label="淇濆崟鐘舵��" prop="status">
-                <el-select v-model="searchForm.status" placeholder="璇烽�夋嫨" @change="search">
-                    <el-option label="寰呯缃�" value="0"></el-option>
-                    <el-option label="宸茬绔� " value="1"></el-option>
-                    <el-option label="宸蹭笂浼犳壒鍗�" value="2"></el-option>
-                    <el-option label="閫�鍥炵敵璇�" value="3"></el-option>
-                </el-select>
-            </el-form-item>
-            <el-form-item label="鎶曚繚浼佷笟" prop="status">
-                <el-select v-model="searchForm.status" placeholder="璇烽�夋嫨">
-                    <el-option
-                        v-for="item in options"
-                        :key="item.value"
-                        :label="item.label"
-                        :value="item.value">
-                    </el-option>
-                </el-select>
-            </el-form-item>
-            <el-form-item label="淇濋櫓鏂规" prop="status">
-                <el-select v-model="searchForm.status" placeholder="璇烽�夋嫨">
-                    <el-option
-                        v-for="item in options"
-                        :key="item.value"
-                        :label="item.label"
-                        :value="item.value">
-                    </el-option>
-                </el-select>
-            </el-form-item>
-            <el-form-item label="鎻愪氦鏃ユ湡" prop="status">
-                <el-date-picker
-                    v-model="searchForm.status"
-                    type="daterange"
-                    range-separator="鑷�"
-                    start-placeholder="寮�濮嬫棩鏈�"
-                    end-placeholder="缁撴潫鏃ユ湡">
-                </el-date-picker>
-            </el-form-item>
-            <section>
-                <el-button type="primary" @click="search">鎼滅储</el-button>
-                <el-button @click="reset">閲嶇疆</el-button>
-                <el-button @click="$refs.operaApplyChangeWindow.open('鍔犲噺淇濊鎯�')">鏌ョ湅璇︽儏</el-button>
-            </section>
-        </el-form>
-        <!-- 琛ㄦ牸鍜屽垎椤� -->
-        <template v-slot:table-wrap>
-            <el-table
-                v-loading="isWorking.search"
-                :data="tableData.list"
-                stripe
-            >
-                <el-table-column label="搴忓彿" width="80px">
-                    <template slot-scope="scope">
-                        <span>{{scope.$index + 1}}</span>
-                    </template>
-                </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-if="row.status === 1">宸茬绔�</span>
-                        <span v-if="row.status === 2">宸蹭笂浼犳壒鍗�</span>
-                        <span v-if="row.status === 3">閫�鍥炵敵璇�</span>
-                    </template>
-                </el-table-column>
-                <el-table-column prop="code" label="鎶曚繚浼佷笟" min-width="100px"></el-table-column>
-                <el-table-column prop="code" label="鍏宠仈淇濆崟鍙�" min-width="100px"></el-table-column>
-                <el-table-column prop="code" label="淇濋櫓鏂规" min-width="100px"></el-table-column>
-                <el-table-column prop="code" label="鍔犱繚浜烘暟锛堜汉锛�" min-width="100px"></el-table-column>
-                <el-table-column prop="code" label="鍑忎繚浜烘暟锛堜汉锛�" min-width="100px"></el-table-column>
-                <el-table-column prop="code" label="璐圭敤鍙樻洿" min-width="100px"></el-table-column>
-                <el-table-column prop="createDate" label="鎻愪氦鏃堕棿" min-width="100px"></el-table-column>
-<!--                v-if="containPermissions(['business:applychange:update', 'business:applychange:delete'])"-->
-                <el-table-column
-                    label="鎿嶄綔"
-                    min-width="120"
-                    fixed="right"
-                >
-                    <template slot-scope="{row}">
-<!--                        v-permissions="['business:applychange:update']"-->
-                        <el-button type="text" @click="$refs.operaApplyChangeWindow.open('鍔犲噺淇濊鎯�', row)" icon="el-icon-edit">鏌ョ湅璇︽儏</el-button>
-                    </template>
-                </el-table-column>
-            </el-table>
-            <pagination
-                @size-change="handleSizeChange"
-                @current-change="handlePageChange"
-                :pagination="tableData.pagination"
-            >
-            </pagination>
-        </template>
-        <!-- 鏂板缓/淇敼 -->
-        <OperaApplyChangeWindow ref="operaApplyChangeWindow" @success="handlePageChange"/>
-    </TableLayout>
-</template>
-
-<script>
-    import BaseTable from '@/components/base/BaseTable'
-    import TableLayout from '@/layouts/TableLayout'
-    import Pagination from '@/components/common/Pagination'
-    import OperaApplyChangeWindow from '@/components/business/OperaApplyChangeWindow'
-    export default {
-        name: 'ApplyChange',
-        extends: BaseTable,
-        components: { TableLayout, Pagination, OperaApplyChangeWindow },
-        data () {
-            return {
-                // 鎼滅储
-                searchForm: {
-                    status: ''
-                }
-            }
-        },
-        created () {
-            this.config({
-                module: '鍔犲噺淇濇崲鍘傜敵璇蜂俊鎭〃',
-                api: '/business/applyChange',
-                'field.id': 'id',
-                'field.main': 'id'
-            })
-            this.search()
-        }
-    }
-</script>
diff --git a/platform/src/views/business/company.vue b/platform/src/views/business/company.vue
deleted file mode 100644
index 51341f7..0000000
--- a/platform/src/views/business/company.vue
+++ /dev/null
@@ -1,146 +0,0 @@
-<template>
-    <TableLayout :permissions="['business:company:query']">
-        <!-- 鎼滅储琛ㄥ崟 -->
-        <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
-            <el-form-item label="浼佷笟鍚嶇О" prop="name">
-                <el-input v-model="searchForm.name" placeholder="璇疯緭鍏ヤ紒涓氬悕绉�" @keypress.enter.native="search"></el-input>
-            </el-form-item>
-            <el-form-item label="鎵�灞炲晢鎴�" prop="name">
-                <el-input v-model="searchForm.name" placeholder="璇疯緭鍏ユ墍灞炲晢鎴�" @keypress.enter.native="search"></el-input>
-            </el-form-item>
-            <el-form-item label="鎵�灞炵悊璧斿憳" prop="username">
-                <el-input v-model="searchForm.username" placeholder="璇疯緭鍏ユ墍灞炵悊璧斿憳" @keypress.enter.native="search"></el-input>
-            </el-form-item>
-            <section>
-                <el-button type="primary" @click="search">鎼滅储</el-button>
-                <el-button @click="reset">閲嶇疆</el-button>
-            </section>
-        </el-form>
-        <!-- 琛ㄦ牸鍜屽垎椤� -->
-        <template v-slot:table-wrap>
-            <ul class="toolbar" v-permissions="['business:company:create']">
-                <li><el-button type="primary" @click="$refs.operaCompanyWindow.open('鏂板缓浼佷笟')" v-permissions="['business:company:create']">鏂板缓浼佷笟</el-button></li>
-            </ul>
-            <el-table
-                v-loading="isWorking.search"
-                :data="tableData.list"
-                stripe
-            >
-                <el-table-column prop="name" label="浼佷笟鍚嶇О" min-width="100px"></el-table-column>
-                <el-table-column prop="code" label="缁熶竴淇$敤浠g爜" min-width="100px"></el-table-column>
-                <el-table-column prop="createDate" label="娣诲姞鏃堕棿" min-width="100px"></el-table-column>
-                <el-table-column prop="phone" label="缁戝畾鎵嬫満鍙�" min-width="100px"></el-table-column>
-                <el-table-column label="鍚敤鐘舵��" min-width="100px">
-                    <template slot-scope="{row}">
-                        <el-switch
-                            @change="changeStatus($event, row)"
-                            v-model="row.status"
-                            active-color="#13ce66"
-                            inactive-color="#ff4949"
-                            :active-value="0"
-                            :inactive-value="1">
-                        </el-switch>
-                    </template>
-                </el-table-column>
-                <el-table-column
-                    v-if="containPermissions(['business:company:update', 'business:company:delete'])"
-                    label="鎿嶄綔"
-                    min-width="120"
-                    fixed="right"
-                >
-                    <template slot-scope="{row}">
-                        <el-button type="text" @click="$refs.OperaCompanyDescWindow.open('浼佷笟璇︽儏', row)"  v-permissions="['business:company:update']">鏌ョ湅璇︽儏</el-button>
-                        <el-button type="text" @click="edit(row)" v-permissions="['business:company:update']">淇敼</el-button>
-                        <el-button type="text" @click="$refs.operaCompanyWindow.open('缂栬緫浼佷笟淇℃伅琛�', row)" v-permissions="['business:company:update']">鐢靛瓙绛捐璇�</el-button>
-                    </template>
-                </el-table-column>
-            </el-table>
-            <pagination
-                @size-change="handleSizeChange"
-                @current-change="handlePageChange"
-                :pagination="tableData.pagination"
-            >
-            </pagination>
-        </template>
-        <!-- 鏂板缓/淇敼 -->
-        <OperaCompanyWindow ref="operaCompanyWindow" @success="handlePageChange" />
-        <!-- 璇︽儏 -->
-        <OperaCompanyDescWindow ref="OperaCompanyDescWindow" @success="handlePageChange" />
-    </TableLayout>
-</template>
-
-<script>
-    import BaseTable from '@/components/base/BaseTable'
-    import TableLayout from '@/layouts/TableLayout'
-    import Pagination from '@/components/common/Pagination'
-    import OperaCompanyWindow from '@/components/business/OperaCompanyWindow'
-    import OperaCompanyDescWindow from '@/components/business/OperaCompanyDescWindow'
-    import { updateStatus, getById } from '@/api/business/company'
-    export default {
-        name: 'Company',
-        extends: BaseTable,
-        components: { TableLayout, Pagination, OperaCompanyWindow, OperaCompanyDescWindow },
-        data () {
-            return {
-                // 鎼滅储
-                searchForm: {
-                    name: '',
-                    username: ''
-                }
-            }
-        },
-        created () {
-            this.config({
-                module: '浼佷笟淇℃伅琛�',
-                api: '/business/company',
-                'field.id': 'id',
-                'field.main': 'id'
-            })
-            this.search()
-        },
-        methods: {
-            edit(row) {
-                getById(row.id)
-                    .then(res => {
-                        let form = res;
-                        form.type = 1
-                        form.file = {
-                            imgurl: '',
-                            imgurlfull: ''
-                        }
-                        form.file1 = {
-                            imgurl: '',
-                            imgurlfull: ''
-                        }
-                        form.file2 = {
-                            imgurl: '',
-                            imgurlfull: ''
-                        }
-                        form.file3 = {
-                            imgurl: '',
-                            imgurlfull: ''
-                        }
-                        form.file.imgurl = res.businessImg.fileurl
-                        form.file.imgurlfull = res.businessImg.fileurlFull
-                        form.file1.imgurl = res.idcardImgList[0].fileurl
-                        form.file1.imgurlfull = res.idcardImgList[0].fileurlFull
-                        form.file2.imgurl = res.idcardImgList[1].fileurl
-                        form.file2.imgurlfull = res.idcardImgList[1].fileurlFull
-                        form.file3.imgurl = res.signImg.fileurl
-                        form.file3.imgurlfull = res.signImg.fileurlFull
-                        this.$refs.operaCompanyWindow.open('缂栬緫浼佷笟', form)
-                    })
-            },
-            // 淇敼鐘舵��
-            changeStatus(status, row) {
-                updateStatus({ id: row.id, status })
-                    .then(res => {
-                        this.search()
-                    })
-                    .catch(err => {
-                        row.status = row.status === 0 ? 1 : 0
-                    })
-            }
-        }
-    }
-</script>
diff --git a/platform/src/views/business/dispatchUnit.vue b/platform/src/views/business/dispatchUnit.vue
index ba4cdc2..52506af 100644
--- a/platform/src/views/business/dispatchUnit.vue
+++ b/platform/src/views/business/dispatchUnit.vue
@@ -2,11 +2,8 @@
     <TableLayout :permissions="['business:dispatchunit:query']">
         <!-- 鎼滅储琛ㄥ崟 -->
         <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
-            <el-form-item label="鎵�灞炲晢鎴�" prop="name">
-                <el-input v-model="searchForm.name" placeholder="璇疯緭鍏ユ墍灞炲晢鎴�" @keypress.enter.native="search"></el-input>
-            </el-form-item>
             <el-form-item label="娲鹃仯鍗曚綅" prop="name">
-                <el-input v-model="searchForm.name" placeholder="璇疯緭鍏ユ淳閬e崟浣�" @keypress.enter.native="search"></el-input>
+                <el-input v-model="searchForm.name" placeholder="璇疯緭鍏ョ敤宸ュ崟浣嶅悕绉�" @keypress.enter.native="search"></el-input>
             </el-form-item>
             <section>
                 <el-button type="primary" @click="search">鎼滅储</el-button>
@@ -15,9 +12,9 @@
         </el-form>
         <!-- 琛ㄦ牸鍜屽垎椤� -->
         <template v-slot:table-wrap>
-<!--            <ul class="toolbar" v-permissions="['business:dispatchunit:create']">-->
-<!--                <li><el-button type="primary" @click="$refs.operaDispatchUnitWindow.open('娲鹃仯鍗曚綅璇︽儏')" icon="el-icon-plus" v-permissions="['business:dispatchunit:create']">鏂板缓</el-button></li>-->
-<!--            </ul>-->
+            <ul class="toolbar" v-permissions="['business:dispatchunit:create']">
+                <li><el-button type="primary" @click="$refs.operaDispatchUnitWindow.open('娣诲姞娲鹃仯鍗曚綅')" v-permissions="['business:dispatchunit:create']">鏂板娲鹃仯鍗曚綅</el-button></li>
+            </ul>
             <el-table
                 v-loading="isWorking.search"
                 :data="tableData.list"
@@ -28,21 +25,35 @@
                         <span>{{scope.$index + 1}}</span>
                     </template>
                 </el-table-column>
-                <el-table-column prop="companyId" label="鎵�灞炰紒涓�"></el-table-column>
-                <el-table-column prop="companyId" label="娲鹃仯鍗曚綅"></el-table-column>
-                <el-table-column prop="companyId" label="淇濋櫓鏂规"></el-table-column>
-                <el-table-column prop="unitStatus" label="浼佷笟鐘舵��" min-width="100px">
+                <el-table-column prop="name" label="娲鹃仯鍗曚綅"></el-table-column>
+                <el-table-column label="浼佷笟鐘舵��">
                     <template slot-scope="{row}">
                         <span v-if="row.unitStatus === 0">寰呭鏍�</span>
-                        <span v-if="row.unitStatus === 1">瀹℃牳閫氳繃</span>
-                        <span v-if="row.unitStatus === 2">瀹℃牳涓嶉�氳繃</span>
+                        <span v-if="row.unitStatus === 1" style="color: green;">瀹℃牳閫氳繃</span>
+                        <span v-if="row.unitStatus === 2" style="color: red;">瀹℃牳涓嶉�氳繃</span>
                     </template>
                 </el-table-column>
-                <el-table-column prop="unitStatus" label="鎿嶄綔" min-width="100px">
+                <el-table-column prop="createDate" label="娣诲姞鏃ユ湡"></el-table-column>
+                <el-table-column label="鏄惁鍋滅敤">
                     <template slot-scope="{row}">
-                        <span v-if="row.unitStatus === 0">寰呭鏍�</span>
-                        <span v-if="row.unitStatus === 1">瀹℃牳閫氳繃</span>
-                        <span v-if="row.unitStatus === 2">瀹℃牳涓嶉�氳繃</span>
+                        <el-switch
+                            @change="changeStatus($event, row)"
+                            v-model="row.status"
+                            active-color="#13ce66"
+                            inactive-color="#ff4949"
+                            :active-value="1"
+                            :inactive-value="0">
+                        </el-switch>
+                    </template>
+                </el-table-column>
+                <el-table-column
+                    v-if="containPermissions(['business:dispatchunit:update', 'business:dispatchunit:delete'])"
+                    label="鎿嶄綔"
+                    min-width="120"
+                    fixed="right"
+                >
+                    <template slot-scope="{row}">
+                        <el-button type="text" @click="$refs.dispatchUnitDetails.open('娲鹃仯鍗曚綅璇︽儏', row)" v-permissions="['business:dispatchunit:update']">鏌ョ湅璇︽儏</el-button>
                     </template>
                 </el-table-column>
             </el-table>
@@ -53,36 +64,53 @@
             >
             </pagination>
         </template>
-        <!-- 璇︽儏 -->
+        <!-- 鏂板缓/淇敼 -->
         <OperaDispatchUnitWindow ref="operaDispatchUnitWindow" @success="handlePageChange"/>
+        <!-- 璇︽儏 -->
+        <dispatchUnitDetails ref="dispatchUnitDetails" @success="handlePageChange"/>
     </TableLayout>
 </template>
 
 <script>
-    import BaseTable from '@/components/base/BaseTable'
-    import TableLayout from '@/layouts/TableLayout'
-    import Pagination from '@/components/common/Pagination'
-    import OperaDispatchUnitWindow from '@/components/business/OperaDispatchUnitWindow'
-    export default {
-        name: 'DispatchUnit',
-        extends: BaseTable,
-        components: { TableLayout, Pagination, OperaDispatchUnitWindow },
-        data () {
-            return {
-                // 鎼滅储
-                searchForm: {
-                    name: ''
-                }
-            }
-        },
-        created () {
-            this.config({
-                module: '娲鹃仯鍗曚綅淇℃伅琛�',
-                api: '/business/dispatchUnit',
-                'field.id': 'id',
-                'field.main': 'id'
-            })
-            this.search()
-        }
+import BaseTable from '@/components/base/BaseTable'
+import TableLayout from '@/layouts/TableLayout'
+import Pagination from '@/components/common/Pagination'
+import OperaDispatchUnitWindow from '@/components/business/OperaDispatchUnitWindow'
+import dispatchUnitDetails from '@/components/business/dispatchUnitDetails'
+import { updateById } from '@/api/business/dispatchUnit'
+export default {
+  name: 'DispatchUnit',
+  extends: BaseTable,
+  components: { TableLayout, Pagination, OperaDispatchUnitWindow, dispatchUnitDetails },
+  data () {
+    return {
+      // 鎼滅储
+      searchForm: {
+        name: '',
+        dataType: 0
+      }
     }
+  },
+  created () {
+    this.config({
+      module: '娲鹃仯鍗曚綅淇℃伅琛�',
+      api: '/business/dispatchUnit',
+      'field.id': 'id',
+      'field.main': 'id'
+    })
+    this.search()
+  },
+  methods: {
+    // 淇敼鐘舵��
+    changeStatus(status, row) {
+      updateById({ status, id: row.id })
+        .then(res => {
+          this.search()
+        })
+        .catch(err => {
+          row.status = row.status === 0 ? 1 : 0
+        })
+    }
+  }
+}
 </script>
diff --git a/platform/src/views/business/dispatchUnitReview.vue b/platform/src/views/business/dispatchUnitReview.vue
deleted file mode 100644
index 081779a..0000000
--- a/platform/src/views/business/dispatchUnitReview.vue
+++ /dev/null
@@ -1,104 +0,0 @@
-<template>
-    <TableLayout :permissions="['business:dispatchunit:query']">
-        <!-- 鎼滅储琛ㄥ崟 -->
-        <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
-            <el-form-item label="鎵�灞炰紒涓�" prop="companyId">
-                <el-select v-model="searchForm.companyId" placeholder="璇烽�夋嫨" @change="search">
-                    <el-option
-                        v-for="item in options"
-                        :key="item.value"
-                        :label="item.label"
-                        :value="item.value">
-                    </el-option>
-                </el-select>
-            </el-form-item>
-            <el-form-item label="娲鹃仯鍗曚綅" prop="name">
-                <el-select v-model="searchForm.name" placeholder="璇烽�夋嫨" @change="search">
-                    <el-option
-                        v-for="item in options"
-                        :key="item.value"
-                        :label="item.label"
-                        :value="item.value">
-                    </el-option>
-                </el-select>
-            </el-form-item>
-            <section>
-                <el-button type="primary" @click="search">鎼滅储</el-button>
-                <el-button @click="reset">閲嶇疆</el-button>
-                <el-button @click="$refs.dispatchUnitReviewDetails.open('娲鹃仯鍗曚綅璇︽儏')">璇︽儏</el-button>
-            </section>
-        </el-form>
-        <!-- 琛ㄦ牸鍜屽垎椤� -->
-        <template v-slot:table-wrap>
-            <el-table
-                v-loading="isWorking.search"
-                :data="tableData.list"
-                stripe
-            >
-                <el-table-column label="搴忓彿" width="80px">
-                    <template slot-scope="scope">
-                        <span>{{scope.$index + 1}}</span>
-                    </template>
-                </el-table-column>
-                <el-table-column prop="companyId" label="鎵�灞炰紒涓�" min-width="100px"></el-table-column>
-                <el-table-column prop="name" label="娲鹃仯鍗曚綅" min-width="100px"></el-table-column>
-                <el-table-column label="娲鹃仯鍗曚綅鐘舵��" min-width="100px">
-                    <template slot-scope="{row}">
-                        <span v-if="row.unitStatus === 0">寰呭鏍�</span>
-                        <span v-if="row.unitStatus === 1">瀹℃牳閫氳繃</span>
-                        <span v-if="row.unitStatus === 2">瀹℃牳涓嶉�氳繃</span>
-                    </template>
-                </el-table-column>
-                <el-table-column prop="createDate" label="鎻愪氦鏃ユ湡" min-width="100px"></el-table-column>
-                <el-table-column
-                    v-if="containPermissions(['business:dispatchunit:update', 'business:dispatchunit:delete'])"
-                    label="鎿嶄綔"
-                    min-width="120"
-                    fixed="right"
-                >
-                    <template slot-scope="{row}">
-                        <el-button type="text" @click="$refs.operaDispatchUnitWindow.open('缂栬緫娲鹃仯鍗曚綅淇℃伅琛�', row)" icon="el-icon-edit" v-permissions="['business:dispatchunit:update']">鏌ョ湅璇︽儏</el-button>
-                    </template>
-                </el-table-column>
-            </el-table>
-            <pagination
-                @size-change="handleSizeChange"
-                @current-change="handlePageChange"
-                :pagination="tableData.pagination"
-            >
-            </pagination>
-        </template>
-        <!-- 鏂板缓/淇敼 -->
-        <dispatchUnitReviewDetails ref="dispatchUnitReviewDetails" @success="handlePageChange"/>
-    </TableLayout>
-</template>
-
-<script>
-    import BaseTable from '@/components/base/BaseTable'
-    import TableLayout from '@/layouts/TableLayout'
-    import Pagination from '@/components/common/Pagination'
-    import dispatchUnitReviewDetails from '@/components/business/dispatchUnitReviewDetails'
-    export default {
-        name: 'dispatchUnitReview',
-        extends: BaseTable,
-        components: { TableLayout, Pagination, dispatchUnitReviewDetails },
-        data () {
-            return {
-                // 鎼滅储
-                searchForm: {
-                    name: '',
-                    companyId: ''
-                }
-            }
-        },
-        created () {
-            this.config({
-                module: '娲鹃仯鍗曚綅淇℃伅琛�',
-                api: '/business/dispatchUnit',
-                'field.id': 'id',
-                'field.main': 'id'
-            })
-            this.search()
-        }
-    }
-</script>
diff --git a/platform/src/views/business/insurance.vue b/platform/src/views/business/insurance.vue
deleted file mode 100644
index fd66933..0000000
--- a/platform/src/views/business/insurance.vue
+++ /dev/null
@@ -1,109 +0,0 @@
-<template>
-    <TableLayout :permissions="['business:insurance:query']">
-        <!-- 鎼滅储琛ㄥ崟 -->
-        <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
-            <el-form-item label="淇濋櫓鍏徃" prop="name">
-                <el-input v-model="searchForm.name" placeholder="璇疯緭鍏�" @keypress.enter.native="search"></el-input>
-            </el-form-item>
-            <section>
-                <el-button type="primary" @click="search">鎼滅储</el-button>
-<!--                <el-button type="primary" :loading="isWorking.export" v-permissions="['business:insurance:exportExcel']" @click="exportExcel">瀵煎嚭</el-button>-->
-                <el-button @click="reset">閲嶇疆</el-button>
-            </section>
-        </el-form>
-        <!-- 琛ㄦ牸鍜屽垎椤� -->
-        <template v-slot:table-wrap>
-            <ul class="toolbar" v-permissions="['business:insurance:create']">
-                <li><el-button type="primary" @click="$refs.operaInsuranceWindow.open('鏂板淇濋櫓鍏徃')" v-permissions="['business:insurance:create']">鏂板淇濋櫓鍏徃</el-button></li>
-            </ul>
-            <el-table
-                v-loading="isWorking.search"
-                :data="tableData.list"
-                stripe
-            >
-                <el-table-column label="搴忓彿" width="80px">
-                    <template slot-scope="scope">
-                        <span>{{scope.$index + 1}}</span>
-                    </template>
-                </el-table-column>
-                <el-table-column prop="name" label="淇濋櫓鍏徃" min-width="100px"></el-table-column>
-                <el-table-column label="鍚敤鐘舵��" min-width="100px">
-                    <template slot-scope="{row}">
-                        <el-switch
-                            @change="changeStatus($event, row)"
-                            v-model="row.status"
-                            active-color="#13ce66"
-                            inactive-color="#ff4949"
-                            :active-value="0"
-                            :inactive-value="1">
-                        </el-switch>
-                    </template>
-                </el-table-column>
-                <el-table-column
-                    v-if="containPermissions(['business:insurance:update', 'business:insurance:delete'])"
-                    label="鎿嶄綔"
-                    min-width="120"
-                    fixed="right"
-                >
-                    <template slot-scope="{row}">
-                        <el-button type="text" @click="$refs.OperaInsuranceDescWindow.open('淇濋櫓鍏徃璇︽儏', row)" icon="el-icon-edit" v-permissions="['business:insurance:update']">鏌ョ湅璇︽儏</el-button>
-                        <el-button type="text" @click="$refs.operaInsuranceWindow.open('淇敼淇濋櫓鍏徃', row)" icon="el-icon-edit" v-permissions="['business:insurance:update']">淇敼</el-button>
-                    </template>
-                </el-table-column>
-            </el-table>
-            <pagination
-                @size-change="handleSizeChange"
-                @current-change="handlePageChange"
-                :pagination="tableData.pagination"
-            >
-            </pagination>
-        </template>
-        <!-- 鏂板缓/淇敼 -->
-        <OperaInsuranceWindow ref="operaInsuranceWindow" @success="handlePageChange"/>
-        <!-- 璇︽儏 -->
-        <OperaInsuranceDescWindow ref="OperaInsuranceDescWindow" @success="handlePageChange"/>
-    </TableLayout>
-</template>
-
-<script>
-    import BaseTable from '@/components/base/BaseTable'
-    import TableLayout from '@/layouts/TableLayout'
-    import Pagination from '@/components/common/Pagination'
-    import OperaInsuranceWindow from '@/components/business/OperaInsuranceWindow'
-    import OperaInsuranceDescWindow from '@/components/business/OperaInsuranceDescWindow'
-    import { updateStatus } from '@/api/business/insurance'
-    export default {
-        name: 'Insurance',
-        extends: BaseTable,
-        components: { TableLayout, Pagination, OperaInsuranceWindow, OperaInsuranceDescWindow },
-        data () {
-            return {
-                // 鎼滅储
-                searchForm: {
-                    name: ''
-                }
-            }
-        },
-        created () {
-            this.config({
-                module: '淇濋櫓鍏徃淇℃伅琛�',
-                api: '/business/insurance',
-                'field.id': 'id',
-                'field.main': 'id'
-            })
-            this.search()
-        },
-        methods: {
-            // 淇敼鐘舵��
-            changeStatus(status, row) {
-                updateStatus({ id: row.id, status })
-                    .then(res => {
-                        this.search()
-                    })
-                    .catch(err => {
-                        row.status = row.status === 0 ? 1 : 0
-                    })
-            }
-        }
-    }
-</script>
diff --git a/platform/src/views/business/insuranceApply.vue b/platform/src/views/business/insuranceApply.vue
deleted file mode 100644
index b51a383..0000000
--- a/platform/src/views/business/insuranceApply.vue
+++ /dev/null
@@ -1,143 +0,0 @@
-<template>
-    <TableLayout :permissions="['business:insuranceapply:query']">
-        <!-- 鎼滅储琛ㄥ崟 -->
-        <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
-            <el-form-item label="淇濆崟鐘舵��" prop="status">
-                <el-select v-model="searchForm.statusCollect" placeholder="璇烽�夋嫨" @keypress.enter.native="search">
-                    <el-option label="寰呭鎵�" value="0"></el-option>
-                    <el-option label="寰呭嚭鍗�" value="1"></el-option>
-                    <el-option label="淇濋殰涓�" value="2"></el-option>
-                    <el-option label="宸茶繃鏈�" value="3"></el-option>
-                    <el-option label="宸查��鍥�" value="4"></el-option>
-                    <el-option label="閫�鍥炵敵璇蜂腑" value="5"></el-option>
-                    <el-option label="宸插叧闂�" value="6"></el-option>
-                </el-select>
-            </el-form-item>
-            <el-form-item label="鎶曚繚浼佷笟" prop="companyId">
-                <el-select v-model="searchForm.companyId" placeholder="璇烽�夋嫨" @change="search">
-                    <el-option
-                        v-for="item in companyList"
-                        :key="item.value"
-                        :label="item.label"
-                        :value="item.value">
-                    </el-option>
-                </el-select>
-            </el-form-item>
-            <el-form-item label="淇濋櫓鏂规" prop="solutionId">
-                <el-select v-model="searchForm.solutionId" placeholder="璇烽�夋嫨" @change="search">
-                    <el-option
-                        v-for="item in solutionList"
-                        :key="item.value"
-                        :label="item.label"
-                        :value="item.value">
-                    </el-option>
-                </el-select>
-            </el-form-item>
-            <el-form-item label="鎻愪氦鏃ユ湡" prop="createDate">
-                <el-date-picker
-                    v-model="searchForm.createDate"
-                    @change="search"
-                    type="daterange"
-                    range-separator="鑷�"
-                    value-format="yyyy-MM-dd"
-                    start-placeholder="寮�濮嬫棩鏈�"
-                    end-placeholder="缁撴潫鏃ユ湡">
-                </el-date-picker>
-<!--                <el-date-picker v-model="searchForm.createDate" value-format="yyyy-MM-dd" placeholder="璇疯緭鍏ュ垱寤烘椂闂�"/>-->
-            </el-form-item>
-            <section>
-                <el-button type="primary" @click="search">鎼滅储</el-button>
-                <el-button @click="reset">閲嶇疆</el-button>
-                <el-button @click="$refs.operaInsuranceApplyWindow.open('鎶曚繚璇︽儏')">鎶曚繚璇︽儏</el-button>
-            </section>
-        </el-form>
-        <!-- 琛ㄦ牸鍜屽垎椤� -->
-        <template v-slot:table-wrap>
-            <el-table
-                v-loading="isWorking.search"
-                :data="tableData.list"
-                stripe
-            >
-                <el-table-column label="搴忓彿" width="80px">
-                    <template slot-scope="scope">
-                        <span>{{scope.$index + 1}}</span>
-                    </template>
-                </el-table-column>
-                <el-table-column prop="status" label="鎶曚繚鐘舵��" min-width="100px">
-                    <template slot-scope="{row}">
-                        <span v-if="row.statusCollect === 0">寰呭鏍�</span>
-                        <span v-if="row.statusCollect === 1">寰呭嚭鍗�</span>
-                        <span v-if="row.statusCollect === 2">淇濋殰涓�</span>
-                        <span v-if="row.statusCollect === 3">宸茶繃鏈�</span>
-                        <span v-if="row.statusCollect === 4">宸查��鍥�</span>
-                        <span v-if="row.statusCollect === 5">閫�鍥炵敵璇蜂腑</span>
-                        <span v-if="row.statusCollect === 6">宸插叧闂�</span>
-                    </template>
-                </el-table-column>
-                <el-table-column prop="companyName" label="鎶曚繚浼佷笟" min-width="100px"></el-table-column>
-                <el-table-column prop="solutionsName" label="淇濋櫓鏂规" min-width="100px"></el-table-column>
-                <el-table-column prop="insureNum" label="鎶曚繚浜烘暟" min-width="100px"></el-table-column>
-                <el-table-column prop="fee" 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:insuranceapply:update', 'business:insuranceapply:delete'])"
-                    label="鎿嶄綔"
-                    min-width="120"
-                    fixed="right"
-                >
-                    <template slot-scope="{row}">
-                        <el-button type="text" @click="$refs.operaInsuranceApplyWindow.open('缂栬緫鎶曚繚鐢宠淇℃伅琛�', row)" icon="el-icon-edit" v-permissions="['business:insuranceapply:update']">鏌ョ湅璇︽儏</el-button>
-                    </template>
-                </el-table-column>
-            </el-table>
-            <pagination
-                @size-change="handleSizeChange"
-                @current-change="handlePageChange"
-                :pagination="tableData.pagination"
-            >
-            </pagination>
-        </template>
-        <!-- 鏂板缓/淇敼 -->
-        <OperaInsuranceApplyWindow ref="operaInsuranceApplyWindow" @success="handlePageChange"/>
-    </TableLayout>
-</template>
-
-<script>
-import BaseTable from '@/components/base/BaseTable'
-import TableLayout from '@/layouts/TableLayout'
-import Pagination from '@/components/common/Pagination'
-import OperaInsuranceApplyWindow from '@/components/business/OperaInsuranceApplyWindow'
-export default {
-    name: 'InsuranceApply',
-    extends: BaseTable,
-    components: { TableLayout, Pagination, OperaInsuranceApplyWindow },
-    data () {
-        return {
-            // 鎼滅储
-            searchForm: {
-                createDate: '',
-                solutionId: '',
-                companyId: '',
-              statusCollect: ''
-            },
-          solutionList:[],
-          companyList:[]
-        }
-    },
-    created () {
-        this.config({
-            module: '鎶曚繚鐢宠淇℃伅琛�',
-            api: '/business/insuranceApply',
-            'field.id': 'id',
-            'field.main': 'id'
-        })
-        this.search()
-        this.loadSelectList()
-    },
-  methods (){
-    loadSelectList(){
-
-    }
-  }
-}
-</script>
diff --git a/platform/src/views/business/member.vue b/platform/src/views/business/member.vue
deleted file mode 100644
index ee96024..0000000
--- a/platform/src/views/business/member.vue
+++ /dev/null
@@ -1,122 +0,0 @@
-<template>
-    <TableLayout :permissions="['business:member:query']">
-        <!-- 鎼滅储琛ㄥ崟 -->
-        <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
-            <el-form-item label="鍛樺伐濮撳悕" prop="duId">
-                <el-input v-model="searchForm.duId" placeholder="璇疯緭鍏�" @keypress.enter.native="search"></el-input>
-            </el-form-item>
-            <el-form-item label="韬唤璇佸彿" prop="duId">
-                <el-input v-model="searchForm.duId" placeholder="璇疯緭鍏�" @keypress.enter.native="search"></el-input>
-            </el-form-item>
-            <el-form-item label="淇濋櫓鏂规" prop="duId">
-                <el-select v-model="searchForm.duId" placeholder="璇烽�夋嫨">
-                    <el-option
-                        v-for="item in options"
-                        :key="item.value"
-                        :label="item.label"
-                        :value="item.value">
-                    </el-option>
-                </el-select>
-            </el-form-item>
-            <el-form-item label="淇濋櫓鐘舵��" prop="duId">
-                <el-select v-model="searchForm.duId" placeholder="璇烽�夋嫨">
-                    <el-option
-                        v-for="item in options"
-                        :key="item.value"
-                        :label="item.label"
-                        :value="item.value">
-                    </el-option>
-                </el-select>
-            </el-form-item>
-            <el-form-item label="娲鹃仯鍗曚綅" prop="duId">
-                <el-select v-model="searchForm.duId" placeholder="璇烽�夋嫨">
-                    <el-option
-                        v-for="item in options"
-                        :key="item.value"
-                        :label="item.label"
-                        :value="item.value">
-                    </el-option>
-                </el-select>
-            </el-form-item>
-            <section>
-                <el-button type="primary" @click="search">鎼滅储</el-button>
-                <el-button @click="reset">閲嶇疆</el-button>
-            </section>
-        </el-form>
-        <!-- 琛ㄦ牸鍜屽垎椤� -->
-        <template v-slot:table-wrap>
-            <ul class="toolbar" v-permissions="['business:member:create']">
-                <li><el-button type="primary" @click="$refs.operaMemberWindow.open('鎶曚繚璁板綍')">瀵煎叆浜哄憳鍚嶅崟</el-button></li>
-            </ul>
-            <el-table
-                v-loading="isWorking.search"
-                :data="tableData.list"
-                stripe
-            >
-                <el-table-column label="搴忓彿" width="80px">
-                    <template slot-scope="scope">
-                        <span>{{scope.$index + 1}}</span>
-                    </template>
-                </el-table-column>
-                <el-table-column prop="companyId" label="淇濋櫓鐘舵��" min-width="100px"></el-table-column>
-                <el-table-column prop="companyId" label="鎵�灞炰紒涓�" min-width="100px"></el-table-column>
-                <el-table-column prop="companyId" label="鍛樺伐濮撳悕" min-width="100px"></el-table-column>
-                <el-table-column label="鎬у埆" min-width="100px">
-                    <template slot-scope="{row}">
-                        <span v-if="row.sex === 0">鐢�</span>
-                        <span v-else>濂�</span>
-                    </template>
-                </el-table-column>
-                <el-table-column prop="companyId" label="骞撮緞" min-width="100px"></el-table-column>
-                <el-table-column prop="companyId" label="淇濋櫓鏂规" min-width="100px"></el-table-column>
-                <el-table-column prop="duId" label="娲鹃仯鍗曚綅" min-width="100px"></el-table-column>
-                <el-table-column prop="worktypeId" label="鎵�灞炲伐绉�" min-width="100px"></el-table-column>
-                <el-table-column prop="startTime" label="瀹為檯淇濋櫓鐢熸晥璧锋湡" min-width="100px"></el-table-column>
-                <el-table-column prop="endTime" label="瀹為檯淇濋櫓鐢熸晥姝㈡湡" min-width="100px"></el-table-column>
-                <el-table-column label="鎿嶄綔" min-width="100px">
-                    <template slot-scope="{row}">
-                        <el-button type="text">鎶曚繚璁板綍</el-button>
-                    </template>
-                </el-table-column>
-            </el-table>
-            <pagination
-                @size-change="handleSizeChange"
-                @current-change="handlePageChange"
-                :pagination="tableData.pagination"
-            >
-            </pagination>
-        </template>
-        <!-- 鏂板缓/淇敼 -->
-        <OperaMemberWindow ref="operaMemberWindow" @success="handlePageChange"/>
-    </TableLayout>
-</template>
-
-<script>
-    import BaseTable from '@/components/base/BaseTable'
-    import TableLayout from '@/layouts/TableLayout'
-    import Pagination from '@/components/common/Pagination'
-    import OperaMemberWindow from '@/components/business/OperaMemberWindow'
-    export default {
-        name: 'Member',
-        extends: BaseTable,
-        components: { TableLayout, Pagination, OperaMemberWindow },
-        data () {
-            return {
-                // 鎼滅储
-                searchForm: {
-                    duId: ''
-                },
-                options: []
-            }
-        },
-        created () {
-            this.config({
-                module: '鐢ㄥ伐淇℃伅琛�',
-                api: '/business/member',
-                'field.id': 'id',
-                'field.main': 'id'
-            })
-            this.search()
-        }
-    }
-</script>
diff --git a/platform/src/views/business/policyList.vue b/platform/src/views/business/policyList.vue
deleted file mode 100644
index 625b55f..0000000
--- a/platform/src/views/business/policyList.vue
+++ /dev/null
@@ -1,122 +0,0 @@
-<template>
-    <TableLayout :permissions="['business:insuranceapply:query']">
-        <!-- 鎼滅储琛ㄥ崟 -->
-        <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
-            <el-form-item label="淇濆崟鍙�" prop="status">
-                <el-input v-model="searchForm.status" placeholder="璇疯緭鍏�"></el-input>
-            </el-form-item>
-            <el-form-item label="淇濋櫓鏂规" prop="solutionId">
-                <el-select v-model="searchForm.solutionId" placeholder="璇烽�夋嫨" @change="search">
-                    <el-option
-                        v-for="item in options"
-                        :key="item.value"
-                        :label="item.label"
-                        :value="item.value">
-                    </el-option>
-                </el-select>
-            </el-form-item>
-            <el-form-item label="鐘舵��" prop="status">
-                <el-select v-model="searchForm.status" placeholder="璇烽�夋嫨" @keypress.enter.native="search">
-                    <el-option label="淇濋殰涓�" value="5"></el-option>
-                </el-select>
-            </el-form-item>
-            <el-form-item label="鎶曚繚浼佷笟" prop="companyId">
-                <el-select v-model="searchForm.companyId" placeholder="璇烽�夋嫨" @change="search">
-                    <el-option
-                        v-for="item in options"
-                        :key="item.value"
-                        :label="item.label"
-                        :value="item.value">
-                    </el-option>
-                </el-select>
-            </el-form-item>
-            <section>
-                <el-button type="primary" @click="search">鎼滅储</el-button>
-                <el-button @click="reset">閲嶇疆</el-button>
-                <el-button @click="$refs.OperaPolicyListWindow.open('鎶曚繚璇︽儏')">鎶曚繚璇︽儏</el-button>
-            </section>
-        </el-form>
-        <!-- 琛ㄦ牸鍜屽垎椤� -->
-        <template v-slot:table-wrap>
-            <el-table
-                v-loading="isWorking.search"
-                :data="tableData.list"
-                stripe
-            >
-                <el-table-column label="搴忓彿" width="80px">
-                    <template slot-scope="scope">
-                        <span>{{scope.$index + 1}}</span>
-                    </template>
-                </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-if="row.status === 3">寰呭嚭鍗�</span>
-                        <span v-if="row.status === 5">淇濋殰涓�</span>
-                        <span v-if="row.status === 8">宸茶繃鏈�</span>
-                        <span v-if="row.status === 7">宸查��鍥�</span>
-                    </template>
-                </el-table-column>
-                <el-table-column prop="companyId" label="鎶曚繚浼佷笟" min-width="100px"></el-table-column>
-                <el-table-column prop="solutionId" label="淇濋櫓鏂规" min-width="100px"></el-table-column>
-                <el-table-column prop="solutionId" label="淇濆崟鍙�" min-width="100px"></el-table-column>
-                <el-table-column prop="createDate" label="鎶曚繚浜烘暟" min-width="100px"></el-table-column>
-                <el-table-column prop="createDate" label="鍦ㄤ繚鏃堕暱锛堝ぉ锛�" min-width="100px"></el-table-column>
-                <el-table-column prop="createDate" label="浜х敓璐圭敤锛堝厓锛�" min-width="100px"></el-table-column>
-                <el-table-column prop="createDate" label="鎬昏垂鐢紙鍏冿級" min-width="100px"></el-table-column>
-                <el-table-column prop="createDate" 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:insuranceapply:update', 'business:insuranceapply:delete'])"
-                    label="鎿嶄綔"
-                    min-width="120"
-                    fixed="right"
-                >
-                    <template slot-scope="{row}">
-                        <el-button type="text" @click="$refs.operaInsuranceApplyWindow.open('缂栬緫鎶曚繚鐢宠淇℃伅琛�', row)" icon="el-icon-edit" v-permissions="['business:insuranceapply:update']">鏌ョ湅璇︽儏</el-button>
-                    </template>
-                </el-table-column>
-            </el-table>
-            <pagination
-                @size-change="handleSizeChange"
-                @current-change="handlePageChange"
-                :pagination="tableData.pagination"
-            >
-            </pagination>
-        </template>
-        <!-- 鏂板缓/淇敼 -->
-        <OperaPolicyListWindow ref="OperaPolicyListWindow" @success="handlePageChange"/>
-    </TableLayout>
-</template>
-
-<script>
-    import BaseTable from '@/components/base/BaseTable'
-    import TableLayout from '@/layouts/TableLayout'
-    import Pagination from '@/components/common/Pagination'
-    import OperaPolicyListWindow from '@/components/business/OperaPolicyListWindow'
-    export default {
-        name: 'policyList',
-        extends: BaseTable,
-        components: { TableLayout, Pagination, OperaPolicyListWindow },
-        data () {
-            return {
-                // 鎼滅储
-                searchForm: {
-                    createDate: '',
-                    solutionId: '',
-                    companyId: '',
-                    status: ''
-                }
-            }
-        },
-        created () {
-            this.config({
-                module: '鎶曚繚鐢宠淇℃伅琛�',
-                api: '/business/insuranceApply',
-                'field.id': 'id',
-                'field.main': 'id'
-            })
-            this.search()
-        }
-    }
-</script>
diff --git a/platform/src/views/business/settleClaims.vue b/platform/src/views/business/settleClaims.vue
deleted file mode 100644
index ae53fde..0000000
--- a/platform/src/views/business/settleClaims.vue
+++ /dev/null
@@ -1,132 +0,0 @@
-<template>
-    <TableLayout :permissions="['business:settleclaims:query']">
-        <!-- 鎼滅储琛ㄥ崟 -->
-        <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
-            <el-form-item label="鍛樺伐濮撳悕" prop="informantName">
-                <el-input v-model="searchForm.informantName" placeholder="璇疯緭鍏�" @keypress.enter.native="search"></el-input>
-            </el-form-item>
-            <el-form-item label="鎶ユ鍗曚綅" prop="companyId">
-                <el-select v-model="searchForm.companyId" placeholder="璇烽�夋嫨" @keypress.enter.native="search">
-                    <el-option
-                        v-for="item in options"
-                        :key="item.value"
-                        :label="item.label"
-                        :value="item.value">
-                    </el-option>
-                </el-select>
-            </el-form-item>
-            <el-form-item label="淇濋櫓鏂规" prop="solutionId">
-                <el-select v-model="searchForm.solutionId" placeholder="璇烽�夋嫨" @keypress.enter.native="search">
-                    <el-option
-                        v-for="item in options"
-                        :key="item.value"
-                        :label="item.label"
-                        :value="item.value">
-                    </el-option>
-                </el-select>
-            </el-form-item>
-            <el-form-item label="妗堜欢鐘舵��" prop="status">
-                <el-select v-model="searchForm.status" placeholder="璇烽�夋嫨" @keypress.enter.native="search">
-                    <el-option label="澶勭悊涓�" value="0"></el-option>
-                    <el-option label="宸叉挙妗�" value="1"></el-option>
-                    <el-option label="宸茬粨妗�" value="2"></el-option>
-                </el-select>
-            </el-form-item>
-            <el-form-item label="娲鹃仯鍗曚綅" prop="duId">
-                <el-select v-model="searchForm.duId" placeholder="璇烽�夋嫨" @keypress.enter.native="search">
-                    <el-option
-                        v-for="item in options"
-                        :key="item.value"
-                        :label="item.label"
-                        :value="item.value">
-                    </el-option>
-                </el-select>
-            </el-form-item>
-            <section>
-                <el-button type="primary" @click="search">鎼滅储</el-button>
-                <el-button @click="reset">閲嶇疆</el-button>
-                <el-button @click="$refs.operaSettleClaimsWindow.open('鎶ユ璇︽儏')">璇︽儏</el-button>
-            </section>
-        </el-form>
-        <!-- 琛ㄦ牸鍜屽垎椤� -->
-        <template v-slot:table-wrap>
-            <el-table
-                v-loading="isWorking.search"
-                :data="tableData.list"
-                stripe
-            >
-                <el-table-column label="搴忓彿" width="80px">
-                    <template slot-scope="scope">
-                        <span>{{scope.$index + 1}}</span>
-                    </template>
-                </el-table-column>
-                <el-table-column prop="reportNum" label="鎶ユ鍙�" min-width="100px"></el-table-column>
-                <el-table-column prop="companyId" label="鎶ユ浼佷笟" min-width="100px"></el-table-column>
-                <el-table-column prop="companyId" label="鍑洪櫓浜�" min-width="100px"></el-table-column>
-                <el-table-column prop="solutionId" label="淇濋櫓鏂规" min-width="100px"></el-table-column>
-                <el-table-column prop="duId" label="娲鹃仯鍗曚綅" min-width="100px"></el-table-column>
-                <el-table-column prop="worktypeId" label="鎵�灞炲伐绉�" min-width="100px"></el-table-column>
-                <el-table-column prop="worktypeId" label="淇濋櫓鐢熸晥璧锋湡" min-width="100px"></el-table-column>
-                <el-table-column prop="create_date" 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 || row.status === 2">澶勭悊涓�</span>
-                        <span v-if="row.status === 1">宸叉挙妗�</span>
-                        <span v-if="row.status === 3">宸茬粨妗�</span>
-                    </template>
-                </el-table-column>
-                <el-table-column
-                    v-if="containPermissions(['business:settleclaims:update', 'business:settleclaims:delete'])"
-                    label="鎿嶄綔"
-                    min-width="120"
-                    fixed="right"
-                >
-                    <template slot-scope="{row}">
-                        <el-button type="text" @click="$refs.operaSettleClaimsWindow.open('缂栬緫鐞嗚禂鐢宠琛�', row)" icon="el-icon-edit" v-permissions="['business:settleclaims:update']">鏌ョ湅璇︽儏</el-button>
-                    </template>
-                </el-table-column>
-            </el-table>
-            <pagination
-                @size-change="handleSizeChange"
-                @current-change="handlePageChange"
-                :pagination="tableData.pagination"
-            >
-            </pagination>
-        </template>
-        <!-- 鏂板缓/淇敼 -->
-        <OperaSettleClaimsWindow ref="operaSettleClaimsWindow" @success="handlePageChange"/>
-    </TableLayout>
-</template>
-
-<script>
-    import BaseTable from '@/components/base/BaseTable'
-    import TableLayout from '@/layouts/TableLayout'
-    import Pagination from '@/components/common/Pagination'
-    import OperaSettleClaimsWindow from '@/components/business/OperaSettleClaimsWindow'
-    export default {
-        name: 'SettleClaims',
-        extends: BaseTable,
-        components: { TableLayout, Pagination, OperaSettleClaimsWindow },
-        data () {
-            return {
-                // 鎼滅储
-                searchForm: {
-                    solutionId: '',
-                    companyId: '',
-                    duId: '',
-                    status: '',
-                    informantName: ''
-                }
-            }
-        },
-        created () {
-            this.config({
-                module: '鐞嗚禂鐢宠琛�',
-                api: '/business/settleClaims',
-                'field.id': 'id',
-                'field.main': 'id'
-            })
-            this.search()
-        }
-    }
-</script>
diff --git a/platform/src/views/business/solutions.vue b/platform/src/views/business/solutions.vue
deleted file mode 100644
index a35ea9e..0000000
--- a/platform/src/views/business/solutions.vue
+++ /dev/null
@@ -1,136 +0,0 @@
-<template>
-    <TableLayout :permissions="['business:solutions:query']">
-        <!-- 鎼滅储琛ㄥ崟 -->
-        <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
-            <el-form-item label="淇濋櫓鏂规" prop="name">
-                <el-input v-model="searchForm.name" placeholder="璇疯緭鍏�" @keypress.enter.native="search"></el-input>
-            </el-form-item>
-            <el-form-item label="鍚敤鐘舵��" prop="status">
-                <el-select v-model="searchForm.status" placeholder="璇烽�夋嫨" @keypress.enter.native="search">
-                    <el-option label="鍚敤" value="0"></el-option>
-                    <el-option label="绂佺敤" value="1"></el-option>
-                </el-select>
-            </el-form-item>
-            <section>
-                <el-button type="primary" @click="search">鎼滅储</el-button>
-                <el-button @click="reset">閲嶇疆</el-button>
-            </section>
-        </el-form>
-        <!-- 琛ㄦ牸鍜屽垎椤� -->
-        <template v-slot:table-wrap>
-            <ul class="toolbar" v-permissions="['business:solutions:create']">
-                <li><el-button type="primary" @click="$refs.operaSolutionsWindow.open('鏂板缓淇濋櫓鏂规')" v-permissions="['business:solutions:create']">娣诲姞鏂规</el-button></li>
-            </ul>
-            <el-table
-                v-loading="isWorking.search"
-                :data="tableData.list"
-                stripe
-            >
-                <el-table-column label="搴忓彿" width="80px">
-                    <template slot-scope="scope">
-                        <span>{{scope.$index + 1}}</span>
-                    </template>
-                </el-table-column>
-                <el-table-column prop="name" label="淇濋櫓鏂规" min-width="100px"></el-table-column>
-                <el-table-column prop="insuranceName" label="淇濋櫓鍏徃" min-width="100px"></el-table-column>
-                <el-table-column label="鎶曚繚骞撮緞" min-width="100px">
-                    <template slot-scope="{row}">
-                        <span>{{row.minAge}}鑷硔{row.maxAge}}宀�</span>
-                    </template>
-                </el-table-column>
-                <el-table-column label="鎶曚繚鐢熸晥鏃ユ湡" min-width="100px">
-                    <template slot-scope="{row}">
-                        <span v-if="row.validType === 0">鏃ュ悗鐢熸晥</span>
-                        <span v-if="row.validType === 1">娆℃湀鐢熸晥</span>
-                    </template>
-                </el-table-column>
-                <el-table-column label="淇濋櫓璐圭敤" min-width="100px">
-                    <template slot-scope="{row}">
-                        <span>{{row.price}}鍏�/浜�/</span>
-                        <span v-if="row.timeUnit === 0">澶�</span>
-                        <span v-if="row.timeUnit === 1">鍗婃湀</span>
-                        <span v-if="row.timeUnit === 2">鏈�</span>
-                        <span v-if="row.timeUnit === 3">骞�</span>
-                    </template>
-                </el-table-column>
-                <el-table-column prop="status" label="鍚敤鐘舵��" min-width="100px">
-                    <template slot-scope="{row}">
-                        <el-switch
-                            @change="changeStatus($event, row)"
-                            v-model="row.status"
-                            active-color="#13ce66"
-                            inactive-color="#ff4949"
-                            :active-value="0"
-                            :inactive-value="1">
-                        </el-switch>
-                    </template>
-                </el-table-column>
-                <el-table-column
-                    v-if="containPermissions(['business:solutions:update', 'business:solutions:delete'])"
-                    label="鎿嶄綔"
-                    min-width="120"
-                    fixed="right"
-                >
-                    <template slot-scope="{row}">
-                        <el-button type="text" @click="$refs.OperaSolutionsDescWindow.open('鏂规璇︽儏', { id: row.id })" icon="el-icon-edit" v-permissions="['business:solutions:update']">鏌ョ湅璇︽儏</el-button>
-                        <el-button type="text" @click="$refs.operaSolutionsWindow.open('缂栬緫淇濋櫓鏂规', { id: row.id })" icon="el-icon-edit" v-permissions="['business:solutions:update']">淇敼</el-button>
-                    </template>
-                </el-table-column>
-            </el-table>
-            <pagination
-                @size-change="handleSizeChange"
-                @current-change="handlePageChange"
-                :pagination="tableData.pagination"
-            >
-            </pagination>
-        </template>
-        <!-- 淇敼 -->
-        <OperaSolutionsWindow ref="operaSolutionsWindow" @success="handlePageChange"/>
-        <!-- 璇︽儏 -->
-        <OperaSolutionsDescWindow ref="OperaSolutionsDescWindow" @success="handlePageChange"/>
-    </TableLayout>
-</template>
-
-<script>
-    import BaseTable from '@/components/base/BaseTable'
-    import TableLayout from '@/layouts/TableLayout'
-    import Pagination from '@/components/common/Pagination'
-    import OperaSolutionsWindow from '@/components/business/OperaSolutionsWindow'
-    import OperaSolutionsDescWindow from '@/components/business/OperaSolutionsDescWindow'
-    import { updateStatus } from '@/api/business/solutions'
-    export default {
-        name: 'Solutions',
-        extends: BaseTable,
-        components: { TableLayout, Pagination, OperaSolutionsWindow, OperaSolutionsDescWindow },
-        data () {
-            return {
-                // 鎼滅储
-                searchForm: {
-                    name: '',
-                    status: ''
-                }
-            }
-        },
-        created () {
-            this.config({
-                module: '淇濋櫓鏂规淇℃伅琛�',
-                api: '/business/solutions',
-                'field.id': 'id',
-                'field.main': 'id'
-            })
-            this.search()
-        },
-        methods: {
-            // 淇敼鐘舵��
-            changeStatus(status, row) {
-                updateStatus({ id: row.id, status })
-                    .then(res => {
-                        this.search()
-                    })
-                    .catch(err => {
-                        row.status = row.status === 0 ? 1 : 0
-                    })
-            }
-        }
-    }
-</script>
diff --git a/platform/src/views/business/switchCourt.vue b/platform/src/views/business/switchCourt.vue
deleted file mode 100644
index 2ee2b31..0000000
--- a/platform/src/views/business/switchCourt.vue
+++ /dev/null
@@ -1,126 +0,0 @@
-<template>
-    <TableLayout :permissions="['business:applychange:query']">
-        <!-- 鎼滅储琛ㄥ崟 -->
-        <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
-            <el-form-item label="淇濆崟鐘舵��" prop="status">
-                <el-select v-model="searchForm.status" placeholder="璇烽�夋嫨" @change="search">
-                    <el-option label="寰呯缃�" value="0"></el-option>
-                    <el-option label="宸茬绔� " value="1"></el-option>
-                    <el-option label="宸蹭笂浼犳壒鍗�" value="2"></el-option>
-                    <el-option label="閫�鍥炵敵璇�" value="3"></el-option>
-                </el-select>
-            </el-form-item>
-            <el-form-item label="鎶曚繚浼佷笟" prop="status">
-                <el-select v-model="searchForm.status" placeholder="璇烽�夋嫨">
-                    <el-option
-                        v-for="item in options"
-                        :key="item.value"
-                        :label="item.label"
-                        :value="item.value">
-                    </el-option>
-                </el-select>
-            </el-form-item>
-            <el-form-item label="淇濋櫓鏂规" prop="status">
-                <el-select v-model="searchForm.status" placeholder="璇烽�夋嫨">
-                    <el-option
-                        v-for="item in options"
-                        :key="item.value"
-                        :label="item.label"
-                        :value="item.value">
-                    </el-option>
-                </el-select>
-            </el-form-item>
-            <el-form-item label="鎻愪氦鏃ユ湡" prop="status">
-                <el-date-picker
-                    v-model="searchForm.status"
-                    type="daterange"
-                    range-separator="鑷�"
-                    start-placeholder="寮�濮嬫棩鏈�"
-                    end-placeholder="缁撴潫鏃ユ湡">
-                </el-date-picker>
-            </el-form-item>
-            <section>
-                <el-button type="primary" @click="search">鎼滅储</el-button>
-                <el-button @click="reset">閲嶇疆</el-button>
-                <el-button @click="$refs.operaApplyChangeWindow.open('鍔犲噺淇濊鎯�')">鏌ョ湅璇︽儏</el-button>
-            </section>
-        </el-form>
-        <!-- 琛ㄦ牸鍜屽垎椤� -->
-        <template v-slot:table-wrap>
-            <el-table
-                    v-loading="isWorking.search"
-                    :data="tableData.list"
-                    stripe
-            >
-                <el-table-column label="搴忓彿" width="80px">
-                    <template slot-scope="scope">
-                        <span>{{scope.$index + 1}}</span>
-                    </template>
-                </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-if="row.status === 1">宸茬绔�</span>
-                        <span v-if="row.status === 2">宸蹭笂浼犳壒鍗�</span>
-                        <span v-if="row.status === 3">閫�鍥炵敵璇�</span>
-                    </template>
-                </el-table-column>
-                <el-table-column prop="code" label="鎶曚繚浼佷笟" min-width="100px"></el-table-column>
-                <el-table-column prop="code" label="鍏宠仈淇濆崟鍙�" min-width="100px"></el-table-column>
-                <el-table-column prop="code" label="淇濋櫓鏂规" min-width="100px"></el-table-column>
-                <el-table-column prop="code" label="鍔犱繚浜烘暟锛堜汉锛�" min-width="100px"></el-table-column>
-                <el-table-column prop="code" label="鍑忎繚浜烘暟锛堜汉锛�" min-width="100px"></el-table-column>
-                <el-table-column prop="code" label="璐圭敤鍙樻洿" min-width="100px"></el-table-column>
-                <el-table-column prop="createDate" label="鎻愪氦鏃堕棿" min-width="100px"></el-table-column>
-                <!--                v-if="containPermissions(['business:applychange:update', 'business:applychange:delete'])"-->
-                <el-table-column
-                    label="鎿嶄綔"
-                    min-width="120"
-                    fixed="right"
-                >
-                    <template slot-scope="{row}">
-                        <!--                        v-permissions="['business:applychange:update']"-->
-                        <el-button type="text" @click="$refs.operaApplyChangeWindow.open('鍔犲噺淇濊鎯�', row)" icon="el-icon-edit">鏌ョ湅璇︽儏</el-button>
-                    </template>
-                </el-table-column>
-            </el-table>
-            <pagination
-                @size-change="handleSizeChange"
-                @current-change="handlePageChange"
-                :pagination="tableData.pagination"
-            >
-            </pagination>
-        </template>
-        <!-- 鏂板缓/淇敼 -->
-        <OperaSwitchCourtWindow ref="operaApplyChangeWindow" @success="handlePageChange"/>
-    </TableLayout>
-</template>
-
-<script>
-    import BaseTable from '@/components/base/BaseTable'
-    import TableLayout from '@/layouts/TableLayout'
-    import Pagination from '@/components/common/Pagination'
-    import OperaSwitchCourtWindow from '@/components/business/OperaSwitchCourtWindow'
-    export default {
-        name: 'switchCourt',
-        extends: BaseTable,
-        components: { TableLayout, Pagination, OperaSwitchCourtWindow },
-        data () {
-            return {
-                // 鎼滅储
-                searchForm: {
-                    status: ''
-                }
-            }
-        },
-        created () {
-            this.config({
-                module: '鍔犲噺淇濇崲鍘傜敵璇蜂俊鎭〃',
-                api: '/business/applyChange',
-                'field.id': 'id',
-                'field.main': 'id'
-            })
-            this.search()
-        }
-    }
-</script>
diff --git a/platform/src/views/business/taxes.vue b/platform/src/views/business/taxes.vue
deleted file mode 100644
index 79d6e85..0000000
--- a/platform/src/views/business/taxes.vue
+++ /dev/null
@@ -1,193 +0,0 @@
-<template>
-    <TableLayout :permissions="['business:taxes:query']">
-        <!-- 鎼滅储琛ㄥ崟 -->
-        <el-form ref="searchForm" slot="search-form" :model="searchForm" label-width="100px" inline>
-            <el-form-item label="寮�绁ㄧ姸鎬�" prop="status">
-                <el-select v-model="searchForm.status" placeholder="璇烽�夋嫨" @keypress.enter.native="search">
-                    <el-option label="寰呭鐞�" value="0"></el-option>
-                    <el-option label="宸插紑绁�" value="1"></el-option>
-                    <el-option label="骞冲彴鎾ゅ洖" value="2"></el-option>
-                </el-select>
-            </el-form-item>
-            <el-form-item label="鐢宠鏃ユ湡" prop="status">
-                <el-date-picker
-                    v-model="searchForm.status"
-                    type="daterange"
-                    range-separator="鑷�"
-                    start-placeholder="寮�濮嬫棩鏈�"
-                    end-placeholder="缁撴潫鏃ユ湡">
-                </el-date-picker>
-            </el-form-item>
-            <el-form-item label="鐢宠寮�绁ㄤ紒涓�" prop="companyId">
-                <el-select v-model="searchForm.companyId" placeholder="璇烽�夋嫨" @keypress.enter.native="search">
-                    <el-option
-                        v-for="item in options"
-                        :key="item.value"
-                        :label="item.label"
-                        :value="item.value">
-                    </el-option>
-                </el-select>
-            </el-form-item>
-            <section>
-                <el-button type="primary" @click="search">鎼滅储</el-button>
-                <el-button @click="reset">閲嶇疆</el-button>
-            </section>
-        </el-form>
-        <!-- 琛ㄦ牸鍜屽垎椤� -->
-        <template v-slot:table-wrap>
-            <el-table
-                v-loading="isWorking.search"
-                :data="tableData.list"
-                stripe
-            >
-                <el-table-column label="搴忓彿" width="80px">
-                    <template slot-scope="scope">
-                        <span>{{scope.$index + 1}}</span>
-                    </template>
-                </el-table-column>
-                <el-table-column label="寮�绁ㄧ姸鎬�" min-width="100px">
-                    <template slot-scope="{row}">
-                        <span v-if="row.status === 0">寰呭鐞�</span>
-                        <span v-if="row.status === 1">宸插紑绁�</span>
-                        <span v-if="row.status === 2">骞冲彴鎾ゅ洖</span>
-                    </template>
-                </el-table-column>
-                <el-table-column prop="companyId" label="鐢宠浼佷笟" min-width="100px"></el-table-column>
-                <el-table-column prop="companyId" label="鐢宠寮�绁ㄦ椂闂�" min-width="100px"></el-table-column>
-                <el-table-column prop="companyId" label="鐢宠浜�" min-width="100px"></el-table-column>
-                <el-table-column prop="price" label="寮�绁ㄩ噾棰濓紙鍏冿級" min-width="100px"></el-table-column>
-                <el-table-column label="鎶曚繚绫诲瀷" min-width="100px">
-                    <template slot-scope="{row}">
-                        <span v-if="row.applyType === 0">濮旀墭寮�绁�</span>
-                        <span v-if="row.applyType === 1">鐩翠繚</span>
-                    </template>
-                </el-table-column>
-                <el-table-column prop="type" label="鎺ユ敹鏂瑰紡" min-width="100px">
-                    <template slot-scope="{row}">
-                        <span v-if="row.type === 0">鐢靛瓙鍙戠エ</span>
-                        <span v-if="row.type === 1">绾歌川鍙戠エ</span>
-                    </template>
-                </el-table-column>
-                <el-table-column label="鎿嶄綔" min-width="100px">
-                    <template slot-scope="{row}">
-                        <el-button type="text">涓婁紶鍙戠エ</el-button>
-                        <el-button type="text">鐢宠璇︽儏</el-button>
-                    </template>
-                </el-table-column>
-            </el-table>
-            <pagination
-                @size-change="handleSizeChange"
-                @current-change="handlePageChange"
-                :pagination="tableData.pagination"
-            >
-            </pagination>
-        </template>
-        <el-dialog
-            title="涓婁紶鍙戠エ"
-            :visible.sync="visible"
-            width="500px"
-            :show-close="false"
-            :close-on-click-modal="false"
-            center>
-            <div class="form">
-                <div class="form_item">
-                    <div class="form_item_label">鍙戠エ鍙凤細</div>
-                    <div class="form_item_val">
-                        <input type="text" placeholder="璇疯緭鍏�" />
-                    </div>
-                </div>
-                <div class="form_item">
-                    <div class="form_item_label">涓婁紶鍙戠エ锛�</div>
-                    <div class="form_item_val">
-                        <el-upload
-                            action="https://jsonplaceholder.typicode.com/posts/"
-                            list-type="picture-card"
-                            :on-remove="handleRemove">
-                            <i class="el-icon-plus"></i>
-                        </el-upload>
-                    </div>
-                </div>
-            </div>
-            <span slot="footer" class="dialog-footer">
-                <el-button @click="visible = false">鍙� 娑�</el-button>
-                <el-button type="primary" @click="visible = false">鎻� 浜�</el-button>
-            </span>
-        </el-dialog>
-        <OperaTaxesWindow ref="OperaTaxesWindow" @success="handlePageChange"/>
-    </TableLayout>
-</template>
-
-<script>
-    import BaseTable from '@/components/base/BaseTable'
-    import TableLayout from '@/layouts/TableLayout'
-    import Pagination from '@/components/common/Pagination'
-    import OperaTaxesWindow from '@/components/business/OperaTaxesWindow'
-    export default {
-        name: 'Taxes',
-        extends: BaseTable,
-        components: { TableLayout, Pagination, OperaTaxesWindow },
-        data () {
-            return {
-                // 鎼滅储
-                searchForm: {
-                    status: '',
-                    companyId: ''
-                },
-                visible: false
-            }
-        },
-        created () {
-            this.config({
-                module: '鍙戠エ淇℃伅琛�',
-                api: '/business/taxes',
-                'field.id': 'id',
-                'field.main': 'id'
-            })
-            this.search()
-        },
-        methods: {
-            handleRemove(file, fileList) {
-                console.log(file, fileList);
-            }
-        }
-    }
-</script>
-
-<style lang="scss" scoped>
-    .form {
-        width: 100%;
-        display: flex;
-        flex-direction: column;
-        .form_item {
-            width: 100%;
-            display: flex;
-            align-items: center;
-            margin-bottom: 20px;
-            &:last-child {
-                margin-bottom: 0 !important;
-            }
-            .form_item_label {
-                width: 100px;
-                flex-shrink: 0;
-                font-size: 14px;
-                color: black;
-            }
-            .form_item_val {
-                flex: 1;
-                min-height: 35px;
-                display: flex;
-                align-items: center;
-                input {
-                    width: 100%;
-                    height: 100%;
-                    font-size: 14px;
-                    color: black;
-                    padding: 5px 10px;
-                    outline: none;
-                    box-sizing: border-box;
-                    border: 1px solid #ececec;
-                }
-            }
-        }
-    }
-</style>

--
Gitblit v1.9.3