From 676722551d0bc2f8caa0644961e60deef3f0d532 Mon Sep 17 00:00:00 2001
From: “dzb” <2632970487@qq.com>
Date: 星期一, 10 十月 2022 18:08:27 +0800
Subject: [PATCH] 修改遗留问题,新增店铺管理删除、编辑,新增车辆管理模块

---
 src/views/operate/car/lawCar/index.vue                                              |    3 
 src/views/operate/car/myIndex/updateUser/index.vue                                  |  234 +++
 src/views/layout/components/Menu/index.vue                                          |   25 
 src/utils/helper.js                                                                 |    2 
 src/views/operate/disposal/casepool/pool/index.vue                                  |   19 
 src/components/illdetail/index.vue                                                  |  171 +-
 src/views/operate/baseSetting/illegalBuild/createUser/index.vue                     |   93 +
 src/views/operate/disposal/casepool/learn/index.vue                                 |   14 
 src/views/systemSetting/baseSetting/department/index.vue                            |   11 
 src/views/operate/disposal/casepool/notDeal/index.vue                               |   14 
 src/views/operate/car/myIndex/updateUser/uploadResult/components/arrive/index.vue   |  185 +++
 src/views/operate/fivepack/shop/components/header/index.vue                         |   29 
 src/views/operate/fivepack/shop/components/main/index.vue                           |  105 +
 src/components/process/index.vue                                                    |   42 
 src/views/operate/disposal/casepool/pool/createUser/vio/index.vue                   |   71 
 src/views/operate/car/myIndex/updateUser/uploadResult/ill/index.vue                 |   48 
 src/components/dispatch/index.vue                                                   |  191 ++-
 src/router/index.js                                                                 |   18 
 src/utils/validate.js                                                               |   14 
 src/views/operate/car/myIndex/createUser/index.vue                                  |  172 ++
 src/views/operate/car/myIndex/updateUser/uploadResult/components/book/index.vue     |   96 +
 src/views/operate/disposal/casepool/dispatch/index.vue                              |   25 
 src/views/operate/car/soilCar/index.vue                                             |    3 
 src/views/operate/car/myIndex/index.vue                                             |  550 +++++++++
 src/views/operate/baseSetting/violation/createUser/index.vue                        |  243 ++-
 src/views/operate/fivepack/shop/components/updateUser/index.vue                     |  402 ++----
 src/views/operate/management/myIndex/index.vue                                      |   73 
 src/views/operate/car/myIndex/updateUser/uploadResult/components/evidence/index.vue |  627 ++++++++++
 src/components/solveProblem/index.vue                                               |   18 
 src/views/operate/car/myIndex/updateUser/uploadResult/vio/index.vue                 |  123 ++
 30 files changed, 2,890 insertions(+), 731 deletions(-)

diff --git a/src/components/dispatch/index.vue b/src/components/dispatch/index.vue
index 73c86db..66d3df2 100644
--- a/src/components/dispatch/index.vue
+++ b/src/components/dispatch/index.vue
@@ -23,25 +23,26 @@
             <div class="form-person">
                 <!-- 閮ㄩ棬 -->
                 <el-form-item label="閫夋嫨浜哄憳:" prop="dispatchOpinion">
-                    <el-select v-model="dispatch.dispatchOpinion" placeholder="璇烽�夋嫨閮ㄩ棬">
-                        <el-option v-for="item in departOptions" :key="item.value" :label="item.label"
-                            :value="item.value">
+                    <el-select v-model="dispatch.dispatchOpinion" placeholder="璇烽�夋嫨閮ㄩ棬" @change="handleTopChange">
+                        <el-option v-for="item in departOptions" :key="item.id" :label="item.departName"
+                            :value="item.id">
                         </el-option>
                     </el-select>
                 </el-form-item>
                 <!-- 涓槦 -->
                 <el-form-item prop="enforcementTeam" class="person-item">
-                    <el-select v-model="dispatch.enforcementTeam" placeholder="閫夋嫨涓槦">
-                        <el-option v-for="item in squadronOptions" :key="item.value" :label="item.label"
-                            :value="item.value">
+                    <el-select v-model="dispatch.enforcementTeam" placeholder="閫夋嫨涓槦"
+                        :disabled="squadronOptions.length!==0?false:true" @change="handleMidChange">
+                        <el-option v-for="item in squadronOptions" :key="item.id" :label="item.departName"
+                            :value="item.id">
                         </el-option>
                     </el-select>
                 </el-form-item>
                 <el-form-item prop='lawEnforcer' class="person-item">
                     <!-- 浜哄憳 -->
-                    <el-select v-model="dispatch.lawEnforcer" placeholder="璇烽�夋嫨浜哄憳">
-                        <el-option v-for="item in personOptions" :key="item.value" :label="item.label"
-                            :value="item.value">
+                    <el-select v-model="dispatch.lawEnforcer" placeholder="璇烽�夋嫨浜哄憳"
+                        :disabled="personOptions.length !== 0 ? false:true" @change="handlePerChange">
+                        <el-option v-for="item in personOptions" :key="item.id" :label="item.username" :value="item.id">
                         </el-option>
                     </el-select>
                 </el-form-item>
@@ -59,7 +60,7 @@
             </div>
         </el-form>
         <div class="map">
-            <MyMap></MyMap>
+            <!-- <MyMap></MyMap> -->
         </div>
         <div class="footer">
             <el-button type="primary" @click="handleDispatch">纭畾</el-button>
@@ -73,9 +74,11 @@
     components: {
         MyMap
     },
-    props: ['id','changeDialog','refresh'],
+    props: ['id', 'changeDialog', 'refresh', 'mytype'],
     created() {
-        console.log(this.id);
+        // 鍒ゆ柇杞﹁締绫诲瀷
+        this.mytype === 1 ? this.getLawCarList() : this.getSoilCarList();
+        this.getDepartList();
     },
     data() {
         const checkPhone = (rule, value, callback) => {
@@ -102,13 +105,6 @@
                 callback();
             } else {
                 callback(new Error('璺濈涓嶈兘涓虹┖'))
-            }
-        }
-        const checkCar = (rule, value, callback) => {
-            if (value) {
-                callback();
-            } else {
-                callback(new Error('鎵ф硶杞﹁締涓嶈兘涓虹┖'))
             }
         }
         const checkTeam = (rule, value, callback) => {
@@ -156,12 +152,9 @@
                 distance: [
                     { required: true, trigger: 'change', validator: checkDistance }
                 ],
-                enforcementCar: [
-                    { required: true, trigger: 'change', validator: checkCar }
-                ],
-                enforcementTeam: [
-                    { required: true, trigger: 'change', validator: checkTeam }
-                ],
+                // enforcementTeam: [
+                //     { required: true, trigger: 'change', validator: checkTeam }
+                // ],
                 lawEnforcer: [
                     { required: true, trigger: 'change', validator: checkPerson }
                 ],
@@ -180,14 +173,6 @@
                 },
             ],
             departOptions: [
-                {
-                    label: '閮ㄩ棬涓�',
-                    value: 1,
-                },
-                {
-                    label: '閮ㄩ棬浜�',
-                    value: 2,
-                },
             ],
             carOptions: [
                 {
@@ -200,24 +185,9 @@
                 },
             ],
             squadronOptions: [
-                {
-                    label: '涓槦涓�',
-                    value: 1,
-                },
-                {
-                    label: '涓槦浜�',
-                    value: 2,
-                },
             ],
             personOptions: [
-                {
-                    label: '浜哄憳涓�',
-                    value: 1,
-                },
-                {
-                    label: '浜哄憳浜�',
-                    value: 2,
-                },
+
             ],
         }
     },
@@ -228,32 +198,119 @@
             this.$refs.form.validate((valid) => {
                 console.log(valid);
                 if (valid) {
-                    const {dispatch,id} = this;
+                    const { dispatch, id } = this;
                     dispatch.disposeDate = new Date();
                     console.log(id);
                     dispatch.baseCaseId = id;
                     console.log(dispatch);
                     this.$axios({
-                        method:'post',
-                        url:`sccg/dispatch_handle/dispatch`,
-                        data:dispatch
+                        method: 'post',
+                        url: `sccg/dispatch_handle/dispatch`,
+                        data: dispatch
                     })
-                    .then(res=>{
-                        this.$message({
-                            type: res.code === 200 ? 'success':'error',
-                            message: res.code === 200 ? '璋冨害鎴愬姛':res.message,
+                        .then(res => {
+                            this.$message({
+                                type: res.code === 200 ? 'success' : 'error',
+                                message: res.code === 200 ? '璋冨害鎴愬姛' : res.message,
+                            })
+                            this.$emit('changeDialog', { flag: false });
+                            this.refresh();
                         })
-                        this.$emit('changeDialog',{flag:false});
-                        this.refresh();
-                    })
                 } else {
                     return false;
                 }
             })
         },
         // 鍙栨秷璋冨害
-        handleBack(){
-            this.$emit('changeDialog',{flag:false})
+        handleBack() {
+            this.$emit('changeDialog', { flag: false })
+        },
+        // 鑾峰彇鎵ф硶杞﹁締
+        getLawCarList() {
+            this.$axios({
+                method: 'get',
+                url: `sccg/car_Manage/query_enforce?current=1&size=1000`
+            })
+                .then(res => {
+                    this.carOptions = res.data.orders;
+                    console.log(res);
+                })
+        },
+        // 鑾峰彇娓e湡杞﹁締
+        getSoilCarList() {
+            this.$axios({
+                method: 'get',
+                url: `sccg/car_Manage/query_slag?current=1&size=1000`
+            })
+                .then(res => {
+                    this.carOptions = res.data.orders;
+                    console.log(res);
+                })
+        },
+        // 鑾峰彇椤剁骇閮ㄩ棬
+        getDepartList() {
+            this.$axios({
+                method: 'get',
+                url: `sccg/depart/query_father`,
+            })
+                .then(res => {
+                    this.departOptions = res.data;
+                })
+        },
+        // 鑾峰彇涓槦
+        async getTeamList(id) {
+            await this.$axios({
+                method: 'get',
+                url: `sccg/depart/query_father_children?fatherId=${id}`
+            })
+                .then(res => {
+                    this.squadronOptions = res.data;
+                })
+                .catch(err => {
+                    console.log(err);
+                })
+        },
+        // 鑾峰彇閮ㄩ棬涓嬬殑鐢ㄦ埛
+        async getDepartUserList(id) {
+            await this.$axios({
+                method: 'get',
+                url: `sccg/admin/getDepartUser/${id}`,
+            })
+                .then(res => {
+                    this.personOptions = res.data;
+                })
+                .catch(err => {
+                    this.$message({
+                    type: 'error',
+                    message: '璇ラ儴闂ㄤ汉鍛樹笉瓒筹紝璇锋崲涓儴闂�'
+                })
+                })
+        },
+        // 閮ㄩ棬鏇存敼
+        async handleTopChange(id) {
+            this.dispatch.lawEnforcer = '';
+            this.dispatch.enforcementTeam = '';
+            await this.getTeamList(id);
+            await this.getDepartUserList(id);
+        },
+        // 涓槦鏇存敼
+        async handleMidChange(id) {
+            this.dispatch.lawEnforcer = '';
+            await this.getDepartUserList(id);
+        },
+        // 浜哄憳鏇存敼
+        async handlePerChange(id){
+            await this.getLawUser(id);
+        },
+        // 鑾峰彇鎵ф硶浜哄憳淇℃伅
+        async getLawUser(id){
+            await this.$axios({
+                method:'get',
+                url:`sccg/admin/${id}`
+            })
+            .then(res=>{
+                console.log(res);
+            })
         }
     }
 }
@@ -261,12 +318,15 @@
 <style lang="scss" scoped>
 .dispatch {
     padding: 50px 20px 10px;
-    .form-person{
+
+    .form-person {
         display: flex;
-        .person-item{
+
+        .person-item {
             margin-left: -100px;
         }
     }
+
     .form-footer {
         display: flex;
         align-items: center;
@@ -282,7 +342,8 @@
         height: 388px;
         width: 100%;
     }
-    .footer{
+
+    .footer {
         display: flex;
         justify-content: flex-end;
         padding: 10px 20px;
diff --git a/src/components/illdetail/index.vue b/src/components/illdetail/index.vue
index 1de98cc..7606cf6 100644
--- a/src/components/illdetail/index.vue
+++ b/src/components/illdetail/index.vue
@@ -1,112 +1,71 @@
 <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">
+            <el-form :model="baseCase" label-position="right" ref="viewForm" label-width="160px">
                 <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>
+                    <el-form-item label="闂绫诲瀷:">
+                        <span class="data-detail">杩濆缓</span>
+                    </el-form-item>
+                    <el-form-item label="杩濆缓绫诲埆:">
+                        <span class="data-detail">xxxxxx</span>
+                    </el-form-item>
                 </div>
                 <div class="data-item">
-                    <div class="data-item__left">
-                        <label class="data-title">
-                            韬唤璇佸彿:
-                        </label>
-                        <span class="data-detail">123456789987654321</span>
-                    </div>
+                    <el-form-item label="褰撲簨浜哄鍚�:">
+                        <span class="data-detail">xxxxxx</span>
+                    </el-form-item>
                 </div>
-            </div>
+                <div class="data-item">
+                    <el-form-item label="褰撲簨浜鸿韩浠借瘉鍙�:">
+                        <span class="data-detail">xxxxxx</span>
+                    </el-form-item>
+                </div>
+                <div class="data-item">
+                    <el-form-item label="褰撲簨浜鸿仈绯荤數璇�:">
+                        <span class="data-detail">xxxx</span>
+                    </el-form-item>
+                </div>
+                <div class="data-item">
+                    <el-form-item label="杩濆缓鍦扮偣:">
+                        <span class="data-detail">xxxx</span>
+                    </el-form-item>
+                    <el-form-item label="鎵�灞炵ぞ鍖�:">
+                        <span class="data-detail">xxxxx</span>
+                    </el-form-item>
+                </div>
+                <div class="data-item">
+                    <el-form-item label="韬唤璇佹鍙嶉潰鐓х墖:">
+                        <img src="" alt="">
+                    </el-form-item>
+                    <el-form-item>
+                        <img src="" alt="">
+                    </el-form-item>
+                </div>
+                <div class="data-item">
+                    <el-form-item label="鎵ф硶杩濆缓鎯呭喌">
+                    </el-form-item>
+                </div>
+                <div class="data-item">
+                    <el-form-item label="杩濆缓鍏蜂綋浣嶇疆:">
+                        <span class="data-detail">xxxxxxx</span>
+                    </el-form-item>
+                </div>
+                <div class="data-item">
+                    <el-form-item label="杩濇硶寤鸿闀裤�佸銆侀珮:">
+                        <span class="data-detail">xxxxxxx    xxxxx   xxxxxx</span>
+                    </el-form-item>
+                </div>
+                <div class="data-item">
+                    <el-form-item label="杩濇硶寤鸿闈㈢Н:">
+                        <span class="data-detail">xxxxxxx</span>
+                    </el-form-item>
+                </div>
+                <div class="data-item">
+                    <el-form-item label="杩濇硶寤虹瓚鏉愭枡:">
+                        <span class="data-detail">xxxxxxx</span>
+                    </el-form-item>
+                </div>
+            </el-form>
         </div>
         <div class="view-process">
             <div class="process-header">
@@ -203,6 +162,14 @@
         }
 
         border: 1px solid #17324c;
+        :deep(.el-form-item__label) {
+            color: #4b9bb7;
+        }
+
+        :deep(.el-textarea__inner) {
+            background-color: #17324c;
+            color: #4b9bb7;
+        }
     }
 
     .view-process {
diff --git a/src/components/process/index.vue b/src/components/process/index.vue
index 8db0ab4..ef53b8b 100644
--- a/src/components/process/index.vue
+++ b/src/components/process/index.vue
@@ -4,33 +4,33 @@
             <div class="pro-step" v-for="(item,index) in list" :key="item.name">
                 <div class="pro-step-top">
                     <div
-                        :class="['circle',active === index+1 ? 'in-process' : active > index ? 'finish' : 'wait' ]">
+                        :class="['circle',active === index ? 'in-process__circle' : active > index ? 'finish' : 'wait' ]">
                     </div>
-                    <div :class="['line',active > index ? 'finish-line' :'']"
+                    <div :class="['line',active> index ? 'finish-line' :'']"
                         v-if="index<list.length-1 ? true:false"></div>
                 </div>
                 <div
-                    :class="['pro-step-name',active === index+1 ? 'in-process' : active > index ? 'finish' : 'wait' ]">
+                    :class="['pro-step-name',active === index ? 'in-process' : active > index ? 'finish-name' : 'wait' ]">
                     {{item.name}}</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 === index+1 ? 'in-process' : active > index ? 'finish' : 'wait' ]">
+                    :class="['pro-step-name',active === index ? 'in-process' : active > index ? 'finish-name' : 'wait' ]">
                     {{item.name}}</div>
                 <div class="pro-step-top">
                     <div
-                        :class="['circle',active === index+1 ? 'in-process' : active > index ? 'finish' : 'wait' ]">
+                        :class="['circle',active === index ? 'in-process__circle' : active > index ? 'finish' : 'wait' ]">
                     </div>
                     <div :class="['line',active > index ? 'finish-line' :'']"
                         v-if="index<list.length-1 ? true:false"></div>
                 </div>
-                <div class="desc">
-                    <div class="desc-title">鐜妭鐢ㄦ椂:{{item.disposeRecords[0].linkTime}}</div>
+                <div :class="['desc',active === index ? 'in-process' : active > index ? 'finish-name' : 'wait' ]"> 
+                    <div class="desc-title">鐜妭鐢ㄦ椂:{{item.disposeRecords.length !==0 ? item.disposeRecords[0].linkTime : ''}}</div>
                     <div class="desc-content" v-if="active > index">
                         <div class="desc-content-message">1111111</div>
-                        <div class="desc-content-endtime">{{item.disposeRecords[0].endTime}}</div>
+                        <div class="desc-content-endtime">{{item.disposeRecords.length !==0 ? item.disposeRecords[0].endTime:''}}</div>
                     </div>
                 </div>
             </div>
@@ -67,7 +67,7 @@
                     title: '缁撴',
                     status: 'process',
                 }
-            ]
+            ],
         }
     },
     props:['handlePassVo'],
