From 085fa2fb257e9f11f8f6d34bf12e2dc281c36b4d Mon Sep 17 00:00:00 2001 From: odc.xiaohui <xiaohui@Q1> Date: 星期四, 09 二月 2023 11:28:21 +0800 Subject: [PATCH] 2023/2/9 肖辉 修改部门管理 --- src/views/operate/sms/smsTemplate/index.vue | 304 +++++++++++++++++++------------------------------- 1 files changed, 116 insertions(+), 188 deletions(-) diff --git a/src/views/operate/sms/smsTemplate/index.vue b/src/views/operate/sms/smsTemplate/index.vue index b63c1a6..b2976e8 100644 --- a/src/views/operate/sms/smsTemplate/index.vue +++ b/src/views/operate/sms/smsTemplate/index.vue @@ -3,7 +3,6 @@ <header> <div class="header-nav"> <span class="nav-left">鏁版嵁绛涢��</span> - <span class="nav-right">楂樼骇鎼滅储</span> </div> <div class="header-content"> <div class="search"> @@ -17,13 +16,6 @@ </el-option> </el-select> </div> - <!-- <div class="message-kind"> - <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-option> - </el-select> - </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> @@ -34,11 +26,14 @@ <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="isShowDialog = true; dialogType = 'create'">娣诲姞</el-button> </div> <!-- 鏁版嵁灞曠ず --> - <el-table ref="multipleTable" - :header-cell-style="{background:'#06122c','font-size':'12px',color:'#4b9bb7','font-weight':'650','line-height':'45px'}" + <el-table + border + stripe + ref="multipleTable" + :header-cell-style="{ 'background':'#F5F5F5','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"> @@ -53,23 +48,15 @@ <span>{{changeTime(scope.row)}}</span> </template> </el-table-column> - <!-- <el-table-column prop="targetFrom" label="鍙戝竷浜哄憳" min-width="15"> - </el-table-column> --> <el-table-column prop="type" label="妯℃澘绫诲瀷" min-width="10"> <template slot-scope="scope"> - <span>{{scope.row.type === 1 ? '楠岃瘉鐮佹ā鏉�':scope.row.type - ===2?"娲诲姩妯℃澘":'鍏朵粬妯℃澘'}}</span> + <span>{{scope.row.type === 1 ? '楠岃瘉鐮佹ā鏉�':scope.row.type === 2 ? '娲诲姩妯℃澘' :' 鍏朵粬妯℃澘'}}</span> </template> </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="handleView(scope.row)">鏌ョ湅</el-link> + <el-link icon="el-icon-view" :underline="false" @click="handleView(scope.row, 'view')">鏌ョ湅</el-link> <el-link icon="el-icon-edit" class="leftPx" :underline="false" @click="handleEdit(scope.row)">缂栬緫</el-link> <el-link class="leftPx" icon="el-icon-delete-solid" :underline="false" @click="handleDelete([scope.row.id])">鍒犻櫎</el-link> @@ -78,24 +65,14 @@ </el-table-column> </el-table> <!-- 鏂板缓娑堟伅 --> - <el-dialog title="鏂板缓鐭俊妯℃澘" :visible.sync="dialogCreate" v-if="dialogCreate" width="80%" + <el-dialog :title="dialogType === 'view' ? '鏌ョ湅鐭俊妯℃澘' : '鏇存柊鐭俊妯℃澘'" :visible.sync="isShowDialog" width="80%" :before-close="handleConfirmClose"> - <MyCreate @closeMyDialog="closeDialog"></MyCreate> + <MyCreate v-if="isShowDialog" @closeMyDialog="handleConfirmClose" @closeDialog="closeDialog" + :dialogType="dialogType" :tableRowData="messageTemplateData"></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> --> - <!-- tools --> <div class="tools"> <div class="funs"> - <div class="funsItem funs-sp"> + <div class="funsItem funs-sp funs-first"> <el-checkbox v-model="all" @change="selectAll()">鍏ㄩ��</el-checkbox> </div> <div class="funsItem funs-sp"> @@ -111,8 +88,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> @@ -123,6 +99,8 @@ <script> import helper from '@/utils/mydate' import MyCreate from './createTemplate' +import SMS from "@/api/operate/SMS"; + export default { components: { MyCreate, @@ -131,9 +109,8 @@ return { tableData: [], context: "", - dialogEdit:false, - dialogCreate: false, - dialogView: false, + dialogType: '', + isShowDialog: false, totalNum: null, pageSize: 10, currentPage: 1, @@ -194,93 +171,63 @@ id:'03', columnName:'鐭俊', } - ] + ], + messageTemplateData: null } }, created() { - const {setTableData} = this - setTableData(); + this.getMessageList(); }, methods: { // 鏌ヨ - handleSearch(){ - this.setTableData(); + handleSearch(){ + this.getMessageList(); }, // 閲嶇疆 handleReset(){ - + this.context=""; + this.messageStatus=0; + this.getMessageList(); }, // 鏌ョ湅 handleView(data){ - this.info = data; - this.dialogView = true; + this.messageTemplateData = data; + this.dialogType = 'view'; + this.isShowDialog = true; }, // 缂栬緫 handleEdit(data){ - this.info = data; - this.dialogEdit = true; + this.messageTemplateData = data; + this.dialogType = 'edit'; + 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(() => { + SMS.deleteSMSTemplatate({ ids: idarr }) + .then(() => { + this.$message({ type: 'success', message }); + this.getMessageList(); + }) + .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_sms_template/list', - data: { - body: "", - channelCode: messageKind === '00' ?'':messageKind, - createUser: '', - current: currentPage, - title: context, - messageType: "", - pageSize: pageSize, - randomCode: "", - remark: "", - sendTime: "", - type: messageStatus === 0 ? '':messageStatus, - targetFrom: "", - targetTo: "" - } - }) - .then(res => { - arr = res.data; + getMessageList() { + SMS.getSMSTemplateList({ current: this.currentPage, pageSize: this.pageSize, title: this.context, type: this.messageStatus }) + .then(({ records, total }) => { + this.tableData = records; + this.totalNum = total; }) - return arr; + .catch(err => { + this.$message({ type: 'success', message: err }); + }) }, // 鎵归噺涓嬫媺妗嗘搷浣� async selectChange(list) { - console.log(this.tempList); if (this.tempList.length !== 0) { this.preMyIdx = list; if (list === 3) { @@ -313,17 +260,16 @@ type: 'success', message: '鏇存敼鐢ㄦ埛鐘舵�佹垚鍔�', }) - this.getUserList(); + this.getMessageList(); } else { this.$message({ type: 'error', message: res.message }) } - console.log(res); }) }) - .catch(err => { console.log(err) }) + .catch(err => { }) }, // 琛ㄦ牸鐩戝惉 tableChange(list) { @@ -331,11 +277,7 @@ list.forEach(item => { this.tempList.push(item.id); }) - if (list.length === this.tableData.length) { - this.all = true; - } else { - this.all = false - } + this.all = list.length === this.tableData.length; }, // 淇敼鏃堕棿鏍煎紡 changeTime({ updateTime }) { @@ -353,63 +295,49 @@ }, // 璁剧疆琛ㄦ牸鏂戦┈绾� 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(); - }, - // 鍏抽棴寮圭獥 - handleClose(done) { - done(); + this.getMessageList(); }, // 纭鍏抽棴寮圭獥 handleConfirmClose(done) { this.$confirm('纭鍏抽棴?') - .then(_ => { + .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; + } } } </script> <style lang="scss" scoped> .userList { text-align: left; - margin: 10px 20px; - color: #4b9bb7; - + padding: 10px 20px; + color: #606266; + border: 1px solid #ccc; header { - background-color: #09152f; - border: 1pox solid #fff; + background-color: white; .header-nav { line-height: 40px; - padding: 0 30px; + //padding: 0 30px; display: flex; justify-content: space-between; font-weight: 650; } .header-content { - padding: 0 40px; + //padding: 0 40px; display: flex; line-height: 100px; justify-content: space-between; @@ -429,10 +357,10 @@ flex: 2; color: #1d3f57; - &::v-deep .el-input__inner { - background-color: #09152f; - border: 1px solid #17324c; - } + //&::v-deep .el-input__inner { + // background-color: #09152f; + // border: 1px solid #17324c; + //} } } @@ -453,10 +381,9 @@ } main { - background-color: #09152f; + background-color: white; margin-top: 20px; padding-bottom: 50px; - border: 1pox solid #fff; .el-link { color: #4b9bb7; @@ -481,13 +408,15 @@ display: flex; justify-content: space-between; align-items: center; - padding: 0 20px; + //padding: 0 20px; .funs { display: flex; - + .funs-first{ + margin-left: 0!important; + } .funs-sp { - border: 1px solid #17324c; + border: 1px solid #DCDFE6; } .funsItem { @@ -508,10 +437,10 @@ width: 120px; } - &::v-deep .el-input__inner { - border: none; - background-color: #09152f; - } + //&::v-deep .el-input__inner { + // border: none; + // background-color: #09152f; + //} &:hover { border: 1px solid #4b9bb7; @@ -530,34 +459,34 @@ 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-pagination { + // + // &::v-deep li, + // &::v-deep .btn-prev, + // &::v-deep .btn-next { + // background-color: #071f39; + // color: #4b9bb7; + // } + // + // &::v-deep .active { + // background-color: #409eff; + // color: #fff; + // } + //} } } .el-table { - color: #4b9bb7; - font-size: 10px; + // color: #606266; + // font-size: 10px; - &::v-deep .el-table__empty-block { - background-color: #09152f; - } - - &::v-deep .el-table__empty-block { - color: #4b9bb7; - } + //&::v-deep .el-table__empty-block { + // background-color: #09152f; + //} + // + //&::v-deep .el-table__empty-block { + // color: #4b9bb7; + //} .operation { display: flex; @@ -565,20 +494,20 @@ .line { padding: 0 5px; } - + color: var(--operation-color); span:hover { cursor: pointer; } } } - .el-table::v-deep .warning-row { - background: #06122c; - } - - .el-table::v-deep .success-row { - background: #071f39; - } + //.el-table::v-deep .warning-row { + // background: #06122c; + //} + // + //.el-table::v-deep .success-row { + // background: #071f39; + //} &::v-deep .switchStyle .el-switch__label { position: absolute; @@ -610,10 +539,10 @@ } } - &::v-deep .el-dialog__header, - &::v-deep .el-dialog__body { - background-color: #06122c; - } + //&::v-deep .el-dialog__header, + //&::v-deep .el-dialog__body { + // background-color: #06122c; + //} &::v-deep .el-dialog__header { display: flex; @@ -623,18 +552,17 @@ line-height: 60px; } - &::v-deep .el-dialog__title { - color: #4b9bb7; - } + //&::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> \ No newline at end of file +</style> -- Gitblit v1.8.0