From 053a40db4fcbcbafb89a346ff17695b150745782 Mon Sep 17 00:00:00 2001
From: “dzb” <2632970487@qq.com>
Date: 星期五, 30 九月 2022 11:55:11 +0800
Subject: [PATCH] 调试案件池部分接口

---
 src/views/operate/management/index.vue                                             |    3 
 src/views/operate/management/mysovle/index.vue                                     |    5 
 src/views/layout/components/Menu/index.vue                                         |    1 
 src/views/operate/disposal/casepool/pool/index.vue                                 |   90 +
 src/views/operate/disposal/casepool/dispatch/updateUser/scene/index.vue            |    0 
 src/views/operate/disposal/casepool/dispatch/updateUser/index.vue                  |    0 
 src/views/operate/disposal/casepool/dispatch/updateUser/filePictrue/index.vue      |    0 
 src/views/operate/disposal/casepool/dispatch/createUser/index.vue                  |  195 ++++
 src/views/systemSetting/baseSetting/user/components/updateUser/index.vue           |    2 
 src/components/filePictrue/index.vue                                               |    0 
 src/components/process/index.vue                                                   |  149 +++
 src/views/operate/management/mydetail/index.vue                                    |    5 
 src/views/systemSetting/baseSetting/user/components/main/index.vue                 |    6 
 src/views/operate/disposal/casepool/pool/createUser/vio/index.vue                  |   80 -
 src/views/operate/disposal/casepool/escalation/index.vue                           |    2 
 src/views/systemSetting/baseSetting/user/components/password/index.vue             |  144 +++
 src/views/operate/disposal/casepool/dispatch/updateUser/uploadResult/vio/index.vue |  127 +++
 src/router/index.js                                                                |   37 
 src/views/operate/disposal/casepool/dispatch/index.vue                             |  678 ++++++++++++----
 src/views/operate/disposal/casepool/dispatch/updateUser/solveProblem/index.vue     |    0 
 src/components/detail/index.vue                                                    |  245 +++++
 src/components/scene/index.vue                                                     |    0 
 src/views/operate/disposal/casepool/dispatch/updateUser/process/index.vue          |    0 
 src/views/operate/disposal/casepool/dispatch/updateUser/uploadResult/ill/index.vue |  200 ++++
 src/views/operate/management/myIndex/index.vue                                     |  464 +++++++++++
 src/components/solveProblem/index.vue                                              |    0 
 26 files changed, 2,169 insertions(+), 264 deletions(-)

diff --git a/src/components/detail/index.vue b/src/components/detail/index.vue
new file mode 100644
index 0000000..a229646
--- /dev/null
+++ b/src/components/detail/index.vue
@@ -0,0 +1,245 @@
+<template>
+    <div class="view">
+        <div class="view-data">
+            <div class="data-item">
+                <div class="data-item__left">
+                    <label class="data-title">
+                        闂绫诲瀷:
+                    </label>
+                    <span class="data-detail">杩濊</span>
+                </div>
+                <div class="data-item__right">
+                    <label class="data-title">
+                        澶х被鍚嶇О:
+                    </label>
+                    <span class="data-detail">{{baseCase.category}}</span>
+                </div>
+            </div>
+            <div class="data-item">
+                <div class="data-item__left">
+                    <label class="data-title">
+                        灏忕被鍚嶇О:
+                    </label>
+                    <span class="data-detail">xxx</span>
+                </div>
+                <div class="data-item__right">
+                    <label class="data-title">
+                        浜嬩欢绛夌骇:
+                    </label>
+                    <span class="data-detail">xxx</span>
+                </div>
+            </div>
+            <div class="data-item">
+                <div class="data-item__left">
+                    <label class="data-title">
+                        妗堢敱:
+                    </label>
+                    <span class="data-detail">xxx</span>
+                </div>
+            </div>
+            <div class="data-item">
+                <div class="data-item__left">
+                    <label class="data-title">
+                        鎵�灞炲尯鍘�:
+                    </label>
+                    <span class="data-detail">xxx</span>
+                </div>
+                <div class="data-item__right">
+                    <label class="data-title">
+                        鎵�灞炵ぞ鍖�:
+                    </label>
+                    <span class="data-detail">xxx</span>
+                </div>
+            </div>
+            <div class="data-item">
+                <div class="data-item__left">
+                    <label class="data-title">
+                        鎵�灞炶閬�:
+                    </label>
+                    <span class="data-detail">{{baseCase.streetId}}</span>
+                </div>
+            </div>
+            <div class="data-item">
+                <div class="data-item__left">
+                    <label class="data-title">
+                        浜嬪彂鍦扮偣:
+                    </label>
+                    <span class="data-detail">{{baseCase.site}}</span>
+                </div>
+            </div>
+            <div class="data-item">
+                <div class="data-item__left">
+                    <label class="data-title">
+                        鍏宠仈鍟嗛摵鍚嶇О:
+                    </label>
+                    <span class="data-detail">xxx</span>
+                </div>
+            </div>
+            <div class="data-item">
+                <div class="data-item__left">
+                    <label class="data-title">
+                        闂鎻忚堪:
+                    </label>
+                    <span class="data-detail">xxx</span>
+                </div>
+            </div>
+            <div class="data-user">
+                <div class="data-item">
+                    <div class="data-item__left">
+                        <label class="data-title">
+                            鍙嶆槧浜�:
+                        </label>
+                        <span class="data-detail">{{baseCase.createUser}}</span>
+                    </div>
+                    <div class="data-item__right">
+                        <label class="data-title">
+                            鑱旂郴鏂瑰紡:
+                        </label>
+                        <span class="data-detail">12345678901</span>
+                    </div>
+                </div>
+                <div class="data-item">
+                    <div class="data-item__left">
+                        <label class="data-title">
+                            韬唤璇佸彿:
+                        </label>
+                        <span class="data-detail">123456789987654321</span>
+                    </div>
+                </div>
+            </div>
+        </div>
+        <div class="view-process">
+            <div class="process-header">
+                <div class="process-title-item" v-for="item in titleList" :key="item.title"
+                    @click="changeComponent(item.index)">
+                    <div :class="['process-title',activeIndex===item.index ? 'title-active' : '' ]">{{item.title}}</div>
+                    <div :class="['under-line',activeIndex===item.index ? 'line-active' : '' ]"></div>
+                </div>
+            </div>
+            <div class="show-item">
+                <div class="show-wrap">
+                    <MyProcess v-if="activeIndex === 1" :handlePassVo="handlePassVo"></MyProcess>
+                    <MyFilePicture v-else-if="activeIndex === 2" :currentSitVo="currentSitVo" ></MyFilePicture>
+                    <MySovleProblem v-else-if="activeIndex === 3" :problemProVo="problemProVo"></MySovleProblem>
+                    <MyScene v-else></MyScene>
+                </div>
+            </div>
+        </div>
+    </div>
+</template>
+<script>
+import MyProcess from '@/components/process'
+import MyFilePicture from '@/components/filePictrue'
+import MySovleProblem from '@/components/solveProblem'
+import MyScene from '@/components/scene'
+export default {
+    components: {
+        MyProcess, MyFilePicture, MySovleProblem, MyScene
+    },
+    data() {
+        return {
+            myInfo: {
+
+            },
+            activeIndex: 1,
+            titleList: [
+                {
+                    title: '鍔炵悊缁忚繃',
+                    index: 1,
+                },
+                {
+                    title: '妗堝嵎鍥剧墖',
+                    index: 2,
+                },
+                {
+                    title: '闂澶勭悊',
+                    index: 3,
+                },
+                {
+                    title: '鐜板満鎯呭喌',
+                    index: 4,
+                },
+            ],
+            baseCase:{},
+            handlePassVo:{},
+            currentSitVo:{},
+            problemProVo:{},
+            
+        }
+    },
+    created() {
+        console.log('created');
+        const {info} = this;
+        this.baseCase = info.baseCase;
+        this.handlePassVo = info.handlePassVo;
+        this.currentSitVo = info.currentSitVo;
+        this.problemProVo = info.currentSitVo;
+        console.log(info);
+    },
+    methods: {
+        changeComponent(index) {
+            this.activeIndex = index;
+        },
+    },
+    props: ['info']
+}
+</script>
+<style lang="scss" scoped>
+.view {
+    display: flex;
+    padding: 20px;
+
+    .view-data {
+        color: #4b9bb7;
+        flex: 4;
+        padding: 0 30px 0 20px;
+
+        .data-item {
+            display: flex;
+            justify-content: space-between;
+            line-height: 40px;
+        }
+
+        border: 1px solid #17324c;
+    }
+
+    .view-process {
+        flex: 6;
+        margin-left: 20px;
+
+        .process-header {
+            display: flex;
+            line-height: 40px;
+
+            .process-title-item {
+                width: 120px;
+                text-align: center;
+
+                .under-line {
+                    height: 2px;
+                    width: 100%;
+                }
+
+                .title-active {
+                    color: #4b9bb7;
+                }
+
+                .line-active {
+                    background-color: #4b9bb7;
+                    border-radius: 20px;
+                }
+            }
+        }
+
+        .show-item {
+            overflow: hidden;
+            height: 600px;
+            position: relative;
+            .show-wrap{
+                overflow: scroll;
+                height: 600px;
+            }
+        }
+    }
+}
+</style>
\ No newline at end of file
diff --git a/src/views/operate/disposal/casepool/escalation/updateUser/filePictrue/index.vue b/src/components/filePictrue/index.vue
similarity index 100%
copy from src/views/operate/disposal/casepool/escalation/updateUser/filePictrue/index.vue
copy to src/components/filePictrue/index.vue
diff --git a/src/components/process/index.vue b/src/components/process/index.vue
new file mode 100644
index 0000000..7ec8e99
--- /dev/null
+++ b/src/components/process/index.vue
@@ -0,0 +1,149 @@
+<template>
+    <div class="my-process">
+        <div class="my-pro-header">
+            <div class="pro-step" v-for="(item,index) in list" :key="item.title">
+                <div class="pro-step-top">
+                    <div
+                        :class="['circle',active === item.index ? 'in-process' : active > item.index ? 'finish' : 'wait' ]">
+                    </div>
+                    <div :class="['line',active > item.index ? 'finish-line' :'']"
+                        v-if="index<list.length-1 ? true:false"></div>
+                </div>
+                <div
+                    :class="['pro-step-name',active === item.index ? 'in-process' : active > item.index ? 'finish' : 'wait' ]">
+                    {{item.title}}</div>
+            </div>
+        </div>
+        <div class="my-pro-main">
+            <div class="pro-step-ver" v-for="(item,index) in list" :key="item.title">
+                <div
+                    :class="['pro-step-name',active === item.index ? 'in-process' : active > item.index ? 'finish' : 'wait' ]">
+                    {{item.title}}</div>
+                <div class="pro-step-top">
+                    <div
+                        :class="['circle',active === item.index ? 'in-process' : active > item.index ? 'finish' : 'wait' ]">
+                    </div>
+                    <div :class="['line',active > item.index ? 'finish-line' :'']"
+                        v-if="index<list.length-1 ? true:false"></div>
+                </div>
+                <div class="desc">
+                    <div class="desc-title">鐜妭鐢ㄦ椂:</div>
+                    <div class="desc-content" v-if="active > index+1">
+                        <div class="desc-content-message">1111111</div>
+                        <div class="desc-content-endtime">22.09.06 16:40</div>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </div>
+</template>
+<script>
+export default {
+    data() {
+        return {
+            active: 2,
+            list: [
+                {
+                    title: '涓婃姤',
+                    status: 'success',
+                },
+                {
+                    title: '绔嬫',
+                    status: 'process',
+                },
+                {
+                    title: '娲鹃仯',
+                    status: 'process',
+                },
+                {
+                    title: '澶勭疆',
+                    status: 'process',
+                },
+                {
+                    title: '鏍告煡',
+                    status: 'process',
+                },
+                {
+                    title: '缁撴',
+                    status: 'process',
+                }
+            ]
+        }
+    },
+    props:['handlePassVo'],
+    created(){
+        console.log('process');
+        console.log(this.handlePassVo);
+    }
+}
+</script>
+<style lang="scss" scoped>
+.my-process {
+    padding-top: 50px;
+    .my-pro-header {
+        display: flex;
+
+        .pro-step {
+            flex: 1;
+
+            .pro-step-top {
+                display: flex;
+                align-items: center;
+
+                .line {
+                    flex: 1;
+                    height: 2px;
+                }
+            }
+
+            .pro-step-name {
+                line-height: 20px;
+            }
+        }
+    }
+
+    .my-pro-main {
+        .pro-step-ver {
+            display: flex;
+            align-items: flex-start;
+            .line {
+                width: 2px;
+                height: 100px;
+            }
+        }
+        .pro-step-top{
+            display: flex;
+            flex-direction: column;
+            align-items: center;
+        }
+        .pro-step-name {
+            line-height: 24px;
+            margin-right: 10px;
+        }
+        .desc{
+            flex: 1;
+            line-height: 24px;
+            margin-left: 10px;
+            .desc-content-endtime{
+                display: flex;
+                justify-content: flex-end;
+            }
+        }
+    }
+
+    .circle {
+        width: 24px;
+        height: 24px;
+        border-radius: 50%;
+        background-color: #fff;
+    }
+
+    .line {
+        background-color: #c0c4cc;
+    }
+
+    .finish-line {
+        background-color: #4b9bb7;
+    }
+}
+</style>
\ No newline at end of file
diff --git a/src/views/operate/disposal/casepool/escalation/updateUser/scene/index.vue b/src/components/scene/index.vue
similarity index 100%
copy from src/views/operate/disposal/casepool/escalation/updateUser/scene/index.vue
copy to src/components/scene/index.vue
diff --git a/src/views/operate/disposal/casepool/escalation/updateUser/solveProblem/index.vue b/src/components/solveProblem/index.vue
similarity index 100%
copy from src/views/operate/disposal/casepool/escalation/updateUser/solveProblem/index.vue
copy to src/components/solveProblem/index.vue
diff --git a/src/router/index.js b/src/router/index.js
index 0547632..60ad75a 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -11,8 +11,8 @@
     path: '/home',
     name: 'home',
     component: () => import('@/views/layout'),
