From 71cfadcd79468058c75fd356faf2d1fb52f79deb Mon Sep 17 00:00:00 2001
From: fangyuan <527392886@qq.com>
Date: 星期四, 05 一月 2023 09:13:11 +0800
Subject: [PATCH] Merge branch 'dev1.0' of http://42.193.1.25:9521/r/sccg_ui into dev1.0
---
.history/src/api/operate/messageManagement_20230104134946.js | 25
vue.config.js | 4
.history/src/views/operate/sms/smsIndex/index_20230104105114.vue | 636 ++
.history/src/views/operate/sms/smsIndex/index_20230104104607.vue | 644 ++
.history/src/views/intelligentPatrol/illegalSearch/index_20221229133119.vue | 440 +
src/views/operate/message/myIndex/index.vue | 147
.history/src/api/operate/messageManagement_20221130175043.js | 21
.history/src/views/intelligentPatrol/illegalSearch/index_20230103161938.vue | 441 +
.history/src/views/operate/message/myIndex/index_20230104114956.vue | 604 ++
.history/src/views/operate/sms/smsIndex/index_20230104105428.vue | 631 ++
src/utils/helper.js | 4
src/api/operate/messageManagement.js | 4
.history/src/views/operate/message/myIndex/index_20230104114351.vue | 595 ++
src/views/operate/message/myIndex/update/index.vue | 48
.history/src/views/operate/message/myIndex/update/index_20230104135855.vue | 523 ++
.history/src/views/operate/sms/smsIndex/index_20230104110238.vue | 633 ++
.history/src/views/operate/message/myIndex/index_20230104114551.vue | 595 ++
.history/src/views/operate/message/myIndex/index_20230104114724.vue | 604 ++
.history/src/views/intelligentPatrol/illegalSearch/index_20230103162024.vue | 441 +
.history/src/views/operate/message/myIndex/update/index_20230104135024.vue | 454 +
.history/src/views/operate/message/myIndex/update/index_20230104135648.vue | 522 ++
.history/src/views/operate/sms/smsIndex/index_20230104111808.vue | 634 ++
.history/vue.config_20230104105558.js | 130
.history/src/views/operate/message/myIndex/index_20230104115130.vue | 604 ++
src/views/operate/sms/smsIndex/index.vue | 40
.history/src/views/operate/message/myIndex/index_20230104114841.vue | 604 ++
.history/src/views/operate/sms/smsIndex/index_20230104105347.vue | 631 ++
.history/src/utils/helper_20221213160258.js | 142
.history/src/views/operate/message/myIndex/update/index_20230104135738.vue | 523 ++
.history/src/views/operate/sms/smsIndex/index_20230104105237.vue | 631 ++
.history/src/views/operate/message/myIndex/index_20230104114615.vue | 604 ++
.history/src/views/operate/message/myIndex/update/index_20221229133119.vue | 479 +
.history/src/views/operate/sms/smsIndex/index_20230104110359.vue | 634 ++
.history/src/utils/helper_20230103115611.js | 142
.history/src/views/operate/message/myIndex/index_20221229133119.vue | 595 ++
src/views/intelligentPatrol/illegalSearch/index.vue | 1
36 files changed, 14,312 insertions(+), 98 deletions(-)
diff --git a/.history/src/api/operate/messageManagement_20221130175043.js b/.history/src/api/operate/messageManagement_20221130175043.js
new file mode 100644
index 0000000..ab03b98
--- /dev/null
+++ b/.history/src/api/operate/messageManagement_20221130175043.js
@@ -0,0 +1,21 @@
+import http from "@/http";
+
+export function deleteMessage(params) {
+ return http.delete('/sccg/message/delete', params);
+}
+
+export function getMessageById(id) {
+ return http.get('/sccg/message/getMessage/' + id);
+}
+
+export function getMessageList(params) {
+ return http.get('/sccg/message/list', params);
+}
+
+export function sendMessage(params) {
+ return http.post('/sccg/message/sendMessage', params);
+}
+
+export function updateMessage(params) {
+ return http.post('/sccg/message/update', params);
+}
\ No newline at end of file
diff --git a/.history/src/api/operate/messageManagement_20230104134946.js b/.history/src/api/operate/messageManagement_20230104134946.js
new file mode 100644
index 0000000..c9a3fa0
--- /dev/null
+++ b/.history/src/api/operate/messageManagement_20230104134946.js
@@ -0,0 +1,25 @@
+import http from "@/http";
+
+export function deleteMessage(params) {
+ return http.delete('/sccg/message/delete', params);
+}
+
+export function getMessageById(id) {
+ return http.get('/sccg/message/getMessage/' + id);
+}
+
+export function getMessageList(params) {
+ return http.get('/sccg/message/list', params);
+}
+
+export function sendMessage(params) {
+ return http.post('/sccg/message/sendMessage', params);
+}
+
+export function saveMessage(params) {
+ return http.post('/sccg/message/saveMessage', params);
+}
+
+export function updateMessage(params) {
+ return http.post('/sccg/message/update', params);
+}
\ No newline at end of file
diff --git a/.history/src/utils/helper_20221213160258.js b/.history/src/utils/helper_20221213160258.js
new file mode 100644
index 0000000..c9fafd0
--- /dev/null
+++ b/.history/src/utils/helper_20221213160258.js
@@ -0,0 +1,142 @@
+import myrequest from './request'
+// 娣辨嫹璐�
+export function deepClone(obj) {
+ let objClone = Array.isArray(obj) ? [] : {};
+ if (obj && typeof obj === 'object') {
+ for (let key in obj) {
+ if (obj.hasOwnProperty(key)) {
+ if (obj[key] && typeof obj[key] === 'object') {
+ objClone[key] = deepClone(obj[key]);
+ } else {
+ objClone[key] = obj[key];
+ }
+ }
+ }
+ }
+ return objClone;
+}
+// 璁$畻闄愬埗鏃堕棿
+export function computeTime(time2) {
+ const t1 = new Date();
+ const t2 = new Date(time2);
+ return filterTime(t2.getTime() - t1.getTime());
+}
+// 鑾峰彇瀛楀吀琛�
+export async function getTypeList(level, code) {
+ let arr;
+ await myrequest({
+ method: 'get',
+ url: `sccg/dict/query_type?level=${level}&typeCode=${code}`
+ })
+ .then(res => {
+ arr = res.data;
+ })
+ return arr;
+}
+// 鑾峰彇瀛楀吀琛�2
+export async function getCodeList(code){
+ let arr;
+ await myrequest({
+ method: 'get',
+ url: `/sccg/dict/queryByCode?code=${code}`
+ })
+ .then(res => {
+ arr = res.data;
+ })
+ return arr;
+}
+
+// data: 鏂囦欢, contentDisposition锛氳姹傚ご涓枃浠剁殑鍚嶅瓧
+// 榛樿涓嶇敤淇敼锛岀洿鎺ュ皢杩斿洖鐨剅es浼犲叆鍗冲彲
+export function downloadFile(res) {
+ const blob = new Blob([res.data], { type: 'application/octet-stream' });
+ const fileName = res.contentDisposition.split(`''`)[1];
+ if (window.navigator && window.navigator.msSaveBlob) {
+ window.navigator.msSaveBlob(blob, fileName);
+ } else {
+ const link = document.createElement('a');
+ link.style.display = 'none';
+ link.href = window.URL.createObjectURL(blob);
+ link.download = decodeURI(fileName);
+ document.body.appendChild(link);
+ link.click();
+ window.URL.revokeObjectURL(link.href);
+ document.body.removeChild(link);
+ }
+}
+
+// 鑾峰彇token
+export function getToken() {
+ const token = sessionStorage.getItem('token');
+ const tokenHead = sessionStorage.getItem('tokenHead');
+ if (token && tokenHead) {
+ return tokenHead + token;
+ }
+}
+// 鑾峰彇骞存湀鏃ユ椂鍒嗙
+export function getNowDate(time){
+ const result = new Date(time);
+ let yy = result.getFullYear(),
+ mm = result.getMonth()+1,
+ dd = result.getDate(),
+ hh = result.getHours(),
+ mi = result.getMinutes(),
+ ss = result.getSeconds()
+ return yy+'-'+ fillTime(mm)+'-'+fillTime(dd)+" "+fillTime(hh)+':'+fillTime(mi) + ':' + fillTime(ss);
+}
+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);
+ return addDay(fillTime(dd)) + addHour(fillTime(hh)) + addMin(fillTime(mi));
+}
+function fillTime(num) {
+ if (num < 10) {
+ return '0' + num;
+ }
+ return num;
+}
+function addDay(str) {
+ str = parseFloat(str);
+ if (str < 0) {
+ return;
+ }
+ return str + '澶�'
+}
+function addHour(str) {
+ str = parseFloat(str);
+ if (str < 0) {
+ return;
+ }
+ return str + '灏忔椂'
+}
+function addMin(str) {
+ str = parseFloat(str);
+ if (str < 0) {
+ return;
+ }
+ return str + '鍒嗛挓'
+}
+
+export const EVENT_SOURCE = [
+ { label: '瑙嗛鎶撴媿', value: 1 },
+ { label: '鎵嬪姩鐧昏', value: 2 }
+]
+
+export const CATEGOTY = [
+ { label: '杩濊', value: 1 },
+ { label: '杩濆缓', value: 2 }
+]
+
+export const RESOURCE_TYPE = [
+ { label: '涓婃姤', value: '01' },
+ { label: '澶勭疆', value: '02' }
+]
+
+export const RESOURCE_OPTIONS = [
+ { label: '浜哄伐涓婃姤', value: 2 },
+ { label: '瑙嗛宸℃煡', value: 1 }
+]
diff --git a/.history/src/utils/helper_20230103115611.js b/.history/src/utils/helper_20230103115611.js
new file mode 100644
index 0000000..7ac38fd
--- /dev/null
+++ b/.history/src/utils/helper_20230103115611.js
@@ -0,0 +1,142 @@
+import myrequest from './request'
+// 娣辨嫹璐�
+export function deepClone(obj) {
+ let objClone = Array.isArray(obj) ? [] : {};
+ if (obj && typeof obj === 'object') {
+ for (let key in obj) {
+ if (obj.hasOwnProperty(key)) {
+ if (obj[key] && typeof obj[key] === 'object') {
+ objClone[key] = deepClone(obj[key]);
+ } else {
+ objClone[key] = obj[key];
+ }
+ }
+ }
+ }
+ return objClone;
+}
+// 璁$畻闄愬埗鏃堕棿
+export function computeTime(time2) {
+ const t1 = new Date();
+ const t2 = new Date(time2);
+ return filterTime(t2.getTime() - t1.getTime());
+}
+// 鑾峰彇瀛楀吀琛�
+export async function getTypeList(level, code) {
+ let arr;
+ await myrequest({
+ method: 'get',
+ url: `sccg/dict/query_type?level=${level}&typeCode=${code}`
+ })
+ .then(res => {
+ arr = res.data;
+ })
+ return arr;
+}
+// 鑾峰彇瀛楀吀琛�2
+export async function getCodeList(code){
+ let arr;
+ await myrequest({
+ method: 'get',
+ url: `/sccg/dict/queryByCode?code=${code}`
+ })
+ .then(res => {
+ arr = res.data;
+ })
+ return arr;
+}
+
+// data: 鏂囦欢, contentDisposition锛氳姹傚ご涓枃浠剁殑鍚嶅瓧
+// 榛樿涓嶇敤淇敼锛岀洿鎺ュ皢杩斿洖鐨剅es浼犲叆鍗冲彲
+export function downloadFile(res) {
+ const blob = new Blob([res.data], { type: 'application/octet-stream' });
+ const fileName = res.contentDisposition.split(`''`)[1];
+ if (window.navigator && window.navigator.msSaveBlob) {
+ window.navigator.msSaveBlob(blob, fileName);
+ } else {
+ const link = document.createElement('a');
+ link.style.display = 'none';
+ link.href = window.URL.createObjectURL(blob);
+ link.download = decodeURI(fileName);
+ document.body.appendChild(link);
+ link.click();
+ window.URL.revokeObjectURL(link.href);
+ document.body.removeChild(link);
+ }
+}
+
+// 鑾峰彇token
+export function getToken() {
+ const token = sessionStorage.getItem('token');
+ const tokenHead = sessionStorage.getItem('tokenHead');
+ if (token && tokenHead) {
+ return tokenHead + token;
+ }
+}
+// 鑾峰彇骞存湀鏃ユ椂鍒嗙
+export function getNowDate(time){
+ const result = new Date(time);
+ let yy = result.getFullYear(),
+ mm = result.getMonth()+1,
+ dd = result.getDate(),
+ hh = result.getHours(),
+ mi = result.getMinutes(),
+ ss = result.getSeconds()
+ return yy+'-'+ fillTime(mm)+'-'+fillTime(dd)+" "+fillTime(hh)+':'+fillTime(mi) + ':' + fillTime(ss);
+}
+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);
+ return addDay(fillTime(dd)) + addHour(fillTime(hh)) + addMin(fillTime(mi));
+}
+function fillTime(num) {
+ if (num < 10) {
+ return '0' + num;
+ }
+ return num;
+}
+function addDay(str) {
+ str = parseFloat(str);
+ if (str < 0) {
+ return;
+ }
+ return str + '澶�'
+}
+function addHour(str) {
+ str = parseFloat(str);
+ if (str < 0) {
+ return;
+ }
+ return str + '灏忔椂'
+}
+function addMin(str) {
+ str = parseFloat(str);
+ if (str < 0) {
+ return;
+ }
+ return str + '鍒嗛挓'
+}
+
+export const EVENT_SOURCE = [
+ { label: '瑙嗛宸℃煡', value: 1 },
+ { label: '浜哄伐涓婃姤', value: 2 }
+]
+
+export const CATEGOTY = [
+ { label: '杩濊', value: 1 },
+ { label: '杩濆缓', value: 2 }
+]
+
+export const RESOURCE_TYPE = [
+ { label: '涓婃姤', value: '01' },
+ { label: '澶勭疆', value: '02' }
+]
+
+export const RESOURCE_OPTIONS = [
+ { label: '浜哄伐涓婃姤', value: 2 },
+ { label: '瑙嗛宸℃煡', value: 1 }
+]
diff --git a/.history/src/views/intelligentPatrol/illegalSearch/index_20221229133119.vue b/.history/src/views/intelligentPatrol/illegalSearch/index_20221229133119.vue
new file mode 100644
index 0000000..6a94151
--- /dev/null
+++ b/.history/src/views/intelligentPatrol/illegalSearch/index_20221229133119.vue
@@ -0,0 +1,440 @@
+<template>
+ <div class="illegal-search">
+ <header>
+ <div class="headerContent">
+ <!-- 鏉′欢绛涢�� -->
+ <el-form ref="condition" :model="form" label-width="100px">
+ <el-form-item :label=item.label :key=item.id v-for="item in headerList" :prop="item.prop">
+ <el-input v-if="item.type === 'input'" v-model="form[item.prop]" :placeholder="item.placeholder"></el-input>
+ <el-cascader v-if="item.type === 'cascader'" :options="item.options"
+ :props="{ value: 'id', label: 'regionName' }" v-model="form[item.prop]"
+ :placeholder="item.placeholder"></el-cascader>
+ <el-select v-if="item.type === 'select'" v-model="form[item.prop]" :placeholder="item.placeholder">
+ <el-option v-for="option in item.options" :value="option.id" :key="option.id"
+ :label="option.name"></el-option>
+ </el-select>
+ <el-date-picker v-if="item.type === 'timepick'" type="datetimerange" v-model="form[item.prop]"
+ start-placeholder="寮�濮嬫棩鏈�" end-placeholder="缁撴潫鏃ユ湡" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
+ </el-form-item>
+ </el-form>
+ </div>
+ </header>
+ <main>
+ <div class="mainContent">
+ <!-- 鎸夐挳鍖哄煙 -->
+ <div class="main-btns">
+ <div class="main-btns-left">
+<!-- <el-button icon="el-icon-download">涓嬭浇鍥剧墖</el-button>-->
+ <el-button icon="el-icon-folder" @click="exportTableData">瀵煎嚭</el-button>
+ </div>
+ <div class="main-btns-right">
+ <el-button icon="el-icon-search" @click="searchTableData">鏌ヨ</el-button>
+ <el-button icon="el-icon-delete-solid" @click="handleReset">閲嶇疆</el-button>
+ </div>
+ </div>
+ <!-- 鏁版嵁灞曠ず -->
+ <el-table ref="multipleTable"
+ :header-cell-style="{ '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 prop="code" label="浜嬩欢缂栧彿" min-width="10">
+ </el-table-column>
+ <el-table-column prop="typeName" label="杩濊绫诲瀷" min-width="10">
+ </el-table-column>
+ <el-table-column prop="eventSource" label="浜嬩欢鏉ユ簮" min-width="10">
+ </el-table-column>
+ <el-table-column prop="gradeName" label="浜嬩欢绛夌骇" min-width="10">
+ </el-table-column>
+ <el-table-column prop="streetName" label="鎶ヨ鐐逛綅" min-width="10">
+ </el-table-column>
+ <el-table-column prop="site" label="鎵�灞炵粍缁�" min-width="10">
+ </el-table-column>
+ <el-table-column prop="alarmTime" label="鎶ヨ鏃堕棿" min-width="12">
+ </el-table-column>
+ <el-table-column prop="continueTime" label="鎸佺画鏃堕棿" min-width="12">
+ </el-table-column>
+ <el-table-column prop="carNumber" label="杞︾墝鍙风爜" min-width="10">
+ </el-table-column>
+ <el-table-column prop="state" label="瀹℃牳鐘舵��" min-width="10">
+ </el-table-column>
+ <el-table-column prop="handlingOpinion" label="澶勭悊鎰忚" min-width="10">
+ </el-table-column>
+ <el-table-column prop="operation" label="鎿嶄綔" min-width="15">
+ <template slot-scope="scope">
+ <div class="operation">
+ <span @click="handleView(scope.row)">鏌ョ湅</span>
+ </div>
+ </template>
+ </el-table-column>
+ </el-table>
+ </div>
+ <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>
+ </main>
+ <footer>
+ <!-- 鏌ョ湅鍏蜂綋淇℃伅 -->
+ <el-dialog title="浜嬩欢璇︽儏" destroy-on-close :visible.sync="dialogView" width="45%" :before-close="handleClose">
+ <ViewInfo :info="info"></ViewInfo>
+ </el-dialog>
+ </footer>
+ </div>
+</template>
+
+<script>
+import helper from "@/utils/mydate.js";
+import ViewInfo from './viewInfo';
+import basecase from "@/api/operate/basecase";
+import department from "@/api/system/department";
+import { getVideoPoint } from "@/api/operate/storeManagement";
+
+export default {
+ components: {
+ ViewInfo
+ },
+
+ created() {
+ this.getTableData();
+
+ // 鑾峰彇缁勭粐鍒楄〃
+ department.getDepartmentList()
+ .then(res => {
+ this.headerList[0].options = res;
+ })
+ .catch(err => this.$message.error(err))
+
+ getVideoPoint({ current: 1, size: 100 })
+ .then(({ records }) => {
+ this.headerList[4].options = records;
+ })
+ .catch(err => this.$message.error(err))
+ },
+
+ data() {
+ return {
+ tableData: [],
+ dialogView: false,
+ info: null,
+ currentPage: 1,
+ pageSize: 10,
+ totalNum: null,
+ headerList: [
+ {
+ id: 1,
+ label: '鎵�灞炵粍缁�:',
+ value: '',
+ placeholder: '璇疯緭鍏ユ墍灞炵粍缁�',
+ prop: 'organization',
+ type: 'cascader',
+ options: []
+ },
+ {
+ id: 2,
+ label: '鎶ヨ鏃堕棿:',
+ value: '',
+ placeholder: '璇疯緭鍏ユ姤璀︽椂闂�',
+ prop: 'alarmTime',
+ type: 'timepick'
+ },
+ {
+ id: 3,
+ label: '杩濊绫诲瀷:',
+ value: '',
+ placeholder: '璇疯緭鍏ヨ繚瑙勭被鍨�',
+ prop: 'typeId',
+ type: 'input'
+ },
+ {
+ id: 4,
+ label: '浜嬩欢缂栧彿:',
+ value: '',
+ placeholder: '璇疯緭鍏ヤ簨浠剁紪鍙�',
+ prop: 'code',
+ type: 'input'
+ },
+ {
+ id: 5,
+ label: '鐩戞帶鐐瑰悕绉�:',
+ value: '',
+ placeholder: '璇疯緭鍏ョ洃鎺х偣鍚嶇О',
+ prop: 'videoPointId',
+ type: 'select',
+ options: []
+ },
+ {
+ id: 6,
+ label: '瀹℃牳鐘舵��:',
+ value: '',
+ placeholder: '璇疯緭鍏ュ鏍哥姸鎬�',
+ type: 'select',
+ options: [{ id: 7, name: '鏈鏍�' }, { id: 8, name: '宸茬粡瀹℃牳' }, { id: 9, name: '缁撴' }]
+ },
+ {
+ id: 7,
+ label: '杞︾墝鍙�:',
+ value: '',
+ placeholder: '璇疯緭鍏ヨ溅鐗屽彿',
+ prop: 'carNumber',
+ type: 'input'
+ },
+ {
+ id: 8,
+ label: '澶勭悊鎰忚:',
+ value: '',
+ placeholder: '璇疯緭鍏ヤ簨浠剁瓑绾�',
+ prop: 'handlingOpinion',
+ type: 'input'
+ },
+ {
+ id: 9,
+ label: '浜嬩欢绛夌骇:',
+ value: '',
+ placeholder: '璇疯緭鍏ヤ簨浠剁瓑绾�',
+ prop: 'gradeId',
+ type: 'input'
+ },
+ ],
+ form: {
+ gradeId: null,
+ alarmTime: null,
+ handlingOpinion: null,
+ streetId: null,
+ typeId: null,
+ code: null,
+ carNumber: null,
+ state: null,
+ videoPointId: null,
+ organization: null
+ }
+ }
+ },
+
+ methods: {
+ getTableData(params) {
+ basecase.getViolationList({ current: this.currentPage, pageSize: this.pageSize, ...params })
+ .then(({ records, total }) => {
+ this.tableData = records;
+ this.totalNum = total;
+ })
+ .catch(err => this.$message.error(err))
+ },
+
+ searchTableData() {
+ const { alarmTime, organization } = this.form;
+ const [startTime, endTime] = alarmTime ?? [null, null];
+ const [communityId, streetId] = organization ?? [null, null];
+ const params = Object.assign({}, this.form);
+ delete params.alarmTime;
+ delete params.organization;
+ this.getTableData({ startTime, streetId, communityId, endTime, ...params });
+ },
+
+ changeTime({ createTime }) {
+ return helper(createTime);
+ },
+ // 璁剧疆琛ㄦ牸鏂戦┈绾�
+ tableRowClassName({ row, rowIndex }) {
+ if ((rowIndex + 1) % 2 === 0) {
+ return 'warning-row';
+ } else {
+ return 'success-row';
+ }
+ },
+ // 琛ㄥ崟閲嶇疆
+ handleReset() {
+ this.currentPage = 1;
+ this.$refs.condition.resetFields();
+ this.getTableData();
+ },
+ // 鍏抽棴寮圭獥
+ handleClose(done) {
+ done();
+ },
+ // 鎵撳紑寮圭獥
+ handleView(data) {
+ this.info = data
+ this.dialogView = true
+ },
+ // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠�
+ changeCurrentPage(page) {
+ const { alarmTime, organization } = this.form;
+ const [startTime, endTime] = alarmTime ?? [null, null];
+ const [communityId, streetId] = organization ?? [null, null];
+ const params = Object.assign({}, this.form);
+ delete params.alarmTime;
+ delete params.organization;
+ this.currentPage = page;
+ this.getTableData({ startTime, streetId, communityId, endTime, ...params });
+ },
+ // 涓婁竴椤电偣鍑讳簨浠�
+ handlePrev(page) {
+ const { alarmTime, organization } = this.form;
+ const [startTime, endTime] = alarmTime ?? [null, null];
+ const [communityId, streetId] = organization ?? [null, null];
+ const params = Object.assign({}, this.form);
+ delete params.alarmTime;
+ delete params.organization;
+ this.currentPage = page;
+ this.getTableData({ startTime, streetId, communityId, endTime, ...params });
+ },
+ // 涓嬩竴椤电偣鍑讳簨浠�
+ handleNext(page) {
+ const { alarmTime, organization } = this.form;
+ const [startTime, endTime] = alarmTime ?? [null, null];
+ const [communityId, streetId] = organization ?? [null, null];
+ const params = Object.assign({}, this.form);
+ delete params.alarmTime;
+ delete params.organization;
+ this.currentPage = page;
+ this.getTableData({ startTime, streetId, communityId, endTime, ...params });
+ },
+ exportTableData() {
+ basecase.exportViolationData({ current: 1 })
+ .then((res) => {
+ console.log(res)
+ this.$message.success('鎿嶄綔鎴愬姛');
+ // let res = basecase.exportUserOperationLogAjax({
+ // startLogTime: transDate(this.searchQuery.date[0], "YYYY-MM-DD"),
+ // endLogTime: transDate(this.searchQuery.date[1], "YYYY-MM-DD"),
+ // systemName: this.searchQuery.systemName,
+ // userName: this.searchQuery.user,
+ // }).then((res)=>{
+ // console.log(res)
+ // });
+
+ let time = new Date()
+ let deathdate =time.toLocaleDateString()
+ const blob = new Blob([res.data], {
+ type: "application/vnd.ms-excel;charset=utf-8",
+ });
+ if (window.navigator.msSaveBlob) {
+ window.navigator.msSaveBlob(blob, deathdate+"杩濊鏁版嵁" + ".xlsx");
+ } else {
+ const url = window.URL.createObjectURL(blob);
+ const link = document.createElement("a");
+ link.style.display = "none";
+ link.href = url;
+ link.download = deathdate+"杩濊鏁版嵁" + ".xlsx";
+ document.body.appendChild(link);
+ link.click();
+ document.body.removeChild(link);
+ }
+ })
+ .catch(err => this.$message.error(err))
+ }
+ }
+}
+</script>
+<style lang="scss" scoped>
+.illegal-search {
+ text-align: left;
+ margin: 10px 20px;
+ color: #4b9bb7;
+
+ header {
+ background-color: white;
+
+ .headerContent {
+ padding: 20px 40px;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+
+ ::v-deep .el-form {
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: space-between;
+
+ .el-form-item {
+ width: 30%;
+ }
+
+ .el-form-item__label {
+ color: #4b9bb7;
+ }
+ }
+ }
+ }
+
+ main {
+ background-color: #ffffff;
+ margin-top: 20px;
+ padding-bottom: 50px;
+
+ .mainTitle {
+ line-height: 60px;
+ }
+
+ .main-btns {
+ display: flex;
+ justify-content: space-between;
+ line-height: 60px;
+ padding: 0 20px;
+
+ .el-button {
+ background-color: #2f91ec;
+ border: 1px solid #17324c;
+ color: #ffffff;
+ }
+ }
+
+ .el-table {
+ // color: #4b9bb7;
+ }
+
+ .tools {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ padding: 0 20px;
+
+ .funs-sp {
+ border: 1px solid #17324c;
+ }
+
+ .funs {
+ display: flex;
+
+ .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;
+ }
+
+ &::v-deep .el-input__inner {
+ border: none;
+ // background-color: #09152f;
+ }
+ }
+ }
+ }
+ }
+}
+</style>
\ No newline at end of file
diff --git a/.history/src/views/intelligentPatrol/illegalSearch/index_20230103161938.vue b/.history/src/views/intelligentPatrol/illegalSearch/index_20230103161938.vue
new file mode 100644
index 0000000..46dd605
--- /dev/null
+++ b/.history/src/views/intelligentPatrol/illegalSearch/index_20230103161938.vue
@@ -0,0 +1,441 @@
+<template>
+ <div class="illegal-search">
+ <header>
+ <div class="headerContent">
+ <!-- 鏉′欢绛涢�� -->
+ <el-form ref="condition" :model="form" label-width="100px">
+ <el-form-item :label=item.label :key=item.id v-for="item in headerList" :prop="item.prop">
+ <el-input v-if="item.type === 'input'" v-model="form[item.prop]" :placeholder="item.placeholder"></el-input>
+ <el-cascader v-if="item.type === 'cascader'" :options="item.options"
+ :props="{ value: 'id', label: 'regionName' }" v-model="form[item.prop]"
+ :placeholder="item.placeholder"></el-cascader>
+ <el-select v-if="item.type === 'select'" v-model="form[item.prop]" :placeholder="item.placeholder">
+ <el-option v-for="option in item.options" :value="option.id" :key="option.id"
+ :label="option.name"></el-option>
+ </el-select>
+ <el-date-picker v-if="item.type === 'timepick'" type="datetimerange" v-model="form[item.prop]"
+ start-placeholder="寮�濮嬫棩鏈�" end-placeholder="缁撴潫鏃ユ湡" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
+ </el-form-item>
+ </el-form>
+ </div>
+ </header>
+ <main>
+ <div class="mainContent">
+ <!-- 鎸夐挳鍖哄煙 -->
+ <div class="main-btns">
+ <div class="main-btns-left">
+<!-- <el-button icon="el-icon-download">涓嬭浇鍥剧墖</el-button>-->
+ <el-button icon="el-icon-folder" @click="exportTableData">瀵煎嚭</el-button>
+ </div>
+ <div class="main-btns-right">
+ <el-button icon="el-icon-search" @click="searchTableData">鏌ヨ</el-button>
+ <el-button icon="el-icon-delete-solid" @click="handleReset">閲嶇疆</el-button>
+ </div>
+ </div>
+ <!-- 鏁版嵁灞曠ず -->
+ <el-table ref="multipleTable"
+ :header-cell-style="{ '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 prop="code" label="浜嬩欢缂栧彿" min-width="10">
+ </el-table-column>
+ <el-table-column prop="typeName" label="杩濊绫诲瀷" min-width="10">
+ </el-table-column>
+ <el-table-column prop="eventSource" label="浜嬩欢鏉ユ簮" min-width="10">
+ </el-table-column>
+ <el-table-column prop="gradeName" label="浜嬩欢绛夌骇" min-width="10">
+ </el-table-column>
+ <el-table-column prop="streetName" label="鎶ヨ鐐逛綅" min-width="10">
+ </el-table-column>
+ <el-table-column prop="site" label="鎵�灞炵粍缁�" min-width="10">
+ </el-table-column>
+ <el-table-column prop="alarmTime" label="鎶ヨ鏃堕棿" min-width="12">
+ </el-table-column>
+ <el-table-column prop="continueTime" label="鎸佺画鏃堕棿" min-width="12">
+ </el-table-column>
+ <el-table-column prop="carNumber" label="杞︾墝鍙风爜" min-width="10">
+ </el-table-column>
+ <el-table-column prop="state" label="瀹℃牳鐘舵��" min-width="10">
+ </el-table-column>
+ <el-table-column prop="handlingOpinion" label="澶勭悊鎰忚" min-width="10">
+ </el-table-column>
+ <el-table-column prop="operation" label="鎿嶄綔" min-width="15">
+ <template slot-scope="scope">
+ <div class="operation">
+ <span @click="handleView(scope.row)">鏌ョ湅</span>
+ </div>
+ </template>
+ </el-table-column>
+ </el-table>
+ </div>
+ <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>
+ </main>
+ <footer>
+ <!-- 鏌ョ湅鍏蜂綋淇℃伅 -->
+ <el-dialog title="浜嬩欢璇︽儏" destroy-on-close :visible.sync="dialogView" width="45%" :before-close="handleClose">
+ <ViewInfo :info="info"></ViewInfo>
+ </el-dialog>
+ </footer>
+ </div>
+</template>
+
+<script>
+import helper from "@/utils/mydate.js";
+import ViewInfo from './viewInfo';
+import basecase from "@/api/operate/basecase";
+import department from "@/api/system/department";
+import { getVideoPoint } from "@/api/operate/storeManagement";
+
+export default {
+ components: {
+ ViewInfo
+ },
+
+ created() {
+ this.getTableData();
+
+ // 鑾峰彇缁勭粐鍒楄〃
+ department.getDepartmentList()
+ .then(res => {
+ this.headerList[0].options = res;
+ })
+ .catch(err => this.$message.error(err))
+
+ getVideoPoint({ current: 1, size: 100 })
+ .then(({ records }) => {
+ this.headerList[4].options = records;
+ })
+ .catch(err => this.$message.error(err))
+ },
+
+ data() {
+ return {
+ tableData: [],
+ dialogView: false,
+ info: null,
+ currentPage: 1,
+ pageSize: 10,
+ totalNum: null,
+ headerList: [
+ {
+ id: 1,
+ label: '鎵�灞炵粍缁�:',
+ value: '',
+ placeholder: '璇疯緭鍏ユ墍灞炵粍缁�',
+ prop: 'organization',
+ type: 'cascader',
+ options: []
+ },
+ {
+ id: 2,
+ label: '鎶ヨ鏃堕棿:',
+ value: '',
+ placeholder: '璇疯緭鍏ユ姤璀︽椂闂�',
+ prop: 'alarmTime',
+ type: 'timepick'
+ },
+ {
+ id: 3,
+ label: '杩濊绫诲瀷:',
+ value: '',
+ placeholder: '璇疯緭鍏ヨ繚瑙勭被鍨�',
+ prop: 'typeId',
+ type: 'input'
+ },
+ {
+ id: 4,
+ label: '浜嬩欢缂栧彿:',
+ value: '',
+ placeholder: '璇疯緭鍏ヤ簨浠剁紪鍙�',
+ prop: 'code',
+ type: 'input'
+ },
+ {
+ id: 5,
+ label: '鐩戞帶鐐瑰悕绉�:',
+ value: '',
+ placeholder: '璇疯緭鍏ョ洃鎺х偣鍚嶇О',
+ prop: 'videoPointId',
+ type: 'select',
+ options: []
+ },
+ {
+ id: 6,
+ label: '瀹℃牳鐘舵��:',
+ value: '',
+ placeholder: '璇疯緭鍏ュ鏍哥姸鎬�',
+ type: 'select',
+ prop: 'status',
+ options: [{ id: 7, name: '鏈鏍�' }, { id: 8, name: '宸茬粡瀹℃牳' }, { id: 9, name: '缁撴' }]
+ },
+ {
+ id: 7,
+ label: '杞︾墝鍙�:',
+ value: '',
+ placeholder: '璇疯緭鍏ヨ溅鐗屽彿',
+ prop: 'carNumber',
+ type: 'input'
+ },
+ {
+ id: 8,
+ label: '澶勭悊鎰忚:',
+ value: '',
+ placeholder: '璇疯緭鍏ヤ簨浠剁瓑绾�',
+ prop: 'handlingOpinion',
+ type: 'input'
+ },
+ {
+ id: 9,
+ label: '浜嬩欢绛夌骇:',
+ value: '',
+ placeholder: '璇疯緭鍏ヤ簨浠剁瓑绾�',
+ prop: 'gradeId',
+ type: 'input'
+ },
+ ],
+ form: {
+ gradeId: null,
+ alarmTime: null,
+ handlingOpinion: null,
+ streetId: null,
+ typeId: null,
+ code: null,
+ carNumber: null,
+ state: null,
+ videoPointId: null,
+ organization: null
+ }
+ }
+ },
+
+ methods: {
+ getTableData(params) {
+ basecase.getViolationList({ current: this.currentPage, pageSize: this.pageSize, ...params })
+ .then(({ records, total }) => {
+ this.tableData = records;
+ this.totalNum = total;
+ })
+ .catch(err => this.$message.error(err))
+ },
+
+ searchTableData() {
+ const { alarmTime, organization } = this.form;
+ const [startTime, endTime] = alarmTime ?? [null, null];
+ const [communityId, streetId] = organization ?? [null, null];
+ const params = Object.assign({}, this.form);
+ delete params.alarmTime;
+ delete params.organization;
+ this.getTableData({ startTime, streetId, communityId, endTime, ...params });
+ },
+
+ changeTime({ createTime }) {
+ return helper(createTime);
+ },
+ // 璁剧疆琛ㄦ牸鏂戦┈绾�
+ tableRowClassName({ row, rowIndex }) {
+ if ((rowIndex + 1) % 2 === 0) {
+ return 'warning-row';
+ } else {
+ return 'success-row';
+ }
+ },
+ // 琛ㄥ崟閲嶇疆
+ handleReset() {
+ this.currentPage = 1;
+ this.$refs.condition.resetFields();
+ this.getTableData();
+ },
+ // 鍏抽棴寮圭獥
+ handleClose(done) {
+ done();
+ },
+ // 鎵撳紑寮圭獥
+ handleView(data) {
+ this.info = data
+ this.dialogView = true
+ },
+ // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠�
+ changeCurrentPage(page) {
+ const { alarmTime, organization } = this.form;
+ const [startTime, endTime] = alarmTime ?? [null, null];
+ const [communityId, streetId] = organization ?? [null, null];
+ const params = Object.assign({}, this.form);
+ delete params.alarmTime;
+ delete params.organization;
+ this.currentPage = page;
+ this.getTableData({ startTime, streetId, communityId, endTime, ...params });
+ },
+ // 涓婁竴椤电偣鍑讳簨浠�
+ handlePrev(page) {
+ const { alarmTime, organization } = this.form;
+ const [startTime, endTime] = alarmTime ?? [null, null];
+ const [communityId, streetId] = organization ?? [null, null];
+ const params = Object.assign({}, this.form);
+ delete params.alarmTime;
+ delete params.organization;
+ this.currentPage = page;
+ this.getTableData({ startTime, streetId, communityId, endTime, ...params });
+ },
+ // 涓嬩竴椤电偣鍑讳簨浠�
+ handleNext(page) {
+ const { alarmTime, organization } = this.form;
+ const [startTime, endTime] = alarmTime ?? [null, null];
+ const [communityId, streetId] = organization ?? [null, null];
+ const params = Object.assign({}, this.form);
+ delete params.alarmTime;
+ delete params.organization;
+ this.currentPage = page;
+ this.getTableData({ startTime, streetId, communityId, endTime, ...params });
+ },
+ exportTableData() {
+ basecase.exportViolationData({ current: 1 })
+ .then((res) => {
+ console.log(res)
+ this.$message.success('鎿嶄綔鎴愬姛');
+ // let res = basecase.exportUserOperationLogAjax({
+ // startLogTime: transDate(this.searchQuery.date[0], "YYYY-MM-DD"),
+ // endLogTime: transDate(this.searchQuery.date[1], "YYYY-MM-DD"),
+ // systemName: this.searchQuery.systemName,
+ // userName: this.searchQuery.user,
+ // }).then((res)=>{
+ // console.log(res)
+ // });
+
+ let time = new Date()
+ let deathdate =time.toLocaleDateString()
+ const blob = new Blob([res.data], {
+ type: "application/vnd.ms-excel;charset=utf-8",
+ });
+ if (window.navigator.msSaveBlob) {
+ window.navigator.msSaveBlob(blob, deathdate+"杩濊鏁版嵁" + ".xlsx");
+ } else {
+ const url = window.URL.createObjectURL(blob);
+ const link = document.createElement("a");
+ link.style.display = "none";
+ link.href = url;
+ link.download = deathdate+"杩濊鏁版嵁" + ".xlsx";
+ document.body.appendChild(link);
+ link.click();
+ document.body.removeChild(link);
+ }
+ })
+ .catch(err => this.$message.error(err))
+ }
+ }
+}
+</script>
+<style lang="scss" scoped>
+.illegal-search {
+ text-align: left;
+ margin: 10px 20px;
+ color: #4b9bb7;
+
+ header {
+ background-color: white;
+
+ .headerContent {
+ padding: 20px 40px;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+
+ ::v-deep .el-form {
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: space-between;
+
+ .el-form-item {
+ width: 30%;
+ }
+
+ .el-form-item__label {
+ color: #4b9bb7;
+ }
+ }
+ }
+ }
+
+ main {
+ background-color: #ffffff;
+ margin-top: 20px;
+ padding-bottom: 50px;
+
+ .mainTitle {
+ line-height: 60px;
+ }
+
+ .main-btns {
+ display: flex;
+ justify-content: space-between;
+ line-height: 60px;
+ padding: 0 20px;
+
+ .el-button {
+ background-color: #2f91ec;
+ border: 1px solid #17324c;
+ color: #ffffff;
+ }
+ }
+
+ .el-table {
+ // color: #4b9bb7;
+ }
+
+ .tools {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ padding: 0 20px;
+
+ .funs-sp {
+ border: 1px solid #17324c;
+ }
+
+ .funs {
+ display: flex;
+
+ .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;
+ }
+
+ &::v-deep .el-input__inner {
+ border: none;
+ // background-color: #09152f;
+ }
+ }
+ }
+ }
+ }
+}
+</style>
\ No newline at end of file
diff --git a/.history/src/views/intelligentPatrol/illegalSearch/index_20230103162024.vue b/.history/src/views/intelligentPatrol/illegalSearch/index_20230103162024.vue
new file mode 100644
index 0000000..5057ac6
--- /dev/null
+++ b/.history/src/views/intelligentPatrol/illegalSearch/index_20230103162024.vue
@@ -0,0 +1,441 @@
+<template>
+ <div class="illegal-search">
+ <header>
+ <div class="headerContent">
+ <!-- 鏉′欢绛涢�� -->
+ <el-form ref="condition" :model="form" label-width="100px">
+ <el-form-item :label=item.label :key=item.id v-for="item in headerList" :prop="item.prop">
+ <el-input v-if="item.type === 'input'" v-model="form[item.prop]" :placeholder="item.placeholder"></el-input>
+ <el-cascader v-if="item.type === 'cascader'" :options="item.options"
+ :props="{ value: 'id', label: 'regionName' }" v-model="form[item.prop]"
+ :placeholder="item.placeholder"></el-cascader>
+ <el-select v-if="item.type === 'select'" v-model="form[item.prop]" :placeholder="item.placeholder">
+ <el-option v-for="option in item.options" :value="option.id" :key="option.id"
+ :label="option.name"></el-option>
+ </el-select>
+ <el-date-picker v-if="item.type === 'timepick'" type="datetimerange" v-model="form[item.prop]"
+ start-placeholder="寮�濮嬫棩鏈�" end-placeholder="缁撴潫鏃ユ湡" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
+ </el-form-item>
+ </el-form>
+ </div>
+ </header>
+ <main>
+ <div class="mainContent">
+ <!-- 鎸夐挳鍖哄煙 -->
+ <div class="main-btns">
+ <div class="main-btns-left">
+<!-- <el-button icon="el-icon-download">涓嬭浇鍥剧墖</el-button>-->
+ <el-button icon="el-icon-folder" @click="exportTableData">瀵煎嚭</el-button>
+ </div>
+ <div class="main-btns-right">
+ <el-button icon="el-icon-search" @click="searchTableData">鏌ヨ</el-button>
+ <el-button icon="el-icon-delete-solid" @click="handleReset">閲嶇疆</el-button>
+ </div>
+ </div>
+ <!-- 鏁版嵁灞曠ず -->
+ <el-table ref="multipleTable"
+ :header-cell-style="{ '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 prop="code" label="浜嬩欢缂栧彿" min-width="10">
+ </el-table-column>
+ <el-table-column prop="typeName" label="杩濊绫诲瀷" min-width="10">
+ </el-table-column>
+ <el-table-column prop="eventSource" label="浜嬩欢鏉ユ簮" min-width="10">
+ </el-table-column>
+ <el-table-column prop="gradeName" label="浜嬩欢绛夌骇" min-width="10">
+ </el-table-column>
+ <el-table-column prop="streetName" label="鎶ヨ鐐逛綅" min-width="10">
+ </el-table-column>
+ <el-table-column prop="site" label="鎵�灞炵粍缁�" min-width="10">
+ </el-table-column>
+ <el-table-column prop="alarmTime" label="鎶ヨ鏃堕棿" min-width="12">
+ </el-table-column>
+ <el-table-column prop="continueTime" label="鎸佺画鏃堕棿" min-width="12">
+ </el-table-column>
+ <el-table-column prop="carNumber" label="杞︾墝鍙风爜" min-width="10">
+ </el-table-column>
+ <el-table-column prop="state" label="瀹℃牳鐘舵��" min-width="10">
+ </el-table-column>
+ <el-table-column prop="handlingOpinion" label="澶勭悊鎰忚" min-width="10">
+ </el-table-column>
+ <el-table-column prop="operation" label="鎿嶄綔" min-width="15">
+ <template slot-scope="scope">
+ <div class="operation">
+ <span @click="handleView(scope.row)">鏌ョ湅</span>
+ </div>
+ </template>
+ </el-table-column>
+ </el-table>
+ </div>
+ <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>
+ </main>
+ <footer>
+ <!-- 鏌ョ湅鍏蜂綋淇℃伅 -->
+ <el-dialog title="浜嬩欢璇︽儏" destroy-on-close :visible.sync="dialogView" width="45%" :before-close="handleClose">
+ <ViewInfo :info="info"></ViewInfo>
+ </el-dialog>
+ </footer>
+ </div>
+</template>
+
+<script>
+import helper from "@/utils/mydate.js";
+import ViewInfo from './viewInfo';
+import basecase from "@/api/operate/basecase";
+import department from "@/api/system/department";
+import { getVideoPoint } from "@/api/operate/storeManagement";
+
+export default {
+ components: {
+ ViewInfo
+ },
+
+ created() {
+ this.getTableData();
+
+ // 鑾峰彇缁勭粐鍒楄〃
+ department.getDepartmentList()
+ .then(res => {
+ this.headerList[0].options = res;
+ })
+ .catch(err => this.$message.error(err))
+
+ getVideoPoint({ current: 1, size: 100 })
+ .then(({ records }) => {
+ this.headerList[4].options = records;
+ })
+ .catch(err => this.$message.error(err))
+ },
+
+ data() {
+ return {
+ tableData: [],
+ dialogView: false,
+ info: null,
+ currentPage: 1,
+ pageSize: 10,
+ totalNum: null,
+ headerList: [
+ {
+ id: 1,
+ label: '鎵�灞炵粍缁�:',
+ value: '',
+ placeholder: '璇疯緭鍏ユ墍灞炵粍缁�',
+ prop: 'organization',
+ type: 'cascader',
+ options: []
+ },
+ {
+ id: 2,
+ label: '鎶ヨ鏃堕棿:',
+ value: '',
+ placeholder: '璇疯緭鍏ユ姤璀︽椂闂�',
+ prop: 'alarmTime',
+ type: 'timepick'
+ },
+ {
+ id: 3,
+ label: '杩濊绫诲瀷:',
+ value: '',
+ placeholder: '璇疯緭鍏ヨ繚瑙勭被鍨�',
+ prop: 'typeId',
+ type: 'input'
+ },
+ {
+ id: 4,
+ label: '浜嬩欢缂栧彿:',
+ value: '',
+ placeholder: '璇疯緭鍏ヤ簨浠剁紪鍙�',
+ prop: 'code',
+ type: 'input'
+ },
+ {
+ id: 5,
+ label: '鐩戞帶鐐瑰悕绉�:',
+ value: '',
+ placeholder: '璇疯緭鍏ョ洃鎺х偣鍚嶇О',
+ prop: 'videoPointId',
+ type: 'select',
+ options: []
+ },
+ {
+ id: 6,
+ label: '瀹℃牳鐘舵��:',
+ value: '',
+ placeholder: '璇疯緭鍏ュ鏍哥姸鎬�',
+ type: 'select',
+ prop: 'state',
+ options: [{ id: 7, name: '鏈鏍�' }, { id: 8, name: '宸茬粡瀹℃牳' }, { id: 9, name: '缁撴' }]
+ },
+ {
+ id: 7,
+ label: '杞︾墝鍙�:',
+ value: '',
+ placeholder: '璇疯緭鍏ヨ溅鐗屽彿',
+ prop: 'carNumber',
+ type: 'input'
+ },
+ {
+ id: 8,
+ label: '澶勭悊鎰忚:',
+ value: '',
+ placeholder: '璇疯緭鍏ヤ簨浠剁瓑绾�',
+ prop: 'handlingOpinion',
+ type: 'input'
+ },
+ {
+ id: 9,
+ label: '浜嬩欢绛夌骇:',
+ value: '',
+ placeholder: '璇疯緭鍏ヤ簨浠剁瓑绾�',
+ prop: 'gradeId',
+ type: 'input'
+ },
+ ],
+ form: {
+ gradeId: null,
+ alarmTime: null,
+ handlingOpinion: null,
+ streetId: null,
+ typeId: null,
+ code: null,
+ carNumber: null,
+ state: null,
+ videoPointId: null,
+ organization: null
+ }
+ }
+ },
+
+ methods: {
+ getTableData(params) {
+ basecase.getViolationList({ current: this.currentPage, pageSize: this.pageSize, ...params })
+ .then(({ records, total }) => {
+ this.tableData = records;
+ this.totalNum = total;
+ })
+ .catch(err => this.$message.error(err))
+ },
+
+ searchTableData() {
+ const { alarmTime, organization } = this.form;
+ const [startTime, endTime] = alarmTime ?? [null, null];
+ const [communityId, streetId] = organization ?? [null, null];
+ const params = Object.assign({}, this.form);
+ delete params.alarmTime;
+ delete params.organization;
+ this.getTableData({ startTime, streetId, communityId, endTime, ...params });
+ },
+
+ changeTime({ createTime }) {
+ return helper(createTime);
+ },
+ // 璁剧疆琛ㄦ牸鏂戦┈绾�
+ tableRowClassName({ row, rowIndex }) {
+ if ((rowIndex + 1) % 2 === 0) {
+ return 'warning-row';
+ } else {
+ return 'success-row';
+ }
+ },
+ // 琛ㄥ崟閲嶇疆
+ handleReset() {
+ this.currentPage = 1;
+ this.$refs.condition.resetFields();
+ this.getTableData();
+ },
+ // 鍏抽棴寮圭獥
+ handleClose(done) {
+ done();
+ },
+ // 鎵撳紑寮圭獥
+ handleView(data) {
+ this.info = data
+ this.dialogView = true
+ },
+ // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠�
+ changeCurrentPage(page) {
+ const { alarmTime, organization } = this.form;
+ const [startTime, endTime] = alarmTime ?? [null, null];
+ const [communityId, streetId] = organization ?? [null, null];
+ const params = Object.assign({}, this.form);
+ delete params.alarmTime;
+ delete params.organization;
+ this.currentPage = page;
+ this.getTableData({ startTime, streetId, communityId, endTime, ...params });
+ },
+ // 涓婁竴椤电偣鍑讳簨浠�
+ handlePrev(page) {
+ const { alarmTime, organization } = this.form;
+ const [startTime, endTime] = alarmTime ?? [null, null];
+ const [communityId, streetId] = organization ?? [null, null];
+ const params = Object.assign({}, this.form);
+ delete params.alarmTime;
+ delete params.organization;
+ this.currentPage = page;
+ this.getTableData({ startTime, streetId, communityId, endTime, ...params });
+ },
+ // 涓嬩竴椤电偣鍑讳簨浠�
+ handleNext(page) {
+ const { alarmTime, organization } = this.form;
+ const [startTime, endTime] = alarmTime ?? [null, null];
+ const [communityId, streetId] = organization ?? [null, null];
+ const params = Object.assign({}, this.form);
+ delete params.alarmTime;
+ delete params.organization;
+ this.currentPage = page;
+ this.getTableData({ startTime, streetId, communityId, endTime, ...params });
+ },
+ exportTableData() {
+ basecase.exportViolationData({ current: 1 })
+ .then((res) => {
+ console.log(res)
+ this.$message.success('鎿嶄綔鎴愬姛');
+ // let res = basecase.exportUserOperationLogAjax({
+ // startLogTime: transDate(this.searchQuery.date[0], "YYYY-MM-DD"),
+ // endLogTime: transDate(this.searchQuery.date[1], "YYYY-MM-DD"),
+ // systemName: this.searchQuery.systemName,
+ // userName: this.searchQuery.user,
+ // }).then((res)=>{
+ // console.log(res)
+ // });
+
+ let time = new Date()
+ let deathdate =time.toLocaleDateString()
+ const blob = new Blob([res.data], {
+ type: "application/vnd.ms-excel;charset=utf-8",
+ });
+ if (window.navigator.msSaveBlob) {
+ window.navigator.msSaveBlob(blob, deathdate+"杩濊鏁版嵁" + ".xlsx");
+ } else {
+ const url = window.URL.createObjectURL(blob);
+ const link = document.createElement("a");
+ link.style.display = "none";
+ link.href = url;
+ link.download = deathdate+"杩濊鏁版嵁" + ".xlsx";
+ document.body.appendChild(link);
+ link.click();
+ document.body.removeChild(link);
+ }
+ })
+ .catch(err => this.$message.error(err))
+ }
+ }
+}
+</script>
+<style lang="scss" scoped>
+.illegal-search {
+ text-align: left;
+ margin: 10px 20px;
+ color: #4b9bb7;
+
+ header {
+ background-color: white;
+
+ .headerContent {
+ padding: 20px 40px;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+
+ ::v-deep .el-form {
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: space-between;
+
+ .el-form-item {
+ width: 30%;
+ }
+
+ .el-form-item__label {
+ color: #4b9bb7;
+ }
+ }
+ }
+ }
+
+ main {
+ background-color: #ffffff;
+ margin-top: 20px;
+ padding-bottom: 50px;
+
+ .mainTitle {
+ line-height: 60px;
+ }
+
+ .main-btns {
+ display: flex;
+ justify-content: space-between;
+ line-height: 60px;
+ padding: 0 20px;
+
+ .el-button {
+ background-color: #2f91ec;
+ border: 1px solid #17324c;
+ color: #ffffff;
+ }
+ }
+
+ .el-table {
+ // color: #4b9bb7;
+ }
+
+ .tools {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ padding: 0 20px;
+
+ .funs-sp {
+ border: 1px solid #17324c;
+ }
+
+ .funs {
+ display: flex;
+
+ .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;
+ }
+
+ &::v-deep .el-input__inner {
+ border: none;
+ // background-color: #09152f;
+ }
+ }
+ }
+ }
+ }
+}
+</style>
\ No newline at end of file
diff --git a/.history/src/views/operate/message/myIndex/index_20221229133119.vue b/.history/src/views/operate/message/myIndex/index_20221229133119.vue
new file mode 100644
index 0000000..87b011c
--- /dev/null
+++ b/.history/src/views/operate/message/myIndex/index_20221229133119.vue
@@ -0,0 +1,595 @@
+<template>
+ <div class="userList">
+ <header>
+ <div class="header-nav">
+ <span class="nav-left">鏁版嵁绛涢��</span>
+ </div>
+ <div class="header-content">
+ <div class="search">
+ <span>杈撳叆鏌ヨ:</span>
+ <el-input placeholder="娑堟伅鏍囬" v-model="context"></el-input>
+ </div>
+ <div class="search">
+ <span>娑堟伅鐘舵��:</span>
+ <el-select v-model="messageStatus" placeholder="璇烽�夋嫨娑堟伅鐘舵��">
+ <el-option v-for="item in statusList" :key="item.value" :label="item.label" :value="item.value">
+ </el-option>
+ </el-select>
+ </div>
+ <div class="search">
+ <span>娑堟伅鍒嗙被:</span>
+ <el-select v-model="messageType" placeholder="璇烽�夋嫨娑堟伅鍒嗙被">
+ <el-option v-for="item in typeList" :key="item.id" :label="item.columnName" :value="item.id">
+ </el-option>
+ </el-select>
+ </div>
+ <div class="search">
+ <span>鍒涘缓鏃堕棿:</span>
+ <el-date-picker style="width: 200px" type="datetimerange" v-model="datetime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
+ </div>
+ <div class="find">
+ <el-button type="primary" icon="el-icon-search" @click="handleSearch">鏌ヨ</el-button>
+ <el-button icon="el-icon-delete-solid" @click="handleReset">閲嶇疆</el-button>
+ </div>
+ </div>
+ </header>
+ <main>
+ <div class="mainContent">
+ <div class="main-nav">
+ <span>鏁版嵁鍒楄〃</span>
+ <el-button class="button-addition" type="primary" icon="el-icon-plus" @click="handleOpera(null, 'create')">娣诲姞</el-button>
+ </div>
+ <!-- 鏁版嵁灞曠ず -->
+ <el-table ref="multipleTable"
+ :header-cell-style="{background:'white','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 label="ID" min-width="5">
+ <template slot-scope="scope">{{ scope.row.id }}</template>
+ </el-table-column>
+ <el-table-column prop="head" label="鏍囬" min-width="10">
+ </el-table-column>
+ <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" min-width="10">
+ </el-table-column>
+ <el-table-column prop="createUser" label="鍙戝竷浜哄憳" min-width="15">
+ </el-table-column>
+ <el-table-column prop="messageTypeName" label="娑堟伅鏍忕洰" min-width="10">
+ </el-table-column>
+ <el-table-column prop="status" label="鍙戝竷鐘舵��" min-width="5">
+ <template v-if="scope.row.status" slot-scope="scope">
+ {{scope.row.status === 0 ? '鏈彂甯�' :'宸插彂甯�'}}
+ </template>
+ </el-table-column>
+ <el-table-column prop="operation" label="鎿嶄綔" min-width="15">
+ <template slot-scope="scope">
+ <div class="operation">
+ <el-link icon="el-icon-view" :underline="false" @click="handleOpera(scope.row, 'view')">鏌ョ湅</el-link>
+ <el-link icon="el-icon-edit" class="leftPx" :underline="false" @click="handleOpera(scope.row, 'update')">缂栬緫</el-link>
+ <el-link class="leftPx" icon="el-icon-delete-solid" :underline="false"
+ @click="handleDelete([scope.row.id])">鍒犻櫎</el-link>
+ </div>
+ </template>
+ </el-table-column>
+ </el-table>
+ <!-- 鏂板缓娑堟伅 -->
+ <el-dialog :destroy-on-close="true" :key="dialogType" :title="getDialogTitle" :visible.sync="isShowDialog" width="80%">
+ <my-edit v-if="isShowDialog" @closeMyDialog="closeDialog" :type="dialogType" :myDataRow="tableRowData"></my-edit>
+ </el-dialog>
+ <!-- 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">
+ </el-pagination>
+ </div>
+ </div>
+ </div>
+ </main>
+ </div>
+</template>
+<script>
+import MyView from './myview'
+import MyEdit from './update'
+import { deleteMessage, getMessageById, getMessageList } from "@/api/operate/messageManagement";
+
+export default {
+ components: { MyView, MyEdit },
+ computed: {
+ getDialogTitle() {
+ if (this.dialogType === 'create') {
+ return '鍒涘缓';
+ }
+
+ if (this.dialogType === 'update') {
+ return '鏇存柊';
+ }
+
+ if (this.dialogType === 'view') {
+ return '鏌ョ湅';
+ }
+ }
+ },
+ data() {
+ return {
+ tableData: [],
+ tableRowData: null,
+ isShowMoreParams: false,
+ context: null,
+ isShowDialog: false,
+ dialogType: false,
+ totalNum: null,
+ pageSize: 10,
+ currentPage: 1,
+ all: false,
+ unsame: false,
+ myIdx: 0,
+ preMyIdx: 0,
+ datetime: null,
+ options: [
+ {
+ value: 0,
+ label: '鎵归噺鎿嶄綔',
+ disabled: true,
+ },
+ // {
+ // value: 1,
+ // label: '鎵归噺鍚敤',
+ // },
+ // {
+ // value: 2,
+ // label: '鎵归噺绂佺敤',
+ // },
+ {
+ value: 3,
+ label: '鎵归噺鍒犻櫎',
+ }
+ ],
+ tempList: [],
+ messageStatus: 2,
+ messageType: '00',
+ statusList: [
+ {
+ label: '鍏ㄩ儴',
+ value: 2,
+ },
+ {
+ label: '鏈彂甯�',
+ value: 0,
+ },
+ {
+ label: '宸插彂甯�',
+ value: 1,
+ }
+ ],
+ typeList: [
+ {
+ id:'00',
+ columnName:'鍏ㄩ儴',
+ },
+ {
+ id:'01',
+ columnName:'绔欏唴淇�',
+ },
+ {
+ id:'03',
+ columnName:'閭欢',
+ },
+ {
+ id:'02',
+ columnName:'鐭俊',
+ }
+ ]
+ }
+ },
+ created() {
+ this.getMessageList();
+ },
+
+ methods: {
+ // 鏌ヨ
+ handleSearch(){
+ this.getMessageList();
+ },
+
+ // 閲嶇疆
+ handleReset(){
+ this.messageStatus = 2;
+ this.messageType = '00';
+ this.context = '';
+ this.getMessageList();
+ },
+
+ // 鏌ョ湅
+ handleOpera(data, type){
+ this.tableRowData = data;
+ this.dialogType = type;
+ this.isShowDialog = true;
+ },
+
+ // 鍒犻櫎淇℃伅
+ handleDelete(idarr) {
+ this.$confirm('纭鍒犻櫎?')
+ .then(() => {
+ deleteMessage({ ids: idarr.join(',') })
+ .then(() => {
+ this.getMessageList();
+ this.$message.success('鎿嶄綔鎴愬姛');
+ })
+ .catch(err => { this.$message({ type: 'error', message: err }) });
+ })
+ },
+
+ // 鑾峰彇娑堟伅鏁版嵁
+ getMessageList() {
+ const messageParam = {
+ current: this.currentPage,
+ pageSize: this.pageSize,
+ channelCode: this.messageType === '00' ? null : this.messageType,
+ status: this.messageStatus === 2 ? null : this.messageStatus,
+ head: this.context,
+ startTime: this.datetime ? this.datetime[0] : null,
+ endTime: this.datetime ? this.datetime[1] : null
+ }
+
+ getMessageList(messageParam)
+ .then(({ records, total ,size}) => {
+ this.tableData = records;
+ this.totalNum = total;
+ this.pageSize=size;
+ })
+ .catch(err => {
+ this.$message({ type: 'error', message: err });
+ });
+ },
+
+ // 鎵归噺涓嬫媺妗嗘搷浣�
+ async selectChange(list) {
+ 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
+ })
+ }
+ })
+ })
+ .catch(err => { })
+ },
+
+ // 琛ㄦ牸鐩戝惉
+ tableChange(list) {
+ this.tempList = [];
+ list.forEach(item => {
+ this.tempList.push(item.id);
+ })
+ this.all = list.length === this.tableData.length;
+ },
+ // 鍏ㄩ��
+ 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';
+ }
+ },
+
+ // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠�
+ changeCurrentPage(page) {
+ this.currentPage = page;
+ this.getMessageList();
+ },
+
+ // 鑷畾涔夊叧闂脊绐�
+ closeDialog() {
+ this.isShowDialog = false;
+ this.getMessageList();
+ }
+ }
+}
+</script>
+<style lang="scss" scoped>
+.userList {
+ text-align: left;
+ margin: 10px 20px;
+ color: #606266;
+
+ header {
+ background-color: white;
+
+ .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 {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ 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: white;
+ margin-top: 20px;
+ padding-bottom: 50px;
+
+ .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: #606266;
+ // 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: #606266;
+ }
+
+ &::v-deep .el-dialog__close {
+ width: 20px;
+ height: 20px;
+ }
+
+ &::v-deep .el-dialog__body {
+ padding: 0;
+ }
+ :deep(.el-range-input) {
+ //background-color: #09152f;
+ }
+}
+</style>
diff --git a/.history/src/views/operate/message/myIndex/index_20230104114351.vue b/.history/src/views/operate/message/myIndex/index_20230104114351.vue
new file mode 100644
index 0000000..05097ed
--- /dev/null
+++ b/.history/src/views/operate/message/myIndex/index_20230104114351.vue
@@ -0,0 +1,595 @@
+<template>
+ <div class="userList">
+ <header>
+ <div class="header-nav">
+ <span class="nav-left">鏁版嵁绛涢��</span>
+ </div>
+ <div class="header-content">
+ <div class="search">
+ <span>杈撳叆鏌ヨ:</span>
+ <el-input placeholder="娑堟伅鏍囬" v-model="context"></el-input>
+ </div>
+ <div class="search">
+ <span>娑堟伅鐘舵��:</span>
+ <el-select v-model="messageStatus" placeholder="璇烽�夋嫨娑堟伅鐘舵��">
+ <el-option v-for="item in statusList" :key="item.value" :label="item.label" :value="item.value">
+ </el-option>
+ </el-select>
+ </div>
+ <div class="search">
+ <span>娑堟伅鍒嗙被:</span>
+ <el-select v-model="messageType" placeholder="璇烽�夋嫨娑堟伅鍒嗙被">
+ <el-option v-for="item in typeList" :key="item.id" :label="item.columnName" :value="item.id">
+ </el-option>
+ </el-select>
+ </div>
+ <div class="search">
+ <span>鍒涘缓鏃堕棿:</span>
+ <el-date-picker style="width: 200px" type="datetimerange" v-model="datetime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
+ </div>
+ <div class="find">
+ <el-button type="primary" icon="el-icon-search" @click="handleSearch">鏌ヨ</el-button>
+ <el-button icon="el-icon-delete-solid" @click="handleReset">閲嶇疆</el-button>
+ </div>
+ </div>
+ </header>
+ <main>
+ <div class="mainContent">
+ <div class="main-nav">
+ <span>鏁版嵁鍒楄〃</span>
+ <el-button class="button-addition" type="primary" icon="el-icon-plus" @click="handleOpera(null, 'create')">娣诲姞</el-button>
+ </div>
+ <!-- 鏁版嵁灞曠ず -->
+ <el-table ref="multipleTable"
+ :header-cell-style="{background:'white','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 label="ID" min-width="5">
+ <template slot-scope="scope">{{ scope.row.id }}</template>
+ </el-table-column>
+ <el-table-column prop="head" label="鏍囬" min-width="10">
+ </el-table-column>
+ <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" min-width="10">
+ </el-table-column>
+ <el-table-column prop="targetFrom" label="鍙戝竷浜哄憳" min-width="15">
+ </el-table-column>
+ <el-table-column prop="messageTypeName" label="娑堟伅鏍忕洰" min-width="10">
+ </el-table-column>
+ <el-table-column prop="status" label="鍙戝竷鐘舵��" min-width="5">
+ <template v-if="scope.row.status" slot-scope="scope">
+ {{scope.row.status === 0 ? '鏈彂甯�' :'宸插彂甯�'}}
+ </template>
+ </el-table-column>
+ <el-table-column prop="operation" label="鎿嶄綔" min-width="15">
+ <template slot-scope="scope">
+ <div class="operation">
+ <el-link icon="el-icon-view" :underline="false" @click="handleOpera(scope.row, 'view')">鏌ョ湅</el-link>
+ <el-link icon="el-icon-edit" class="leftPx" :underline="false" @click="handleOpera(scope.row, 'update')">缂栬緫</el-link>
+ <el-link class="leftPx" icon="el-icon-delete-solid" :underline="false"
+ @click="handleDelete([scope.row.id])">鍒犻櫎</el-link>
+ </div>
+ </template>
+ </el-table-column>
+ </el-table>
+ <!-- 鏂板缓娑堟伅 -->
+ <el-dialog :destroy-on-close="true" :key="dialogType" :title="getDialogTitle" :visible.sync="isShowDialog" width="80%">
+ <my-edit v-if="isShowDialog" @closeMyDialog="closeDialog" :type="dialogType" :myDataRow="tableRowData"></my-edit>
+ </el-dialog>
+ <!-- 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">
+ </el-pagination>
+ </div>
+ </div>
+ </div>
+ </main>
+ </div>
+</template>
+<script>
+import MyView from './myview'
+import MyEdit from './update'
+import { deleteMessage, getMessageById, getMessageList } from "@/api/operate/messageManagement";
+
+export default {
+ components: { MyView, MyEdit },
+ computed: {
+ getDialogTitle() {
+ if (this.dialogType === 'create') {
+ return '鍒涘缓';
+ }
+
+ if (this.dialogType === 'update') {
+ return '鏇存柊';
+ }
+
+ if (this.dialogType === 'view') {
+ return '鏌ョ湅';
+ }
+ }
+ },
+ data() {
+ return {
+ tableData: [],
+ tableRowData: null,
+ isShowMoreParams: false,
+ context: null,
+ isShowDialog: false,
+ dialogType: false,
+ totalNum: null,
+ pageSize: 10,
+ currentPage: 1,
+ all: false,
+ unsame: false,
+ myIdx: 0,
+ preMyIdx: 0,
+ datetime: null,
+ options: [
+ {
+ value: 0,
+ label: '鎵归噺鎿嶄綔',
+ disabled: true,
+ },
+ // {
+ // value: 1,
+ // label: '鎵归噺鍚敤',
+ // },
+ // {
+ // value: 2,
+ // label: '鎵归噺绂佺敤',
+ // },
+ {
+ value: 3,
+ label: '鎵归噺鍒犻櫎',
+ }
+ ],
+ tempList: [],
+ messageStatus: 2,
+ messageType: '00',
+ statusList: [
+ {
+ label: '鍏ㄩ儴',
+ value: 2,
+ },
+ {
+ label: '鏈彂甯�',
+ value: 0,
+ },
+ {
+ label: '宸插彂甯�',
+ value: 1,
+ }
+ ],
+ typeList: [
+ {
+ id:'00',
+ columnName:'鍏ㄩ儴',
+ },
+ {
+ id:'01',
+ columnName:'绔欏唴淇�',
+ },
+ {
+ id:'03',
+ columnName:'閭欢',
+ },
+ {
+ id:'02',
+ columnName:'鐭俊',
+ }
+ ]
+ }
+ },
+ created() {
+ this.getMessageList();
+ },
+
+ methods: {
+ // 鏌ヨ
+ handleSearch(){
+ this.getMessageList();
+ },
+
+ // 閲嶇疆
+ handleReset(){
+ this.messageStatus = 2;
+ this.messageType = '00';
+ this.context = '';
+ this.getMessageList();
+ },
+
+ // 鏌ョ湅
+ handleOpera(data, type){
+ this.tableRowData = data;
+ this.dialogType = type;
+ this.isShowDialog = true;
+ },
+
+ // 鍒犻櫎淇℃伅
+ handleDelete(idarr) {
+ this.$confirm('纭鍒犻櫎?')
+ .then(() => {
+ deleteMessage({ ids: idarr.join(',') })
+ .then(() => {
+ this.getMessageList();
+ this.$message.success('鎿嶄綔鎴愬姛');
+ })
+ .catch(err => { this.$message({ type: 'error', message: err }) });
+ })
+ },
+
+ // 鑾峰彇娑堟伅鏁版嵁
+ getMessageList() {
+ const messageParam = {
+ current: this.currentPage,
+ pageSize: this.pageSize,
+ channelCode: this.messageType === '00' ? null : this.messageType,
+ status: this.messageStatus === 2 ? null : this.messageStatus,
+ head: this.context,
+ startTime: this.datetime ? this.datetime[0] : null,
+ endTime: this.datetime ? this.datetime[1] : null
+ }
+
+ getMessageList(messageParam)
+ .then(({ records, total ,size}) => {
+ this.tableData = records;
+ this.totalNum = total;
+ this.pageSize=size;
+ })
+ .catch(err => {
+ this.$message({ type: 'error', message: err });
+ });
+ },
+
+ // 鎵归噺涓嬫媺妗嗘搷浣�
+ async selectChange(list) {
+ 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
+ })
+ }
+ })
+ })
+ .catch(err => { })
+ },
+
+ // 琛ㄦ牸鐩戝惉
+ tableChange(list) {
+ this.tempList = [];
+ list.forEach(item => {
+ this.tempList.push(item.id);
+ })
+ this.all = list.length === this.tableData.length;
+ },
+ // 鍏ㄩ��
+ 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';
+ }
+ },
+
+ // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠�
+ changeCurrentPage(page) {
+ this.currentPage = page;
+ this.getMessageList();
+ },
+
+ // 鑷畾涔夊叧闂脊绐�
+ closeDialog() {
+ this.isShowDialog = false;
+ this.getMessageList();
+ }
+ }
+}
+</script>
+<style lang="scss" scoped>
+.userList {
+ text-align: left;
+ margin: 10px 20px;
+ color: #606266;
+
+ header {
+ background-color: white;
+
+ .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 {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ 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: white;
+ margin-top: 20px;
+ padding-bottom: 50px;
+
+ .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: #606266;
+ // 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: #606266;
+ }
+
+ &::v-deep .el-dialog__close {
+ width: 20px;
+ height: 20px;
+ }
+
+ &::v-deep .el-dialog__body {
+ padding: 0;
+ }
+ :deep(.el-range-input) {
+ //background-color: #09152f;
+ }
+}
+</style>
diff --git a/.history/src/views/operate/message/myIndex/index_20230104114551.vue b/.history/src/views/operate/message/myIndex/index_20230104114551.vue
new file mode 100644
index 0000000..140c0ee
--- /dev/null
+++ b/.history/src/views/operate/message/myIndex/index_20230104114551.vue
@@ -0,0 +1,595 @@
+<template>
+ <div class="userList">
+ <header>
+ <div class="header-nav">
+ <span class="nav-left">鏁版嵁绛涢��</span>
+ </div>
+ <div class="header-content">
+ <div class="search">
+ <span>杈撳叆鏌ヨ:</span>
+ <el-input placeholder="娑堟伅鏍囬" v-model="context"></el-input>
+ </div>
+ <div class="search">
+ <span>娑堟伅鐘舵��:</span>
+ <el-select v-model="messageStatus" placeholder="璇烽�夋嫨娑堟伅鐘舵��">
+ <el-option v-for="item in statusList" :key="item.value" :label="item.label" :value="item.value">
+ </el-option>
+ </el-select>
+ </div>
+ <div class="search">
+ <span>娑堟伅鍒嗙被:</span>
+ <el-select v-model="messageType" placeholder="璇烽�夋嫨娑堟伅鍒嗙被">
+ <el-option v-for="item in typeList" :key="item.id" :label="item.columnName" :value="item.id">
+ </el-option>
+ </el-select>
+ </div>
+ <div class="search">
+ <span>鍒涘缓鏃堕棿:</span>
+ <el-date-picker style="width: 200px" type="datetimerange" v-model="datetime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
+ </div>
+ <div class="find">
+ <el-button type="primary" icon="el-icon-search" @click="handleSearch">鏌ヨ</el-button>
+ <el-button icon="el-icon-delete-solid" @click="handleReset">閲嶇疆</el-button>
+ </div>
+ </div>
+ </header>
+ <main>
+ <div class="mainContent">
+ <div class="main-nav">
+ <span>鏁版嵁鍒楄〃</span>
+ <el-button class="button-addition" type="primary" icon="el-icon-plus" @click="handleOpera(null, 'create')">娣诲姞</el-button>
+ </div>
+ <!-- 鏁版嵁灞曠ず -->
+ <el-table ref="multipleTable"
+ :header-cell-style="{background:'white','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 label="ID" min-width="5">
+ <template slot-scope="scope">{{ scope.row.id }}</template>
+ </el-table-column>
+ <el-table-column prop="head" label="鏍囬" min-width="10">
+ </el-table-column>
+ <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" min-width="10">
+ </el-table-column>
+ <el-table-column prop="targetFrom" label="鍙戝竷浜哄憳" min-width="15">
+ </el-table-column>
+ <el-table-column prop="messageTypeName" label="娑堟伅鏍忕洰" min-width="10">
+ </el-table-column>
+ <el-table-column prop="status" label="鍙戝竷鐘舵��" min-width="5">
+ <!-- <template v-if="scope.row.status" slot-scope="scope">
+ {{scope.row.status === 0 ? '鏈彂甯�' :'宸插彂甯�'}}
+ </template> -->
+ </el-table-column>
+ <el-table-column prop="operation" label="鎿嶄綔" min-width="15">
+ <template slot-scope="scope">
+ <div class="operation">
+ <el-link icon="el-icon-view" :underline="false" @click="handleOpera(scope.row, 'view')">鏌ョ湅</el-link>
+ <el-link icon="el-icon-edit" class="leftPx" :underline="false" @click="handleOpera(scope.row, 'update')">缂栬緫</el-link>
+ <el-link class="leftPx" icon="el-icon-delete-solid" :underline="false"
+ @click="handleDelete([scope.row.id])">鍒犻櫎</el-link>
+ </div>
+ </template>
+ </el-table-column>
+ </el-table>
+ <!-- 鏂板缓娑堟伅 -->
+ <el-dialog :destroy-on-close="true" :key="dialogType" :title="getDialogTitle" :visible.sync="isShowDialog" width="80%">
+ <my-edit v-if="isShowDialog" @closeMyDialog="closeDialog" :type="dialogType" :myDataRow="tableRowData"></my-edit>
+ </el-dialog>
+ <!-- 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">
+ </el-pagination>
+ </div>
+ </div>
+ </div>
+ </main>
+ </div>
+</template>
+<script>
+import MyView from './myview'
+import MyEdit from './update'
+import { deleteMessage, getMessageById, getMessageList } from "@/api/operate/messageManagement";
+
+export default {
+ components: { MyView, MyEdit },
+ computed: {
+ getDialogTitle() {
+ if (this.dialogType === 'create') {
+ return '鍒涘缓';
+ }
+
+ if (this.dialogType === 'update') {
+ return '鏇存柊';
+ }
+
+ if (this.dialogType === 'view') {
+ return '鏌ョ湅';
+ }
+ }
+ },
+ data() {
+ return {
+ tableData: [],
+ tableRowData: null,
+ isShowMoreParams: false,
+ context: null,
+ isShowDialog: false,
+ dialogType: false,
+ totalNum: null,
+ pageSize: 10,
+ currentPage: 1,
+ all: false,
+ unsame: false,
+ myIdx: 0,
+ preMyIdx: 0,
+ datetime: null,
+ options: [
+ {
+ value: 0,
+ label: '鎵归噺鎿嶄綔',
+ disabled: true,
+ },
+ // {
+ // value: 1,
+ // label: '鎵归噺鍚敤',
+ // },
+ // {
+ // value: 2,
+ // label: '鎵归噺绂佺敤',
+ // },
+ {
+ value: 3,
+ label: '鎵归噺鍒犻櫎',
+ }
+ ],
+ tempList: [],
+ messageStatus: 2,
+ messageType: '00',
+ statusList: [
+ {
+ label: '鍏ㄩ儴',
+ value: 2,
+ },
+ {
+ label: '鏈彂甯�',
+ value: 0,
+ },
+ {
+ label: '宸插彂甯�',
+ value: 1,
+ }
+ ],
+ typeList: [
+ {
+ id:'00',
+ columnName:'鍏ㄩ儴',
+ },
+ {
+ id:'01',
+ columnName:'绔欏唴淇�',
+ },
+ {
+ id:'03',
+ columnName:'閭欢',
+ },
+ {
+ id:'02',
+ columnName:'鐭俊',
+ }
+ ]
+ }
+ },
+ created() {
+ this.getMessageList();
+ },
+
+ methods: {
+ // 鏌ヨ
+ handleSearch(){
+ this.getMessageList();
+ },
+
+ // 閲嶇疆
+ handleReset(){
+ this.messageStatus = 2;
+ this.messageType = '00';
+ this.context = '';
+ this.getMessageList();
+ },
+
+ // 鏌ョ湅
+ handleOpera(data, type){
+ this.tableRowData = data;
+ this.dialogType = type;
+ this.isShowDialog = true;
+ },
+
+ // 鍒犻櫎淇℃伅
+ handleDelete(idarr) {
+ this.$confirm('纭鍒犻櫎?')
+ .then(() => {
+ deleteMessage({ ids: idarr.join(',') })
+ .then(() => {
+ this.getMessageList();
+ this.$message.success('鎿嶄綔鎴愬姛');
+ })
+ .catch(err => { this.$message({ type: 'error', message: err }) });
+ })
+ },
+
+ // 鑾峰彇娑堟伅鏁版嵁
+ getMessageList() {
+ const messageParam = {
+ current: this.currentPage,
+ pageSize: this.pageSize,
+ channelCode: this.messageType === '00' ? null : this.messageType,
+ status: this.messageStatus === 2 ? null : this.messageStatus,
+ head: this.context,
+ startTime: this.datetime ? this.datetime[0] : null,
+ endTime: this.datetime ? this.datetime[1] : null
+ }
+
+ getMessageList(messageParam)
+ .then(({ records, total ,size}) => {
+ this.tableData = records;
+ this.totalNum = total;
+ this.pageSize=size;
+ })
+ .catch(err => {
+ this.$message({ type: 'error', message: err });
+ });
+ },
+
+ // 鎵归噺涓嬫媺妗嗘搷浣�
+ async selectChange(list) {
+ 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
+ })
+ }
+ })
+ })
+ .catch(err => { })
+ },
+
+ // 琛ㄦ牸鐩戝惉
+ tableChange(list) {
+ this.tempList = [];
+ list.forEach(item => {
+ this.tempList.push(item.id);
+ })
+ this.all = list.length === this.tableData.length;
+ },
+ // 鍏ㄩ��
+ 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';
+ }
+ },
+
+ // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠�
+ changeCurrentPage(page) {
+ this.currentPage = page;
+ this.getMessageList();
+ },
+
+ // 鑷畾涔夊叧闂脊绐�
+ closeDialog() {
+ this.isShowDialog = false;
+ this.getMessageList();
+ }
+ }
+}
+</script>
+<style lang="scss" scoped>
+.userList {
+ text-align: left;
+ margin: 10px 20px;
+ color: #606266;
+
+ header {
+ background-color: white;
+
+ .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 {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ 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: white;
+ margin-top: 20px;
+ padding-bottom: 50px;
+
+ .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: #606266;
+ // 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: #606266;
+ }
+
+ &::v-deep .el-dialog__close {
+ width: 20px;
+ height: 20px;
+ }
+
+ &::v-deep .el-dialog__body {
+ padding: 0;
+ }
+ :deep(.el-range-input) {
+ //background-color: #09152f;
+ }
+}
+</style>
diff --git a/.history/src/views/operate/message/myIndex/index_20230104114615.vue b/.history/src/views/operate/message/myIndex/index_20230104114615.vue
new file mode 100644
index 0000000..9d1cd63
--- /dev/null
+++ b/.history/src/views/operate/message/myIndex/index_20230104114615.vue
@@ -0,0 +1,604 @@
+<template>
+ <div class="userList">
+ <header>
+ <div class="header-nav">
+ <span class="nav-left">鏁版嵁绛涢��</span>
+ </div>
+ <div class="header-content">
+ <div class="search">
+ <span>杈撳叆鏌ヨ:</span>
+ <el-input placeholder="娑堟伅鏍囬" v-model="context"></el-input>
+ </div>
+ <div class="search">
+ <span>娑堟伅鐘舵��:</span>
+ <el-select v-model="messageStatus" placeholder="璇烽�夋嫨娑堟伅鐘舵��">
+ <el-option v-for="item in statusList" :key="item.value" :label="item.label" :value="item.value">
+ </el-option>
+ </el-select>
+ </div>
+ <div class="search">
+ <span>娑堟伅鍒嗙被:</span>
+ <el-select v-model="messageType" placeholder="璇烽�夋嫨娑堟伅鍒嗙被">
+ <el-option v-for="item in typeList" :key="item.id" :label="item.columnName" :value="item.id">
+ </el-option>
+ </el-select>
+ </div>
+ <div class="search">
+ <span>鍒涘缓鏃堕棿:</span>
+ <el-date-picker style="width: 200px" type="datetimerange" v-model="datetime"
+ value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
+ </div>
+ <div class="find">
+ <el-button type="primary" icon="el-icon-search" @click="handleSearch">鏌ヨ</el-button>
+ <el-button icon="el-icon-delete-solid" @click="handleReset">閲嶇疆</el-button>
+ </div>
+ </div>
+ </header>
+ <main>
+ <div class="mainContent">
+ <div class="main-nav">
+ <span>鏁版嵁鍒楄〃</span>
+ <el-button class="button-addition" type="primary" icon="el-icon-plus"
+ @click="handleOpera(null, 'create')">娣诲姞</el-button>
+ </div>
+ <!-- 鏁版嵁灞曠ず -->
+ <el-table ref="multipleTable"
+ :header-cell-style="{ background: 'white', '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 label="ID" min-width="5">
+ <template slot-scope="scope">{{ scope.row.id }}</template>
+ </el-table-column>
+ <el-table-column prop="head" label="鏍囬" min-width="10">
+ </el-table-column>
+ <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" min-width="10">
+ </el-table-column>
+ <el-table-column prop="targetFrom" label="鍙戝竷浜哄憳" min-width="15">
+ </el-table-column>
+ <el-table-column prop="messageTypeName" label="娑堟伅鏍忕洰" min-width="10">
+ </el-table-column>
+ <el-table-column prop="status" label="鍙戝竷鐘舵��" min-width="5">
+ <template v-if="scope.row.status" slot-scope="scope">
+ {{ scope.row.status == 0 ? '鏈彂甯�' : '宸插彂甯�' }}
+ </template>
+ </el-table-column>
+ <el-table-column prop="operation" label="鎿嶄綔" min-width="15">
+ <template slot-scope="scope">
+ <div class="operation">
+ <el-link icon="el-icon-view" :underline="false"
+ @click="handleOpera(scope.row, 'view')">鏌ョ湅</el-link>
+ <el-link icon="el-icon-edit" class="leftPx" :underline="false"
+ @click="handleOpera(scope.row, 'update')">缂栬緫</el-link>
+ <el-link class="leftPx" icon="el-icon-delete-solid" :underline="false"
+ @click="handleDelete([scope.row.id])">鍒犻櫎</el-link>
+ </div>
+ </template>
+ </el-table-column>
+ </el-table>
+ <!-- 鏂板缓娑堟伅 -->
+ <el-dialog :destroy-on-close="true" :key="dialogType" :title="getDialogTitle"
+ :visible.sync="isShowDialog" width="80%">
+ <my-edit v-if="isShowDialog" @closeMyDialog="closeDialog" :type="dialogType"
+ :myDataRow="tableRowData"></my-edit>
+ </el-dialog>
+ <!-- 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">
+ </el-pagination>
+ </div>
+ </div>
+ </div>
+ </main>
+ </div>
+</template>
+<script>
+import MyView from './myview'
+import MyEdit from './update'
+import { deleteMessage, getMessageById, getMessageList } from "@/api/operate/messageManagement";
+
+export default {
+ components: { MyView, MyEdit },
+ computed: {
+ getDialogTitle() {
+ if (this.dialogType === 'create') {
+ return '鍒涘缓';
+ }
+
+ if (this.dialogType === 'update') {
+ return '鏇存柊';
+ }
+
+ if (this.dialogType === 'view') {
+ return '鏌ョ湅';
+ }
+ }
+ },
+ data() {
+ return {
+ tableData: [],
+ tableRowData: null,
+ isShowMoreParams: false,
+ context: null,
+ isShowDialog: false,
+ dialogType: false,
+ totalNum: null,
+ pageSize: 10,
+ currentPage: 1,
+ all: false,
+ unsame: false,
+ myIdx: 0,
+ preMyIdx: 0,
+ datetime: null,
+ options: [
+ {
+ value: 0,
+ label: '鎵归噺鎿嶄綔',
+ disabled: true,
+ },
+ // {
+ // value: 1,
+ // label: '鎵归噺鍚敤',
+ // },
+ // {
+ // value: 2,
+ // label: '鎵归噺绂佺敤',
+ // },
+ {
+ value: 3,
+ label: '鎵归噺鍒犻櫎',
+ }
+ ],
+ tempList: [],
+ messageStatus: 2,
+ messageType: '00',
+ statusList: [
+ {
+ label: '鍏ㄩ儴',
+ value: 2,
+ },
+ {
+ label: '鏈彂甯�',
+ value: 0,
+ },
+ {
+ label: '宸插彂甯�',
+ value: 1,
+ }
+ ],
+ typeList: [
+ {
+ id: '00',
+ columnName: '鍏ㄩ儴',
+ },
+ {
+ id: '01',
+ columnName: '绔欏唴淇�',
+ },
+ {
+ id: '03',
+ columnName: '閭欢',
+ },
+ {
+ id: '02',
+ columnName: '鐭俊',
+ }
+ ]
+ }
+ },
+ created() {
+ this.getMessageList();
+ },
+
+ methods: {
+ // 鏌ヨ
+ handleSearch() {
+ this.getMessageList();
+ },
+
+ // 閲嶇疆
+ handleReset() {
+ this.messageStatus = 2;
+ this.messageType = '00';
+ this.context = '';
+ this.getMessageList();
+ },
+
+ // 鏌ョ湅
+ handleOpera(data, type) {
+ this.tableRowData = data;
+ this.dialogType = type;
+ this.isShowDialog = true;
+ },
+
+ // 鍒犻櫎淇℃伅
+ handleDelete(idarr) {
+ this.$confirm('纭鍒犻櫎?')
+ .then(() => {
+ deleteMessage({ ids: idarr.join(',') })
+ .then(() => {
+ this.getMessageList();
+ this.$message.success('鎿嶄綔鎴愬姛');
+ })
+ .catch(err => { this.$message({ type: 'error', message: err }) });
+ })
+ },
+
+ // 鑾峰彇娑堟伅鏁版嵁
+ getMessageList() {
+ const messageParam = {
+ current: this.currentPage,
+ pageSize: this.pageSize,
+ channelCode: this.messageType === '00' ? null : this.messageType,
+ status: this.messageStatus === 2 ? null : this.messageStatus,
+ head: this.context,
+ startTime: this.datetime ? this.datetime[0] : null,
+ endTime: this.datetime ? this.datetime[1] : null
+ }
+
+ getMessageList(messageParam)
+ .then(({ records, total, size }) => {
+ this.tableData = records;
+ this.totalNum = total;
+ this.pageSize = size;
+ })
+ .catch(err => {
+ this.$message({ type: 'error', message: err });
+ });
+ },
+
+ // 鎵归噺涓嬫媺妗嗘搷浣�
+ async selectChange(list) {
+ 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
+ })
+ }
+ })
+ })
+ .catch(err => { })
+ },
+
+ // 琛ㄦ牸鐩戝惉
+ tableChange(list) {
+ this.tempList = [];
+ list.forEach(item => {
+ this.tempList.push(item.id);
+ })
+ this.all = list.length === this.tableData.length;
+ },
+ // 鍏ㄩ��
+ 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';
+ }
+ },
+
+ // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠�
+ changeCurrentPage(page) {
+ this.currentPage = page;
+ this.getMessageList();
+ },
+
+ // 鑷畾涔夊叧闂脊绐�
+ closeDialog() {
+ this.isShowDialog = false;
+ this.getMessageList();
+ }
+ }
+}
+</script>
+<style lang="scss" scoped>
+.userList {
+ text-align: left;
+ margin: 10px 20px;
+ color: #606266;
+
+ header {
+ background-color: white;
+
+ .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 {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+
+ 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: white;
+ margin-top: 20px;
+ padding-bottom: 50px;
+
+ .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: #606266;
+ // 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: #606266;
+ }
+
+ &::v-deep .el-dialog__close {
+ width: 20px;
+ height: 20px;
+ }
+
+ &::v-deep .el-dialog__body {
+ padding: 0;
+ }
+
+ :deep(.el-range-input) {
+ //background-color: #09152f;
+ }
+}
+</style>
diff --git a/.history/src/views/operate/message/myIndex/index_20230104114724.vue b/.history/src/views/operate/message/myIndex/index_20230104114724.vue
new file mode 100644
index 0000000..bda4ba2
--- /dev/null
+++ b/.history/src/views/operate/message/myIndex/index_20230104114724.vue
@@ -0,0 +1,604 @@
+<template>
+ <div class="userList">
+ <header>
+ <div class="header-nav">
+ <span class="nav-left">鏁版嵁绛涢��</span>
+ </div>
+ <div class="header-content">
+ <div class="search">
+ <span>杈撳叆鏌ヨ:</span>
+ <el-input placeholder="娑堟伅鏍囬" v-model="context"></el-input>
+ </div>
+ <div class="search">
+ <span>娑堟伅鐘舵��:</span>
+ <el-select v-model="messageStatus" placeholder="璇烽�夋嫨娑堟伅鐘舵��">
+ <el-option v-for="item in statusList" :key="item.value" :label="item.label" :value="item.value">
+ </el-option>
+ </el-select>
+ </div>
+ <div class="search">
+ <span>娑堟伅鍒嗙被:</span>
+ <el-select v-model="messageType" placeholder="璇烽�夋嫨娑堟伅鍒嗙被">
+ <el-option v-for="item in typeList" :key="item.id" :label="item.columnName" :value="item.id">
+ </el-option>
+ </el-select>
+ </div>
+ <div class="search">
+ <span>鍒涘缓鏃堕棿:</span>
+ <el-date-picker style="width: 200px" type="datetimerange" v-model="datetime"
+ value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
+ </div>
+ <div class="find">
+ <el-button type="primary" icon="el-icon-search" @click="handleSearch">鏌ヨ</el-button>
+ <el-button icon="el-icon-delete-solid" @click="handleReset">閲嶇疆</el-button>
+ </div>
+ </div>
+ </header>
+ <main>
+ <div class="mainContent">
+ <div class="main-nav">
+ <span>鏁版嵁鍒楄〃</span>
+ <el-button class="button-addition" type="primary" icon="el-icon-plus"
+ @click="handleOpera(null, 'create')">娣诲姞</el-button>
+ </div>
+ <!-- 鏁版嵁灞曠ず -->
+ <el-table ref="multipleTable"
+ :header-cell-style="{ background: 'white', '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 label="ID" min-width="5">
+ <template slot-scope="scope">{{ scope.row.id }}</template>
+ </el-table-column>
+ <el-table-column prop="head" label="鏍囬" min-width="10">
+ </el-table-column>
+ <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" min-width="10">
+ </el-table-column>
+ <el-table-column prop="targetFrom" label="鍙戝竷浜哄憳" min-width="15">
+ </el-table-column>
+ <el-table-column prop="messageTypeName" label="娑堟伅鏍忕洰" min-width="10">
+ </el-table-column>
+ <el-table-column prop="status" label="鍙戝竷鐘舵��" min-width="5">
+ <!-- <template v-if="scope.row.status" slot-scope="scope">
+ {{ scope.row.status == 0 ? '鏈彂甯�' : '宸插彂甯�' }}
+ </template> -->
+ </el-table-column>
+ <el-table-column prop="operation" label="鎿嶄綔" min-width="15">
+ <template slot-scope="scope">
+ <div class="operation">
+ <el-link icon="el-icon-view" :underline="false"
+ @click="handleOpera(scope.row, 'view')">鏌ョ湅</el-link>
+ <el-link icon="el-icon-edit" class="leftPx" :underline="false"
+ @click="handleOpera(scope.row, 'update')">缂栬緫</el-link>
+ <el-link class="leftPx" icon="el-icon-delete-solid" :underline="false"
+ @click="handleDelete([scope.row.id])">鍒犻櫎</el-link>
+ </div>
+ </template>
+ </el-table-column>
+ </el-table>
+ <!-- 鏂板缓娑堟伅 -->
+ <el-dialog :destroy-on-close="true" :key="dialogType" :title="getDialogTitle"
+ :visible.sync="isShowDialog" width="80%">
+ <my-edit v-if="isShowDialog" @closeMyDialog="closeDialog" :type="dialogType"
+ :myDataRow="tableRowData"></my-edit>
+ </el-dialog>
+ <!-- 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">
+ </el-pagination>
+ </div>
+ </div>
+ </div>
+ </main>
+ </div>
+</template>
+<script>
+import MyView from './myview'
+import MyEdit from './update'
+import { deleteMessage, getMessageById, getMessageList } from "@/api/operate/messageManagement";
+
+export default {
+ components: { MyView, MyEdit },
+ computed: {
+ getDialogTitle() {
+ if (this.dialogType === 'create') {
+ return '鍒涘缓';
+ }
+
+ if (this.dialogType === 'update') {
+ return '鏇存柊';
+ }
+
+ if (this.dialogType === 'view') {
+ return '鏌ョ湅';
+ }
+ }
+ },
+ data() {
+ return {
+ tableData: [],
+ tableRowData: null,
+ isShowMoreParams: false,
+ context: null,
+ isShowDialog: false,
+ dialogType: false,
+ totalNum: null,
+ pageSize: 10,
+ currentPage: 1,
+ all: false,
+ unsame: false,
+ myIdx: 0,
+ preMyIdx: 0,
+ datetime: null,
+ options: [
+ {
+ value: 0,
+ label: '鎵归噺鎿嶄綔',
+ disabled: true,
+ },
+ // {
+ // value: 1,
+ // label: '鎵归噺鍚敤',
+ // },
+ // {
+ // value: 2,
+ // label: '鎵归噺绂佺敤',
+ // },
+ {
+ value: 3,
+ label: '鎵归噺鍒犻櫎',
+ }
+ ],
+ tempList: [],
+ messageStatus: 2,
+ messageType: '00',
+ statusList: [
+ {
+ label: '鍏ㄩ儴',
+ value: 2,
+ },
+ {
+ label: '鏈彂甯�',
+ value: 0,
+ },
+ {
+ label: '宸插彂甯�',
+ value: 1,
+ }
+ ],
+ typeList: [
+ {
+ id: '00',
+ columnName: '鍏ㄩ儴',
+ },
+ {
+ id: '01',
+ columnName: '绔欏唴淇�',
+ },
+ {
+ id: '03',
+ columnName: '閭欢',
+ },
+ {
+ id: '02',
+ columnName: '鐭俊',
+ }
+ ]
+ }
+ },
+ created() {
+ this.getMessageList();
+ },
+
+ methods: {
+ // 鏌ヨ
+ handleSearch() {
+ this.getMessageList();
+ },
+
+ // 閲嶇疆
+ handleReset() {
+ this.messageStatus = 2;
+ this.messageType = '00';
+ this.context = '';
+ this.getMessageList();
+ },
+
+ // 鏌ョ湅
+ handleOpera(data, type) {
+ this.tableRowData = data;
+ this.dialogType = type;
+ this.isShowDialog = true;
+ },
+
+ // 鍒犻櫎淇℃伅
+ handleDelete(idarr) {
+ this.$confirm('纭鍒犻櫎?')
+ .then(() => {
+ deleteMessage({ ids: idarr.join(',') })
+ .then(() => {
+ this.getMessageList();
+ this.$message.success('鎿嶄綔鎴愬姛');
+ })
+ .catch(err => { this.$message({ type: 'error', message: err }) });
+ })
+ },
+
+ // 鑾峰彇娑堟伅鏁版嵁
+ getMessageList() {
+ const messageParam = {
+ current: this.currentPage,
+ pageSize: this.pageSize,
+ channelCode: this.messageType === '00' ? null : this.messageType,
+ status: this.messageStatus === 2 ? null : this.messageStatus,
+ head: this.context,
+ startTime: this.datetime ? this.datetime[0] : null,
+ endTime: this.datetime ? this.datetime[1] : null
+ }
+
+ getMessageList(messageParam)
+ .then(({ records, total, size }) => {
+ this.tableData = records;
+ this.totalNum = total;
+ this.pageSize = size;
+ })
+ .catch(err => {
+ this.$message({ type: 'error', message: err });
+ });
+ },
+
+ // 鎵归噺涓嬫媺妗嗘搷浣�
+ async selectChange(list) {
+ 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
+ })
+ }
+ })
+ })
+ .catch(err => { })
+ },
+
+ // 琛ㄦ牸鐩戝惉
+ tableChange(list) {
+ this.tempList = [];
+ list.forEach(item => {
+ this.tempList.push(item.id);
+ })
+ this.all = list.length === this.tableData.length;
+ },
+ // 鍏ㄩ��
+ 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';
+ }
+ },
+
+ // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠�
+ changeCurrentPage(page) {
+ this.currentPage = page;
+ this.getMessageList();
+ },
+
+ // 鑷畾涔夊叧闂脊绐�
+ closeDialog() {
+ this.isShowDialog = false;
+ this.getMessageList();
+ }
+ }
+}
+</script>
+<style lang="scss" scoped>
+.userList {
+ text-align: left;
+ margin: 10px 20px;
+ color: #606266;
+
+ header {
+ background-color: white;
+
+ .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 {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+
+ 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: white;
+ margin-top: 20px;
+ padding-bottom: 50px;
+
+ .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: #606266;
+ // 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: #606266;
+ }
+
+ &::v-deep .el-dialog__close {
+ width: 20px;
+ height: 20px;
+ }
+
+ &::v-deep .el-dialog__body {
+ padding: 0;
+ }
+
+ :deep(.el-range-input) {
+ //background-color: #09152f;
+ }
+}
+</style>
diff --git a/.history/src/views/operate/message/myIndex/index_20230104114841.vue b/.history/src/views/operate/message/myIndex/index_20230104114841.vue
new file mode 100644
index 0000000..c75a669
--- /dev/null
+++ b/.history/src/views/operate/message/myIndex/index_20230104114841.vue
@@ -0,0 +1,604 @@
+<template>
+ <div class="userList">
+ <header>
+ <div class="header-nav">
+ <span class="nav-left">鏁版嵁绛涢��</span>
+ </div>
+ <div class="header-content">
+ <div class="search">
+ <span>杈撳叆鏌ヨ:</span>
+ <el-input placeholder="娑堟伅鏍囬" v-model="context"></el-input>
+ </div>
+ <div class="search">
+ <span>娑堟伅鐘舵��:</span>
+ <el-select v-model="messageStatus" placeholder="璇烽�夋嫨娑堟伅鐘舵��">
+ <el-option v-for="item in statusList" :key="item.value" :label="item.label" :value="item.value">
+ </el-option>
+ </el-select>
+ </div>
+ <div class="search">
+ <span>娑堟伅鍒嗙被:</span>
+ <el-select v-model="messageType" placeholder="璇烽�夋嫨娑堟伅鍒嗙被">
+ <el-option v-for="item in typeList" :key="item.id" :label="item.columnName" :value="item.id">
+ </el-option>
+ </el-select>
+ </div>
+ <div class="search">
+ <span>鍒涘缓鏃堕棿:</span>
+ <el-date-picker style="width: 200px" type="datetimerange" v-model="datetime"
+ value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
+ </div>
+ <div class="find">
+ <el-button type="primary" icon="el-icon-search" @click="handleSearch">鏌ヨ</el-button>
+ <el-button icon="el-icon-delete-solid" @click="handleReset">閲嶇疆</el-button>
+ </div>
+ </div>
+ </header>
+ <main>
+ <div class="mainContent">
+ <div class="main-nav">
+ <span>鏁版嵁鍒楄〃</span>
+ <el-button class="button-addition" type="primary" icon="el-icon-plus"
+ @click="handleOpera(null, 'create')">娣诲姞</el-button>
+ </div>
+ <!-- 鏁版嵁灞曠ず -->
+ <el-table ref="multipleTable"
+ :header-cell-style="{ background: 'white', '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 label="ID" min-width="5">
+ <template slot-scope="scope">{{ scope.row.id }}</template>
+ </el-table-column>
+ <el-table-column prop="head" label="鏍囬" min-width="10">
+ </el-table-column>
+ <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" min-width="10">
+ </el-table-column>
+ <el-table-column prop="targetFrom" label="鍙戝竷浜哄憳" min-width="15">
+ </el-table-column>
+ <el-table-column prop="messageTypeName" label="娑堟伅鏍忕洰" min-width="10">
+ </el-table-column>
+ <el-table-column prop="status" label="鍙戝竷鐘舵��" min-width="5">
+ <template v-if="scope.row.status" slot-scope="scope">
+ {{ scope.row.status == 1 ? '鏈彂甯�' : '宸插彂甯�' }}
+ </template>
+ </el-table-column>
+ <el-table-column prop="operation" label="鎿嶄綔" min-width="15">
+ <template slot-scope="scope">
+ <div class="operation">
+ <el-link icon="el-icon-view" :underline="false"
+ @click="handleOpera(scope.row, 'view')">鏌ョ湅</el-link>
+ <el-link icon="el-icon-edit" class="leftPx" :underline="false"
+ @click="handleOpera(scope.row, 'update')">缂栬緫</el-link>
+ <el-link class="leftPx" icon="el-icon-delete-solid" :underline="false"
+ @click="handleDelete([scope.row.id])">鍒犻櫎</el-link>
+ </div>
+ </template>
+ </el-table-column>
+ </el-table>
+ <!-- 鏂板缓娑堟伅 -->
+ <el-dialog :destroy-on-close="true" :key="dialogType" :title="getDialogTitle"
+ :visible.sync="isShowDialog" width="80%">
+ <my-edit v-if="isShowDialog" @closeMyDialog="closeDialog" :type="dialogType"
+ :myDataRow="tableRowData"></my-edit>
+ </el-dialog>
+ <!-- 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">
+ </el-pagination>
+ </div>
+ </div>
+ </div>
+ </main>
+ </div>
+</template>
+<script>
+import MyView from './myview'
+import MyEdit from './update'
+import { deleteMessage, getMessageById, getMessageList } from "@/api/operate/messageManagement";
+
+export default {
+ components: { MyView, MyEdit },
+ computed: {
+ getDialogTitle() {
+ if (this.dialogType === 'create') {
+ return '鍒涘缓';
+ }
+
+ if (this.dialogType === 'update') {
+ return '鏇存柊';
+ }
+
+ if (this.dialogType === 'view') {
+ return '鏌ョ湅';
+ }
+ }
+ },
+ data() {
+ return {
+ tableData: [],
+ tableRowData: null,
+ isShowMoreParams: false,
+ context: null,
+ isShowDialog: false,
+ dialogType: false,
+ totalNum: null,
+ pageSize: 10,
+ currentPage: 1,
+ all: false,
+ unsame: false,
+ myIdx: 0,
+ preMyIdx: 0,
+ datetime: null,
+ options: [
+ {
+ value: 0,
+ label: '鎵归噺鎿嶄綔',
+ disabled: true,
+ },
+ // {
+ // value: 1,
+ // label: '鎵归噺鍚敤',
+ // },
+ // {
+ // value: 2,
+ // label: '鎵归噺绂佺敤',
+ // },
+ {
+ value: 3,
+ label: '鎵归噺鍒犻櫎',
+ }
+ ],
+ tempList: [],
+ messageStatus: 2,
+ messageType: '00',
+ statusList: [
+ {
+ label: '鍏ㄩ儴',
+ value: 2,
+ },
+ {
+ label: '鏈彂甯�',
+ value: 0,
+ },
+ {
+ label: '宸插彂甯�',
+ value: 1,
+ }
+ ],
+ typeList: [
+ {
+ id: '00',
+ columnName: '鍏ㄩ儴',
+ },
+ {
+ id: '01',
+ columnName: '绔欏唴淇�',
+ },
+ {
+ id: '03',
+ columnName: '閭欢',
+ },
+ {
+ id: '02',
+ columnName: '鐭俊',
+ }
+ ]
+ }
+ },
+ created() {
+ this.getMessageList();
+ },
+
+ methods: {
+ // 鏌ヨ
+ handleSearch() {
+ this.getMessageList();
+ },
+
+ // 閲嶇疆
+ handleReset() {
+ this.messageStatus = 2;
+ this.messageType = '00';
+ this.context = '';
+ this.getMessageList();
+ },
+
+ // 鏌ョ湅
+ handleOpera(data, type) {
+ this.tableRowData = data;
+ this.dialogType = type;
+ this.isShowDialog = true;
+ },
+
+ // 鍒犻櫎淇℃伅
+ handleDelete(idarr) {
+ this.$confirm('纭鍒犻櫎?')
+ .then(() => {
+ deleteMessage({ ids: idarr.join(',') })
+ .then(() => {
+ this.getMessageList();
+ this.$message.success('鎿嶄綔鎴愬姛');
+ })
+ .catch(err => { this.$message({ type: 'error', message: err }) });
+ })
+ },
+
+ // 鑾峰彇娑堟伅鏁版嵁
+ getMessageList() {
+ const messageParam = {
+ current: this.currentPage,
+ pageSize: this.pageSize,
+ channelCode: this.messageType === '00' ? null : this.messageType,
+ status: this.messageStatus === 2 ? null : this.messageStatus,
+ head: this.context,
+ startTime: this.datetime ? this.datetime[0] : null,
+ endTime: this.datetime ? this.datetime[1] : null
+ }
+
+ getMessageList(messageParam)
+ .then(({ records, total, size }) => {
+ this.tableData = records;
+ this.totalNum = total;
+ this.pageSize = size;
+ })
+ .catch(err => {
+ this.$message({ type: 'error', message: err });
+ });
+ },
+
+ // 鎵归噺涓嬫媺妗嗘搷浣�
+ async selectChange(list) {
+ 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
+ })
+ }
+ })
+ })
+ .catch(err => { })
+ },
+
+ // 琛ㄦ牸鐩戝惉
+ tableChange(list) {
+ this.tempList = [];
+ list.forEach(item => {
+ this.tempList.push(item.id);
+ })
+ this.all = list.length === this.tableData.length;
+ },
+ // 鍏ㄩ��
+ 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';
+ }
+ },
+
+ // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠�
+ changeCurrentPage(page) {
+ this.currentPage = page;
+ this.getMessageList();
+ },
+
+ // 鑷畾涔夊叧闂脊绐�
+ closeDialog() {
+ this.isShowDialog = false;
+ this.getMessageList();
+ }
+ }
+}
+</script>
+<style lang="scss" scoped>
+.userList {
+ text-align: left;
+ margin: 10px 20px;
+ color: #606266;
+
+ header {
+ background-color: white;
+
+ .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 {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+
+ 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: white;
+ margin-top: 20px;
+ padding-bottom: 50px;
+
+ .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: #606266;
+ // 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: #606266;
+ }
+
+ &::v-deep .el-dialog__close {
+ width: 20px;
+ height: 20px;
+ }
+
+ &::v-deep .el-dialog__body {
+ padding: 0;
+ }
+
+ :deep(.el-range-input) {
+ //background-color: #09152f;
+ }
+}
+</style>
diff --git a/.history/src/views/operate/message/myIndex/index_20230104114956.vue b/.history/src/views/operate/message/myIndex/index_20230104114956.vue
new file mode 100644
index 0000000..9d1cd63
--- /dev/null
+++ b/.history/src/views/operate/message/myIndex/index_20230104114956.vue
@@ -0,0 +1,604 @@
+<template>
+ <div class="userList">
+ <header>
+ <div class="header-nav">
+ <span class="nav-left">鏁版嵁绛涢��</span>
+ </div>
+ <div class="header-content">
+ <div class="search">
+ <span>杈撳叆鏌ヨ:</span>
+ <el-input placeholder="娑堟伅鏍囬" v-model="context"></el-input>
+ </div>
+ <div class="search">
+ <span>娑堟伅鐘舵��:</span>
+ <el-select v-model="messageStatus" placeholder="璇烽�夋嫨娑堟伅鐘舵��">
+ <el-option v-for="item in statusList" :key="item.value" :label="item.label" :value="item.value">
+ </el-option>
+ </el-select>
+ </div>
+ <div class="search">
+ <span>娑堟伅鍒嗙被:</span>
+ <el-select v-model="messageType" placeholder="璇烽�夋嫨娑堟伅鍒嗙被">
+ <el-option v-for="item in typeList" :key="item.id" :label="item.columnName" :value="item.id">
+ </el-option>
+ </el-select>
+ </div>
+ <div class="search">
+ <span>鍒涘缓鏃堕棿:</span>
+ <el-date-picker style="width: 200px" type="datetimerange" v-model="datetime"
+ value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
+ </div>
+ <div class="find">
+ <el-button type="primary" icon="el-icon-search" @click="handleSearch">鏌ヨ</el-button>
+ <el-button icon="el-icon-delete-solid" @click="handleReset">閲嶇疆</el-button>
+ </div>
+ </div>
+ </header>
+ <main>
+ <div class="mainContent">
+ <div class="main-nav">
+ <span>鏁版嵁鍒楄〃</span>
+ <el-button class="button-addition" type="primary" icon="el-icon-plus"
+ @click="handleOpera(null, 'create')">娣诲姞</el-button>
+ </div>
+ <!-- 鏁版嵁灞曠ず -->
+ <el-table ref="multipleTable"
+ :header-cell-style="{ background: 'white', '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 label="ID" min-width="5">
+ <template slot-scope="scope">{{ scope.row.id }}</template>
+ </el-table-column>
+ <el-table-column prop="head" label="鏍囬" min-width="10">
+ </el-table-column>
+ <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" min-width="10">
+ </el-table-column>
+ <el-table-column prop="targetFrom" label="鍙戝竷浜哄憳" min-width="15">
+ </el-table-column>
+ <el-table-column prop="messageTypeName" label="娑堟伅鏍忕洰" min-width="10">
+ </el-table-column>
+ <el-table-column prop="status" label="鍙戝竷鐘舵��" min-width="5">
+ <template v-if="scope.row.status" slot-scope="scope">
+ {{ scope.row.status == 0 ? '鏈彂甯�' : '宸插彂甯�' }}
+ </template>
+ </el-table-column>
+ <el-table-column prop="operation" label="鎿嶄綔" min-width="15">
+ <template slot-scope="scope">
+ <div class="operation">
+ <el-link icon="el-icon-view" :underline="false"
+ @click="handleOpera(scope.row, 'view')">鏌ョ湅</el-link>
+ <el-link icon="el-icon-edit" class="leftPx" :underline="false"
+ @click="handleOpera(scope.row, 'update')">缂栬緫</el-link>
+ <el-link class="leftPx" icon="el-icon-delete-solid" :underline="false"
+ @click="handleDelete([scope.row.id])">鍒犻櫎</el-link>
+ </div>
+ </template>
+ </el-table-column>
+ </el-table>
+ <!-- 鏂板缓娑堟伅 -->
+ <el-dialog :destroy-on-close="true" :key="dialogType" :title="getDialogTitle"
+ :visible.sync="isShowDialog" width="80%">
+ <my-edit v-if="isShowDialog" @closeMyDialog="closeDialog" :type="dialogType"
+ :myDataRow="tableRowData"></my-edit>
+ </el-dialog>
+ <!-- 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">
+ </el-pagination>
+ </div>
+ </div>
+ </div>
+ </main>
+ </div>
+</template>
+<script>
+import MyView from './myview'
+import MyEdit from './update'
+import { deleteMessage, getMessageById, getMessageList } from "@/api/operate/messageManagement";
+
+export default {
+ components: { MyView, MyEdit },
+ computed: {
+ getDialogTitle() {
+ if (this.dialogType === 'create') {
+ return '鍒涘缓';
+ }
+
+ if (this.dialogType === 'update') {
+ return '鏇存柊';
+ }
+
+ if (this.dialogType === 'view') {
+ return '鏌ョ湅';
+ }
+ }
+ },
+ data() {
+ return {
+ tableData: [],
+ tableRowData: null,
+ isShowMoreParams: false,
+ context: null,
+ isShowDialog: false,
+ dialogType: false,
+ totalNum: null,
+ pageSize: 10,
+ currentPage: 1,
+ all: false,
+ unsame: false,
+ myIdx: 0,
+ preMyIdx: 0,
+ datetime: null,
+ options: [
+ {
+ value: 0,
+ label: '鎵归噺鎿嶄綔',
+ disabled: true,
+ },
+ // {
+ // value: 1,
+ // label: '鎵归噺鍚敤',
+ // },
+ // {
+ // value: 2,
+ // label: '鎵归噺绂佺敤',
+ // },
+ {
+ value: 3,
+ label: '鎵归噺鍒犻櫎',
+ }
+ ],
+ tempList: [],
+ messageStatus: 2,
+ messageType: '00',
+ statusList: [
+ {
+ label: '鍏ㄩ儴',
+ value: 2,
+ },
+ {
+ label: '鏈彂甯�',
+ value: 0,
+ },
+ {
+ label: '宸插彂甯�',
+ value: 1,
+ }
+ ],
+ typeList: [
+ {
+ id: '00',
+ columnName: '鍏ㄩ儴',
+ },
+ {
+ id: '01',
+ columnName: '绔欏唴淇�',
+ },
+ {
+ id: '03',
+ columnName: '閭欢',
+ },
+ {
+ id: '02',
+ columnName: '鐭俊',
+ }
+ ]
+ }
+ },
+ created() {
+ this.getMessageList();
+ },
+
+ methods: {
+ // 鏌ヨ
+ handleSearch() {
+ this.getMessageList();
+ },
+
+ // 閲嶇疆
+ handleReset() {
+ this.messageStatus = 2;
+ this.messageType = '00';
+ this.context = '';
+ this.getMessageList();
+ },
+
+ // 鏌ョ湅
+ handleOpera(data, type) {
+ this.tableRowData = data;
+ this.dialogType = type;
+ this.isShowDialog = true;
+ },
+
+ // 鍒犻櫎淇℃伅
+ handleDelete(idarr) {
+ this.$confirm('纭鍒犻櫎?')
+ .then(() => {
+ deleteMessage({ ids: idarr.join(',') })
+ .then(() => {
+ this.getMessageList();
+ this.$message.success('鎿嶄綔鎴愬姛');
+ })
+ .catch(err => { this.$message({ type: 'error', message: err }) });
+ })
+ },
+
+ // 鑾峰彇娑堟伅鏁版嵁
+ getMessageList() {
+ const messageParam = {
+ current: this.currentPage,
+ pageSize: this.pageSize,
+ channelCode: this.messageType === '00' ? null : this.messageType,
+ status: this.messageStatus === 2 ? null : this.messageStatus,
+ head: this.context,
+ startTime: this.datetime ? this.datetime[0] : null,
+ endTime: this.datetime ? this.datetime[1] : null
+ }
+
+ getMessageList(messageParam)
+ .then(({ records, total, size }) => {
+ this.tableData = records;
+ this.totalNum = total;
+ this.pageSize = size;
+ })
+ .catch(err => {
+ this.$message({ type: 'error', message: err });
+ });
+ },
+
+ // 鎵归噺涓嬫媺妗嗘搷浣�
+ async selectChange(list) {
+ 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
+ })
+ }
+ })
+ })
+ .catch(err => { })
+ },
+
+ // 琛ㄦ牸鐩戝惉
+ tableChange(list) {
+ this.tempList = [];
+ list.forEach(item => {
+ this.tempList.push(item.id);
+ })
+ this.all = list.length === this.tableData.length;
+ },
+ // 鍏ㄩ��
+ 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';
+ }
+ },
+
+ // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠�
+ changeCurrentPage(page) {
+ this.currentPage = page;
+ this.getMessageList();
+ },
+
+ // 鑷畾涔夊叧闂脊绐�
+ closeDialog() {
+ this.isShowDialog = false;
+ this.getMessageList();
+ }
+ }
+}
+</script>
+<style lang="scss" scoped>
+.userList {
+ text-align: left;
+ margin: 10px 20px;
+ color: #606266;
+
+ header {
+ background-color: white;
+
+ .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 {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+
+ 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: white;
+ margin-top: 20px;
+ padding-bottom: 50px;
+
+ .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: #606266;
+ // 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: #606266;
+ }
+
+ &::v-deep .el-dialog__close {
+ width: 20px;
+ height: 20px;
+ }
+
+ &::v-deep .el-dialog__body {
+ padding: 0;
+ }
+
+ :deep(.el-range-input) {
+ //background-color: #09152f;
+ }
+}
+</style>
diff --git a/.history/src/views/operate/message/myIndex/index_20230104115130.vue b/.history/src/views/operate/message/myIndex/index_20230104115130.vue
new file mode 100644
index 0000000..d74344d
--- /dev/null
+++ b/.history/src/views/operate/message/myIndex/index_20230104115130.vue
@@ -0,0 +1,604 @@
+<template>
+ <div class="userList">
+ <header>
+ <div class="header-nav">
+ <span class="nav-left">鏁版嵁绛涢��</span>
+ </div>
+ <div class="header-content">
+ <div class="search">
+ <span>杈撳叆鏌ヨ:</span>
+ <el-input placeholder="娑堟伅鏍囬" v-model="context"></el-input>
+ </div>
+ <div class="search">
+ <span>娑堟伅鐘舵��:</span>
+ <el-select v-model="messageStatus" placeholder="璇烽�夋嫨娑堟伅鐘舵��">
+ <el-option v-for="item in statusList" :key="item.value" :label="item.label" :value="item.value">
+ </el-option>
+ </el-select>
+ </div>
+ <div class="search">
+ <span>娑堟伅鍒嗙被:</span>
+ <el-select v-model="messageType" placeholder="璇烽�夋嫨娑堟伅鍒嗙被">
+ <el-option v-for="item in typeList" :key="item.id" :label="item.columnName" :value="item.id">
+ </el-option>
+ </el-select>
+ </div>
+ <div class="search">
+ <span>鍒涘缓鏃堕棿:</span>
+ <el-date-picker style="width: 200px" type="datetimerange" v-model="datetime"
+ value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
+ </div>
+ <div class="find">
+ <el-button type="primary" icon="el-icon-search" @click="handleSearch">鏌ヨ</el-button>
+ <el-button icon="el-icon-delete-solid" @click="handleReset">閲嶇疆</el-button>
+ </div>
+ </div>
+ </header>
+ <main>
+ <div class="mainContent">
+ <div class="main-nav">
+ <span>鏁版嵁鍒楄〃</span>
+ <el-button class="button-addition" type="primary" icon="el-icon-plus"
+ @click="handleOpera(null, 'create')">娣诲姞</el-button>
+ </div>
+ <!-- 鏁版嵁灞曠ず -->
+ <el-table ref="multipleTable"
+ :header-cell-style="{ background: 'white', '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 label="ID" min-width="5">
+ <template slot-scope="scope">{{ scope.row.id }}</template>
+ </el-table-column>
+ <el-table-column prop="head" label="鏍囬" min-width="10">
+ </el-table-column>
+ <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" min-width="10">
+ </el-table-column>
+ <el-table-column prop="targetFrom" label="鍙戝竷浜哄憳" min-width="15">
+ </el-table-column>
+ <el-table-column prop="messageTypeName" label="娑堟伅鏍忕洰" min-width="10">
+ </el-table-column>
+ <el-table-column prop="status" label="鍙戝竷鐘舵��" min-width="5">
+ <template slot-scope="scope">
+ {{ scope.row.status == 0 ? '鏈彂甯�' : '宸插彂甯�' }}
+ </template>
+ </el-table-column>
+ <el-table-column prop="operation" label="鎿嶄綔" min-width="15">
+ <template slot-scope="scope">
+ <div class="operation">
+ <el-link icon="el-icon-view" :underline="false"
+ @click="handleOpera(scope.row, 'view')">鏌ョ湅</el-link>
+ <el-link icon="el-icon-edit" class="leftPx" :underline="false"
+ @click="handleOpera(scope.row, 'update')">缂栬緫</el-link>
+ <el-link class="leftPx" icon="el-icon-delete-solid" :underline="false"
+ @click="handleDelete([scope.row.id])">鍒犻櫎</el-link>
+ </div>
+ </template>
+ </el-table-column>
+ </el-table>
+ <!-- 鏂板缓娑堟伅 -->
+ <el-dialog :destroy-on-close="true" :key="dialogType" :title="getDialogTitle"
+ :visible.sync="isShowDialog" width="80%">
+ <my-edit v-if="isShowDialog" @closeMyDialog="closeDialog" :type="dialogType"
+ :myDataRow="tableRowData"></my-edit>
+ </el-dialog>
+ <!-- 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">
+ </el-pagination>
+ </div>
+ </div>
+ </div>
+ </main>
+ </div>
+</template>
+<script>
+import MyView from './myview'
+import MyEdit from './update'
+import { deleteMessage, getMessageById, getMessageList } from "@/api/operate/messageManagement";
+
+export default {
+ components: { MyView, MyEdit },
+ computed: {
+ getDialogTitle() {
+ if (this.dialogType === 'create') {
+ return '鍒涘缓';
+ }
+
+ if (this.dialogType === 'update') {
+ return '鏇存柊';
+ }
+
+ if (this.dialogType === 'view') {
+ return '鏌ョ湅';
+ }
+ }
+ },
+ data() {
+ return {
+ tableData: [],
+ tableRowData: null,
+ isShowMoreParams: false,
+ context: null,
+ isShowDialog: false,
+ dialogType: false,
+ totalNum: null,
+ pageSize: 10,
+ currentPage: 1,
+ all: false,
+ unsame: false,
+ myIdx: 0,
+ preMyIdx: 0,
+ datetime: null,
+ options: [
+ {
+ value: 0,
+ label: '鎵归噺鎿嶄綔',
+ disabled: true,
+ },
+ // {
+ // value: 1,
+ // label: '鎵归噺鍚敤',
+ // },
+ // {
+ // value: 2,
+ // label: '鎵归噺绂佺敤',
+ // },
+ {
+ value: 3,
+ label: '鎵归噺鍒犻櫎',
+ }
+ ],
+ tempList: [],
+ messageStatus: 2,
+ messageType: '00',
+ statusList: [
+ {
+ label: '鍏ㄩ儴',
+ value: 2,
+ },
+ {
+ label: '鏈彂甯�',
+ value: 0,
+ },
+ {
+ label: '宸插彂甯�',
+ value: 1,
+ }
+ ],
+ typeList: [
+ {
+ id: '00',
+ columnName: '鍏ㄩ儴',
+ },
+ {
+ id: '01',
+ columnName: '绔欏唴淇�',
+ },
+ {
+ id: '03',
+ columnName: '閭欢',
+ },
+ {
+ id: '02',
+ columnName: '鐭俊',
+ }
+ ]
+ }
+ },
+ created() {
+ this.getMessageList();
+ },
+
+ methods: {
+ // 鏌ヨ
+ handleSearch() {
+ this.getMessageList();
+ },
+
+ // 閲嶇疆
+ handleReset() {
+ this.messageStatus = 2;
+ this.messageType = '00';
+ this.context = '';
+ this.getMessageList();
+ },
+
+ // 鏌ョ湅
+ handleOpera(data, type) {
+ this.tableRowData = data;
+ this.dialogType = type;
+ this.isShowDialog = true;
+ },
+
+ // 鍒犻櫎淇℃伅
+ handleDelete(idarr) {
+ this.$confirm('纭鍒犻櫎?')
+ .then(() => {
+ deleteMessage({ ids: idarr.join(',') })
+ .then(() => {
+ this.getMessageList();
+ this.$message.success('鎿嶄綔鎴愬姛');
+ })
+ .catch(err => { this.$message({ type: 'error', message: err }) });
+ })
+ },
+
+ // 鑾峰彇娑堟伅鏁版嵁
+ getMessageList() {
+ const messageParam = {
+ current: this.currentPage,
+ pageSize: this.pageSize,
+ channelCode: this.messageType === '00' ? null : this.messageType,
+ status: this.messageStatus === 2 ? null : this.messageStatus,
+ head: this.context,
+ startTime: this.datetime ? this.datetime[0] : null,
+ endTime: this.datetime ? this.datetime[1] : null
+ }
+
+ getMessageList(messageParam)
+ .then(({ records, total, size }) => {
+ this.tableData = records;
+ this.totalNum = total;
+ this.pageSize = size;
+ })
+ .catch(err => {
+ this.$message({ type: 'error', message: err });
+ });
+ },
+
+ // 鎵归噺涓嬫媺妗嗘搷浣�
+ async selectChange(list) {
+ 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
+ })
+ }
+ })
+ })
+ .catch(err => { })
+ },
+
+ // 琛ㄦ牸鐩戝惉
+ tableChange(list) {
+ this.tempList = [];
+ list.forEach(item => {
+ this.tempList.push(item.id);
+ })
+ this.all = list.length === this.tableData.length;
+ },
+ // 鍏ㄩ��
+ 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';
+ }
+ },
+
+ // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠�
+ changeCurrentPage(page) {
+ this.currentPage = page;
+ this.getMessageList();
+ },
+
+ // 鑷畾涔夊叧闂脊绐�
+ closeDialog() {
+ this.isShowDialog = false;
+ this.getMessageList();
+ }
+ }
+}
+</script>
+<style lang="scss" scoped>
+.userList {
+ text-align: left;
+ margin: 10px 20px;
+ color: #606266;
+
+ header {
+ background-color: white;
+
+ .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 {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+
+ 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: white;
+ margin-top: 20px;
+ padding-bottom: 50px;
+
+ .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: #606266;
+ // 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: #606266;
+ }
+
+ &::v-deep .el-dialog__close {
+ width: 20px;
+ height: 20px;
+ }
+
+ &::v-deep .el-dialog__body {
+ padding: 0;
+ }
+
+ :deep(.el-range-input) {
+ //background-color: #09152f;
+ }
+}
+</style>
diff --git a/.history/src/views/operate/message/myIndex/update/index_20221229133119.vue b/.history/src/views/operate/message/myIndex/update/index_20221229133119.vue
new file mode 100644
index 0000000..68d0f04
--- /dev/null
+++ b/.history/src/views/operate/message/myIndex/update/index_20221229133119.vue
@@ -0,0 +1,479 @@
+<template>
+ <div class="createUser">
+ <main>
+ <div class="mainContent">
+ <el-form
+ ref="user"
+ label-width="140px"
+ autoComplete="on"
+ :model="role"
+ :rules="createRoleRules"
+ label-position="right"
+ :disabled="type === 'view'"
+ >
+ <!-- 鎻愰啋鏂瑰紡 -->
+ <el-form-item class="optionItem" label="鎻愰啋鏂瑰紡:" prop="channelCode" >
+ <el-radio-group v-model="role.channelCode">
+ <el-radio label="01">绔欏唴淇�</el-radio>
+ <el-radio label="03">閭欢</el-radio>
+ </el-radio-group>
+ <span class="message-tip">(鐭俊鍙敤鏁�: 1000鏉�)</span>
+ </el-form-item>
+ <!-- 娑堟伅鏍忕洰 -->
+ <el-form-item
+ v-if="role.channelCode === '01'"
+ class="optionItem"
+ label="娑堟伅鏍忕洰:"
+ prop="messageType"
+ >
+ <div class="message-item">
+ <div class="message-item__left">
+ <el-select
+ v-model="role.messageType"
+ placeholder="璇烽�夋嫨娑堟伅鏍忕洰"
+ >
+ <el-option
+ v-for="item in colList"
+ :key="item.id"
+ :label="item.columnName"
+ :value="item.id"
+ >
+ </el-option>
+ </el-select>
+ </div>
+ <span class="message-add" @click="dialogCreate = true">
+ 娣诲姞鏍忕洰</span
+ >
+ </div>
+ </el-form-item>
+ <!-- 娑堟伅鏍囬 -->
+ <el-form-item class="optionItems" label="娑堟伅鏍囬:" prop="head">
+ <div class="message-item__left">
+ <el-input
+ v-model="role.head"
+ placeholder="璇烽�夋嫨娑堟伅鏍囬"
+ ></el-input>
+ </div>
+ </el-form-item>
+ <!-- 鎺ユ敹瀵硅薄 -->
+ <el-form-item class="optionItem" label="鎺ユ敹瀵硅薄:" prop="targetTo">
+ <div class="message-item__left">
+ <el-select v-model="role.targetTo" placeholder="璇烽�夋嫨鎺ユ敹瀵硅薄">
+ <el-option :value="role.targetTo">
+ <el-tree
+ ref="tree"
+ :data="departList"
+ :props="defaultProps"
+ show-checkbox
+ @check="handleCheck"
+ default-expand-all
+ :default-checked-keys="checkedList"
+ node-key="id"
+ >
+ </el-tree>
+ </el-option>
+ </el-select>
+ </div>
+ </el-form-item>
+ <!-- 娑堟伅鍐呭 -->
+ <el-form-item class="optionItem" label="娑堟伅鍐呭:" prop="body">
+ <MyEditor ref="edit"></MyEditor>
+ </el-form-item>
+ <el-form-item>
+ <div class="optionBtn">
+ <el-button
+ type="primary"
+ @click.native.prevent="handleSubmit(0)"
+ class="btn save"
+ v-if="type !== 'view'"
+ >淇濆瓨
+ </el-button>
+ <el-button
+ type="primary"
+ @click.native.prevent="handleSubmit(1)"
+ class="btn submit"
+ v-if="type !== 'view'"
+ >鍙戝竷
+ </el-button>
+ <el-button
+ type="primary"
+ @click.native.prevent="handleView"
+ class="btn submit"
+ v-if="type !== 'view'"
+ >棰勮
+ </el-button>
+ <el-button class="btn cancel" @click.native.prevent="handleReset" v-if="type !== 'view'"
+ >閲嶇疆</el-button
+ >
+ </div>
+ </el-form-item>
+ </el-form>
+ <!-- 鏂板鏍忕洰 -->
+ <el-dialog
+ title="娣诲姞鏍忕洰"
+ :visible.sync="dialogCreate"
+ v-if="dialogCreate"
+ width="60%"
+ :before-close="handleConfirmClose"
+ append-to-body
+ >
+ <MyColumnAdd @closeDialog="closeDialog"></MyColumnAdd>
+ </el-dialog>
+ <!-- 棰勮娑堟伅 -->
+ <el-dialog
+ title="娑堟伅棰勮"
+ :visible.sync="dialogView"
+ v-if="dialogView"
+ width="60%"
+ :before-close="handleConfirmClose"
+ append-to-body
+ >
+ <MyColView :info="info" @closeDialog="closeDialog"></MyColView>
+ </el-dialog>
+ </div>
+ </main>
+ </div>
+</template>
+<script>
+import MyEditor from "@/components/edit";
+import MyColumnAdd from "@/views/operate/message/mycontrol/createUser";
+import MyColView from "../messageView";
+import { sendMessage, updateMessage, getMessageById } from "@/api/operate/messageManagement";
+
+export default {
+ components: { MyEditor, MyColumnAdd, MyColView },
+ props: ["type", "myDataRow"],
+ data() {
+ const validateEditor = (rule, value, callback) => {
+ if (value) {
+ callback();
+ } else {
+ callback(new Error('璇疯緭鍏�'));
+ }
+ };
+ return {
+ role: {
+ messageType: null,
+ head: "",
+ targetTo: "",
+ body: "",
+ channelCode: null,
+ },
+ createRoleRules: {
+ messageType: [
+ {
+ required: true,
+ trigger: ["blur", "change"],
+ message: "璇疯緭鍏ユ秷鎭爮鐩�",
+ },
+ ],
+ head: [{ required: true, trigger: "blur", message: "璇烽�夋嫨娑堟伅鏍囬" }],
+ targetTo: [
+ { required: true, trigger: "blur", message: "璇烽�夋嫨鎺ュ彈瀵硅薄" },
+ ],
+ body: [
+ {
+ required: true,
+ validator: validateEditor
+ },
+ ],
+ },
+ colList: [],
+ departList: [],
+ typeList: [],
+ dialogCreate: false,
+ dialogView: false,
+ defaultProps: {
+ children: "children",
+ label: "departName",
+ },
+ checkedList: [],
+ tempNameArr: [],
+ info: {},
+ sendUser: "",
+ };
+ },
+ created() {
+ this.getColumnList();
+ this.getDepartList();
+ this.getLoginUserInfo();
+ if (this.type !== "create" && this.myDataRow) {
+ getMessageById(this.myDataRow.id)
+ .then(res => {
+ this.role = res;
+ if (res.targetTo) {
+ this.checkedList = res.targetTo.split(',');
+ this.role.targetTo = `${this.checkedList.length}浜篳;
+ }
+ })
+ .catch(err => this.$message.error(`${err}`))
+ }
+ },
+ mounted() {
+ if (this.type !== 'create') {
+ this.$refs.edit.editor.txt.append(this.myDataRow.body);
+ }
+
+ },
+ methods: {
+ // 鍏抽棴寮圭獥
+ handleConfirmClose(done) {
+ this.$confirm("纭鍏抽棴?").then((_) => {
+ done();
+ });
+ },
+
+ // 鑾峰彇鏍忕洰
+ async getColumnList() {
+ await this.$axios({
+ method: "get",
+ url: "sccg/message_column/getShowColumn",
+ }).then((res) => {
+ this.colList = res.data;
+ });
+ },
+ // 鍏抽棴寮圭獥
+ closeDialog({ flag, index }) {
+ this.dialogCreate = flag;
+ if (index === 1) {
+ // 閲嶆柊璁剧疆鏍忕洰
+ this.getColumnList();
+ }
+ },
+ getType(){
+ return this.type;
+ },
+ // 鑾峰彇閮ㄩ棬鏍�
+ async getDepartList() {
+ await this.$axios({
+ method: "get",
+ url: "sccg/depart/tree",
+ }).then((res) => {
+ res.data.forEach((item) => {
+ this.departList.push(this.setChildren(item));
+ });
+ });
+ },
+
+ // 閫掑綊children
+ setChildren(obj) {
+ if (obj.children !== null) {
+ if (obj.children.length !== 0) {
+ obj.children.forEach((item) => {
+ return this.setChildren(item);
+ });
+ }
+ } else {
+ if (obj.userInfoDTOS.length !== 0) {
+ obj.children = [];
+ obj.userInfoDTOS.forEach((item) => {
+ obj.children.push({ id: item.userId, departName: item.username });
+ });
+ }
+ }
+ return obj;
+ },
+
+ // 閫変腑id
+ handleCheck(data, node) {
+ const checkedNodes = node.checkedNodes.filter(item => !item.children);
+ this.checkedList = checkedNodes.map(item => item.id);
+ this.tempNameArr = checkedNodes.map(item => item.departName);
+ this.role.targetTo = this.checkedList.length ? this.checkedList.length + "浜�" : null;
+ },
+
+ // 鏂板缓/淇濆瓨娑堟伅(1:鏂板缓,0淇濆瓨娑堟伅)
+ handleSubmit(mystatus) {
+ this.role.body = this.$refs.edit.editor.txt.html();
+ this.$refs.user.validate((valid) => {
+ if (valid) {
+ const { body, head, messageType, channelCode } = this.role;
+ const params = {
+ body,
+ head,
+ messageType,
+ channelCode: `${channelCode}`,
+ sendTime: new Date(),
+ targetTo: this.checkedList.join(","),
+ status: mystatus,
+ };
+ if (this.role.channelCode === '03') {
+ delete params.messageType;
+ }
+ if (this.type === "create") {
+ sendMessage(params)
+ .then(() => {
+ this.$emit("closeMyDialog");
+ this.$message({ type: "success", message: "鎿嶄綔鎴愬姛" });
+ })
+ .catch((err) =>
+ this.$message({
+ type: "error",
+ message: err.data || err.message,
+ })
+ );
+ } else {
+ updateMessage({ id: this.myDataRow.id, ...params })
+ .then(() => {
+ this.$emit("closeMyDialog");
+ this.$message({ type: "success", message: "鎿嶄綔鎴愬姛" });
+ })
+ .catch((err) =>
+ this.$message({
+ type: "error",
+ message: err.data || err.message,
+ })
+ );
+ }
+ } else {
+ this.$message.error({ type: "warning", message: "璇锋鏌ュ繀濉」" });
+ }
+ });
+ },
+
+ // 閲嶇疆琛ㄥ崟
+ handleReset() {
+ this.$refs.edit.editor.txt.clear();
+ 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;
+ this.sendUser = res.data.username;
+ });
+ },
+
+ // 娑堟伅棰勮
+ handleView() {
+ this.role.body = this.$refs.edit.editor.txt.html();
+ this.$refs.user.validate((valid) => {
+ if (valid) {
+ const { body, head, channelCode } = this.role;
+ this.dialogView = true;
+ this.info = {
+ body,
+ head,
+ channelCode:
+ channelCode === "01"
+ ? "绔欏唴淇�"
+ : channelCode === "03"
+ ? "閭欢"
+ : "鐭俊",
+ messageType: this.role.messageType,
+ targetTo: this.tempNameArr,
+ targetFrom: this.sendUser
+ };
+ } else {
+ this.$message({ type: "warning", message: "璇锋鏌ュ繀濉」" });
+ }
+ });
+ }
+ },
+};
+</script>
+<style lang="scss" scoped>
+.createUser {
+ border-radius: 1px;
+ background-color: white;
+
+ main {
+ text-align: left;
+ padding: 0 55px;
+ background-color: white;
+
+ .mainContent {
+ display: flex;
+ justify-content: center;
+ padding-top: 50px;
+ &:deep(.el-dialog__title) {
+ //color: #4b9bb7;
+ }
+ &::v-deep .el-form-item__label {
+ //color: #4b9bb7;
+ }
+
+ &::v-deep .el-input__inner {
+ width: 400px;
+ //background-color: #09152f;
+ //border: 1px solid #17324c;
+ }
+
+ .message-item__left {
+ width: 400px;
+ }
+
+ .message-add {
+ &:hover {
+ cursor: pointer;
+ }
+ }
+
+ .el-form-item__content :deep(.el-select) {
+ width: 400px;
+ }
+
+ :deep(.el-input) {
+ width: 400px;
+ }
+
+ .message-item {
+ display: flex;
+
+ span {
+ margin-left: 20px;
+ color: #606266;
+ }
+ }
+
+ .message-tip {
+ margin-left: 20px;
+ }
+
+ :deep(.el-input--suffix) {
+ width: 400px;
+ }
+
+ // &::v-deep .el-textarea__inner {
+ // //background-color: #09152f;
+ // //border: 1px solid #17324c;
+ // }
+
+ .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;
+ }
+ }
+ }
+ }
+}
+</style>
diff --git a/.history/src/views/operate/message/myIndex/update/index_20230104135024.vue b/.history/src/views/operate/message/myIndex/update/index_20230104135024.vue
new file mode 100644
index 0000000..84d962a
--- /dev/null
+++ b/.history/src/views/operate/message/myIndex/update/index_20230104135024.vue
@@ -0,0 +1,454 @@
+<template>
+ <div class="createUser">
+ <main>
+ <div class="mainContent">
+ <el-form ref="user" label-width="140px" autoComplete="on" :model="role" :rules="createRoleRules"
+ label-position="right" :disabled="type === 'view'">
+ <!-- 鎻愰啋鏂瑰紡 -->
+ <el-form-item class="optionItem" label="鎻愰啋鏂瑰紡:" prop="channelCode">
+ <el-radio-group v-model="role.channelCode">
+ <el-radio label="01">绔欏唴淇�</el-radio>
+ <el-radio label="03">閭欢</el-radio>
+ </el-radio-group>
+ <span class="message-tip">(鐭俊鍙敤鏁�: 1000鏉�)</span>
+ </el-form-item>
+ <!-- 娑堟伅鏍忕洰 -->
+ <el-form-item v-if="role.channelCode === '01'" class="optionItem" label="娑堟伅鏍忕洰:" prop="messageType">
+ <div class="message-item">
+ <div class="message-item__left">
+ <el-select v-model="role.messageType" placeholder="璇烽�夋嫨娑堟伅鏍忕洰">
+ <el-option v-for="item in colList" :key="item.id" :label="item.columnName" :value="item.id">
+ </el-option>
+ </el-select>
+ </div>
+ <span class="message-add" @click="dialogCreate = true">
+ 娣诲姞鏍忕洰</span>
+ </div>
+ </el-form-item>
+ <!-- 娑堟伅鏍囬 -->
+ <el-form-item class="optionItems" label="娑堟伅鏍囬:" prop="head">
+ <div class="message-item__left">
+ <el-input v-model="role.head" placeholder="璇烽�夋嫨娑堟伅鏍囬"></el-input>
+ </div>
+ </el-form-item>
+ <!-- 鎺ユ敹瀵硅薄 -->
+ <el-form-item class="optionItem" label="鎺ユ敹瀵硅薄:" prop="targetTo">
+ <div class="message-item__left">
+ <el-select v-model="role.targetTo" placeholder="璇烽�夋嫨鎺ユ敹瀵硅薄">
+ <el-option :value="role.targetTo">
+ <el-tree ref="tree" :data="departList" :props="defaultProps" show-checkbox @check="handleCheck"
+ default-expand-all :default-checked-keys="checkedList" node-key="id">
+ </el-tree>
+ </el-option>
+ </el-select>
+ </div>
+ </el-form-item>
+ <!-- 娑堟伅鍐呭 -->
+ <el-form-item class="optionItem" label="娑堟伅鍐呭:" prop="body">
+ <MyEditor ref="edit"></MyEditor>
+ </el-form-item>
+ <el-form-item>
+ <div class="optionBtn">
+ <el-button type="primary" @click.native.prevent="handleSubmit(0)" class="btn save"
+ v-if="type !== 'view'">淇濆瓨
+ </el-button>
+ <el-button type="primary" @click.native.prevent="handleSubmit(1)" class="btn submit"
+ v-if="type !== 'view'">鍙戝竷
+ </el-button>
+ <el-button type="primary" @click.native.prevent="handleView" class="btn submit" v-if="type !== 'view'">棰勮
+ </el-button>
+ <el-button class="btn cancel" @click.native.prevent="handleReset" v-if="type !== 'view'">閲嶇疆</el-button>
+ </div>
+ </el-form-item>
+ </el-form>
+ <!-- 鏂板鏍忕洰 -->
+ <el-dialog title="娣诲姞鏍忕洰" :visible.sync="dialogCreate" v-if="dialogCreate" width="60%"
+ :before-close="handleConfirmClose" append-to-body>
+ <MyColumnAdd @closeDialog="closeDialog"></MyColumnAdd>
+ </el-dialog>
+ <!-- 棰勮娑堟伅 -->
+ <el-dialog title="娑堟伅棰勮" :visible.sync="dialogView" v-if="dialogView" width="60%"
+ :before-close="handleConfirmClose" append-to-body>
+ <MyColView :info="info" @closeDialog="closeDialog"></MyColView>
+ </el-dialog>
+ </div>
+ </main>
+ </div>
+</template>
+<script>
+import MyEditor from "@/components/edit";
+import MyColumnAdd from "@/views/operate/message/mycontrol/createUser";
+import MyColView from "../messageView";
+import { sendMessage, updateMessage, getMessageById ,saveMessage } from "@/api/operate/messageManagement";
+
+export default {
+ components: { MyEditor, MyColumnAdd, MyColView },
+ props: ["type", "myDataRow"],
+ data() {
+ const validateEditor = (rule, value, callback) => {
+ if (value) {
+ callback();
+ } else {
+ callback(new Error('璇疯緭鍏�'));
+ }
+ };
+ return {
+ role: {
+ messageType: null,
+ head: "",
+ targetTo: "",
+ body: "",
+ channelCode: null,
+ },
+ createRoleRules: {
+ messageType: [
+ {
+ required: true,
+ trigger: ["blur", "change"],
+ message: "璇疯緭鍏ユ秷鎭爮鐩�",
+ },
+ ],
+ head: [{ required: true, trigger: "blur", message: "璇烽�夋嫨娑堟伅鏍囬" }],
+ targetTo: [
+ { required: true, trigger: "blur", message: "璇烽�夋嫨鎺ュ彈瀵硅薄" },
+ ],
+ body: [
+ {
+ required: true,
+ validator: validateEditor
+ },
+ ],
+ },
+ colList: [],
+ departList: [],
+ typeList: [],
+ dialogCreate: false,
+ dialogView: false,
+ defaultProps: {
+ children: "children",
+ label: "departName",
+ },
+ checkedList: [],
+ tempNameArr: [],
+ info: {},
+ sendUser: "",
+ };
+ },
+ created() {
+ this.getColumnList();
+ this.getDepartList();
+ this.getLoginUserInfo();
+ if (this.type !== "create" && this.myDataRow) {
+ getMessageById(this.myDataRow.id)
+ .then(res => {
+ this.role = res;
+ if (res.targetTo) {
+ this.checkedList = res.targetTo.split(',');
+ this.role.targetTo = `${this.checkedList.length}浜篳;
+ }
+ })
+ .catch(err => this.$message.error(`${err}`))
+ }
+ },
+ mounted() {
+ if (this.type !== 'create') {
+ this.$refs.edit.editor.txt.append(this.myDataRow.body);
+ }
+
+ },
+ methods: {
+ // 鍏抽棴寮圭獥
+ handleConfirmClose(done) {
+ this.$confirm("纭鍏抽棴?").then((_) => {
+ done();
+ });
+ },
+
+ // 鑾峰彇鏍忕洰
+ async getColumnList() {
+ await this.$axios({
+ method: "get",
+ url: "sccg/message_column/getShowColumn",
+ }).then((res) => {
+ this.colList = res.data;
+ });
+ },
+ // 鍏抽棴寮圭獥
+ closeDialog({ flag, index }) {
+ this.dialogCreate = flag;
+ if (index === 1) {
+ // 閲嶆柊璁剧疆鏍忕洰
+ this.getColumnList();
+ }
+ },
+ getType() {
+ return this.type;
+ },
+ // 鑾峰彇閮ㄩ棬鏍�
+ async getDepartList() {
+ await this.$axios({
+ method: "get",
+ url: "sccg/depart/tree",
+ }).then((res) => {
+ res.data.forEach((item) => {
+ this.departList.push(this.setChildren(item));
+ });
+ });
+ },
+
+ // 閫掑綊children
+ setChildren(obj) {
+ if (obj.children !== null) {
+ if (obj.children.length !== 0) {
+ obj.children.forEach((item) => {
+ return this.setChildren(item);
+ });
+ }
+ } else {
+ if (obj.userInfoDTOS.length !== 0) {
+ obj.children = [];
+ obj.userInfoDTOS.forEach((item) => {
+ obj.children.push({ id: item.userId, departName: item.username });
+ });
+ }
+ }
+ return obj;
+ },
+
+ // 閫変腑id
+ handleCheck(data, node) {
+ const checkedNodes = node.checkedNodes.filter(item => !item.children);
+ this.checkedList = checkedNodes.map(item => item.id);
+ this.tempNameArr = checkedNodes.map(item => item.departName);
+ this.role.targetTo = this.checkedList.length ? this.checkedList.length + "浜�" : null;
+ },
+
+ // 鏂板缓/淇濆瓨娑堟伅(1:鏂板缓,0淇濆瓨娑堟伅)
+ handleSubmit(mystatus) {
+ this.role.body = this.$refs.edit.editor.txt.html();
+ this.$refs.user.validate((valid) => {
+ if (valid) {
+ if (mystatus == 0) {
+ const { body, head, messageType, channelCode } = this.role;
+ const params = {
+ body,
+ head,
+ messageType,
+ channelCode: `${channelCode}`,
+ sendTime: new Date(),
+ targetTo: this.checkedList.join(","),
+ status: mystatus,
+ };
+ if (this.role.channelCode === '03') {
+ delete params.messageType;
+ }
+ if (this.type === "create") {
+ sendMessage(params)
+ .then(() => {
+ this.$emit("closeMyDialog");
+ this.$message({ type: "success", message: "鎿嶄綔鎴愬姛" });
+ })
+ .catch((err) =>
+ this.$message({
+ type: "error",
+ message: err.data || err.message,
+ })
+ );
+ }
+ }
+ if (mystatus == 1) {
+ const { body, head, messageType, channelCode } = this.role;
+ const params = {
+ body,
+ head,
+ messageType,
+ channelCode: `${channelCode}`,
+ sendTime: new Date(),
+ targetTo: this.checkedList.join(","),
+ status: mystatus,
+ };
+ if (this.role.channelCode === '03') {
+ delete params.messageType;
+ }
+ if (this.type === "create") {
+ saveMessage(params)
+ .then(() => {
+ this.$emit("closeMyDialog");
+ this.$message({ type: "success", message: "鎿嶄綔鎴愬姛" });
+ })
+ .catch((err) =>
+ this.$message({
+ type: "error",
+ message: err.data || err.message,
+ })
+ );
+ }
+ }
+ } else {
+ updateMessage({ id: this.myDataRow.id, ...params
+ })
+ .then(() => {
+ this.$emit("closeMyDialog");
+ this.$message({ type: "success", message: "鎿嶄綔鎴愬姛" });
+ })
+ .catch((err) =>
+ this.$message({
+ type: "error",
+ message: err.data || err.message,
+ })
+ );
+ }
+} else {
+ this.$message.error({ type: "warning", message: "璇锋鏌ュ繀濉」" });
+}
+ });
+ },
+
+// 閲嶇疆琛ㄥ崟
+handleReset() {
+ this.$refs.edit.editor.txt.clear();
+ 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;
+ this.sendUser = res.data.username;
+ });
+},
+
+// 娑堟伅棰勮
+handleView() {
+ this.role.body = this.$refs.edit.editor.txt.html();
+ this.$refs.user.validate((valid) => {
+ if (valid) {
+ const { body, head, channelCode } = this.role;
+ this.dialogView = true;
+ this.info = {
+ body,
+ head,
+ channelCode:
+ channelCode === "01"
+ ? "绔欏唴淇�"
+ : channelCode === "03"
+ ? "閭欢"
+ : "鐭俊",
+ messageType: this.role.messageType,
+ targetTo: this.tempNameArr,
+ targetFrom: this.sendUser
+ };
+ } else {
+ this.$message({ type: "warning", message: "璇锋鏌ュ繀濉」" });
+ }
+ });
+}
+ },
+};
+</script>
+<style lang="scss" scoped>
+.createUser {
+ border-radius: 1px;
+ background-color: white;
+
+ main {
+ text-align: left;
+ padding: 0 55px;
+ background-color: white;
+
+ .mainContent {
+ display: flex;
+ justify-content: center;
+ padding-top: 50px;
+
+ &:deep(.el-dialog__title) {
+ //color: #4b9bb7;
+ }
+
+ &::v-deep .el-form-item__label {
+ //color: #4b9bb7;
+ }
+
+ &::v-deep .el-input__inner {
+ width: 400px;
+ //background-color: #09152f;
+ //border: 1px solid #17324c;
+ }
+
+ .message-item__left {
+ width: 400px;
+ }
+
+ .message-add {
+ &:hover {
+ cursor: pointer;
+ }
+ }
+
+ .el-form-item__content :deep(.el-select) {
+ width: 400px;
+ }
+
+ :deep(.el-input) {
+ width: 400px;
+ }
+
+ .message-item {
+ display: flex;
+
+ span {
+ margin-left: 20px;
+ color: #606266;
+ }
+ }
+
+ .message-tip {
+ margin-left: 20px;
+ }
+
+ :deep(.el-input--suffix) {
+ width: 400px;
+ }
+
+ // &::v-deep .el-textarea__inner {
+ // //background-color: #09152f;
+ // //border: 1px solid #17324c;
+ // }
+
+ .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;
+ }
+ }
+ }
+ }
+}
+</style>
diff --git a/.history/src/views/operate/message/myIndex/update/index_20230104135648.vue b/.history/src/views/operate/message/myIndex/update/index_20230104135648.vue
new file mode 100644
index 0000000..f64f5ee
--- /dev/null
+++ b/.history/src/views/operate/message/myIndex/update/index_20230104135648.vue
@@ -0,0 +1,522 @@
+<template>
+ <div class="createUser">
+ <main>
+ <div class="mainContent">
+ <el-form
+ ref="user"
+ label-width="140px"
+ autoComplete="on"
+ :model="role"
+ :rules="createRoleRules"
+ label-position="right"
+ :disabled="type === 'view'"
+ >
+ <!-- 鎻愰啋鏂瑰紡 -->
+ <el-form-item class="optionItem" label="鎻愰啋鏂瑰紡:" prop="channelCode" >
+ <el-radio-group v-model="role.channelCode">
+ <el-radio label="01">绔欏唴淇�</el-radio>
+ <el-radio label="03">閭欢</el-radio>
+ </el-radio-group>
+ <span class="message-tip">(鐭俊鍙敤鏁�: 1000鏉�)</span>
+ </el-form-item>
+ <!-- 娑堟伅鏍忕洰 -->
+ <el-form-item
+ v-if="role.channelCode === '01'"
+ class="optionItem"
+ label="娑堟伅鏍忕洰:"
+ prop="messageType"
+ >
+ <div class="message-item">
+ <div class="message-item__left">
+ <el-select
+ v-model="role.messageType"
+ placeholder="璇烽�夋嫨娑堟伅鏍忕洰"
+ >
+ <el-option
+ v-for="item in colList"
+ :key="item.id"
+ :label="item.columnName"
+ :value="item.id"
+ >
+ </el-option>
+ </el-select>
+ </div>
+ <span class="message-add" @click="dialogCreate = true">
+ 娣诲姞鏍忕洰</span
+ >
+ </div>
+ </el-form-item>
+ <!-- 娑堟伅鏍囬 -->
+ <el-form-item class="optionItems" label="娑堟伅鏍囬:" prop="head">
+ <div class="message-item__left">
+ <el-input
+ v-model="role.head"
+ placeholder="璇烽�夋嫨娑堟伅鏍囬"
+ ></el-input>
+ </div>
+ </el-form-item>
+ <!-- 鎺ユ敹瀵硅薄 -->
+ <el-form-item class="optionItem" label="鎺ユ敹瀵硅薄:" prop="targetTo">
+ <div class="message-item__left">
+ <el-select v-model="role.targetTo" placeholder="璇烽�夋嫨鎺ユ敹瀵硅薄">
+ <el-option :value="role.targetTo">
+ <el-tree
+ ref="tree"
+ :data="departList"
+ :props="defaultProps"
+ show-checkbox
+ @check="handleCheck"
+ default-expand-all
+ :default-checked-keys="checkedList"
+ node-key="id"
+ >
+ </el-tree>
+ </el-option>
+ </el-select>
+ </div>
+ </el-form-item>
+ <!-- 娑堟伅鍐呭 -->
+ <el-form-item class="optionItem" label="娑堟伅鍐呭:" prop="body">
+ <MyEditor ref="edit"></MyEditor>
+ </el-form-item>
+ <el-form-item>
+ <div class="optionBtn">
+ <el-button
+ type="primary"
+ @click.native.prevent="handleSubmit(0)"
+ class="btn save"
+ v-if="type !== 'view'"
+ >淇濆瓨
+ </el-button>
+ <el-button
+ type="primary"
+ @click.native.prevent="handleSubmit(1)"
+ class="btn submit"
+ v-if="type !== 'view'"
+ >鍙戝竷
+ </el-button>
+ <el-button
+ type="primary"
+ @click.native.prevent="handleView"
+ class="btn submit"
+ v-if="type !== 'view'"
+ >棰勮
+ </el-button>
+ <el-button class="btn cancel" @click.native.prevent="handleReset" v-if="type !== 'view'"
+ >閲嶇疆</el-button
+ >
+ </div>
+ </el-form-item>
+ </el-form>
+ <!-- 鏂板鏍忕洰 -->
+ <el-dialog
+ title="娣诲姞鏍忕洰"
+ :visible.sync="dialogCreate"
+ v-if="dialogCreate"
+ width="60%"
+ :before-close="handleConfirmClose"
+ append-to-body
+ >
+ <MyColumnAdd @closeDialog="closeDialog"></MyColumnAdd>
+ </el-dialog>
+ <!-- 棰勮娑堟伅 -->
+ <el-dialog
+ title="娑堟伅棰勮"
+ :visible.sync="dialogView"
+ v-if="dialogView"
+ width="60%"
+ :before-close="handleConfirmClose"
+ append-to-body
+ >
+ <MyColView :info="info" @closeDialog="closeDialog"></MyColView>
+ </el-dialog>
+ </div>
+ </main>
+ </div>
+</template>
+<script>
+import MyEditor from "@/components/edit";
+import MyColumnAdd from "@/views/operate/message/mycontrol/createUser";
+import MyColView from "../messageView";
+import { sendMessage, updateMessage, getMessageById } from "@/api/operate/messageManagement";
+
+export default {
+ components: { MyEditor, MyColumnAdd, MyColView },
+ props: ["type", "myDataRow"],
+ data() {
+ const validateEditor = (rule, value, callback) => {
+ if (value) {
+ callback();
+ } else {
+ callback(new Error('璇疯緭鍏�'));
+ }
+ };
+ return {
+ role: {
+ messageType: null,
+ head: "",
+ targetTo: "",
+ body: "",
+ channelCode: null,
+ },
+ createRoleRules: {
+ messageType: [
+ {
+ required: true,
+ trigger: ["blur", "change"],
+ message: "璇疯緭鍏ユ秷鎭爮鐩�",
+ },
+ ],
+ head: [{ required: true, trigger: "blur", message: "璇烽�夋嫨娑堟伅鏍囬" }],
+ targetTo: [
+ { required: true, trigger: "blur", message: "璇烽�夋嫨鎺ュ彈瀵硅薄" },
+ ],
+ body: [
+ {
+ required: true,
+ validator: validateEditor
+ },
+ ],
+ },
+ colList: [],
+ departList: [],
+ typeList: [],
+ dialogCreate: false,
+ dialogView: false,
+ defaultProps: {
+ children: "children",
+ label: "departName",
+ },
+ checkedList: [],
+ tempNameArr: [],
+ info: {},
+ sendUser: "",
+ };
+ },
+ created() {
+ this.getColumnList();
+ this.getDepartList();
+ this.getLoginUserInfo();
+ if (this.type !== "create" && this.myDataRow) {
+ getMessageById(this.myDataRow.id)
+ .then(res => {
+ this.role = res;
+ if (res.targetTo) {
+ this.checkedList = res.targetTo.split(',');
+ this.role.targetTo = `${this.checkedList.length}浜篳;
+ }
+ })
+ .catch(err => this.$message.error(`${err}`))
+ }
+ },
+ mounted() {
+ if (this.type !== 'create') {
+ this.$refs.edit.editor.txt.append(this.myDataRow.body);
+ }
+
+ },
+ methods: {
+ // 鍏抽棴寮圭獥
+ handleConfirmClose(done) {
+ this.$confirm("纭鍏抽棴?").then((_) => {
+ done();
+ });
+ },
+
+ // 鑾峰彇鏍忕洰
+ async getColumnList() {
+ await this.$axios({
+ method: "get",
+ url: "sccg/message_column/getShowColumn",
+ }).then((res) => {
+ this.colList = res.data;
+ });
+ },
+ // 鍏抽棴寮圭獥
+ closeDialog({ flag, index }) {
+ this.dialogCreate = flag;
+ if (index === 1) {
+ // 閲嶆柊璁剧疆鏍忕洰
+ this.getColumnList();
+ }
+ },
+ getType(){
+ return this.type;
+ },
+ // 鑾峰彇閮ㄩ棬鏍�
+ async getDepartList() {
+ await this.$axios({
+ method: "get",
+ url: "sccg/depart/tree",
+ }).then((res) => {
+ res.data.forEach((item) => {
+ this.departList.push(this.setChildren(item));
+ });
+ });
+ },
+
+ // 閫掑綊children
+ setChildren(obj) {
+ if (obj.children !== null) {
+ if (obj.children.length !== 0) {
+ obj.children.forEach((item) => {
+ return this.setChildren(item);
+ });
+ }
+ } else {
+ if (obj.userInfoDTOS.length !== 0) {
+ obj.children = [];
+ obj.userInfoDTOS.forEach((item) => {
+ obj.children.push({ id: item.userId, departName: item.username });
+ });
+ }
+ }
+ return obj;
+ },
+
+ // 閫変腑id
+ handleCheck(data, node) {
+ const checkedNodes = node.checkedNodes.filter(item => !item.children);
+ this.checkedList = checkedNodes.map(item => item.id);
+ this.tempNameArr = checkedNodes.map(item => item.departName);
+ this.role.targetTo = this.checkedList.length ? this.checkedList.length + "浜�" : null;
+ },
+
+ // 鏂板缓/淇濆瓨娑堟伅(1:鏂板缓,0淇濆瓨娑堟伅)
+ handleSubmit(mystatus) {
+ this.role.body = this.$refs.edit.editor.txt.html();
+ this.$refs.user.validate((valid) => {
+ if (valid) {
+ if(mystatus==1){
+ const { body, head, messageType, channelCode } = this.role;
+ const params = {
+ body,
+ head,
+ messageType,
+ channelCode: `${channelCode}`,
+ sendTime: new Date(),
+ targetTo: this.checkedList.join(","),
+ status: mystatus,
+ };
+ if (this.role.channelCode === '03') {
+ delete params.messageType;
+ }
+ if (this.type === "create") {
+ sendMessage(params)
+ .then(() => {
+ this.$emit("closeMyDialog");
+ this.$message({ type: "success", message: "鎿嶄綔鎴愬姛" });
+ })
+ .catch((err) =>
+ this.$message({
+ type: "error",
+ message: err.data || err.message,
+ })
+ );
+ } else {
+ updateMessage({ id: this.myDataRow.id, ...params })
+ .then(() => {
+ this.$emit("closeMyDialog");
+ this.$message({ type: "success", message: "鎿嶄綔鎴愬姛" });
+ })
+ .catch((err) =>
+ this.$message({
+ type: "error",
+ message: err.data || err.message,
+ })
+ );
+ }
+ }
+ if(mystatus==0){
+ const { body, head, messageType, channelCode } = this.role;
+ const params = {
+ body,
+ head,
+ messageType,
+ channelCode: `${channelCode}`,
+ sendTime: new Date(),
+ targetTo: this.checkedList.join(","),
+ status: mystatus,
+ };
+ if (this.role.channelCode === '03') {
+ delete params.messageType;
+ }
+ if (this.type === "create") {
+ saveMessage(params)
+ .then(() => {
+ this.$emit("closeMyDialog");
+ this.$message({ type: "success", message: "鎿嶄綔鎴愬姛" });
+ })
+ .catch((err) =>
+ this.$message({
+ type: "error",
+ message: err.data || err.message,
+ })
+ );
+ } else {
+ updateMessage({ id: this.myDataRow.id, ...params })
+ .then(() => {
+ this.$emit("closeMyDialog");
+ this.$message({ type: "success", message: "鎿嶄綔鎴愬姛" });
+ })
+ .catch((err) =>
+ this.$message({
+ type: "error",
+ message: err.data || err.message,
+ })
+ );
+ }
+ }
+
+ } else {
+ this.$message.error({ type: "warning", message: "璇锋鏌ュ繀濉」" });
+ }
+ });
+ },
+
+ // 閲嶇疆琛ㄥ崟
+ handleReset() {
+ this.$refs.edit.editor.txt.clear();
+ 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;
+ this.sendUser = res.data.username;
+ });
+ },
+
+ // 娑堟伅棰勮
+ handleView() {
+ this.role.body = this.$refs.edit.editor.txt.html();
+ this.$refs.user.validate((valid) => {
+ if (valid) {
+ const { body, head, channelCode } = this.role;
+ this.dialogView = true;
+ this.info = {
+ body,
+ head,
+ channelCode:
+ channelCode === "01"
+ ? "绔欏唴淇�"
+ : channelCode === "03"
+ ? "閭欢"
+ : "鐭俊",
+ messageType: this.role.messageType,
+ targetTo: this.tempNameArr,
+ targetFrom: this.sendUser
+ };
+ } else {
+ this.$message({ type: "warning", message: "璇锋鏌ュ繀濉」" });
+ }
+ });
+ }
+ },
+};
+</script>
+<style lang="scss" scoped>
+.createUser {
+ border-radius: 1px;
+ background-color: white;
+
+ main {
+ text-align: left;
+ padding: 0 55px;
+ background-color: white;
+
+ .mainContent {
+ display: flex;
+ justify-content: center;
+ padding-top: 50px;
+ &:deep(.el-dialog__title) {
+ //color: #4b9bb7;
+ }
+ &::v-deep .el-form-item__label {
+ //color: #4b9bb7;
+ }
+
+ &::v-deep .el-input__inner {
+ width: 400px;
+ //background-color: #09152f;
+ //border: 1px solid #17324c;
+ }
+
+ .message-item__left {
+ width: 400px;
+ }
+
+ .message-add {
+ &:hover {
+ cursor: pointer;
+ }
+ }
+
+ .el-form-item__content :deep(.el-select) {
+ width: 400px;
+ }
+
+ :deep(.el-input) {
+ width: 400px;
+ }
+
+ .message-item {
+ display: flex;
+
+ span {
+ margin-left: 20px;
+ color: #606266;
+ }
+ }
+
+ .message-tip {
+ margin-left: 20px;
+ }
+
+ :deep(.el-input--suffix) {
+ width: 400px;
+ }
+
+ // &::v-deep .el-textarea__inner {
+ // //background-color: #09152f;
+ // //border: 1px solid #17324c;
+ // }
+
+ .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;
+ }
+ }
+ }
+ }
+}
+</style>
diff --git a/.history/src/views/operate/message/myIndex/update/index_20230104135738.vue b/.history/src/views/operate/message/myIndex/update/index_20230104135738.vue
new file mode 100644
index 0000000..49db483
--- /dev/null
+++ b/.history/src/views/operate/message/myIndex/update/index_20230104135738.vue
@@ -0,0 +1,523 @@
+<template>
+ <div class="createUser">
+ <main>
+ <div class="mainContent">
+ <el-form
+ ref="user"
+ label-width="140px"
+ autoComplete="on"
+ :model="role"
+ :rules="createRoleRules"
+ label-position="right"
+ :disabled="type === 'view'"
+ >
+ <!-- 鎻愰啋鏂瑰紡 -->
+ <el-form-item class="optionItem" label="鎻愰啋鏂瑰紡:" prop="channelCode" >
+ <el-radio-group v-model="role.channelCode">
+ <el-radio label="01">绔欏唴淇�</el-radio>
+ <el-radio label="03">閭欢</el-radio>
+ </el-radio-group>
+ <span class="message-tip">(鐭俊鍙敤鏁�: 1000鏉�)</span>
+ </el-form-item>
+ <!-- 娑堟伅鏍忕洰 -->
+ <el-form-item
+ v-if="role.channelCode === '01'"
+ class="optionItem"
+ label="娑堟伅鏍忕洰:"
+ prop="messageType"
+ >
+ <div class="message-item">
+ <div class="message-item__left">
+ <el-select
+ v-model="role.messageType"
+ placeholder="璇烽�夋嫨娑堟伅鏍忕洰"
+ >
+ <el-option
+ v-for="item in colList"
+ :key="item.id"
+ :label="item.columnName"
+ :value="item.id"
+ >
+ </el-option>
+ </el-select>
+ </div>
+ <span class="message-add" @click="dialogCreate = true">
+ 娣诲姞鏍忕洰</span
+ >
+ </div>
+ </el-form-item>
+ <!-- 娑堟伅鏍囬 -->
+ <el-form-item class="optionItems" label="娑堟伅鏍囬:" prop="head">
+ <div class="message-item__left">
+ <el-input
+ v-model="role.head"
+ placeholder="璇烽�夋嫨娑堟伅鏍囬"
+ ></el-input>
+ </div>
+ </el-form-item>
+ <!-- 鎺ユ敹瀵硅薄 -->
+ <el-form-item class="optionItem" label="鎺ユ敹瀵硅薄:" prop="targetTo">
+ <div class="message-item__left">
+ <el-select v-model="role.targetTo" placeholder="璇烽�夋嫨鎺ユ敹瀵硅薄">
+ <el-option :value="role.targetTo">
+ <el-tree
+ ref="tree"
+ :data="departList"
+ :props="defaultProps"
+ show-checkbox
+ @check="handleCheck"
+ default-expand-all
+ :default-checked-keys="checkedList"
+ node-key="id"
+ >
+ </el-tree>
+ </el-option>
+ </el-select>
+ </div>
+ </el-form-item>
+ <!-- 娑堟伅鍐呭 -->
+ <el-form-item class="optionItem" label="娑堟伅鍐呭:" prop="body">
+ <MyEditor ref="edit"></MyEditor>
+ </el-form-item>
+ <el-form-item>
+ <div class="optionBtn">
+ <el-button
+ type="primary"
+ @click.native.prevent="handleSubmit(0)"
+ class="btn save"
+ v-if="type !== 'view'"
+ >淇濆瓨
+ </el-button>
+ <el-button
+ type="primary"
+ @click.native.prevent="handleSubmit(1)"
+ class="btn submit"
+ v-if="type !== 'view'"
+ >鍙戝竷
+ </el-button>
+ <el-button
+ type="primary"
+ @click.native.prevent="handleView"
+ class="btn submit"
+ v-if="type !== 'view'"
+ >棰勮
+ </el-button>
+ <el-button class="btn cancel" @click.native.prevent="handleReset" v-if="type !== 'view'"
+ >閲嶇疆</el-button
+ >
+ </div>
+ </el-form-item>
+ </el-form>
+ <!-- 鏂板鏍忕洰 -->
+ <el-dialog
+ title="娣诲姞鏍忕洰"
+ :visible.sync="dialogCreate"
+ v-if="dialogCreate"
+ width="60%"
+ :before-close="handleConfirmClose"
+ append-to-body
+ >
+ <MyColumnAdd @closeDialog="closeDialog"></MyColumnAdd>
+ </el-dialog>
+ <!-- 棰勮娑堟伅 -->
+ <el-dialog
+ title="娑堟伅棰勮"
+ :visible.sync="dialogView"
+ v-if="dialogView"
+ width="60%"
+ :before-close="handleConfirmClose"
+ append-to-body
+ >
+ <MyColView :info="info" @closeDialog="closeDialog"></MyColView>
+ </el-dialog>
+ </div>
+ </main>
+ </div>
+</template>
+<script>
+import MyEditor from "@/components/edit";
+import MyColumnAdd from "@/views/operate/message/mycontrol/createUser";
+import MyColView from "../messageView";
+import { sendMessage, updateMessage, getMessageById } from "@/api/operate/messageManagement";
+
+export default {
+ components: { MyEditor, MyColumnAdd, MyColView },
+ props: ["type", "myDataRow"],
+ data() {
+ const validateEditor = (rule, value, callback) => {
+ if (value) {
+ callback();
+ } else {
+ callback(new Error('璇疯緭鍏�'));
+ }
+ };
+ return {
+ role: {
+ messageType: null,
+ head: "",
+ targetTo: "",
+ body: "",
+ channelCode: null,
+ },
+ createRoleRules: {
+ messageType: [
+ {
+ required: true,
+ trigger: ["blur", "change"],
+ message: "璇疯緭鍏ユ秷鎭爮鐩�",
+ },
+ ],
+ head: [{ required: true, trigger: "blur", message: "璇烽�夋嫨娑堟伅鏍囬" }],
+ targetTo: [
+ { required: true, trigger: "blur", message: "璇烽�夋嫨鎺ュ彈瀵硅薄" },
+ ],
+ body: [
+ {
+ required: true,
+ validator: validateEditor
+ },
+ ],
+ },
+ colList: [],
+ departList: [],
+ typeList: [],
+ dialogCreate: false,
+ dialogView: false,
+ defaultProps: {
+ children: "children",
+ label: "departName",
+ },
+ checkedList: [],
+ tempNameArr: [],
+ info: {},
+ sendUser: "",
+ };
+ },
+ created() {
+ this.getColumnList();
+ this.getDepartList();
+ this.getLoginUserInfo();
+ if (this.type !== "create" && this.myDataRow) {
+ getMessageById(this.myDataRow.id)
+ .then(res => {
+ this.role = res;
+ if (res.targetTo) {
+ this.checkedList = res.targetTo.split(',');
+ this.role.targetTo = `${this.checkedList.length}浜篳;
+ }
+ })
+ .catch(err => this.$message.error(`${err}`))
+ }
+ },
+ mounted() {
+ if (this.type !== 'create') {
+ this.$refs.edit.editor.txt.append(this.myDataRow.body);
+ }
+
+ },
+ methods: {
+ // 鍏抽棴寮圭獥
+ handleConfirmClose(done) {
+ this.$confirm("纭鍏抽棴?").then((_) => {
+ done();
+ });
+ },
+
+ // 鑾峰彇鏍忕洰
+ async getColumnList() {
+ await this.$axios({
+ method: "get",
+ url: "sccg/message_column/getShowColumn",
+ }).then((res) => {
+ this.colList = res.data;
+ });
+ },
+ // 鍏抽棴寮圭獥
+ closeDialog({ flag, index }) {
+ this.dialogCreate = flag;
+ if (index === 1) {
+ // 閲嶆柊璁剧疆鏍忕洰
+ this.getColumnList();
+ }
+ },
+ getType(){
+ return this.type;
+ },
+ // 鑾峰彇閮ㄩ棬鏍�
+ async getDepartList() {
+ await this.$axios({
+ method: "get",
+ url: "sccg/depart/tree",
+ }).then((res) => {
+ res.data.forEach((item) => {
+ this.departList.push(this.setChildren(item));
+ });
+ });
+ },
+
+ // 閫掑綊children
+ setChildren(obj) {
+ if (obj.children !== null) {
+ if (obj.children.length !== 0) {
+ obj.children.forEach((item) => {
+ return this.setChildren(item);
+ });
+ }
+ } else {
+ if (obj.userInfoDTOS.length !== 0) {
+ obj.children = [];
+ obj.userInfoDTOS.forEach((item) => {
+ obj.children.push({ id: item.userId, departName: item.username });
+ });
+ }
+ }
+ return obj;
+ },
+
+ // 閫変腑id
+ handleCheck(data, node) {
+ const checkedNodes = node.checkedNodes.filter(item => !item.children);
+ this.checkedList = checkedNodes.map(item => item.id);
+ this.tempNameArr = checkedNodes.map(item => item.departName);
+ this.role.targetTo = this.checkedList.length ? this.checkedList.length + "浜�" : null;
+ },
+
+ // 鏂板缓/淇濆瓨娑堟伅(1:鏂板缓,0淇濆瓨娑堟伅)
+ handleSubmit(mystatus) {
+ debugger;
+ this.role.body = this.$refs.edit.editor.txt.html();
+ this.$refs.user.validate((valid) => {
+ if (valid) {
+ if(mystatus==1){
+ const { body, head, messageType, channelCode } = this.role;
+ const params = {
+ body,
+ head,
+ messageType,
+ channelCode: `${channelCode}`,
+ sendTime: new Date(),
+ targetTo: this.checkedList.join(","),
+ status: mystatus,
+ };
+ if (this.role.channelCode === '03') {
+ delete params.messageType;
+ }
+ if (this.type === "create") {
+ sendMessage(params)
+ .then(() => {
+ this.$emit("closeMyDialog");
+ this.$message({ type: "success", message: "鎿嶄綔鎴愬姛" });
+ })
+ .catch((err) =>
+ this.$message({
+ type: "error",
+ message: err.data || err.message,
+ })
+ );
+ } else {
+ updateMessage({ id: this.myDataRow.id, ...params })
+ .then(() => {
+ this.$emit("closeMyDialog");
+ this.$message({ type: "success", message: "鎿嶄綔鎴愬姛" });
+ })
+ .catch((err) =>
+ this.$message({
+ type: "error",
+ message: err.data || err.message,
+ })
+ );
+ }
+ }
+ if(mystatus==0){
+ const { body, head, messageType, channelCode } = this.role;
+ const params = {
+ body,
+ head,
+ messageType,
+ channelCode: `${channelCode}`,
+ sendTime: new Date(),
+ targetTo: this.checkedList.join(","),
+ status: mystatus,
+ };
+ if (this.role.channelCode === '03') {
+ delete params.messageType;
+ }
+ if (this.type === "create") {
+ saveMessage(params)
+ .then(() => {
+ this.$emit("closeMyDialog");
+ this.$message({ type: "success", message: "鎿嶄綔鎴愬姛" });
+ })
+ .catch((err) =>
+ this.$message({
+ type: "error",
+ message: err.data || err.message,
+ })
+ );
+ } else {
+ updateMessage({ id: this.myDataRow.id, ...params })
+ .then(() => {
+ this.$emit("closeMyDialog");
+ this.$message({ type: "success", message: "鎿嶄綔鎴愬姛" });
+ })
+ .catch((err) =>
+ this.$message({
+ type: "error",
+ message: err.data || err.message,
+ })
+ );
+ }
+ }
+
+ } else {
+ this.$message.error({ type: "warning", message: "璇锋鏌ュ繀濉」" });
+ }
+ });
+ },
+
+ // 閲嶇疆琛ㄥ崟
+ handleReset() {
+ this.$refs.edit.editor.txt.clear();
+ 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;
+ this.sendUser = res.data.username;
+ });
+ },
+
+ // 娑堟伅棰勮
+ handleView() {
+ this.role.body = this.$refs.edit.editor.txt.html();
+ this.$refs.user.validate((valid) => {
+ if (valid) {
+ const { body, head, channelCode } = this.role;
+ this.dialogView = true;
+ this.info = {
+ body,
+ head,
+ channelCode:
+ channelCode === "01"
+ ? "绔欏唴淇�"
+ : channelCode === "03"
+ ? "閭欢"
+ : "鐭俊",
+ messageType: this.role.messageType,
+ targetTo: this.tempNameArr,
+ targetFrom: this.sendUser
+ };
+ } else {
+ this.$message({ type: "warning", message: "璇锋鏌ュ繀濉」" });
+ }
+ });
+ }
+ },
+};
+</script>
+<style lang="scss" scoped>
+.createUser {
+ border-radius: 1px;
+ background-color: white;
+
+ main {
+ text-align: left;
+ padding: 0 55px;
+ background-color: white;
+
+ .mainContent {
+ display: flex;
+ justify-content: center;
+ padding-top: 50px;
+ &:deep(.el-dialog__title) {
+ //color: #4b9bb7;
+ }
+ &::v-deep .el-form-item__label {
+ //color: #4b9bb7;
+ }
+
+ &::v-deep .el-input__inner {
+ width: 400px;
+ //background-color: #09152f;
+ //border: 1px solid #17324c;
+ }
+
+ .message-item__left {
+ width: 400px;
+ }
+
+ .message-add {
+ &:hover {
+ cursor: pointer;
+ }
+ }
+
+ .el-form-item__content :deep(.el-select) {
+ width: 400px;
+ }
+
+ :deep(.el-input) {
+ width: 400px;
+ }
+
+ .message-item {
+ display: flex;
+
+ span {
+ margin-left: 20px;
+ color: #606266;
+ }
+ }
+
+ .message-tip {
+ margin-left: 20px;
+ }
+
+ :deep(.el-input--suffix) {
+ width: 400px;
+ }
+
+ // &::v-deep .el-textarea__inner {
+ // //background-color: #09152f;
+ // //border: 1px solid #17324c;
+ // }
+
+ .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;
+ }
+ }
+ }
+ }
+}
+</style>
diff --git a/.history/src/views/operate/message/myIndex/update/index_20230104135855.vue b/.history/src/views/operate/message/myIndex/update/index_20230104135855.vue
new file mode 100644
index 0000000..8bdd313
--- /dev/null
+++ b/.history/src/views/operate/message/myIndex/update/index_20230104135855.vue
@@ -0,0 +1,523 @@
+<template>
+ <div class="createUser">
+ <main>
+ <div class="mainContent">
+ <el-form
+ ref="user"
+ label-width="140px"
+ autoComplete="on"
+ :model="role"
+ :rules="createRoleRules"
+ label-position="right"
+ :disabled="type === 'view'"
+ >
+ <!-- 鎻愰啋鏂瑰紡 -->
+ <el-form-item class="optionItem" label="鎻愰啋鏂瑰紡:" prop="channelCode" >
+ <el-radio-group v-model="role.channelCode">
+ <el-radio label="01">绔欏唴淇�</el-radio>
+ <el-radio label="03">閭欢</el-radio>
+ </el-radio-group>
+ <span class="message-tip">(鐭俊鍙敤鏁�: 1000鏉�)</span>
+ </el-form-item>
+ <!-- 娑堟伅鏍忕洰 -->
+ <el-form-item
+ v-if="role.channelCode === '01'"
+ class="optionItem"
+ label="娑堟伅鏍忕洰:"
+ prop="messageType"
+ >
+ <div class="message-item">
+ <div class="message-item__left">
+ <el-select
+ v-model="role.messageType"
+ placeholder="璇烽�夋嫨娑堟伅鏍忕洰"
+ >
+ <el-option
+ v-for="item in colList"
+ :key="item.id"
+ :label="item.columnName"
+ :value="item.id"
+ >
+ </el-option>
+ </el-select>
+ </div>
+ <span class="message-add" @click="dialogCreate = true">
+ 娣诲姞鏍忕洰</span
+ >
+ </div>
+ </el-form-item>
+ <!-- 娑堟伅鏍囬 -->
+ <el-form-item class="optionItems" label="娑堟伅鏍囬:" prop="head">
+ <div class="message-item__left">
+ <el-input
+ v-model="role.head"
+ placeholder="璇烽�夋嫨娑堟伅鏍囬"
+ ></el-input>
+ </div>
+ </el-form-item>
+ <!-- 鎺ユ敹瀵硅薄 -->
+ <el-form-item class="optionItem" label="鎺ユ敹瀵硅薄:" prop="targetTo">
+ <div class="message-item__left">
+ <el-select v-model="role.targetTo" placeholder="璇烽�夋嫨鎺ユ敹瀵硅薄">
+ <el-option :value="role.targetTo">
+ <el-tree
+ ref="tree"
+ :data="departList"
+ :props="defaultProps"
+ show-checkbox
+ @check="handleCheck"
+ default-expand-all
+ :default-checked-keys="checkedList"
+ node-key="id"
+ >
+ </el-tree>
+ </el-option>
+ </el-select>
+ </div>
+ </el-form-item>
+ <!-- 娑堟伅鍐呭 -->
+ <el-form-item class="optionItem" label="娑堟伅鍐呭:" prop="body">
+ <MyEditor ref="edit"></MyEditor>
+ </el-form-item>
+ <el-form-item>
+ <div class="optionBtn">
+ <el-button
+ type="primary"
+ @click.native.prevent="handleSubmit(0)"
+ class="btn save"
+ v-if="type !== 'view'"
+ >淇濆瓨
+ </el-button>
+ <el-button
+ type="primary"
+ @click.native.prevent="handleSubmit(1)"
+ class="btn submit"
+ v-if="type !== 'view'"
+ >鍙戝竷
+ </el-button>
+ <el-button
+ type="primary"
+ @click.native.prevent="handleView"
+ class="btn submit"
+ v-if="type !== 'view'"
+ >棰勮
+ </el-button>
+ <el-button class="btn cancel" @click.native.prevent="handleReset" v-if="type !== 'view'"
+ >閲嶇疆</el-button
+ >
+ </div>
+ </el-form-item>
+ </el-form>
+ <!-- 鏂板鏍忕洰 -->
+ <el-dialog
+ title="娣诲姞鏍忕洰"
+ :visible.sync="dialogCreate"
+ v-if="dialogCreate"
+ width="60%"
+ :before-close="handleConfirmClose"
+ append-to-body
+ >
+ <MyColumnAdd @closeDialog="closeDialog"></MyColumnAdd>
+ </el-dialog>
+ <!-- 棰勮娑堟伅 -->
+ <el-dialog
+ title="娑堟伅棰勮"
+ :visible.sync="dialogView"
+ v-if="dialogView"
+ width="60%"
+ :before-close="handleConfirmClose"
+ append-to-body
+ >
+ <MyColView :info="info" @closeDialog="closeDialog"></MyColView>
+ </el-dialog>
+ </div>
+ </main>
+ </div>
+</template>
+<script>
+import MyEditor from "@/components/edit";
+import MyColumnAdd from "@/views/operate/message/mycontrol/createUser";
+import MyColView from "../messageView";
+import { sendMessage, updateMessage, getMessageById,saveMessage } from "@/api/operate/messageManagement";
+
+export default {
+ components: { MyEditor, MyColumnAdd, MyColView },
+ props: ["type", "myDataRow"],
+ data() {
+ const validateEditor = (rule, value, callback) => {
+ if (value) {
+ callback();
+ } else {
+ callback(new Error('璇疯緭鍏�'));
+ }
+ };
+ return {
+ role: {
+ messageType: null,
+ head: "",
+ targetTo: "",
+ body: "",
+ channelCode: null,
+ },
+ createRoleRules: {
+ messageType: [
+ {
+ required: true,
+ trigger: ["blur", "change"],
+ message: "璇疯緭鍏ユ秷鎭爮鐩�",
+ },
+ ],
+ head: [{ required: true, trigger: "blur", message: "璇烽�夋嫨娑堟伅鏍囬" }],
+ targetTo: [
+ { required: true, trigger: "blur", message: "璇烽�夋嫨鎺ュ彈瀵硅薄" },
+ ],
+ body: [
+ {
+ required: true,
+ validator: validateEditor
+ },
+ ],
+ },
+ colList: [],
+ departList: [],
+ typeList: [],
+ dialogCreate: false,
+ dialogView: false,
+ defaultProps: {
+ children: "children",
+ label: "departName",
+ },
+ checkedList: [],
+ tempNameArr: [],
+ info: {},
+ sendUser: "",
+ };
+ },
+ created() {
+ this.getColumnList();
+ this.getDepartList();
+ this.getLoginUserInfo();
+ if (this.type !== "create" && this.myDataRow) {
+ getMessageById(this.myDataRow.id)
+ .then(res => {
+ this.role = res;
+ if (res.targetTo) {
+ this.checkedList = res.targetTo.split(',');
+ this.role.targetTo = `${this.checkedList.length}浜篳;
+ }
+ })
+ .catch(err => this.$message.error(`${err}`))
+ }
+ },
+ mounted() {
+ if (this.type !== 'create') {
+ this.$refs.edit.editor.txt.append(this.myDataRow.body);
+ }
+
+ },
+ methods: {
+ // 鍏抽棴寮圭獥
+ handleConfirmClose(done) {
+ this.$confirm("纭鍏抽棴?").then((_) => {
+ done();
+ });
+ },
+
+ // 鑾峰彇鏍忕洰
+ async getColumnList() {
+ await this.$axios({
+ method: "get",
+ url: "sccg/message_column/getShowColumn",
+ }).then((res) => {
+ this.colList = res.data;
+ });
+ },
+ // 鍏抽棴寮圭獥
+ closeDialog({ flag, index }) {
+ this.dialogCreate = flag;
+ if (index === 1) {
+ // 閲嶆柊璁剧疆鏍忕洰
+ this.getColumnList();
+ }
+ },
+ getType(){
+ return this.type;
+ },
+ // 鑾峰彇閮ㄩ棬鏍�
+ async getDepartList() {
+ await this.$axios({
+ method: "get",
+ url: "sccg/depart/tree",
+ }).then((res) => {
+ res.data.forEach((item) => {
+ this.departList.push(this.setChildren(item));
+ });
+ });
+ },
+
+ // 閫掑綊children
+ setChildren(obj) {
+ if (obj.children !== null) {
+ if (obj.children.length !== 0) {
+ obj.children.forEach((item) => {
+ return this.setChildren(item);
+ });
+ }
+ } else {
+ if (obj.userInfoDTOS.length !== 0) {
+ obj.children = [];
+ obj.userInfoDTOS.forEach((item) => {
+ obj.children.push({ id: item.userId, departName: item.username });
+ });
+ }
+ }
+ return obj;
+ },
+
+ // 閫変腑id
+ handleCheck(data, node) {
+ const checkedNodes = node.checkedNodes.filter(item => !item.children);
+ this.checkedList = checkedNodes.map(item => item.id);
+ this.tempNameArr = checkedNodes.map(item => item.departName);
+ this.role.targetTo = this.checkedList.length ? this.checkedList.length + "浜�" : null;
+ },
+
+ // 鏂板缓/淇濆瓨娑堟伅(1:鏂板缓,0淇濆瓨娑堟伅)
+ handleSubmit(mystatus) {
+ debugger;
+ this.role.body = this.$refs.edit.editor.txt.html();
+ this.$refs.user.validate((valid) => {
+ if (valid) {
+ if(mystatus==1){
+ const { body, head, messageType, channelCode } = this.role;
+ const params = {
+ body,
+ head,
+ messageType,
+ channelCode: `${channelCode}`,
+ sendTime: new Date(),
+ targetTo: this.checkedList.join(","),
+ status: mystatus,
+ };
+ if (this.role.channelCode === '03') {
+ delete params.messageType;
+ }
+ if (this.type === "create") {
+ sendMessage(params)
+ .then(() => {
+ this.$emit("closeMyDialog");
+ this.$message({ type: "success", message: "鎿嶄綔鎴愬姛" });
+ })
+ .catch((err) =>
+ this.$message({
+ type: "error",
+ message: err.data || err.message,
+ })
+ );
+ } else {
+ updateMessage({ id: this.myDataRow.id, ...params })
+ .then(() => {
+ this.$emit("closeMyDialog");
+ this.$message({ type: "success", message: "鎿嶄綔鎴愬姛" });
+ })
+ .catch((err) =>
+ this.$message({
+ type: "error",
+ message: err.data || err.message,
+ })
+ );
+ }
+ }
+ if(mystatus==0){
+ const { body, head, messageType, channelCode } = this.role;
+ const params = {
+ body,
+ head,
+ messageType,
+ channelCode: `${channelCode}`,
+ sendTime: new Date(),
+ targetTo: this.checkedList.join(","),
+ status: mystatus,
+ };
+ if (this.role.channelCode === '03') {
+ delete params.messageType;
+ }
+ if (this.type === "create") {
+ saveMessage(params)
+ .then(() => {
+ this.$emit("closeMyDialog");
+ this.$message({ type: "success", message: "鎿嶄綔鎴愬姛" });
+ })
+ .catch((err) =>
+ this.$message({
+ type: "error",
+ message: err.data || err.message,
+ })
+ );
+ } else {
+ updateMessage({ id: this.myDataRow.id, ...params })
+ .then(() => {
+ this.$emit("closeMyDialog");
+ this.$message({ type: "success", message: "鎿嶄綔鎴愬姛" });
+ })
+ .catch((err) =>
+ this.$message({
+ type: "error",
+ message: err.data || err.message,
+ })
+ );
+ }
+ }
+
+ } else {
+ this.$message.error({ type: "warning", message: "璇锋鏌ュ繀濉」" });
+ }
+ });
+ },
+
+ // 閲嶇疆琛ㄥ崟
+ handleReset() {
+ this.$refs.edit.editor.txt.clear();
+ 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;
+ this.sendUser = res.data.username;
+ });
+ },
+
+ // 娑堟伅棰勮
+ handleView() {
+ this.role.body = this.$refs.edit.editor.txt.html();
+ this.$refs.user.validate((valid) => {
+ if (valid) {
+ const { body, head, channelCode } = this.role;
+ this.dialogView = true;
+ this.info = {
+ body,
+ head,
+ channelCode:
+ channelCode === "01"
+ ? "绔欏唴淇�"
+ : channelCode === "03"
+ ? "閭欢"
+ : "鐭俊",
+ messageType: this.role.messageType,
+ targetTo: this.tempNameArr,
+ targetFrom: this.sendUser
+ };
+ } else {
+ this.$message({ type: "warning", message: "璇锋鏌ュ繀濉」" });
+ }
+ });
+ }
+ },
+};
+</script>
+<style lang="scss" scoped>
+.createUser {
+ border-radius: 1px;
+ background-color: white;
+
+ main {
+ text-align: left;
+ padding: 0 55px;
+ background-color: white;
+
+ .mainContent {
+ display: flex;
+ justify-content: center;
+ padding-top: 50px;
+ &:deep(.el-dialog__title) {
+ //color: #4b9bb7;
+ }
+ &::v-deep .el-form-item__label {
+ //color: #4b9bb7;
+ }
+
+ &::v-deep .el-input__inner {
+ width: 400px;
+ //background-color: #09152f;
+ //border: 1px solid #17324c;
+ }
+
+ .message-item__left {
+ width: 400px;
+ }
+
+ .message-add {
+ &:hover {
+ cursor: pointer;
+ }
+ }
+
+ .el-form-item__content :deep(.el-select) {
+ width: 400px;
+ }
+
+ :deep(.el-input) {
+ width: 400px;
+ }
+
+ .message-item {
+ display: flex;
+
+ span {
+ margin-left: 20px;
+ color: #606266;
+ }
+ }
+
+ .message-tip {
+ margin-left: 20px;
+ }
+
+ :deep(.el-input--suffix) {
+ width: 400px;
+ }
+
+ // &::v-deep .el-textarea__inner {
+ // //background-color: #09152f;
+ // //border: 1px solid #17324c;
+ // }
+
+ .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;
+ }
+ }
+ }
+ }
+}
+</style>
diff --git a/.history/src/views/operate/sms/smsIndex/index_20230104104607.vue b/.history/src/views/operate/sms/smsIndex/index_20230104104607.vue
new file mode 100644
index 0000000..a57d77a
--- /dev/null
+++ b/.history/src/views/operate/sms/smsIndex/index_20230104104607.vue
@@ -0,0 +1,644 @@
+<template>
+ <div class="userList">
+ <header>
+ <div class="header-nav">
+ <span class="nav-left">鏁版嵁绛涢��</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="messageStatus" placeholder="璇烽�夋嫨">
+ <el-option
+ v-for="item in statusList"
+ :key="item.value"
+ :label="item.label"
+ :value="item.label"
+ >
+ </el-option>
+ </el-select>
+ </div>
+ <div class="find">
+ <el-button type="primary" icon="el-icon-search" @click="getTableData"
+ >鏌ヨ
+ </el-button
+ >
+ <el-button icon="el-icon-delete-solid" @click="handleReset"
+ >閲嶇疆
+ </el-button
+ >
+ </div>
+ </div>
+ </header>
+ <main>
+ <div class="mainContent">
+ <div class="main-nav">
+ <span>鏁版嵁鍒楄〃</span>
+ <el-button
+ class="button-addition"
+ type="primary"
+ icon="el-icon-plus"
+ @click="isShowDialog = true"
+ >娣诲姞
+ </el-button
+ >
+ </div>
+ <!-- 鏁版嵁灞曠ず -->
+ <el-table
+ ref="multipleTable"
+ :header-cell-style="{
+ // background: '#06122c',
+ 'font-size': '12px',
+ color: '#606266',
+ '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 label="ID" min-width="5" prop="id">
+ <template slot-scope="scope">{{ scope.row.id }}</template>
+ </el-table-column>
+ <el-table-column prop="head" label="鏍囬" min-width="10">
+ </el-table-column>
+ <el-table-column prop="createTime" label="鍙戦�佹椂闂�" min-width="10">
+ </el-table-column>
+ <el-table-column prop="targetFrom" label="鍙戦�佽处鍙�" min-width="15">
+ </el-table-column>
+ <el-table-column prop="status" label="鍙戝竷鐘舵��" min-width="5">
+ <template slot-scope="scope">
+ <span>{{
+ statusList.find((item) => item.value === scope.row.status).label
+ }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="operation" label="鎿嶄綔" min-width="15">
+ <template slot-scope="scope">
+ <div class="operation">
+ <el-link
+ class="leftPx"
+ icon="el-icon-delete-solid"
+ :underline="false"
+ @click="handleDelete([scope.row.id])"
+ >鍒犻櫎
+ </el-link
+ >
+ <el-link
+ icon="el-icon-edit"
+ class="leftPx"
+ :underline="false"
+ @click="resend(scope.row)"
+ >閲嶆柊鍙戦��
+ </el-link
+ >
+ </div>
+ </template>
+ </el-table-column>
+ </el-table>
+ <!-- 鏂板缓娑堟伅 -->
+ <el-dialog
+ title="鏂板缓娑堟伅"
+ :destroy-on-close="true"
+ :key="dialogType"
+ :visible.sync="isShowDialog"
+ width="80%"
+ :before-close="handleConfirmClose"
+ >
+ <MyCreate @closeMyDialog="closeDialog" :type="dialogType"></MyCreate>
+ </el-dialog>
+ <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"
+ >
+ </el-pagination>
+ </div>
+ </div>
+ </div>
+ </main>
+ </div>
+</template>
+<script>
+import helper from "@/utils/mydate";
+import MyCreate from "./createSms";
+import {
+ getMessageList,
+ deleteMessage,
+ sendMessage,
+} from "@/api/operate/messageManagement";
+
+export default {
+ components: {
+ MyCreate,
+ },
+ data() {
+ return {
+ tableData: [],
+ context: null,
+ isShowDialog: 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: [],
+ messageStatus: "鍏ㄩ儴",
+ messageKind: "00",
+ statusList: [
+ {
+ label: "鍙戦�佸け璐�",
+ value: 3,
+ },
+ {
+ label: "鍙戦�佹垚鍔�",
+ value: 2,
+ },
+ {
+ label: "宸插彂甯�",
+ value: 1,
+ },
+ {
+ label: "鏈彂甯�",
+ value: 0,
+ },
+ ],
+ kindList: [
+ {
+ id: "00",
+ columnName: "鍏ㄩ儴",
+ },
+ {
+ id: "01",
+ columnName: "绔欏唴淇�",
+ },
+ {
+ id: "02",
+ columnName: "閭欢",
+ },
+ {
+ id: "03",
+ columnName: "鐭俊",
+ },
+ ],
+ dialogType: "",
+ };
+ },
+ created() {
+ this.getTableData();
+ },
+ methods: {
+ // 閲嶇疆
+ handleReset() {
+ this.context = null;
+ this.currentPage = 1;
+ this.messageStatus = "鍏ㄩ儴";
+ this.getTableData();
+ },
+ // 鍒犻櫎淇℃伅
+ handleDelete(ids) {
+ this.$confirm("纭鍒犻櫎?").then(() => {
+ deleteMessage({ids: ids.join(",")})
+ .then(() => {
+ this.$message({type: "success", message: "鎿嶄綔鎴愬姛"});
+ this.getTableData();
+ })
+ .catch((err) => this.$message({type: "error", message: err}));
+ });
+ },
+
+ getTableData() {
+ const respondResult =
+ this.messageStatus === "鍏ㄩ儴" ? null : this.messageStatus;
+ getMessageList({
+ channelCode: "02",
+ current: this.currentPage,
+ respondResult,
+ pageSize: this.pageSize,
+ head: this.context,
+ })
+ .then(({records, total}) => {
+ this.tableData = records;
+ this.totalNum = total;
+ })
+ .catch((err) => {
+ this.$message({type: "error", message: err});
+ });
+ },
+
+ resend(data) {
+ if (data.status === 1) {
+ return;
+ }
+ sendMessage(data)
+ .then(() => {
+ this.$message.success("鎿嶄綔鎴愬姛");
+ this.getTableData();
+ })
+ .catch((err) => this.$message.error(`${err}`));
+ },
+
+ // 鎵归噺涓嬫媺妗嗘搷浣�
+ async selectChange(list) {
+ 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(() => {
+ this.getTableData();
+ this.$message({type: "success", message: "鎿嶄綔鎴愬姛"});
+ })
+ .catch((err) => {
+ this.$message({type: "error", message: err});
+ });
+ })
+ .catch((err) => {
+ });
+ },
+ // 琛ㄦ牸鐩戝惉
+ tableChange(list) {
+ this.tempList = [];
+ list.forEach((item) => {
+ this.tempList.push(item.id);
+ });
+ this.all = list.length === this.tableData.length;
+ },
+ // 淇敼鏃堕棿鏍煎紡
+ changeTime({updateTime}) {
+ return helper(updateTime);
+ },
+ // 鍏ㄩ��
+ 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";
+ }
+ },
+ // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠�
+ changeCurrentPage(page) {
+ this.currentPage = page;
+ this.getTableData();
+ },
+ // 纭鍏抽棴寮圭獥
+ handleConfirmClose(done) {
+ this.$confirm("纭鍏抽棴?").then(() => {
+ done();
+ });
+ },
+ // 鑷畾涔夊叧闂脊绐�
+ closeDialog() {
+ this.isShowDialog = false;
+ this.getTableData();
+ },
+ },
+};
+</script>
+<style lang="scss" scoped>
+.userList {
+ text-align: left;
+ margin: 10px 20px;
+ color: #606266;
+
+ header {
+ background-color: white;
+
+ .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;
+
+ span {
+ min-width: 120px;
+ padding-left: 15px;
+ }
+
+ .search,
+ .message-status,
+ .message-kind {
+ display: flex;
+ justify-content: flex-start;
+
+ span {
+ flex: 1;
+ }
+
+ .el-input {
+ flex: 2;
+ color: #606266;
+
+ //&::v-deep .el-input__inner {
+ // background-color: #09152f;
+ // border: 1px solid #17324c;
+ //}
+ }
+ }
+
+ .find {
+ margin-left: 15px;
+ }
+
+ .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: white;
+ margin-top: 20px;
+ padding-bottom: 50px;
+
+ .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: #606266;
+ // 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>
diff --git a/.history/src/views/operate/sms/smsIndex/index_20230104105114.vue b/.history/src/views/operate/sms/smsIndex/index_20230104105114.vue
new file mode 100644
index 0000000..4c73561
--- /dev/null
+++ b/.history/src/views/operate/sms/smsIndex/index_20230104105114.vue
@@ -0,0 +1,636 @@
+<template>
+ <div class="userList">
+ <header>
+ <div class="header-nav">
+ <span class="nav-left">鏁版嵁绛涢��</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="messageStatus" placeholder="璇烽�夋嫨">
+ <el-option
+ v-for="item in statusList"
+ :key="item.value"
+ :label="item.label"
+ :value="item.label"
+ >
+ </el-option>
+ </el-select>
+ </div>
+ <div class="find">
+ <el-button type="primary" icon="el-icon-search" @click="getTableData"
+ >鏌ヨ
+ </el-button
+ >
+ <el-button icon="el-icon-delete-solid" @click="handleReset"
+ >閲嶇疆
+ </el-button
+ >
+ </div>
+ </div>
+ </header>
+ <main>
+ <div class="mainContent">
+ <div class="main-nav">
+ <span>鏁版嵁鍒楄〃</span>
+ <el-button
+ class="button-addition"
+ type="primary"
+ icon="el-icon-plus"
+ @click="isShowDialog = true"
+ >娣诲姞
+ </el-button
+ >
+ </div>
+ <!-- 鏁版嵁灞曠ず -->
+ <el-table
+ ref="multipleTable"
+ :header-cell-style="{
+ // background: '#06122c',
+ 'font-size': '12px',
+ color: '#606266',
+ '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 label="ID" min-width="5" prop="id">
+ <template slot-scope="scope">{{ scope.row.id }}</template>
+ </el-table-column>
+ <el-table-column prop="head" label="鏍囬" min-width="10">
+ </el-table-column>
+ <el-table-column prop="createTime" label="鍙戦�佹椂闂�" min-width="10">
+ </el-table-column>
+ <el-table-column prop="targetFrom" label="鍙戦�佽处鍙�" min-width="15">
+ </el-table-column>
+ <el-table-column prop="status" label="鍙戝竷鐘舵��" min-width="5">
+ <template slot-scope="scope">
+ <span>{{
+ statusList.find((item) => item.value === scope.row.status).label
+ }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="operation" label="鎿嶄綔" min-width="15">
+ <template slot-scope="scope">
+ <div class="operation">
+ <el-link
+ class="leftPx"
+ icon="el-icon-delete-solid"
+ :underline="false"
+ @click="handleDelete([scope.row.id])"
+ >鍒犻櫎
+ </el-link
+ >
+ <el-link
+ icon="el-icon-edit"
+ class="leftPx"
+ :underline="false"
+ @click="resend(scope.row)"
+ >閲嶆柊鍙戦��
+ </el-link
+ >
+ </div>
+ </template>
+ </el-table-column>
+ </el-table>
+ <!-- 鏂板缓娑堟伅 -->
+ <el-dialog
+ title="鏂板缓娑堟伅"
+ :destroy-on-close="true"
+ :key="dialogType"
+ :visible.sync="isShowDialog"
+ width="80%"
+ :before-close="handleConfirmClose"
+ >
+ <MyCreate @closeMyDialog="closeDialog" :type="dialogType"></MyCreate>
+ </el-dialog>
+ <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"
+ >
+ </el-pagination>
+ </div>
+ </div>
+ </div>
+ </main>
+ </div>
+</template>
+<script>
+import helper from "@/utils/mydate";
+import MyCreate from "./createSms";
+import {
+ getMessageList,
+ deleteMessage,
+ sendMessage,
+} from "@/api/operate/messageManagement";
+
+export default {
+ components: {
+ MyCreate,
+ },
+ data() {
+ return {
+ tableData: [],
+ context: null,
+ isShowDialog: 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: [],
+ messageStatus: "鍏ㄩ儴",
+ messageKind: "00",
+ statusList: [
+ {
+ label: "鍙戦�佸け璐�",
+ value: 3,
+ },
+ {
+ label: "鍙戦�佹垚鍔�",
+ value: 2,
+ }
+ ],
+ kindList: [
+ {
+ id: "00",
+ columnName: "鍏ㄩ儴",
+ },
+ {
+ id: "01",
+ columnName: "绔欏唴淇�",
+ },
+ {
+ id: "02",
+ columnName: "閭欢",
+ },
+ {
+ id: "03",
+ columnName: "鐭俊",
+ },
+ ],
+ dialogType: "",
+ };
+ },
+ created() {
+ this.getTableData();
+ },
+ methods: {
+ // 閲嶇疆
+ handleReset() {
+ this.context = null;
+ this.currentPage = 1;
+ this.messageStatus = "鍏ㄩ儴";
+ this.getTableData();
+ },
+ // 鍒犻櫎淇℃伅
+ handleDelete(ids) {
+ this.$confirm("纭鍒犻櫎?").then(() => {
+ deleteMessage({ids: ids.join(",")})
+ .then(() => {
+ this.$message({type: "success", message: "鎿嶄綔鎴愬姛"});
+ this.getTableData();
+ })
+ .catch((err) => this.$message({type: "error", message: err}));
+ });
+ },
+
+ getTableData() {
+ const respondResult =
+ this.messageStatus === "鍏ㄩ儴" ? null : this.messageStatus;
+ getMessageList({
+ channelCode: "02",
+ current: this.currentPage,
+ respondResult,
+ pageSize: this.pageSize,
+ head: this.context,
+ })
+ .then(({records, total}) => {
+ this.tableData = records;
+ this.totalNum = total;
+ })
+ .catch((err) => {
+ this.$message({type: "error", message: err});
+ });
+ },
+
+ resend(data) {
+ if (data.status === 1) {
+ return;
+ }
+ sendMessage(data)
+ .then(() => {
+ this.$message.success("鎿嶄綔鎴愬姛");
+ this.getTableData();
+ })
+ .catch((err) => this.$message.error(`${err}`));
+ },
+
+ // 鎵归噺涓嬫媺妗嗘搷浣�
+ async selectChange(list) {
+ 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(() => {
+ this.getTableData();
+ this.$message({type: "success", message: "鎿嶄綔鎴愬姛"});
+ })
+ .catch((err) => {
+ this.$message({type: "error", message: err});
+ });
+ })
+ .catch((err) => {
+ });
+ },
+ // 琛ㄦ牸鐩戝惉
+ tableChange(list) {
+ this.tempList = [];
+ list.forEach((item) => {
+ this.tempList.push(item.id);
+ });
+ this.all = list.length === this.tableData.length;
+ },
+ // 淇敼鏃堕棿鏍煎紡
+ changeTime({updateTime}) {
+ return helper(updateTime);
+ },
+ // 鍏ㄩ��
+ 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";
+ }
+ },
+ // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠�
+ changeCurrentPage(page) {
+ this.currentPage = page;
+ this.getTableData();
+ },
+ // 纭鍏抽棴寮圭獥
+ handleConfirmClose(done) {
+ this.$confirm("纭鍏抽棴?").then(() => {
+ done();
+ });
+ },
+ // 鑷畾涔夊叧闂脊绐�
+ closeDialog() {
+ this.isShowDialog = false;
+ this.getTableData();
+ },
+ },
+};
+</script>
+<style lang="scss" scoped>
+.userList {
+ text-align: left;
+ margin: 10px 20px;
+ color: #606266;
+
+ header {
+ background-color: white;
+
+ .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;
+
+ span {
+ min-width: 120px;
+ padding-left: 15px;
+ }
+
+ .search,
+ .message-status,
+ .message-kind {
+ display: flex;
+ justify-content: flex-start;
+
+ span {
+ flex: 1;
+ }
+
+ .el-input {
+ flex: 2;
+ color: #606266;
+
+ //&::v-deep .el-input__inner {
+ // background-color: #09152f;
+ // border: 1px solid #17324c;
+ //}
+ }
+ }
+
+ .find {
+ margin-left: 15px;
+ }
+
+ .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: white;
+ margin-top: 20px;
+ padding-bottom: 50px;
+
+ .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: #606266;
+ // 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>
diff --git a/.history/src/views/operate/sms/smsIndex/index_20230104105237.vue b/.history/src/views/operate/sms/smsIndex/index_20230104105237.vue
new file mode 100644
index 0000000..4e241b7
--- /dev/null
+++ b/.history/src/views/operate/sms/smsIndex/index_20230104105237.vue
@@ -0,0 +1,631 @@
+<template>
+ <div class="userList">
+ <header>
+ <div class="header-nav">
+ <span class="nav-left">鏁版嵁绛涢��</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="messageStatus" placeholder="璇烽�夋嫨">
+ <el-option
+ v-for="item in statusList"
+ :key="item.value"
+ :label="item.label"
+ :value="item.label"
+ >
+ </el-option>
+ </el-select>
+ </div>
+ <div class="find">
+ <el-button type="primary" icon="el-icon-search" @click="getTableData"
+ >鏌ヨ
+ </el-button
+ >
+ <el-button icon="el-icon-delete-solid" @click="handleReset"
+ >閲嶇疆
+ </el-button
+ >
+ </div>
+ </div>
+ </header>
+ <main>
+ <div class="mainContent">
+ <div class="main-nav">
+ <span>鏁版嵁鍒楄〃</span>
+ <el-button
+ class="button-addition"
+ type="primary"
+ icon="el-icon-plus"
+ @click="isShowDialog = true"
+ >娣诲姞
+ </el-button
+ >
+ </div>
+ <!-- 鏁版嵁灞曠ず -->
+ <el-table
+ ref="multipleTable"
+ :header-cell-style="{
+ // background: '#06122c',
+ 'font-size': '12px',
+ color: '#606266',
+ '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 label="ID" min-width="5" prop="id">
+ <template slot-scope="scope">{{ scope.row.id }}</template>
+ </el-table-column>
+ <el-table-column prop="head" label="鏍囬" min-width="10">
+ </el-table-column>
+ <el-table-column prop="createTime" label="鍙戦�佹椂闂�" min-width="10">
+ </el-table-column>
+ <el-table-column prop="targetFrom" label="鍙戦�佽处鍙�" min-width="15">
+ </el-table-column>
+ <el-table-column prop="respondResult" label="鐭俊鍥炴墽" min-width="5">
+ </el-table-column>
+ <el-table-column prop="operation" label="鎿嶄綔" min-width="15">
+ <template slot-scope="scope">
+ <div class="operation">
+ <el-link
+ class="leftPx"
+ icon="el-icon-delete-solid"
+ :underline="false"
+ @click="handleDelete([scope.row.id])"
+ >鍒犻櫎
+ </el-link
+ >
+ <el-link
+ icon="el-icon-edit"
+ class="leftPx"
+ :underline="false"
+ @click="resend(scope.row)"
+ >閲嶆柊鍙戦��
+ </el-link
+ >
+ </div>
+ </template>
+ </el-table-column>
+ </el-table>
+ <!-- 鏂板缓娑堟伅 -->
+ <el-dialog
+ title="鏂板缓娑堟伅"
+ :destroy-on-close="true"
+ :key="dialogType"
+ :visible.sync="isShowDialog"
+ width="80%"
+ :before-close="handleConfirmClose"
+ >
+ <MyCreate @closeMyDialog="closeDialog" :type="dialogType"></MyCreate>
+ </el-dialog>
+ <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"
+ >
+ </el-pagination>
+ </div>
+ </div>
+ </div>
+ </main>
+ </div>
+</template>
+<script>
+import helper from "@/utils/mydate";
+import MyCreate from "./createSms";
+import {
+ getMessageList,
+ deleteMessage,
+ sendMessage,
+} from "@/api/operate/messageManagement";
+
+export default {
+ components: {
+ MyCreate,
+ },
+ data() {
+ return {
+ tableData: [],
+ context: null,
+ isShowDialog: 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: [],
+ messageStatus: "鍏ㄩ儴",
+ messageKind: "00",
+ statusList: [
+ {
+ label: "鍙戦�佸け璐�",
+ value: 3,
+ },
+ {
+ label: "鍙戦�佹垚鍔�",
+ value: 2,
+ }
+ ],
+ kindList: [
+ {
+ id: "00",
+ columnName: "鍏ㄩ儴",
+ },
+ {
+ id: "01",
+ columnName: "绔欏唴淇�",
+ },
+ {
+ id: "02",
+ columnName: "閭欢",
+ },
+ {
+ id: "03",
+ columnName: "鐭俊",
+ },
+ ],
+ dialogType: "",
+ };
+ },
+ created() {
+ this.getTableData();
+ },
+ methods: {
+ // 閲嶇疆
+ handleReset() {
+ this.context = null;
+ this.currentPage = 1;
+ this.messageStatus = "鍏ㄩ儴";
+ this.getTableData();
+ },
+ // 鍒犻櫎淇℃伅
+ handleDelete(ids) {
+ this.$confirm("纭鍒犻櫎?").then(() => {
+ deleteMessage({ids: ids.join(",")})
+ .then(() => {
+ this.$message({type: "success", message: "鎿嶄綔鎴愬姛"});
+ this.getTableData();
+ })
+ .catch((err) => this.$message({type: "error", message: err}));
+ });
+ },
+
+ getTableData() {
+ const respondResult =
+ this.messageStatus === "鍏ㄩ儴" ? null : this.messageStatus;
+ getMessageList({
+ channelCode: "02",
+ current: this.currentPage,
+ respondResult,
+ pageSize: this.pageSize,
+ head: this.context,
+ })
+ .then(({records, total}) => {
+ this.tableData = records;
+ this.totalNum = total;
+ })
+ .catch((err) => {
+ this.$message({type: "error", message: err});
+ });
+ },
+
+ resend(data) {
+ if (data.status === 1) {
+ return;
+ }
+ sendMessage(data)
+ .then(() => {
+ this.$message.success("鎿嶄綔鎴愬姛");
+ this.getTableData();
+ })
+ .catch((err) => this.$message.error(`${err}`));
+ },
+
+ // 鎵归噺涓嬫媺妗嗘搷浣�
+ async selectChange(list) {
+ 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(() => {
+ this.getTableData();
+ this.$message({type: "success", message: "鎿嶄綔鎴愬姛"});
+ })
+ .catch((err) => {
+ this.$message({type: "error", message: err});
+ });
+ })
+ .catch((err) => {
+ });
+ },
+ // 琛ㄦ牸鐩戝惉
+ tableChange(list) {
+ this.tempList = [];
+ list.forEach((item) => {
+ this.tempList.push(item.id);
+ });
+ this.all = list.length === this.tableData.length;
+ },
+ // 淇敼鏃堕棿鏍煎紡
+ changeTime({updateTime}) {
+ return helper(updateTime);
+ },
+ // 鍏ㄩ��
+ 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";
+ }
+ },
+ // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠�
+ changeCurrentPage(page) {
+ this.currentPage = page;
+ this.getTableData();
+ },
+ // 纭鍏抽棴寮圭獥
+ handleConfirmClose(done) {
+ this.$confirm("纭鍏抽棴?").then(() => {
+ done();
+ });
+ },
+ // 鑷畾涔夊叧闂脊绐�
+ closeDialog() {
+ this.isShowDialog = false;
+ this.getTableData();
+ },
+ },
+};
+</script>
+<style lang="scss" scoped>
+.userList {
+ text-align: left;
+ margin: 10px 20px;
+ color: #606266;
+
+ header {
+ background-color: white;
+
+ .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;
+
+ span {
+ min-width: 120px;
+ padding-left: 15px;
+ }
+
+ .search,
+ .message-status,
+ .message-kind {
+ display: flex;
+ justify-content: flex-start;
+
+ span {
+ flex: 1;
+ }
+
+ .el-input {
+ flex: 2;
+ color: #606266;
+
+ //&::v-deep .el-input__inner {
+ // background-color: #09152f;
+ // border: 1px solid #17324c;
+ //}
+ }
+ }
+
+ .find {
+ margin-left: 15px;
+ }
+
+ .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: white;
+ margin-top: 20px;
+ padding-bottom: 50px;
+
+ .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: #606266;
+ // 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>
diff --git a/.history/src/views/operate/sms/smsIndex/index_20230104105347.vue b/.history/src/views/operate/sms/smsIndex/index_20230104105347.vue
new file mode 100644
index 0000000..ec42d5d
--- /dev/null
+++ b/.history/src/views/operate/sms/smsIndex/index_20230104105347.vue
@@ -0,0 +1,631 @@
+<template>
+ <div class="userList">
+ <header>
+ <div class="header-nav">
+ <span class="nav-left">鏁版嵁绛涢��</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="messageStatus" placeholder="璇烽�夋嫨">
+ <el-option
+ v-for="item in statusList"
+ :key="item.value"
+ :label="item.label"
+ :value="item.label"
+ >
+ </el-option>
+ </el-select>
+ </div>
+ <div class="find">
+ <el-button type="primary" icon="el-icon-search" @click="getTableData"
+ >鏌ヨ
+ </el-button
+ >
+ <el-button icon="el-icon-delete-solid" @click="handleReset"
+ >閲嶇疆
+ </el-button
+ >
+ </div>
+ </div>
+ </header>
+ <main>
+ <div class="mainContent">
+ <div class="main-nav">
+ <span>鏁版嵁鍒楄〃</span>
+ <el-button
+ class="button-addition"
+ type="primary"
+ icon="el-icon-plus"
+ @click="isShowDialog = true"
+ >娣诲姞
+ </el-button
+ >
+ </div>
+ <!-- 鏁版嵁灞曠ず -->
+ <el-table
+ ref="multipleTable"
+ :header-cell-style="{
+ // background: '#06122c',
+ 'font-size': '12px',
+ color: '#606266',
+ '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 label="ID" min-width="5" prop="id">
+ <template slot-scope="scope">{{ scope.row.id }}</template>
+ </el-table-column>
+ <el-table-column prop="head" label="鏍囬" min-width="10">
+ </el-table-column>
+ <el-table-column prop="createTime" label="鍙戦�佹椂闂�" min-width="10">
+ </el-table-column>
+ <el-table-column prop="createUser" label="鍙戦�佽处鍙�" min-width="15">
+ </el-table-column>
+ <el-table-column prop="respondResult" label="鐭俊鍥炴墽" min-width="5">
+ </el-table-column>
+ <el-table-column prop="operation" label="鎿嶄綔" min-width="15">
+ <template slot-scope="scope">
+ <div class="operation">
+ <el-link
+ class="leftPx"
+ icon="el-icon-delete-solid"
+ :underline="false"
+ @click="handleDelete([scope.row.id])"
+ >鍒犻櫎
+ </el-link
+ >
+ <el-link
+ icon="el-icon-edit"
+ class="leftPx"
+ :underline="false"
+ @click="resend(scope.row)"
+ >閲嶆柊鍙戦��
+ </el-link
+ >
+ </div>
+ </template>
+ </el-table-column>
+ </el-table>
+ <!-- 鏂板缓娑堟伅 -->
+ <el-dialog
+ title="鏂板缓娑堟伅"
+ :destroy-on-close="true"
+ :key="dialogType"
+ :visible.sync="isShowDialog"
+ width="80%"
+ :before-close="handleConfirmClose"
+ >
+ <MyCreate @closeMyDialog="closeDialog" :type="dialogType"></MyCreate>
+ </el-dialog>
+ <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"
+ >
+ </el-pagination>
+ </div>
+ </div>
+ </div>
+ </main>
+ </div>
+</template>
+<script>
+import helper from "@/utils/mydate";
+import MyCreate from "./createSms";
+import {
+ getMessageList,
+ deleteMessage,
+ sendMessage,
+} from "@/api/operate/messageManagement";
+
+export default {
+ components: {
+ MyCreate,
+ },
+ data() {
+ return {
+ tableData: [],
+ context: null,
+ isShowDialog: 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: [],
+ messageStatus: "鍏ㄩ儴",
+ messageKind: "00",
+ statusList: [
+ {
+ label: "鍙戦�佸け璐�",
+ value: 3,
+ },
+ {
+ label: "鍙戦�佹垚鍔�",
+ value: 2,
+ }
+ ],
+ kindList: [
+ {
+ id: "00",
+ columnName: "鍏ㄩ儴",
+ },
+ {
+ id: "01",
+ columnName: "绔欏唴淇�",
+ },
+ {
+ id: "02",
+ columnName: "閭欢",
+ },
+ {
+ id: "03",
+ columnName: "鐭俊",
+ },
+ ],
+ dialogType: "",
+ };
+ },
+ created() {
+ this.getTableData();
+ },
+ methods: {
+ // 閲嶇疆
+ handleReset() {
+ this.context = null;
+ this.currentPage = 1;
+ this.messageStatus = "鍏ㄩ儴";
+ this.getTableData();
+ },
+ // 鍒犻櫎淇℃伅
+ handleDelete(ids) {
+ this.$confirm("纭鍒犻櫎?").then(() => {
+ deleteMessage({ids: ids.join(",")})
+ .then(() => {
+ this.$message({type: "success", message: "鎿嶄綔鎴愬姛"});
+ this.getTableData();
+ })
+ .catch((err) => this.$message({type: "error", message: err}));
+ });
+ },
+
+ getTableData() {
+ const respondResult =
+ this.messageStatus === "鍏ㄩ儴" ? null : this.messageStatus;
+ getMessageList({
+ channelCode: "02",
+ current: this.currentPage,
+ respondResult,
+ pageSize: this.pageSize,
+ head: this.context,
+ })
+ .then(({records, total}) => {
+ this.tableData = records;
+ this.totalNum = total;
+ })
+ .catch((err) => {
+ this.$message({type: "error", message: err});
+ });
+ },
+
+ resend(data) {
+ if (data.status === 1) {
+ return;
+ }
+ sendMessage(data)
+ .then(() => {
+ this.$message.success("鎿嶄綔鎴愬姛");
+ this.getTableData();
+ })
+ .catch((err) => this.$message.error(`${err}`));
+ },
+
+ // 鎵归噺涓嬫媺妗嗘搷浣�
+ async selectChange(list) {
+ 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(() => {
+ this.getTableData();
+ this.$message({type: "success", message: "鎿嶄綔鎴愬姛"});
+ })
+ .catch((err) => {
+ this.$message({type: "error", message: err});
+ });
+ })
+ .catch((err) => {
+ });
+ },
+ // 琛ㄦ牸鐩戝惉
+ tableChange(list) {
+ this.tempList = [];
+ list.forEach((item) => {
+ this.tempList.push(item.id);
+ });
+ this.all = list.length === this.tableData.length;
+ },
+ // 淇敼鏃堕棿鏍煎紡
+ changeTime({updateTime}) {
+ return helper(updateTime);
+ },
+ // 鍏ㄩ��
+ 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";
+ }
+ },
+ // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠�
+ changeCurrentPage(page) {
+ this.currentPage = page;
+ this.getTableData();
+ },
+ // 纭鍏抽棴寮圭獥
+ handleConfirmClose(done) {
+ this.$confirm("纭鍏抽棴?").then(() => {
+ done();
+ });
+ },
+ // 鑷畾涔夊叧闂脊绐�
+ closeDialog() {
+ this.isShowDialog = false;
+ this.getTableData();
+ },
+ },
+};
+</script>
+<style lang="scss" scoped>
+.userList {
+ text-align: left;
+ margin: 10px 20px;
+ color: #606266;
+
+ header {
+ background-color: white;
+
+ .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;
+
+ span {
+ min-width: 120px;
+ padding-left: 15px;
+ }
+
+ .search,
+ .message-status,
+ .message-kind {
+ display: flex;
+ justify-content: flex-start;
+
+ span {
+ flex: 1;
+ }
+
+ .el-input {
+ flex: 2;
+ color: #606266;
+
+ //&::v-deep .el-input__inner {
+ // background-color: #09152f;
+ // border: 1px solid #17324c;
+ //}
+ }
+ }
+
+ .find {
+ margin-left: 15px;
+ }
+
+ .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: white;
+ margin-top: 20px;
+ padding-bottom: 50px;
+
+ .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: #606266;
+ // 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>
diff --git a/.history/src/views/operate/sms/smsIndex/index_20230104105428.vue b/.history/src/views/operate/sms/smsIndex/index_20230104105428.vue
new file mode 100644
index 0000000..4566bd1
--- /dev/null
+++ b/.history/src/views/operate/sms/smsIndex/index_20230104105428.vue
@@ -0,0 +1,631 @@
+<template>
+ <div class="userList">
+ <header>
+ <div class="header-nav">
+ <span class="nav-left">鏁版嵁绛涢��</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="messageStatus" placeholder="璇烽�夋嫨">
+ <el-option
+ v-for="item in statusList"
+ :key="item.value"
+ :label="item.label"
+ :value="item.label"
+ >
+ </el-option>
+ </el-select>
+ </div>
+ <div class="find">
+ <el-button type="primary" icon="el-icon-search" @click="getTableData"
+ >鏌ヨ
+ </el-button
+ >
+ <el-button icon="el-icon-delete-solid" @click="handleReset"
+ >閲嶇疆
+ </el-button
+ >
+ </div>
+ </div>
+ </header>
+ <main>
+ <div class="mainContent">
+ <div class="main-nav">
+ <span>鏁版嵁鍒楄〃</span>
+ <el-button
+ class="button-addition"
+ type="primary"
+ icon="el-icon-plus"
+ @click="isShowDialog = true"
+ >娣诲姞
+ </el-button
+ >
+ </div>
+ <!-- 鏁版嵁灞曠ず -->
+ <el-table
+ ref="multipleTable"
+ :header-cell-style="{
+ // background: '#06122c',
+ 'font-size': '12px',
+ color: '#606266',
+ '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 label="ID" min-width="5" prop="id">
+ <template slot-scope="scope">{{ scope.row.id }}</template>
+ </el-table-column>
+ <el-table-column prop="head" label="鏍囬" min-width="10">
+ </el-table-column>
+ <el-table-column prop="createTime" label="鍙戦�佹椂闂�" min-width="10">
+ </el-table-column>
+ <el-table-column prop="createUser" label="鍙戦�佽处鍙�" min-width="15">
+ </el-table-column>
+ <el-table-column prop="respondResult" label="鐭俊鍥炴墽" min-width="5">
+ </el-table-column>
+ <el-table-column prop="operation" label="鎿嶄綔" min-width="15">
+ <template slot-scope="scope">
+ <div class="operation">
+ <el-link
+ class="leftPx"
+ icon="el-icon-delete-solid"
+ :underline="false"
+ @click="handleDelete([scope.row.id])"
+ >鍒犻櫎
+ </el-link
+ >
+ <el-link
+ icon="el-icon-edit"
+ class="leftPx"
+ :underline="false"
+ @click="resend(scope.row)"
+ >閲嶆柊鍙戦��
+ </el-link
+ >
+ </div>
+ </template>
+ </el-table-column>
+ </el-table>
+ <!-- 鏂板缓娑堟伅 -->
+ <el-dialog
+ title="鏂板缓娑堟伅"
+ :destroy-on-close="true"
+ :key="dialogType"
+ :visible.sync="isShowDialog"
+ width="80%"
+ :before-close="handleConfirmClose"
+ >
+ <MyCreate @closeMyDialog="closeDialog" :type="dialogType"></MyCreate>
+ </el-dialog>
+ <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"
+ >
+ </el-pagination>
+ </div>
+ </div>
+ </div>
+ </main>
+ </div>
+</template>
+<script>
+import helper from "@/utils/mydate";
+import MyCreate from "./createSms";
+import {
+ getMessageList,
+ deleteMessage,
+ sendMessage,
+} from "@/api/operate/messageManagement";
+
+export default {
+ components: {
+ MyCreate,
+ },
+ data() {
+ return {
+ tableData: [],
+ context: null,
+ isShowDialog: 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: [],
+ messageStatus: "鍏ㄩ儴",
+ messageKind: "00",
+ statusList: [
+ {
+ label: "鍙戦�佸け璐�",
+ value: 3,
+ },
+ {
+ label: "鍙戦�佹垚鍔�",
+ value: 2,
+ }
+ ],
+ kindList: [
+ {
+ id: "00",
+ columnName: "鍏ㄩ儴",
+ },
+ {
+ id: "01",
+ columnName: "绔欏唴淇�",
+ },
+ {
+ id: "02",
+ columnName: "閭欢",
+ },
+ {
+ id: "03",
+ columnName: "鐭俊",
+ },
+ ],
+ dialogType: "",
+ };
+ },
+ created() {
+ this.getTableData();
+ },
+ methods: {
+ // 閲嶇疆
+ handleReset() {
+ this.context = null;
+ this.currentPage = 1;
+ this.messageStatus = "鍏ㄩ儴";
+ this.getTableData();
+ },
+ // 鍒犻櫎淇℃伅
+ handleDelete(ids) {
+ this.$confirm("纭鍒犻櫎?").then(() => {
+ deleteMessage({ids: ids.join(",")})
+ .then(() => {
+ this.$message({type: "success", message: "鎿嶄綔鎴愬姛"});
+ this.getTableData();
+ })
+ .catch((err) => this.$message({type: "error", message: err}));
+ });
+ },
+
+ getTableData() {
+ const respondResult =
+ this.messageStatus === "鍏ㄩ儴" ? null : this.messageStatus;
+ getMessageList({
+ channelCode: "02",
+ current: this.currentPage,
+ respondResult,
+ pageSize: this.pageSize,
+ head: this.context,
+ })
+ .then(({records, total}) => {
+ this.tableData = records;
+ this.totalNum = total;
+ })
+ .catch((err) => {
+ this.$message({type: "error", message: err});
+ });
+ },
+
+ resend(data) {
+ if (data.status === 1) {
+ return;
+ }
+ sendMessage(data)
+ .then(() => {
+ this.$message.success("鎿嶄綔鎴愬姛");
+ this.getTableData();
+ })
+ .catch((err) => this.$message.error(`${err}`));
+ },
+
+ // 鎵归噺涓嬫媺妗嗘搷浣�
+ async selectChange(list) {
+ 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(() => {
+ this.getTableData();
+ this.$message({type: "success", message: "鎿嶄綔鎴愬姛"});
+ })
+ .catch((err) => {
+ this.$message({type: "error", message: err});
+ });
+ })
+ .catch((err) => {
+ });
+ },
+ // 琛ㄦ牸鐩戝惉
+ tableChange(list) {
+ this.tempList = [];
+ list.forEach((item) => {
+ this.tempList.push(item.id);
+ });
+ this.all = list.length === this.tableData.length;
+ },
+ // 淇敼鏃堕棿鏍煎紡
+ changeTime({updateTime}) {
+ return helper(updateTime);
+ },
+ // 鍏ㄩ��
+ 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";
+ }
+ },
+ // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠�
+ changeCurrentPage(page) {
+ this.currentPage = page;
+ this.getTableData();
+ },
+ // 纭鍏抽棴寮圭獥
+ handleConfirmClose(done) {
+ this.$confirm("纭鍏抽棴?").then(() => {
+ done();
+ });
+ },
+ // 鑷畾涔夊叧闂脊绐�
+ closeDialog() {
+ this.isShowDialog = false;
+ this.getTableData();
+ },
+ },
+};
+</script>
+<style lang="scss" scoped>
+.userList {
+ text-align: left;
+ margin: 10px 20px;
+ color: #606266;
+
+ header {
+ background-color: white;
+
+ .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;
+
+ span {
+ min-width: 120px;
+ padding-left: 15px;
+ }
+
+ .search,
+ .message-status,
+ .message-kind {
+ display: flex;
+ justify-content: flex-start;
+
+ span {
+ flex: 1;
+ }
+
+ .el-input {
+ flex: 2;
+ color: #606266;
+
+ //&::v-deep .el-input__inner {
+ // background-color: #09152f;
+ // border: 1px solid #17324c;
+ //}
+ }
+ }
+
+ .find {
+ margin-left: 15px;
+ }
+
+ .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: white;
+ margin-top: 20px;
+ padding-bottom: 50px;
+
+ .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: #606266;
+ // 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>
diff --git a/.history/src/views/operate/sms/smsIndex/index_20230104110238.vue b/.history/src/views/operate/sms/smsIndex/index_20230104110238.vue
new file mode 100644
index 0000000..c3c9330
--- /dev/null
+++ b/.history/src/views/operate/sms/smsIndex/index_20230104110238.vue
@@ -0,0 +1,633 @@
+<template>
+ <div class="userList">
+ <header>
+ <div class="header-nav">
+ <span class="nav-left">鏁版嵁绛涢��</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="messageStatus" placeholder="璇烽�夋嫨">
+ <el-option
+ v-for="item in statusList"
+ :key="item.value"
+ :label="item.label"
+ :value="item.label"
+ >
+ </el-option>
+ </el-select>
+ </div>
+ <div class="find">
+ <el-button type="primary" icon="el-icon-search" @click="getTableData"
+ >鏌ヨ
+ </el-button
+ >
+ <el-button icon="el-icon-delete-solid" @click="handleReset"
+ >閲嶇疆
+ </el-button
+ >
+ </div>
+ </div>
+ </header>
+ <main>
+ <div class="mainContent">
+ <div class="main-nav">
+ <span>鏁版嵁鍒楄〃</span>
+ <el-button
+ class="button-addition"
+ type="primary"
+ icon="el-icon-plus"
+ @click="isShowDialog = true"
+ >娣诲姞
+ </el-button
+ >
+ </div>
+ <!-- 鏁版嵁灞曠ず -->
+ <el-table
+ ref="multipleTable"
+ :header-cell-style="{
+ // background: '#06122c',
+ 'font-size': '12px',
+ color: '#606266',
+ '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 label="ID" min-width="5" prop="id">
+ <template slot-scope="scope">{{ scope.row.id }}</template>
+ </el-table-column>
+ <el-table-column prop="head" label="鏍囬" min-width="10">
+ </el-table-column>
+ <el-table-column prop="createTime" label="鍙戦�佹椂闂�" min-width="10">
+ </el-table-column>
+ <el-table-column prop="createUser" label="鍙戦�佽处鍙�" min-width="15">
+ </el-table-column>
+ <el-table-column prop="respondResult" label="鐭俊鍥炴墽" min-width="5">
+ </el-table-column>
+ <el-table-column prop="operation" label="鎿嶄綔" min-width="15">
+ <template slot-scope="scope">
+ <div class="operation">
+ <el-link
+ class="leftPx"
+ icon="el-icon-delete-solid"
+ :underline="false"
+ @click="handleDelete([scope.row.id])"
+ >鍒犻櫎
+ </el-link
+ >
+ <el-link
+ icon="el-icon-edit"
+ class="leftPx"
+ :underline="false"
+ @click="resend(scope.row)"
+ >閲嶆柊鍙戦��
+ </el-link
+ >
+ </div>
+ </template>
+ </el-table-column>
+ </el-table>
+ <!-- 鏂板缓娑堟伅 -->
+ <el-dialog
+ title="鏂板缓娑堟伅"
+ :destroy-on-close="true"
+ :key="dialogType"
+ :visible.sync="isShowDialog"
+ width="80%"
+ :before-close="handleConfirmClose"
+ >
+ <MyCreate @closeMyDialog="closeDialog" :type="dialogType"></MyCreate>
+ </el-dialog>
+ <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"
+ >
+ </el-pagination>
+ </div>
+ </div>
+ </div>
+ </main>
+ </div>
+</template>
+<script>
+import helper from "@/utils/mydate";
+import MyCreate from "./createSms";
+import {
+ getMessageList,
+ deleteMessage,
+ sendMessage,
+} from "@/api/operate/messageManagement";
+
+export default {
+ components: {
+ MyCreate,
+ },
+ data() {
+ return {
+ tableData: [],
+ context: null,
+ isShowDialog: 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: [],
+ messageStatus: "鍏ㄩ儴",
+ messageKind: "00",
+ statusList: [
+ {
+ label: "鍙戦�佸け璐�",
+ value: 3,
+ },
+ {
+ label: "鍙戦�佹垚鍔�",
+ value: 2,
+ }
+ ],
+ kindList: [
+ {
+ id: "00",
+ columnName: "鍏ㄩ儴",
+ },
+ {
+ id: "01",
+ columnName: "绔欏唴淇�",
+ },
+ {
+ id: "02",
+ columnName: "閭欢",
+ },
+ {
+ id: "03",
+ columnName: "鐭俊",
+ },
+ ],
+ dialogType: "",
+ };
+ },
+ created() {
+ this.getTableData();
+ },
+ methods: {
+ // 閲嶇疆
+ handleReset() {
+ this.context = null;
+ this.currentPage = 1;
+ this.messageStatus = "鍏ㄩ儴";
+ this.getTableData();
+ },
+ // 鍒犻櫎淇℃伅
+ handleDelete(ids) {
+ this.$confirm("纭鍒犻櫎?").then(() => {
+ deleteMessage({ids: ids.join(",")})
+ .then(() => {
+ this.$message({type: "success", message: "鎿嶄綔鎴愬姛"});
+ this.getTableData();
+ })
+ .catch((err) => this.$message({type: "error", message: err}));
+ });
+ },
+
+ getTableData() {
+ const respondResult =
+ this.messageStatus === "鍏ㄩ儴" ? null : this.messageStatus;
+ getMessageList({
+ channelCode: "02",
+ current: this.currentPage,
+ respondResult,
+ pageSize: this.pageSize,
+ head: this.context,
+ })
+ .then(({records, total}) => {
+ this.tableData = records;
+ this.totalNum = total;
+ })
+ .catch((err) => {
+ this.$message({type: "error", message: err});
+ });
+ },
+
+ resend(data) {
+ if (data.status === 2) {
+ return;
+ }
+ data.createTime='',
+ data.sendTime='',
+ sendMessage(data)
+ .then(() => {
+ this.$message.success("鎿嶄綔鎴愬姛");
+ this.getTableData();
+ })
+ .catch((err) => this.$message.error(`${err}`));
+ },
+
+ // 鎵归噺涓嬫媺妗嗘搷浣�
+ async selectChange(list) {
+ 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(() => {
+ this.getTableData();
+ this.$message({type: "success", message: "鎿嶄綔鎴愬姛"});
+ })
+ .catch((err) => {
+ this.$message({type: "error", message: err});
+ });
+ })
+ .catch((err) => {
+ });
+ },
+ // 琛ㄦ牸鐩戝惉
+ tableChange(list) {
+ this.tempList = [];
+ list.forEach((item) => {
+ this.tempList.push(item.id);
+ });
+ this.all = list.length === this.tableData.length;
+ },
+ // 淇敼鏃堕棿鏍煎紡
+ changeTime({updateTime}) {
+ return helper(updateTime);
+ },
+ // 鍏ㄩ��
+ 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";
+ }
+ },
+ // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠�
+ changeCurrentPage(page) {
+ this.currentPage = page;
+ this.getTableData();
+ },
+ // 纭鍏抽棴寮圭獥
+ handleConfirmClose(done) {
+ this.$confirm("纭鍏抽棴?").then(() => {
+ done();
+ });
+ },
+ // 鑷畾涔夊叧闂脊绐�
+ closeDialog() {
+ this.isShowDialog = false;
+ this.getTableData();
+ },
+ },
+};
+</script>
+<style lang="scss" scoped>
+.userList {
+ text-align: left;
+ margin: 10px 20px;
+ color: #606266;
+
+ header {
+ background-color: white;
+
+ .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;
+
+ span {
+ min-width: 120px;
+ padding-left: 15px;
+ }
+
+ .search,
+ .message-status,
+ .message-kind {
+ display: flex;
+ justify-content: flex-start;
+
+ span {
+ flex: 1;
+ }
+
+ .el-input {
+ flex: 2;
+ color: #606266;
+
+ //&::v-deep .el-input__inner {
+ // background-color: #09152f;
+ // border: 1px solid #17324c;
+ //}
+ }
+ }
+
+ .find {
+ margin-left: 15px;
+ }
+
+ .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: white;
+ margin-top: 20px;
+ padding-bottom: 50px;
+
+ .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: #606266;
+ // 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>
diff --git a/.history/src/views/operate/sms/smsIndex/index_20230104110359.vue b/.history/src/views/operate/sms/smsIndex/index_20230104110359.vue
new file mode 100644
index 0000000..28c4d71
--- /dev/null
+++ b/.history/src/views/operate/sms/smsIndex/index_20230104110359.vue
@@ -0,0 +1,634 @@
+<template>
+ <div class="userList">
+ <header>
+ <div class="header-nav">
+ <span class="nav-left">鏁版嵁绛涢��</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="messageStatus" placeholder="璇烽�夋嫨">
+ <el-option
+ v-for="item in statusList"
+ :key="item.value"
+ :label="item.label"
+ :value="item.label"
+ >
+ </el-option>
+ </el-select>
+ </div>
+ <div class="find">
+ <el-button type="primary" icon="el-icon-search" @click="getTableData"
+ >鏌ヨ
+ </el-button
+ >
+ <el-button icon="el-icon-delete-solid" @click="handleReset"
+ >閲嶇疆
+ </el-button
+ >
+ </div>
+ </div>
+ </header>
+ <main>
+ <div class="mainContent">
+ <div class="main-nav">
+ <span>鏁版嵁鍒楄〃</span>
+ <el-button
+ class="button-addition"
+ type="primary"
+ icon="el-icon-plus"
+ @click="isShowDialog = true"
+ >娣诲姞
+ </el-button
+ >
+ </div>
+ <!-- 鏁版嵁灞曠ず -->
+ <el-table
+ ref="multipleTable"
+ :header-cell-style="{
+ // background: '#06122c',
+ 'font-size': '12px',
+ color: '#606266',
+ '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 label="ID" min-width="5" prop="id">
+ <template slot-scope="scope">{{ scope.row.id }}</template>
+ </el-table-column>
+ <el-table-column prop="head" label="鏍囬" min-width="10">
+ </el-table-column>
+ <el-table-column prop="createTime" label="鍙戦�佹椂闂�" min-width="10">
+ </el-table-column>
+ <el-table-column prop="createUser" label="鍙戦�佽处鍙�" min-width="15">
+ </el-table-column>
+ <el-table-column prop="respondResult" label="鐭俊鍥炴墽" min-width="5">
+ </el-table-column>
+ <el-table-column prop="operation" label="鎿嶄綔" min-width="15">
+ <template slot-scope="scope">
+ <div class="operation">
+ <el-link
+ class="leftPx"
+ icon="el-icon-delete-solid"
+ :underline="false"
+ @click="handleDelete([scope.row.id])"
+ >鍒犻櫎
+ </el-link
+ >
+ <el-link
+ icon="el-icon-edit"
+ class="leftPx"
+ :underline="false"
+ @click="resend(scope.row)"
+ >閲嶆柊鍙戦��
+ </el-link
+ >
+ </div>
+ </template>
+ </el-table-column>
+ </el-table>
+ <!-- 鏂板缓娑堟伅 -->
+ <el-dialog
+ title="鏂板缓娑堟伅"
+ :destroy-on-close="true"
+ :key="dialogType"
+ :visible.sync="isShowDialog"
+ width="80%"
+ :before-close="handleConfirmClose"
+ >
+ <MyCreate @closeMyDialog="closeDialog" :type="dialogType"></MyCreate>
+ </el-dialog>
+ <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"
+ >
+ </el-pagination>
+ </div>
+ </div>
+ </div>
+ </main>
+ </div>
+</template>
+<script>
+import helper from "@/utils/mydate";
+import MyCreate from "./createSms";
+import {
+ getMessageList,
+ deleteMessage,
+ sendMessage,
+} from "@/api/operate/messageManagement";
+
+export default {
+ components: {
+ MyCreate,
+ },
+ data() {
+ return {
+ tableData: [],
+ context: null,
+ isShowDialog: 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: [],
+ messageStatus: "鍏ㄩ儴",
+ messageKind: "00",
+ statusList: [
+ {
+ label: "鍙戦�佸け璐�",
+ value: 3,
+ },
+ {
+ label: "鍙戦�佹垚鍔�",
+ value: 2,
+ }
+ ],
+ kindList: [
+ {
+ id: "00",
+ columnName: "鍏ㄩ儴",
+ },
+ {
+ id: "01",
+ columnName: "绔欏唴淇�",
+ },
+ {
+ id: "02",
+ columnName: "閭欢",
+ },
+ {
+ id: "03",
+ columnName: "鐭俊",
+ },
+ ],
+ dialogType: "",
+ };
+ },
+ created() {
+ this.getTableData();
+ },
+ methods: {
+ // 閲嶇疆
+ handleReset() {
+ this.context = null;
+ this.currentPage = 1;
+ this.messageStatus = "鍏ㄩ儴";
+ this.getTableData();
+ },
+ // 鍒犻櫎淇℃伅
+ handleDelete(ids) {
+ this.$confirm("纭鍒犻櫎?").then(() => {
+ deleteMessage({ids: ids.join(",")})
+ .then(() => {
+ this.$message({type: "success", message: "鎿嶄綔鎴愬姛"});
+ this.getTableData();
+ })
+ .catch((err) => this.$message({type: "error", message: err}));
+ });
+ },
+
+ getTableData() {
+ const respondResult =
+ this.messageStatus === "鍏ㄩ儴" ? null : this.messageStatus;
+ getMessageList({
+ channelCode: "02",
+ current: this.currentPage,
+ respondResult,
+ pageSize: this.pageSize,
+ head: this.context,
+ })
+ .then(({records, total}) => {
+ this.tableData = records;
+ this.totalNum = total;
+ })
+ .catch((err) => {
+ this.$message({type: "error", message: err});
+ });
+ },
+
+ resend(data) {
+ if (data.status === 2) {
+ return;
+ }
+ data.createTime='',
+ data.sendTime='',
+ data.createUser=null,
+ sendMessage(data)
+ .then(() => {
+ this.$message.success("鎿嶄綔鎴愬姛");
+ this.getTableData();
+ })
+ .catch((err) => this.$message.error(`${err}`));
+ },
+
+ // 鎵归噺涓嬫媺妗嗘搷浣�
+ async selectChange(list) {
+ 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(() => {
+ this.getTableData();
+ this.$message({type: "success", message: "鎿嶄綔鎴愬姛"});
+ })
+ .catch((err) => {
+ this.$message({type: "error", message: err});
+ });
+ })
+ .catch((err) => {
+ });
+ },
+ // 琛ㄦ牸鐩戝惉
+ tableChange(list) {
+ this.tempList = [];
+ list.forEach((item) => {
+ this.tempList.push(item.id);
+ });
+ this.all = list.length === this.tableData.length;
+ },
+ // 淇敼鏃堕棿鏍煎紡
+ changeTime({updateTime}) {
+ return helper(updateTime);
+ },
+ // 鍏ㄩ��
+ 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";
+ }
+ },
+ // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠�
+ changeCurrentPage(page) {
+ this.currentPage = page;
+ this.getTableData();
+ },
+ // 纭鍏抽棴寮圭獥
+ handleConfirmClose(done) {
+ this.$confirm("纭鍏抽棴?").then(() => {
+ done();
+ });
+ },
+ // 鑷畾涔夊叧闂脊绐�
+ closeDialog() {
+ this.isShowDialog = false;
+ this.getTableData();
+ },
+ },
+};
+</script>
+<style lang="scss" scoped>
+.userList {
+ text-align: left;
+ margin: 10px 20px;
+ color: #606266;
+
+ header {
+ background-color: white;
+
+ .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;
+
+ span {
+ min-width: 120px;
+ padding-left: 15px;
+ }
+
+ .search,
+ .message-status,
+ .message-kind {
+ display: flex;
+ justify-content: flex-start;
+
+ span {
+ flex: 1;
+ }
+
+ .el-input {
+ flex: 2;
+ color: #606266;
+
+ //&::v-deep .el-input__inner {
+ // background-color: #09152f;
+ // border: 1px solid #17324c;
+ //}
+ }
+ }
+
+ .find {
+ margin-left: 15px;
+ }
+
+ .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: white;
+ margin-top: 20px;
+ padding-bottom: 50px;
+
+ .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: #606266;
+ // 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>
diff --git a/.history/src/views/operate/sms/smsIndex/index_20230104111808.vue b/.history/src/views/operate/sms/smsIndex/index_20230104111808.vue
new file mode 100644
index 0000000..f0ddc49
--- /dev/null
+++ b/.history/src/views/operate/sms/smsIndex/index_20230104111808.vue
@@ -0,0 +1,634 @@
+<template>
+ <div class="userList">
+ <header>
+ <div class="header-nav">
+ <span class="nav-left">鏁版嵁绛涢��</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="messageStatus" placeholder="璇烽�夋嫨">
+ <el-option
+ v-for="item in statusList"
+ :key="item.value"
+ :label="item.label"
+ :value="item.label"
+ >
+ </el-option>
+ </el-select>
+ </div>
+ <div class="find">
+ <el-button type="primary" icon="el-icon-search" @click="getTableData"
+ >鏌ヨ
+ </el-button
+ >
+ <el-button icon="el-icon-delete-solid" @click="handleReset"
+ >閲嶇疆
+ </el-button
+ >
+ </div>
+ </div>
+ </header>
+ <main>
+ <div class="mainContent">
+ <div class="main-nav">
+ <span>鏁版嵁鍒楄〃</span>
+ <el-button
+ class="button-addition"
+ type="primary"
+ icon="el-icon-plus"
+ @click="isShowDialog = true"
+ >娣诲姞
+ </el-button
+ >
+ </div>
+ <!-- 鏁版嵁灞曠ず -->
+ <el-table
+ ref="multipleTable"
+ :header-cell-style="{
+ // background: '#06122c',
+ 'font-size': '12px',
+ color: '#606266',
+ '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 label="ID" min-width="5" prop="id">
+ <template slot-scope="scope">{{ scope.row.id }}</template>
+ </el-table-column>
+ <el-table-column prop="head" label="鏍囬" min-width="10">
+ </el-table-column>
+ <el-table-column prop="createTime" label="鍙戦�佹椂闂�" min-width="10">
+ </el-table-column>
+ <el-table-column prop="targetFrom" label="鍙戦�佽处鍙�" min-width="15">
+ </el-table-column>
+ <el-table-column prop="respondResult" label="鐭俊鍥炴墽" min-width="5">
+ </el-table-column>
+ <el-table-column prop="operation" label="鎿嶄綔" min-width="15">
+ <template slot-scope="scope">
+ <div class="operation">
+ <el-link
+ class="leftPx"
+ icon="el-icon-delete-solid"
+ :underline="false"
+ @click="handleDelete([scope.row.id])"
+ >鍒犻櫎
+ </el-link
+ >
+ <el-link
+ icon="el-icon-edit"
+ class="leftPx"
+ :underline="false"
+ @click="resend(scope.row)"
+ >閲嶆柊鍙戦��
+ </el-link
+ >
+ </div>
+ </template>
+ </el-table-column>
+ </el-table>
+ <!-- 鏂板缓娑堟伅 -->
+ <el-dialog
+ title="鏂板缓娑堟伅"
+ :destroy-on-close="true"
+ :key="dialogType"
+ :visible.sync="isShowDialog"
+ width="80%"
+ :before-close="handleConfirmClose"
+ >
+ <MyCreate @closeMyDialog="closeDialog" :type="dialogType"></MyCreate>
+ </el-dialog>
+ <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"
+ >
+ </el-pagination>
+ </div>
+ </div>
+ </div>
+ </main>
+ </div>
+</template>
+<script>
+import helper from "@/utils/mydate";
+import MyCreate from "./createSms";
+import {
+ getMessageList,
+ deleteMessage,
+ sendMessage,
+} from "@/api/operate/messageManagement";
+
+export default {
+ components: {
+ MyCreate,
+ },
+ data() {
+ return {
+ tableData: [],
+ context: null,
+ isShowDialog: 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: [],
+ messageStatus: "鍏ㄩ儴",
+ messageKind: "00",
+ statusList: [
+ {
+ label: "鍙戦�佸け璐�",
+ value: 3,
+ },
+ {
+ label: "鍙戦�佹垚鍔�",
+ value: 2,
+ }
+ ],
+ kindList: [
+ {
+ id: "00",
+ columnName: "鍏ㄩ儴",
+ },
+ {
+ id: "01",
+ columnName: "绔欏唴淇�",
+ },
+ {
+ id: "02",
+ columnName: "閭欢",
+ },
+ {
+ id: "03",
+ columnName: "鐭俊",
+ },
+ ],
+ dialogType: "",
+ };
+ },
+ created() {
+ this.getTableData();
+ },
+ methods: {
+ // 閲嶇疆
+ handleReset() {
+ this.context = null;
+ this.currentPage = 1;
+ this.messageStatus = "鍏ㄩ儴";
+ this.getTableData();
+ },
+ // 鍒犻櫎淇℃伅
+ handleDelete(ids) {
+ this.$confirm("纭鍒犻櫎?").then(() => {
+ deleteMessage({ids: ids.join(",")})
+ .then(() => {
+ this.$message({type: "success", message: "鎿嶄綔鎴愬姛"});
+ this.getTableData();
+ })
+ .catch((err) => this.$message({type: "error", message: err}));
+ });
+ },
+
+ getTableData() {
+ const respondResult =
+ this.messageStatus === "鍏ㄩ儴" ? null : this.messageStatus;
+ getMessageList({
+ channelCode: "02",
+ current: this.currentPage,
+ respondResult,
+ pageSize: this.pageSize,
+ head: this.context,
+ })
+ .then(({records, total}) => {
+ this.tableData = records;
+ this.totalNum = total;
+ })
+ .catch((err) => {
+ this.$message({type: "error", message: err});
+ });
+ },
+
+ resend(data) {
+ if (data.status === 2) {
+ return;
+ }
+ data.createTime='',
+ data.sendTime='',
+ data.createUser=null,
+ sendMessage(data)
+ .then(() => {
+ this.$message.success("鎿嶄綔鎴愬姛");
+ this.getTableData();
+ })
+ .catch((err) => this.$message.error(`${err}`));
+ },
+
+ // 鎵归噺涓嬫媺妗嗘搷浣�
+ async selectChange(list) {
+ 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(() => {
+ this.getTableData();
+ this.$message({type: "success", message: "鎿嶄綔鎴愬姛"});
+ })
+ .catch((err) => {
+ this.$message({type: "error", message: err});
+ });
+ })
+ .catch((err) => {
+ });
+ },
+ // 琛ㄦ牸鐩戝惉
+ tableChange(list) {
+ this.tempList = [];
+ list.forEach((item) => {
+ this.tempList.push(item.id);
+ });
+ this.all = list.length === this.tableData.length;
+ },
+ // 淇敼鏃堕棿鏍煎紡
+ changeTime({updateTime}) {
+ return helper(updateTime);
+ },
+ // 鍏ㄩ��
+ 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";
+ }
+ },
+ // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠�
+ changeCurrentPage(page) {
+ this.currentPage = page;
+ this.getTableData();
+ },
+ // 纭鍏抽棴寮圭獥
+ handleConfirmClose(done) {
+ this.$confirm("纭鍏抽棴?").then(() => {
+ done();
+ });
+ },
+ // 鑷畾涔夊叧闂脊绐�
+ closeDialog() {
+ this.isShowDialog = false;
+ this.getTableData();
+ },
+ },
+};
+</script>
+<style lang="scss" scoped>
+.userList {
+ text-align: left;
+ margin: 10px 20px;
+ color: #606266;
+
+ header {
+ background-color: white;
+
+ .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;
+
+ span {
+ min-width: 120px;
+ padding-left: 15px;
+ }
+
+ .search,
+ .message-status,
+ .message-kind {
+ display: flex;
+ justify-content: flex-start;
+
+ span {
+ flex: 1;
+ }
+
+ .el-input {
+ flex: 2;
+ color: #606266;
+
+ //&::v-deep .el-input__inner {
+ // background-color: #09152f;
+ // border: 1px solid #17324c;
+ //}
+ }
+ }
+
+ .find {
+ margin-left: 15px;
+ }
+
+ .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: white;
+ margin-top: 20px;
+ padding-bottom: 50px;
+
+ .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: #606266;
+ // 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>
diff --git a/.history/vue.config_20230104105558.js b/.history/vue.config_20230104105558.js
new file mode 100644
index 0000000..f3a4d14
--- /dev/null
+++ b/.history/vue.config_20230104105558.js
@@ -0,0 +1,130 @@
+// const { defineConfig } = require('@vue/cli-service')
+// module.exports = defineConfig({
+// transpileDependencies: true
+// })
+const path = require('path')
+
+function resolve(dir) {
+ return path.join(__dirname, dir)
+}
+
+const CompressionPlugin = require('compression-webpack-plugin')
+
+const name = process.env.VUE_APP_TITLE || '閬傛槍鎵ф硶骞冲彴' // 缃戦〉鏍囬
+
+const port = process.env.port || process.env.npm_config_port || 80 // 绔彛
+
+module.exports = {
+ // 閮ㄧ讲鐢熶骇鐜鍜屽紑鍙戠幆澧冧笅鐨刄RL銆�
+ // 榛樿鎯呭喌涓嬶紝Vue CLI 浼氬亣璁句綘鐨勫簲鐢ㄦ槸琚儴缃插湪涓�涓煙鍚嶇殑鏍硅矾寰勪笂
+ // 渚嬪 https://www.ruoyi.vip/銆傚鏋滃簲鐢ㄨ閮ㄧ讲鍦ㄤ竴涓瓙璺緞涓婏紝浣犲氨闇�瑕佺敤杩欎釜閫夐」鎸囧畾杩欎釜瀛愯矾寰勩�備緥濡傦紝濡傛灉浣犵殑搴旂敤琚儴缃插湪 https://www.ruoyi.vip/admin/锛屽垯璁剧疆 baseUrl 涓� /admin/銆�
+ publicPath: process.env.NODE_ENV === "production" ? "/" : "/",
+ // 鍦╪pm run build 鎴� yarn build 鏃� 锛岀敓鎴愭枃浠剁殑鐩綍鍚嶇О锛堣鍜宐aseUrl鐨勭敓浜х幆澧冭矾寰勪竴鑷达級锛堥粯璁ist锛�
+ outputDir: 'dist',
+ // 鐢ㄤ簬鏀剧疆鐢熸垚鐨勯潤鎬佽祫婧� (js銆乧ss銆乮mg銆乫onts) 鐨勶紱锛堥」鐩墦鍖呬箣鍚庯紝闈欐�佽祫婧愪細鏀惧湪杩欎釜鏂囦欢澶逛笅锛�
+ assetsDir: 'static',
+ // 鏄惁寮�鍚痚slint淇濆瓨妫�娴嬶紝鏈夋晥鍊硷細ture | false | 'error'
+ // lintOnSave: process.env.NODE_ENV === 'development',
+ lintOnSave:false,
+ // 濡傛灉浣犱笉闇�瑕佺敓浜х幆澧冪殑 source map锛屽彲浠ュ皢鍏惰缃负 false 浠ュ姞閫熺敓浜х幆澧冩瀯寤恒��
+ productionSourceMap: false,
+ // webpack-dev-server 鐩稿叧閰嶇疆
+ devServer: {
+ host: 'localhost',
+ port: port,
+ open: true,
+ headers: {
+ "Access-Control-Allow-Origin": "*",
+ },
+ proxy: {
+ // 璺ㄥ煙閰嶇疆
+ "/sccg": {
+ // target: `http://42.193.1.25/`,
+ target: `http://127.0.0.1:8082/`,
+ changeOrigin: true
+ }
+ },
+ // disableHostCheck: true
+ },
+ css: {
+ loaderOptions: {
+ sass: {
+ sassOptions: { outputStyle: "expanded" }
+ }
+ }
+ },
+ configureWebpack: {
+ name: name,
+ resolve: {
+ alias: {
+ '@': resolve('src')
+ }
+ },
+ plugins: [
+ //#浣跨敤gzip瑙e帇缂╅潤鎬佹枃浠�
+ new CompressionPlugin({
+ cache: false, // 涓嶅惎鐢ㄦ枃浠剁紦瀛�
+ test: /\.(js|css|html)?$/i, // 鍘嬬缉鏂囦欢鏍煎紡
+ filename: '[path].gz[query]', // 鍘嬬缉鍚庣殑鏂囦欢鍚�
+ algorithm: 'gzip', // 浣跨敤gzip鍘嬬缉
+ minRatio: 0.8 // 鍘嬬缉鐜囧皬浜�1鎵嶄細鍘嬬缉
+ })
+ ],
+ },
+ chainWebpack(config) {
+ config.plugins.delete('preload') // TODO: need test
+ config.plugins.delete('prefetch') // TODO: need test
+
+ // set svg-sprite-loader
+ config.module
+ .rule('svg')
+ .exclude.add(resolve('src/assets/icons'))
+ .end()
+ config.module
+ .rule('icons')
+ .test(/\.svg$/)
+ .include.add(resolve('src/assets/icons'))
+ .end()
+ .use('svg-sprite-loader')
+ .loader('svg-sprite-loader')
+ .options({
+ symbolId: 'icon-[name]'
+ })
+ .end()
+
+ config
+ .when(process.env.NODE_ENV !== 'development',
+ config => {
+ config
+ .optimization.splitChunks({
+ chunks: 'all',
+ cacheGroups: {
+ libs: {
+ name: 'chunk-libs',
+ test: /[\\/]node_modules[\\/]/,
+ priority: 10,
+ chunks: 'initial' // only package third parties that are initially dependent
+ },
+ elementUI: {
+ name: 'chunk-elementUI', // split elementUI into a single package
+ priority: 20, // the weight needs to be larger than libs and app or it will be packaged into libs or app
+ test: /[\\/]node_modules[\\/]_?element-ui(.*)/ // in order to adapt to cnpm
+ },
+ commons: {
+ name: 'chunk-commons',
+ test: resolve('src/components'), // can customize your rules
+ minChunks: 3, // minimum common number
+ priority: 5,
+ reuseExistingChunk: true
+ }
+ }
+ })
+ config.optimization.runtimeChunk('single'),
+ {
+ from: path.resolve(__dirname, './public/robots.txt'), //闃茬埇铏枃浠�
+ to: './' //鍒版牴鐩綍涓�
+ }
+ }
+ )
+ }
+}
diff --git a/src/api/operate/messageManagement.js b/src/api/operate/messageManagement.js
index ab03b98..c9a3fa0 100644
--- a/src/api/operate/messageManagement.js
+++ b/src/api/operate/messageManagement.js
@@ -16,6 +16,10 @@
return http.post('/sccg/message/sendMessage', params);
}
+export function saveMessage(params) {
+ return http.post('/sccg/message/saveMessage', params);
+}
+
export function updateMessage(params) {
return http.post('/sccg/message/update', params);
}
\ No newline at end of file
diff --git a/src/utils/helper.js b/src/utils/helper.js
index c9fafd0..7ac38fd 100644
--- a/src/utils/helper.js
+++ b/src/utils/helper.js
@@ -122,8 +122,8 @@
}
export const EVENT_SOURCE = [
- { label: '瑙嗛鎶撴媿', value: 1 },
- { label: '鎵嬪姩鐧昏', value: 2 }
+ { label: '瑙嗛宸℃煡', value: 1 },
+ { label: '浜哄伐涓婃姤', value: 2 }
]
export const CATEGOTY = [
diff --git a/src/views/intelligentPatrol/illegalSearch/index.vue b/src/views/intelligentPatrol/illegalSearch/index.vue
index b65e900..715c12b 100644
--- a/src/views/intelligentPatrol/illegalSearch/index.vue
+++ b/src/views/intelligentPatrol/illegalSearch/index.vue
@@ -197,6 +197,7 @@
value: '',
placeholder: '璇疯緭鍏ュ鏍哥姸鎬�',
type: 'select',
+ prop: 'state',
options: [{ id: 7, name: '鏈鏍�' }, { id: 8, name: '宸茬粡瀹℃牳' }, { id: 9, name: '缁撴' }]
},
{
diff --git a/src/views/operate/message/myIndex/index.vue b/src/views/operate/message/myIndex/index.vue
index 87b011c..d74344d 100644
--- a/src/views/operate/message/myIndex/index.vue
+++ b/src/views/operate/message/myIndex/index.vue
@@ -24,8 +24,9 @@
</el-select>
</div>
<div class="search">
- <span>鍒涘缓鏃堕棿:</span>
- <el-date-picker style="width: 200px" type="datetimerange" v-model="datetime" value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
+ <span>鍒涘缓鏃堕棿:</span>
+ <el-date-picker style="width: 200px" type="datetimerange" v-model="datetime"
+ value-format="yyyy-MM-dd HH:mm:ss"></el-date-picker>
</div>
<div class="find">
<el-button type="primary" icon="el-icon-search" @click="handleSearch">鏌ヨ</el-button>
@@ -37,13 +38,13 @@
<div class="mainContent">
<div class="main-nav">
<span>鏁版嵁鍒楄〃</span>
- <el-button class="button-addition" type="primary" icon="el-icon-plus" @click="handleOpera(null, 'create')">娣诲姞</el-button>
+ <el-button class="button-addition" type="primary" icon="el-icon-plus"
+ @click="handleOpera(null, 'create')">娣诲姞</el-button>
</div>
<!-- 鏁版嵁灞曠ず -->
<el-table ref="multipleTable"
- :header-cell-style="{background:'white','font-weight':'650','line-height':'45px'}"
- :data="tableData" style="width: 100%" :row-class-name="tableRowClassName"
- @selection-change="tableChange">
+ :header-cell-style="{ background: 'white', '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 label="ID" min-width="5">
@@ -53,20 +54,22 @@
</el-table-column>
<el-table-column prop="createTime" label="鍒涘缓鏃堕棿" min-width="10">
</el-table-column>
- <el-table-column prop="createUser" label="鍙戝竷浜哄憳" min-width="15">
+ <el-table-column prop="targetFrom" label="鍙戝竷浜哄憳" min-width="15">
</el-table-column>
<el-table-column prop="messageTypeName" label="娑堟伅鏍忕洰" min-width="10">
</el-table-column>
<el-table-column prop="status" label="鍙戝竷鐘舵��" min-width="5">
- <template v-if="scope.row.status" slot-scope="scope">
- {{scope.row.status === 0 ? '鏈彂甯�' :'宸插彂甯�'}}
+ <template slot-scope="scope">
+ {{ scope.row.status == 0 ? '鏈彂甯�' : '宸插彂甯�' }}
</template>
</el-table-column>
<el-table-column prop="operation" label="鎿嶄綔" min-width="15">
<template slot-scope="scope">
<div class="operation">
- <el-link icon="el-icon-view" :underline="false" @click="handleOpera(scope.row, 'view')">鏌ョ湅</el-link>
- <el-link icon="el-icon-edit" class="leftPx" :underline="false" @click="handleOpera(scope.row, 'update')">缂栬緫</el-link>
+ <el-link icon="el-icon-view" :underline="false"
+ @click="handleOpera(scope.row, 'view')">鏌ョ湅</el-link>
+ <el-link icon="el-icon-edit" class="leftPx" :underline="false"
+ @click="handleOpera(scope.row, 'update')">缂栬緫</el-link>
<el-link class="leftPx" icon="el-icon-delete-solid" :underline="false"
@click="handleDelete([scope.row.id])">鍒犻櫎</el-link>
</div>
@@ -74,8 +77,10 @@
</el-table-column>
</el-table>
<!-- 鏂板缓娑堟伅 -->
- <el-dialog :destroy-on-close="true" :key="dialogType" :title="getDialogTitle" :visible.sync="isShowDialog" width="80%">
- <my-edit v-if="isShowDialog" @closeMyDialog="closeDialog" :type="dialogType" :myDataRow="tableRowData"></my-edit>
+ <el-dialog :destroy-on-close="true" :key="dialogType" :title="getDialogTitle"
+ :visible.sync="isShowDialog" width="80%">
+ <my-edit v-if="isShowDialog" @closeMyDialog="closeDialog" :type="dialogType"
+ :myDataRow="tableRowData"></my-edit>
</el-dialog>
<!-- tools -->
<div class="tools">
@@ -112,19 +117,19 @@
export default {
components: { MyView, MyEdit },
computed: {
- getDialogTitle() {
- if (this.dialogType === 'create') {
- return '鍒涘缓';
- }
+ getDialogTitle() {
+ if (this.dialogType === 'create') {
+ return '鍒涘缓';
+ }
- if (this.dialogType === 'update') {
- return '鏇存柊';
- }
+ if (this.dialogType === 'update') {
+ return '鏇存柊';
+ }
- if (this.dialogType === 'view') {
- return '鏌ョ湅';
+ if (this.dialogType === 'view') {
+ return '鏌ョ湅';
+ }
}
- }
},
data() {
return {
@@ -180,44 +185,44 @@
],
typeList: [
{
- id:'00',
- columnName:'鍏ㄩ儴',
+ id: '00',
+ columnName: '鍏ㄩ儴',
},
{
- id:'01',
- columnName:'绔欏唴淇�',
+ id: '01',
+ columnName: '绔欏唴淇�',
},
{
- id:'03',
- columnName:'閭欢',
+ id: '03',
+ columnName: '閭欢',
},
{
- id:'02',
- columnName:'鐭俊',
+ id: '02',
+ columnName: '鐭俊',
}
]
}
},
created() {
- this.getMessageList();
+ this.getMessageList();
},
methods: {
// 鏌ヨ
- handleSearch(){
+ handleSearch() {
this.getMessageList();
},
// 閲嶇疆
- handleReset(){
- this.messageStatus = 2;
- this.messageType = '00';
- this.context = '';
- this.getMessageList();
+ handleReset() {
+ this.messageStatus = 2;
+ this.messageType = '00';
+ this.context = '';
+ this.getMessageList();
},
// 鏌ョ湅
- handleOpera(data, type){
+ handleOpera(data, type) {
this.tableRowData = data;
this.dialogType = type;
this.isShowDialog = true;
@@ -227,36 +232,36 @@
handleDelete(idarr) {
this.$confirm('纭鍒犻櫎?')
.then(() => {
- deleteMessage({ ids: idarr.join(',') })
- .then(() => {
- this.getMessageList();
- this.$message.success('鎿嶄綔鎴愬姛');
- })
- .catch(err => { this.$message({ type: 'error', message: err }) });
+ deleteMessage({ ids: idarr.join(',') })
+ .then(() => {
+ this.getMessageList();
+ this.$message.success('鎿嶄綔鎴愬姛');
+ })
+ .catch(err => { this.$message({ type: 'error', message: err }) });
})
},
// 鑾峰彇娑堟伅鏁版嵁
getMessageList() {
- const messageParam = {
- current: this.currentPage,
- pageSize: this.pageSize,
- channelCode: this.messageType === '00' ? null : this.messageType,
- status: this.messageStatus === 2 ? null : this.messageStatus,
- head: this.context,
- startTime: this.datetime ? this.datetime[0] : null,
- endTime: this.datetime ? this.datetime[1] : null
- }
+ const messageParam = {
+ current: this.currentPage,
+ pageSize: this.pageSize,
+ channelCode: this.messageType === '00' ? null : this.messageType,
+ status: this.messageStatus === 2 ? null : this.messageStatus,
+ head: this.context,
+ startTime: this.datetime ? this.datetime[0] : null,
+ endTime: this.datetime ? this.datetime[1] : null
+ }
- getMessageList(messageParam)
- .then(({ records, total ,size}) => {
- this.tableData = records;
- this.totalNum = total;
- this.pageSize=size;
- })
- .catch(err => {
- this.$message({ type: 'error', message: err });
- });
+ getMessageList(messageParam)
+ .then(({ records, total, size }) => {
+ this.tableData = records;
+ this.totalNum = total;
+ this.pageSize = size;
+ })
+ .catch(err => {
+ this.$message({ type: 'error', message: err });
+ });
},
// 鎵归噺涓嬫媺妗嗘搷浣�
@@ -303,7 +308,7 @@
}
})
})
- .catch(err => { })
+ .catch(err => { })
},
// 琛ㄦ牸鐩戝惉
@@ -343,8 +348,8 @@
// 鑷畾涔夊叧闂脊绐�
closeDialog() {
- this.isShowDialog = false;
- this.getMessageList();
+ this.isShowDialog = false;
+ this.getMessageList();
}
}
}
@@ -377,12 +382,15 @@
display: flex;
justify-content: space-between;
align-items: center;
+
span {
flex: 1;
}
+
.el-input {
flex: 2;
color: #1d3f57;
+
&::v-deep .el-input__inner {
//background-color: #09152f;
//border: 1px solid #17324c;
@@ -588,8 +596,9 @@
&::v-deep .el-dialog__body {
padding: 0;
}
- :deep(.el-range-input) {
- //background-color: #09152f;
- }
+
+ :deep(.el-range-input) {
+ //background-color: #09152f;
+ }
}
</style>
diff --git a/src/views/operate/message/myIndex/update/index.vue b/src/views/operate/message/myIndex/update/index.vue
index 68d0f04..8bdd313 100644
--- a/src/views/operate/message/myIndex/update/index.vue
+++ b/src/views/operate/message/myIndex/update/index.vue
@@ -138,7 +138,7 @@
import MyEditor from "@/components/edit";
import MyColumnAdd from "@/views/operate/message/mycontrol/createUser";
import MyColView from "../messageView";
-import { sendMessage, updateMessage, getMessageById } from "@/api/operate/messageManagement";
+import { sendMessage, updateMessage, getMessageById,saveMessage } from "@/api/operate/messageManagement";
export default {
components: { MyEditor, MyColumnAdd, MyColView },
@@ -284,10 +284,12 @@
// 鏂板缓/淇濆瓨娑堟伅(1:鏂板缓,0淇濆瓨娑堟伅)
handleSubmit(mystatus) {
+ debugger;
this.role.body = this.$refs.edit.editor.txt.html();
this.$refs.user.validate((valid) => {
if (valid) {
- const { body, head, messageType, channelCode } = this.role;
+ if(mystatus==1){
+ const { body, head, messageType, channelCode } = this.role;
const params = {
body,
head,
@@ -325,6 +327,48 @@
})
);
}
+ }
+ if(mystatus==0){
+ const { body, head, messageType, channelCode } = this.role;
+ const params = {
+ body,
+ head,
+ messageType,
+ channelCode: `${channelCode}`,
+ sendTime: new Date(),
+ targetTo: this.checkedList.join(","),
+ status: mystatus,
+ };
+ if (this.role.channelCode === '03') {
+ delete params.messageType;
+ }
+ if (this.type === "create") {
+ saveMessage(params)
+ .then(() => {
+ this.$emit("closeMyDialog");
+ this.$message({ type: "success", message: "鎿嶄綔鎴愬姛" });
+ })
+ .catch((err) =>
+ this.$message({
+ type: "error",
+ message: err.data || err.message,
+ })
+ );
+ } else {
+ updateMessage({ id: this.myDataRow.id, ...params })
+ .then(() => {
+ this.$emit("closeMyDialog");
+ this.$message({ type: "success", message: "鎿嶄綔鎴愬姛" });
+ })
+ .catch((err) =>
+ this.$message({
+ type: "error",
+ message: err.data || err.message,
+ })
+ );
+ }
+ }
+
} else {
this.$message.error({ type: "warning", message: "璇锋鏌ュ繀濉」" });
}
diff --git a/src/views/operate/sms/smsIndex/index.vue b/src/views/operate/sms/smsIndex/index.vue
index fe62718..f0ddc49 100644
--- a/src/views/operate/sms/smsIndex/index.vue
+++ b/src/views/operate/sms/smsIndex/index.vue
@@ -71,12 +71,7 @@
</el-table-column>
<el-table-column prop="targetFrom" label="鍙戦�佽处鍙�" min-width="15">
</el-table-column>
- <el-table-column prop="status" label="鍙戝竷鐘舵��" min-width="5">
- <template slot-scope="scope">
- <span>{{
- statusList.find((item) => item.value === scope.row.status).label
- }}</span>
- </template>
+ <el-table-column prop="respondResult" label="鐭俊鍥炴墽" min-width="5">
</el-table-column>
<el-table-column prop="operation" label="鎿嶄綔" min-width="15">
<template slot-scope="scope">
@@ -189,14 +184,14 @@
label: "鎵归噺鎿嶄綔",
disabled: true,
},
- {
- value: 1,
- label: "鎵归噺鍚敤",
- },
- {
- value: 2,
- label: "鎵归噺绂佺敤",
- },
+ // {
+ // value: 1,
+ // label: "鎵归噺鍚敤",
+ // },
+ // {
+ // value: 2,
+ // label: "鎵归噺绂佺敤",
+ // },
{
value: 3,
label: "鎵归噺鍒犻櫎",
@@ -206,18 +201,14 @@
messageStatus: "鍏ㄩ儴",
messageKind: "00",
statusList: [
- {
- label: "鍏ㄩ儴",
- value: 2,
- },
- {
+ {
label: "鍙戦�佸け璐�",
- value: 0,
+ value: 3,
},
{
label: "鍙戦�佹垚鍔�",
- value: 1,
- },
+ value: 2,
+ }
],
kindList: [
{
@@ -283,9 +274,12 @@
},
resend(data) {
- if (data.status === 1) {
+ if (data.status === 2) {
return;
}
+ data.createTime='',
+ data.sendTime='',
+ data.createUser=null,
sendMessage(data)
.then(() => {
this.$message.success("鎿嶄綔鎴愬姛");
diff --git a/vue.config.js b/vue.config.js
index d97f668..f3a4d14 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -39,8 +39,8 @@
proxy: {
// 璺ㄥ煙閰嶇疆
"/sccg": {
- target: `http://42.193.1.25/`,
- // target: `http://127.0.0.1:8082/`,
+ // target: `http://42.193.1.25/`,
+ target: `http://127.0.0.1:8082/`,
changeOrigin: true
}
},
--
Gitblit v1.8.0