ソースを参照

短信复制编辑

hanchaobo 2 年 前
コミット
0f9cfcd432
共有3 個のファイルを変更した115 個の追加20 個の削除を含む
  1. 8
    0
      src/api/deliveryRecord/deliveryRecord.js
  2. 56
    0
      src/views/deliveryRecord/components/resend.vue
  3. 51
    20
      src/views/deliveryRecord/smsRecord.vue

+ 8
- 0
src/api/deliveryRecord/deliveryRecord.js ファイルの表示

@@ -17,4 +17,12 @@ export function smsList(data,params) {
17 17
         data: data,
18 18
         params:params
19 19
     })
20
+}
21
+//更新短信内容
22
+export function updateSendContent(data) {
23
+    return request({
24
+        url: 'shortMessage/updateSendContent',
25
+        method: 'post',
26
+        data: data,
27
+    })
20 28
 }

+ 56
- 0
src/views/deliveryRecord/components/resend.vue ファイルの表示

@@ -0,0 +1,56 @@
1
+<template>
2
+    <div>
3
+        <el-dialog title="修改内容" :visible="resendVidable" v-if="resendVidable" @close="cancel" center
4
+            :distroy-on-close="true">
5
+            <div>
6
+                <el-input type="textarea" :rows="6" placeholder="请输入内容" v-model="sendData">
7
+                </el-input>
8
+            </div>
9
+            <div slot="footer" class="dialog-footer">
10
+                <el-button @click="cancel" class="endbutton1" round><span>取 消</span></el-button>
11
+                <el-button @click="submitSend" class="endbutton1" type="primary" round><span>确 认</span></el-button>
12
+            </div>
13
+        </el-dialog>
14
+    </div>
15
+</template>
16
+
17
+<script>
18
+import {
19
+    updateSendContent,
20
+} from "@/api/deliveryRecord/deliveryRecord.js";
21
+export default {
22
+    props: ["resendVidable", "rowData","queryParams"],
23
+    data() {
24
+        return {
25
+            sendData:''
26
+        };
27
+    },
28
+    watch: {
29
+        resendVidable(val){
30
+            if(val){
31
+                this.sendData = this.rowData.sendContent;
32
+            }
33
+        }
34
+    },
35
+    methods: {
36
+        cancel() {
37
+            this.$emit("cancelSend");
38
+        },
39
+        submitSend() {
40
+            this.updateSendContentFn({
41
+                id:this.rowData.id,
42
+                sendContent:this.sendData
43
+            })
44
+        },
45
+        updateSendContentFn(data){
46
+            updateSendContent(data).then(res=>{
47
+                this.$message.success('更新成功');
48
+                this.$emit("cancelSend");
49
+                this.$emit('getList',this.queryParams);
50
+            })
51
+        }
52
+    },
53
+};
54
+</script>
55
+
56
+<style lang="scss" scoped></style>

+ 51
- 20
src/views/deliveryRecord/smsRecord.vue ファイルの表示

@@ -2,7 +2,8 @@
2 2
     <div class="app-container">
3 3
         <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px">
4 4
             <el-form-item label="案件编号" prop="caseNum">
5
-                <el-input v-model="queryParams.caseNum" placeholder="请输入案件编号" clearable @keyup.enter.native="handleQuery" />
5
+                <el-input v-model="queryParams.caseNum" placeholder="请输入案件编号" clearable
6
+                    @keyup.enter.native="handleQuery" />
6 7
             </el-form-item>
7 8
             <el-form-item>
8 9
                 <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
@@ -13,32 +14,41 @@
13 14
             <el-table-column label="序号" type="index" align="center">
14 15
                 <template slot-scope="scope">
15 16
                     <span>{{
16
-                        (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1
17
-                    }}</span>
17
+            (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1
18
+        }}</span>
18 19
                 </template>
19 20
             </el-table-column>
20 21
             <el-table-column label="案件编号" align="center" prop="caseNum" :show-overflow-tooltip="true" />
21 22
             <el-table-column label="手机号" align="center" prop="phone" :show-overflow-tooltip="true" />
22 23
             <el-table-column label="发送时间" align="center" prop="sendTime" />
23 24
             <el-table-column label="发送状态" align="center" prop="sendStatus" />
