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