From 68270bc858a465bc482820586a7ccb534b6c3565 Mon Sep 17 00:00:00 2001
From: “dzb” <2632970487@qq.com>
Date: 星期一, 17 十月 2022 18:40:57 +0800
Subject: [PATCH] 新增日志管理
---
src/views/operate/management/myIndex/components/closure/index.vue | 4
src/store/logs/index.js | 22
src/views/operate/message/myIndex/createUser/index.vue | 18
src/store/index.js | 3
src/views/operate/disposal/casepool/pool/createUser/vio/index.vue | 8
src/views/login/index.vue | 1
src/views/operate/management/myIndex/components/examine/index.vue | 17
src/views/operate/log/index.vue | 528 ++++++++++++++++++++++
src/views/operate/message/myIndex/index.vue | 35
src/views/operate/management/myIndex/components/illclosure/index.vue | 334 ++++++++++++++
src/router/index.js | 5
src/views/layout/components/Menu/index.vue | 10
src/utils/helper.js | 31
src/views/operate/disposal/casepool/dispatch/index.vue | 6
src/api/logs.js | 28 +
src/views/systemSetting/baseSetting/department/index.vue | 4
src/views/systemSetting/device/bayonet/index.vue | 6
src/views/operate/management/myIndex/index.vue | 15
src/views/operate/management/myIndex/components/illExamine/index.vue | 284 ++++++++++++
19 files changed, 1,295 insertions(+), 64 deletions(-)
diff --git a/src/api/logs.js b/src/api/logs.js
new file mode 100644
index 0000000..349eee2
--- /dev/null
+++ b/src/api/logs.js
@@ -0,0 +1,28 @@
+import axios from "axios";
+import {getToken} from '@/utils/helper'
+const baseUrl = '/sccg/log_manage'
+const token = {
+ 'Authorization':getToken()
+}
+export default {
+ // 鑾峰彇鏃ュ織鍒楄〃
+ getLogsList: (data) => axios({
+ method: 'get',
+ url: baseUrl+'/query',
+ headers:{...token},
+ params: data
+ }),
+ // 鑾峰彇鏃ュ織鎿嶄綔绫诲瀷
+ getLogsOperationType:() => axios({
+ method:'get',
+ url:baseUrl+'/query_operationType',
+ headers:{...token},
+ }),
+ // 瀵煎嚭鏃ュ織
+ exportLogs:(data)=>axios({
+ method:'post',
+ url:baseUrl+'/export',
+ headers:{...token},
+ params:data
+ })
+};
diff --git a/src/router/index.js b/src/router/index.js
index f4aa33d..7e6331e 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -253,6 +253,11 @@
component: () => import('@/views/operate/message/mycontrol'),
},
]
+ },
+ {
+ path: 'log',
+ name: 'log',
+ component: () => import('@/views/operate/log'),
}
]
},
diff --git a/src/store/index.js b/src/store/index.js
index bb05c23..3b44862 100644
--- a/src/store/index.js
+++ b/src/store/index.js
@@ -1,6 +1,7 @@
import Vue from 'vue'
import Vuex from 'vuex'
import users from "./users"
+import logs from "./logs"
Vue.use(Vuex)
export default new Vuex.Store({
@@ -13,6 +14,6 @@
actions: {
},
modules: {
- users
+ users,logs
}
})
diff --git a/src/store/logs/index.js b/src/store/logs/index.js
new file mode 100644
index 0000000..5193a9a
--- /dev/null
+++ b/src/store/logs/index.js
@@ -0,0 +1,22 @@
+import logsApi from "@/api/logs";
+// import { Message } from "element-ui";
+export default {
+ namespaced: true,
+ state: {
+ userInfo: {},
+ },
+ actions: {
+ async getLogsList({ state }, params) {
+ const res = await logsApi.getLogsList(params);
+ return res;
+ },
+ async getLogsOperationType({ state }) {
+ const res = await logsApi.getLogsOperationType();
+ return res;
+ },
+ async exportLogs({ state },params) {
+ const res = await logsApi.exportLogs(params);
+ return res;
+ }
+ },
+};
diff --git a/src/utils/helper.js b/src/utils/helper.js
index e8e2d20..2c1f075 100644
--- a/src/utils/helper.js
+++ b/src/utils/helper.js
@@ -22,24 +22,33 @@
return filterTime(t2.getTime() - t1.getTime());
}
// 鑾峰彇瀛楀吀琛�
-export async function getTypeList(level,code){
+export async function getTypeList(level, code) {
let arr;
await myrequest({
- method:'get',
- url:`sccg/dict/query_type?level=${level}&typeCode=${code}`
+ method: 'get',
+ url: `sccg/dict/query_type?level=${level}&typeCode=${code}`
})
- .then(res=>{
- arr = res.data;
- })
+ .then(res => {
+ arr = res.data;
+ })
return arr;
+}
+// 鑾峰彇token
+export function getToken() {
+ const token = sessionStorage.getItem('token');
+ const tokenHead = sessionStorage.getItem('tokenHead');
+ if (token && tokenHead) {
+ return tokenHead + token;
+ }
+ return;
}
function filterTime(time) {
if (time < 0) {
return '宸查�炬湡';
}
- let dd = Math.floor(time/24/60/60/1000),
- hh = Math.floor(time/60/60/1000-dd*24),
- mi = Math.floor(time/60/1000-dd*24*60-hh*60);
+ let dd = Math.floor(time / 24 / 60 / 60 / 1000),
+ hh = Math.floor(time / 60 / 60 / 1000 - dd * 24),
+ mi = Math.floor(time / 60 / 1000 - dd * 24 * 60 - hh * 60);
return addDay(fillTime(dd)) + addHour(fillTime(hh)) + addMin(fillTime(mi));
}
function fillTime(num) {
@@ -50,14 +59,14 @@
}
function addDay(str) {
str = parseFloat(str);
- if (str <0) {
+ if (str < 0) {
return;
}
return str + '澶�'
}
function addHour(str) {
str = parseFloat(str);
- if (str <0) {
+ if (str < 0) {
return;
}
return str + '灏忔椂'
diff --git a/src/views/layout/components/Menu/index.vue b/src/views/layout/components/Menu/index.vue
index 635f444..acc142b 100644
--- a/src/views/layout/components/Menu/index.vue
+++ b/src/views/layout/components/Menu/index.vue
@@ -28,13 +28,13 @@
<el-menu-item index="/home/system/userSetting/department">閮ㄩ棬绠$悊</el-menu-item>
</el-submenu>
<!-- 骞冲彴璁剧疆 -->
- <el-submenu index="/home/system/add" class="secondMenu">
+ <el-submenu index="/home/system/platform" class="secondMenu">
<template slot="title">
<span class="secondSpan">闂ㄦ埛绠$悊</span>
</template>
- <el-menu-item index="/home/system/mySetting">鑷畾涔夎彍鍗�</el-menu-item>
- <el-menu-item index="/home/system/portalSetting">logo绠$悊</el-menu-item>
- <el-menu-item index="/home/system/otherInterface">绗笁鏂规帴鍙g鐞�</el-menu-item>
+ <el-menu-item index="/home/system/platform/mySetting">鑷畾涔夎彍鍗�</el-menu-item>
+ <el-menu-item index="/home/system/platform/portalSetting">logo绠$悊</el-menu-item>
+ <el-menu-item index="/home/system/platform/otherInterface">绗笁鏂规帴鍙g鐞�</el-menu-item>
</el-submenu>
<!-- 璁惧绠$悊 -->
<el-submenu index="/home/system/device" class="secondMenu">
@@ -110,7 +110,7 @@
<el-menu-item index="/home/operate/message/mycontrol">鏍忕洰绠$悊</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/log">鏃ュ織绠$悊</el-menu-item>
</el-submenu>
<!-- 瑙嗛宸℃煡妯″潡 -->
<el-submenu index="/home/video" class="firstMenu">
diff --git a/src/views/login/index.vue b/src/views/login/index.vue
index ed477bb..0da15ac 100644
--- a/src/views/login/index.vue
+++ b/src/views/login/index.vue
@@ -118,6 +118,7 @@
handleLogin() {
const { username, password } = this.loginForm;
const that = this;
+ console.log(this.login);
this.$axios
.post("sccg/admin/login", {
password,
diff --git a/src/views/operate/disposal/casepool/dispatch/index.vue b/src/views/operate/disposal/casepool/dispatch/index.vue
index effa791..78a7bbf 100644
--- a/src/views/operate/disposal/casepool/dispatch/index.vue
+++ b/src/views/operate/disposal/casepool/dispatch/index.vue
@@ -35,7 +35,7 @@
<el-link @click="JumpView(scope.row)">{{scope.row.code}}</el-link>
</template>
</el-table-column>
- <el-table-column prop="eventSource" label="闂鏉ユ簮" min-width="7">
+ <el-table-column prop="eventSource" label="闂鏉ユ簮" min-width="8">
<template slot-scope="scope">
<span>{{scope.row.eventSource === 2 ? '浜哄伐涓婃姤' : '瑙嗛涓婁紶'}}</span>
</template>
@@ -72,8 +72,6 @@
<template slot-scope="scope">
<div class="operation">
<div class="btn">
- <span>璋冨害</span>
- <span class="line">|</span>
<span @click="opernDialog(scope.row)">涓婁紶澶勭疆缁撴灉</span>
</div>
</div>
@@ -87,7 +85,7 @@
<MyIllDetail :info=info v-else></MyIllDetail>
</el-dialog>
<!-- 涓婁紶椤甸潰 -->
- <el-dialog :visible.sync="dialogUpload" width="60%" title="涓婁紶澶勭疆缁撴灉" v-if="dialogUpload"
+ <el-dialog :visible.sync="dialogUpload" width="80%" title="涓婁紶澶勭疆缁撴灉" v-if="dialogUpload"
:before-close="handleClose">
<uploadVio v-if="mystatus === 1" :caseId="caseId" @closeDialog="closeDialog"></uploadVio>
<uploadIll v-else :caseId="caseId" @closeDialog="closeDialog"></uploadIll>
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 b6d8f0c..853168f 100644
--- a/src/views/operate/disposal/casepool/pool/createUser/vio/index.vue
+++ b/src/views/operate/disposal/casepool/pool/createUser/vio/index.vue
@@ -142,6 +142,7 @@
import MyMap from '@/components/map'
import { validateName, validatePhone, validateCarNum, validateCardId } from '@/utils/validate'
import {getTypeList} from '@/utils/helper'
+import {parseTime} from "@/utils/index"
export default {
components: {
MyMap
@@ -454,13 +455,16 @@
this.$refs.user.validate((valid) => {
if (valid) {
const { vio } = this;
- console.log(vio);
this.$axios({
method: 'post',
url: 'sccg/base_case/addition_violation',
- data: vio
+ data: {
+ ...vio,
+ alarmTime:parseTime(vio.alarmTime),
+ }
})
.then(res => {
+ console.log(res);
if (res.code === 200) {
this.$message({
type: 'success',
diff --git a/src/views/operate/log/index.vue b/src/views/operate/log/index.vue
new file mode 100644
index 0000000..5480f57
--- /dev/null
+++ b/src/views/operate/log/index.vue
@@ -0,0 +1,528 @@
+<template>
+ <div class="userList">
+ <header>
+ <div class="header-nav">
+ <span class="nav-left">鏁版嵁绛涢��</span>
+ <span class="nav-right">楂樼骇鎼滅储</span>
+ </div>
+ <div class="header-content">
+ <div class="search">
+ <span>杈撳叆鏌ヨ:</span>
+ <el-input placeholder="鍐呭淇℃伅" v-model="context"></el-input>
+ </div>
+ <div class="message-status">
+ <span>鎿嶄綔绫诲瀷:</span>
+ <el-select v-model="operationType" style="margin-left:20px">
+ <el-option v-for="item in operationTypeList" :key="item.id" :label="item.operationType"
+ :value="item.operationType">
+ </el-option>
+ </el-select>
+ </div>
+ <div class="message-kind">
+ <span>鏃堕棿鑼冨洿:</span>
+ <el-input placeholder="閫夋嫨鏃堕棿鑼冨洿" v-model="timeArea"></el-input>
+ </div>
+ <div class="find">
+ <el-button type="primary" icon="el-icon-search" @click="setTableData">鏌ヨ</el-button>
+ <el-button icon="el-icon-delete-solid">閲嶇疆</el-button>
+ </div>
+ </div>
+ </header>
+ <main>
+ <div class="mainContent">
+ <div class="main-nav">
+ <span>鏁版嵁鍒楄〃</span>
+ <div class="main-nav-right">
+ <el-button type="primary" icon="el-icon-upload2" @click="handleExport">瀵煎嚭</el-button>
+ <el-button class="el-icon-delete-solid">娓呯┖</el-button>
+ </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="createTime" label="鏃ュ織鏃堕棿" min-width="10">
+ <template slot-scope="scope">
+ <span>{{changeTime(scope.row.createTime)}}</span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="userAgent" label="缁堢璁惧" min-width="10">
+ </el-table-column>
+ <el-table-column prop="operationType" label="鎿嶄綔绫诲瀷" min-width="10">
+ </el-table-column>
+ <el-table-column prop="adminId" label="鎿嶄綔浜哄憳" min-width="10">
+ </el-table-column>
+ <el-table-column prop="ip" label="IP鍦板潃" min-width="10">
+ </el-table-column>
+ <el-table-column prop="contain" label="鍐呭" min-width="10">
+ </el-table-column>
+ </el-table>
+ <!-- tools -->
+ <div class="tools">
+ <div class="funs">
+ <div class="funsItem funs-sp">
+ <el-checkbox v-model="all" @change="selectAll()">鍏ㄩ��</el-checkbox>
+ </div>
+ <div class="funsItem funs-sp">
+ <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">
+ </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'
+import { createNamespacedHelpers } from "vuex";
+const { mapActions } = createNamespacedHelpers("logs");
+export default {
+ components: {
+ },
+ data() {
+ return {
+ tableData: [],
+ context: "",
+ totalNum: null,
+ pageSize: 10,
+ currentPage: 1,
+ all: false,
+ unsame: false,
+ myIdx: null,
+ preMyIdx: null,
+ options: [
+ {
+ value: 1,
+ label: '鎵归噺鍚敤',
+ },
+ {
+ value: 2,
+ label: '鎵归噺绂佺敤',
+ },
+ {
+ value: 3,
+ label: '鎵归噺鍒犻櫎',
+ }
+ ],
+ tempList: [],
+ timeArea: '',
+ operationType: '鍏ㄩ儴',
+ operationTypeList: [],
+ }
+ },
+ created() {
+ this.setTableData();
+ this.setOperationType();
+ },
+ methods: {
+ ...mapActions(["getLogsList", 'getLogsOperationType', 'exportLogs']),
+ // 瀵煎嚭鏃ュ織
+ async handleExport() {
+ const { currentPage, pageSize, context, operationType } = this;
+ let arr = await this.exportLogs({
+ content: context,
+ current: currentPage,
+ size: pageSize,
+ });
+ const blob = new Blob([arr.data], {
+ type: 'application/octet-stream'
+ })
+ // content-disposition
+ const downloadElement = document.createElement('a')
+ // 鍒涘缓涓嬭浇鐨勯摼鎺�
+ const href = window.URL.createObjectURL(blob)
+ downloadElement.href = href
+ // // 涓嬭浇鍚庢枃浠跺悕
+ // downloadElement.download = '鏃ュ織鎶ュ憡'+'.xlsx'
+ document.body.appendChild(downloadElement)
+ // 鐐瑰嚮涓嬭浇
+ downloadElement.click()
+ // 涓嬭浇瀹屾垚绉婚櫎鍏冪礌
+ document.body.removeChild(downloadElement)
+ // 閲婃斁鎺塨lob瀵硅薄
+ window.URL.revokeObjectURL(href)
+ },
+ // 璁剧疆鎿嶄綔绫诲瀷
+ async setOperationType() {
+ this.operationTypeList = await this.getOperationType();
+ },
+ // 鑾峰彇鎿嶄綔绫诲瀷
+ async getOperationType() {
+ let arr = await this.getLogsOperationType();
+ console.log(arr);
+ arr.data.data.unshift({ id: 0, operationType: '鍏ㄩ儴' })
+ return arr.data.data;
+ },
+ // 鎵归噺鍒犻櫎
+ handleDelete(idarr) {
+ this.$confirm('纭鍒犻櫎?')
+ .then(_ => {
+ this.$axios({
+ method: 'post',
+ url: 'sccg/message/delete?ids=' + idarr,
+ })
+ .then(res => {
+ if (res.code === 200) {
+ this.$message({
+ type: 'success',
+ message: '鍒犻櫎鎴愬姛',
+ })
+ this.setTableData();
+ } else {
+ this.$message({
+ type: 'error',
+ message: res.message
+ })
+ }
+ })
+ })
+ },
+ // 璁剧疆琛ㄦ牸鏁版嵁
+ async setTableData() {
+ const arr = await this.getLogList();
+ this.tableData = arr.records;
+ this.totalNum = arr.total
+ },
+ // 鑾峰彇鏃ュ織鏁版嵁
+ async getLogList() {
+ const { currentPage, pageSize, context, operationType } = this;
+ let arr = await this.getLogsList({
+ content: context,
+ current: currentPage,
+ endTime: '',
+ id: '',
+ operationType: operationType === '鍏ㄩ儴' ? '' : operationType,
+ portEqulpment: '',
+ size: pageSize,
+ startTime: '',
+ })
+ return arr.data.data;
+ },
+ // 鎵归噺涓嬫媺妗嗘搷浣�
+ async selectChange(list) {
+ console.log(this.tempList);
+ if (this.tempList.length !== 0) {
+ this.preMyIdx = list;
+ if (list === 3) {
+ await this.handleDelete(this.tempList);
+ } else if (list === 2) {
+ await this.mulUpdateStatus(this.tempList, 0);
+ } else {
+ await this.mulUpdateStatus(this.tempList, 1);
+ }
+ this.myIdx = 0;
+ } else {
+ this.myIdx = this.preMyIdx;
+ this.$message({
+ type: 'warning',
+ message: '鎮ㄨ繕娌¢�変腑浠讳綍鏁版嵁',
+ })
+ }
+ },
+ // 鎵归噺鎿嶄綔
+ mulUpdateStatus(idArr, flag) {
+ this.$confirm(flag === 1 ? "鎮ㄧ‘瀹氳杩涜鎵归噺鍚敤瑙掕壊鍚�?" : '鎮ㄧ‘瀹氳杩涜鎵归噺绂佺敤瑙掕壊鍚�?')
+ .then(_ => {
+ this.$axios({
+ method: 'post',
+ url: 'sccg/role/updateStatusBatch?ids=' + idArr + '&status=' + flag,
+ })
+ .then(res => {
+ if (res.code === 200) {
+ this.$message({
+ type: 'success',
+ message: '鏇存敼鐢ㄦ埛鐘舵�佹垚鍔�',
+ })
+ this.getUserList();
+ } else {
+ this.$message({
+ type: 'error',
+ message: res.message
+ })
+ }
+ console.log(res);
+ })
+ })
+ .catch(err => { console.log(err) })
+ },
+ // 琛ㄦ牸鐩戝惉
+ 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(time) {
+ return helper(time);
+ },
+ // 鍏ㄩ��
+ selectAll() {
+ this.$refs.multipleTable.toggleAllSelection();
+ },
+ // 鍙嶉��
+ disSame(list) {
+ list.forEach(row => {
+ this.$refs.multipleTable.toggleRowSelection(row)
+ })
+ },
+ // 璁剧疆琛ㄦ牸鏂戦┈绾�
+ tableRowClassName({ row, rowIndex }) {
+ if ((rowIndex + 1) % 2 == 0) {
+ return 'warning-row';
+ } else {
+ return 'success-row';
+ }
+ return '';
+ },
+ // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠�
+ changeCurrentPage(page) {
+ this.currentPage = page;
+ this.setTableData();
+ },
+ // 涓婁竴椤电偣鍑讳簨浠�
+ handlePrev(page) {
+ this.currentPage = page;
+ this.setTableData();
+ },
+ // 涓嬩竴椤电偣鍑讳簨浠�
+ handleNext(page) {
+ this.currentPage = page;
+ this.setTableData();
+ },
+ // 鍏抽棴寮圭獥
+ handleClose(done) {
+ done();
+ },
+ // 纭鍏抽棴寮圭獥
+ handleConfirmClose(done) {
+ this.$confirm('纭鍏抽棴?')
+ .then(_ => {
+ done();
+ })
+ .catch(err => {
+ console.log(err);
+ })
+ },
+ // 鑷畾涔夊叧闂脊绐�
+ closeDialog({ flag, index }) {
+ if (index === 1) {
+ this.setTableData();
+ }
+ }
+ }
+}
+</script>
+<style lang="scss" scoped>
+.userList {
+ text-align: left;
+ margin: 10px 20px;
+ color: #4b9bb7;
+
+ header {
+ background-color: #09152f;
+ border: 1pox solid #fff;
+
+ .header-nav {
+ line-height: 40px;
+ padding: 0 30px;
+ display: flex;
+ justify-content: space-between;
+ font-weight: 650;
+ }
+
+ .header-content {
+ padding: 0 40px;
+ display: flex;
+ line-height: 100px;
+ justify-content: space-between;
+ align-items: center;
+
+ .search,
+ .message-status,
+ .message-kind {
+ 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;
+ }
+ }
+ }
+ }
+
+ main {
+ background-color: #09152f;
+ margin-top: 20px;
+ padding-bottom: 50px;
+ border: 1pox solid #fff;
+
+ .el-link {
+ color: #4b9bb7;
+ }
+
+ .leftPx {
+ margin-left: 10px;
+ }
+
+ .mainTitle {
+ line-height: 60px;
+ }
+
+ .main-nav {
+ line-height: 40px;
+ display: flex;
+ padding: 10px;
+ justify-content: space-between;
+ }
+
+ .tools {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ padding: 0 20px;
+
+ .funs {
+ display: flex;
+
+ .funs-sp {
+ border: 1px solid #17324c;
+ }
+
+ .funsItem {
+ line-height: 28px;
+ display: flex;
+ align-items: center;
+
+ 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;
+ }
+ }
+}
+</style>
\ No newline at end of file
diff --git a/src/views/operate/management/myIndex/components/closure/index.vue b/src/views/operate/management/myIndex/components/closure/index.vue
index 71dd4ac..b61ff2d 100644
--- a/src/views/operate/management/myIndex/components/closure/index.vue
+++ b/src/views/operate/management/myIndex/components/closure/index.vue
@@ -104,7 +104,7 @@
</div>
<MyProcess v-else-if="activeIndex === 1" :handlePassVo="handlePassVo" :baseCase="baseCase"></MyProcess>
<MyFilePicture v-else-if="activeIndex === 2" :baseCase="baseCase" :filesPictureVo="filesPictureVo"></MyFilePicture>
- <MySovleProblem v-else-if="activeIndex === 3" :baseCase="baseCase" :problemProVo="problemProVo"></MySovleProblem>
+ <MySovleProblem v-else-if="activeIndex === 3" :handlePassVo="handlePassVo" :baseCase="baseCase"></MySovleProblem>
<MyScene v-else :baseCase="baseCase" :currentSitVo="currentSitVo"></MyScene>
</div>
</div>
@@ -203,7 +203,7 @@
if (valid) {
this.$axios({
method: 'put',
- url: 'sccg/base_case/end_case?caseId='+baseCase.id +'&result='+baseCase.finalOpinion,
+ url: 'sccg/base_case/end_case?caseId='+baseCase.id +'&opinion='+baseCase.finalOpinion +'&result='+'缁撴鎴愬姛',
})
.then(res => {
console.log(res);
diff --git a/src/views/operate/management/myIndex/components/examine/index.vue b/src/views/operate/management/myIndex/components/examine/index.vue
index 6bd340d..bd96ba7 100644
--- a/src/views/operate/management/myIndex/components/examine/index.vue
+++ b/src/views/operate/management/myIndex/components/examine/index.vue
@@ -86,7 +86,7 @@
<div class="show-wrap">
<MyProcess v-if="activeIndex === 1" :handlePassVo="handlePassVo" :baseCase="baseCase"></MyProcess>
<MyFilePicture v-else-if="activeIndex === 2" :filesPictureVo="filesPictureVo" ></MyFilePicture>
- <MySovleProblem v-else-if="activeIndex === 3" :baseCase="baseCase" :problemProVo="problemProVo"></MySovleProblem>
+ <MySovleProblem v-else-if="activeIndex === 3" :handlePassVo="handlePassVo" :baseCase="baseCase"></MySovleProblem>
<MyScene v-else :currentSitVo="currentSitVo" :baseCase="baseCase"></MyScene>
</div>
</div>
@@ -142,12 +142,11 @@
handlePassVo: {},
currentSitVo: {},
problemProVo: {},
- filesPictureVo: {}
-
+ filesPictureVo: {},
}
},
created() {
- const { info } = this;
+ const { info} = this;
this.baseCase = info.baseCase;
this.handlePassVo = info.handlePassVo;
this.currentSitVo = info.currentSitVo;
@@ -159,8 +158,7 @@
this.activeIndex = index;
},
// 鎻愪氦瀹℃牳鎰忚
- handleSubmit(mystatus) {
- // this.getUserLoginInfo();
+ handleSubmit(index) {
const { baseCase } = this;
this.$refs.viewForm.validate((valid) => {
if (valid) {
@@ -170,8 +168,7 @@
data: {
baseCaseId: baseCase.id,
checkOpinion: baseCase.auditOpinion,
- currentUser: baseCase.createUser,
- status: mystatus,
+ result:index === 0 ? '椹冲洖':'閫氳繃',
}
})
.then(res => {
@@ -179,7 +176,7 @@
if (res.code === 200) {
this.$message({
type: 'success',
- message: mystatus === 0 ? '椹冲洖鎴愬姛' : '瀹℃牳閫氳繃'
+ message: index === 0 ? '椹冲洖鎴愬姛' : '瀹℃牳閫氳繃'
})
this.$emit('closeDialog', { flag: false });
}
@@ -205,7 +202,7 @@
.then(res => {
console.log(res);
})
- }
+ },
},
props: ['info', 'closeDialog']
}
diff --git a/src/views/operate/management/myIndex/components/illExamine/index.vue b/src/views/operate/management/myIndex/components/illExamine/index.vue
new file mode 100644
index 0000000..49b5785
--- /dev/null
+++ b/src/views/operate/management/myIndex/components/illExamine/index.vue
@@ -0,0 +1,284 @@
+<template>
+ <div class="view">
+ <div class="view-data">
+ <el-form :model="baseCase" label-position="right" ref="viewForm" :rules="Rules" label-width="160px">
+ <div class="data-item">
+ <el-form-item label="闂鏉ユ簮:">
+ <span class="data-detail">{{baseCase.eventSource === 2 ? '浜哄伐涓婃姤' : '瑙嗛宸℃煡'}}</span>
+ </el-form-item>
+ <el-form-item label="鐧昏浜哄憳:">
+ <span class="data-detail">{{baseCase.createUser}}</span>
+ </el-form-item>
+ </div>
+ <div class="data-item">
+ <el-form-item label="闂绫诲瀷:">
+ <span class="data-detail">{{baseCase.category === 1 ? '杩濊' : '杩濆缓'}}</span>
+ </el-form-item>
+ <el-form-item label="杩濆缓绫诲埆:">
+ <span class="data-detail">{{baseCase.illegalBuilding.categoryId}}</span>
+ </el-form-item>
+ </div>
+ <div class="data-item">
+ <el-form-item label="浜嬩欢绛夌骇:">
+ <span class="data-detail">{{baseCase.illegalBuilding.baseCaseId}}</span>
+ </el-form-item>
+ </div>
+ <div class="data-item">
+ <el-form-item label="妗堢敱:">
+ <span class="data-detail">{{baseCase.illegalBuilding.actionCause}}</span>
+ </el-form-item>
+ </div>
+ <div class="data-item">
+ <el-form-item label="杩濇硶寤鸿闀裤�佸銆侀珮:">
+ <span class="data-detail">{{baseCase.illegalBuilding.buildingLength+'m銆�'+baseCase.illegalBuilding.buildingWidth+'m銆�'+ baseCase.illegalBuilding.buildingHigh + 'm '}}</span>
+ </el-form-item>
+ </div>
+ <div class="data-item">
+ <el-form-item label="杩濇硶寤鸿闈㈢Н:">
+ <span class="data-detail">{{baseCase.illegalBuilding.buildingArea+'銕� '}}</span>
+ </el-form-item>
+ </div>
+ <div class="data-item">
+ <el-form-item label="鎵�灞炵ぞ鍖�:">
+ <span class="data-detail">{{baseCase.communityText}}</span>
+ </el-form-item>
+ </div>
+ <div class="data-item">
+ <el-form-item label="浜嬪彂鍦扮偣:">
+ <span class="data-detail">{{baseCase.site}}</span>
+ </el-form-item>
+ </div>
+ <div class="data-item">
+ <el-form-item label="闂鎻忚堪:">
+ <span class="data-detail">{{baseCase.illegalBuilding.description}}</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-item label="瀹℃牳鎰忚" prop="auditOpinion">
+ <el-input type="textarea" placeholder="璇疯緭鍏ュ鏍告剰瑙�" v-model="baseCase.auditOpinion"></el-input>
+ </el-form-item>
+ <div class="el-form-footer">
+ <el-button @click.native.prevent="handleSubmit(0)">椹冲洖</el-button>
+ <el-button type="primary" @click.native.prevent="handleSubmit(1)">閫氳繃</el-button>
+ </div>
+ </el-form>
+ </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" :baseCase="baseCase"></MyProcess>
+ <MyFilePicture v-else-if="activeIndex === 2" :filesPictureVo="filesPictureVo" ></MyFilePicture>
+ <MySovleProblem v-else-if="activeIndex === 3" :handlePassVo="handlePassVo" :baseCase="baseCase"></MySovleProblem>
+ <MyScene v-else :currentSitVo="currentSitVo" :baseCase="baseCase"></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() {
+ const checkOpinion = (rule, value, callback) => {
+ if (value) {
+ callback();
+ } else {
+ callback(new Error('瀹℃牳鎰忚涓嶈兘涓虹┖'))
+ }
+ }
+ return {
+ myInfo: {
+
+ },
+ activeIndex: 1,
+ titleList: [
+ {
+ title: '鍔炵悊缁忚繃',
+ index: 1,
+ },
+ {
+ title: '妗堝嵎鍥剧墖',
+ index: 2,
+ },
+ {
+ title: '闂澶勭悊',
+ index: 3,
+ },
+ {
+ title: '鐜板満鎯呭喌',
+ index: 4,
+ },
+ ],
+ Rules: {
+ auditOpinion: [
+ { required: true, trigger: 'blur', validator: checkOpinion }
+ ]
+ },
+ baseCase: {},
+ handlePassVo: {},
+ currentSitVo: {},
+ problemProVo: {},
+ filesPictureVo: {},
+ }
+ },
+ created() {
+ const { info } = this;
+ this.baseCase = info.baseCase;
+ this.handlePassVo = info.handlePassVo;
+ this.currentSitVo = info.currentSitVo;
+ this.problemProVo = info.problemProVo;
+ this.filesPictureVo = info.filesPictureVo;
+ },
+ methods: {
+ changeComponent(index) {
+ this.activeIndex = index;
+ },
+ // 鎻愪氦瀹℃牳鎰忚
+ handleSubmit(mystatus) {
+ // this.getUserLoginInfo();
+ const { baseCase } = this;
+ this.$refs.viewForm.validate((valid) => {
+ if (valid) {
+ this.$axios({
+ method: 'post',
+ url: 'sccg/check_handle/check',
+ data: {
+ baseCaseId: baseCase.id,
+ checkOpinion: baseCase.auditOpinion,
+ currentUser: baseCase.createUser,
+ status: mystatus,
+ }
+ })
+ .then(res => {
+ console.log(res);
+ if (res.code === 200) {
+ this.$message({
+ type: 'success',
+ message: mystatus === 0 ? '椹冲洖鎴愬姛' : '瀹℃牳閫氳繃'
+ })
+ this.$emit('closeDialog', { flag: false });
+ }
+
+ })
+ .catch(err => { console.log(err) });
+ }else{
+ return false;
+ }
+ })
+ },
+ // 鑾峰彇褰撳墠鐢ㄦ埛鐧诲綍淇℃伅
+ getUserLoginInfo() {
+ // 鑾峰彇鐧诲綍鍚�;
+ const username = sessionStorage.getItem('name');
+ this.$axios({
+ method: 'get',
+ url: 'sccg/admin/info',
+ data: {
+ name: 'username'
+ }
+ })
+ .then(res => {
+ console.log(res);
+ })
+ },
+ },
+ props: ['info', 'closeDialog']
+}
+</script>
+<style lang="scss" scoped>
+.view {
+ display: flex;
+ padding: 20px;
+
+ .view-data {
+ color: #4b9bb7;
+ flex: 4;
+ padding: 20px;
+
+ .data-item {
+ display: flex;
+ justify-content: space-between;
+ line-height: 40px;
+ }
+
+ :deep(.el-form-item__label) {
+ color: #4b9bb7;
+ }
+
+ :deep(.el-textarea__inner) {
+ background-color: #17324c;
+ color: #4b9bb7;
+ }
+
+ .el-form-footer {
+ display: flex;
+ justify-content: flex-end;
+ }
+
+ 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/management/myIndex/components/illclosure/index.vue b/src/views/operate/management/myIndex/components/illclosure/index.vue
new file mode 100644
index 0000000..c0e087d
--- /dev/null
+++ b/src/views/operate/management/myIndex/components/illclosure/index.vue
@@ -0,0 +1,334 @@
+<template>
+ <div class="view">
+ <div class="view-data">
+ <el-form :model="baseCase" label-position="right" ref="viewForm" :rules="Rules" label-width="160px">
+ <div class="data-item">
+ <el-form-item label="闂鏉ユ簮:">
+ <span class="data-detail">{{baseCase.eventSource === 2 ? '浜哄伐涓婃姤' : '瑙嗛宸℃煡'}}</span>
+ </el-form-item>
+ <el-form-item label="鐧昏浜哄憳:">
+ <span class="data-detail">{{baseCase.createUser}}</span>
+ </el-form-item>
+ </div>
+ <div class="data-item">
+ <el-form-item label="闂绫诲瀷:">
+ <span class="data-detail">{{baseCase.category === 1 ? '杩濊' : '杩濆缓'}}</span>
+ </el-form-item>
+ <el-form-item label="杩濆缓绫诲埆:">
+ <span class="data-detail">{{baseCase.illegalBuilding.categoryId}}</span>
+ </el-form-item>
+ </div>
+ <div class="data-item">
+ <el-form-item label="浜嬩欢绛夌骇:">
+ <span class="data-detail">{{baseCase.illegalBuilding.baseCaseId}}</span>
+ </el-form-item>
+ </div>
+ <div class="data-item">
+ <el-form-item label="妗堢敱:">
+ <span class="data-detail">{{baseCase.illegalBuilding.actionCause}}</span>
+ </el-form-item>
+ </div>
+ <div class="data-item">
+ <el-form-item label="杩濇硶寤鸿闀裤�佸銆侀珮:">
+ <span class="data-detail">{{baseCase.illegalBuilding.buildingLength+'m銆�'+baseCase.illegalBuilding.buildingWidth+'m銆�'+ baseCase.illegalBuilding.buildingHigh + 'm '}}</span>
+ </el-form-item>
+ </div>
+ <div class="data-item">
+ <el-form-item label="杩濇硶寤鸿闈㈢Н:">
+ <span class="data-detail">{{baseCase.illegalBuilding.buildingArea+'銕� '}}</span>
+ </el-form-item>
+ </div>
+ <div class="data-item">
+ <el-form-item label="鎵�灞炵ぞ鍖�:">
+ <span class="data-detail">{{baseCase.communityText}}</span>
+ </el-form-item>
+ </div>
+ <div class="data-item">
+ <el-form-item label="浜嬪彂鍦扮偣:">
+ <span class="data-detail">{{baseCase.site}}</span>
+ </el-form-item>
+ </div>
+ <div class="data-item">
+ <el-form-item label="闂鎻忚堪:">
+ <span class="data-detail">{{baseCase.illegalBuilding.description}}</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-item label="瀹℃牳鎰忚" prop="auditOpinion">
+ <el-input type="textarea" placeholder="璇疯緭鍏ュ鏍告剰瑙�" v-model="baseCase.auditOpinion"></el-input>
+ </el-form-item>
+ <div class="el-form-footer">
+ <el-button @click.native.prevent="handleSubmit(0)">椹冲洖</el-button>
+ <el-button type="primary" @click.native.prevent="handleSubmit(1)">閫氳繃</el-button>
+ </div>
+ </el-form>
+ </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">
+ <div class="closure-info" v-if="activeIndex === 0">
+ <el-form :model="baseCase" label-position="right" ref="opinionForm" :rules="Rules"
+ label-width="100px">
+ <el-form-item label="瀹℃牳鎰忚" class="op-item" prop="auditOpinion">
+ <el-input type="textarea" placeholder="璇疯緭鍏ュ鏍告剰瑙�" v-model="baseCase.auditOpinion" disabled>
+ </el-input>
+ </el-form-item>
+ <el-form-item label="缁撴鎰忚" class="op-item" prop="finalOpinion">
+ <el-input type="textarea" placeholder="璇疯緭鍏ョ粨妗堟剰瑙�" v-model="baseCase.finalOpinion">
+ </el-input>
+ </el-form-item>
+ </el-form>
+ <div class="form-footer">
+ <el-button type="primary" @click.native.prevent="handleSubmit">缁撴</el-button>
+ <el-button @click.native.prevent="handleBack">杩斿洖</el-button>
+ </div>
+ </div>
+ <MyProcess v-else-if="activeIndex === 1" :handlePassVo="handlePassVo" :baseCase="baseCase"></MyProcess>
+ <MyFilePicture v-else-if="activeIndex === 2" :baseCase="baseCase" :filesPictureVo="filesPictureVo"></MyFilePicture>
+ <MySovleProblem v-else-if="activeIndex === 3" :handlePassVo="handlePassVo" :baseCase="baseCase"></MySovleProblem>
+ <MyScene v-else :baseCase="baseCase" :currentSitVo="currentSitVo"></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() {
+ const checkOpinion = (rule, value, callback) => {
+ if (value) {
+ callback();
+ } else {
+ callback()
+ }
+ }
+ const checkFinal = (rule, value, callback) => {
+ if (value) {
+ callback();
+ } else {
+ callback(new Error('缁撴鎰忚涓嶈兘涓虹┖'))
+ }
+ }
+ return {
+ myInfo: {
+
+ },
+ activeIndex: 0,
+ titleList: [
+ {
+ title: '缁撴淇℃伅',
+ index: 0,
+ },
+ {
+ title: '鍔炵悊缁忚繃',
+ index: 1,
+ },
+ {
+ title: '妗堝嵎鍥剧墖',
+ index: 2,
+ },
+ {
+ title: '闂澶勭悊',
+ index: 3,
+ },
+ {
+ title: '鐜板満鎯呭喌',
+ index: 4,
+ },
+ ],
+ Rules: {
+ auditOpinion: [
+ { trigger: 'blur', validator: checkOpinion }
+ ],
+ finalOpinion:[
+ {
+ trigger:'blur',validator:checkFinal
+ }
+ ]
+
+ },
+ baseCase: {},
+ handlePassVo: {},
+ currentSitVo: {},
+ problemProVo: {},
+ filesPictureVo: {}
+
+ }
+ },
+ created() {
+ const { info } = this;
+ this.baseCase = info.baseCase;
+ this.handlePassVo = info.handlePassVo;
+ this.currentSitVo = info.currentSitVo;
+ this.problemProVo = info.problemProVo;
+ this.filesPictureVo = info.filesPictureVo;
+ },
+ methods: {
+ changeComponent(index) {
+ this.activeIndex = index;
+ },
+ handleBack(){
+ this.$emit('closeDialog', { flag: false });
+ },
+ // 鎻愪氦瀹℃牳鎰忚
+ handleSubmit() {
+ const { baseCase } = this;
+ this.$refs.opinionForm.validate((valid) => {
+ if (valid) {
+ this.$axios({
+ method: 'put',
+ url: 'sccg/base_case/end_case?caseId='+baseCase.id +'&opinion='+baseCase.finalOpinion+'&result='+'缁撴鎴愬姛' ,
+ })
+ .then(res => {
+ console.log(res);
+ if (res.code === 200) {
+ this.$message({
+ type: 'success',
+ message: '缁撴鎴愬姛'
+ })
+ this.$emit('closeDialog', { flag: false });
+ }else{
+ this.$message({
+ type:'error',
+ message:'缁撴澶辫触',
+ })
+ }
+
+ })
+ .catch(err => { console.log(err) });
+ } else {
+ return false;
+ }
+ })
+ },
+ // 鑾峰彇褰撳墠鐢ㄦ埛鐧诲綍淇℃伅
+ getUserLoginInfo() {
+ // 鑾峰彇鐧诲綍鍚�;
+ const username = sessionStorage.getItem('name');
+ this.$axios({
+ method: 'get',
+ url: 'sccg/admin/info',
+ data: {
+ name: 'username'
+ }
+ })
+ .then(res => {
+ console.log(res);
+ })
+ }
+ },
+ props: ['info', 'closeDialog']
+}
+</script>
+<style lang="scss" scoped>
+.view {
+ display: flex;
+ padding: 20px;
+
+ .view-data {
+ color: #4b9bb7;
+ flex: 4;
+ padding: 20px;
+
+ .data-item {
+ display: flex;
+ justify-content: space-between;
+ line-height: 40px;
+ }
+
+ :deep(.el-form-item__label) {
+ color: #4b9bb7;
+ }
+
+ :deep(.el-textarea__inner) {
+ background-color: #17324c;
+ color: #4b9bb7;
+ }
+
+ .el-form-footer {
+ display: flex;
+ justify-content: flex-end;
+ }
+
+ border: 1px solid #17324c;
+ }
+ :deep(.el-textarea__inner){
+ background-color: #17324c;
+ color: #4b9bb7;
+ }
+ .closure-info{
+ padding: 20px;
+ .op-item{
+ padding-top: 20px;
+ }
+ .form-footer{
+ display: flex;
+ margin-top: 50px;
+ justify-content: flex-end;
+ }
+ }
+ .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/management/myIndex/index.vue b/src/views/operate/management/myIndex/index.vue
index f39c4ae..ee0a296 100644
--- a/src/views/operate/management/myIndex/index.vue
+++ b/src/views/operate/management/myIndex/index.vue
@@ -31,7 +31,7 @@
<el-link @click="JumpView(scope.row)">{{scope.row.code}}</el-link>
</template>
</el-table-column>
- <el-table-column prop="eventSource" label="闂鏉ユ簮" min-width="7">
+ <el-table-column prop="eventSource" label="闂鏉ユ簮" min-width="8">
<template slot-scope="scope">
<span>{{scope.row.eventSource === 2 ? '浜哄伐涓婃姤' : '瑙嗛涓婁紶'}}</span>
</template>
@@ -62,8 +62,9 @@
<div class="btn">
<!-- v-if="instatus===7 ? true : false" -->
<span @click="handleExamine(scope.row)" v-if="instatus===7">瀹℃牳</span>
- <!-- <span class="line" v-if="instatus===7 ? true : false">|</span> -->
<span @click="handleClosure(scope.row)" v-if="instatus===8">缁撴</span>
+ <span class="line" v-if="instatus !==9">|</span>
+ <span @click="JumpView(scope.row)">鏌ョ湅</span>
</div>
</template>
</el-table-column>
@@ -71,12 +72,14 @@
<!-- 瀹℃牳椤甸潰 -->
<el-dialog :visible.sync="dialogExamine" width="80%" title="鍩虹淇℃伅(浜哄伐)" v-if="dialogExamine"
:before-close="handleClose">
- <MyExamine :info="info" @closeDialog="closeDialog"></MyExamine>
+ <MyExamine :info="info" v-if="myproblem === 1" @closeDialog="closeDialog"></MyExamine>
+ <MyIllExamine :info="info" v-else @closeDialog="closeDialog"></MyIllExamine>
</el-dialog>
<!-- 缁撴椤甸潰 -->
<el-dialog :visible.sync="dialogClosure" width="80%" title="鍩虹淇℃伅(浜哄伐)" v-if="dialogClosure"
:before-close="handleClose">
- <MyClosure :info="info" @closeDialog="closeDialog"></MyClosure>
+ <MyClosure :info="info" v-if="myproblem === 1" @closeDialog="closeDialog"></MyClosure>
+ <MyIllClosure :info="info" v-else @closeDialog="closeDialog"></MyIllClosure>
</el-dialog>
<!-- 璇︽儏椤甸潰 -->
<el-dialog :visible.sync="dialogView" width="80%" title="鍩虹淇℃伅(浜哄伐)" v-if="dialogView"
@@ -115,12 +118,14 @@
<script>
import MyExamine from './components/examine'
import MyClosure from './components/closure'
+import MyIllExamine from './components/illExamine'
+import MyIllClosure from './components/illclosure'
import MyDetail from '@/components/detail'
import MyIllDetail from '@/components/illdetail'
import helper from '@/utils/mydate'
export default {
components: {
- MyExamine,MyClosure,MyDetail,MyIllDetail
+ MyExamine,MyClosure,MyDetail,MyIllDetail,MyIllExamine,MyIllClosure
},
data() {
return {
diff --git a/src/views/operate/message/myIndex/createUser/index.vue b/src/views/operate/message/myIndex/createUser/index.vue
index 64cc64d..9ecfc81 100644
--- a/src/views/operate/message/myIndex/createUser/index.vue
+++ b/src/views/operate/message/myIndex/createUser/index.vue
@@ -102,6 +102,7 @@
messageType: '',
head: '',
targetTo: '',
+ targetFrom:null,
body: '',
channelCode: 1,
},
@@ -135,6 +136,7 @@
created() {
this.setColumnList();
this.setDepartList();
+ this.getLoginUserInfo();
},
methods: {
// 鍏抽棴寮圭獥
@@ -230,11 +232,12 @@
url: 'sccg/message/sendMessage',
data: {
body: role.body,
- channelCode: role.channelCode,
+ channelCode: `${role.channelCode}`,
head: role.head,
messageType: role.messageType,
sendTime: new Date(),
- targetTo: checkedList.join(',')
+ targetTo: checkedList.join(','),
+ targetFrom:`${role.targetFrom}`,
}
})
.then(res=>{
@@ -262,6 +265,17 @@
// this.$refs.edit.wangEditor.txt.html('<p><br></p>')
this.setDepartList();
this.$refs.user.resetFields();
+ },
+ // 鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛淇℃伅
+ getLoginUserInfo(){
+ const name = sessionStorage.getItem('name');
+ this.$axios({
+ method:'get',
+ url:'sccg/admin/info?name='+name,
+ })
+ .then(res=>{
+ this.role.targetFrom = res.data.userId
+ })
}
},
props: ['closeMyDialog']
diff --git a/src/views/operate/message/myIndex/index.vue b/src/views/operate/message/myIndex/index.vue
index bad32ed..24c4114 100644
--- a/src/views/operate/message/myIndex/index.vue
+++ b/src/views/operate/message/myIndex/index.vue
@@ -157,23 +157,26 @@
},
methods: {
handleDelete(idarr) {
- this.$axios({
- method: 'post',
- url: 'sccg/message/delete?ids=' + idarr,
- })
- .then(res => {
- if (res.code === 200) {
- this.$message({
- type: 'success',
- message: '鍒犻櫎鎴愬姛',
+ this.$confirm('纭鍒犻櫎?')
+ .then(_ => {
+ this.$axios({
+ method: 'post',
+ url: 'sccg/message/delete?ids=' + idarr,
+ })
+ .then(res => {
+ if (res.code === 200) {
+ this.$message({
+ type: 'success',
+ message: '鍒犻櫎鎴愬姛',
+ })
+ this.setTableData();
+ } else {
+ this.$message({
+ type: 'error',
+ message: res.message
+ })
+ }
})
- this.setTableData();
- } else {
- this.$message({
- type: 'error',
- message: res.message
- })
- }
})
},
// 璁剧疆琛ㄦ牸鏁版嵁
diff --git a/src/views/systemSetting/baseSetting/department/index.vue b/src/views/systemSetting/baseSetting/department/index.vue
index 84044b8..eb02119 100644
--- a/src/views/systemSetting/baseSetting/department/index.vue
+++ b/src/views/systemSetting/baseSetting/department/index.vue
@@ -51,7 +51,7 @@
</el-table-column>
<el-table-column prop="departName" label="閮ㄩ棬鍚嶇О" min-width="10">
</el-table-column>
- <el-table-column prop="departTypeName" label="閮ㄩ棬绫诲瀷" min-width="10">
+ <el-table-column prop="departType" label="閮ㄩ棬绫诲瀷" min-width="10">
</el-table-column>
<el-table-column prop="departDes" label="閮ㄩ棬鎻忚堪" min-width="10">
</el-table-column>
@@ -250,8 +250,6 @@
this.$refs.multipleTable.toggleAllSelection();
},
disSame(list) {
- // console.log(this.$refs.multipleTable);
- // const row = this.$refs.table.data
list.forEach((row) => {
this.$refs.multipleTable.toggleRowSelection(row);
});
diff --git a/src/views/systemSetting/device/bayonet/index.vue b/src/views/systemSetting/device/bayonet/index.vue
index 90eabef..23b3a98 100644
--- a/src/views/systemSetting/device/bayonet/index.vue
+++ b/src/views/systemSetting/device/bayonet/index.vue
@@ -3,8 +3,8 @@
<header>
<div class="header-content">
<div class="search">
- <span>绛涢�夋潯浠�:</span>
- <el-select v-model="value" placeholder="璇烽�夋嫨">
+ <span style="padding-right:20px">绛涢�夋潯浠�:</span>
+ <el-select v-model="context" placeholder="璇烽�夋嫨">
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
@@ -91,7 +91,7 @@
data() {
return {
tableData: [],
- context: "",
+ context: 0,
dialogCreate: false,
totalNum: null,
pageSize: 10,
--
Gitblit v1.8.0