From e2ffe9683ef007a45afbcdd897985d64cdcc7391 Mon Sep 17 00:00:00 2001
From: wl <173@qq.com>
Date: 星期四, 24 十一月 2022 11:26:31 +0800
Subject: [PATCH] 修改
---
src/views/operate/message/myIndex/index.vue | 270 ++++++++++++++++++++++++-----------------------------
1 files changed, 124 insertions(+), 146 deletions(-)
diff --git a/src/views/operate/message/myIndex/index.vue b/src/views/operate/message/myIndex/index.vue
index 1c0cd18..d5b811c 100644
--- a/src/views/operate/message/myIndex/index.vue
+++ b/src/views/operate/message/myIndex/index.vue
@@ -3,12 +3,12 @@
<header>
<div class="header-nav">
<span class="nav-left">鏁版嵁绛涢��</span>
- <span class="nav-right">楂樼骇鎼滅储</span>
+ <span class="nav-right" @click="showMoreParamsDialog">楂樼骇鎼滅储</span>
</div>
<div class="header-content">
<div class="search">
<span>杈撳叆鏌ヨ:</span>
- <el-input placeholder="璇疯緭鍏ュ唴瀹�" v-model="context"></el-input>
+ <el-input placeholder="娑堟伅鏍囬" v-model="context"></el-input>
</div>
<div class="message-status">
<span>娑堟伅鐘舵��:</span>
@@ -19,14 +19,14 @@
</div>
<div class="message-kind">
<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-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="find">
- <el-button type="primary" icon="el-icon-search">鏌ヨ</el-button>
- <el-button icon="el-icon-delete-solid">閲嶇疆</el-button>
+ <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>
@@ -34,7 +34,7 @@
<div class="mainContent">
<div class="main-nav">
<span>鏁版嵁鍒楄〃</span>
- <el-button type="primary" icon="el-icon-plus" @click="dialogCreate = true">娣诲姞</el-button>
+ <el-button type="primary" icon="el-icon-plus" @click="handleOpera(null, 'create')">娣诲姞</el-button>
</div>
<!-- 鏁版嵁灞曠ず -->
<el-table ref="multipleTable"
@@ -48,18 +48,11 @@
</el-table-column>
<el-table-column prop="head" label="鏍囬" min-width="10">
</el-table-column>
- <el-table-column prop="updateTime" label="淇敼鏃堕棿" min-width="10">
- <template slot-scope="scope">
- <span>{{changeTime(scope.row)}}</span>
- </template>
+ <el-table-column prop="createTime" label="淇敼鏃堕棿" min-width="10">
</el-table-column>
- <el-table-column prop="targetFrom" label="鍙戝竷浜哄憳" min-width="15">
+ <el-table-column prop="createUser" label="鍙戝竷浜哄憳" min-width="15">
</el-table-column>
- <el-table-column prop="channelCode" label="娑堟伅鍒嗙被" min-width="10">
- <template slot-scope="scope">
- <span>{{scope.row.channelCode === '01' ? '绔欏唴淇�':scope.row.channelCode
- ==='02'?"閭欢":'鐭俊'}}</span>
- </template>
+ <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">
@@ -69,8 +62,8 @@
<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="dialogView = true">鏌ョ湅</el-link>
- <el-link icon="el-icon-edit" class="leftPx" :underline="false">缂栬緫</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>
@@ -78,14 +71,8 @@
</el-table-column>
</el-table>
<!-- 鏂板缓娑堟伅 -->
- <el-dialog title="鏂板缓娑堟伅" :visible.sync="dialogCreate" v-if="dialogCreate" width="80%"
- :before-close="handleConfirmClose">
- <MyCreate @closeMyDialog="closeDialog"></MyCreate>
- </el-dialog>
- <!-- 娑堟伅璇︽儏 -->
- <el-dialog title="娑堟伅璇︽儏" :visible.sync="dialogView" v-if="dialogView" width="45%"
- :before-close="handleClose">
- <MyView></MyView>
+ <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">
@@ -106,29 +93,50 @@
</div>
<div class="pagination">
<el-pagination background :current-page="currentPage" layout="prev, pager, next"
- :total="totalNum" :page-size="pageSize" @current-change="changeCurrentPage"
- >
+ :total="totalNum" :page-size="pageSize" @current-change="changeCurrentPage">
</el-pagination>
</div>
</div>
</div>
+
+ <el-dialog
+ title="楂樼骇鍙傛暟"
+ :visible.sync="isShowMoreParams"
+ width="30%">
+ </el-dialog>
</main>
</div>
</template>
<script>
-import helper from '@/utils/mydate'
import MyView from './myview'
-import MyCreate from './createUser'
+import MyEdit from './update'
+import { deleteMessage, getMessageById, getMessageList } from "@/api/operate/messageManagement";
+
export default {
- components: {
- MyView, MyCreate
+ components: { MyView, MyEdit },
+ computed: {
+ getDialogTitle() {
+ if (this.dialogType === 'create') {
+ return '鍒涘缓';
+ }
+
+ if (this.dialogType === 'update') {
+ return '鏇存柊';
+ }
+
+ if (this.dialogType === 'view') {
+ return '鏌ョ湅';
+ }
+ }
},
data() {
return {
tableData: [],
- context: "",
- dialogCreate: false,
- dialogView: false,
+ tableRowData: null,
+ isShowMoreParams: false,
+ context: null,
+ isShowDialog: false,
+ dialogType: false,
totalNum: null,
pageSize: 10,
currentPage: 1,
@@ -156,102 +164,101 @@
}
],
tempList: [],
- messageStatus: 0,
- messageKind: 0,
+ messageStatus: 2,
+ messageType: '00',
statusList: [
{
label: '鍏ㄩ儴',
- value: 0,
+ value: 2,
},
{
label: '鏈彂甯�',
- value: 1,
+ value: 0,
},
{
label: '宸插彂甯�',
- value: 2,
+ value: 1,
}
],
- kindList: [
+ typeList: [
{
- label: '鍏ㄩ儴',
- value: 0,
+ id:'00',
+ columnName:'鍏ㄩ儴',
},
{
- label: '鍏ㄩ儴',
- value: 0,
+ id:'01',
+ columnName:'绔欏唴淇�',
},
{
- label: '鍏ㄩ儴',
- value: 0,
+ id:'02',
+ columnName:'閭欢',
},
+ {
+ id:'03',
+ columnName:'鐭俊',
+ }
]
}
},
created() {
- this.setTableData();
+ 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(_ => {
- this.$axios({
- method: 'post',
- url: 'sccg/message/delete?ids=' + idarr,
- })
- .then(res => {
- if (res.code === 200) {
- this.$message({
- type: 'success',
- message: '鍒犻櫎鎴愬姛',
- })
- this.setTableData();
- } else {
- this.$message({
- type: 'error',
- message: res.message
- })
- }
- })
+ .then(() => {
+ deleteMessage({ ids: idarr.join(',') })
+ .then(() => {
+ this.getMessageList();
+ this.$message.success('鎿嶄綔鎴愬姛');
+ })
+ .catch(err => { this.$message({ type: 'error', message: err }) });
})
},
- // 璁剧疆琛ㄦ牸鏁版嵁
- async setTableData() {
- const arr = await this.getMessageList();
- this.tableData = arr.records;
- this.totalNum = arr.total
- },
+
// 鑾峰彇娑堟伅鏁版嵁
- async getMessageList() {
- let arr = [];
- const { currentPage, pageSize } = this;
- await this.$axios({
- method: 'post',
- url: 'sccg/message/list',
- data: {
- body: "",
- channelCode: "",
- createUser: 0,
- current: currentPage,
- head: "",
- messageType: 0,
- pageSize: pageSize,
- randomCode: "",
- remark: "",
- sendTime: "",
- status: 0,
- targetFrom: "",
- targetTo: ""
- }
- })
- .then(res => {
- arr = res.data;
- })
- return arr;
+ getMessageList() {
+ const messageParam = {
+ current: this.currentPage,
+ size: this.pageSize,
+ channelCode: this.messageType,
+ status: this.messageStatus,
+ head: this.context
+ }
+ getMessageList(messageParam)
+ .then(({ records, total }) => {
+ this.tableData = records;
+ this.totalNum = total;
+ })
+ .catch(err => {
+ this.$message({ type: 'error', message: err });
+ });
},
+
// 鎵归噺涓嬫媺妗嗘搷浣�
async selectChange(list) {
- console.log(this.tempList);
if (this.tempList.length !== 0) {
this.preMyIdx = list;
if (list === 3) {
@@ -270,6 +277,7 @@
})
}
},
+
// 鎵归噺鎿嶄綔
mulUpdateStatus(idArr, flag) {
this.$confirm(flag === 1 ? "鎮ㄧ‘瀹氳杩涜鎵归噺鍚敤瑙掕壊鍚�?" : '鎮ㄧ‘瀹氳杩涜鎵归噺绂佺敤瑙掕壊鍚�?')
@@ -291,82 +299,54 @@
message: res.message
})
}
- console.log(res);
})
})
- .catch(err => { console.log(err) })
+ .catch(err => { })
},
+
// 琛ㄦ牸鐩戝惉
tableChange(list) {
this.tempList = [];
list.forEach(item => {
this.tempList.push(item.id);
})
- if (list.length === this.tableData.length) {
- this.all = true;
- } else {
- this.all = false
- }
- },
- // 淇敼鏃堕棿鏍煎紡
- changeTime({ updateTime }) {
- return helper(updateTime);
+ 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) {
+ if ((rowIndex + 1) % 2 === 0) {
return 'warning-row';
} else {
return 'success-row';
}
- return '';
},
+
// 褰撳墠椤垫敼鍙樿Е鍙戜簨浠�
changeCurrentPage(page) {
this.currentPage = page;
- this.setTableData();
+ this.getMessageList();
},
- // // 涓婁竴椤电偣鍑讳簨浠�
- // handlePrev(page) {
- // this.currentPage = page;
- // this.search();
- // },
- // // 涓嬩竴椤电偣鍑讳簨浠�
- // handleNext(page) {
- // this.currentPage = page;
- // this.search();
- // },
- // 鍏抽棴寮圭獥
- handleClose(done) {
- done();
+
+ showMoreParamsDialog() {
+ this.isShowMoreParams = true;
},
- // 纭鍏抽棴寮圭獥
- handleConfirmClose(done) {
- this.$confirm('纭鍏抽棴?')
- .then(_ => {
- done();
- })
- .catch(err => {
- console.log(err);
- })
- },
+
// 鑷畾涔夊叧闂脊绐�
- closeDialog({ flag, index }) {
- this.dialogCreate = flag;
- this.dialogView = flag;
- if (index === 1) {
- this.setTableData();
- }
+ closeDialog() {
+ this.isShowDialog = false;
+ this.getMessageList();
}
}
}
@@ -379,7 +359,6 @@
header {
background-color: #09152f;
- border: 1pox solid #fff;
.header-nav {
line-height: 40px;
@@ -437,7 +416,6 @@
background-color: #09152f;
margin-top: 20px;
padding-bottom: 50px;
- border: 1pox solid #fff;
.el-link {
color: #4b9bb7;
--
Gitblit v1.8.0