24
-            <el-table-column label="发送内容" align="center" prop="sendContent" />
25
+            <el-table-column label="发送内容" align="center" prop="sendContent" :show-overflow-tooltip="true"/>
26
+            <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
27
+                <template slot-scope="scope">
28
+                    <el-button size="mini" @click="copyContent(scope.row.sendContent)" type="text"
29
+                        icon="el-icon-document-copy">复制内容</el-button>
30
+                    <el-button size="mini" @click="resend(scope.row)" type="text" icon="el-icon-s-promotion">编辑内容</el-button>
31
+                </template>
32
+            </el-table-column>
25 33
         </el-table>
26
-        <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})" />
28
-       
34
+        <resend :resendVidable="resendVidable" :rowData="rowData" @getList="getList" @cancelSend="cancelSend" :queryParams="queryParams"></resend>
35
+        <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum"
36
+            :limit.sync="queryParams.pageSize"
37
+            @pagination="getList({ caseNum: queryParams.caseNum }, { pageNum: queryParams.pageNum, pageSize: queryParams.pageSize })" />
38
+
29 39
     </div>
30 40
 </template>
31
-  
41
+
32 42
 <script>
33 43
 import {
34 44
     smsList,
35 45
 } from "@/api/deliveryRecord/deliveryRecord.js";
36
-
46
+import resend from "./components/resend.vue";
37 47
 import { getDicts } from '@/api/system/dict/data.js'
38 48
 export default {
39 49
     name: "paymentList",
40 50
     dicts: ["case_status"],
41
-    components: { },
51
+    components: {resend},
42 52
     data() {
43 53
         return {
44 54
             queryParams: {
@@ -55,18 +65,39 @@ export default {
55 65
             // 校验表单
56 66
             rules: {},
57 67
             dataList: [],
68
+            rowData:{},
69
+            resendVidable:false
58 70
         };
59 71
     },
60 72
     created() {
61 73
         getDicts("case_status").then(res => {
62
-            this.getList({caseNum:this.queryParams.caseNum},{pageNum:this.queryParams.pageNum,pageSize:this.queryParams.pageSize});
74
+            this.getList({ caseNum: this.queryParams.caseNum }, { pageNum: this.queryParams.pageNum, pageSize: this.queryParams.pageSize });
63 75
         })
64 76
     },
65 77
     methods: {
78
+        /** 复制内容 */
79
+        copyContent(row) {
80
+            const el = document.createElement('textarea');
81
+            el.value = row;
82
+            document.body.appendChild(el);
83
+            el.select();
84
+            document.execCommand('copy');
85
+            document.body.removeChild(el);
86
+            this.$message.success('复制成功');
87
+        },
88
+        /**重新发送 */
89
+        resend(row){
90
+            this.resendVidable = true;
91
+            this.rowData = row;
92
+        },
93
+        /**关闭弹窗 */
94
+        cancelSend(){
95
+            this.resendVidable = false;
96
+        },
66 97
         /** 搜索按钮操作 */
67 98
         handleQuery() {
68 99
             this.queryParams.pageNum = 1;
69
-            this.getList({caseNum:this.queryParams.caseNum},{pageNum:this.queryParams.pageNum,pageSize:this.queryParams.pageSize});
100
+            this.getList({ caseNum: this.queryParams.caseNum }, { pageNum: this.queryParams.pageNum, pageSize: this.queryParams.pageSize });
70 101
         },
71 102
         /** 重置按钮操作 */
72 103
         resetQuery() {
@@ -74,18 +105,18 @@ export default {
74 105
             this.handleQuery();
75 106
         },
76 107
         // 查询列表数据
77
-        getList(data,params) {
108
+        getList(data, params) {
78 109
             this.loading = true;
79
-            smsList(data,params).then((response) => {
110
+            smsList(data, params).then((response) => {
80 111
                 this.dataList = response.rows;
81
-                this.dataList.forEach(item=>{
82
-                    if(item.sendStatus == 0){
112
+                this.dataList.forEach(item => {
113
+                    if (item.sendStatus == 0) {
83 114
                         item.sendStatus = "发送失败"
84
-                    }else if(item.sendStatus == 1){
115
+                    } else if (item.sendStatus == 1) {
85 116
                         item.sendStatus = "已送达"
86
-                    }else if(item.sendStatus == 2){
117
+                    } else if (item.sendStatus == 2) {
87 118
                         item.sendStatus = "已读取"
88
-                    }else{
119
+                    } else {
89 120
                         item.sendStatus = "发送失败"
90 121
                     }
91 122
                 })
@@ -96,5 +127,5 @@ export default {
96 127
     },
97 128
 };
98 129
 </script>
99
-  
130
+
100 131
 <style lang="scss" scoped></style>