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