From f979c8991929e0e8372f86b34537172d77c3739e Mon Sep 17 00:00:00 2001 From: zhanghua <314079846@qq.com> Date: 星期三, 14 十二月 2022 14:36:11 +0800 Subject: [PATCH] Merge branch 'master' of http://42.193.1.25:9521/r/sccg_ui --- src/views/operate/message/myIndex/index.vue | 278 +++++++++++++++++++++++-------------------------------- 1 files changed, 115 insertions(+), 163 deletions(-) diff --git a/src/views/operate/message/myIndex/index.vue b/src/views/operate/message/myIndex/index.vue index 6039ace..9663276 100644 --- a/src/views/operate/message/myIndex/index.vue +++ b/src/views/operate/message/myIndex/index.vue @@ -3,26 +3,29 @@ <header> <div class="header-nav"> <span class="nav-left">鏁版嵁绛涢��</span> - <span class="nav-right">楂樼骇鎼滅储</span> </div> <div class="header-content"> <div class="search"> <span>杈撳叆鏌ヨ:</span> <el-input placeholder="娑堟伅鏍囬" v-model="context"></el-input> </div> - <div class="message-status"> + <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="message-kind"> + <div class="search"> <span>娑堟伅鍒嗙被:</span> - <el-select v-model="messageKind" placeholder="璇烽�夋嫨娑堟伅鍒嗙被"> - <el-option v-for="item in kindList" :key="item.id" :label="item.columnName" :value="item.id"> + <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> @@ -34,7 +37,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 class="button-addition" type="primary" icon="el-icon-plus" @click="handleOpera(null, 'create')">娣诲姞</el-button> </div> <!-- 鏁版嵁灞曠ず --> <el-table ref="multipleTable" @@ -48,29 +51,22 @@ </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"> + <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="handleView(scope.row)">鏌ョ湅</el-link> - <el-link icon="el-icon-edit" class="leftPx" :underline="false" @click="handleEdit(scope.row)">缂栬緫</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,19 +74,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 @closeDialog="closeDialog" :myinfo="info">></MyView> - </el-dialog> - <!-- 缂栬緫椤甸潰 --> - <el-dialog title="缂栬緫娑堟伅" :visible.sync="dialogEdit" v-if="dialogEdit" width="80%" - :before-close="handleClose"> - <MyEdit @closeDialog="closeDialog" :myDataRow="info"></MyEdit> + <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"> @@ -111,8 +96,7 @@ </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> @@ -121,22 +105,35 @@ </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,MyEdit + components: { MyView, MyEdit }, + computed: { + getDialogTitle() { + if (this.dialogType === 'create') { + return '鍒涘缓'; + } + + if (this.dialogType === 'update') { + return '鏇存柊'; + } + + if (this.dialogType === 'view') { + return '鏌ョ湅'; + } + } }, data() { return { tableData: [], - context: "", - dialogEdit:false, - dialogCreate: false, - dialogView: false, + tableRowData: null, + isShowMoreParams: false, + context: null, + isShowDialog: false, + dialogType: false, totalNum: null, pageSize: 10, currentPage: 1, @@ -144,20 +141,21 @@ unsame: false, myIdx: 0, preMyIdx: 0, + datetime: null, options: [ { value: 0, label: '鎵归噺鎿嶄綔', disabled: true, }, - { - value: 1, - label: '鎵归噺鍚敤', - }, - { - value: 2, - label: '鎵归噺绂佺敤', - }, + // { + // value: 1, + // label: '鎵归噺鍚敤', + // }, + // { + // value: 2, + // label: '鎵归噺绂佺敤', + // }, { value: 3, label: '鎵归噺鍒犻櫎', @@ -165,7 +163,7 @@ ], tempList: [], messageStatus: 2, - messageKind: '00', + messageType: '00', statusList: [ { label: '鍏ㄩ儴', @@ -180,7 +178,7 @@ value: 1, } ], - kindList: [ + typeList: [ { id:'00', columnName:'鍏ㄩ儴', @@ -190,100 +188,79 @@ columnName:'绔欏唴淇�', }, { - id:'02', + id:'03', columnName:'閭欢', }, { - id:'03', + id:'02', columnName:'鐭俊', } ] } }, created() { - const {setTableData} = this - setTableData(); + this.getMessageList(); }, + methods: { // 鏌ヨ handleSearch(){ - this.setTableData(); + this.getMessageList(); }, + // 閲嶇疆 handleReset(){ + this.messageStatus = 2; + this.messageType = '00'; + this.context = ''; + this.getMessageList(); + }, - }, // 鏌ョ湅 - handleView(data){ - this.info = data; - this.dialogView = true; + handleOpera(data, type){ + this.tableRowData = data; + this.dialogType = type; + this.isShowDialog = true; }, - // 缂栬緫 - handleEdit(data){ - this.info = data; - this.dialogEdit = 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,context,messageStatus,messageKind } = this; - await this.$axios({ - method: 'post', - url: 'sccg/message/list', - data: { - body: "", - channelCode: messageKind === '00' ?'':messageKind, - createUser: '', - current: currentPage, - head: context, - messageType: "", - pageSize: pageSize, - randomCode: "", - remark: "", - sendTime: "", - status: messageStatus === 2 ? '':messageStatus, - targetFrom: "", - targetTo: "" - } - }) - .then(res => { - arr = res.data; - }) - return arr; + 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) { - console.log(this.tempList); if (this.tempList.length !== 0) { this.preMyIdx = list; if (list === 3) { @@ -302,6 +279,7 @@ }) } }, + // 鎵归噺鎿嶄綔 mulUpdateStatus(idArr, flag) { this.$confirm(flag === 1 ? "鎮ㄧ‘瀹氳杩涜鎵归噺鍚敤瑙掕壊鍚�?" : '鎮ㄧ‘瀹氳杩涜鎵归噺绂佺敤瑙掕壊鍚�?') @@ -323,72 +301,50 @@ 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(); }, - // 鍏抽棴寮圭獥 - handleClose(done) { - done(); - }, - // 纭鍏抽棴寮圭獥 - 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(); } } } @@ -401,7 +357,6 @@ header { background-color: #09152f; - border: 1pox solid #fff; .header-nav { line-height: 40px; @@ -418,20 +373,16 @@ justify-content: space-between; align-items: center; - .search, - .message-status, - .message-kind { + .search { display: flex; - justify-content: flex-start; - + 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; @@ -459,7 +410,6 @@ background-color: #09152f; margin-top: 20px; padding-bottom: 50px; - border: 1pox solid #fff; .el-link { color: #4b9bb7; @@ -633,11 +583,13 @@ &::v-deep .el-dialog__close { width: 20px; height: 20px; - // color: #fff; } &::v-deep .el-dialog__body { padding: 0; } + :deep(.el-range-input) { + background-color: #09152f; + } } </style> \ No newline at end of file -- Gitblit v1.8.0