-    meta:{
-      needLogin:true,
+    meta: {
+      needLogin: true,
     },
     children: [
       {
@@ -137,28 +137,41 @@
             path: 'rectification',
             name: 'rectification',
             component: () => import('@/views/operate/rectification'),
-            children:[
+            children: [
               {
-                path:"taskList",
-                name:'taskList',
+                path: "taskList",
+                name: 'taskList',
                 component: () => import('@/views/operate/rectification/taskList'),
               },
               {
-                path:"surveyList",
-                name:'surveyList',
+                path: "surveyList",
+                name: 'surveyList',
                 component: () => import('@/views/operate/rectification/surveyList'),
               },
               {
-                path:"renovationList",
-                name:'renovationList',
+                path: "renovationList",
+                name: 'renovationList',
                 component: () => import('@/views/operate/rectification/renovationList'),
               }
             ]
           },
           {
-            path:'lawEnforcement',
-            name:'lawEnforcement',
-            component:()=>import('@/views/operate/lawEnforcement')
+            path: 'lawEnforcement',
+            name: 'lawEnforcement',
+            component: () => import('@/views/operate/lawEnforcement')
+          },
+          {
+            path: 'management',
+            name: 'management',
+            component: () => import('@/views/operate/management'),
+            redirect:'/home/operate/management/myIndex',
+            children: [
+              {
+                path: 'myIndex',
+                name: 'myIndex',
+                component: () => import('@/views/operate/management/myIndex'),
+              }
+            ]
           }
         ]
       },
diff --git a/src/views/layout/components/Menu/index.vue b/src/views/layout/components/Menu/index.vue
index 57e0180..13e63b8 100644
--- a/src/views/layout/components/Menu/index.vue
+++ b/src/views/layout/components/Menu/index.vue
@@ -89,6 +89,7 @@
               <el-menu-item index="/home/operate/casepool">鍐嶅涔犵鐞�</el-menu-item>
               <el-menu-item index="/home/operate/casepool/notDeal">鏆備笉澶勭悊</el-menu-item>
             </el-submenu>
+            <el-menu-item index="/home/operate/management">瀹℃牳绠$悊</el-menu-item>
             <el-menu-item index="/home/operate/myWait">鎴戠殑寰呭姙</el-menu-item>
             <el-submenu index="/home/operate/rectification" class="secondMenu">
               <template slot="title">
diff --git a/src/views/operate/disposal/casepool/dispatch/createUser/index.vue b/src/views/operate/disposal/casepool/dispatch/createUser/index.vue
new file mode 100644
index 0000000..b609337
--- /dev/null
+++ b/src/views/operate/disposal/casepool/dispatch/createUser/index.vue
@@ -0,0 +1,195 @@
+<template>
+    <div class="createUser">
+        <main>
+            <div class="mainContent">
+                <el-form ref="user" label-width="140px" autoComplete="on" :model="things" label-position="right">
+                    <!-- 杩濊浜嬮」缂栧彿 -->
+                    <el-form-item class="optionItem" label="杩濊浜嬮」缂栧彿:" prop="number">
+                        <el-input v-model="things.number" placeholder="璇峰~鍐欒繚瑙勪簨椤圭紪鍙�"></el-input>
+                    </el-form-item>
+                    <!-- 鎵�灞炵被鍨� -->
+                    <el-form-item class="optionItems" label="鎵�灞炵被鍨�:" prop="typeThird">
+                        <el-select v-model="things.typeThird" placeholder="璇烽�夋嫨鎵�灞炵被鍨�" >
+                            <el-option v-for="item in typeThirdList" :key="item.id" :label="item.name"
+                                :value="item.id">
+                            </el-option>
+                        </el-select>
+                    </el-form-item>
+                    <!-- 鎵�灞炲ぇ绫� -->
+                    <el-form-item class="optionItem" label="鎵�灞炲ぇ绫�:" prop="typeSecond">
+                        <el-select v-model="things.typeSecond" placeholder="璇烽�夋嫨鎵�灞炵被鍨�" >
+                            <el-option v-for="item in typeSecondList" :key="item.id" :label="item.name"
+                                :value="item.id">
+                            </el-option>
+                        </el-select>
+                    </el-form-item>
+                    <!-- 鎵�灞炲皬绫� -->
+                    <el-form-item class="optionItem" label="鎵�灞炲皬绫�:" prop="typeFirst">
+                        <el-select v-model="things.typeFirst" placeholder="璇烽�夋嫨鎵�灞炵被鍨�" disabled>
+                            <el-option v-for="item in typeFirstList" :key="item.id" :label="item.name"
+                                :value="item.id">
+                            </el-option>
+                        </el-select>
+                    </el-form-item>
+                    <!-- 妗堢敱 -->
+                    <el-form-item class="optionItem" label="妗堢敱:" prop="type">
+                        <el-input type="textarea" autosize v-model="things.type" placeholder="璇疯緭鍏ユ鐢辨弿杩板唴瀹�"
+                            :disabled="!updateFlag" disabled></el-input>
+                    </el-form-item>
+                    <el-form-item v-if="updateFlag">
+                        <div class="optionBtn">
+                            <el-button type="primary" class="btn submit" @click.native.prevent="handleUser">纭
+                            </el-button>
+                        </div>
+                    </el-form-item>
+                </el-form>
+
+            </div>
+        </main>
+    </div>
+</template>
+<script>
+export default {
+    data() {
+        return {
+            things: {
+                number: 0,
+                type: '',
+                typeFirst: '',
+                typeSecond: '',
+                typeThird: '',
+            },
+            roleList: [],
+            typeThirdList:[],
+            typeSecondList:[],
+            typeFirstList:[],
+        }
+    },
+    created() {
+        console.log(this.userInfo);
+        this.things = JSON.parse(JSON.stringify(this.userInfo));
+        // 鑾峰彇鎵�灞炵被鍨嬪垪琛�
+        this.getTypeThird();
+        this.getTypeSecond();
+        this.getTypeFirst();
+    },
+    methods: {
+        // handleUser() {
+        //     this.$refs.user.validate((valid) => {
+        //         if (valid) {
+        //             const { role } = this;
+        //             console.log(role);
+        //             this.$axios.post('/sccg/role/update/' + role.id, {
+        //                 id: role.id,
+        //                 status: role.status,
+        //                 description: role.description,
+        //                 name: role.name,
+        //                 sort: 0
+        //             }).then(res => {
+        //                 this.$emit('changeDialog', { dialogUpdate: false });
+        //                 this.getUserList();
+        //             })
+        //         } else {
+        //             return false;
+        //         }
+        //     })
+        // },
+        // 鏌ヨ鎵�灞炵被鍨�
+        getTypeThird() {
+            this.$axios({
+                method: 'get',
+                url: "sccg/violations/query/type_first",
+            })
+                .then(res => {
+                    this.typeThirdList = res.data;
+                })
+        },
+        // 鏌ヨ鎵�灞炲ぇ绫�
+        getTypeSecond(){
+            this.$axios({
+                method: 'get',
+                url: "sccg/violations/query/type_second",
+            })
+                .then(res => {
+                    this.typeSecondList = res.data;
+                })
+        },
+        // 鏌ヨ鎵�灞炲皬绫�
+        getTypeFirst(){
+            this.$axios({
+                method: 'get',
+                url: "sccg/violations/query/type_third",
+            })
+                .then(res => {
+                    this.typeFirstList = res.data;
+                })
+        }
+    },
+    props: ['getUserList']
+}
+</script>
+<style lang="scss" scoped>
+.createUser {
+    border-radius: 1px;
+    background-color: #09152f;
+
+    main {
+        // border: 1px solid #fff;
+        text-align: left;
+        padding: 0 55px;
+        background-color: #09152f;
+        padding-bottom: 50px;
+
+        .mainContent {
+            display: flex;
+            justify-content: center;
+            padding-top: 50px;
+
+            .el-form-item__content {
+                width: 400px;
+
+                .el-select {
+                    width: 100%;
+                }
+            }
+
+            .optionHandleSp {
+                display: flex;
+
+                .areaNumber,
+                .moreNumber {
+                    flex: 1;
+                }
+
+                .telNumber {
+                    flex: 2;
+                }
+            }
+
+            .optionBtn {
+                display: flex;
+                margin-top: 20px;
+
+                .btn {
+                    padding: 12px 50px;
+                }
+            }
+
+        }
+    }
+
+    &::v-deep .el-textarea__inner {
+        background-color: #09152f;
+        border: 1px solid #17324c;
+    }
+
+    ::v-deep .el-form-item__label {
+        color: #4b9bb7;
+    }
+
+    ::v-deep .el-input__inner {
+        background-color: #09152f;
+        border: 1px solid #17324c;
+    }
+}
+</style>
\ No newline at end of file
diff --git a/src/views/operate/disposal/casepool/dispatch/index.vue b/src/views/operate/disposal/casepool/dispatch/index.vue
index f2ebdf3..60a5310 100644
--- a/src/views/operate/disposal/casepool/dispatch/index.vue
+++ b/src/views/operate/disposal/casepool/dispatch/index.vue
@@ -1,119 +1,291 @@
 <template>
-    <div class="casepool">
-        <!-- 鏌ヨ娣诲姞 -->
+    <div class="userList">
         <header>
-            <div class="search">
-                <span>鏉ユ簮鏌ヨ锛�</span>
-                <el-input placeholder="璇疯緭鍏ラ棶棰樻潵婧�"></el-input>
+            <div class="headerContent">
+                <div class="search">
+                    <span>绛涢�夋潯浠�:</span>
+                    <el-input placeholder="璇疯緭鍏ュ唴瀹�" v-model="context"></el-input>
+                    <div class="findBtn">
+                        <el-button type="primary" @click="getUserList">鏌ヨ</el-button>
+                    </div>
+                </div>
             </div>
-            <!-- <div class="add">
-                <el-button type="primary" icon="el-icon-plus" @click="handleOpenDialog">娣诲姞</el-button>
-            </div> -->
         </header>
-        <!-- 涓讳綋灞曠ず -->
         <main>
             <div class="mainContent">
-                <!-- 瀵艰埅鐘舵�佹爣绛� -->
-                <div class="nav">
-                    <el-tabs type="border-card">
-                        <el-tab-pane :label="item.name" v-for="item in tagList" :key="item.name">
-                        </el-tab-pane>
-                    </el-tabs>
-                    <!-- 鏁版嵁娓叉煋 -->
-                    <el-table ref="multipleTable"
-                                :header-cell-style="{background:'#06122c','font-size':'12px',color:'#4b9bb7','font-weight':'650','line-height':'45px'}"
-                                :data="tableData" style="width: 100%" :row-class-name="tableRowClassName">
-                                <el-table-column type="selection" min-width="5">
-                                </el-table-column>
-                                <el-table-column label="浜嬩欢缂栧彿" min-width="6">
-                                    <template slot-scope="scope">{{ scope.row.id }}</template>
-                                </el-table-column>
-                                <el-table-column prop="source" label="闂鏉ユ簮" min-width="10">
-                                </el-table-column>
-                                <el-table-column prop="bigKind" label="澶х被鍚嶇О" min-width="6">
-                                </el-table-column>
-                                <el-table-column prop="samllKind" label="灏忕被鍚嶇О" min-width="6">
-                                </el-table-column>
-                                <el-table-column prop="reson" label="妗堢敱" min-width="10">
-                                </el-table-column>
-                                <el-table-column prop="location" label="鎶ヨ鐐逛綅" min-width="10">
-                                </el-table-column>
-                                <el-table-column prop="area" label="鎵�灞炲尯鍩�" min-width="10">
-                                </el-table-column>
-                                <el-table-column prop="appendTime" label="鎶ヨ鏃堕棿" min-width="10">
-                                </el-table-column>
-                                <el-table-column prop="duration" label="鎸佺画鏃堕棿" min-width="6">
-                                </el-table-column>
-                                <el-table-column prop="operation" label="鎿嶄綔" min-width="15">
-                                    <template slot-scope="scope">
-                                        <div class="operation">
-                                            <span @click="handleFind(scope.row)">璋冨害</span>
-                                            <span class="line">|</span>
-                                            <span @click="handleUpdate(scope.row)">涓婁紶澶勭疆缁撴灉</span>
-                                        </div>
-                                    </template>
-                                </el-table-column>
-                            </el-table>
+                <div class="type-nav">
+                    <div @click="changeTypeChecked(index)" v-for="(item,index) in typeList" :key="item.name"
+                        :class="[item.checked ? 'is-active':'','type-item']">{{item.name}}</div>
+                </div>
+                <!-- 鏁版嵁灞曠ず -->
+                <el-table ref="multipleTable"
+                    :header-cell-style="{background:'#06122c','font-size':'12px',color:'#4b9bb7','font-weight':'650','line-height':'45px'}"
+                    :data="tableData" style="width: 100%" :row-class-name="tableRowClassName"
+                    @selection-change="tableChange">
+                    <el-table-column type="selection" min-width="5">
+                    </el-table-column>
+                    <el-table-column prop="code" label="浜嬩欢缂栧彿" min-width="10">
+                        <template slot-scope="scope">
+                            <el-link @click="JumpView(scope.row)">{{scope.row.code}}</el-link>
+                        </template>
+                    </el-table-column>
+                    <el-table-column prop="eventSource" label="闂鏉ユ簮" min-width="10">
+                    </el-table-column>
+                    <el-table-column prop="category" label="澶х被鍚嶇О" min-width="10">
+                    </el-table-column>
+                    <el-table-column prop="type" label="灏忕被鍚嶇О" min-width="10">
+                    </el-table-column>
+                    <el-table-column prop="actionCause" label="妗堢敱" min-width="10">
+                    </el-table-column>
+                    <el-table-column prop="site" label="鎶ヨ鐐逛綅" min-width="10">
+                    </el-table-column>
+                    <el-table-column prop="streetId" label="鎵�灞炲尯鍩�" min-width="10">
+                    </el-table-column>
+                    <el-table-column prop="alarmTime" label="鎶ヨ鏃堕棿" min-width="10">
+                    </el-table-column>
+                    <el-table-column prop="continueTime" label="鎸佺画鏃堕棿" min-width="10">
+                    </el-table-column>
+                    <el-table-column prop="operation" label="鎿嶄綔" min-width="20">
+                        <template>
+                            <div class="btn">
+                                <span>璋冨害</span>
+                                <span class="line">|</span>
+                                <span @click="opernDialog">涓婁紶澶勭疆缁撴灉</span>
+                            </div>
+                        </template>
+                    </el-table-column>
+                </el-table>
+                <!-- 鏌ョ湅淇敼椤甸潰 -->
+                <el-dialog :visible.sync="dialogUpdate" width="80%" title="鍩虹淇℃伅(浜哄伐)"
+                    v-if="dialogUpdate" :before-close="handleClose">
+                    <updateUser :info=info />
+                </el-dialog>
+                <!-- 涓婁紶椤甸潰 -->
+                <el-dialog :visible.sync="dialogUpload" width="45%" title="涓婁紶澶勭疆缁撴灉"
+                    v-if="dialogUpload" :before-close="handleClose">
+                    <!-- <uploadVio></uploadVio>杩濊 -->
+                    <uploadIll></uploadIll>
+                </el-dialog>
+                <!-- tools -->
+                <div class="tools">
+                    <div class="funs">
+                        <div class="funsItem">
+                            <el-checkbox v-model="all" @change="selectAll()">鍏ㄩ��</el-checkbox>
+                        </div>
+                        <div class="funsItem">
+                            <el-checkbox v-model="unsame" @change="disSame(tableData)">鍙嶉��</el-checkbox>
+                        </div>
+                        <div class="funsItem">
+                            <el-select v-model="myIdx" placeholder="鎵归噺鎿嶄綔" @change="selectChange">
+                                <el-option v-for="item in options" :key="item.value" :label="item.label"
+                                    :value="item.value" :disabled="item.disabled">
+                                </el-option>
+                            </el-select>
+                        </div>
+                    </div>
+                    <div class="pagination">
+                        <el-pagination background :current-page="currentPage" layout="prev, pager, next"
+                            :total="totalNum" :page-size="pageSize" @current-change="changeCurrentPage"
+                            @prev-click="handlePrev" @next-click="handleNext">
+                        </el-pagination>
+                    </div>
                 </div>
             </div>
         </main>
-        <!-- 缁勪欢鍖� -->
-        <footer>
-            <!-- <el-dialog v-if="visible" :visible.async="visible" title="闂鐧昏" width="60%" :before-close="handleClose">
-                <checkIn></checkIn>
-            </el-dialog> -->
-        </footer>
     </div>
 </template>
 <script>
-// import checkIn from './compenents/checkIn';
+import updateUser from "./updateUser"
+import uploadVio from './updateUser/uploadResult/vio'
+import uploadIll from "./updateUser/uploadResult/ill"
 export default {
     components: {
-        // checkIn,
+        updateUser,uploadVio,uploadIll
     },
     data() {
         return {
-            tagList: [
-                // {
-                //     name: '寰呭鐞�',
-                //     value: 0,
-                // },
-                // {
-                //     name: '宸蹭笂鎶�',
-                //     value: 0,
-                // },
-                // {
-                //     name: '宸茶皟搴�',
-                //     value: 0,
-                // },
-                // {
-                //     name: '鍦ㄥ涔�',
-                //     value: 0,
-                // },
-                // {
-                //     name: '鏆備笉澶勭悊',
-                //     value: 0,
-                // },
+            tableData: [],
+            context: "",
+            dialogUpload:false,
+            dialogUpdate: false,
+            info: {},
+            totalNum: null,
+            pageSize: 10,
+            currentPage: 1,
+            all: false,
+            unsame: false,
+            myIdx: 0,
+            options: [
+                {
+                    value: 0,
+                    label: '鎵归噺鎿嶄綔',
+                    disabled: true,
+                },
+                {
+                    value: 1,
+                    label: '鎵归噺鍚敤',
+                },
+                {
+                    value: 2,
+                    label: '鎵归噺绂佺敤',
+                },
+                {
+                    value: 3,
+                    label: '鎵归噺鍒犻櫎',
+                }
+            ],
+            tempList: [],
+            typeList: [
                 {
                     name: '杩濊',
-                    value: 0,
+                    value: 1,
+                    checked: true
                 },
                 {
                     name: '杩濆缓',
-                    value: 0,
+                    value: 2,
+                    checked: false,
                 },
             ],
-            tableData: [
+            tagList: [
                 {
-                    id: 13413114,
-                    source: '浜哄伐涓婃姤/瑙嗛宸℃煡',
-                    appendTime: '2022-01-09 14:52'
-                }
+                    name: '寰呭鐞�',
+                    value: 7,
+                    checked: true
+                },
+                {
+                    name: '宸蹭笂鎶�',
+                    value: 1,
+                    checked: false
+                },
+                {
+                    name: '宸茶皟搴�',
+                    value: 3,
+                    checked: false
+                },
+                {
+                    name: '鍦ㄥ涔�',
+                    value: 4,
+                    checked: false
+                },
+                {
+                    name: '鏆備笉澶勭悊',
+                    value: 4,
+                    checked: false
+                },
             ],
-            visible: false,
+            statusArr:[],
         }
     },
+    created() {
+        this.tagList.forEach(item => {
+            if (item.checked) {
+                this.statusArr[0] = item.value;
+            }
+        })
+        this.typeList.forEach(item => {
+            if (item.checked) {
+                this.statusArr[1] = item.value;
+            }
+        })
+        this.getUserList();
+    },
     methods: {
+        // 鎵归噺鍒犻櫎
+        mulDelete(idArr){
+            console.log(idArr);
+            this.$axios({
+                method:'delete',
+                url:'sccg/violations/batch_delete?ids='+idArr,
+            }).then(res=>{
+                this.getUserList();
+                this.$message({
+                    message:res.message,
+                    type:res.code === 200 ? 'success' : 'warning'
+                })
+            })
+        },
+        // 鎵ц涓嬫媺妗嗘搷浣�
+        selectChange(val) {
+            let ids = [];
+            this.tempList.forEach(item => {
+                ids.push(item.number);
+            })
+            if (ids.length !== 0) {
+                if (val === 3) {
+                    this.mulDelete(ids);
+                }
+            } else {
+                this.$message({
+                    type: 'warning',
+                    message: '鎮ㄨ繕娌¢�変腑浠讳綍鏁版嵁',
+                })
+            }
+        },
+        // 鐩戝惉琛ㄦ牸閫変腑鐘舵��
+        tableChange(list) {
+            this.tempList = list;
+            if (list.length === this.tableData.length) {
+                this.all = true;
+            } else {
+                this.all = false
+            }
+        },
+        // 鍏ㄩ��
+        selectAll() {
+            this.$refs.multipleTable.toggleAllSelection();
+        },
+        // 鍙嶉��
+        disSame(list) {
+            list.forEach(row => {
+                this.$refs.multipleTable.toggleRowSelection(row)
+            })
+        },
+        // 鍒犻櫎鍗曟潯鏁版嵁
+        handleDelete({ number }) {
+            console.log(number);
+            this.$confirm('纭鍒犻櫎锛�')
+                .then(_ => {
+                    console.log(1);
+                    this.$axios({
+                        method: 'delete',
+                        url: `sccg/violations/delete?id=${number}`,
+                    })
+                        .then(res => {
+                            console.log(res);
+                            this.$message({
+                                type: res.code === 200 ? 'success' : 'warning',
+                                message: res.message
+                            })
+
+                            this.getUserList();
+                        })
+                })
+                .catch(_ => { console.log(2) });
+        },
+        // 鑾峰彇鐢ㄦ埛鍒楄〃
+        getUserList() {
+            const { currentPage, pageSize, context, statusArr } = this;
+            console.log(statusArr);
+            this.$axios({
+                method: 'get',
+                url: `sccg/base-case/query/${statusArr[1]}?state=${statusArr[0]}&current=${currentPage}&size=${pageSize}&resource=2`
+            }).then(res => {
+                this.totalNum = res.data.total;
+                this.tableData = res.data.records;
+                console.log(res);
+            })
+        },
+        // 鏇存敼杩濊/杩濆缓
+        changeTypeChecked(idx) {
+            this.typeList.forEach((item, index) => {
+                if (index === idx) {
+                    item.checked = true;
+                } else {
+                    item.checked = false;
+                }
+            })
+        },
         // 璁剧疆琛ㄦ牸鏂戦┈绾�
         tableRowClassName({ row, rowIndex }) {
             if ((rowIndex + 1) % 2 == 0) {
@@ -123,141 +295,299 @@
             }
             return '';
         },
-        // 鎵撳紑娣诲姞椤�
-        handleOpenDialog() {
-            this.visible = true;
+        // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠�
+        changeCurrentPage(page) {
+            this.currentPage = page;
+            this.getUserList();
         },
-        // 鍏抽棴瀵硅瘽妗�
+        // 涓婁竴椤电偣鍑讳簨浠�
+        handlePrev(page) {
+            this.currentPage = page;
+            this.getUserList();
+        },
+        // 涓嬩竴椤电偣鍑讳簨浠�
+        handleNext(page) {
+            this.currentPage = page;
+            this.getUserList();
+        },
         handleClose(done) {
-        this.$confirm('纭鍏抽棴锛�')
-          .then(_ => {
-            this.visible = false;
-            done();
-          })
-          .catch(_ => {});
-      }
+            this.$confirm('纭鍏抽棴锛�')
+                .then(_ => {
+                    this.dialogUpload = false;
+                    this.dialogUpdate = false;
+                    done();
+                })
+                .catch(_ => { });
+        },
+        async JumpView(data){
+            await this.getEventInfo(data.code);
+            this.dialogView = true;
+        },
+        // 鑾峰彇妗堜欢淇℃伅
+        getEventInfo(code){
+            this.$axios({
+                method:'get',
+                url:`sccg/base-case/baseCaseDetail/${code}`
+            })
+            .then(res=>{
+                this.info = res.data;  
+            })
+        },
+        opernDialog(){
+            this.dialogUpload = true;
+        }
     }
 }
 </script>
 <style lang="scss" scoped>
-.casepool {
+.userList {
     text-align: left;
+    margin: 10px 20px;
     color: #4b9bb7;
-
     header {
-        display: flex;
-        justify-content: space-between;
-        padding: 0 20px;
-        line-height: 60px;
+        background-color: #09152f;
+        border: 1pox solid #fff;
 
-        .search {
+        .headerContent {
+            padding: 0 40px;
             display: flex;
+            line-height: 100px;
+            justify-content: space-between;
+            align-items: center;
 
-            span {
-                flex: 2;
+            .search {
+                display: flex;
+                justify-content: flex-start;
+
+                span {
+                    flex: 1;
+                }
+
+                .el-input {
+                    flex: 2;
+                    color: #1d3f57;
+
+                    &::v-deep .el-input__inner {
+                        background-color: #09152f;
+                        border: 1px solid #17324c;
+                    }
+                }
+
             }
 
-            .el-input {
-                flex: 5;
+            .findBtn {
+                line-height: 100px;
+                margin-left: 15px;
+                display: flex;
+                align-items: center;
+                margin-top: -2px;
 
-                &::v-deep .el-input__inner {
-                    background-color: #09152f;
-                    border: 1px solid #17324c;
+                .el-button {
+                    padding: 12px 25px;
+                    border-radius: 20px;
                 }
             }
-        }
 
-        .add {
-            .el-button {
+            .addBtn {
                 background-color: #eb5d01;
                 border: none;
                 border-radius: 20px;
+                padding: 12px 30px;
             }
         }
     }
 
     main {
-        .mainContent {
-            .nav {
-                &::v-deep .el-tabs--border-card {
-                    border: none;
-                }
+        background-color: #09152f;
+        margin-top: 20px;
+        padding-bottom: 50px;
+        border: 1pox solid #fff;
 
-                &::v-deep .el-tabs--border-card>.el-tabs__content {
-                    background-color: #09152f;
-                }
+        .type-nav {
+            display: flex;
+            line-height: 40px;
+            margin-left: 30px;
+            padding-top: 10px;
+            margin-bottom: 10px;
 
-                &::v-deep .el-tabs__nav-scroll {
-                    background-color: #09152f;
-                }
+            .type-item {
+                width: 80px;
+                text-align: center;
 
-                &::v-deep .el-tabs__header {
-                    line-height: 60px;
+                &:hover {
+                    cursor: pointer;
                 }
+            }
 
-                &::v-deep .el-tabs--border-card>.el-tabs__header .el-tabs__item {
-                    color: #fff;
-                }
+            .is-active {
+                background-color: #070f22;
+                border-radius: 4px;
+                color: #fff;
+            }
+        }
 
-                &::v-deep .el-tabs--border-card>.el-tabs__header .el-tabs__item.is-active {
-                    color: #4b9bb7;
-                    background-color: #071f39;
-                    border: none;
-                }
+        .tools {
+            display: flex;
+            justify-content: space-between;
+            align-items: center;
+            padding: 0 20px;
 
-                .el-table {
+            .funs {
+                display: flex;
+
+                .funsItem {
+                    line-height: 28px;
+                    display: flex;
+                    align-items: center;
+                    border: 1px solid #17324c;
+                    border-radius: 4px;
                     font-size: 12px;
-                    color: #4b9bb7;
+                    margin-left: 10px;
 
-                    .line {
-                        padding: 0 5px;
+                    .el-checkbox {
+                        width: 80px;
+                        padding: 0 10px;
+                    }
+
+                    .el-select {
+                        width: 120px;
+                    }
+
+                    &::v-deep .el-input__inner {
+                        border: none;
+                        background-color: #09152f;
+                    }
+
+                    &:hover {
+                        border: 1px solid #4b9bb7;
+                    }
+
+                    &:hover .el-checkbox {
+                        color: #4b9bb7;
                     }
                 }
 
-                &::v-deep .el-table__empty-block {
-                    background-color: #09152f;
-                    color: #4b9bb7;
-                }
+            }
 
-                .el-table::v-deep .warning-row {
-                    background: #06122c;
-                }
+            .pagination {
+                margin-top: 50px;
+                display: flex;
+                line-height: 50px;
+                justify-content: center;
 
-                .el-table::v-deep .success-row {
-                    background: #071f39;
+                .el-pagination {
+
+                    &::v-deep li,
+                    &::v-deep .btn-prev,
+                    &::v-deep .btn-next {
+                        background-color: #071f39;
+                        color: #4b9bb7;
+                    }
+
+                    &::v-deep .active {
+                        background-color: #409eff;
+                        color: #fff;
+                    }
                 }
             }
         }
+
+        .el-table {
+            color: #4b9bb7;
+            font-size: 10px;
+
+            &::v-deep .cell {
+                text-overflow: ellipsis;
+                white-space: nowrap;
+                overflow: hidden;
+            }
+
+            &::v-deep .el-table__empty-block {
+                background-color: #09152f;
+            }
+
+            &::v-deep .el-table__empty-block {
+                color: #4b9bb7;
+            }
+
+            .operation {
+                display: flex;
+
+                .line {
+                    padding: 0 5px;
+                }
+
+                span:hover {
+                    cursor: pointer;
+                }
+            }
+        }
+
+        .el-table::v-deep .warning-row {
+            background: #06122c;
+        }
+
+        .el-table::v-deep .success-row {
+            background: #071f39;
+        }
+
+        &::v-deep .switchStyle .el-switch__label {
+            position: absolute;
+            display: none;
+            color: #fff;
+        }
+
+        &::v-deep .el-switch__core {
+            background-color: rgba(166, 166, 166, 1);
+        }
+
+        &::v-deep .switchStyle .el-switch__label--left {
+            z-index: 9;
+            left: 20px;
+        }
+
+        &::v-deep .switchStyle .el-switch__label--right {
+            z-index: 9;
+            left: 4px;
+        }
+
+        &::v-deep .switchStyle .el-switch__label.is-active {
+            display: block;
+        }
+
+        &::v-deep .switchStyle.el-switch .el-switch__core,
+        &::v-deep .el-switch .el-switch__label {
+            width: 50px !important;
+        }
+    }
+    .line{
+        padding: 0 5px;
+    }
+    &::v-deep .el-dialog__header,
+    &::v-deep .el-dialog__body {
+        background-color: #06122c;
     }
 
-    footer {
+    &::v-deep .el-dialog__header {
+        display: flex;
+        align-items: center;
+        background-color: #fff;
+        padding: 20px;
+        line-height: 60px;
+    }
 
-        &::v-deep .el-dialog__header,
-        &::v-deep .el-dialog__body {
-            background-color: #06122c;
-        }
+    &::v-deep .el-dialog__title {
+        color: #4b9bb7;
+    }
 
-        &::v-deep .el-dialog__header {
-            display: flex;
-            align-items: center;
-            background-color: #fff;
-            padding: 20px;
-            line-height: 60px;
-        }
+    &::v-deep .el-dialog__close {
+        width: 20px;
+        height: 20px;
+        // color: #fff;
+    }
 
-        &::v-deep .el-dialog__title {
-            color: #4b9bb7;
-        }
-
-        &::v-deep .el-dialog__close {
-            width: 20px;
-            height: 20px;
-            // color: #fff;
-        }
-
-        &::v-deep .el-dialog__body {
-            padding: 0;
-        }
+    &::v-deep .el-dialog__body {
+        padding: 0;
     }
 }
 </style>
\ No newline at end of file
diff --git a/src/views/operate/disposal/casepool/escalation/updateUser/filePictrue/index.vue b/src/views/operate/disposal/casepool/dispatch/updateUser/filePictrue/index.vue
similarity index 100%
rename from src/views/operate/disposal/casepool/escalation/updateUser/filePictrue/index.vue
rename to src/views/operate/disposal/casepool/dispatch/updateUser/filePictrue/index.vue
diff --git a/src/views/operate/disposal/casepool/escalation/updateUser/index.vue b/src/views/operate/disposal/casepool/dispatch/updateUser/index.vue
similarity index 100%
rename from src/views/operate/disposal/casepool/escalation/updateUser/index.vue
rename to src/views/operate/disposal/casepool/dispatch/updateUser/index.vue
diff --git a/src/views/operate/disposal/casepool/escalation/updateUser/process/index.vue b/src/views/operate/disposal/casepool/dispatch/updateUser/process/index.vue
similarity index 100%
rename from src/views/operate/disposal/casepool/escalation/updateUser/process/index.vue
rename to src/views/operate/disposal/casepool/dispatch/updateUser/process/index.vue
diff --git a/src/views/operate/disposal/casepool/escalation/updateUser/scene/index.vue b/src/views/operate/disposal/casepool/dispatch/updateUser/scene/index.vue
similarity index 100%
rename from src/views/operate/disposal/casepool/escalation/updateUser/scene/index.vue
rename to src/views/operate/disposal/casepool/dispatch/updateUser/scene/index.vue
diff --git a/src/views/operate/disposal/casepool/escalation/updateUser/solveProblem/index.vue b/src/views/operate/disposal/casepool/dispatch/updateUser/solveProblem/index.vue
similarity index 100%
rename from src/views/operate/disposal/casepool/escalation/updateUser/solveProblem/index.vue
rename to src/views/operate/disposal/casepool/dispatch/updateUser/solveProblem/index.vue
diff --git a/src/views/operate/disposal/casepool/dispatch/updateUser/uploadResult/ill/index.vue b/src/views/operate/disposal/casepool/dispatch/updateUser/uploadResult/ill/index.vue
new file mode 100644
index 0000000..cb35357
--- /dev/null
+++ b/src/views/operate/disposal/casepool/dispatch/updateUser/uploadResult/ill/index.vue
@@ -0,0 +1,200 @@
+<template>
+    <div class="vio">
+        <div class="arrive">
+            <div class="arrive-title">鍒板ぇ鐜板満鎯呭喌</div>
+            <div class="arrive-form">
+                <el-form ref="arriveForm" label-width="160px" :model="arrive" :rules="arriveRules" autoComplete="on">
+                    <!-- 鍒拌揪鏃堕棿 -->
+                    <el-form-item label="鍒拌揪鏃堕棿" prop="arriveTime">
+                        <el-input v-model="arrive.arriveTime"></el-input>
+                    </el-form-item>
+                    <!-- 鍒拌揪鍦板潃 -->
+                    <el-form-item label="鍒拌揪鍦板潃" prop="arriveAddr">
+                        <el-input v-model="arrive.arriveAddr"></el-input>
+                    </el-form-item>
+                    <!-- 鐜板満鎯呭喌璇存槑 -->
+                    <el-form-item label="鐜板満鎯呭喌璇存槑" prop="arriveCondition">
+                        <el-input type="textarea" v-model="arrive.arriveCondition"></el-input>
+                    </el-form-item>
+                    <!-- 淇¤鍥炲璇存槑 -->
+                    <el-form-item label="淇¤鍥炲璇存槑" prop="arriveLetter">
+                        <el-input v-model="arrive.arriveLetter"></el-input>
+                    </el-form-item>
+                    <!-- 鐜板満鎯呭喌鐓х墖 -->
+                    <el-form-item label="鐜板満鎯呭喌鐓х墖" prop="arrivePhoto">
+                        <el-input v-model="arrive.arrivePhoto"></el-input>
+                    </el-form-item>
+                </el-form>
+            </div>
+        </div>
+        <div class="evidence">
+            <div class="evidence-title">璋冩煡鍙栬瘉</div>
+            <div class="evidence-form">
+                <el-form ref="evidenceForm" label-width="160px" :model="evidence" :rules="evidenceRules"
+                    autoComplete="on">
+                    <!-- 鏂囦功绉嶇被 -->
+                    <el-form-item label="鏂囦功绉嶇被" prop="team">
+                        <el-input v-model="evidence.team"></el-input>
+                    </el-form-item>
+                    <!-- 鍗忓姙闃熷憳 -->
+                    <el-form-item label="鍗忓姙闃熷憳" prop="helper">
+                        <el-input v-model="evidence.helper"></el-input>
+                    </el-form-item>
+                    <!-- 鏃堕棿 -->
+                    <el-form-item label="鏃堕棿" prop="time">
+                        <el-input v-model="evidence.time"></el-input>
+                    </el-form-item>
+                    <!-- 鍦板潃 -->
+                    <el-form-item label="鍦板潃" prop="address">
+                        <el-input v-model="evidence.address"></el-input>
+                    </el-form-item>
+                    <!-- 妗堢敱 -->
+                    <el-form-item label="妗堢敱" prop="cause">
+                        <el-input v-model="evidence.cause"></el-input>
+                    </el-form-item>
+                    <!-- 鏂囦功绉嶇被 -->
+                    <el-form-item label="鏂囦功绉嶇被" prop="team">
+                        <el-input v-model="evidence.team"></el-input>
+                    </el-form-item>
+                    <!-- 褰撲簨浜轰俊鎭� -->
+                    <el-form-item label="褰撲簨浜轰俊鎭�" prop="appender">
+                        <el-input v-model="evidence.appender"></el-input>
+                    </el-form-item>
+                    <!-- 鎯呭喌鎻忚堪 -->
+                    <el-form-item label="鎯呭喌鎻忚堪" prop="description">
+                        <el-input v-model="evidence.description"></el-input>
+                    </el-form-item>
+                    <!-- 鐓х墖闄勪欢 -->
+                    <el-form-item label="鐓х墖闄勪欢" prop="photo">
+                        <el-input v-model="evidence.photo"></el-input>
+                    </el-form-item>
+                </el-form>
+            </div>
+        </div>
+        <div class="book">
+            <div class="book-title">鏂囩涔︾被</div>
+            <div class="book-form">
+                <el-form ref="bookForm" label-width="160px" :model="book" :rules="bookRules"
+                    autoComplete="on">
+                    <!-- 鏂囦功绉嶇被 -->
+                    <el-form-item label="鏂囦功绉嶇被" prop="kind">
+                        <el-input v-model="book.kind"></el-input>
+                    </el-form-item>
+                    <!-- 鏂囦功缂栧彿 -->
+                    <el-form-item label="鏂囦功缂栧彿" prop="id">
+                        <el-input v-model="book.id"></el-input>
+                    </el-form-item>
+                    <!-- 杩濇硶绫诲瀷 -->
+                    <el-form-item label="杩濇硶绫诲瀷" prop="vioKind">
+                        <el-input v-model="book.vioKind"></el-input>
+                    </el-form-item>
+                    <!-- 鏂囦功鍙戞斁鏃堕棿 -->
+                    <el-form-item label="鏂囦功鍙戞斁鏃堕棿" prop="giveTime">
+                        <el-input v-model="book.giveTime"></el-input>
+                    </el-form-item>
+                    <!-- 鏂囦功闄愬畾鏃堕棿 -->
+                    <el-form-item label="鏂囦功闄愬畾鏃堕棿" prop="limitTime">
+                        <el-input v-model="book.limitTime"></el-input>
+                    </el-form-item>
+                    <!-- 鏂囦功鍙戞斁鍐呭 -->
+                    <el-form-item label="鏂囦功鍙戞斁鍐呭" prop="content">
+                        <el-input v-model="book.content"></el-input>
+                    </el-form-item>
+                    <!-- 瀹為檯鏁存敼鏃堕棿 -->
+                    <el-form-item label="瀹為檯鏁存敼鏃堕棿" prop="updateTime">
+                        <el-input v-model="book.updateTime"></el-input>
+                    </el-form-item>
+                    <!-- 鏁存敼鎯呭喌 -->
+                    <el-form-item label="鏁存敼鎯呭喌" prop="condition">
+                        <el-input v-model="book.condition"></el-input>
+                    </el-form-item>
+                    <!-- 澶囨敞 -->
+                    <el-form-item label="澶囨敞" prop="note">
+                        <el-input v-model="book.note"></el-input>
+                    </el-form-item>
+                    <!-- 鏂囦功鐓х墖涓婁紶 -->
+                    <el-form-item label="鏂囦功鐓х墖涓婁紶" prop="bookPhoto">
+                        <el-input v-model="book.bookPhoto"></el-input>
+                    </el-form-item>
+                    <!-- 鏁存敼鍓嶇収鐗� -->
+                    <el-form-item label="鏁存敼鍓嶇収鐗�" prop="beforeUpdate">
+                        <el-input v-model="book.beforeUpdate"></el-input>
+                    </el-form-item>
+                    <!-- 鏁存敼鍚庣収鐗� -->
+                    <el-form-item label="鏁存敼鍚庣収鐗�" prop="afterUpdate">
+                        <el-input v-model="book.afterUpdate"></el-input>
+                    </el-form-item>
+                    <!-- 鍏朵粬鐓х墖 -->
+                    <el-form-item label="鍏朵粬" prop="other">
+                        <el-input v-model="book.other"></el-input>
+                    </el-form-item>
+                </el-form>
+            </div>
+        </div>
+        <div class="footer">
+            <el-button>纭畾</el-button>
+            <el-button>杩斿洖</el-button>
+        </div>
+    </div>
+</template>
+<script>
+export default {
+    data() {
+        return {
+            arrive: {
+
+            },
+            arriveRules: {
+
+            },
+            evidence: {
+
+            },
+            evidenceRules: {
+
+            },
+            book:{
+
+            },
+            bookRules:{
+                
+            }
+        }
+    }
+}
+</script>
+<style lang="scss" scoped>
+.vio {
+    padding: 50px 100px;
+
+    .arrive-title,
+    .evidence-title {
+        line-height: 40px;
+        font-weight: 650;
+        font-size: 20px;
+        width: 160px;
+        padding-right: 12px;
+        text-align: right;
+        color: #4b9bb7;
+    }
+
+    .footer {
+        display: flex;
+        justify-content: flex-end;
+    }
+
+    ::v-deep .el-input__inner {
+        background-color: #09152f;
+        border: 1px solid #17324c;
+    }
+
+    ::v-deep .el-textarea__inner {
+        background-color: #09152f;
+        border: 1px solid #17324c;
+    }
+
+    ::v-deep .el-form-item__label {
+        color: #4b9bb7;
+    }
+}
+</style>
\ No newline at end of file
diff --git a/src/views/operate/disposal/casepool/dispatch/updateUser/uploadResult/vio/index.vue b/src/views/operate/disposal/casepool/dispatch/updateUser/uploadResult/vio/index.vue
new file mode 100644
index 0000000..c48b5e7
--- /dev/null
+++ b/src/views/operate/disposal/casepool/dispatch/updateUser/uploadResult/vio/index.vue
@@ -0,0 +1,127 @@
+<template>
+    <div class="vio">
+        <div class="arrive">
+            <div class="arrive-title">鍒板ぇ鐜板満鎯呭喌</div>
+            <div class="arrive-form">
+                <el-form ref="arriveForm" label-width="160px" :model="arrive" :rules="arriveRules" autoComplete="on">
+                    <!-- 鍒拌揪鏃堕棿 -->
+                    <el-form-item label="鍒拌揪鏃堕棿" prop="arriveTime">
+                        <el-input v-model="arrive.arriveTime"></el-input>
+                    </el-form-item>
+                    <!-- 鍒拌揪鍦板潃 -->
+                    <el-form-item label="鍒拌揪鍦板潃" prop="arriveAddr">
+                        <el-input v-model="arrive.arriveAddr"></el-input>
+                    </el-form-item>
+                    <!-- 鐜板満鎯呭喌璇存槑 -->
+                    <el-form-item label="鐜板満鎯呭喌璇存槑" prop="arriveCondition">
+                        <el-input type="textarea" v-model="arrive.arriveCondition"></el-input>
+                    </el-form-item>
+                    <!-- 淇¤鍥炲璇存槑 -->
+                    <el-form-item label="淇¤鍥炲璇存槑" prop="arriveLetter">
+                        <el-input v-model="arrive.arriveLetter"></el-input>
+                    </el-form-item>
+                    <!-- 鐜板満鎯呭喌鐓х墖 -->
+                    <el-form-item label="鐜板満鎯呭喌鐓х墖" prop="arrivePhoto">
+                        <el-input v-model="arrive.arrivePhoto"></el-input>
+                    </el-form-item>
+                </el-form>
+            </div>
+        </div>
+        <div class="evidence">
+            <div class="evidence-title">璋冩煡鍙栬瘉</div>
+            <div class="evidence-form">
+                <el-form ref="evidenceForm" label-width="160px" :model="evidence" :rules="evidenceRules" autoComplete="on">
+                    <!-- 鎵垮姙闃熷憳 -->
+                    <el-form-item label="鎵垮姙闃熷憳" prop="team">
+                        <el-input v-model="evidence.team"></el-input>
+                    </el-form-item>
+                    <!-- 鍗忓姙闃熷憳 -->
+                    <el-form-item label="鍗忓姙闃熷憳" prop="helper">
+                        <el-input v-model="evidence.helper"></el-input>
+                    </el-form-item>
+                    <!-- 鏃堕棿 -->
+                    <el-form-item label="鏃堕棿" prop="time">
+                        <el-input v-model="evidence.time"></el-input>
+                    </el-form-item>
+                    <!-- 鍦板潃 -->
+                    <el-form-item label="鍦板潃" prop="address">
+                        <el-input v-model="evidence.address"></el-input>
+                    </el-form-item>
+                    <!-- 妗堢敱 -->
+                    <el-form-item label="妗堢敱" prop="cause">
+                        <el-input v-model="evidence.cause"></el-input>
+                    </el-form-item>
+                    <!-- 鎵垮姙闃熷憳 -->
+                    <el-form-item label="鎵垮姙闃熷憳" prop="team">
+                        <el-input v-model="evidence.team"></el-input>
+                    </el-form-item>
+                    <!-- 褰撲簨浜轰俊鎭� -->
+                    <el-form-item label="褰撲簨浜轰俊鎭�" prop="appender">
+                        <el-input v-model="evidence.appender"></el-input>
+                    </el-form-item>
+                    <!-- 鎯呭喌鎻忚堪 -->
+                    <el-form-item label="鎯呭喌鎻忚堪" prop="description">
+                        <el-input v-model="evidence.description"></el-input>
+                    </el-form-item>
+                    <!-- 鐓х墖闄勪欢 -->
+                    <el-form-item label="鐓х墖闄勪欢" prop="photo">
+                        <el-input v-model="evidence.photo"></el-input>
+                    </el-form-item>
+                </el-form>
+            </div>
+        </div>
+        <div class="footer">
+            <el-button>纭畾</el-button>
+            <el-button>杩斿洖</el-button>
+        </div>
+    </div>
+</template>
+<script>
+export default {
+    data() {
+        return {
+            arrive:{
+
+            },
+            arriveRules:{
+
+            },
+            evidence:{
+
+            },
+            evidenceRules:{
+
+            }
+        }
+    }
+}
+</script>
+<style lang="scss" scoped>
+.vio{
+    padding: 50px 100px;
+    .arrive-title,.evidence-title{
+        line-height: 40px;
+        font-weight: 650;
+        font-size: 20px;
+        width: 160px;
+        padding-right: 12px;
+        text-align: right;
+        color: #4b9bb7;
+    }
+    .footer{
+        display: flex;
+        justify-content: flex-end;
+    }
+    ::v-deep .el-input__inner{
+        background-color: #09152f;
+        border: 1px solid #17324c;
+    }
+    ::v-deep .el-textarea__inner{
+        background-color: #09152f;
+        border: 1px solid #17324c;
+    }
+    ::v-deep .el-form-item__label{
+        color:#4b9bb7;
+    }
+}
+</style>
\ No newline at end of file
diff --git a/src/views/operate/disposal/casepool/escalation/index.vue b/src/views/operate/disposal/casepool/escalation/index.vue
index 3368162..76ba25c 100644
--- a/src/views/operate/disposal/casepool/escalation/index.vue
+++ b/src/views/operate/disposal/casepool/escalation/index.vue
@@ -82,7 +82,7 @@
     </div>
 </template>
 <script>
-import updateUser from "./updateUser"
+import updateUser from "@/components/detail"
 export default {
     components: {
         updateUser
diff --git a/src/views/operate/disposal/casepool/pool/createUser/vio/index.vue b/src/views/operate/disposal/casepool/pool/createUser/vio/index.vue
index 8f60473..01a50f9 100644
--- a/src/views/operate/disposal/casepool/pool/createUser/vio/index.vue
+++ b/src/views/operate/disposal/casepool/pool/createUser/vio/index.vue
@@ -9,13 +9,13 @@
                 <el-form ref="user" label-width="100px" autoComplete="on" :model="vio" :rules="createRoleRules"
                     label-position="right">
                     <!-- 闂绫诲瀷 -->
-                    <el-form-item class="optionItem" label="闂绫诲瀷:" prop="category">
+                    <!-- <el-form-item class="optionItem" label="闂绫诲瀷:" prop="category">
                         <el-select v-model="vio.category" placeholder="杩濊" disabled>
                             <el-option v-for="item in typeList" :key="item.label" :label="item.label"
                                 :value="item.value">
                             </el-option>
                         </el-select>
-                    </el-form-item>
+                    </el-form-item> -->
                     <!-- 澶х被鍚嶇О -->
                     <el-form-item class="optionItems" label="澶х被鍚嶇О:" prop="categoryId">
                         <el-select v-model="vio.categoryId" placeholder="璇烽�夋嫨澶х被鍚嶇О">
@@ -32,8 +32,8 @@
                         </el-select>
                     </el-form-item>
                     <!-- 浜嬩欢绛夌骇 -->
-                    <el-form-item class="optionItems" label="浜嬩欢绛夌骇:" prop="status">
-                        <el-select v-model="vio.level" placeholder="璇烽�夋嫨妗堜欢绛夌骇">
+                    <el-form-item class="optionItems" label="浜嬩欢绛夌骇:" prop="gradeId">
+                        <el-select v-model="vio.gradeId" placeholder="璇烽�夋嫨妗堜欢绛夌骇">
                             <el-option v-for="item in eventLevelList" :key="item.id" :label="item.name" :value="item.id"
                                 :disabled="item.disabled">
                             </el-option>
@@ -157,20 +157,21 @@
         };
         return {
             vio: {
-                actionCause: "dasdas",//妗堢敱
-                carNumber: "宸漦123456",//杞︾墝鍙�
-                category: '',//1:杩濊2:杩濆缓
-                categoryId: 0,//澶х被
-                communityId: 0,//鎵�灞炵ぞ鍖�
-                description: "澶ф拻澶ф拻",//闂鎻忚堪
-                informant: "澶ц嫃鎵�",//鍙嶆槧浜�
-                informantIdCard: "51102519910082831",//韬唤璇佸彿鐮�
-                informantPhoneCode: "17844631885",//鍙嶆槧浜鸿仈绯绘柟寮�
-                linkShop: 0,//鏄惁鍏宠仈鍟嗛摵(0鍚�1鏄�)
-                shopName: "",//鍏宠仈鍟嗛摵鍚嶇О
-                site: "灏忓湴鏂�",//浜嬪彂鍦扮偣
-                streetId: 0,//鎵�灞炶閬�
-                typeId: 0//灏忕被
+                actionCause:"dasdas",//妗堢敱
+                carNumber:"宸漦123456",//杞︾墝鍙�
+                // category:1,//1:杩濊2:杩濆缓
+                categoryId:0,//澶х被
+                communityId:0,//鎵�灞炵ぞ鍖�
+                description:"澶ф拻澶ф拻",//闂鎻忚堪
+                informant:"澶ц嫃鎵�",//鍙嶆槧浜�
+                informantIdCard:"51102519910082831",//韬唤璇佸彿鐮�
+                informantPhoneCode:"17844631885",//鍙嶆槧浜鸿仈绯绘柟寮�
+                linkShop:0,//鏄惁鍏宠仈鍟嗛摵(0鍚�1鏄�)
+                shopName:"",//鍏宠仈鍟嗛摵鍚嶇О
+                site:'鏂板湴鏂�',//浜嬪彂鍦扮偣
+                streetId:0,//鎵�灞炶閬�
+                typeId:0,//灏忕被
+                gradeId:''
             },
             createRoleRules: {
                 name: [
@@ -208,24 +209,6 @@
         getEventLevel();
     },
     methods: {
-        // handleUser() {
-        //     this.$refs['user'].validate((valid) => {
-        //         console.log(valid);
-        //         if (valid) {
-        //             const { role } = this;
-        //             console.log(role);
-        //             this.$axios.post('sccg/role/create', {
-        //                 description: role.description, name: role.name, type: role.type
-        //             }).then(res => {
-        //                 if (res.code === 200) {
-        //                     this.refresh();
-        //                 }
-        //             })
-        //         } else {
-        //             return false;
-        //         }
-        //     })
-        // },
         handleStop() {
             this.refresh();
         },
@@ -246,6 +229,7 @@
                 url: 'sccg/violations/query/type_second'
             })
                 .then(res => {
+                    console.log(res);
                     this.smallKindList = res.data;
                 })
         },
@@ -256,6 +240,7 @@
                 url: 'sccg/violations/query/event_type'
             })
                 .then(res => {
+                    console.log(res);
                     this.eventLevelList = res.data;
                 })
         },
@@ -272,25 +257,28 @@
         // 鎻愪氦娉ㄥ唽淇℃伅
         handleSubmit() {
             const { vio } = this;
-            console.log(vio);
             this.$axios({
                 method:'post',
                 url:'sccg/base-case/addition_violation',
                 data:vio
             })
             .then(res=>{
-                console.log(res);
+                if(res.code === 200){
+                    this.$message({
+                        type:'success',
+                        message:res.message
+                    })
+                    this.$emit('changeDialog',{dialogView:false});
+                }else{
+                    this.$message({
+                        type:'warning',
+                        message:res.message,
+                    })
+                }
             })
-            // this.$axios.post('sccg/role/create', {
-            //     description: role.description, name: role.name, type: role.type
-            // }).then(res => {
-            //     if (res.code === 200) {
-            //         this.refresh();
-            //     }
-            // })
         }
     },
-    props: ['mytype']
+    props: ['mytype','changeDialog']
 }
 </script>
 <style lang="scss" scoped>
diff --git a/src/views/operate/disposal/casepool/pool/index.vue b/src/views/operate/disposal/casepool/pool/index.vue
index 3e6c1f7..d7593f3 100644
--- a/src/views/operate/disposal/casepool/pool/index.vue
+++ b/src/views/operate/disposal/casepool/pool/index.vue
@@ -15,8 +15,8 @@
                         <createUser @getPageProp=setDialog />
                     </el-dialog>
                     <el-dialog :before-close="handleClose" :visible.sync="dialogNewAdd" :title="newAddType === 0 ? '杩濊浜嬩欢鐧昏' : '杩濆缓浜嬩欢鐧昏' " width="45%" v-if="dialogNewAdd">
-                        <MyIll v-if="newAddType === 1" :mytype=newAddType />
-                        <myVio v-else :mytype=newAddType />
+                        <MyIll v-if="newAddType === 1" :mytype=newAddType @changeDialog=changeDialog />
+                        <myVio v-else :mytype=newAddType  @changeDialog=changeDialog />
                     </el-dialog>
                 </div>
             </div>
@@ -39,23 +39,26 @@
                     @selection-change="tableChange">
                     <el-table-column type="selection" min-width="5">
                     </el-table-column>
-                    <el-table-column prop="number" label="浜嬩欢缂栧彿" min-width="10">
+                    <el-table-column prop="code" label="浜嬩欢缂栧彿" min-width="10">
+                        <template slot-scope="scope">
+                            <el-link @click="JumpView(scope.row)">{{scope.row.code}}</el-link>
+                        </template>
                     </el-table-column>
-                    <el-table-column prop="typeThird" label="闂鏉ユ簮" min-width="10">
+                    <el-table-column prop="eventSource" label="闂鏉ユ簮" min-width="10">
                     </el-table-column>
-                    <el-table-column prop="typeSecond" label="澶х被鍚嶇О" min-width="10">
+                    <el-table-column prop="category" label="澶х被鍚嶇О" min-width="10">
                     </el-table-column>
-                    <el-table-column prop="typeFirst" label="灏忕被鍚嶇О" min-width="10">
+                    <el-table-column prop="type" label="灏忕被鍚嶇О" min-width="10">
                     </el-table-column>
-                    <el-table-column prop="type" label="妗堢敱" min-width="10">
+                    <el-table-column prop="actionCause" label="妗堢敱" min-width="10">
                     </el-table-column>
-                    <el-table-column prop="type" label="鎶ヨ鐐逛綅" min-width="10">
+                    <el-table-column prop="site" label="鎶ヨ鐐逛綅" min-width="10">
                     </el-table-column>
-                    <el-table-column prop="type" label="鎵�灞炲尯鍩�" min-width="10">
+                    <el-table-column prop="streetId" label="鎵�灞炲尯鍩�" min-width="10">
                     </el-table-column>
-                    <el-table-column prop="type" label="鎶ヨ鏃堕棿" min-width="10">
+                    <el-table-column prop="alarmTime" label="鎶ヨ鏃堕棿" min-width="10">
                     </el-table-column>
-                    <el-table-column prop="type" label="鎸佺画鏃堕棿" min-width="10">
+                    <el-table-column prop="continueTime" label="鎸佺画鏃堕棿" min-width="10">
                     </el-table-column>
                     <el-table-column prop="operation" label="鎿嶄綔" min-width="20">
                         <template slot-scope="scope">
@@ -71,11 +74,12 @@
                         </template>
                     </el-table-column>
                 </el-table>
-                <!-- 鏌ョ湅淇敼椤甸潰 -->
-                <el-dialog :visible.sync="dialogUpdate" width="45%" :title="updateFlag ? '鏉冮檺璁剧疆' :'鏌ョ湅瑙掕壊淇℃伅'"
-                    v-if="dialogUpdate" :before-close="handleClose">
-                    <updateUser :updateFlag="updateFlag" :userInfo=userInfo
-                        :getUserList=" context ? getUserList : getUserList" @changeDialog="changeDialog" />
+                <!-- 璇︽儏椤靛睍绀� -->
+                <el-dialog :visible.sync="dialogView" width="80%" title="鍩虹淇℃伅(浜哄伐)"
+                    v-if="dialogView" :before-close="handleClose">
+                    <!-- <updateUser :updateFlag="updateFlag" :userInfo=userInfo
+                        :getUserList=" context ? getUserList : getUserList" @changeDialog="changeDialog" /> -->
+                    <MyDetail :info=info ></MyDetail>
                 </el-dialog>
                 <!-- tools -->
                 <div class="tools">
@@ -106,30 +110,43 @@
     </div>
 </template>
 <script>
-import updateUser from "./updateUser"
+// import updateUser from "./updateUser"
+import MyDetail from '@/components/detail'
 import createUser from "./createUser"
 import MyIll from './createUser/ill'
 import MyVio from './createUser/vio'
 export default {
     components: {
-        updateUser, createUser,MyIll,MyVio
+        // updateUser
+        createUser,MyIll,MyVio,MyDetail
     },
     data() {
         return {
-            tableData: [],
+            tableData: [
+                // {
+                //     code:1,
+                //     eventSource:1,
+                //     category:1,
+                //     type:1,
+                //     actionCause:'妗堢敱1111',
+                //     site:'浣犲ソ',
+                //     streetId:1,
+                //     alarmTime:'2022-21-20',
+                //     continueTime:'8灏忔椂',
+                // }
+            ],
             context: "",
             dialogCreate: false,
-            dialogUpdate: false,
+            dialogView: false,
             dialogNewAdd:false,
             newAddType:0,
-            updateFlag: false,
-            userInfo: '',
             totalNum: null,
             pageSize: 10,
             currentPage: 1,
             all: false,
             unsame: false,
             myIdx: 0,
+            info:{},
             options: [
                 {
                     value: 0,
@@ -212,7 +229,6 @@
             this.dialogCreate = flag;
             this.dialogNewAdd = true;
             this.newAddType = type;
-            console.log(flag,type);
         },
         // 鎵归噺鍒犻櫎
         mulDelete(idArr) {
@@ -292,8 +308,10 @@
             console.log(statusArr);
             this.$axios({
                 method: 'get',
-                url: `sccg/base-case/query/${statusArr[1]}?state=${statusArr[0]}&current=${currentPage}&size=${pageSize}&resource=1`
+                url: `sccg/base-case/query/${statusArr[1]}?state=${statusArr[0]}&current=${currentPage}&size=${pageSize}&resource=2`
             }).then(res => {
+                this.totalNum = res.data.total;
+                this.tableData = res.data.records;
                 console.log(res);
             })
         },
@@ -308,7 +326,7 @@
         },
         // 鏌ョ湅鐢ㄦ埛淇℃伅(涓嶅彲淇敼)
         handleFind(rowData) {
-            this.dialogUpdate = true;
+            this.dialogView = true;
             this.updateFlag = false;
             this.userInfo = rowData;
         },
@@ -328,14 +346,16 @@
             this.getUserList();
         },
         changeDialog(val) {
-            this.dialogUpdate = val.dialogUpdate;
-            console.log(val);
+            this.dialogNewAdd = val.dialogView;
+            this.dialogCreate = val.dialogView;
+            this.dialogView = val.dialogView;
+            this.getUserList();
         },
         handleClose(done) {
             this.$confirm('纭鍏抽棴锛�')
                 .then(_ => {
                     this.dialogCreate = false;
-                    this.dialogUpdate = false;
+                    this.dialogView = false;
                     done();
                 })
                 .catch(_ => { });
@@ -362,6 +382,20 @@
                 }
             })
         },
+        async JumpView(data){
+            await this.getEventInfo(data.code);
+            this.dialogView = true;
+        },
+        // 鑾峰彇妗堜欢淇℃伅
+        getEventInfo(code){
+            this.$axios({
+                method:'get',
+                url:`sccg/base-case/baseCaseDetail/${code}`
+            })
+            .then(res=>{
+                this.info = res.data;  
+            })
+        }
     }
 }
 </script>
diff --git a/src/views/operate/management/index.vue b/src/views/operate/management/index.vue
new file mode 100644
index 0000000..e3bc8ac
--- /dev/null
+++ b/src/views/operate/management/index.vue
@@ -0,0 +1,3 @@
+<template>
+    <router-view></router-view>
+</template>
\ No newline at end of file
diff --git a/src/views/operate/management/myIndex/index.vue b/src/views/operate/management/myIndex/index.vue
new file mode 100644
index 0000000..15dc7d5
--- /dev/null
+++ b/src/views/operate/management/myIndex/index.vue
@@ -0,0 +1,464 @@
+<template>
+    <div class="userList">
+        <header>
+            <div class="problem">
+                <el-radio-group v-model="radio">
+                    <el-radio :label="1">杩濊</el-radio>
+                    <el-radio :label="2">杩濆缓</el-radio>
+                </el-radio-group>
+            </div>
+        </header>
+        <main>
+            <div class="mainContent">
+                <!-- 鏁版嵁灞曠ず -->
+                <el-table ref="multipleTable"
+                    :header-cell-style="{background:'#06122c','font-size':'12px',color:'#4b9bb7','font-weight':'650','line-height':'45px'}"
+                    :data="tableData" style="width: 100%" :row-class-name="tableRowClassName"
+                    @selection-change="tableChange">
+                    <el-table-column type="selection" min-width="5">
+                    </el-table-column>
+                    <el-table-column prop="name" label="瑙掕壊鍚嶇О" min-width="10">
+                    </el-table-column>
+                    <el-table-column prop="sort" label="瑙掕壊绫诲瀷" min-width="10">
+                    </el-table-column>
+                    <el-table-column prop="adminCount" label="榛樿瑙掕壊" min-width="10">
+                    </el-table-column>
+                    <el-table-column prop="description" label="澶囨敞" min-width="10">
+                    </el-table-column>
+                    <el-table-column prop="status" label="鍚敤" min-width="5">
+                        <template slot-scope="scope">
+                            <el-switch class="switchStyle" v-model="scope.row.status" active-text="寮�" inactive-text="鍏�"
+                                active-color="#3fef9a" inactive-color="#000212" @change="handleChangeStatus(scope.row)">
+                            </el-switch>
+                        </template>
+                    </el-table-column>
+                    <el-table-column prop="operation" label="鎿嶄綔" min-width="15">
+                        <template slot-scope="scope">
+                            <div class="operation">
+                                <span>鏌ョ湅</span>
+                                <span class="line">|</span>
+                                <span>缁撴</span>
+                            </div>
+                        </template>
+                    </el-table-column>
+                </el-table>
+                <!-- tools -->
+                <div class="tools">
+                    <div class="funs">
+                        <div class="funsItem">
+                            <el-checkbox v-model="all" @change="selectAll()">鍏ㄩ��</el-checkbox>
+                        </div>
+                        <div class="funsItem">
+                            <el-checkbox v-model="unsame" @change="disSame(tableData)">鍙嶉��</el-checkbox>
+                        </div>
+                        <div class="funsItem">
+                            <el-select v-model="myIdx" placeholder="鎵归噺鎿嶄綔" @change="selectChange">
+                                <el-option v-for="item in options" :key="item.value" :label="item.label"
+                                    :value="item.value" :disabled="item.disabled">
+                                </el-option>
+                            </el-select>
+                        </div>
+                    </div>
+                    <div class="pagination">
+                        <el-pagination background :current-page="currentPage" layout="prev, pager, next"
+                            :total="totalNum" :page-size="pageSize" @current-change="changeCurrentPage"
+                            @prev-click="handlePrev" @next-click="handleNext">
+                        </el-pagination>
+                    </div>
+                </div>
+            </div>
+        </main>
+    </div>
+</template>
+<script>
+import helper from "@/utils/mydate.js"
+export default {
+    data() {
+        return {
+            tableData: [],
+            dialogCreate: false,
+            totalNum: null,
+            pageSize: 10,
+            currentPage: 1,
+            all: false,
+            unsame: false,
+            myIdx: 0,
+            preMyIdx: 0,
+            options: [
+                {
+                    value: 0,
+                    label: '鎵归噺鎿嶄綔',
+                    disabled: true,
+                },
+                {
+                    value: 1,
+                    label: '鎵归噺鍚敤',
+                },
+                {
+                    value: 2,
+                    label: '鎵归噺绂佺敤',
+                },
+                {
+                    value: 3,
+                    label: '鎵归噺鍒犻櫎',
+                }
+            ],
+            tempList: [],
+            radio:1,
+        }
+    },
+    created() {
+        this.getUserList();
+    },
+    methods: {
+        selectChange(list) {
+            console.log(this.tempList);
+            if (this.tempList.length !== 0) {
+                if (list === 3) {
+                    this.preMyIdx = list;
+                    this.handleDelete(this.tempList);
+                }
+            } else {
+                this.myIdx = this.preMyIdx;
+                this.$message({
+                    type: 'warning',
+                    message: '鎮ㄨ繕娌¢�変腑浠讳綍鏁版嵁',
+                })
+            }
+        },
+        tableChange(list) {
+            this.tempList = [];
+            list.forEach(item => {
+                this.tempList.push(item.id);
+            })
+            if (list.length === this.tableData.length) {
+                this.all = true;
+            } else {
+                this.all = false
+            }
+        },
+        changeTime({ createTime }) {
+            return helper(createTime);
+        },
+        selectAll() {
+            this.$refs.multipleTable.toggleAllSelection();
+        },
+        disSame(list) {
+            list.forEach(row => {
+                this.$refs.multipleTable.toggleRowSelection(row)
+            })
+        },
+        handleDelete(id) {
+            const that = this;
+            // let arr = [];
+            // arr.push(id);
+            this.$confirm('纭鍒犻櫎锛�')
+                .then(_ => {
+                    that.$axios({
+                        method: 'post',
+                        url: 'sccg/role/delete?ids=' + id,
+                    })
+                        .then(res => {
+                            this.myIdx = 0;
+                            this.preMyIdx = 0;
+                            console.log(res);
+                            this.$message({
+                                type: 'success',
+                                message: res.message
+                            })
+
+                            this.getUserList();
+                        })
+                })
+                .catch(_ => { });
+        },
+        // 淇敼瑙掕壊
+        handleChangeRole(obj) {
+            this.dialogUpdate = true
+            this.user = obj;
+            // console.log(obj)
+        },
+        // 淇敼鐢ㄦ埛鐘舵��
+        handleChangeStatus(obj) {
+            let { id, status } = obj;
+            status == true ? status = 1 : status = 0;
+            console.log(id, status);
+            this.$axios.post(`/sccg/role/updateStatus/` + id + '?status=' + status).then(res => {
+                console.log(res);
+            })
+        },
+        // 鑾峰彇鐢ㄦ埛鍒楄〃
+        getUserList() {
+            const that = this;
+            this.dialogCreate = false;
+            // 鑾峰彇鎵�鏈夌敤鎴蜂俊鎭�
+            this.$axios.get('sccg/role/listAll').then(res => {
+                this.totalNum = res.data.length;
+                this.search();
+            })
+        },
+        search() {
+            const that = this;
+            const { currentPage, pageSize, context } = this;
+            this.dialogCreate = false;
+            // 鑾峰彇鎵�鏈夌敤鎴蜂俊鎭�
+            if (context == '') {
+                this.$axios.get('sccg/role/list?keyword=' + '&pageNum=' + currentPage + '&pageSize=' + pageSize).then(res => {
+                    if (res.code === 200) {
+                        console.log(res);
+                        res.data.list.forEach(item => {
+                            // item.createTime = helper(item.createTime);
+                            item.status == 1 ? item.status = true : item.status = false;
+                        })
+                        that.tableData = res.data.list;
+                        this.totalNum = res.data.list.length;
+                    }
+                })
+            } else {
+                this.$axios({
+                    method: 'get',
+                    url: 'sccg/role/list?keyword=' + context + '&pageNum=' + currentPage + '&pageSize=' + pageSize,
+                }).then(res => {
+                    if (res.code === 200) {
+                        res.data.list.forEach(item => {
+                            item.status == 1 ? item.status = true : item.status = false;
+                        })
+                        that.tableData = res.data.list
+                        this.totalNum = res.data.list.length;
+                    }
+                })
+            }
+        },
+        // 璁剧疆琛ㄦ牸鏂戦┈绾�
+        tableRowClassName({ row, rowIndex }) {
+            if ((rowIndex + 1) % 2 == 0) {
+                return 'warning-row';
+            } else {
+                return 'success-row';
+            }
+            return '';
+        },
+        // 鏌ョ湅鐢ㄦ埛淇℃伅(涓嶅彲淇敼)
+        handleFind(rowData) {
+            this.dialogUpdate = true;
+            this.updateFlag = false;
+            this.userInfo = rowData;
+        },
+        // 淇敼鐢ㄦ埛閮ㄩ棬淇℃伅
+        handleUpdate(rowData) {
+            this.dialogUpdate = true;
+            this.updateFlag = true;
+            this.userInfo = rowData
+        },
+        // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠�
+        changeCurrentPage(page) {
+            this.currentPage = page;
+            this.search();
+        },
+        // 涓婁竴椤电偣鍑讳簨浠�
+        handlePrev(page) {
+            this.currentPage = page;
+            this.search();
+        },
+        // 涓嬩竴椤电偣鍑讳簨浠�
+        handleNext(page) {
+            this.currentPage = page;
+            this.search();
+        },
+        changeDialog(val) {
+            this.dialogUpdate = val.dialogUpdate;
+            this.$message({
+                type: 'success',
+                message: '鏇存敼鎴愬姛',
+            })
+        },
+        handleClose(done) {
+            this.$confirm('纭鍏抽棴锛�')
+                .then(_ => {
+                    this.dialogUpdate = false;
+                    this.dialogCreate = false;
+                    done();
+                })
+                .catch(_ => { });
+        }
+    }
+}
+</script>
+<style lang="scss" scoped>
+.userList {
+    text-align: left;
+    margin: 10px 20px;
+    color: #4b9bb7;
+
+    header {
+        background-color: #09152f;
+        border: 1pox solid #fff;
+    }
+
+    main {
+        background-color: #09152f;
+        margin-top: 20px;
+        padding-bottom: 50px;
+        border: 1pox solid #fff;
+
+        .mainTitle {
+            line-height: 60px;
+        }
+
+        .tools {
+            display: flex;
+            justify-content: space-between;
+            align-items: center;
+            padding: 0 20px;
+
+            .funs {
+                display: flex;
+
+                .funsItem {
+                    line-height: 28px;
+                    display: flex;
+                    align-items: center;
+                    border: 1px solid #17324c;
+                    border-radius: 4px;
+                    font-size: 12px;
+                    margin-left: 10px;
+
+                    .el-checkbox {
+                        width: 80px;
+                        padding: 0 10px;
+                    }
+
+                    .el-select {
+                        width: 120px;
+                    }
+
+                    &::v-deep .el-input__inner {
+                        border: none;
+                        background-color: #09152f;
+                    }
+
+                    &:hover {
+                        border: 1px solid #4b9bb7;
+                    }
+
+                    &:hover .el-checkbox {
+                        color: #4b9bb7;
+                    }
+                }
+
+            }
+
+            .pagination {
+                margin-top: 50px;
+                display: flex;
+                line-height: 50px;
+                justify-content: center;
+
+                .el-pagination {
+
+                    &::v-deep li,
+                    &::v-deep .btn-prev,
+                    &::v-deep .btn-next {
+                        background-color: #071f39;
+                        color: #4b9bb7;
+                    }
+
+                    &::v-deep .active {
+                        background-color: #409eff;
+                        color: #fff;
+                    }
+                }
+            }
+        }
+
+        .el-table {
+            color: #4b9bb7;
+            font-size: 10px;
+
+            &::v-deep .el-table__empty-block {
+                background-color: #09152f;
+            }
+
+            &::v-deep .el-table__empty-block {
+                color: #4b9bb7;
+            }
+
+            .operation {
+                display: flex;
+
+                .line {
+                    padding: 0 5px;
+                }
+
+                span:hover {
+                    cursor: pointer;
+                }
+            }
+        }
+
+        .el-table::v-deep .warning-row {
+            background: #06122c;
+        }
+
+        .el-table::v-deep .success-row {
+            background: #071f39;
+        }
+
+        &::v-deep .switchStyle .el-switch__label {
+            position: absolute;
+            display: none;
+            color: #fff;
+        }
+
+        &::v-deep .el-switch__core {
+            background-color: rgba(166, 166, 166, 1);
+        }
+
+        &::v-deep .switchStyle .el-switch__label--left {
+            z-index: 9;
+            left: 20px;
+        }
+
+        &::v-deep .switchStyle .el-switch__label--right {
+            z-index: 9;
+            left: 4px;
+        }
+
+        &::v-deep .switchStyle .el-switch__label.is-active {
+            display: block;
+        }
+
+        &::v-deep .switchStyle.el-switch .el-switch__core,
+        &::v-deep .el-switch .el-switch__label {
+            width: 50px !important;
+        }
+    }
+
+    &::v-deep .el-dialog__header,
+    &::v-deep .el-dialog__body {
+        background-color: #06122c;
+    }
+
+    &::v-deep .el-dialog__header {
+        display: flex;
+        align-items: center;
+        background-color: #fff;
+        padding: 20px;
+        line-height: 60px;
+    }
+
+    &::v-deep .el-dialog__title {
+        color: #4b9bb7;
+    }
+
+    &::v-deep .el-dialog__close {
+        width: 20px;
+        height: 20px;
+        // color: #fff;
+    }
+
+    &::v-deep .el-dialog__body {
+        padding: 0;
+    }
+}
+</style>
\ No newline at end of file
diff --git a/src/views/operate/management/mydetail/index.vue b/src/views/operate/management/mydetail/index.vue
new file mode 100644
index 0000000..d21e829
--- /dev/null
+++ b/src/views/operate/management/mydetail/index.vue
@@ -0,0 +1,5 @@
+<template>
+    <div>
+        璇︽儏椤�
+    </div>
+</template>
\ No newline at end of file
diff --git a/src/views/operate/management/mysovle/index.vue b/src/views/operate/management/mysovle/index.vue
new file mode 100644
index 0000000..95edd3e
--- /dev/null
+++ b/src/views/operate/management/mysovle/index.vue
@@ -0,0 +1,5 @@
+<template>
+    <div>
+        缁撴
+    </div>
+</template>
\ No newline at end of file
diff --git a/src/views/systemSetting/baseSetting/user/components/main/index.vue b/src/views/systemSetting/baseSetting/user/components/main/index.vue
index 97ba372..3fd30ce 100644
--- a/src/views/systemSetting/baseSetting/user/components/main/index.vue
+++ b/src/views/systemSetting/baseSetting/user/components/main/index.vue
@@ -55,7 +55,8 @@
                 :title="updateFlag ? flag.role ? '淇敼鐢ㄦ埛瑙掕壊淇℃伅' : flag.depart ? '淇敼鐢ㄦ埛閮ㄩ棬淇℃伅': '淇敼鐢ㄦ埛瀵嗙爜' :'鏌ョ湅鐢ㄦ埛淇℃伅'"
                 :before-close="handleClose">
                 <updateUser :updateFlag="updateFlag" :userInfo=userInfo :flag=flag @closeDialog="closeDialog"
-                    :getUserList="getUserList" />
+                    :getUserList="getUserList" v-if="!flag.password" />
+                <MyPwd v-else :userInfo=userInfo @closeDialog="closeDialog"></MyPwd>
             </el-dialog>
             <!-- tools -->
             <div class="tools">
@@ -87,9 +88,10 @@
 <script>
 import helper from '@/utils/mydate'
 import updateUser from '../updateUser';
+import MyPwd from '../password'
 export default {
     components: {
-        updateUser
+        updateUser,MyPwd
     },
     data() {
         return {
diff --git a/src/views/systemSetting/baseSetting/user/components/password/index.vue b/src/views/systemSetting/baseSetting/user/components/password/index.vue
new file mode 100644
index 0000000..1cb81c1
--- /dev/null
+++ b/src/views/systemSetting/baseSetting/user/components/password/index.vue
@@ -0,0 +1,144 @@
+<template>
+    <div class="password">
+        <el-form ref="pwd" label-width="140px" autoComplete="on" :model="user" :rules="passrules">
+            <!-- 鍒濆瀵嗙爜 -->
+            <el-form-item class="optionItem" label="鍒濆瀵嗙爜:" prop="password">
+                <el-input v-model="user.password" type="password" placeholder="璇峰~鍐欏垵濮嬪瘑鐮�"></el-input>
+            </el-form-item>
+            <!-- 鏂板瘑鐮� -->
+            <el-form-item class="optionItem" label="鏂板瘑鐮�:" prop="newPwd">
+                <el-input v-model="user.newPwd" type="password" placeholder="璇峰~鍐欐柊瀵嗙爜"></el-input>
+            </el-form-item>
+            <!-- 鏂板瘑鐮� -->
+            <el-form-item class="optionItem" label="纭鏂板瘑鐮�:" prop="secondPwd">
+                <el-input v-model="user.secondPwd" type="password" placeholder="纭鎮ㄧ殑鏂板瘑鐮�"></el-input>
+            </el-form-item>
+
+        </el-form>
+        <div class="pwd-footer">
+            <el-button @click="resetForm">鍙栨秷</el-button>
+            <el-button type="primary" @click="handleSubmit">鎻愪氦</el-button>
+        </div>
+    </div>
+</template>
+<script>
+export default {
+    data() {
+        const checkPwd = (rule, value, callback) => {
+            if (!value) {
+                callback(new Error('鍒濆瀵嗙爜涓嶈兘涓虹┖'))
+            } else {
+                callback();
+            }
+        }
+        const checkNewPwd = (rule, value, callback) => {
+            if (!value) {
+                callback(new Error('鏂板瘑鐮佷笉鑳戒负绌�'))
+            }else if(value === this.user.password){
+                callback(new Error('鏂板瘑鐮佷笉鑳藉拰鏃у瘑鐮佷竴鏍�'))
+            } else {
+                callback();
+            }
+        }
+        const checkSame = (rule, value, callback) => {
+            if (!value) {
+                callback(new Error('纭瀵嗙爜涓嶈兘涓虹┖'))
+            } else if (value !== this.user.newPwd) {
+                console.log(111);
+                callback(new Error('鎮ㄨ緭鍏ョ殑涓ゆ瀵嗙爜缁撴灉涓嶅悓'));
+            } else {
+
+                callback();
+            }
+        }
+        return {
+            user: {
+                password: '',
+                secondPwd: '',
+                newPwd: '',
+            },
+            passrules: {
+                password: [
+                    {
+                        required: true,
+                        trigger: 'blur',
+                        validator: checkPwd
+                    },
+                ],
+                secondPwd: [
+                    {
+                        required: true,
+                        trigger: 'blur',
+                        validator: checkSame
+                    }
+                ],
+                newPwd: [
+                    {
+                        required: true,
+                        trigger: 'blur',
+                        validator: checkNewPwd
+                    }
+                ]
+            }
+        }
+    },
+    props: ['userInfo', 'closeDialog'],
+    created() {
+
+    },
+    methods: {
+        // 鎻愪氦
+        handleSubmit() {
+            const { userInfo,user } = this;
+            this.$refs.pwd.validate((valid) => {
+                if (valid) {
+                    this.$axios({
+                        method:'post',
+                        url:'sccg/admin/updatePassword',
+                        data:{
+                            newPassword:user.newPwd,
+                            oldPassword:user.password,
+                            username:userInfo.username
+                        }
+                    })
+                    .then(res=>{
+                        if(res.code === 200){
+                            this.$emit('closeDialog',{flag:false});
+                            this.$message({
+                                type:'success',
+                                message:'瀵嗙爜淇敼鎴愬姛'
+                            })
+                        }else{
+                            this.$message({
+                                type:'warning',
+                                message:res.message
+                            })
+                        }
+                    })
+                } else {
+                    return false;
+                }
+            })
+        },
+        // 娓呯┖琛ㄥ崟
+        resetForm() {
+
+        }
+    }
+}
+</script>
+<style lang="scss" scoped>
+.password {
+    padding: 50px 100px;
+
+    ::v-deep .el-input__inner {
+        background-color: #09152f;
+        border: 1px solid #17324c;
+    }
+
+    .pwd-footer {
+        display: flex;
+        justify-content: center;
+    }
+}
+</style>
\ No newline at end of file
diff --git a/src/views/systemSetting/baseSetting/user/components/updateUser/index.vue b/src/views/systemSetting/baseSetting/user/components/updateUser/index.vue
index 63a2494..26bdb87 100644
--- a/src/views/systemSetting/baseSetting/user/components/updateUser/index.vue
+++ b/src/views/systemSetting/baseSetting/user/components/updateUser/index.vue
@@ -11,7 +11,7 @@
                     <!-- 鐢ㄦ埛瀵嗙爜 -->
                     <el-form-item class="optionItems" label="鐢ㄦ埛瀵嗙爜:" prop="password">
                         <el-input v-model="user.password" type="password" placeholder="璇疯緭鍏ョ敤鎴峰瘑鐮�"
-                            :disabled="!flag.password">
+                            disabled>
                         </el-input>
                     </el-form-item>
                     <!-- 鎵�灞炵敤鎴峰鍚� -->

--
Gitblit v1.8.0