@@ -75,14 +75,15 @@
         console.log('process');
         const {handlePassVo:{workflowConfigSteps:mylist}} = this;
         // console.log(this.handlePassVo.workflowConfigSteps[0].name); 
-        console.log(mylist);
+        // console.log(mylist);
         mylist.forEach(item=>{
-            if(item.disposeRecords[0].endTime != null){
+            if(item.disposeRecords.length!==0){
                 this.active ++;
             }
         })
+        console.log(this.active);
         this.list =  mylist;
-    }
+    },
 }
 </script>
 <style lang="scss" scoped>
@@ -136,6 +137,7 @@
             flex: 1;
             line-height: 24px;
             margin-left: 10px;
+            // color: #4b9bb7;
             .desc-content-endtime{
                 display: flex;
                 justify-content: flex-end;
@@ -148,14 +150,26 @@
         height: 24px;
         border-radius: 50%;
         background-color: #fff;
+        border: 2px solid #808080;
     }
 
     .line {
         background-color: #c0c4cc;
     }
-
+    .in-process{
+        color: #0079fe;
+    }
+    .in-process__circle{
+        border: 2px solid #0079fe;
+    }
     .finish-line {
-        background-color: #4b9bb7;
+        background-color: #0079fe;
+    }
+    .finish{
+        border: 2px solid #4b9bb7;
+    }
+    .finish-name{
+        color: #4b9bb7;
     }
 }
 </style>
\ No newline at end of file
diff --git a/src/components/solveProblem/index.vue b/src/components/solveProblem/index.vue
index 8f20c92..f9f9be8 100644
--- a/src/components/solveProblem/index.vue
+++ b/src/components/solveProblem/index.vue
@@ -8,25 +8,11 @@
             <el-timeline>
                 <el-timeline-item :color="mycolor" v-for="item in list" :key="item.id">
                     <div class="title">
-                        <div class="title-left">銆恵{item.name}}銆憑{item.name === '娲鹃仯' ? '娲鹃仯鍛�':item.name === '澶勭悊' ? '澶勭悊浜�':'璇勫畾浜�'}}:{{item.disposeRecords[0].handleId}}</div>
-                        <div class="title-right">{{item.disposeRecords[0].endTime}}</div>
+                        <div class="title-left">銆恵{item.name}}銆憑{item.name === '娲鹃仯' ? '娲鹃仯鍛�':item.name === '澶勭悊' ? '澶勭悊浜�':'璇勫畾浜�'}}:{{item.disposeRecords.length !==0 ? item.disposeRecords[0].handleId : ''}}</div>
+                        <div class="title-right">{{item.disposeRecords.length !==0 ? item.disposeRecords[0].endTime:''}}</div>
                     </div>
                     <div class="message">銆恵{item.name === '娲鹃仯' ? '娲鹃仯鎰忚':item.name === '澶勭悊' ? '澶勭悊缁撴灉':'璇勫畾缁撴灉'}}銆戣鐩稿叧鎵ф硶闃熷憳鍙婃椂鍓嶅線鐜板満杩涜澶勭疆</div>
                 </el-timeline-item> 
-                <!-- <el-timeline-item :color="mycolor">
-                    <div class="title">
-                        <div class="title-left">銆愬鐞嗐�戝鐞嗕汉:xxx</div>
-                        <div class="title-right">22.09.06 16:40</div>
-                    </div>
-                    <div class="message">銆愬鐞嗙粨鏋溿�戣鐩稿叧鎵ф硶闃熷憳鍙婃椂鍓嶅線鐜板満杩涜澶勭疆</div>
-                </el-timeline-item>
-                <el-timeline-item :color="mycolor">
-                    <div class="title">
-                        <div class="title-left">銆愯瘎瀹氥�戣瘎瀹氫汉:xxx</div>
-                        <div class="title-right">22.09.06 16:40</div>
-                    </div>
-                    <div class="message">銆愯瘎瀹氱粨鏋溿�戣鐩稿叧鎵ф硶闃熷憳鍙婃椂鍓嶅線鐜板満杩涜澶勭疆</div>
-                </el-timeline-item> -->
             </el-timeline>
         </div>
     </div>
diff --git a/src/router/index.js b/src/router/index.js
index 7bda25a..9266767 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -169,7 +169,7 @@
             path: 'management',
             name: 'management',
             component: () => import('@/views/operate/management'),
-            redirect:'/home/operate/management/myIndex',
+            redirect: '/home/operate/management/myIndex',
             children: [
               {
                 path: 'myIndex',
@@ -183,7 +183,21 @@
             name: 'car',
             component: () => import('@/views/operate/car'),
             children: [
-             
+              {
+                path: 'carIndex',
+                name: 'carIndex',
+                component: () => import('@/views/operate/car/myIndex'),
+              },
+              {
+                path:'lawTrajectory',
+                name:'lawTrajectory',
+                component: () => import('@/views/operate/car/lawCar'),
+              },
+              {
+                path:'soilTrajectory',
+                name:'soilTrajectory',
+                component: () => import('@/views/operate/car/soilCar'),
+              }
             ]
           }
         ]
diff --git a/src/utils/helper.js b/src/utils/helper.js
index 68a299d..dcb709e 100644
--- a/src/utils/helper.js
+++ b/src/utils/helper.js
@@ -16,7 +16,7 @@
     }
     return objClone;
 }
-// 璁$畻鏃堕棿
+// 璁$畻闄愬埗鏃堕棿
 function computeTime(time2) {
     const t1 = new Date();
     const t2 = new Date(time2);
diff --git a/src/utils/validate.js b/src/utils/validate.js
index c8f70ca..159c39c 100644
--- a/src/utils/validate.js
+++ b/src/utils/validate.js
@@ -10,13 +10,19 @@
   return urlregex.test(textval)
 }
 // 鏍¢獙姹夊瓧鍚�
