Просмотр исходного кода

Merge branch 'dev' of http://git.xayunmei.com/SH-Arbitrate/Mediation-Frontend into gyj

gyj 2 лет назад
Родитель
Сommit
3757729649

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

@@ -56,6 +56,14 @@ export function confirmPaid(data) {
56 56
     data: data,
57 57
   });
58 58
 }
59
+//   缴费确认(被申请人)
60
+export function resConfirmPaid(data) {
61
+  return request({
62
+    url: "/pay/resConfirmPaid",
63
+    method: "post",
64
+    data: data,
65
+  });
66
+}
59 67
 //   案件id查询缴费清单
60 68
 export function selectPaymentDetail(data) {
61 69
   return request({

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

@@ -0,0 +1,20 @@
1
+import request from '@/utils/request'
2
+
3
+// 查询邮件列表
4
+export function emailList(data) {
5
+    return request({
6
+        url: '/sendMailRecord/list',
7
+        method: 'get',
8
+        params: data
9
+    })
10
+}
11
+
12
+// 查询短信列表
13
+export function smsList(data,params) {
14
+    return request({
15
+        url: '/caseApplication/smsRecord',
16
+        method: 'post',
17
+        data: data,
18
+        params:params
19
+    })
20
+}

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

@@ -56,4 +56,23 @@ export function getCodeImg() {
56 56
     method: 'get',
57 57
     timeout: 20000
58 58
   })
59
+}
60
+// 获取手机验证码
61
+export function sendCode(data) {
62
+	return request({
63
+		url: '/weChatUser/sendCode',
64
+		method: 'get',
65
+		params:data
66
+	})
67
+}
68
+// 注册方法
69
+export function wxregister(data) {
70
+	return request({
71
+		url: '/weChatUser/registerUser',
72
+		headers: {
73
+			isToken: false
74
+		},
75
+		method: 'post',
76
+		data: data
77
+	})
59 78
 }

+ 12
- 5
src/views/caseManagement/caseList.vue Просмотреть файл

@@ -79,7 +79,7 @@
79 79
                     <!-- <el-button size="mini" @click="receivedMediation(scope.row)" type="text" icon="el-icon-edit-outline">被申请人签收</el-button>                 -->
80 80
                     <el-button size="mini" type="text" icon="el-icon-edit"
81 81
                         @click="evidenceUpload(scope.row)" v-hasPermi="['caseManagement:list:evidenceEdit']">上传证据</el-button>
82
-                    <el-button size="mini" type="text" icon="el-icon-edit" @click="caseFilingDetails(scope.row)">归档详情</el-button>  
82
+                    <el-button size="mini" type="text" icon="el-icon-edit" v-if="scope.row.caseFlowId > 14" @click="caseFilingDetails(scope.row)">归档详情</el-button>  
83 83
                     <!-- <el-button size="mini" type="text" icon="el-icon-tickets" @click="payStatus(scope.row)">缴费</el-button> -->
84 84
                     <!-- <el-button size="mini" type="text" icon="el-icon-tickets" @click="selectMediator(scope.row)">预约时间</el-button> -->
85 85
                     <!-- <el-button size="mini" type="text" icon="el-icon-tickets" @click="secretaryConfirm(scope.row)">秘书审核</el-button> -->
@@ -113,7 +113,7 @@
113 113
             :queryParams="queryParams" @getList="getList" @paycancelRow="paycancelRow" :formPayDetailAffiliate="formPayDetailAffiliate"></payDialog>
114 114
         <!-- 缴费确认查看详情 -->
115 115
         <paymentdetailsDialog :openDialog="openDialog" @cancelpaymentdetails="cancelpaymentdetails" :title="payTitle"
116
-            :detailform="detailform" :queryParams="queryParams" :flag="flag" :paymentConfirma="paymentConfirma" @getList="getList">
116
+            :detailform="detailform" :queryParams="queryParams" :flag="flag" :paymentConfirma="paymentConfirma" :isapplicant="isapplicant" @getList="getList">
117 117
         </paymentdetailsDialog>
118 118
         <!-- 案件受理 -->
119 119
         <caseAcceptance :showAcceptance="showAcceptance" @cancelAcceptance="cancelAcceptance"
@@ -250,7 +250,8 @@ export default {
250 250
             timeConfirmVisable: false,
251 251
             timeConfirmData: {},
252 252
             confirmTionData:{},
253
-            buttonList: []
253
+            buttonList: [],
254
+            isapplicant: true, //判断角色申请人或非申请人
254 255
         };
255 256
     },
256 257
     created() {
@@ -269,7 +270,7 @@ export default {
269 270
                 this.payStatus(val);
270 271
             }else if(type == 3 || type == 45){
271 272
                 // 确认缴费
272
-                this.paymentconfirmationRow(val);
273
+                this.paymentconfirmationRow(val,type);
273 274
             }else if(type == 4){
274 275
                 // 受理分配
275 276
                 this.caseAccep(val);
@@ -589,7 +590,7 @@ export default {
589 590
             this.showAcceptance = false
590 591
         },
591 592
         // 缴费确认
592
-        paymentconfirmationRow(row) {
593
+        paymentconfirmationRow(row,type) {
593 594
             this.paymentConfirma = row
594 595
             console.log(this.paymentConfirma)
595 596
             this.paymentDetails({
@@ -599,6 +600,12 @@ export default {
599 600
             this.payTitle = "缴费确认"
600 601
             this.flag = 0;
601 602
             this.detailform = {}
603
+            if (type == 3) {
604
+            // 申请人
605
+                this.isapplicant = true
606
+            }else {
607
+                this.isapplicant = false
608
+            }
602 609
         },
603 610
         cancelpaymentdetails() {
604 611
             this.openDialog = false

+ 34
- 39
src/views/caseManagement/components/addCase.vue Просмотреть файл

@@ -97,6 +97,15 @@
97 97
               </div>
98 98
             </el-form-item>
99 99
           </el-col>
100
+          <el-col :span="24" v-if="modelFlag">
101
+            <el-form-item label="调解申请书:">
102
+              <div v-for="(item, index) in formData.caseAttachList" :key="index" v-if="item.annexType == 3">
103
+                <div style="color: blue; cursor: pointer" @click="fileDetil(item.annexPath)">
104
+                  {{ item.annexName }}
105
+                </div>
106
+              </div>
107
+            </el-form-item>
108
+          </el-col>
100 109
           <el-col :span="24" v-if="modelFlag">
101 110
             <el-form-item label="调解书:">
102 111
               <div v-for="(item, index) in formData.caseAttachList" :key="index" v-if="item.annexType == 7">
@@ -490,13 +499,15 @@ export default {
490 499
       applicantEvidence: [], //申请人证据
491 500
       respondentEvidence: [], //被申请人证据
492 501
       buttonFlag: true,
493
-      getUserInfoList: {}
502
+      getUserInfoList: {},
503
+      applicationFlag: null
494 504
     };
495 505
   },
496 506
   watch: {
497 507
     addModifyData(val) {
498 508
       if (val == 1) {
499 509
         this.title = "新增案件";
510
+        this.getUserInfoFn();
500 511
         this.modelFlag = false;
501 512
         this.buttonFlag = true;
502 513
         this.formData = {
@@ -524,48 +535,12 @@ export default {
524 535
         if (this.addModifyData != 1) {
525 536
           this.caseApplicationSelectByIdFn(this.caseData.id);
526 537
         }
527
-        if (this.formData.affiliate.organizeFlag == 0) {
528
-          this.formData.affiliate.applicationName = this.getUserInfoList.nickName;
529
-          this.formData.affiliate.code = this.getUserInfoList.idCard;
530
-          this.formData.affiliate.applicationEmail = this.getUserInfoList.email;
531
-          this.formData.affiliate.applicationPhone = this.getUserInfoList.phonenumber;
532
-        } else if (this.formData.affiliate.organizeFlag == 1) {
533
-          this.formData.affiliate.nameAgent = this.getUserInfoList.nickName;
534
-          this.formData.affiliate.agentEmail = this.getUserInfoList.email;
535
-          this.formData.affiliate.contactTelphoneAgent = this.getUserInfoList.phonenumber;
536
-        }
537 538
       }
538 539
     },
539
-    formData: {
540
-      handler(newVal) {
541
-        if (newVal) {
542
-          console.log('newVal========newVal==========newVal', newVal);
543
-          if (newVal.affiliate.organizeFlag == 0) {
544
-            this.formData.affiliate.applicationName = this.getUserInfoList.nickName;
545
-            this.formData.affiliate.code = this.getUserInfoList.idCard;
546
-            this.formData.affiliate.applicationEmail = this.getUserInfoList.email;
547
-            this.formData.affiliate.applicationPhone = this.getUserInfoList.phonenumber;
548
-            // this.formData.affiliate.nameAgent = '';
549
-            // this.formData.affiliate.agentEmail = '';
550
-            // this.formData.affiliate.contactTelphoneAgent = '';
551
-          } else if (newVal.affiliate.organizeFlag == 1) {
552
-            // this.formData.affiliate.applicationName = "";
553
-            // this.formData.affiliate.code = "";
554
-            // this.formData.affiliate.applicationEmail = "";
555
-            // this.formData.affiliate.applicationPhone = "";
556
-            this.formData.affiliate.nameAgent = this.getUserInfoList.nickName;
557
-            this.formData.affiliate.agentEmail = this.getUserInfoList.email;
558
-            this.formData.affiliate.contactTelphoneAgent = this.getUserInfoList.phonenumber;
559
-          }
560
-        }
561
-      },
562
-      deep: true, // 深度监听
563
-      immediate: true, // 初始化监听
564
-    }
565 540
   },
566 541
   created() {
567 542
     console.log(this.formData, "000000000000000000")
568
-    this.getUserInfoFn();
543
+    // this.getUserInfoFn();
569 544
   },
570 545
   methods: {
571 546
     /** 切换申请类型 */
@@ -576,8 +551,11 @@ export default {
576 551
     /**获取申请人信息 */
577 552
     getUserInfoFn() {
578 553
       getUserInfo().then(res => {
579
-        console.log(res, "信息信息信息信息信息信息信息信息信息信息信息信息信息信息");
580 554
         this.getUserInfoList = res.data;
555
+        this.$set(this.formData.affiliate, "applicationName", this.getUserInfoList.nickName);
556
+        this.$set(this.formData.affiliate, "code", this.getUserInfoList.idCard);
557
+        this.$set(this.formData.affiliate, "applicationEmail", this.getUserInfoList.email);
558
+        this.$set(this.formData.affiliate, "applicationPhone", this.getUserInfoList.phonenumber);
581 559
       })
582 560
     },
583 561
     /** 根据案件id获取对应信息 */
@@ -671,6 +649,23 @@ export default {
671 649
       });
672 650
     },
673 651
     clearValidate(val) {
652
+      if (val == 0) {
653
+        this.$set(this.formData.affiliate, "applicationName", this.getUserInfoList.nickName);
654
+        this.$set(this.formData.affiliate, "code", this.getUserInfoList.idCard);
655
+        this.$set(this.formData.affiliate, "applicationEmail", this.getUserInfoList.email);
656
+        this.$set(this.formData.affiliate, "applicationPhone", this.getUserInfoList.phonenumber);
657
+        this.formData.affiliate.nameAgent = null;
658
+        this.formData.affiliate.agentEmail = null;
659
+        this.formData.affiliate.contactTelphoneAgent = null;
660
+      } else if (val == 1) {
661
+        this.$set(this.formData.affiliate, "nameAgent", this.getUserInfoList.nickName);
662
+        this.$set(this.formData.affiliate, "agentEmail", this.getUserInfoList.email);
663
+        this.$set(this.formData.affiliate, "contactTelphoneAgent", this.getUserInfoList.phonenumber);
664
+        this.formData.affiliate.applicationName = null;
665
+        this.formData.affiliate.code = null;
666
+        this.formData.affiliate.applicationEmail = null;
667
+        this.formData.affiliate.applicationPhone = null;
668
+      }
674 669
       this.$refs["ruleForm"].clearValidate()
675 670
     },
676 671
     cancel() {

+ 1
- 1
src/views/caseManagement/components/caseAcceptance.vue Просмотреть файл

@@ -11,7 +11,7 @@
11 11
         </el-form-item>
12 12
         <el-form-item label="调解方式:" v-if="courtReviewform.agreeFlag == 1">
13 13
           <el-radio-group v-model="courtReviewform.mediationMethod">
14
-            <el-radio :label="1">开庭调解</el-radio>
14
+            <el-radio :label="1">线上调解</el-radio>
15 15
             <el-radio :label="2">线下调解</el-radio>
16 16
           </el-radio-group>
17 17
         </el-form-item>

+ 2
- 2
src/views/caseManagement/components/mediation.vue Просмотреть файл

@@ -130,7 +130,7 @@ export default {
130 130
   data() {
131 131
     return {
132 132
       loanStartDate: "",
133
-      title: "开庭调解",
133
+      title: "线上调解",
134 134
       applicateArr: [],
135 135
       quiltArr: [],
136 136
       recordArr: [],
@@ -159,7 +159,7 @@ export default {
159 159
     mediationVisable(val) {
160 160
       this.recordArr = [];
161 161
       if (this.mediationData.mediationMethod == "1") {
162
-        this.title = "开庭调解";
162
+        this.title = "线上调解";
163 163
         this.mediationType = true;
164 164
       } else if (this.mediationData.mediationMethod == "2") {
165 165
         this.title = "线下调解";

+ 6
- 1
src/views/caseManagement/components/payDialog.vue Просмотреть файл

@@ -12,7 +12,7 @@
12 12
         <el-descriptions-item label="案件标的">{{
13 13
           formPayDetail.caseSubjectAmount
14 14
         }}</el-descriptions-item>
15
-        <el-descriptions-item label="案件应缴费用">{{
15
+        <el-descriptions-item label="申请人应缴费用">{{
16 16
           formPayDetail.feePayable
17 17
         }}</el-descriptions-item>
18 18
         <el-descriptions-item label="被申请人">{{
@@ -23,6 +23,11 @@
23 23
             {{ formPayDetail.caseStatusName }}
24 24
           </el-tag>
25 25
         </el-descriptions-item>
26
+        <el-descriptions-item label="驳回原因" v-if="formPayDetail.reason">
27
+          <el-tag size="mini" type='danger' effect="dark">
28
+            {{ formPayDetail.reason }}
29
+          </el-tag>
30
+        </el-descriptions-item>
26 31
       </el-descriptions>
27 32
       <div class="paySelectType">
28 33
         <el-radio-group v-model="paySelect" @input="changPayType">

+ 57
- 17
src/views/caseManagement/components/paymentdetailsDialog.vue Просмотреть файл

@@ -1,12 +1,12 @@
1 1
 <template>
2 2
   <div>
3 3
     <el-dialog :title="title" :visible="openDialog" @close="cancel" :destroy-on-close="true" center>
4
-      <el-form ref="form" :model="form" label-width="90px" :disabled="true">
4
+      <el-form ref="form" :model="form" label-width="180px" :disabled="true">
5 5
         <el-form-item label="案件编号:" prop="caseNum">
6
-          <el-input v-model="form.caseNum" placeholder="" />
6
+          <el-input v-model="form.caseNum" placeholder="" :disabled="true"/>
7 7
         </el-form-item>
8 8
         <el-form-item label="案件标的:" prop="caseSubjectAmount">
9
-          <el-input v-model="form.caseSubjectAmount" />
9
+          <el-input v-model="form.caseSubjectAmount" :disabled="true"/>
10 10
         </el-form-item>
11 11
         <!-- <el-form-item label="缴费人:" prop="applicantName">
12 12
           <el-input v-model="form.applicationName" placeholder="" />
@@ -26,9 +26,21 @@
26 26
             {{ item.annexName }}
27 27
           </div>
28 28
         </el-form-item>
29
+        <!-- 判断缴费是否通过 -->
30
+        <el-form-item label="是否缴费通过:" v-if="flag == 0">
31
+          <el-radio-group v-model="yesOrNo">
32
+            <el-radio :label="1">通过</el-radio>
33
+            <el-radio :label="0">驳回</el-radio>
34
+          </el-radio-group>   
35
+        </el-form-item>
36
+        <!-- 缴费驳回原因-->
37
+        <el-form-item label="驳回原因:" v-if="yesOrNo == 0" prop="reason" :rules="[{ required: true, message: '请输入驳回原因',trigger: 'blur',},]">
38
+          <el-input type="textarea" :rows="2" placeholder="请输入驳回原因" v-model="form.reason"></el-input>
39
+        </el-form-item>
29 40
       </el-form>
30 41
       <div slot="footer" class="dialog-footer">
31
-        <el-button type="primary" @click="submitForm" v-if="flag == 0" class="endbutton">确认已缴费</el-button>
42
+        <!-- <el-button type="primary" @click="submitForm" v-if="flag == 0" class="endbutton">确认已缴费</el-button> -->
43
+        <el-button type="primary" @click="submitForm" v-if="flag == 0" class="endbutton">确 认</el-button>
32 44
         <el-button @click="cancel" class="endbutton1">取 消</el-button>
33 45
       </div>
34 46
     </el-dialog>
@@ -36,13 +48,16 @@
36 48
 </template>
37 49
 
38 50
 <script>
39
-import { confirmPaid } from '@/api/caseManagement/caseManagement.js'
51
+import { confirmPaid, resConfirmPaid } from '@/api/caseManagement/caseManagement.js'
40 52
 export default {
41
-  props: ["openDialog", "title", "flag", "detailform", "getList", "paymentConfirma", "queryParams"],
53
+  props: ["openDialog", "title", "flag", "detailform", "getList", "paymentConfirma", "queryParams",'isapplicant'],
42 54
   data() {
43 55
     return {
44
-      form: {},
45
-      srcList: []
56
+      form: {
57
+        reason: '',//驳回原因
58
+      },
59
+      yesOrNo: 1,
60
+      srcList: [],
46 61
     };
47 62
   },
48 63
   watch: {
@@ -53,6 +68,13 @@ export default {
53 68
         }
54 69
       },
55 70
     },
71
+    openDialog: {
72
+      handler(val) {
73
+        if (val) {
74
+          this.yesOrNo = 1
75
+        }
76
+      }
77
+    }
56 78
   },
57 79
   methods: {
58 80
     preview(data) {
@@ -66,16 +88,34 @@ export default {
66 88
       let paramsVal = {
67 89
         caseId: this.paymentConfirma.id,
68 90
         batchNumber: "",
69
-        caseFlowId: this.paymentConfirma.caseFlowId
91
+        caseFlowId: this.paymentConfirma.caseFlowId,
92
+        yesOrNo: this.yesOrNo,
93
+        reason: this.form.reason
94
+      }
95
+      this.$refs["form"].validate((valid) => {
96
+      if (valid) {
97
+      if (this.isapplicant) {
98
+        confirmPaid(paramsVal).then((res) => {
99
+          this.$message({
100
+            message: "确认成功",
101
+            type: "success",
102
+          });
103
+        })
104
+        console.log('申请人');
105
+      } else {
106
+        // 被申请人 resConfirmPaid
107
+        resConfirmPaid(paramsVal).then((res) => {
108
+          this.$message({
109
+            message: "确认成功",
110
+            type: "success",
111
+          });
112
+        })
113
+        console.log('被申请人');
114
+      }
115
+      this.cancel();
116
+      this.$emit("getList", this.queryParams);
70 117
       }
71
-      confirmPaid(paramsVal).then((res) => {
72
-        this.$message({
73
-          message: "确认成功",
74
-          type: "success",
75
-        });
76
-        this.cancel();
77
-        this.$emit("getList", this.queryParams);
78
-      });
118
+      })
79 119
     },
80 120
     cancel() {
81 121
       this.$emit("cancelpaymentdetails");

+ 6
- 1
src/views/caseManagement/components/respondentPay.vue Просмотреть файл

@@ -12,7 +12,7 @@
12 12
           <el-descriptions-item label="案件标的">{{
13 13
             formResPayDetail.caseSubjectAmount
14 14
           }}</el-descriptions-item>
15
-          <el-descriptions-item label="案件应缴费用">{{
15
+          <el-descriptions-item label="被申请人应缴费用">{{
16 16
             formResPayDetail.feePayable
17 17
           }}</el-descriptions-item>
18 18
           <el-descriptions-item label="被申请人">{{
@@ -23,6 +23,11 @@
23 23
               {{ formResPayDetail.caseStatusName }}
24 24
             </el-tag>
25 25
           </el-descriptions-item>
26
+          <el-descriptions-item label="驳回原因" v-if="formResPayDetail.reason">
27
+            <el-tag size="mini" type='danger' effect="dark">
28
+              {{ formResPayDetail.reason }}
29
+            </el-tag>
30
+          </el-descriptions-item>
26 31
         </el-descriptions>
27 32
         <div class="paySelectType">
28 33
           <el-radio-group v-model="paySelect" @input="changPayType">

+ 104
- 0
src/views/deliveryRecord/emailRecord.vue Просмотреть файл

@@ -0,0 +1,104 @@
1
+<template>
2
+    <div class="app-container">
3
+        <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px">
4
+            <el-form-item label="案件编号" prop="caseNum">
5
+                <el-input v-model="queryParams.caseNum" placeholder="请输入案件编号" clearable @keyup.enter.native="handleQuery" />
6
+            </el-form-item>
7
+            <el-form-item>
8
+                <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
9
+                <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
10
+            </el-form-item>
11
+        </el-form>
12
+        <el-table v-loading="loading" :data="dataList" style="width: 100%">
13
+            <el-table-column label="序号" type="index" align="center">
14
+                <template slot-scope="scope">
15
+                    <span>{{
16
+                        (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1
17
+                    }}</span>
18
+                </template>
19
+            </el-table-column>
20
+            <el-table-column label="案件编号" align="center" prop="caseNum" :show-overflow-tooltip="true" />
21
+            <el-table-column label="名称" align="center" prop="mailName" :show-overflow-tooltip="true" />
22
+            <!-- <el-table-column label="证件号码" align="center" prop="caseNum" :show-overflow-tooltip="true" /> -->
23
+            <el-table-column label="邮箱地址" align="center" prop="mailAddress" />
24
+            <el-table-column label="发送时间" align="center" prop="sendTime" :show-overflow-tooltip="true" />
25
+            <el-table-column label="发送状态" align="center" prop="sendStatus" />
26
+            <!-- <el-table-column label="文书类型" align="center" prop="hearDate" :show-overflow-tooltip="true" /> -->
27
+            <!-- 缴费人 -->
28
+            <!-- <el-table-column label="案件状态" align="center" prop="caseStatusName" /> -->
29
+            <el-table-column label="内容" align="center" prop="mailContent"></el-table-column>
30
+        </el-table>
31
+        <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
32
+            @pagination="getList(queryParams)" />
33
+
34
+    </div>
35
+</template>
36
+  
37
+<script>
38
+import {
39
+    emailList,
40
+} from "@/api/deliveryRecord/deliveryRecord.js";
41
+
42
+import { getDicts } from '@/api/system/dict/data.js'
43
+export default {
44
+    name: "paymentList",
45
+    dicts: ["case_status"],
46
+    components: {},
47
+    data() {
48
+        return {
49
+            queryParams: {
50
+                pageNum: 1,
51
+                pageSize: 10,
52
+            },
53
+            caseStatus: [],
54
+            // 遮罩层
55
+            loading: false,
56
+            // 总条数
57
+            total: 0,
58
+            // 表格数据
59
+            form: {},
60
+            // 校验表单
61
+            rules: {},
62
+            dataList: [],
63
+        };
64
+    },
65
+    created() {
66
+        getDicts("case_status").then(res => {
67
+            this.caseStatus = res.data;
68
+            this.getList(this.queryParams);
69
+        })
70
+    },
71
+    methods: {
72
+        /** 搜索按钮操作 */
73
+        handleQuery() {
74
+            this.queryParams.pageNum = 1;
75
+            this.getList(this.queryParams);
76
+        },
77
+        /** 重置按钮操作 */
78
+        resetQuery() {
79
+            this.resetForm("queryForm");
80
+            this.handleQuery();
81
+        },
82
+        // 查询列表数据
83
+        getList(parms) {
84
+            this.loading = true;
85
+            emailList(parms).then((response) => {
86
+                this.dataList = response.rows;
87
+                this.dataList.forEach(item => {
88
+                    if (item.sendStatus == 0) {
89
+                        item.sendStatus = "未发送"
90
+                    } else if (item.sendStatus == 1) {
91
+                        item.sendStatus = "已发送"
92
+                    } else {
93
+                        item.sendStatus = "未发送"
94
+                    }
95
+                })
96
+                this.total = response.total;
97
+                this.loading = false;
98
+            });
99
+        },
100
+    },
101
+};
102
+</script>
103
+  
104
+<style lang="scss" scoped></style>

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

@@ -0,0 +1,100 @@
1
+<template>
2
+    <div class="app-container">
3
+        <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px">
4
+            <el-form-item label="案件编号" prop="caseNum">
5
+                <el-input v-model="queryParams.caseNum" placeholder="请输入案件编号" clearable @keyup.enter.native="handleQuery" />
6
+            </el-form-item>
7
+            <el-form-item>
8
+                <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
9
+                <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
10
+            </el-form-item>
11
+        </el-form>
12
+        <el-table v-loading="loading" :data="dataList" style="width: 100%">
13
+            <el-table-column label="序号" type="index" align="center">
14
+                <template slot-scope="scope">
15
+                    <span>{{
16
+                        (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1
17
+                    }}</span>
18
+                </template>
19
+            </el-table-column>
20
+            <el-table-column label="案件编号" align="center" prop="caseNum" :show-overflow-tooltip="true" />
21
+            <el-table-column label="手机号" align="center" prop="phone" :show-overflow-tooltip="true" />
22
+            <el-table-column label="发送时间" align="center" prop="sendTime" />
23
+            <el-table-column label="发送状态" align="center" prop="sendStatus" />
24
+            <el-table-column label="发送内容" align="center" prop="sendContent" :show-overflow-tooltip="true" />
25
+        </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
+       
29
+    </div>
30
+</template>
31
+  
32
+<script>
33
+import {
34
+    smsList,
35
+} from "@/api/deliveryRecord/deliveryRecord.js";
36
+
37
+import { getDicts } from '@/api/system/dict/data.js'
38
+export default {
39
+    name: "paymentList",
40
+    dicts: ["case_status"],
41
+    components: { },
42
+    data() {
43
+        return {
44
+            queryParams: {
45
+                pageNum: 1,
46
+                pageSize: 10,
47
+            },
48
+            caseStatus: [],
49
+            // 遮罩层
50
+            loading: false,
51
+            // 总条数
52
+            total: 0,
53
+            // 表格数据
54
+            form: {},
55
+            // 校验表单
56
+            rules: {},
57
+            dataList: [],
58
+        };
59
+    },
60
+    created() {
61
+        getDicts("case_status").then(res => {
62
+            this.getList({caseNum:this.queryParams.caseNum},{pageNum:this.queryParams.pageNum,pageSize:this.queryParams.pageSize});
63
+        })
64
+    },
65
+    methods: {
66
+        /** 搜索按钮操作 */
67
+        handleQuery() {
68
+            this.queryParams.pageNum = 1;
69
+            this.getList({caseNum:this.queryParams.caseNum},{pageNum:this.queryParams.pageNum,pageSize:this.queryParams.pageSize});
70
+        },
71
+        /** 重置按钮操作 */
72
+        resetQuery() {
73
+            this.resetForm("queryForm");
74
+            this.handleQuery();
75
+        },
76
+        // 查询列表数据
77
+        getList(data,params) {
78
+            this.loading = true;
79
+            smsList(data,params).then((response) => {
80
+                this.dataList = response.rows;
81
+                this.dataList.forEach(item=>{
82
+                    if(item.sendStatus == 0){
83
+                        item.sendStatus = "发送失败"
84
+                    }else if(item.sendStatus == 1){
85
+                        item.sendStatus = "已送达"
86
+                    }else if(item.sendStatus == 2){
87
+                        item.sendStatus = "已读取"
88
+                    }else{
89
+                        item.sendStatus = "发送失败"
90
+                    }
91
+                })
92
+                this.total = response.total;
93
+                this.loading = false;
94
+            });
95
+        },
96
+    },
97
+};
98
+</script>
99
+  
100
+<style lang="scss" scoped></style>

+ 71
- 10
src/views/register.vue Просмотреть файл

@@ -29,6 +29,39 @@
29 29
           <svg-icon slot="prefix" icon-class="password" class="el-input__icon input-icon" />
30 30
         </el-input>
31 31
       </el-form-item>
32
+      <el-form-item prop="identityNo">
33
+        <el-input v-model="registerForm.identityNo" type="text" auto-complete="off" placeholder="身份证号码">
34
+          <svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" />
35
+        </el-input>
36
+      </el-form-item>
37
+      <el-form-item prop="email">
38
+        <el-input v-model="registerForm.email" type="text" auto-complete="off" placeholder="邮箱">
39
+          <svg-icon slot="prefix" icon-class="email" class="el-input__icon input-icon" />
40
+        </el-input>
41
+      </el-form-item>
42
+      <el-form-item prop="name">
43
+        <el-input v-model="registerForm.name" type="text" auto-complete="off" placeholder="用户名">
44
+          <svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" />
45
+        </el-input>
46
+      </el-form-item>
47
+      <el-form-item prop="phone">
48
+        <el-input
49
+          v-model="registerForm.phone"
50
+          auto-complete="off"
51
+          placeholder="手机号"
52
+          style="width: 63%"
53
+        >
54
+          <svg-icon slot="prefix" icon-class="phone" class="el-input__icon input-icon" />
55
+        </el-input>
56
+        <div class="register-code">
57
+          <el-button type="primary" :disabled="codeDisabled" @click="getCodeNumber(registerForm.phone)">{{codeText}}</el-button>
58
+        </div>
59
+      </el-form-item>
60
+      <el-form-item prop="verifyCode">
61
+        <el-input v-model="registerForm.verifyCode" type="text" auto-complete="off" placeholder="手机验证码">
62
+          <svg-icon slot="prefix" icon-class="validCode" class="el-input__icon input-icon" />
63
+        </el-input>
64
+      </el-form-item>
32 65
       <el-form-item prop="code" v-if="captchaEnabled">
33 66
         <el-input
34 67
           v-model="registerForm.code"
@@ -67,7 +100,7 @@
67 100
 </template>
68 101
 
69 102
 <script>
70
-import { getCodeImg, register } from "@/api/login";
103
+import { getCodeImg, register, sendCode, wxregister } from "@/api/login";
71 104
 
72 105
 export default {
73 106
   name: "Register",
@@ -80,13 +113,16 @@ export default {
80 113
       }
81 114
     };
82 115
     return {
116
+      codeText: "发送验证码",
117
+      codeDisabled:false,
83 118
       codeUrl: "",
84 119
       registerForm: {
85 120
         username: "",
86 121
         password: "",
122
+        phone:"",
87 123
         confirmPassword: "",
88 124
         code: "",
89
-        uuid: ""
125
+        uuid: "",
90 126
       },
91 127
       registerRules: {
92 128
         username: [
@@ -124,7 +160,7 @@ export default {
124 160
       this.$refs.registerForm.validate(valid => {
125 161
         if (valid) {
126 162
           this.loading = true;
127
-          register(this.registerForm).then(res => {
163
+          wxregister(this.registerForm).then(res => {
128 164
             const username = this.registerForm.username;
129 165
             this.$alert("<font color='red'>恭喜你,您的账号 " + username + " 注册成功!</font>", '系统提示', {
130 166
               dangerouslyUseHTMLString: true,
@@ -140,7 +176,31 @@ export default {
140 176
           })
141 177
         }
142 178
       });
143
-    }
179
+    },
180
+    getCodeNumber(data) {
181
+				sendCode({
182
+					phone: data
183
+				}).then(res => {
184
+					if (res.code != 200) {
185
+            this.$modal.msgError(res.msg);
186
+						return
187
+					} else {
188
+            this.$modal.msgSuccess('发送成功');
189
+						let time = 60;
190
+						let timer = setInterval(() => {
191
+							time--;
192
+							this.codeDisabled = true;
193
+							this.codeText = time + 's重试'
194
+							if (time == 0) {
195
+								clearInterval(timer)
196
+								this.codeText = '发送验证码'
197
+								this.codeDisabled = false;
198
+							}
199
+						}, 1000)
200
+					}
201
+
202
+				})
203
+			},
144 204
   }
145 205
 };
146 206
 </script>
@@ -164,13 +224,14 @@ export default {
164 224
   border-radius: 6px;
165 225
   background: #ffffff;
166 226
   width: 400px;
227
+  height: 90%;
167 228
   padding: 25px 25px 5px 25px;
168
-  .el-input {
169
-    height: 38px;
170
-    input {
171
-      height: 38px;
172
-    }
173
-  }
229
+  // .el-input {
230
+  //   height: 38px;
231
+  //   input {
232
+  //     height: 38px;
233
+  //   }
234
+  // }
174 235
   .input-icon {
175 236
     height: 39px;
176 237
     width: 14px;

+ 2
- 1
vue.config.js Просмотреть файл

@@ -12,7 +12,7 @@ const name = process.env.VUE_APP_TITLE || '调解系统' // 网页标题
12 12
 const port = process.env.port || process.env.npm_config_port || 80 // 端口
13 13
 
14 14
 // const API = 'http://121.40.189.20:9001'  //生产
15
-const API = 'http://121.40.189.20:6001'  //测试
15
+// const API = 'http://121.40.189.20:6001'  //测试
16 16
 // const API = 'http://192.168.3.18:6001'  //B
17 17
 // const API = 'http://172.16.0.237:6001' //Q
18 18
 // const API = 'http://172.16.1.43:6001' //w
@@ -61,6 +61,7 @@ module.exports = {
61 61
   },
62 62
   configureWebpack: {
63 63
     name: name,
64
+    devtool: '#eval-source-map',
64 65
     resolve: {
65 66
       alias: {
66 67
         '@': resolve('src')