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