-export function validateName(str){
-
+export function validateName(str) {
+  const rep = /^[\u4E00-\u9FA5]{2,4}$/;
+  return rep.test(str);
 }
 // 鏍¢獙鎵嬫満鍙�
-export function validatePhone(str){
+export function validatePhone(str) {
   const phoneRep = /(^1[3|4|5|7|8|9]\d{9}$)|(^09\d{8}$)/;
   return phoneRep.test(str);
 }
-
+// 鏍¢獙閭
+export function validateEmail(str) {
+  const rep = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;
+  return rep.test(str);
+}
+//
 
diff --git a/src/views/layout/components/Menu/index.vue b/src/views/layout/components/Menu/index.vue
index daa74db..3ee22e5 100644
--- a/src/views/layout/components/Menu/index.vue
+++ b/src/views/layout/components/Menu/index.vue
@@ -95,9 +95,9 @@
               <template slot="title">
                 <span class="secondSpan">涓撻」鏁存不</span>
               </template>
-                <el-menu-item index="/home/operate/rectification/taskList">浠诲姟鍒楄〃</el-menu-item>
-                <el-menu-item index="/home/operate/rectification/surveyList">鏅煡鍒楄〃</el-menu-item>
-                <el-menu-item index="/home/operate/rectification/renovationList">鏁存不鍒楄〃</el-menu-item>  
+              <el-menu-item index="/home/operate/rectification/taskList">浠诲姟鍒楄〃</el-menu-item>
+              <el-menu-item index="/home/operate/rectification/surveyList">鏅煡鍒楄〃</el-menu-item>
+              <el-menu-item index="/home/operate/rectification/renovationList">鏁存不鍒楄〃</el-menu-item>
             </el-submenu>
             <el-menu-item index="/home/operate/lawEnforcement">宸℃煡鎵ф硶</el-menu-item>
             <el-menu-item index="/home/operate/dasds">妗堝嵎鏌ヨ</el-menu-item>
@@ -109,7 +109,14 @@
               <el-menu-item index="/home/operate/fivepack/shop">搴楅摵绠$悊</el-menu-item>
             </el-submenu>
             <el-menu-item index="/home/operate/dasdas">绠楁硶妯″瀷绠$悊</el-menu-item>
-            <el-menu-item index="/home/operate/car">杞﹁締绠$悊</el-menu-item>
+            <el-submenu index="/home/operate/car" class="secondMenu">
+              <template slot="title">
+                <span class="secondSpan">杞﹁締绠$悊</span>
+              </template>
+              <el-menu-item index="/home/operate/car/carIndex">杞﹁締绠$悊</el-menu-item>
+              <el-menu-item index="/home/operate/car/lawTrajectory">杞ㄨ抗鍒嗘瀽(鎵ф硶杞�)</el-menu-item>
+              <el-menu-item index="/home/operate/car/soilTrajectory">杞ㄨ抗鍒嗘瀽(娓e湡杞�)</el-menu-item>
+            </el-submenu>
             <el-menu-item index="/home/operate">鍥剧墖绠$悊</el-menu-item>
             <el-menu-item index="/home/operate">瑙嗛绠$悊</el-menu-item>
             <el-menu-item index="/home/operate">娑堟伅绠$悊</el-menu-item>
@@ -231,9 +238,11 @@
       .firstMenu {
         background: #07162e;
         text-align: left;
-        &:hover>.el-submenu__title{
+
+        &:hover>.el-submenu__title {
           background-color: #092c4a;
         }
+
         &:hover .fisrtSpan {
           color: #22d3eb;
         }
@@ -260,18 +269,20 @@
       }
 
       .secondMenu {
-        &:hover>.el-submenu__title{
+        &:hover>.el-submenu__title {
           background-color: #092c4a;
         }
+
         &:hover .secondSpan {
           color: #22d3eb;
         }
       }
 
       .thirdMenu {
-        &:hover>.el-submenu__title{
+        &:hover>.el-submenu__title {
           background-color: #092c4a;
         }
+
         &:hover .thirdSpan {
           color: #22d3eb;
         }
diff --git a/src/views/operate/baseSetting/illegalBuild/createUser/index.vue b/src/views/operate/baseSetting/illegalBuild/createUser/index.vue
index 5c0ddeb..fe916b4 100644
--- a/src/views/operate/baseSetting/illegalBuild/createUser/index.vue
+++ b/src/views/operate/baseSetting/illegalBuild/createUser/index.vue
@@ -18,14 +18,19 @@
                     </el-form-item>
                     <!-- 鐖剁骇id -->
                     <el-form-item class="optionItem" label="鐖剁骇:" prop="parentId">
-                        <el-select v-model="things.parentId" placeholder="璇烽�夋嫨鎵�灞炵埗绾�">
-                            <el-option v-for="item in parentList" :key="item.id" :label="item.name" :value="item.id">
+                        <el-select v-model="things.parentId" placeholder="璇烽�夋嫨鎵�灞炵埗绾�" :disabled="things.level===1">
+                            <!-- <el-option v-for="item in parentList" :key="item.id" :label="item.name" :value="item.id">
+                            </el-option> -->
+                            <el-option :value="mylabel">
+                                <el-tree ref="tree" :check-strictly="true"  :data="parentList" :props="defaultProps" show-checkbox
+                                    @check-change="handleCheck" default-expand-all node-key="id">
+                                </el-tree>
                             </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="璇疯緭鍏ユ鐢辨弿杩板唴瀹�"></el-input>
+                        <el-input type="textarea" :rows="2"  v-model="things.type" placeholder="璇疯緭鍏ユ鐢辨弿杩板唴瀹�" :disabled="things.level!==2"></el-input>
                     </el-form-item>
                     <el-form-item>
                         <div class="optionBtn">
@@ -83,30 +88,43 @@
                     value: 2,
                 },
             ],
+            parentList: [],
+            selectOrg: {
+                orgsid: []
+            },
+            defaultProps: {
+                children: 'children',
+                label: 'name'
+            },
+            mylabel:''
         }
     },
     created() {
     },
     methods: {
         // 鏌ヨ鎵�灞炵被鍨�
-        getTypeThird() {
-            this.$axios({
+        async getTypeThird() {
+            let arr = [];
+            await this.$axios({
                 method: 'get',
                 url: "sccg/illegal_building/query/type_first",
             })
                 .then(res => {
-                    this.parentList = res.data;
+                    arr = res.data;
                 })
+            return arr;
         },
         // 鏌ヨ鎵�灞炲ぇ绫�
-        getTypeSecond() {
-            this.$axios({
+        async getTypeSecond() {
+            let arr =[];
+            await this.$axios({
                 method: 'get',
                 url: "sccg/illegal_building/query/type_second",
             })
                 .then(res => {
-                    this.parentList = res.data;
+                    arr = res.data;
                 })
+            return arr;
         },
         // 鎻愪氦鏂板杩濊绫诲瀷
         handleSubmit() {
@@ -114,15 +132,15 @@
             this.$refs.user.validate((valid) => {
                 console.log(valid);
                 if (valid) {
-                    const { things } = this;
+                    const { things,selectOrg } = this;
                     this.$axios({
                         method: 'post',
                         url: 'sccg/illegal_building/addition/type',
                         data: {
                             code: '1111',
-                            level: things.parentId === '' ? things.level : things.level + 1,
+                            level: things.level,
                             name: things.name,
-                            parentId: things.parentId === '' ? 0 : things.parentId,
+                            parentId: things.parentId === '' ? 0 : selectOrg.orgsid[0],
                             typeCode: '06',
                             typeName: '杩濆缓绫诲瀷',
                             remark: things.type,
@@ -149,13 +167,54 @@
             })
         },
         // 妗堜欢绾у埆鍙樺寲
-        resetParentList(index) {
+        async resetParentList(index) {
             if (index === 1) {
-                this.getTypeThird();
-            }else {
-                this.getTypeSecond();
+                
+            }else{
+                this.parentList = this.addChildren(await this.getTypeThird(), await this.getTypeSecond());
             }
-        }
+        },
+        addChildren(parentArr, childArr) {
+            // console.log(parentArr.length,childArr);
+            parentArr.forEach(item => {
+                item.children = [];
+                childArr.forEach(child => {
+                    if (item.id === child.parentId) {
+                        item.children.push(child);
+                    }
+                })
+            })
+            console.log(parentArr);
+            return parentArr;
+        },
+        handleCheck(data, checked) {
+            this.things.parentId = data.name;
+            console.log(this.selectOrg.orgsid);
+            // 鑾峰彇褰撳墠閫夋嫨鐨刬d鍦ㄦ暟缁勪腑鐨勭储寮�
+            const indexs = this.selectOrg.orgsid.indexOf(data.id)
+            // 濡傛灉涓嶅瓨鍦ㄦ暟缁勪腑锛屽苟涓旀暟缁勪腑宸茬粡鏈変竴涓猧d骞朵笖checked涓簍rue鐨勬椂鍊欙紝浠h〃涓嶈兘鍐嶆閫夋嫨銆�
+            if (indexs < 0 && this.selectOrg.orgsid.length === 1 && checked) {
+                this.$message({
+                    message: '鍙兘閫夋嫨涓�涓尯鍩燂紒',
+                    type: 'error',
+                    showClose: true
+                })
+                // 璁剧疆宸查�夋嫨鐨勮妭鐐逛负false 寰堥噸瑕�
+                this.$refs.tree.setChecked(data, false)
+            } else if (this.selectOrg.orgsid.length === 0 && checked) {
+                // 鍙戠幇鏁扮粍涓虹┖ 骞朵笖鏄凡閫夋嫨
+                // 闃叉鏁扮粍鏈夊�硷紝棣栧厛娓呯┖锛屽啀push
+                this.selectOrg.orgsid = []
+                this.selectOrg.orgsid.push(data.id)
+            } else if (
+                indexs >= 0 &&
+                this.selectOrg.orgsid.length === 1 &&
+                !checked
+            ) {
+                // 鍐嶆鐩存帴杩涜璧嬪�间负绌烘搷浣�
+                this.selectOrg.orgsid = []
+            }
+        },
     },
     props: ['changeDialog']
 }
diff --git a/src/views/operate/baseSetting/violation/createUser/index.vue b/src/views/operate/baseSetting/violation/createUser/index.vue
index fa9d67c..01669a3 100644
--- a/src/views/operate/baseSetting/violation/createUser/index.vue
+++ b/src/views/operate/baseSetting/violation/createUser/index.vue
@@ -2,11 +2,8 @@
     <div class="createUser">
         <main>
             <div class="mainContent">
-                <el-form ref="user" :rules="createThings" 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 ref="user" :rules="createThings" label-width="140px" autoComplete="on" :model="things"
+                    label-position="right">
                     <!-- 鏂板鐨勭被鍨嬫垨澶х被鎴栧皬绫� -->
                     <el-form-item class="optionItem" label="鏂板鍚嶇О:" prop="name">
                         <el-input v-model="things.name" placeholder="璇疯緭鍏ユ柊澧炲悕绉�"></el-input>
@@ -21,15 +18,21 @@
                     </el-form-item>
                     <!-- 鐖剁骇id -->
                     <el-form-item class="optionItem" label="鐖剁骇:" prop="parentId">
-                        <el-select v-model="things.parentId" placeholder="璇烽�夋嫨鎵�灞炵被鍨�" >
-                            <el-option v-for="item in parentList" :key="item.id" :label="item.name"
-                                :value="item.id">
+                        <el-select v-model="things.parentId" placeholder="璇烽�夋嫨鎵�灞炵被鍨�" :disabled="things.level===1">
+                            <!-- <el-option v-for="item in parentList" :key="item.id" :label="item.name" :value="item.id"
+                                v-if="things.level===1">
+                            </el-option> -->
+                            <el-option :value="mylabel">
+                                <el-tree ref="tree" :check-strictly="true"  :data="parentList" :props="defaultProps" show-checkbox
+                                    @check-change="handleCheck" default-expand-all node-key="id">
+                                </el-tree>
                             </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="璇疯緭鍏ユ鐢辨弿杩板唴瀹�"></el-input>
+                        <el-input type="textarea" :rows="2" v-model="things.type" placeholder="璇疯緭鍏ユ鐢辨弿杩板唴瀹�"
+                            :disabled="things.level!==4"></el-input>
                     </el-form-item>
                     <el-form-item>
                         <div class="optionBtn">
@@ -45,42 +48,35 @@
 <script>
 export default {
     data() {
-        const checkName = (rule,value,callback)=>{
-            if(value){
+        const checkName = (rule, value, callback) => {
+            if (value) {
                 callback();
-            }else{
+            } else {
                 callback(new Error('鏂板杩濊绫诲瀷涓嶈兘涓虹┖'));
             }
         }
-        const checkLevel = (rule,value,callback)=>{
-            if(value){
+        const checkLevel = (rule, value, callback) => {
+            if (value) {
                 callback();
-            }else{
+            } else {
                 callback(new Error('鏂板杩濊绛夌骇涓嶈兘涓虹┖'));
             }
         }
-        // const checkId = (rule,value,callback)=>{
-        //     if(value){
-        //         callback();
-        //     }else{
-        //         callback(new Error('鏂板杩濊绛夌骇涓嶈兘涓虹┖'));
-        //     }
-        // }
         return {
             things: {
-                name:'',
-                parentId:'',
-                level:'',
+                name: '',
+                parentId: '',
+                level: '',
             },
-            createThings:{
-                name:[
+            createThings: {
+                name: [
                     {
-                        required:true,trigger:'blur',validator:checkName
+                        required: true, trigger: 'blur', validator: checkName
                     }
                 ],
-                level:[
+                level: [
                     {
-                        required:true,trigger:'change',validator:checkLevel
+                        required: true, trigger: 'change', validator: checkLevel
                     }
                 ],
                 // parentId:[
@@ -89,59 +85,76 @@
                 //     }
                 // ]
             },
-            levelList:[
+            levelList: [
                 {
-                    label:"杩濊涓被鍨�",
-                    value:1,
+                    label: "杩濊涓被鍨�",
+                    value: 1,
                 },
                 {
-                    label:"澶х被",
-                    value:2,
+                    label: "澶х被",
+                    value: 2,
                 },
                 {
-                    label:"灏忕被",
-                    value:3,
+                    label: "灏忕被",
+                    value: 3,
                 },
                 {
-                    label:"妗堢敱",
-                    value:4,
+                    label: "妗堢敱",
+                    value: 4,
                 },
             ],
-            parentList:[],
+            parentList: [],
+            selectOrg: {
+                orgsid: []
+            },
+            defaultProps: {
+                children: 'children',
+                label: 'name'
+            },
+            mylabel:''
         }
     },
     created() {
     },
     methods: {
         // 鏌ヨ鎵�灞炵被鍨�
-        getTypeThird() {
-            this.$axios({
+        async getTypeThird() {
+            let arr = [];
+            await this.$axios({
                 method: 'get',
                 url: "sccg/violations/query/type_first",
             })
                 .then(res => {
-                    this.parentList = res.data;
+                    arr = res.data;
+                    // this.parentList = res.data;
                 })
+            return arr
         },
         // 鏌ヨ鎵�灞炲ぇ绫�
-        getTypeSecond(){
-            this.$axios({
+        async getTypeSecond() {
+            let arr = [];
+            await this.$axios({
                 method: 'get',
                 url: "sccg/violations/query/type_second",
             })
                 .then(res => {
-                    this.parentList = res.data;
+                    arr = res.data;
+                    // this.parentList = res.data;
                 })
+            return arr
         },
         // 鏌ヨ鎵�灞炲皬绫�
-        getTypeFirst(){
-            this.$axios({
+        async getTypeFirst() {
+            let arr = [];
+            await this.$axios({
                 method: 'get',
                 url: "sccg/violations/query/type_third",
             })
                 .then(res => {
-                    this.parentList = res.data;
+                    arr = res.data;
+                    // this.parentList = res.data;
                 })
+            return arr
         },
         // 鏌ヨ鎵�灞炴鐢�
         getEventLevel() {
@@ -152,60 +165,110 @@
                 .then(res => {
                     console.log(res);
                     this.parentList = res.data;
-                }) 
+                })
         },
         // 鎻愪氦鏂板杩濊绫诲瀷
-        handleSubmit(){
+        handleSubmit() {
             console.log(this.things);
-            this.$refs.user.validate((valid)=>{
+            this.$refs.user.validate((valid) => {
                 console.log(valid);
-                if(valid){
-                    const {things} = this;
+                if (valid) {
+                    const { things, selectOrg} = this;
+                    console.log(things,selectOrg.orgsid[0]);
                     this.$axios({
-                        method:'post',
-                        url:'sccg/violations/addition/type',
-                        data:{
-                            code:'1111',
-                            level:things.parentId === '' ? things.level : things.level+1,
-                            name:things.name,
-                            parentId:things.parentId=== '' ? 0 : things.parentId,
-                            typeCode:'01',
-                            typeName:'闂绫诲瀷',
-                            remark:things.type,
+                        method: 'post',
+                        url: 'sccg/violations/addition/type',
+                        data: {
+                            code: '1111',
+                            level: things.level,
+                            name: things.name,
+                            parentId: things.parentId === '' ? 0 : selectOrg.orgsid[0],
+                            typeCode: '01',
+                            typeName: '闂绫诲瀷',
+                            remark: things.type,
                         }
                     })
-                    .then(res=>{
-                        console.log(res);
-                        if(res.code === 200){
-                            this.$message({
-                                type:'success',
-                                message:'娣诲姞鎴愬姛'
-                            })
-                            this.$emit('changeDialog',{flag:false});
-                        }else{
-                            this.$message({
-                                type:'error',
-                                message:"娣诲姞澶辫触"
-                            })
-                        }
-                    })
-                }else{
+                        .then(res => {
+                            console.log(res);
+                            if (res.code === 200) {
+                                this.$message({
+                                    type: 'success',
+                                    message: '娣诲姞鎴愬姛'
+                                })
+                                this.$emit('changeDialog', { flag: false });
+                            } else {
+                                this.$message({
+                                    type: 'error',
+                                    message: "娣诲姞澶辫触"
+                                })
+                            }
+                        })
+                } else {
                     return false;
                 }
             })
         },
         // 妗堜欢绾у埆鍙樺寲
-        resetParentList(index){
-            if(index === 1){
-                this.getTypeThird();
-            }else if(index === 2){
-                this.getTypeSecond();
-            }else if(index === 3){
-                this.getTypeFirst();
-            }else{
-                this.getEventLevel();
+        async resetParentList(index) {
+            this.selectOrg.orgsid = [];
+            if (index === 1) {
+                // this.getTypeThird();
+            } else if (index === 2) {
+                // console.log(this.getTypeThird());
+                this.parentList = await this.getTypeThird();
+                this.parentList.forEach(item=>{
+                    item.children = [];
+                })
+            } else if (index === 3) {
+            
+                this.parentList = this.addChildren(await this.getTypeThird(), await this.getTypeSecond());
+                console.log(this.parentList);
+            } else {
+                let arr1 =  this.addChildren(await this.getTypeSecond(), await this.getTypeFirst());
+                this.parentList =  this.addChildren(await this.getTypeThird(), arr1);
             }
-        }
+        },
+        addChildren(parentArr, childArr) {
+            // console.log(parentArr.length,childArr);
+            parentArr.forEach(item => {
+                item.children = [];
+                childArr.forEach(child => {
+                    if (item.id === child.parentId) {
+                        item.children.push(child);
+                    }
+                })
+            })
+            console.log(parentArr);
+            return parentArr;
+        },
+        handleCheck(data, checked) {
+            this.things.parentId = data.name;
+            console.log(this.selectOrg.orgsid);
+            // 鑾峰彇褰撳墠閫夋嫨鐨刬d鍦ㄦ暟缁勪腑鐨勭储寮�
+            const indexs = this.selectOrg.orgsid.indexOf(data.id)
+            // 濡傛灉涓嶅瓨鍦ㄦ暟缁勪腑锛屽苟涓旀暟缁勪腑宸茬粡鏈変竴涓猧d骞朵笖checked涓簍rue鐨勬椂鍊欙紝浠h〃涓嶈兘鍐嶆閫夋嫨銆�
+            if (indexs < 0 && this.selectOrg.orgsid.length === 1 && checked) {
+                this.$message({
+                    message: '鍙兘閫夋嫨涓�涓尯鍩燂紒',
+                    type: 'error',
+                    showClose: true
+                })
+                // 璁剧疆宸查�夋嫨鐨勮妭鐐逛负false 寰堥噸瑕�
+                this.$refs.tree.setChecked(data, false)
+            } else if (this.selectOrg.orgsid.length === 0 && checked) {
+                // 鍙戠幇鏁扮粍涓虹┖ 骞朵笖鏄凡閫夋嫨
+                // 闃叉鏁扮粍鏈夊�硷紝棣栧厛娓呯┖锛屽啀push
+                this.selectOrg.orgsid = []
+                this.selectOrg.orgsid.push(data.id)
+            } else if (
+                indexs >= 0 &&
+                this.selectOrg.orgsid.length === 1 &&
+                !checked
+            ) {
+                // 鍐嶆鐩存帴杩涜璧嬪�间负绌烘搷浣�
+                this.selectOrg.orgsid = []
+            }
+        },
     },
     props: ['changeDialog']
 }
diff --git a/src/views/operate/car/lawCar/index.vue b/src/views/operate/car/lawCar/index.vue
new file mode 100644
index 0000000..9209bd1
--- /dev/null
+++ b/src/views/operate/car/lawCar/index.vue
@@ -0,0 +1,3 @@
+<template>
+    <div class="law-car"></div>
+</template>
\ No newline at end of file
diff --git a/src/views/operate/car/myIndex/createUser/index.vue b/src/views/operate/car/myIndex/createUser/index.vue
new file mode 100644
index 0000000..792215e
--- /dev/null
+++ b/src/views/operate/car/myIndex/createUser/index.vue
@@ -0,0 +1,172 @@
+<template>
+    <div class="createUser">
+        <main>
+            <div class="mainContent">
+                <el-form ref="user" label-width="140px" :rules="createCarRules" autoComplete="on" :model="car"
+                    label-position="right">
+                    <!-- 杞︾墝鍙� -->
+                    <el-form-item class="optionItem" label="杞︾墝鍙�:" prop="carNumber">
+                        <el-input v-model="car.carNumber" placeholder="璇峰~鍐欒溅鐗屽彿"></el-input>
+                    </el-form-item>
+                    <!-- 鎵�灞炲ぇ闃� -->
+                    <el-form-item class="optionItems" label="鎵�灞炲ぇ闃�:" prop="group">
+                        <el-select v-model="car.group" placeholder="璇烽�夋嫨鎵�灞炵被鍨�">
+                            <el-option v-for="item in teamList" :key="item.value" :label="item.label" :value="item.value">
+                            </el-option>
+                        </el-select>
+                    </el-form-item>
+                    <!-- 杞︿富濮撳悕 -->
+                    <el-form-item class="optionItem" label="杞︿富濮撳悕:" prop="ownerName">
+                        <el-input v-model="car.ownerName" placeholder="璇疯緭鍏ヨ溅涓诲鍚�"></el-input>
+                    </el-form-item>
+                    <!-- 杞﹁締浣跨敤浜哄憳 -->
+                    <el-form-item class="optionItem" label="杞﹁締浣跨敤浜哄憳:" prop="vehicleUser">
+                        <el-input v-model="car.vehicleUser" placeholder="璇疯緭鍏ヨ溅杈嗕娇鐢ㄤ汉鍛�"></el-input>
+                    </el-form-item>
+                    <!-- 鑱旂郴鏂瑰紡 -->
+                    <el-form-item class="optionItem" label="鑱旂郴鏂瑰紡:" prop="contact">
+                        <el-input v-model="car.contact" placeholder="璇疯緭鍏ヨ溅涓绘墜鏈哄彿鐮�"></el-input>
+                    </el-form-item>
+                    <!-- 杞ㄨ抗 -->
+                    <el-form-item class="optionItem" label="杞ㄨ抗:" prop="trajectory">
+                        <el-input type="textarea" :rows="2" v-model="car.trajectory" placeholder="璇疯緭鍏ヨ溅杈嗚建杩�"></el-input>
+                    </el-form-item>
+                    <el-form-item>
+                        <div class="optionBtn">
+                            <el-button type="primary" class="btn submit" @click.native.prevent="handleCar">纭
+                            </el-button>
+                            <el-button class="btn submit" >
+                                鍙栨秷
+                            </el-button>
+                        </div>
+                    </el-form-item>
+                </el-form>
+
+            </div>
+        </main>
+    </div>
+</template>
+<script>
+export default {
+    data() {
+        return {
+            car: {
+                carNumber: "",
+                contact: "",
+                group: "",
+                // id: 0,
+                ownerName: "",
+                trajectory: "",
+                vehicleUser: ""
+            },
+            createCarRules: {
+                carNumber:[
+                    {
+                        required:true,
+                    }
+                ],
+                contact:[
+                    {
+                        required:true,
+                    }
+                ],
+                // id: 0,
+                ownerName:[
+                    {
+                        required:true,
+                    }
+                ],
+                vehicleUser:[
+                    {
+                        required:true,
+                    }
+                ]
+            },
+            teamList:[
+                {
+                    label:'澶ч槦涓�',
+                    value:1,
+                },
+                {
+                    label:'澶ч槦浜�',
+                    value:2,
+                },
+            ]
+        }
+    },
+    created() {
+    },
+    methods: {
+        // 娣诲姞杞﹁締
+        handleCar(){
+            console.log(this.car);
+        }
+    },
+    props: ['closeDialog']
+}
+</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/car/myIndex/index.vue b/src/views/operate/car/myIndex/index.vue
new file mode 100644
index 0000000..5bd43a7
--- /dev/null
+++ b/src/views/operate/car/myIndex/index.vue
@@ -0,0 +1,550 @@
+<template>
+    <div class="userList">
+        <header>
+            <div class="headerContent">
+                <div class="search">
+                    <span>杞﹁締鎼滅储:</span>
+                    <div class="option">
+                        <el-input placeholder="璇疯緭鍏ヨ溅鐗屽彿"></el-input>
+                    </div>
+                </div>
+                <div class="addCar">
+                    <el-button type="primary" class="addBtn" @click="handleAddCar">娣诲姞杞﹁締</el-button>
+                </div>
+            </div>
+        </header>
+        <main>
+            <div class="mainContent">
+                <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="code" label="杞﹀瀷" min-width="10" v-if="mystatus===2">
+                    </el-table-column>
+                    <el-table-column prop="eventSource" label="杞︿富濮撳悕" min-width="10">
+                        <template slot-scope="scope">
+                            <span>{{scope.row.eventSource === 2 ? '浜哄伐涓婃姤' : '瑙嗛涓婁紶'}}</span>
+                        </template>
+                    </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="mystatus === 1 ? '鎵�灞為儴闂�':'鏂藉伐鍦板潃'" min-width="10">
+                    </el-table-column>
+                    <el-table-column prop="site" :label="mystatus === 1 ? '鎵�灞炲ぇ闃�' : '鏂藉伐鍗曚綅'" min-width="10">
+                    </el-table-column>
+                    <el-table-column prop="operation" label="鎿嶄綔" min-width="20">
+                        <template slot-scope="scope">
+                            <div class="btn">
+                                <span @click="handleReset(scope.row)">鏌ョ湅</span>
+                                <span class="line">|</span>
+                                <span>鍒犻櫎</span>
+                            </div>
+                        </template>
+                    </el-table-column>
+                </el-table>
+                <!-- 鏂板 -->
+                <el-dialog :visible.sync="dialogAdd" width="60%" title="鏂板杞﹁締"
+                    v-if="dialogAdd" :before-close="handleClose">
+                    <Mycreate v-if="mystatus === 1"  @closeDialog="closeDialog"></Mycreate>
+                </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="鎵归噺鎿嶄綔" disabled>
+                                <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 Mycreate from './createUser'
+export default {
+    components: {
+        Mycreate
+    },
+    data() {
+        return {
+            tableData: [],
+            context: "",
+            dialogAdd:false,
+            info: {},
+            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: [],
+            typeList: [
+                {
+                    name: '鎵ф硶杞�',
+                    value: 1,
+                    checked: true
+                },
+                {
+                    name: '娓e湡杞�',
+                    value: 2,
+                    checked: false,
+                },
+            ],
+            mystatus:1,
+            caseId:'',
+        }
+    },
+    created() {
+        this.getUserList();
+    },
+    methods: {
+        // 娣诲姞杞﹁締
+        handleAddCar(){
+            this.dialogAdd = true;
+        },
+        // 鐩戝惉琛ㄦ牸
+        tableChange(list) {
+            this.tempList = [];
+            list.forEach(item => {
+                this.tempList.push(item.code);
+            })
+            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) });
+        },
+        // 鑾峰彇鐢ㄦ埛鍒楄〃
+        async getUserList() {
+            const { currentPage, pageSize, context, mystatus } = this;
+            let arr =[];
+            if(mystatus===1){
+                arr = await this.getLawCarList(currentPage, pageSize, context);
+            }else{
+                arr = await this.getSoilCarList(currentPage, pageSize, context)
+            }
+            console.log(arr);
+            this.tableData = arr.records;
+            this.totalNum = arr.total;
+        },
+        // 鑾峰彇鎵ф硶杞�
+        async getLawCarList(currentPage,pageSize,carNum){
+            let arr =[];
+            await this.$axios({
+                method:'get',
+                url:`sccg/car_Manage/query_enforce?current=${currentPage}&size=${pageSize}&carNum=${carNum}`,
+            })
+            .then(res=>{
+                arr = res.data;
+            })
+            return arr;
+        },
+        // 鑾峰彇娓e湡杞�
+        async getSoilCarList(currentPage,pageSize,carNum){
+            let arr =[];
+            await this.$axios({
+                method:'get',
+                url:`sccg/car_Manage/query_slag?current=${currentPage}&size=${pageSize}&carNum=${carNum}`,
+            })
+            .then(res=>{
+                arr = res.data;
+            })
+            return arr;
+        },
+        // 鏇存敼鎵ф硶杞�/娓e湡杞�
+        changeTypeChecked(idx) {
+            this.typeList.forEach((item, index) => {
+                if (index === idx) {
+                    item.checked = true;
+                } else {
+                    item.checked = false;
+                }
+            })
+            this.mystatus = idx + 1;
+            this.getUserList();
+        },
+        // 璁剧疆琛ㄦ牸鏂戦┈绾�
+        tableRowClassName({ row, rowIndex }) {
+            if ((rowIndex + 1) % 2 == 0) {
+                return 'warning-row';
+            } else {
+                return 'success-row';
+            }
+            return '';
+        },
+        // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠�
+        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(_ => {
+                    done();
+                })
+                .catch(_ => { });
+        },
+        async JumpView(data){
+            await this.getEventInfo(data.code);
+        },
+        opernDialog(data){
+            this.dialogAdd = true;
+            this.caseId = data.id;
+            // console.log(data); 
+        },
+        // 鍏抽棴涓婁紶鐣岄潰
+        closeDialog({flag}){
+            this.dialogAdd = flag;
+        }
+    }
+}
+</script>
+<style lang="scss" scoped>
+.userList {
+    text-align: left;
+    margin: 10px 20px;
+    color: #4b9bb7;
+    header {
+        background-color: #09152f;
+        border: 1pox solid #fff;
+
+        .headerContent {
+            padding: 0 40px;
+            display: flex;
+            line-height: 100px;
+            justify-content: space-between;
+            align-items: center;
+
+            .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;
+                    }
+                }
+
+            }
+
+            .findBtn {
+                line-height: 100px;
+                margin-left: 15px;
+                display: flex;
+                align-items: center;
+                margin-top: -2px;
+
+                .el-button {
+                    padding: 12px 25px;
+                    border-radius: 20px;
+                }
+            }
+
+            .addBtn {
+                background-color: #eb5d01;
+                border: none;
+                border-radius: 20px;
+                padding: 12px 30px;
+            }
+        }
+    }
+    &::v-deep .el-input__inner {
+        background-color: #09152f;
+        border: 1px solid #17324c;
+    }
+    main {
+        background-color: #09152f;
+        margin-top: 20px;
+        padding-bottom: 50px;
+        border: 1pox solid #fff;
+        .btn span:hover{
+            cursor: pointer;
+        }
+        .type-nav {
+            display: flex;
+            line-height: 40px;
+            margin-left: 30px;
+            padding-top: 10px;
+            margin-bottom: 10px;
+
+            .type-item {
+                width: 80px;
+                text-align: center;
+
+                &:hover {
+                    cursor: pointer;
+                }
+            }
+
+            .is-active {
+                background-color: #070f22;
+                border-radius: 4px;
+                color: #fff;
+            }
+        }
+
+        .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 .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;
+    }
+
+    &::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/car/myIndex/updateUser/index.vue b/src/views/operate/car/myIndex/updateUser/index.vue
new file mode 100644
index 0000000..47a6bad
--- /dev/null
+++ b/src/views/operate/car/myIndex/updateUser/index.vue
@@ -0,0 +1,234 @@
+<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">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">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">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>
+            <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">寮犱簩</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"></MyProcess>
+                    <MyFilePicture v-else-if="activeIndex === 2"></MyFilePicture>
+                    <MySovleProblem v-else-if="activeIndex === 3"></MySovleProblem>
+                    <MyScene v-else></MyScene>
+                </div>
+            </div>
+        </div>
+    </div>
+</template>
+<script>
+import MyProcess from './process'
+import MyFilePicture from './filePictrue'
+import MySovleProblem from './solveProblem'
+import MyScene from './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,
+                },
+            ]
+        }
+    },
+    created() {
+
+    },
+    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/car/myIndex/updateUser/uploadResult/components/arrive/index.vue b/src/views/operate/car/myIndex/updateUser/uploadResult/components/arrive/index.vue
new file mode 100644
index 0000000..858e326
--- /dev/null
+++ b/src/views/operate/car/myIndex/updateUser/uploadResult/components/arrive/index.vue
@@ -0,0 +1,185 @@
+<template>
+    <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="arrivalTime">
+                    <el-date-picker v-model="arrive.arrivalTime" type="datetime" placeholder="閫夋嫨鍒拌揪鏃堕棿">
+                    </el-date-picker>
+                </el-form-item>
+                <!-- 鍒拌揪鍦板潃 -->
+                <el-form-item label="鍒拌揪鍦板潃:" prop="arrivalAddress">
+                    <el-input v-model="arrive.arrivalAddress" placeholder="璇疯緭鍏ュ湴鍧�"></el-input>
+                </el-form-item>
+                <!-- 鐜板満鎯呭喌璇存槑 -->
+                <el-form-item label="鐜板満鎯呭喌璇存槑:" prop="situationExplain">
+                    <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 4}" maxlength="200" show-word-limit
+                        v-model="arrive.situationExplain" placeholder="璇疯緭鍏ユ儏鍐佃鏄�,闄愬埗200瀛椾互鍐�"></el-input>
+                </el-form-item>
+                <!-- 淇¤鍥炲璇存槑 -->
+                <el-form-item label="淇¤鍥炲璇存槑:" prop="replyExplain">
+                    <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 4}" maxlength="200" show-word-limit
+                        v-model="arrive.replyExplain" placeholder="璇疯緭鍏ュ洖璁胯鏄�,闄愬埗200瀛椾互鍐�"></el-input>
+                </el-form-item>
+                <!-- 鐜板満鎯呭喌鐓х墖 -->
+                <el-form-item label="鐜板満鎯呭喌鐓х墖:" prop="situationPic">
+                    <div class="upImg">
+                        <div class="img-list">
+                            <img :src="item" alt="" v-for="(item,index) in arrive.situationPic" :key="index">
+                        </div>
+                        <div class="upload" v-if="arrive.situationPic.length<4">
+                            <el-upload :file-list="fileList" class="upload-demo"
+                                action="http://42.193.1.25:8082/sccg/file/medias" multiple :show-file-list="false"
+                                :limit="4" :on-success="handleSuccess" :headers="getToken()">
+                                <i class="el-icon-plus"></i>
+                            </el-upload>
+                        </div>
+                        <div class="tip">{{arrive.situationPic.length}} / 4</div>
+                    </div>
+                </el-form-item>
+            </el-form>
+        </div>
+    </div>
+</template>
+<script>
+export default {
+    data() {
+        const checkTime = (rule, value, callback) => {
+            if (value) {
+                callback()
+            } else {
+                callback(new Error('鍒拌揪鏃堕棿涓嶈兘涓虹┖'));
+            }
+        }
+        const checkAddress = (rule, value, callback) => {
+            if (value) {
+                callback()
+            } else {
+                callback(new Error('鍒拌揪鍦板潃涓嶈兘涓虹┖'));
+            }
+        }
+        const checkSit = (rule, value, callback) => {
+            if (value) {
+                callback()
+            } else {
+                callback(new Error('鐜板満鎯呭喌璇存槑涓嶈兘涓虹┖'));
+            }
+        }
+        const checkReplay = (rule, value, callback) => {
+            if (value) {
+                callback()
+            } else {
+                callback(new Error('淇¤鍥炲璇存槑涓嶈兘涓虹┖'));
+            }
+        }
+        const checkSitPic = (rule, value, callback) => {
+            if (value) {
+                callback()
+            } else {
+                callback();
+            }
+        }
+        return {
+            arrive: {
+                situationPic: [],
+            },
+            arriveRules: {
+                arrivalTime: [
+                    { trigger: 'blur', validator: checkTime }
+                ],
+                arrivalAddress: [
+                    { trigger: 'blur', validator: checkAddress }
+                ],
+                situationExplain: [
+                    { trigger: 'blur', validator: checkSit }
+                ],
+                replyExplain: [
+                    { trigger: 'blur', validator: checkReplay }
+                ],
+                situationPic: [
+                    { trigger: 'change', validator: checkSitPic }
+                ],
+            },
+            fileList: [],
+        }
+    },
+    props:['getArrive'],
+    methods: {
+        handleSuccess(res, file, filelist) {
+            const baseUrl = 'http://140.143.152.226:8410/';
+            console.log(res);
+            if (this.arrive.situationPic.length < 4) {
+                this.arrive.situationPic.push(baseUrl + res.data.url1)
+            }
+        },
+        getToken() {
+            const token = sessionStorage.getItem('token');
+            const tokenHead = sessionStorage.getItem('tokenHead');
+            if (token && tokenHead) {
+                return { Authorization: tokenHead + token }
+            }
+        },
+        // 鑾峰彇arrive瀵硅薄
+        backData(){
+            const { arrive } = this;
+            this.$emit('getArrive',{arrive});
+        }
+    }
+}
+</script>
+<style lang="scss" scoped>
+.arrive-title{
+    line-height: 60px;
+    font-weight: 650;
+    font-size: 20px;
+    width: 160px;
+    padding-right: 12px;
+    text-align: right;
+    color: #4b9bb7;
+}
+
+.upImg {
+    display: flex;
+
+    .tip {
+        position: absolute;
+        bottom: 0;
+        right: 0;
+    }
+
+    .img-list {
+        height: 80px;
+        position: relative;
+
+        img {
+            width: 60px;
+            height: 60px;
+        }
+    }
+}
+
+.upload {
+    width: 60px;
+    height: 60px;
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    font-size: 20px;
+    background-color: #fbfdff;
+    border-radius: 4px;
+}
+
+::v-deep .el-textarea__inner {
+    background-color: #09152f;
+    border: 1px solid #17324c;
+}
+
+::v-deep .el-input__count {
+    background-color: #09152f;
+}
+
+::v-deep .el-form-item__label {
+    color: #4b9bb7;
+}
+</style>
\ No newline at end of file
diff --git a/src/views/operate/car/myIndex/updateUser/uploadResult/components/book/index.vue b/src/views/operate/car/myIndex/updateUser/uploadResult/components/book/index.vue
new file mode 100644
index 0000000..a4903eb
--- /dev/null
+++ b/src/views/operate/car/myIndex/updateUser/uploadResult/components/book/index.vue
@@ -0,0 +1,96 @@
+<template>
+    <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>
+</template>
+<script>
+    export default{
+        data(){
+            return{
+                book:{},
+                bookRules:{
+
+                }
+            }
+        }
+    }
+</script>
+<style lang="scss" scoped>
+.book-title{
+    line-height: 60px;
+    font-weight: 650;
+    font-size: 20px;
+    width: 160px;
+    padding-right: 12px;
+    text-align: right;
+    color: #4b9bb7;
+}
+::v-deep .el-textarea__inner {
+    background-color: #09152f;
+    border: 1px solid #17324c;
+}
+
+::v-deep .el-input__count {
+    background-color: #09152f;
+}
+
+::v-deep .el-form-item__label {
+    color: #4b9bb7;
+}
+</style>
\ No newline at end of file
diff --git a/src/views/operate/car/myIndex/updateUser/uploadResult/components/evidence/index.vue b/src/views/operate/car/myIndex/updateUser/uploadResult/components/evidence/index.vue
new file mode 100644
index 0000000..d6606bb
--- /dev/null
+++ b/src/views/operate/car/myIndex/updateUser/uploadResult/components/evidence/index.vue
@@ -0,0 +1,627 @@
+<template>
+    <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="undertaker">
+                    <el-input v-model="evidence.undertaker" placeholder="璇疯緭鍏ュ鍚�"></el-input>
+                </el-form-item>
+                <!-- 鍗忓姙闃熷憳 -->
+                <el-form-item label="鍗忓姙闃熷憳:" prop="assistant">
+                    <el-input v-model="evidence.assistant" placeholder="璇疯緭鍏ュ鍚�"></el-input>
+                </el-form-item>
+                <!-- 鏃堕棿 -->
+                <el-form-item label="鏃堕棿:" prop="investigationTime">
+                    <el-date-picker v-model="evidence.investigationTime" type="datetime" placeholder="閫夋嫨鏃堕棿">
+                    </el-date-picker>
+                </el-form-item>
+                <!-- 鍦板潃 -->
+                <el-form-item label="鍦板潃:" prop="address">
+                    <el-input v-model="evidence.address" placeholder="璇疯緭鍏ュ湴鍧�"></el-input>
+                </el-form-item>
+                <!-- 妗堢敱 -->
+                <el-form-item label="妗堢敱:" prop="caseAction">
+                    <el-input v-model="evidence.caseAction" placeholder="璇疯緭鍏ユ鐢�"></el-input>
+                </el-form-item>
+                <!-- 褰撲簨浜轰俊鎭� -->
+                <el-form-item label="褰撲簨浜轰俊鎭�:" prop="userInfo">
+                    <el-input suffix-icon="el-icon-s-order" @focus="openDialog"></el-input>
+                </el-form-item>
+                <!-- 鎯呭喌鎻忚堪 -->
+                <el-form-item label="鎯呭喌鎻忚堪:" prop="description">
+                    <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 4}" maxlength="200" show-word-limit
+                        v-model="evidence.description" placeholder="璇疯緭鍏ユ儏鍐垫弿杩�,闄愬埗200瀛椾互鍐�"></el-input>
+                </el-form-item>
+                <!-- 鐓х墖闄勪欢 -->
+                <el-form-item label="鐓х墖闄勪欢:" prop="photo">
+                    <div class="upImg">
+                        <div class="img-list">
+                            <img :src="item" alt="" v-for="(item,index) in evidence.pic" :key="index">
+                        </div>
+                        <div class="upload" v-if="evidence.pic.length<4">
+                            <el-upload :file-list="fileList" class="upload-demo"
+                                action="http://42.193.1.25:8082/sccg/file/medias" multiple :show-file-list="false"
+                                :limit="4" :on-success="handleSuccess2" :headers="getToken()">
+                                <i class="el-icon-plus"></i>
+                            </el-upload>
+                        </div>
+                        <div class="tip">{{evidence.pic.length}} / 4</div>
+                    </div>
+                </el-form-item>
+            </el-form>
+        </div>
+        <div class="user-form" v-show="userFlag">
+            <div class="user-form-header">
+                <span>璋冨害淇℃伅</span>
+                <i class="el-icon-close" @click="closeUserForm"></i>
+            </div>
+            <div class="user-form-content">
+                <el-form ref="userForm" label-width="120px" :model="user" :rules="userRules" autoComplete="on">
+                    <!-- 杩濇硶绫诲瀷 -->
+                    <el-form-item label="绫诲瀷:" prop="illegalType">
+                        <el-select v-model="user.illegalType" placeholder="璇烽�夋嫨">
+                            <el-option v-for="item in typeOptions" :key="item.value" :label="item.label"
+                                :value="item.value">
+                            </el-option>
+                        </el-select>
+                    </el-form-item>
+                    <!-- 濮撳悕銆佹墜鏈哄彿 -->
+                    <div class="user-item">
+                        <!-- 濮撳悕 -->
+                        <el-form-item label="褰撲簨浜哄鍚�:" prop="name">
+                            <el-input v-model="user.name"></el-input>
+                        </el-form-item>
+                        <!-- 鎵嬫満鍙� -->
+                        <el-form-item label="鎵嬫満鍙风爜:" prop="phoneCode">
+                            <el-input v-model="user.phoneCode"></el-input>
+                        </el-form-item>
+                    </div>
+                    <!-- 璇佷欢 -->
+                    <div class="user-item">
+                        <el-form-item label="璇佷欢绫诲瀷:" prop="certificateType">
+                            <el-select v-model="user.certificateType" placeholder="璇烽�夋嫨">
+                                <el-option v-for="item in cardOptions" :key="item.value" :label="item.label"
+                                    :value="item.value">
+                                </el-option>
+                            </el-select>
+                        </el-form-item>
+                        <el-form-item label="璇佷欢鍙风爜:" prop="certificateCode">
+                            <el-input v-model="user.certificateCode"></el-input>
+                        </el-form-item>
+                    </div>
+                    <!-- 鏂囧寲绋嬪害\鑱屼笟 -->
+                    <div class="user-item">
+                        <!-- 鏂囧寲绋嬪害 -->
+                        <el-form-item label="鏂囧寲绋嬪害:" prop="educationDegree">
+                            <el-select v-model="user.educationDegree" placeholder="璇烽�夋嫨">
+                                <el-option v-for="item in degreeOptions" :key="item.value" :label="item.label"
+                                    :value="item.value">
+                                </el-option>
+                            </el-select>
+                        </el-form-item>
+                        <!-- 鑱屼笟 -->
+                        <el-form-item label="鑱屼笟:" prop="career">
+                            <el-input v-model="user.career"></el-input>
+                        </el-form-item>
+                    </div>
+                    <!-- 宸ヤ綔鍗曚綅鍙婅亴鍔� -->
+                    <el-form-item label="宸ヤ綔鍗曚綅鍙婅亴鍔�:" prop="work">
+                        <el-input v-model="user.work"></el-input>
+                    </el-form-item>
+                    <!-- 姘戞棌\绫嶈疮 -->
+                    <div class="user-item">
+                        <!-- 姘戞棌 -->
+                        <el-form-item label="姘戞棌:" prop="nation">
+                            <el-input v-model="user.nation"></el-input>
+                        </el-form-item>
+                        <!-- 绫嶈疮 -->
+                        <el-form-item label="绫嶈疮:" prop="nativePlace">
+                            <el-input v-model="user.nativePlace"></el-input>
+                        </el-form-item>
+                    </div>
+                    <!-- 鐜颁綇鍧� -->
+                    <el-form-item label="鐜颁綇鍧�:" prop="liveAddress">
+                        <el-input v-model="user.liveAddress"></el-input>
+                    </el-form-item>
+                    <!-- 鎴风睄鎵�鍦ㄥ湴 -->
+                    <el-form-item label="鎴风睄鎵�鍦ㄥ湴:" prop="registerAddress">
+                        <el-input v-model="user.registerAddress"></el-input>
+                    </el-form-item>
+                </el-form>
+            </div>
+            <div class="user-form-footer">
+                <el-button type="primary" @click="checkUser">纭畾</el-button>
+                <el-button>杩斿洖</el-button>
+            </div>
+        </div>
+    </div>
+</template>
+<script>
+export default {
+    data() {
+        const checkName = (rule, value, callback) => {
+            if (value) {
+                callback()
+            } else {
+                callback(new Error('鎵垮姙闃熷憳鍚嶅瓧涓嶈兘涓虹┖'));
+            }
+        }
+        const checkName2 = (rule, value, callback) => {
+            if (value) {
+                callback()
+            } else {
+                callback(new Error('鍗忓姙闃熷憳鍚嶅瓧涓嶈兘涓虹┖'));
+            }
+        }
+        const checkTime2 = (rule, value, callback) => {
+            if (value) {
+                callback()
+            } else {
+                callback(new Error('姝ゅ鏃堕棿涓嶈兘涓虹┖'));
+            }
+        }
+        const checkAddress2 = (rule, value, callback) => {
+            if (value) {
+                callback()
+            } else {
+                callback(new Error('姝ゅ鍦板潃涓嶈兘涓虹┖'));
+            }
+        }
+        const checkCase = (rule, value, callback) => {
+            if (value) {
+                callback()
+            } else {
+                callback(new Error('妗堢敱涓嶈兘绌�'));
+            }
+        }
+        const checkDesc = (rule, value, callback) => {
+            if (value) {
+                callback()
+            } else {
+                callback(new Error('鎯呭喌鎻忚堪涓嶈兘涓虹┖'));
+            }
+        }
+        const checkPic = (rule, value, callback) => {
+            if (value) {
+                callback()
+            } else {
+                callback();
+            }
+        }
+        const checkIll = (rule, value, callback) => {
+            if (value) {
+                callback()
+            } else {
+                callback(new Error('妗堜欢绫诲瀷涓嶈兘涓虹┖'));
+            }
+        }
+        const checkName3 = (rule, value, callback) => {
+            if (value) {
+                callback()
+            } else {
+                callback(new Error('褰撲簨浜哄鍚嶄笉鑳戒负绌�'));
+            }
+        }
+        const checkPhone = (rule, value, callback) => {
+            if (value) {
+                callback()
+            } else {
+                callback(new Error('鎵嬫満鍙风爜涓嶈兘涓虹┖'));
+            }
+        }
+        const checkCard = (rule, value, callback) => {
+            if (value) {
+                callback()
+            } else {
+                callback(new Error('璇佷欢绫诲瀷涓嶈兘涓虹┖'));
+            }
+        }
+        const checkCode = (rule, value, callback) => {
+            if (value) {
+                callback()
+            } else {
+                callback(new Error('璇佷欢鍙风爜涓嶈兘涓虹┖'));
+            }
+        }
+        const checkWh = (rule, value, callback) => {
+            if (value) {
+                callback()
+            } else {
+                callback(new Error('鏂囧寲绋嬪害涓嶈兘涓虹┖'));
+            }
+        }
+        const checkCareer = (rule, value, callback) => {
+            if (value) {
+                callback()
+            } else {
+                callback(new Error('鑱屼笟涓嶈兘涓虹┖'));
+            }
+        }
+        const checkWork = (rule, value, callback) => {
+            if (value) {
+                callback()
+            } else {
+                callback(new Error('宸ヤ綔鍗曚綅鍙婅亴鍔′笉鑳戒负绌�'));
+            }
+        }
+        const checkNation = (rule, value, callback) => {
+            if (value) {
+                callback()
+            } else {
+                callback(new Error('姘戞棌涓嶈兘涓虹┖'));
+            }
+        }
+        const checkNaP = (rule, value, callback) => {
+            if (value) {
+                callback()
+            } else {
+                callback(new Error('绫嶈疮涓嶈兘涓虹┖'));
+            }
+        }
+        const checkLiveAdd = (rule, value, callback) => {
+            if (value) {
+                callback()
+            } else {
+                callback(new Error('鐜颁綇鍧�涓嶈兘涓虹┖'));
+            }
+        }
+        const checkRegAdd = (rule, value, callback) => {
+            if (value) {
+                callback()
+            } else {
+                callback(new Error('鎴风睄鎵�鍦ㄥ湴涓嶈兘涓虹┖'));
+            }
+        }
+        const checkFlag = (rule, value, callback) => {
+            if (value) {
+                callback();
+            } else {
+                callback(new Error('鐢ㄦ埛淇℃伅涓嶈兘涓虹┖'))
+            }
+        }
+        return {
+            evidence: {
+                pic: [],
+                userInfo: false,
+            },
+            evidenceRules: {
+                userInfo: [
+                    { trigger: 'change', validator: checkFlag }
+                ],
+                undertaker: [
+                    {
+                        trigger: 'blur', validator: checkName
+                    }
+                ],
+                assistant: [
+                    {
+                        trigger: 'blur', validator: checkName2
+                    }
+                ],
+                investigationTime: [
+                    {
+                        trigger: 'change', validator: checkTime2
+                    }
+                ],
+                address: [
+                    {
+                        trigger: 'blur', validator: checkAddress2
+                    }
+                ],
+                caseAction: [
+                    {
+                        trigger: 'blur', validator: checkCase
+                    }
+                ],
+                description: [
+                    {
+                        trigger: 'blur', validator: checkDesc
+                    }
+                ],
+                pic: [
+                    {
+                        trigger: 'blur', validator: checkPic
+                    }
+                ],
+            },
+            fileList: [],
+            user: {
+                illegalType: '',
+                name: '',
+                phoneCode: '',
+                certificateType: '',
+                certificateCode: '',
+                educationDegree: '',
+                career: '',
+                work: '',
+                nation: '',
+                nativePlace: '',
+                liveAddress: '',
+                registerAddress: '',
+            },
+            userRules: {
+                illegalType: [
+                    {
+                        trigger: 'change', validator: checkIll,
+                    }
+                ],
+                name: [
+                    {
+                        trigger: 'blur', validator: checkName3
+                    }
+                ],
+                phoneCode: [
+                    {
+                        trigger: 'blur', validator: checkPhone
+                    }
+                ],
+                certificateType: [
+                    {
+                        trigger: 'change', validator: checkCard
+                    }
+                ],
+                certificateCode: [
+                    {
+                        trigger: 'blur', validator: checkCode
+                    }
+                ],
+                educationDegree: [
+                    {
+                        trigger: 'change', validator: checkWh
+                    }
+                ],
+                career: [
+                    {
+                        trigger: 'blur', validator: checkCareer
+                    }
+                ],
+                work: [
+                    {
+                        trigger: 'blur', validator: checkWork
+                    }
+                ],
+                nation: [
+                    {
+                        trigger: 'blur', validator: checkNation
+                    }
+                ],
+                nativePlace: [
+                    {
+                        trigger: 'blur', validator: checkNaP
+                    }
+                ],
+                liveAddress: [
+                    {
+                        trigger: 'blur', validator: checkLiveAdd
+                    }
+                ],
+                registerAddress: [
+                    {
+                        trigger: 'blur', validator: checkRegAdd
+                    }
+                ],
+            },
+            userFlag: false,
+            typeOptions: [
+                {
+                    label: '杩濇硶',
+                    value: 1,
+                },
+                {
+                    label: '杩濆缓',
+                    value: 2
+                }
+            ],
+            cardOptions: [
+                {
+                    label: '韬唤璇�',
+                    value: 1,
+                },
+                {
+                    label: '鍏朵粬',
+                    value: 2
+                }
+            ],
+            degreeOptions:[
+                {
+                    label:'灏忓',
+                    value:1
+                },
+                {
+                    label:'鍒濅腑',
+                    value:2
+                },
+                {
+                    label:'楂樹腑',
+                    value:3
+                },
+                {
+                    label:'澶у鍙婁互涓�',
+                    value:4
+                },
+            ]
+        }
+    },
+    props:['getEvidence'],
+    methods: {
+        handleSuccess2(res, file, filelist) {
+            const baseUrl = 'http://140.143.152.226:8410/';
+            console.log(res);
+            if (this.evidence.pic.length < 4) {
+                this.evidence.pic.push(baseUrl + res.data.url1)
+            }
+        },
+        getToken() {
+            const token = sessionStorage.getItem('token');
+            const tokenHead = sessionStorage.getItem('tokenHead');
+            if (token && tokenHead) {
+                return { Authorization: tokenHead + token }
+            }
+        },
+        // 鎵撳紑褰撲簨浜轰俊鎭~鍐欒〃
+        openDialog(e) {
+            this.userFlag = true;
+            this.userInfo = true;
+        },
+        // 妫�楠寀ser
+        checkUser() {
+            // console.log(this.$refs.userForm.validate);
+            this.$refs.userForm.validate((valid) => {
+                console.log(valid);
+                if (valid) {
+                    this.evidence.userInfo = true;
+                    this.userFlag = false;
+                } else {
+                    this.evidence.userInfo = false;
+                    return false;
+                }
+            })
+        },
+        // 鍏抽棴褰撲簨浜轰俊鎭晫闈�
+        closeUserForm(){
+            this.userFlag = false;
+        },
+        // 杩斿洖褰撳墠evidence鍜寀ser瀵硅薄
+        backData(){
+            const {user,evidence} = this;
+            this.$emit('getEvidence',{user,evidence});
+        }
+    }
+}
+</script>
+<style lang="scss" scoped>
+.evidence {
+    line-height: 60px;
+    position: relative;
+    .evidence-title {
+        line-height: 60px;
+        font-weight: 650;
+        font-size: 20px;
+        width: 160px;
+        padding-right: 12px;
+        text-align: right;
+        color: #4b9bb7;
+    }
+}
+
+.upImg {
+    display: flex;
+
+    .tip {
+        position: absolute;
+        bottom: 0;
+        right: 0;
+    }
+
+    .img-list {
+        height: 80px;
+        position: relative;
+
+        img {
+            width: 60px;
+            height: 60px;
+        }
+    }
+}
+
+.upload {
+    width: 60px;
+    height: 60px;
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    font-size: 20px;
+    background-color: #fbfdff;
+    border-radius: 4px;
+}
+.user-form{
+    position: absolute;
+    top: 0;
+    z-index: 3000;
+    background-color: #06122c;
+    .user-form-header{
+        background-color: #fff;
+        color: #4b9bb7;
+        display: flex;
+        justify-content: space-between;
+        align-items: center;
+        padding: 0 20px;
+    }
+    padding-bottom: 60px;
+}
+.user-form-content {
+    padding-top:20px;
+
+    .user-item {
+        display: flex;
+
+        .el-input {
+            flex: 1;
+        }
+    }
+
+    ::v-deep .el-textarea__inner {
+        background-color: #09152f;
+        border: 1px solid #17324c;
+    }
+
+    ::v-deep .el-input__count {
+        background-color: #09152f;
+    }
+
+    ::v-deep .el-form-item__label {
+        color: #4b9bb7;
+    }
+
+    ::v-deep .el-input__inner {
+        background-color: #09152f;
+        border: 1px solid #17324c;
+    }
+}
+
+.user-form-footer {
+    display: flex;
+    justify-content: flex-end;
+}
+
+::v-deep .el-textarea__inner {
+    background-color: #09152f;
+    border: 1px solid #17324c;
+}
+
+::v-deep .el-input__count {
+    background-color: #09152f;
+}
+
+::v-deep .el-form-item__label {
+    color: #4b9bb7;
+}
+
+::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/car/myIndex/updateUser/uploadResult/ill/index.vue b/src/views/operate/car/myIndex/updateUser/uploadResult/ill/index.vue
new file mode 100644
index 0000000..b74dfdb
--- /dev/null
+++ b/src/views/operate/car/myIndex/updateUser/uploadResult/ill/index.vue
@@ -0,0 +1,48 @@
+<template>
+    <div class="ill">
+        <!-- 鍒拌揪鐜板満鎯呭喌 -->
+        <MyArrive></MyArrive>
+        <!-- 璋冩煡鍙栬瘉 -->
+        <MyEvidence></MyEvidence>
+        <!-- 鏂囩涔︾被 -->
+        <MyBook></MyBook>
+        <!-- 搴曢儴鎸夐挳 -->
+        <div class="footer">
+            <el-button @click="handleSubmit" type="primary">纭畾</el-button>
+            <el-button>杩斿洖</el-button>
+        </div>
+    </div>
+</template>
+<script>
+import MyArrive from '../components/arrive'
+import MyEvidence from "../components/evidence"
+import MyBook from "../components/book"
+export default {
+    components:{
+        MyArrive,MyEvidence,MyBook
+    },
+    data() {
+        return {
+
+        }
+    },
+    props:['caseId'],
+    created(){
+        console.log(this.caseId);
+    },
+    methods:{
+        handleSubmit(){
+
+        }
+    }
+}
+</script>
+<style lang="scss" scoped>
+    .ill{
+        padding: 20px 200px;
+    }
+.footer {
+        display: flex;
+        justify-content: flex-end;
+    }
+</style>
\ No newline at end of file
diff --git a/src/views/operate/car/myIndex/updateUser/uploadResult/vio/index.vue b/src/views/operate/car/myIndex/updateUser/uploadResult/vio/index.vue
new file mode 100644
index 0000000..a12edc3
--- /dev/null
+++ b/src/views/operate/car/myIndex/updateUser/uploadResult/vio/index.vue
@@ -0,0 +1,123 @@
+<template>
+    <div class="vio">
+        <!-- 鍒拌揪鐜板満鎯呭喌 -->
+        <MyArrive ref="arrive" @getArrive="getArrive"></MyArrive>
+        <!-- 璋冩煡鍙栬瘉 -->
+        <MyEvidence ref="evidence" @getEvidence="getEvidence"></MyEvidence>
+        <!-- 搴曢儴鎸夐挳 -->
+        <div class="footer">
+            <el-button @click="handleSubmit" type="primary">纭畾</el-button>
+            <el-button>杩斿洖</el-button>
+        </div>
+    </div>
+</template>
+<script>
+import MyArrive from '../components/arrive'
+import MyEvidence from "../components/evidence"
+export default {
+    components: {
+        MyArrive, MyEvidence
+    },
+    data() {
+        return {
+
+        }
+    },
+    props: ['caseId', 'closeDialog'],
+    created() {
+        console.log(this.caseId);
+    },
+    methods: {
+        handleSubmit() {
+            const { arrive, evidence } = this.$refs;
+            const { arriveForm } = arrive.$refs;
+            const { evidenceForm } = evidence.$refs;
+            // console.log(evidence.$refs);
+            arriveForm.validate((valid) => {
+                // console.log(valid);
+                if (valid) {
+                    evidenceForm.validate((flag) => {
+                        if (flag) {
+                            // arrive.arrive;evidence.user;evidence.evidence;
+                            this.$axios({
+                                method: 'post',
+                                url: `sccg/dispatch_handle/addition_dispose_result/${this.caseId}/${1}`,
+                                data:{
+                                    // arrivalAddress: arrive.arrive.arrivalAddress,
+                                    // arrivalTime: arrive.arrive.arrivalTime,
+                                    // situationExplain: arrive.arrive.situationExplain,
+                                    // replyExplain: arrive.arrive.replyExplain,
+                                    // situationPic: arrive.arrive.situationPic,
+                                    // // 
+                                    // undertaker: evidence.evidence.undertaker,
+                                    // assistant: evidence.evidence.assistant,
+                                    // investigationTime: evidence.evidence.investigationTime,
+                                    // address: evidence.evidence.address,
+                                    // caseAction: evidence.evidence.caseAction,
+                                    // description: evidence.evidence.description,
+                                    // pic: evidence.evidence.pic,
+                                    // // 
+                                    // illegalType: evidence.user.illegalType,
+                                    // name: evidence.user.name,
+                                    // phoneCode: evidence.user.phoneCode,
+                                    // certificateType: evidence.user.certificateType,
+                                    // certificateCode: evidence.user.certificateCode,
+                                    // educationDegree: evidence.user.educationDegree,
+                                    // career: evidence.user.career,
+                                    // work: evidence.user.work,
+                                    // nation: evidence.user.nation,
+                                    // nativePlace: evidence.user.nativePlace,
+                                    // liveAddress: evidence.user.liveAddress,
+                                    // registerAddress: evidence.user.registerAddress,
+                                }
+                            })
+                                .then(res => {
+                                    console.log(res);
+                                    if (res.code === 200) {
+                                        this.$message({
+                                            type: 'success',
+                                            message:'涓婁紶鎴愬姛',
+                                        })
+                                        this.$emit('closeDialog', { flag: false });
+                                    }else{
+                                        this.$message({
+                                            type:'warning',
+                                            message:res.message
+                                        })
+                                    }
+                                })
+                        } else {
+                            return false;
+                        }
+                    })
+                } else {
+                    evidenceForm.validate((flag) => {
+                        if (!flag) {
+                            return false;
+                        }
+                    })
+                    return false;
+                }
+            })
+        },
+        // 鑾峰緱arrive鐨勪俊鎭�
+        getArrive(obj) {
+            console.log(obj);
+        },
+        // 鑾峰緱evidence瀵硅薄
+        getEvidence(obj) {
+            console.log(obj);
+        }
+    }
+}
+</script>
+<style lang="scss" scoped>
+.vio {
+    padding: 20px 200px;
+}
+
+.footer {
+    display: flex;
+    justify-content: flex-end;
+}
+</style>
\ No newline at end of file
diff --git a/src/views/operate/car/soilCar/index.vue b/src/views/operate/car/soilCar/index.vue
new file mode 100644
index 0000000..916305e
--- /dev/null
+++ b/src/views/operate/car/soilCar/index.vue
@@ -0,0 +1,3 @@
+<template>
+    <div class="soil-car"></div>
+</template>
\ 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 98930b9..ac946a7 100644
--- a/src/views/operate/disposal/casepool/dispatch/index.vue
+++ b/src/views/operate/disposal/casepool/dispatch/index.vue
@@ -36,6 +36,9 @@
                         </template>
                     </el-table-column>
                     <el-table-column prop="eventSource" label="闂鏉ユ簮" min-width="10">
+                        <template slot-scope="scope">
+                            <span>{{scope.row.eventSource === 2 ? '浜哄伐涓婃姤' : '瑙嗛涓婁紶'}}</span>
+                        </template>
                     </el-table-column>
                     <el-table-column prop="category" label="澶х被鍚嶇О" min-width="10">
                     </el-table-column>
@@ -47,7 +50,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 prop="alarmTime" label="鎶ヨ鏃堕棿" min-width="15">
+                        <template slot-scope="scope">
+                            <span>{{filterTime(scope.row.alarmTime)}}</span>
+                        </template>
                     </el-table-column>
                     <el-table-column prop="continueTime" label="鎸佺画鏃堕棿" min-width="10">
                     </el-table-column>
@@ -61,11 +67,6 @@
                         </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="dialogView" width="80%" title="鍩虹淇℃伅(浜哄伐)" v-if="dialogView"
                     :before-close="handleClose">
@@ -87,7 +88,7 @@
                             <el-checkbox v-model="unsame" @change="disSame(tableData)">鍙嶉��</el-checkbox>
                         </div>
                         <div class="funsItem">
-                            <el-select v-model="myIdx" placeholder="鎵归噺鎿嶄綔" @change="selectChange">
+                            <el-select v-model="myIdx" placeholder="鎵归噺鎿嶄綔" @change="selectChange" disabled>
                                 <el-option v-for="item in options" :key="item.value" :label="item.label"
                                     :value="item.value" :disabled="item.disabled">
                                 </el-option>
@@ -106,10 +107,10 @@
     </div>
 </template>
 <script>
-// import updateUser from "./updateUser"
 import uploadVio from './updateUser/uploadResult/vio'
 import uploadIll from "./updateUser/uploadResult/ill"
 import MyDetail from '@/components/detail'
+import helper from '@/utils/mydate'
 export default {
     components: {
         // updateUser,
@@ -341,6 +342,10 @@
         closeDialog({flag}){
             this.dialogUpload = flag;
             this.getUserList();
+        },
+        // 澶勭悊鏃堕棿
+        filterTime(time){
+            return helper(time);
         }
     }
 }
@@ -411,7 +416,9 @@
         margin-top: 20px;
         padding-bottom: 50px;
         border: 1pox solid #fff;
-
+        .btn span:hover{
+            cursor: pointer;
+        }
         .type-nav {
             display: flex;
             line-height: 40px;
diff --git a/src/views/operate/disposal/casepool/learn/index.vue b/src/views/operate/disposal/casepool/learn/index.vue
index 1dbedbb..1d2757c 100644
--- a/src/views/operate/disposal/casepool/learn/index.vue
+++ b/src/views/operate/disposal/casepool/learn/index.vue
@@ -36,6 +36,9 @@
                         </template>
                     </el-table-column>
                     <el-table-column prop="eventSource" label="闂鏉ユ簮" min-width="10">
+                        <template slot-scope="scope">
+                            <span>{{scope.row.eventSource === 2 ? '浜哄伐涓婃姤' : '瑙嗛涓婁紶'}}</span>
+                        </template>
                     </el-table-column>
                     <el-table-column prop="category" label="澶х被鍚嶇О" min-width="10">
                     </el-table-column>
@@ -59,11 +62,6 @@
                         </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="dialogView" width="80%" title="鍩虹淇℃伅(浜哄伐)" v-if="dialogView"
                     :before-close="handleClose">
@@ -85,7 +83,7 @@
                             <el-checkbox v-model="unsame" @change="disSame(tableData)">鍙嶉��</el-checkbox>
                         </div>
                         <div class="funsItem">
-                            <el-select v-model="myIdx" placeholder="鎵归噺鎿嶄綔" @change="selectChange">
+                            <el-select v-model="myIdx" placeholder="鎵归噺鎿嶄綔" @change="selectChange" disabled>
                                 <el-option v-for="item in options" :key="item.value" :label="item.label"
                                     :value="item.value" :disabled="item.disabled">
                                 </el-option>
@@ -429,7 +427,9 @@
         margin-top: 20px;
         padding-bottom: 50px;
         border: 1pox solid #fff;
-
+        .btn span:hover{
+            cursor: pointer;
+        }
         .type-nav {
             display: flex;
             line-height: 40px;
diff --git a/src/views/operate/disposal/casepool/notDeal/index.vue b/src/views/operate/disposal/casepool/notDeal/index.vue
index 41d872f..ac2a9cb 100644
--- a/src/views/operate/disposal/casepool/notDeal/index.vue
+++ b/src/views/operate/disposal/casepool/notDeal/index.vue
@@ -36,6 +36,9 @@
                         </template>
                     </el-table-column>
                     <el-table-column prop="eventSource" label="闂鏉ユ簮" min-width="10">
+                        <template slot-scope="scope">
+                            <span>{{scope.row.eventSource === 2 ? '浜哄伐涓婃姤' : '瑙嗛涓婁紶'}}</span>
+                        </template>
                     </el-table-column>
                     <el-table-column prop="category" label="澶х被鍚嶇О" min-width="10">
                     </el-table-column>
@@ -59,11 +62,6 @@
                         </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="dialogView" width="80%" title="鍩虹淇℃伅(浜哄伐)" v-if="dialogView"
                     :before-close="handleClose">
@@ -85,7 +83,7 @@
                             <el-checkbox v-model="unsame" @change="disSame(tableData)">鍙嶉��</el-checkbox>
                         </div>
                         <div class="funsItem">
-                            <el-select v-model="myIdx" placeholder="鎵归噺鎿嶄綔" @change="selectChange">
+                            <el-select v-model="myIdx" placeholder="鎵归噺鎿嶄綔" @change="selectChange" disabled>
                                 <el-option v-for="item in options" :key="item.value" :label="item.label"
                                     :value="item.value" :disabled="item.disabled">
                                 </el-option>
@@ -430,7 +428,9 @@
         margin-top: 20px;
         padding-bottom: 50px;
         border: 1pox solid #fff;
-
+        .btn span:hover{
+            cursor: pointer;
+        }
         .type-nav {
             display: flex;
             line-height: 40px;
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 12be6b8..c58bc5a 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="璇烽�夋嫨澶х被鍚嶇О">
@@ -51,18 +51,18 @@
                             </el-option>
                         </el-select>
                     </el-form-item> -->
-                    <!-- 鎵�灞炵ぞ鍖� -->
-                    <el-form-item class="optionItems" label="鎵�灞炵ぞ鍖�:" prop="communityId">
-                        <el-select v-model="vio.communityId" placeholder="璇烽�夋嫨鎵�灞炵ぞ鍖�">
-                            <el-option v-for="item in typeList" :key="item.name" :label="item.name" :value="item.value"
+                    <!-- 鎵�灞炶閬� -->
+                    <el-form-item class="optionItems" label="鎵�灞炶閬�:" prop="streetId">
+                        <el-select v-model="vio.streetId" placeholder="璇烽�夋嫨鎵�灞炶閬�" @change="handleStreet">
+                            <el-option v-for="item in streetList" :key="item.id" :label="item.name" :value="item.id"
                                 :disabled="item.disabled">
                             </el-option>
                         </el-select>
                     </el-form-item>
-                    <!-- 鎵�灞炶閬� -->
-                    <el-form-item class="optionItems" label="鎵�灞炶閬�:" prop="streetId">
-                        <el-select v-model="vio.streetId" placeholder="璇烽�夋嫨鎵�灞炶閬�">
-                            <el-option v-for="item in typeList" :key="item.name" :label="item.name" :value="item.value"
+                    <!-- 鎵�灞炵ぞ鍖� -->
+                    <el-form-item class="optionItems" label="鎵�灞炵ぞ鍖�:" prop="communityId">
+                        <el-select v-model="vio.communityId" placeholder="璇烽�夋嫨鎵�灞炵ぞ鍖�">
+                            <el-option v-for="item in communityList" :key="item.id" :label="item.name" :value="item.id"
                                 :disabled="item.disabled">
                             </el-option>
                         </el-select>
@@ -89,7 +89,7 @@
                     </el-form-item>
                     <!-- 闂鎻忚堪 -->
                     <el-form-item class="optionItems" label="闂鎻忚堪:" prop="description">
-                        <el-input type="textarea" placeholder="璇疯緭鍏ュ唴瀹�200瀛椾互鍐�" v-model="vio.description"></el-input>
+                        <el-input type="textarea" maxlength="200" placeholder="璇疯緭鍏ュ唴瀹�200瀛椾互鍐�" v-model="vio.description"></el-input>
                     </el-form-item>
                     <!-- 鎶ヨ鏃堕棿 -->
                     <el-form-item class="optionItems" label="鎶ヨ鏃堕棿:" prop="alarmTime">
@@ -104,15 +104,15 @@
                 </div>
                 <div class="not-need-item">
                     <label>鍙嶆槧浜�:</label>
-                    <input type="text" class="not-need__inner">
+                    <el-input v-model="vio.informant"></el-input>
                 </div>
                 <div class="not-need-item">
                     <label>鑱旂郴鏂瑰紡:</label>
-                    <input type="text" class="not-need__inner">
+                    <el-input v-model="vio.informantPhoneCode"></el-input>
                 </div>
                 <div class="not-need-item">
                     <label>韬唤璇佸彿:</label>
-                    <input type="text" class="not-need__inner">
+                    <el-input v-model="vio.informantIdCard"></el-input>
                 </div>
             </div>
             <div class="input-footer">
@@ -121,7 +121,7 @@
             </div>
         </div>
         <div class="map-area">
-            <MyMap />
+            <!-- <MyMap /> -->
         </div>
     </div>
 </template>
@@ -293,17 +293,19 @@
                     label: '杩濆缓',
                     value: 2.
                 }
-            ]
-
+            ],
+            streetList:[],
+            communityList:[],
         }
     },
     created() {
-        const { getBigKind, getEventLevel, getSmallKind } = this;
+        const { getBigKind, getEventLevel, getSmallKind,getStreetList } = this;
         console.log(this.mytype);
         this.vio.category = this.mytype + 1;
         getBigKind();
         getSmallKind();
         getEventLevel();
+        getStreetList();
     },
     methods: {
         handleStop() {
@@ -326,7 +328,6 @@
                 url: 'sccg/violations/query/type_second'
             })
                 .then(res => {
-                    console.log(res);
                     this.smallKindList = res.data;
                 })
         },
@@ -337,18 +338,7 @@
                 url: 'sccg/violations/query/event_type'
             })
                 .then(res => {
-                    console.log(res);
                     this.eventLevelList = res.data;
-                })
-        },
-        // 鑾峰彇琛屾斂鍖哄煙
-        getRegion() {
-            this.$axios({
-                method: 'get',
-                url: 'sccg/sccg-region/getTree',
-            })
-                .then(res => {
-                    // this.
                 })
         },
         // 鎻愪氦娉ㄥ唽淇℃伅
@@ -385,6 +375,27 @@
         // 杩斿洖
         handleBack(){
             this.$emit('changeDialog',{flag:false})
+        },
+        // 鑾峰彇琛楅亾淇℃伅
+        getStreetList(){
+            this.$axios({
+                method:'get',
+                url:'sccg/dict/query_Street_type'
+            })
+            .then(res=>{ 
+                this.streetList = res.data;
+            })
+        },
+        // 琛楅亾鏇存敼
+        handleStreet(id){
+            console.log(id);
+            this.$axios({
+                method:'get',
+                url:'sccg/dict/query_social_type?id='+id
+            })
+            .then(res=>{
+                this.communityList = res.data;
+            })
         }
     },
     props: ['mytype', 'changeDialog','refresh']
diff --git a/src/views/operate/disposal/casepool/pool/index.vue b/src/views/operate/disposal/casepool/pool/index.vue
index b54da2e..f45c45c 100644
--- a/src/views/operate/disposal/casepool/pool/index.vue
+++ b/src/views/operate/disposal/casepool/pool/index.vue
@@ -58,6 +58,9 @@
                         </template>
                     </el-table-column>
                     <el-table-column prop="eventSource" label="闂鏉ユ簮" min-width="10">
+                        <template slot-scope="scope">
+                            <span>{{scope.row.eventSource === 2 ? '浜哄伐涓婃姤' : '瑙嗛涓婁紶'}}</span>
+                        </template>
                     </el-table-column>
                     <el-table-column prop="category" label="澶х被鍚嶇О" min-width="10">
                     </el-table-column>
@@ -90,24 +93,27 @@
                 <!-- 璇︽儏椤靛睍绀� -->
                 <el-dialog :visible.sync="dialogView" width="80%" title="鍩虹淇℃伅(浜哄伐)" v-if="dialogView"
                     :before-close="handleClose">
-                    <MyDetail :info=info></MyDetail>
+                    <MyDetail :info=info v-if="mystatus==1 ? true:false"></MyDetail>
+                    <MyIllDetail :info=info v-else></MyIllDetail>
                 </el-dialog>
                 <!-- 璋冨害 -->
                 <el-dialog :visible.sync="dialogDispatch" width="80%" title="璋冨害淇℃伅" v-if="dialogDispatch"
                     :before-close="handleClose">
-                    <MyDispatch :id="baseId" @changeDialog="changeDialog" :refresh="getUserList"></MyDispatch>
+                    <MyDispatch :id="baseId" :mytype="mystatus" @changeDialog="changeDialog" :refresh="getUserList">
+                    </MyDispatch>
                 </el-dialog>
                 <!-- tools -->
                 <div class="tools">
                     <div class="funs">
                         <div class="funsItem">
-                            <el-checkbox v-model="all" @change="selectAll()" :disabled="tableData.length !== 0 ? false : true">鍏ㄩ��</el-checkbox>
+                            <el-checkbox v-model="all" @change="selectAll()"
+                                :disabled="tableData.length !== 0 ? false : true">鍏ㄩ��</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-select v-model="myIdx" placeholder="鎵归噺鎿嶄綔" @change="selectChange" disabled>
                                 <el-option v-for="item in options" :key="item.value" :label="item.label"
                                     :value="item.value" :disabled="item.disabled">
                                 </el-option>
@@ -127,13 +133,14 @@
 </template>
 <script>
 import MyDetail from '@/components/detail'
+import MyIllDetail from '@/components/illdetail'
 import createUser from "./createUser"
 import MyIll from './createUser/ill'
 import MyVio from './createUser/vio'
 import MyDispatch from '@/components/dispatch'
 export default {
     components: {
-        createUser, MyIll, MyVio, MyDetail, MyDispatch
+        createUser, MyIll, MyVio, MyDetail, MyDispatch, MyIllDetail
     },
     data() {
         return {
@@ -222,7 +229,7 @@
                     checked: false,
                 },
             ],
-            mystatus: '',
+            mystatus: 1,
             statusArr: [],
             baseId: 0
 
diff --git a/src/views/operate/fivepack/shop/components/header/index.vue b/src/views/operate/fivepack/shop/components/header/index.vue
index 8cbb537..280fe26 100644
--- a/src/views/operate/fivepack/shop/components/header/index.vue
+++ b/src/views/operate/fivepack/shop/components/header/index.vue
@@ -8,11 +8,11 @@
                 </div>
                 <div class="status">
                     <span>搴楅摵鐘舵��:</span>
-                    <el-input placeholder="閫夋嫨搴楅摵鐘舵��" v-model="search"></el-input>
+                    <el-input placeholder="閫夋嫨搴楅摵鐘舵��" v-model="shopStatus"></el-input>
                 </div>
                 <div class="findBtn">
                     <el-button type="primary" @click="setSearch" icon="el-icon-search">鏌ヨ</el-button>
-                    <el-button icon="el-icon-delete-solid">閲嶇疆</el-button>
+                    <el-button icon="el-icon-delete-solid" @click="clearSearch">閲嶇疆</el-button>
                 </div>
             </div>
             <div class="add">
@@ -21,7 +21,7 @@
 
         </div>
         <div class="footer">
-            <el-dialog :visible.sync="dialogCreate" title="娣诲姞搴楅摵" width="45%" v-if="dialogCreate" @close="handleClose">
+            <el-dialog :visible.sync="dialogCreate" title="娣诲姞搴楅摵" width="45%" v-if="dialogCreate" :before-close="handleClose">
                 <createUser @sendDialog="sendDialog" />
             </el-dialog>
         </div>
@@ -37,21 +37,36 @@
         return {
             dialogCreate: false,
             search: '',
+            shopStatus:'',
         }
     },
     methods: {
+        // 杩斿洖缁欑埗绾ф悳绱㈠唴瀹�
         setSearch() {
             this.$emit('getSearch', { text: this.search })
         },
+        // 鐖剁骇鍏抽棴dialog
         sendDialog(flag) {
             console.log(flag);
             this.dialogCreate = flag.flag;
             this.$emit('setDialog', { flag: true })
         },
-        handleClose(){
-            console.log(this.dialogCreate);
-            console.log(1);
-        }
+        //鍏抽棴dialog
+        handleClose(done){
+            console.log(done);
+            this.$confirm('纭畾鍏抽棴锛�')
+            .then(_=>{
+                done();
+            })
+            .catch(err=>{
+                console.log(err)
+            })
+        },
+        // 娓呯┖search
+        clearSearch(){
+            this.search = '';
+            // this.$emit('getSearch',{text:this.search});
+        },
     },
     props: ['setDialog', 'getSearch', 'flag'],
 }
diff --git a/src/views/operate/fivepack/shop/components/main/index.vue b/src/views/operate/fivepack/shop/components/main/index.vue
index 72700bb..b611790 100644
--- a/src/views/operate/fivepack/shop/components/main/index.vue
+++ b/src/views/operate/fivepack/shop/components/main/index.vue
@@ -8,29 +8,30 @@
                 <el-table-column type="selection" min-width="5">
                 </el-table-column>
                 <el-table-column label="搴楅摵鍚嶇О" min-width="10">
-                    <template slot-scope="scope">{{ scope.row.id }}</template>
+                    <template slot-scope="scope">{{ scope.row.storeName }}</template>
                 </el-table-column>
-                <el-table-column prop="nickName" label="搴楅摵璐熻矗浜�" min-width="10">
+                <el-table-column prop="owner" label="搴楅摵璐熻矗浜�" min-width="10">
                 </el-table-column>
-                <el-table-column prop="username" label="搴楅摵鑱旂郴鐢佃瘽" min-width="10">
+                <el-table-column prop="contact" label="搴楅摵鑱旂郴鐢佃瘽" min-width="10">
                 </el-table-column>
-                <el-table-column prop="mobile" label="搴楅摵璇︾粏鍦板潃" min-width="10">
+                <el-table-column prop="storeAddress" label="搴楅摵璇︾粏鍦板潃" min-width="10">
                 </el-table-column>
-                <el-table-column prop="note" label="搴楅摵缂栧彿" min-width="10">
+                <el-table-column prop="storeNumber" label="搴楅摵缂栧彿" min-width="10">
                 </el-table-column>
                 <el-table-column prop="operation" label="鎿嶄綔" min-width="15">
                     <template slot-scope="scope">
                         <div class="operation">
-                            <el-link icon="el-icon-edit" :underline="false">缂栬緫</el-link>
-                            <el-link class="leftPx" icon="el-icon-delete-solid" :underline="false">鍒犻櫎</el-link>
+                            <el-link icon="el-icon-edit" :underline="false" @click.native.prevent='handleEdit(scope.row)'>缂栬緫</el-link>
+                            <el-link class="leftPx" icon="el-icon-delete-solid" :underline="false"
+                                @click.native.prevent="hadnleDelete(scope.row)">鍒犻櫎</el-link>
                         </div>
                     </template>
                 </el-table-column>
             </el-table>
             <!-- 鏌ョ湅淇敼椤甸潰 -->
             <el-dialog :visible.sync="dialogUpdate" width="45%" v-if="dialogUpdate"
-                :title="updateFlag ? '淇敼鐢ㄦ埛閮ㄩ棬淇℃伅' :'鏌ョ湅鐢ㄦ埛淇℃伅'">
-                <updateUser :updateFlag="updateFlag" :userInfo=userInfo />
+                title="缂栬緫鍟嗛摵淇℃伅" :before-close="handleClose">
+                <updateUser :userInfo=userInfo @changeDialog="changeDialog" />
             </el-dialog>
             <!-- 鍒嗛〉 -->
             <div class="pagination">
@@ -54,7 +55,6 @@
             tableData: [],
             search: "",
             dialogUpdate: false,
-            updateFlag: false,
             userInfo: '',
             totalNum: 200,
             pageSize: 10,
@@ -66,6 +66,64 @@
         this.getUserList();
     },
     methods: {
+        // 鍏抽棴寮圭獥
+        handleClose(done){
+            this.$confirm('纭鍏抽棴')
+            .then(_=>{
+                done();
+            })
+            .catch(err=>{
+                console.log(err);
+            })
+        },
+        // 鏀瑰彉寮圭獥鐘舵��
+        changeDialog({flag}){
+            this.dialogUpdate = flag;
+            this.getUserList();
+        },
+        // 鍒犻櫎
+        hadnleDelete({id}) {
+            console.log(id);
+            this.$confirm('纭畾鍒犻櫎锛�')
+            .then(_=>{
+                this.$axios({
+                    method:'get',
+                    url:`sccg/store/storeinfo/delete/${id}`
+                })
+                .then(res=>{
+                    if(res.code === 200){
+                        this.$message({
+                            type:'success',
+                            message:'鍒犻櫎鎴愬姛',
+                        })
+                        this.getUserList();
+                    }
+                })
+                .catch(err=>{
+                    console.log(err,2)
+                })
+            })
+            .catch(err=>{
+                console.log(err,1);
+            })
+        },
+        // 缂栬緫
+        async handleEdit({id}){
+            this.userInfo = await this.getShopInfo(id);
+            this.dialogUpdate = true;
+        },
+        // 鑾峰彇闂ㄥ簵淇℃伅
+        async getShopInfo(id){
+            let obj = {};
+            await this.$axios({
+                method:'get',
+                url:`sccg/store/storeinfo/${id}`,
+            })
+            .then(res=>{
+                obj = res.data
+            })
+            return obj;
+        },
         // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠�
         changeCurrentPage(page) {
             this.currentPage = page;
@@ -81,25 +139,10 @@
             this.currentPage = page;
             this.getUserList();
         },
-        // 淇敼瑙掕壊
-        handleChangeRole(obj) {
-            this.dialogUpdate = true
-            this.user = obj;
-            // console.log(obj)
-        },
-        // 淇敼鐢ㄦ埛鐘舵��
-        handleChangeStatus(obj) {
-            let { id, status } = obj;
-            status == true ? status = 1 : status = 0;
-            this.$axios.post(`sccg/admin/updateStatus/` + id + '?status=' + status).then(res => {
-                console.log(res);
-            })
-        },
         // 鑾峰彇鐢ㄦ埛鍒楄〃
         getUserList() {
             const that = this;
             const { currentPage, pageSize, search } = this;
-            console.log(typeof search);
             this.$axios.get(`sccg/store/storeinfo/list?keyword=${search}&pageNum=${currentPage}&pageSize=${pageSize}`)
                 .then(res => {
                     if (res.code === 200) {
@@ -112,18 +155,6 @@
                         this.renderFlag = true;
                     }
                 })
-        },
-        // 鏌ョ湅鐢ㄦ埛淇℃伅(涓嶅彲淇敼)
-        handleFind(rowData) {
-            this.dialogUpdate = true;
-            this.updateFlag = false;
-            this.userInfo = rowData;
-        },
-        // 淇敼鐢ㄦ埛閮ㄩ棬淇℃伅
-        handleUpdate(rowData) {
-            this.dialogUpdate = true;
-            this.updateFlag = true;
-            this.userInfo = rowData
         },
         // 璁剧疆琛ㄦ牸鏂戦┈绾�
         tableRowClassName({ row, rowIndex }) {
diff --git a/src/views/operate/fivepack/shop/components/updateUser/index.vue b/src/views/operate/fivepack/shop/components/updateUser/index.vue
index eabcd01..22f6691 100644
--- a/src/views/operate/fivepack/shop/components/updateUser/index.vue
+++ b/src/views/operate/fivepack/shop/components/updateUser/index.vue
@@ -1,107 +1,47 @@
 <template>
-    <div class="updateUser">
-        <!-- <header>
-            <div class="headerTitle">{{updateFlag ? '淇敼鐢ㄦ埛閮ㄩ棬淇℃伅' :'鏌ョ湅鐢ㄦ埛淇℃伅'}}</div>
-        </header> -->
+    <div class="createUser">
         <main>
-            <!-- <div class="mainTitle">鍩虹淇℃伅</div> -->
             <div class="mainContent">
-                <el-form ref="user" label-width="140px" autoComplete="on" :model="user" :rules="createUserRules"
+                <el-form ref="user" label-width="140px" autoComplete="on" :model="store" :rules="createUserRules"
                     label-position="right">
-                    <!-- 鐢ㄦ埛鍚嶇О -->
-                    <el-form-item class="optionItem" label="鐢ㄦ埛鍚嶇О:" prop="username">
-                        <el-input v-model="user.username" placeholder="濉啓鐢ㄦ埛鍚嶇О" :disabled="true"></el-input>
-                    </el-form-item>
-                    <!-- 鐢ㄦ埛瀵嗙爜 -->
-                    <el-form-item class="optionItems" label="鐢ㄦ埛瀵嗙爜:" prop="password">
-                        <el-input v-model="user.password" type="password" placeholder="璇疯緭鍏ョ敤鎴峰瘑鐮�" :disabled="true">
-                        </el-input>
-                    </el-form-item>
-                    <!-- 鎵�灞炵敤鎴峰鍚� -->
-                    <!-- <el-form-item class="optionItem" label="鎵�灞炵敤鎴峰鍚�:" prop="true_name">
-                        <el-input v-model="user.true_name" placeholder="璇峰~鍐欑敤鎴峰鍚�"></el-input>
-                    </el-form-item> -->
-                    <!-- 鎬у埆 -->
-                    <!-- <el-form-item class="optionItem" label="鎬у埆:" prop="gender">
-                        <el-radio-group v-model="user.gender">
-                            <el-radio :label="1">鐢�</el-radio>
-                            <el-radio :label="2">濂�</el-radio>
-                        </el-radio-group>
-                    </el-form-item> -->
-                    <!-- 鏄惁鍏氬憳 -->
-                    <el-form-item class="optionItem" label="鏄惁鍏氬憳:" prop="isDy">
-                        <el-radio-group v-model="user.isDy" disabled>
-                            <el-radio :label="1">鏄�</el-radio>
-                            <el-radio :label="0">鍚�</el-radio>
-                        </el-radio-group>
-                    </el-form-item>
-                    <!-- 鎵�灞炴墜鏈哄彿鐮� -->
-                    <el-form-item class="optionItem" label="鎵�灞炴墜鏈哄彿鐮�:" prop="mobile">
-                        <el-input v-model="user.mobile" placeholder="璇峰~鍐欐墜鏈哄彿鐮�" :disabled="true"></el-input>
-                    </el-form-item>
-                    <!-- 閭鍦板潃 -->
-                    <el-form-item class="optionItem" label="閭鍦板潃:" prop="email">
-                        <el-input v-model="user.email" placeholder="璇峰~鍐欓偖绠卞湴鍧�" :disabled="true"></el-input>
-                    </el-form-item>
-                    <!-- 閫夋嫨瑙掕壊 -->
-                    <!-- <el-form-item class="optionItem" label="閫夋嫨瑙掕壊:" prop="role">
-                        <el-select v-model="user.role" placeholder="璇烽�夋嫨鎵�灞炶鑹�">
-                            <el-option v-for="item in roleList" :key="item.name" :label="item.name" :value="item.value"
-                                :disabled="item.disabled">
-                            </el-option>
-                        </el-select>
-                    </el-form-item> -->
-                    <!-- 鐢ㄦ埛绫诲瀷 -->
-                    <el-form-item class="optionItem" label="鐢ㄦ埛绫诲瀷:" prop="userType">
-                        <el-select v-model="user.userType" placeholder="璇烽�夋嫨鐢ㄦ埛绫诲瀷" disabled>
-                            <el-option v-for="item in typeList" :key="item.name" :label="item.name" :value="item.value">
+                    <!-- 搴楅摵绫诲瀷 -->
+                    <el-form-item class="optionItem" label="搴楅摵绫诲瀷:" prop="storetype">
+                        <el-select v-model="store.storetype" placeholder="搴楅摵/闂ㄥ簵绫诲瀷">
+                            <el-option v-for="item in shopTypeList" :key="item.name" :label="item.name" :value="item.value">
                             </el-option>
                         </el-select>
                     </el-form-item>
-                    <!-- 搴ф満/鍒嗘満 -->
-                    <!-- <el-form-item class="optionItem" label="搴ф満/鍒嗘満:" prop="zj">
-                        <div class="optionHandleSp">
-                            <el-input class="areaNumber" v-model="user.zj.areaNumber" placeholder="鐢佃瘽鍖哄彿">
-                            </el-input>
-                            <el-input class="telNumber" v-model="user.zj.phoneNumber" placeholder="鐢佃瘽鍙风爜">
-                            </el-input>
-                            <el-input class="moreNumber" v-model="user.zj.moreNumber" placeholder="鍒嗘満鍙风爜">
-                            </el-input>
-                        </div>
-                    </el-form-item> -->
-                    <!-- 鎵�灞為儴闂� -->
-                    <el-form-item class="optionItem" label="鎵�灞為儴闂�:" prop="departmentId">
-                        <el-select v-model="user.department" placeholder="璇烽�夋嫨鎵�灞為儴闂�" :disabled="!updateFlag">
-                            <el-option v-for="item in typeList" :key="item.name" :label="item.departName"
-                                :value="item.id">
-                            </el-option>
-                        </el-select>
+                    <!-- 搴楅摵鍚嶇О -->
+                    <el-form-item class="optionItems" label="搴楅摵鍚嶇О:" prop="storeName">
+                        <el-input v-model="store.storeName" placeholder="璇峰~鍐欏簵閾哄悕绉�"></el-input>
                     </el-form-item>
-                    <!-- 褰撳墠鑱屽姟 -->
-                    <el-form-item class="optionItem" label="褰撳墠鑱屽姟:" prop="jobTitle">
-                        <el-select v-model="user.work" placeholder="璇烽�夋嫨褰撳墠鑱屽姟" disabled>
-                            <el-option v-for="item in typeList" :key="item.name" :label="item.name" :value="item.value">
-                            </el-option>
-                        </el-select>
+                    <!-- 璐熻矗浜� -->
+                    <el-form-item class="optionItem" label="璐熻矗浜�:" prop="owner">
+                        <el-input v-model="store.owner" placeholder="璇峰~鍐欏簵閾鸿礋璐d汉鍚嶅瓧"></el-input>
                     </el-form-item>
-                    <!-- 濉啓鎵�灞瀖ac鍦板潃 -->
-                    <!-- <el-form-item class="optionItem" label="濉啓鎵�灞瀖ac鍦板潃:" prop="mac">
-                        <el-input v-model="user.mac" placeholder="璇峰~鍐欐墍灞瀖ac鍦板潃"></el-input>
-                    </el-form-item> -->
-                    <!-- 濉啓鎵�灞瀒p鍦板潃 -->
-                    <!-- <el-form-item class="optionItem" label="濉啓鎵�灞瀒p鍦板潃:" prop="ip">
-                        <el-input v-model="user.ip" placeholder="璇峰~鍐欐墍灞瀒p鍦板潃"></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 class="optionItem" label="搴楅摵鎻忚堪:" prop="storeDesc">
+                        <el-input type="textarea" :autosize="{ minRows: 2, maxRows: 4}" maxlength="300" show-word-limit
+                            v-model="store.storeDesc" placeholder="杈撳叆閮ㄩ棬鎻忚堪"></el-input>
+                        <!-- <el-input type="textarea" v-model="user.storedesc" placeholder="杈撳叆閮ㄩ棬鎻忚堪"></el-input> -->
+                    </el-form-item>
+                    <!-- 鑱旂郴鏂瑰紡 -->
+                    <el-form-item class="optionItem" label="鑱旂郴鏂瑰紡:" prop="contact">
+                        <el-input v-model="store.contact" placeholder="璇峰~鍐欏簵閾鸿仈绯绘柟寮�"></el-input>
+                    </el-form-item>
+                    <!-- 搴楅摵鍦板潃 -->
+                    <el-form-item class="optionItem" label="搴楅摵鍦板潃:" prop="storeAddress">
+                        <el-input v-model="store.storeAddress" placeholder="璇峰~鍐欏簵閾鸿缁嗗湴鍧�"></el-input>
                     </el-form-item>
                 </el-form>
-
             </div>
         </main>
+        <footer>
+            <div class="optionBtn">
+                <el-button class="btn reset" @click="handleBack">鍙栨秷</el-button>
+                <el-button type="primary" class="btn submit" @click="handleUser">纭畾</el-button>
+            </div>
+        </footer>
     </div>
 </template>
 <script>
@@ -109,27 +49,23 @@
     data() {
         const validateNickname = (rule, value, callback) => {
             if (!value) {
-                callback(new Error("璇峰~鍐欑敤鎴峰悕绉�"));
+                callback(new Error("璐熻矗浜轰笉鑳戒负绌�"));
+            } else {
+                callback();
             }
         };
         const validatePass = (rule, value, callback) => {
             if (!value) {
-                callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�"));
+                callback();
             } else {
-                const rep = /^\w+$/;
-                if (!rep.test(value)) {
-                    callback(new Error("瀵嗙爜鍙兘鏄互鏁板瓧銆�26涓嫳鏂囧瓧姣嶆垨鑰呬笅鍒掔嚎缁勬垚鐨勫瓧绗︿覆"));
-                }
+                callback();
             }
         };
         const validateTruename = (rule, value, callback) => {
             if (!value) {
-                callback(new Error("璇峰~鍐欑敤鎴峰鍚�"));
+                callback(new Error('搴楅摵鍦板潃涓嶈兘涓虹┖'));
             } else {
-                const rep = /^[\u4E00-\u9FA5]{2,4}$/;
-                if (!rep.test(value)) {
-                    callback("璇疯緭鍏ユ纭殑鐢ㄦ埛濮撳悕");
-                }
+                callback()
             }
         };
         const validatePhone = (rule, value, callback) => {
@@ -139,201 +75,148 @@
                 const rep = /(^1[3|4|5|7|8|9]\d{9}$)|(^09\d{8}$)/
                 if (!rep.test(value)) {
                     callback("璇疯緭鍏ユ纭殑鎵嬫満鍙风爜");
+                }else{
+                    callback();
                 }
             }
         };
         const validateMail = (rule, value, callback) => {
             if (value) {
-                const rep = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;
-                if (!rep.test(value)) {
-                    callback(new Error("璇疯緭鍏ユ纭殑閭"))
-                }
-            }
-        };
-        const validateRole = (rule, value, callback) => {
-            if (!value) {
-                callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�"));
-            } else {
                 callback();
+            } else {
+                callback(new Error('搴楅摵鍚嶇О涓嶈兘涓虹┖'))
             }
         };
         const validateType = (rule, value, callback) => {
             if (!value) {
-                callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�"));
-            } else {
+                callback(new Error('闂ㄥ簵绫诲瀷涓嶈兘涓虹┖'));
+            } else { 
                 callback();
             }
         };
-        const validateDepartment = (rule, value, callback) => {
+        const validateDesc = (rule, value, callback) => {
             if (!value) {
-                callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�"));
-            } else {
                 callback();
-            }
-        };
-        const validateWork = (rule, value, callback) => {
-            if (!value) {
-                callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�"));
-            } else {
-                callback();
-            }
-        };
-        const validateMac = (rule, value, callback) => {
-            if (!value) {
-                callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�"));
-            } else {
-                callback();
-            }
-        };
-        const validateIp = (rule, value, callback) => {
-            if (!value) {
-                callback(new Error("璇峰~鍐欑櫥褰曞瘑鐮�"));
             } else {
                 callback();
             }
         };
         return {
-            user: {
-                nickName: '',
-                password: '',
-                username: '',
-                // gender: 1,
-                isDy: 1,
-                mobile: '',
-                email: '',
-                // role: null,
-                userType: null,
-                zj: {
-                    areaNumber: '',
-                    phoneNumber: "",
-                    moreNumber: "",
-                },
-                departmentId: null,
-                jobTitle: null,
-                // mac: '',
-                // ip: '',
+            store: {
             },
             createUserRules: {
-                nickName: [
+                owner: [
                     { required: true, trigger: "blur", validator: validateNickname },
                 ],
-                password: [
+                storetype:[
+                    {
+                        required:true,trigger:'change', validator:validateType,
+                    }
+                ],
+                idcardinfo: [
                     { required: true, trigger: "blur", validator: validatePass },
                 ],
-                username: [
+                storeAddress: [
                     { required: true, trigger: "blur", validator: validateTruename },
                 ],
-                // gender: [
-                //     { required: true, trigger: "blur" },
-                // ],
-                isDy: [
-                    { required: true, trigger: "blur" },
-                ],
-                mobile: [
+                contact: [
                     { required: true, trigger: "blur", validator: validatePhone },
                 ],
-                email: [
-                    { required: false, trigger: "blur", validator: validateMail },
+                storeName: [
+                    { required: true, trigger: "blur", validator: validateMail },
                 ],
-                // role: [
-                //     { required: true, trigger: "blur", validator: validateRole },
-                // ],
-                userType: [
-                    { required: true, trigger: "blur", validator: validateType },
+                storeDesc: [
+                    { required: false, trigger: "blur", validator: validateDesc },
                 ],
-                zj: [
-                    { required: false, trigger: "blur" },
-                ],
-                departmentId: [
-                    { required: true, trigger: "blur", validator: validateDepartment },
-                ],
-                jobTitle: [
-                    { required: true, trigger: "blur", validator: validateWork },
-                ],
-                // mac: [
-                //     { required: false, trigger: "blur", validator: validateMac },
-                // ],
-                // ip: [
-                //     { required: false, trigger: "blur", validator: validateIp },
-                // ],
             },
-            roleList: [
-                { name: '瑙掕壊1', value: 1 }, { name: '瑙掕壊2', value: 2 }
+            shopTypeList: [
+                { name: '绫诲瀷1', value: 1 }, { name: '绫诲瀷2', value: 2 }
             ],
-            typeList: []
         }
     },
     created() {
-        const that = this;
-        this.user = JSON.parse(JSON.stringify(that.userInfo));
-        // 鑾峰彇瑙掕壊鍒楄〃
-        // this.$axios.get('')
-        // 鑾峰彇鐢ㄦ埛绫诲瀷鍒楄〃
-        // this.$axios.get('sccg/admin/list',{userType:0}).then(res=>{
-        //     console.log(res);
-        // })
-        // 鑾峰彇鍏ㄩ儴閮ㄩ棬鍒楄〃
-        this.$axios.get('sccg/depart/page').then(res => {
-            that.typeList = res.data.records;
-        })
+        const {userInfo} = this;
+        console.log(userInfo)
+        this.store = userInfo;
     },
     methods: {
         handleUser() {
-            const { user } = this;
-            this.$axios.post('sccg/depart/status', {
-                id: user.departmentId,
-                status: user.status ? 1 : 0,
-            }).then(res => {
-                console.log(res);
+            const { store } = this;
+            this.$refs.user.validate((valid)=>{
+                console.log(valid);
+                if(valid){
+                    this.$axios({
+                        method:'put',
+                        url:'sccg/store/storeinfo/update',
+                        data:{
+                            contact:store.contact,
+                            idcardinfo:store.idCardInfo,
+                            owner:store.owner,
+                            storeAddress:store.storeAddress,
+                            storeName:store.storeName,
+                            id:store.id,
+                            storePhoto:store.storePhoto,
+                            storeScore:store.storeScore,
+                        }
+                    })
+                    .then(res=>{
+                        console.log(res);
+                        if(res.code===200){
+                            this.$message({
+                                type:'success',
+                                message:'淇敼鎴愬姛',
+                            })
+                            this.$emit('changeDialog',{flag:false});
+                        }else{
+                            this.$message({
+                                type:'error',
+                                message:res.message,
+                            })
+                        }
+                    })
+                }else{
+                    return false;
+                }
             })
+        },
+        handleBack(){
+            this.$emit('changeDialog',{flag:false})
         }
     },
-    props: ['userInfo', 'updateFlag']
+    props: ['userInfo','changeDialog']
 }
 </script>
 <style lang="scss" scoped>
-.updateUser {
+.createUser {
     border-radius: 1px;
     background-color: #09152f;
-
-    // header {
-    //     display: flex;
-    //     justify-content: center;
-    //     height: 60px;
-    //     line-height: 60px;
-    //     padding: 0 20px;
-    //     border: 1px solid #fff;
-    //     .headerTitle {
-    //         color: #4b9bb7;
-    //         font-weight: 600;
-    //     }
-
-    //     .headerTip span {
-    //         color: #ff3b6c;
-    //     }
-
-    //     .headerTip label {
-    //         color: #4b9bb7;
-    //     }
-    // }
+    padding-bottom: 50px;
 
     main {
-        // border: 1px solid #fff;
         text-align: left;
         padding: 0 55px;
         background-color: #09152f;
-        padding-bottom: 50px;
-        // .mainTitle {
-        //     color: #4b9bb7;
-        //     font-weight: 600;
-        //     line-height: 100px;
-        //     font-size: 14px;
-        // }
+        padding-top: 20px;
 
         .mainContent {
             display: flex;
             justify-content: center;
-            padding-top: 50px;
+            margin-top: 50px;
+
+            &::v-deep .el-form-item__label {
+                color: #4b9bb7;
+            }
+
+            &::v-deep .el-input__inner {
+                background-color: #09152f;
+                border: 1px solid #17324c;
+            }
+
+            &::v-deep .el-textarea__inner {
+                background-color: #09152f;
+                border: 1px solid #17324c;
+            }
+
             .el-form-item__content {
                 width: 400px;
 
@@ -355,25 +238,32 @@
                 }
             }
 
-            .optionBtn {
-                display: flex;
-                margin-top: 20px;
-
-                .btn {
-                    padding: 12px 50px;
-                }
-            }
-
         }
     }
-}
 
-.updateUser::v-deep .el-form-item__label {
-    color: #4b9bb7;
-}
+    footer {
+        border-top: 1px solid #4b9bb7;
+        display: flex;
+        justify-content: flex-end;
+        padding: 0 20px;
 
-.updateUser::v-deep .el-input__inner {
-    background-color: #09152f;
-    border: 1px solid #17324c;
+        .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-input__count {
+        background-color: #09152f;
+    }
 }
 </style>
\ No newline at end of file
diff --git a/src/views/operate/management/myIndex/index.vue b/src/views/operate/management/myIndex/index.vue
index c1b5985..39d0bde 100644
--- a/src/views/operate/management/myIndex/index.vue
+++ b/src/views/operate/management/myIndex/index.vue
@@ -19,10 +19,6 @@
         </header>
         <main>
             <div class="mainContent">
-                <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'}"
@@ -55,8 +51,8 @@
                         <template slot-scope="scope">
                             <div class="btn">
                                 <span @click="handleExamine(scope.row)" v-if="instatus===7 ? true : false">瀹℃牳</span>
-                                <span class="line" v-if="instatus===7 ? true : false">|</span>
-                                <span @click="handleClosure(scope.row)">缁撴</span>
+                                <!-- <span class="line" v-if="instatus===7 ? true : false">|</span> -->
+                                <span @click="handleClosure(scope.row)" v-if="instatus===8">缁撴</span>
                             </div>
                         </template>
                     </el-table-column>
@@ -71,6 +67,12 @@
                     :before-close="handleClose">
                     <MyClosure :info="info" @closeDialog="closeDialog"></MyClosure>
                 </el-dialog>
+                <!-- 璇︽儏椤甸潰 -->
+                <el-dialog :visible.sync="dialogView" width="80%" title="鍩虹淇℃伅(浜哄伐)" v-if="dialogView"
+                    :before-close="handleClose">
+                    <MyDetail :info=info v-if="myproblem==1 ? true:false"></MyDetail>
+                    <MyIllDetail :info=info v-else></MyIllDetail>
+                </el-dialog>
                 <!-- tools -->
                 <div class="tools">
                     <div class="funs">
@@ -81,7 +83,7 @@
                             <el-checkbox v-model="unsame" @change="disSame(tableData)">鍙嶉��</el-checkbox>
                         </div>
                         <div class="funsItem">
-                            <el-select v-model="myIdx" placeholder="鎵归噺鎿嶄綔" @change="selectChange">
+                            <el-select v-model="myIdx" placeholder="鎵归噺鎿嶄綔" @change="selectChange" disabled>
                                 <el-option v-for="item in options" :key="item.value" :label="item.label"
                                     :value="item.value" :disabled="item.disabled">
                                 </el-option>
@@ -102,15 +104,18 @@
 <script>
 import MyExamine from './components/examine'
 import MyClosure from './components/closure'
+import MyDetail from '@/components/detail'
+import MyIllDetail from '@/components/illdetail'
 export default {
     components: {
-        MyExamine,MyClosure
+        MyExamine,MyClosure,MyDetail,MyIllDetail
     },
     data() {
         return {
             tableData: [],
             dialogExamine:false,
             dialogClosure:false,
+            dialogView:false,
             info: {},
             totalNum: null,
             pageSize: 10,
@@ -245,18 +250,6 @@
                 this.tableData = res.data.records;
             })
         },
-        // 鏇存敼杩濊/杩濆缓
-        changeTypeChecked(idx) {
-            this.typeList.forEach((item, index) => {
-                if (index === idx) {
-                    item.checked = true;
-                } else {
-                    item.checked = false;
-                }
-            });
-            this.myproblem = idx+1;
-            this.getUserList();
-        },
         // 璁剧疆琛ㄦ牸鏂戦┈绾�
         tableRowClassName({ row, rowIndex }) {
             if ((rowIndex + 1) % 2 == 0) {
@@ -290,11 +283,22 @@
                 .catch(_ => { });
         },
         async JumpView(data) {
-            console.log(data);
             await this.getEventInfo(data.code);
         },
         // 鑾峰彇妗堜欢淇℃伅
         getEventInfo(code) {
+            this.$axios({
+                method: 'get',
+                url: `sccg/base_case/baseCaseDetail/${code}`
+            })
+                .then(res => {
+                    console.log(res);
+                    this.info = res.data;
+                    this.dialogView = true;
+                })
+        },
+        // 鑾峰彇妗堜欢淇℃伅
+        getEventInfo3(code) {
             this.$axios({
                 method: 'get',
                 url: `sccg/base_case/baseCaseDetail/${code}`
@@ -319,7 +323,7 @@
         },
         // 鍘诲鏍�
         handleExamine({code}) {
-            this.getEventInfo(code);
+            this.getEventInfo3(code);
         },
         // 鍘荤粨妗�
         handleClosure({code}){
@@ -375,30 +379,9 @@
         margin-top: 20px;
         padding-bottom: 50px;
         border: 1pox solid #fff;
-
-        .type-nav {
-            display: flex;
-            line-height: 40px;
-            margin-left: 30px;
-            padding-top: 10px;
-            margin-bottom: 10px;
-
-            .type-item {
-                width: 80px;
-                text-align: center;
-
-                &:hover {
-                    cursor: pointer;
-                }
-            }
-
-            .is-active {
-                background-color: #070f22;
-                border-radius: 4px;
-                color: #fff;
-            }
+        .btn span:hover{
+            cursor: pointer;
         }
-
         .tools {
             display: flex;
             justify-content: space-between;
diff --git a/src/views/systemSetting/baseSetting/department/index.vue b/src/views/systemSetting/baseSetting/department/index.vue
index f716b60..7029b46 100644
--- a/src/views/systemSetting/baseSetting/department/index.vue
+++ b/src/views/systemSetting/baseSetting/department/index.vue
@@ -94,7 +94,6 @@
 <script>
 import createUser from "./createUser"
 import updateUser from "./updateUser"
-import helper from "@/utils/mydate.js"
 export default {
     components: {
         createUser, updateUser
@@ -191,9 +190,6 @@
                 this.all = false
             }
         },
-        changeTime({ createTime }) {
-            return helper(createTime);
-        },
         selectAll() {
 
             this.$refs.multipleTable.toggleAllSelection();
@@ -228,11 +224,10 @@
                 })
                 .catch(_ => { });
         },
-        // 淇敼鐢ㄦ埛鐘舵��
+        // 淇敼鐘舵��
         handleChangeStatus(obj) {
             let { id, status } = obj;
             status == true ? status = 1 : status = 0;
-            console.log(id, status);
             this.$axios.post(`sccg/depart/status`, { id: id, status: status }).then(res => {
                 if (res.code == 200) {
                     this.getUserList();
@@ -247,8 +242,7 @@
             this.$axios.get('sccg/depart/page').then(res => {
                 if (res.code === 200) {
                     res.data.records.forEach(item => {
-                        item.createTime = helper(item.createTime);
-                        item.status == 1 ? item.status = true : item.status = false;
+                        item.status == 0 ? item.status = false : item.status = true;
                     })
                     that.totalNum = res.data.records.length;
                     that.tableData = res.data.records.slice((that.currentPage - 1) * that.pageSize, that.currentPage * that.pageSize)
@@ -262,7 +256,6 @@
             this.$axios.get('sccg/depart/page', { params: { currentPage: this.currentPage, pageSize: this.pageSize, departName: this.context } }).then(res => {
                 if (res.code === 200) {
                     res.data.records.forEach(item => {
-                        item.createTime = helper(item.createTime);
                         item.status == 1 ? item.status = true : item.status = false;
                     })
                     that.totalNum = res.data.records.length;

--
Gitblit v1.8.0