Commit beb33f5a authored by zhengke's avatar zhengke

修改

parent f9aa2ab4
import request from '../../utils/request'
/**
* 获取短信流水分页列表
*/
export function getMsgPage(data) {
return request({
url: '/Msg/GetMsgLogPageList',
method: 'post',
data
});
}
/**
* 获取短信配置分页列表
*/
export function getConfigPage(data) {
return request({
url: '/Msg/GetMsgBasePageList',
method: 'post',
data
});
}
/**
* 新增修改短信配置
*/
export function EditMsgConfig(data) {
return request({
url: '/Msg/SetMsgBase',
method: 'post',
data
});
}
...@@ -10,8 +10,7 @@ ...@@ -10,8 +10,7 @@
<div class="row wrap"> <div class="row wrap">
<div class="col-12" style="margin-bottom:10px;"> <div class="col-12" style="margin-bottom:10px;">
存储位置 存储位置
<q-radio v-model="objOption.StoreType" :val="1" label="腾讯云COS" /> <q-radio v-model="objOption.StoreType" v-for="item in statusData" :val="item.Id" :label="item.Name" />
<q-radio v-model="objOption.StoreType" :val="2" label="阿里云" />
</div> </div>
<q-input filled stack-label maxlength="100" :dense="false" v-model="objOption.Bucket" ref="Bucket" <q-input filled stack-label maxlength="100" :dense="false" v-model="objOption.Bucket" ref="Bucket"
class="col-6 q-pr-lg q-pb-lg" label="空间名称(Bucket)" :rules="[val => !!val || '请填写空间名称']" /> class="col-6 q-pr-lg q-pb-lg" label="空间名称(Bucket)" :rules="[val => !!val || '请填写空间名称']" />
...@@ -39,6 +38,10 @@ ...@@ -39,6 +38,10 @@
import { import {
setSiteConfig, setSiteConfig,
} from '../../api/system/sitecfg' } from '../../api/system/sitecfg'
import {
getConfigStatus,
} from '../../api/system/index'
export default { export default {
props: { props: {
saveObj: { saveObj: {
...@@ -60,6 +63,7 @@ ...@@ -60,6 +63,7 @@
SecretKey: '', SecretKey: '',
ImgStyle: '', ImgStyle: '',
}, },
statusData:[], //状态数据
} }
}, },
computed: { computed: {
...@@ -74,6 +78,8 @@ ...@@ -74,6 +78,8 @@
this.objOption.SecretId=this.saveObj.SecretId; this.objOption.SecretId=this.saveObj.SecretId;
this.objOption.SecretKey=this.saveObj.SecretKey; this.objOption.SecretKey=this.saveObj.SecretKey;
} }
this.getStatus();
}, },
methods: { methods: {
//保存数据 //保存数据
...@@ -137,6 +143,15 @@ ...@@ -137,6 +143,15 @@
this.$emit('close') this.$emit('close')
this.persistent = false this.persistent = false
}, },
//获去下拉状态
getStatus(){
getConfigStatus().then(res => {
if(res.Code==1){
this.statusData = res.Data;
}
})
},
}, },
} }
......
<style>
.msgmanage .order_List {
width: 380px;
height: 200px;
/* border:1px solid #022C42; */
box-shadow: #dee5ec 0px 0px 5px;
border-radius: 5px;
padding: 5px 20px;
background-color: #fff;
position: relative;
}
.msgmanage .order_top {
padding: 5px 0 10px 0;
display: flex;
align-items: center;
color: #111111;
border-bottom: 1px solid #E2E2E2;
}
.msgmanage .order_info {
color: #999999;
margin-top: 15px;
}
.msgmanage .sendStatus {
font-weight: bold;
margin-left: 10px;
}
.lineMsg {
display: inline-block;
width: 100px;
}
.msgmanage .lineMsg::after {
content: "";
display: block;
background: #000;
width: 100%;
height: 1px;
}
.order_Success {
position: absolute;
bottom: 20px;
align-items: center;
display: flex;
width: 90%;
justify-content: space-between;
}
.SuccessInput {
border: none;
width: 150px;
outline: none;
border-bottom: 1px solid #d1d1d1;
}
.drawerTop {
width: 100%;
height: 50px;
display: flex;
justify-content: space-between;
background-color: #F0F5FB;
padding: 5px 10px;
align-items: center;
}
.drawer_Span {
font-weight: bold;
font-size: 14px;
margin-left: 5px;
}
</style>
<template> <template>
<div class="page-body"> <div class="page-body msgmanage">
<div class="page-search row items-center"> <q-tabs style="margin-bottom:20px;" v-model="tabCheck" @input="tabChange()" narrow-indicator dense align="left"
<div class="col row wrap q-mr-lg q-col-gutter-md"> class="text-primary">
<div class="col-3"> <q-tab :ripple="false" name="first" label="短信流水" />
<q-input clearable standout="bg-primary text-white" v-model="msg.RoleName" label="收信人/电话" /> <q-tab :ripple="false" name="second" label="短信配置" />
</div> <q-tab :ripple="false" name="third" label="短信设置" />
<div class="col-3"> </q-tabs>
<q-input clearable standout="bg-primary text-white" v-model="msg.content" label="内容" /> <template v-if="tabCheck=='first'">
<div class="page-search row items-center">
<div class="col row wrap q-mr-lg q-col-gutter-md">
<div class="col-3">
<q-input clearable @change="getList" standout="bg-primary text-white" v-model="waterMsg.ReceiverName"
label="收信人/电话" />
</div>
<div class="col-3">
<q-input clearable @change="getList" standout="bg-primary text-white" v-model="waterMsg.SendContent"
label="内容" />
</div>
<div class="col-3">
<q-input filled v-model="waterMsg.StartDate" mask="date" label="开始日期">
<template v-slot:append>
<q-icon name="event" class="cursor-pointer">
<q-popup-proxy ref="qDateProxy" transition-show="scale" transition-hide="scale">
<q-date v-model="waterMsg.StartDate" @input="getList(),() => $refs.qDateProxy.hide()" />
</q-popup-proxy>
</q-icon>
</template>
</q-input>
</div>
<div class="col-3">
<q-input filled v-model="waterMsg.EndDate" mask="date" label="结束日期">
<template v-slot:append>
<q-icon name="event" class="cursor-pointer">
<q-popup-proxy ref="qDateProxy2" transition-show="scale" transition-hide="scale">
<q-date v-model="waterMsg.EndDate" @input="getList(),() => $refs.qDateProxy2.hide()" />
</q-popup-proxy>
</q-icon>
</template>
</q-input>
</div>
<div class="col-3">
<q-select @input="getList" standout="bg-primary text-white" v-model="waterMsg.SendStatus"
:options="ShowOpts" emit-value map-options label="发送状态" />
</div>
</div> </div>
<div class="col-3"> </div>
<q-input filled v-model="msg.date" mask="date"> <div class="page-content">
<template v-slot:append> <q-table :pagination="waterMsg" :loading="loading" no-data-label="暂无相关数据" flat class="sticky-tow-column-table"
<q-icon name="event" class="cursor-pointer"> separator="none" title="" :data="data" :columns="columns" row-key="name">
<q-popup-proxy ref="qDateProxy" transition-show="scale" transition-hide="scale"> <template v-slot:body-cell-SendStatus="props">
<q-date v-model="msg.date" @input="() => $refs.qDateProxy.hide()" /> <q-td :props="props" style="display:flex;align-items:center;">
</q-popup-proxy> <template v-if="props.row.SendStatus==2">
</q-icon> <img src="../../assets/images/myimg/success.png" alt="" />
</template> <span class="sendStatus" style="color:#02C499;">发送成功</span>
</q-input> </template>
<template v-if="props.row.SendStatus==1">
<img src="../../assets/images/myimg/failed.png" alt="" />
<span class="sendStatus" style="color:#F72E52;">发送失败</span>
</template>
</q-td>
</template>
<template v-slot:bottom>
<q-pagination class="full-width justify-end" v-model="waterMsg.pageIndex" color="primary" :max="pageCount"
:input="true" @input="changePage" />
</template>
</q-table>
</div>
</template>
<template v-if="tabCheck=='second'">
<div class="page-search row items-center">
<div class="col row wrap q-mr-lg q-col-gutter-md">
<div class="col-3">
<q-select @input="getConfigList" standout="bg-primary text-white" v-model="ConfigMsg.StoreType"
:options="statusData1" option-value="Id" option-label="Name" emit-value map-options label="类型" />
</div>
</div> </div>
<div class="col-3"> <div class="page-option">
<q-select @input="" standout="bg-primary text-white" v-model="msg.Status" :options="ShowOpts" emit-value <q-btn color="accent" class="q-mr-md" icon="add" label="新增配置" @click="addConfig(null)" />
map-options label="发送状态" />
</div> </div>
</div> </div>
</div> <div class="page-content">
<div class="page-content"> <q-table :pagination="ConfigMsg" :loading="loading2" no-data-label="暂无相关数据" flat class="sticky-tow-column-table"
<q-table :pagination="msg" :loading="loading" no-data-label="暂无相关数据" flat class="sticky-tow-column-table" separator="none" title="" :data="configData" :columns="columns2" row-key="name">
separator="none" title="" :data="data" :columns="columns" row-key="name"> <template v-slot:body-cell-SendStatus="props">
<template v-slot:body-cell-Status="props"> <q-td :props="props" style="display:flex;align-items:center;">
<q-td :props="props"> <template v-if="props.row.SendStatus==2">
<img src="../../assets/images/myimg/success.png" alt="" />
<span class="sendStatus" style="color:#02C499;">发送成功</span>
</template>
<template v-if="props.row.SendStatus==1">
<img src="../../assets/images/myimg/failed.png" alt="" />
<span class="sendStatus" style="color:#F72E52;">发送失败</span>
</template>
</q-td>
</template>
<template v-slot:body-cell-optioned="props">
<q-td :props="props"> <q-td :props="props">
<q-toggle size="md" color="primary" :false-value="1" :true-value="0" v-model="props.row.Status" <q-btn flat size="xs" icon="edit" color="accent" style="font-weight:400" label="编辑"
title="注意:关闭后,分类将无法正常使用." /> @click="EditConfig(props.row)" />
</q-td> </q-td>
</q-td> </template>
</template> <template v-slot:bottom>
<template v-slot:bottom> <q-pagination class="full-width justify-end" v-model="ConfigMsg.pageIndex" color="primary"
<q-pagination class="full-width justify-end" v-model="msg.pageIndex" color="primary" :max="pageCount" :max="pageCountConfig" :input="true" @input="changePage2" />
:input="true" @input="changePage" /> </template>
</template> </q-table>
</q-table> </div>
</div> </template>
<template v-if="tabCheck=='third'">
<div>
<div class="order_List">
<div class="order_top">
<img src="../../assets/images/myimg/gou.png" />
<span style="margin-left:10px;">下单成功通知</span>
</div>
<div class="order_info">
尊敬的用户你好,你的报名信息已录入成功
</div>
<div class="order_Success">
<div>
签名设置:
<input type="text" class="SuccessInput" />
</div>
<div>
<q-toggle size="md" color="primary" :false-value="1" :true-value="2" />
</div>
</div>
</div>
</div>
</template>
<el-drawer title="我是标题" :visible.sync="drawer" :with-header="false">
<div class="drawerTop">
<div style="display:flex;align-items:center;">
<img src="../../assets/images/myimg/success.png" alt="" />
<span class="drawer_Span">短信账号配置</span>
</div>
<div>
<i class="iconfont icon-guanbi" @click="drawer=false"></i>
</div>
</div>
<div style="padding:20px 15px;">
<q-radio v-model="configEditMsg.StoreType" style="margin-right:20px;" v-for="item in statusData" :val="item.Id"
:label="item.Name" />
</div>
<div class="col-12" style="margin:0 24px;">
<q-input filled stack-label maxlength="20" :dense="false" v-model="configEditMsg.MsgBase.RegionId"
class="col-12" label="地区" :rules="[val => !!val || '请填写地区']" />
</div>
<div class="col-12" style="margin:20px 24px;">
<q-input filled stack-label maxlength="20" :dense="false" v-model="configEditMsg.MsgBase.Domain"
class="col-12" label="域名" :rules="[val => !!val || '请填写域名']" />
</div>
<div filled class="col-12" style="margin:20px 24px;">
<q-input filled stack-label maxlength="20" :dense="false" v-model="configEditMsg.MsgBase.AccessKeyId"
class="col-12" label="秘钥Key" :rules="[val => !!val || '请填写秘钥Key']" />
</div>
<div filled class="col-12" style="margin:0 24px;">
<q-input filled stack-label maxlength="20" :dense="false" v-model="configEditMsg.MsgBase.AccessSecret"
class="col-12" label="秘钥Secret" :rules="[val => !!val || '请填写秘钥Secret']" />
</div>
<div style="margin:30px 10px 0 0;text-align:right;">
<q-btn color="accent" class="q-mr-md" icon="add" label="保存" @click="saveConfig()" />
</div>
</el-drawer>
</div> </div>
</template> </template>
<script> <script>
import { import {
queryRolePage, getMsgPage,
setRoleStatus getConfigPage,
} from '../../api/system/index' EditMsgConfig
} from '../../api/system/msg';
import {
getConfigStatus
} from '../../api/system/index';
export default { export default {
meta: { meta: {
title: "角色管理" title: "短信管理"
}, },
data() { data() {
return { return {
tabCheck: 'first',
//短信流水column
columns: [{ columns: [{
name: 'RoleId', name: 'SendStatus',
label: '状态', label: '状态',
field: 'RoleId', field: 'SendStatus',
align: 'left' align: 'left'
}, },
{ {
name: 'RoleName', name: 'ReceiverName',
required: true, required: true,
field: 'ReceiverName',
label: '目标', label: '目标',
align: 'left', align: 'left',
}, },
{ {
name: 'RoleIntro', name: 'SendContent',
label: '描述',
field: 'RoleIntro',
align: 'left'
},
{
name: 'CreateByName',
label: '内容', label: '内容',
field: 'CreateByName', field: 'SendContent',
align: 'left' align: 'left'
}, },
{ {
...@@ -87,55 +288,195 @@ ...@@ -87,55 +288,195 @@
align: 'left' align: 'left'
}, },
{ {
name: 'Status', name: 'CreateByName',
label: '创建人', label: '创建人',
align: 'left', align: 'left',
field: 'Status' field: 'CreateByName'
} }
], ],
//短信配置column
columns2: [{
name: 'StoreType',
label: '类型',
field: 'StoreType',
align: 'left'
}, {
name: 'config',
label: '配置信息 ',
field: 'config',
align: 'left'
}, {
name: 'optioned',
label: '操作',
field: 'StoreType'
}],
data: [], data: [],
// loading: true, loading: true,
loading: false, loading2: true,
msg: { waterMsg: {
pageIndex: 1, pageIndex: 1,
pageSize: 12, pageSize: 12,
rowsPerPage: 12, SendStatus: 0, //发送状态
RoleName: "", StartDate: '', //开始时间
Status: "-1", EndDate: '', //结束时间
content: '', ReceiverName: '', //接收人
date: '2020-12-2', SendContent: '' //发送内容
}, },
ShowOpts: [{ ShowOpts: [{
label: '全部', label: '全部',
value: '-1' value: 0
}, },
{ {
label: '正常', label: '失败',
value: '0' value: 1
}, },
{ {
label: '删除', label: '成功',
value: '1' value: 2
} }
], ],
drawer: false, //显示右侧抽屉
ConfigMsg: {
PageIndex: 1,
PageSize: 12,
StoreType: 0 //类型
},
configEditMsg: {
ID: 0,
StoreType: 1,
MsgBase: {
RegionId: '', //地区
Domain: '', //域名
AccessKeyId: '', //秘钥Key
AccessSecret: '' //秘钥Secret
}
},
statusData: [], //发送状态
statusData1:[],
//短信配置数据
configData: [],
pageCountConfig: 0, //配置 页数
} }
}, },
mounted() {}, mounted() {
this.getStatus();
this.getList();
},
methods: { methods: {
//获取数据 tabChange() {
if (this.tabCheck == 'first') {
this.getList();
} else if (this.tabCheck == 'second') {
this.getConfigList();
}
},
//获取短信流水数据
getList() { getList() {
this.loading = false;
getMsgPage(this.waterMsg).then(res => {
console.log(res, '数据');
this.data = res.Data.PageData;
this.loading = false;
this.pageCount = res.Data.PageCount;
}).catch(() => {
this.loading = false
})
}, },
//翻页 //翻页
changePage() { changePage() {
this.waterMsg.pageIndex = val;
this.getList()
},
//翻页!
changePage2() {
this.ConfigMsg.pageIndex = val;
this.getConfigList()
}, },
//重新查询 //获去下拉状态
resetSearch() { getStatus() {
this.msg.pageIndex = 1; getConfigStatus().then(res => {
this.getList(); if (res.Code == 1) {
this.statusData = res.Data;
this.statusData1 = res.Data;
let obj={
Name:'全部',
Id:0
}
this.statusData1.unshift(obj);
}
})
},
//获取短信配置数据
getConfigList() {
this.loading2 = true;
getConfigPage(this.ConfigMsg).then(res => {
console.log(res, '数据2');
this.loading2 = false;
if (res.Code == 1) {
this.configData = res.Data.PageData;
this.pageCountConfig = res.Data.PageCount;
}
}).catch(() => {
this.loading2 = false;
})
},
//新增配置
addConfig() {
this.drawer = true;
}, },
//修改配置
EditConfig(obj){
},
//保存配置
saveConfig() {
if (this.configEditMsg.MsgBase.RegionId == '') {
this.$q.notify({
type: 'negative',
position: "top",
message: `请填写地区`
})
return;
}
if (this.configEditMsg.MsgBase.Domain == '') {
this.$q.notify({
type: 'negative',
position: "top",
message: `请填写域名`
})
return;
}
if (this.configEditMsg.MsgBase.AccessKeyId == '') {
this.$q.notify({
type: 'negative',
position: "top",
message: `请填写秘钥Key`
})
return;
}
if (this.configEditMsg.MsgBase.AccessSecret == '') {
this.$q.notify({
type: 'negative',
position: "top",
message: `请填写秘钥Secret`
})
return;
}
EditMsgConfig(this.configEditMsg).then(res => {
console.log(res,'数据');
this.$q.notify({
type: 'iconfont icon-chenggong',
position: "top",
message: `保存成功`
})
this.drawer=false;
this.getConfigList();
}).catch(() => {
})
}
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment