hanchaobo 2 lat temu
rodzic
commit
7c9d7010e1

+ 88
- 0
src/views/deliveryRecord/components/emailEdits.vue Wyświetl plik

1
+<template>
2
+    <div>
3
+        <el-dialog title="邮件内容" :visible="emailVidable"  @close="cancel" center
4
+            :distroy-on-close="true">
5
+            <div>
6
+                <el-form>
7
+                    <el-col :span="24">
8
+                        <el-form-item label="邮件主题:" label-width="100px">
9
+                           <div>主题</div>
10
+                        </el-form-item>
11
+                    </el-col>
12
+                     <el-col :span="12">
13
+                        <el-form-item label="收件人:" label-width="100px">
14
+                           <div>收件人</div>
15
+                        </el-form-item>
16
+                    </el-col>
17
+                     <el-col :span="12">
18
+                        <el-form-item label="发件人:" label-width="100px">
19
+                           <div>发件人</div>
20
+                        </el-form-item>
21
+                    </el-col>
22
+                    <el-col :span="24">
23
+                        <el-form-item label="邮件附件:" label-width="100px">
24
+                           <div  style="color: blue; cursor: pointer" @click="viewAttachments">附件</div>
25
+                        </el-form-item>
26
+                    </el-col>
27
+                    <el-col :span="24">
28
+                        <el-form-item label="邮件正文:" label-width="100px">
29
+                            <el-input type="textarea" :rows="4" placeholder="请输入内容" v-model="sendData"></el-input>
30
+                        </el-form-item>
31
+                    </el-col>
32
+                </el-form>
33
+                
34
+            </div>
35
+            <div slot="footer" class="dialog-footer">
36
+                <el-button @click="cancel" class="endbutton1" round><span>取 消</span></el-button>
37
+                <el-button @click="submitSend" class="endbutton1" type="primary" round><span>确 认</span></el-button>
38
+            </div>
39
+        </el-dialog>
40
+    </div>
41
+</template>
42
+
43
+<script>
44
+import {
45
+    updateSendContent,update
46
+} from "@/api/deliveryRecord/deliveryRecord.js";
47
+export default {
48
+    props: ["emailVidable", "emailRow","queryParams"],
49
+    data() {
50
+        return {
51
+            sendData:'',
52
+            fileURL: window.location.origin + "/API",
53
+        };
54
+    },
55
+    watch: {
56
+        emailVidable(val){
57
+            if(val){
58
+                this.sendData = this.emailRow.mailContent;
59
+            }
60
+        }
61
+    },
62
+    methods: {
63
+        cancel() {
64
+            this.$emit("cancelEmail");
65
+        },
66
+        submitSend() {
67
+            console.log(this.emailRow.mailContent)
68
+            this.updateSendContentFn({
69
+                id:this.emailRow.id,
70
+                mailContent:this.sendData
71
+            })
72
+        },
73
+        updateSendContentFn(data){
74
+            update(data).then(res=>{
75
+                this.$message.success('更新成功');
76
+                this.$emit("cancelEmail");
77
+                this.$emit('getList',this.queryParams);
78
+            })
79
+        },
80
+        // 查看附件下载附件
81
+        viewAttachments(val){
82
+            window.open(this.fileURL + val);
83
+        }
84
+    },
85
+};
86
+</script>
87
+
88
+<style lang="scss" scoped></style>

+ 69
- 0
src/views/deliveryRecord/components/resend.vue Wyświetl plik

1
+<template>
2
+    <div>
3
+        <el-dialog title="修改内容" :visible="resendVidable" v-if="resendVidable" @close="cancel" center
4
+            :distroy-on-close="true">
5
+            <div style="margin-bottom: 30px;"><span style="font-weight: bold;">发送内容:</span>{{ sendData }}</div>
6
+            <el-form label-width="100px">
7
+                <el-form-item v-for="(item,index) in rowData.templateParams" :label="item.paramName" :key="item.id"> 
8
+                    <el-input v-model="rowData.templateParams[index].paramValue" @input="changeContent"></el-input>
9
+                </el-form-item>
10
+            </el-form>
11
+            <div slot="footer" class="dialog-footer">
12
+                <el-button @click="cancel" class="endbutton1" round><span>取 消</span></el-button>
13
+                <el-button @click="submitSend" class="endbutton1" type="primary" round><span>确 认</span></el-button>
14
+            </div>
15
+        </el-dialog>
16
+    </div>
17
+</template>
18
+
19
+<script>
20
+import {
21
+    updateSendContent,
22
+} from "@/api/deliveryRecord/deliveryRecord.js";
23
+export default {
24
+    props: ["resendVidable", "rowData","queryParams"],
25
+    data() {
26
+        return {
27
+            sendData:'',
28
+            param:"",
29
+            paramValue:""
30
+
31
+        };
32
+    },
33
+    watch: {
34
+        resendVidable(val){
35
+            if(val){
36
+                this.sendData = this.rowData.sendContent;
37
+            }
38
+        }
39
+    },
40
+    methods: {
41
+        cancel() {
42
+            this.$emit("cancelSend");
43
+        },
44
+        submitSend() {
45
+            console.log(this.rowData)
46
+            this.updateSendContentFn({
47
+                id:this.rowData.id,
48
+                templateParams:this.rowData.templateParams
49
+            })
50
+        },
51
+        updateSendContentFn(data){
52
+            updateSendContent(data).then(res=>{
53
+                this.$message.success('更新成功');
54
+                this.$emit("cancelSend");
55
+                this.$emit('getList',this.queryParams);
56
+            })
57
+        },
58
+        changeContent(){
59
+            let templateContent = this.rowData.templateContent
60
+            this.rowData.templateParams.forEach(item => {
61
+                templateContent = templateContent.replace(item.param,item.paramValue)
62
+            });
63
+           this.sendData = templateContent
64
+        }
65
+    },
66
+};
67
+</script>
68
+
69
+<style lang="scss" scoped></style>

+ 35
- 2
src/views/deliveryRecord/emailRecord.vue Wyświetl plik

27
             <!-- 缴费人 -->
27
             <!-- 缴费人 -->
28
             <!-- <el-table-column label="案件状态" align="center" prop="caseStatusName" /> -->
28
             <!-- <el-table-column label="案件状态" align="center" prop="caseStatusName" /> -->
29
             <el-table-column label="内容" align="center" prop="mailContent"></el-table-column>
29
             <el-table-column label="内容" align="center" prop="mailContent"></el-table-column>
30
+            <el-table-column label="操作" align="center">
31
+                <template  slot-scope="scope">
32
+                    <el-button size="mini" type="text" @click="emailEditing(scope.row)" icon="el-icon-s-promotion">邮箱编辑</el-button>
33
+                    <el-button v-if="scope.row.sendStatus == '未发送'" size="mini" type="text" @click="resendCounts(scope.row)" icon="el-icon-s-promotion">重新发送</el-button>
34
+                </template>
35
+            </el-table-column>
30
         </el-table>
36
         </el-table>
37
+        <emailEdits :emailVidable="emailVidable" @cancelEmail="cancelEmail"   @getList="getList" :queryParams="queryParams" :emailRow="emailRow"></emailEdits>
31
         <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
38
         <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
32
             @pagination="getList(queryParams)" />
39
             @pagination="getList(queryParams)" />
33
 
40
 
38
 import {
45
 import {
39
     emailList,
46
     emailList,
40
 } from "@/api/deliveryRecord/deliveryRecord.js";
47
 } from "@/api/deliveryRecord/deliveryRecord.js";
41
-
48
+import emailEdits from "./components/emailEdits.vue";
42
 import { getDicts } from '@/api/system/dict/data.js'
49
 import { getDicts } from '@/api/system/dict/data.js'
43
 export default {
50
 export default {
44
     name: "paymentList",
51
     name: "paymentList",
45
     dicts: ["case_status"],
52
     dicts: ["case_status"],
46
-    components: {},
53
+    components: {emailEdits},
47
     data() {
54
     data() {
48
         return {
55
         return {
49
             queryParams: {
56
             queryParams: {
60
             // 校验表单
67
             // 校验表单
61
             rules: {},
68
             rules: {},
62
             dataList: [],
69
             dataList: [],
70
+            emailVidable:false,
71
+            emailRow:{},
63
         };
72
         };
64
     },
73
     },
65
     created() {
74
     created() {
69
         })
78
         })
70
     },
79
     },
71
     methods: {
80
     methods: {
81
+         // 邮箱编辑内容
82
+         emailEditing(data){
83
+            this.emailVidable = true
84
+            this.emailRow = data;
85
+            console.log(data)
86
+        },
87
+        // 重新发送
88
+        resendCounts(row){
89
+           if(row.sendStatus=='未发送'){
90
+            row.sendStatus = 0
91
+           }else if(row.sendStatus=='已发送'){
92
+            row.sendStatus = 1
93
+           }
94
+            reSendMailRecord(row).then(res=>{
95
+                console.log(res)
96
+                this.$message.success('发送成功');
97
+                this.getList(this.queryParams);
98
+            })
99
+            
100
+        },
101
+        // 关闭弹窗
102
+        cancelEmail(){
103
+            this.emailVidable = false
104
+        },
72
         /** 搜索按钮操作 */
105
         /** 搜索按钮操作 */
73
         handleQuery() {
106
         handleQuery() {
74
             this.queryParams.pageNum = 1;
107
             this.queryParams.pageNum = 1;

+ 2
- 2
vue.config.js Wyświetl plik

12
 const port = process.env.port || process.env.npm_config_port || 80 // 端口
12
 const port = process.env.port || process.env.npm_config_port || 80 // 端口
13
 
13
 
14
 // const API = 'http://121.40.189.20:9001'  //生产
14
 // const API = 'http://121.40.189.20:9001'  //生产
15
-  const API = 'http://121.40.189.20:8001'  //测试
15
+  // const API = 'http://121.40.189.20:8001'  //测试
16
 // const API = 'http://172.16.1.26:8001'  //Bs
16
 // const API = 'http://172.16.1.26:8001'  //Bs
17
 // const API = 'http://192.168.3.77:9001' //Q
17
 // const API = 'http://192.168.3.77:9001' //Q
18
-// const API = 'http://172.16.0.103:8001' //W
18
+const API = 'http://172.16.0.241:8001' //W
19
 
19
 
20
 // vue.config.js 配置说明 
20
 // vue.config.js 配置说明 
21
 //官方vue.config.js 参考文档 https://cli.vuejs.org/zh/config/#css-loaderoptions
21
 //官方vue.config.js 参考文档 https://cli.vuejs.org/zh/config/#css-loaderoptions