短信修改

This commit is contained in:
gyj
2024-05-29 10:01:34 +08:00
parent 5d9919fbfa
commit f4cec02f6e
3 changed files with 153 additions and 10 deletions
+24
View File
@@ -17,4 +17,28 @@ export function smsList(data,params) {
data: data,
params:params
})
}
// 分页查询短信
export function recordList(data) {
return request({
url: '/shortMessage/recordList',
method: 'get',
params: data
})
}
//更新短信内容
export function updateSendContent(data) {
return request({
url: 'shortMessage/updateSendContent',
method: 'post',
data: data,
})
}
// 重新发送短信
export function reSendShortMessage(data) {
return request({
url: 'shortMessage/reSendShortMessage',
method: 'post',
data: data,
})
}
@@ -0,0 +1,69 @@
<template>
<div>
<el-dialog title="修改内容" :visible="resendVidable" v-if="resendVidable" @close="cancel" center
:distroy-on-close="true">
<div style="margin-bottom: 30px;"><span style="font-weight: bold;">发送内容:</span>{{ sendData }}</div>
<el-form label-width="100px">
<el-form-item v-for="(item,index) in rowData.templateParams" :label="item.paramName" :key="item.id">
<el-input v-model="rowData.templateParams[index].paramValue" @input="changeContent"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel" class="endbutton1" round><span>取 消</span></el-button>
<el-button @click="submitSend" class="endbutton1" type="primary" round><span>确 认</span></el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import {
updateSendContent,
} from "@/api/deliveryRecord/deliveryRecord.js";
export default {
props: ["resendVidable", "rowData","queryParams"],
data() {
return {
sendData:'',
param:"",
paramValue:""
};
},
watch: {
resendVidable(val){
if(val){
this.sendData = this.rowData.sendContent;
}
}
},
methods: {
cancel() {
this.$emit("cancelSend");
},
submitSend() {
console.log(this.rowData)
this.updateSendContentFn({
id:this.rowData.id,
templateParams:this.rowData.templateParams
})
},
updateSendContentFn(data){
updateSendContent(data).then(res=>{
this.$message.success('更新成功');
this.$emit("cancelSend");
this.$emit('getList',this.queryParams);
})
},
changeContent(){
let templateContent = this.rowData.templateContent
this.rowData.templateParams.forEach(item => {
templateContent = templateContent.replace(item.param,item.paramValue)
});
this.sendData = templateContent
}
},
};
</script>
<style lang="scss" scoped></style>
+60 -10
View File
@@ -22,7 +22,16 @@
<el-table-column label="发送时间" align="center" prop="sendTime" />
<el-table-column label="发送状态" align="center" prop="sendStatus" />
<el-table-column label="发送内容" align="center" prop="sendContent" :show-overflow-tooltip="true" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" @click="copyContent(scope.row.sendContent)" type="text"
icon="el-icon-document-copy">复制内容</el-button>
<el-button size="mini" @click="resend(scope.row)" type="text" icon="el-icon-s-promotion">编辑内容</el-button>
<el-button v-if="scope.row.sendStatus == '发送失败'|| scope.row.sendStatus == '发送中'" size="mini" type="text" @click="resendMessage(scope.row)" icon="el-icon-s-promotion">重新发送</el-button>
</template>
</el-table-column>
</el-table>
<resend :resendVidable="resendVidable" :rowData="rowData" @getList="getList" @cancelSend="cancelSend" :queryParams="queryParams"></resend>
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
@pagination="getList({caseNum:queryParams.caseNum},{pageNum:queryParams.pageNum,pageSize:queryParams.pageSize})" />
@@ -31,20 +40,22 @@
<script>
import {
smsList,
recordList,reSendShortMessage
} from "@/api/deliveryRecord/deliveryRecord.js";
import resend from "./components/resend.vue";
import { getDicts } from '@/api/system/dict/data.js'
export default {
name: "paymentList",
dicts: ["case_status"],
components: { },
components: {resend },
data() {
return {
queryParams: {
pageNum: 1,
pageSize: 10,
},
resendVidable:false,
rowData:{},
caseStatus: [],
// 遮罩层
loading: false,
@@ -76,16 +87,16 @@ export default {
// 查询列表数据
getList(data,params) {
this.loading = true;
smsList(data,params).then((response) => {
recordList(data,params).then((response) => {
this.dataList = response.rows;
console.log(this.dataList)
this.dataList.forEach(item=>{
if(item.sendStatus == 0){
item.sendStatus = "发送失败"
}else if(item.sendStatus == 1){
item.sendStatus = "已送达"
console.log(item)
if(item.sendStatus == 1){
item.sendStatus = "发送成功"
}else if(item.sendStatus == 2){
item.sendStatus = "已读取"
}else{
item.sendStatus = "发送中"
}else if(item.sendStatus == 3){
item.sendStatus = "发送失败"
}
})
@@ -93,6 +104,45 @@ export default {
this.loading = false;
});
},
/** 复制内容 */
copyContent(row) {
const el = document.createElement('textarea');
el.value = row;
document.body.appendChild(el);
el.select();
document.execCommand('copy');
document.body.removeChild(el);
this.$message.success('复制成功');
},
/**重新发送 */
resend(row){
console.log(row)
this.resendVidable = true;
this.rowData = row;
},
/**关闭弹窗 */
cancelSend(){
this.resendVidable = false;
},
// 重新发送
resendMessage(row){
console.log(row.sendStatus)
let valuesRow ={
id:row.id,
templateId:row.templateId,
phone:row.phone,
templateParams:row.templateParams
}
this.reSendShortMessageFn(valuesRow)
console.log(valuesRow)
},
reSendShortMessageFn(valuesRow){
reSendShortMessage(valuesRow).then(res=>{
this.$message.success('发送成功');
this.getList({ caseNum: this.queryParams.caseNum }, { pageNum: this.queryParams.pageNum, pageSize: this.queryParams.pageSize });
})
}
},
};
</script>