hanchaobo 2 лет назад
Родитель
Сommit
027fadfd36
2 измененных файлов: 87 добавлений и 14 удалений
  1. 22
    0
      src/api/deliveryRecord/deliveryRecord.js
  2. 65
    14
      src/views/deliveryRecord/smsRecord.vue

+ 22
- 0
src/api/deliveryRecord/deliveryRecord.js Просмотреть файл

@@ -23,6 +23,28 @@ export function smsList(data,params) {
23 23
 export function update(data) {
24 24
     return request({
25 25
         url: 'sendMailRecord/update',
26
+    })
27
+}
28
+// 分页查询短信
29
+export function recordList(data) {
30
+    return request({
31
+        url: '/shortMessage/recordList',
32
+        method: 'get',
33
+        params: data
34
+    })
35
+}
36
+//更新短信内容
37
+export function updateSendContent(data) {
38
+    return request({
39
+        url: 'shortMessage/updateSendContent',
40
+        method: 'post',
41
+        data: data,
42
+    })
43
+}
44
+// 重新发送短信
45
+export function reSendShortMessage(data) {
46
+    return request({
47
+        url: 'shortMessage/reSendShortMessage',
26 48
         method: 'post',
27 49
         data: data,
28 50
     })

+ 65
- 14
src/views/deliveryRecord/smsRecord.vue Просмотреть файл

@@ -22,29 +22,40 @@
22 22
             <el-table-column label="发送时间" align="center" prop="sendTime" />
23 23
             <el-table-column label="发送状态" align="center" prop="sendStatus" />
24 24
             <el-table-column label="发送内容" align="center" prop="sendContent" :show-overflow-tooltip="true" />
25
+            <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
26
+                <template slot-scope="scope">
27
+                    <el-button size="mini" @click="copyContent(scope.row.sendContent)" type="text"
28
+                        icon="el-icon-document-copy">复制内容</el-button>
29
+                    <el-button size="mini" @click="resend(scope.row)" type="text" icon="el-icon-s-promotion">编辑内容</el-button>
30
+                    <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>
31
+                </template>
32
+            </el-table-column>
25 33
         </el-table>
34
+        <resend :resendVidable="resendVidable" :rowData="rowData" @getList="getList" @cancelSend="cancelSend" :queryParams="queryParams"></resend>
26 35
         <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
27
-            @pagination="getList({caseNum:queryParams.caseNum},{pageNum:queryParams.pageNum,pageSize:queryParams.pageSize})" />
36
+            @pagination="getList({caseNum:queryParams.caseNum,pageNum:queryParams.pageNum,pageSize:queryParams.pageSize})" />
28 37
        
29 38
     </div>
30 39
 </template>
31 40
   
32 41
 <script>
33 42
 import {
34
-    smsList,
43
+    recordList,reSendShortMessage
35 44
 } from "@/api/deliveryRecord/deliveryRecord.js";
36
-
45
+import resend from "./components/resend.vue";
37 46
 import { getDicts } from '@/api/system/dict/data.js'
38 47
 export default {
39 48
     name: "paymentList",
40 49
     dicts: ["case_status"],
41
-    components: { },
50
+    components: {resend },
42 51
     data() {
43 52
         return {
44 53
             queryParams: {
45 54
                 pageNum: 1,
46 55
                 pageSize: 10,
47 56
             },
57
+            resendVidable:false,
58
+            rowData:{},
48 59
             caseStatus: [],
49 60
             // 遮罩层
50 61
             loading: false,
@@ -59,14 +70,14 @@ export default {
59 70
     },
60 71
     created() {
61 72
         getDicts("case_status").then(res => {
62
-            this.getList({caseNum:this.queryParams.caseNum},{pageNum:this.queryParams.pageNum,pageSize:this.queryParams.pageSize});
73
+            this.getList({caseNum:this.queryParams.caseNum,pageNum:this.queryParams.pageNum,pageSize:this.queryParams.pageSize});
63 74
         })
64 75
     },
65 76
     methods: {
66 77
         /** 搜索按钮操作 */
67 78
         handleQuery() {
68 79
             this.queryParams.pageNum = 1;
69
-            this.getList({caseNum:this.queryParams.caseNum},{pageNum:this.queryParams.pageNum,pageSize:this.queryParams.pageSize});
80
+            this.getList({caseNum:this.queryParams.caseNum,pageNum:this.queryParams.pageNum,pageSize:this.queryParams.pageSize});
70 81
         },
71 82
         /** 重置按钮操作 */
72 83
         resetQuery() {
@@ -74,18 +85,19 @@ export default {
74 85
             this.handleQuery();
75 86
         },
76 87
         // 查询列表数据
77
-        getList(data,params) {
88
+        getList(data) {
89
+           console.log(data)
78 90
             this.loading = true;
79
-            smsList(data,params).then((response) => {
91
+            recordList(data).then((response) => {
80 92
                 this.dataList = response.rows;
93
+                console.log(this.dataList)
81 94
                 this.dataList.forEach(item=>{
82
-                    if(item.sendStatus == 0){
83
-                        item.sendStatus = "发送失败"
84
-                    }else if(item.sendStatus == 1){
85
-                        item.sendStatus = "已送达"
95
+                    console.log(item)
96
+                    if(item.sendStatus == 1){
97
+                        item.sendStatus = "发送成功"
86 98
                     }else if(item.sendStatus == 2){
87
-                        item.sendStatus = "已读取"
88
-                    }else{
99
+                        item.sendStatus = "发送中"
100
+                    }else if(item.sendStatus == 3){
89 101
                         item.sendStatus = "发送失败"
90 102
                     }
91 103
                 })
@@ -93,6 +105,45 @@ export default {
93 105
                 this.loading = false;
94 106
             });
95 107
         },
108
+          /** 复制内容 */
109
+        copyContent(row) {
110
+            const el = document.createElement('textarea');
111
+            el.value = row;
112
+            document.body.appendChild(el);
113
+            el.select();
114
+            document.execCommand('copy');
115
+            document.body.removeChild(el);
116
+            this.$message.success('复制成功');
117
+        },
118
+          /**重新发送 */
119
+        resend(row){
120
+            console.log(row)
121
+            this.resendVidable = true;
122
+            this.rowData = row;
123
+        },
124
+                /**关闭弹窗 */
125
+        cancelSend(){
126
+            this.resendVidable = false;
127
+        },
128
+                // 重新发送
129
+        resendMessage(row){
130
+            console.log(row.sendStatus)
131
+            let valuesRow ={
132
+                id:row.id,
133
+                templateId:row.templateId,
134
+                phone:row.phone,
135
+                templateParams:row.templateParams
136
+            }
137
+            this.reSendShortMessageFn(valuesRow)
138
+            console.log(valuesRow)
139
+           
140
+        },
141
+        reSendShortMessageFn(valuesRow){
142
+            reSendShortMessage(valuesRow).then(res=>{
143
+                this.$message.success('发送成功');
144
+                this.getList({ caseNum: this.queryParams.caseNum,pageNum: this.queryParams.pageNum, pageSize: this.queryParams.pageSize });
145
+            })
146
+        }
96 147
     },
97 148
 };
98 149
 </script>