Procházet zdrojové kódy

Merge branch 'hcb' of SH-Arbitrate/Mediation-Frontend into dev

hanchaobo před 2 roky
rodič
revize
f76cafe928

+ 8
- 0
src/api/caseManagement/caseManagement.js Zobrazit soubor

@@ -245,4 +245,12 @@ export function getIdType() {
245 245
     url: '/system/dict/data/type/id_type',
246 246
     method: 'get',
247 247
   })
248
+}
249
+// 会议附件上传接口
250
+export function meetingUpload(data) {
251
+  return request({
252
+    url: '/video/upload',
253
+    method: 'post',
254
+    data: data
255
+  })
248 256
 }

+ 16
- 0
src/views/caseManagement/caseList.vue Zobrazit soubor

@@ -76,6 +76,8 @@
76 76
                     <el-button size="mini" type="text" icon="el-icon-edit" @click="evidenceUpload(scope.row)"
77 77
                         v-hasPermi="['caseManagement:list:evidenceEdit']"
78 78
                         v-if="scope.row.caseFlowId <= 9">上传证据</el-button>
79
+                        <el-button size="mini" v-if="scope.row.mediationFileFlag==1" @click="mediationApplication(scope.row)" type="text"
80
+                        icon="el-icon-edit-outline">调解书</el-button>
79 81
                     <el-button size="mini" type="text" icon="el-icon-edit" v-if="scope.row.caseFlowId == 15 ||
80 82
             scope.row.caseFlowId == 16 ||
81 83
             scope.row.caseFlowId == 17
@@ -148,6 +150,8 @@
148 150
         <caseFilingDetailsPage :showarchiveDetails="showarchiveDetails" :caseFilingData="caseFilingData"
149 151
             @cancelDetail="cancelDetail" :detailsAwardNum="detailsAwardNum" :flagLoadingS="flagLoadingS">
150 152
         </caseFilingDetailsPage>
153
+        <!-- 调解申请书 -->
154
+        <mediationApplications :mediationAppVisable="mediationAppVisable" @cancelmediationApp="cancelmediationApp" :mediationLise="mediationLise"></mediationApplications>
151 155
     </div>
152 156
 </template>
153 157
 
@@ -184,6 +188,7 @@ import timeConfirm from "./components/timeConfirm.vue";
184 188
 import mediation from "./components/mediation.vue";
185 189
 import confirmMediation from "./components/confirmMediation.vue";
186 190
 import caseFilingDetailsPage from "./components/caseFilingDetailsPage.vue";
191
+import mediationApplications from "./components/mediationApplications.vue"
187 192
 export default {
188 193
     name: "caseList",
189 194
     dicts: ["case_flow_node"],
@@ -204,6 +209,7 @@ export default {
204 209
         confirmMediation,
205 210
         caseFilingDetailsPage,
206 211
         respondentPay,
212
+        mediationApplications
207 213
     },
208 214
     data() {
209 215
         return {
@@ -237,6 +243,8 @@ export default {
237 243
             detailform: {}, //缴费详情数据
238 244
             evidenceVisable: false, //证据修改弹窗
239 245
             mediationVisable: false, //待调解弹窗
246
+            mediationAppVisable:false,//调解申请书
247
+            mediationLise:{},
240 248
             mediationData: {},
241 249
             payTitle: "", //缴费标题
242 250
             resPayTitle: "", //被申请人缴费标题
@@ -794,6 +802,14 @@ export default {
794 802
         cancelDetail() {
795 803
             this.showarchiveDetails = false;
796 804
         },
805
+        // 调解书
806
+        mediationApplication(row){
807
+            this.mediationLise = row
808
+            this.mediationAppVisable = true
809
+        },
810
+        cancelmediationApp(){
811
+            this.mediationAppVisable = false
812
+        }
797 813
     },
798 814
 };
799 815
 </script>

+ 130
- 0
src/views/caseManagement/components/mediationApplications.vue Zobrazit soubor

@@ -0,0 +1,130 @@
1
+<template>
2
+    <div>
3
+        <el-dialog title="调解书" :visible="mediationAppVisable" width="500px" @close="cancel" center
4
+            :distroy-on-close="true">
5
+            <div>
6
+                <div>
7
+                    <span style="font-weight: bold;">下载调解书</span>
8
+                </div>
9
+                <div style="margin-top: 10px;">
10
+                    <div style="color: blue; cursor: pointer" v-for="(item, index) in getFileListV"
11
+                        v-if="item.annexType == 7 || item.annexType == 13" @click="downloadApplic(item.annexPath)">{{
12
+            item.annexName }}</div>
13
+                </div>
14
+            </div>
15
+            <div style="margin-top: 30px;">
16
+                <div>
17
+                    <span style="font-weight: bold;">上传调解书</span>
18
+                </div>
19
+                <div style="margin-top: 10px;">
20
+                    <el-upload class="upload-demo" accept=".doc,.docx,.pdf" ref="upload" :action="UploadUrl()"
21
+                        :headers="headers" :data="filedata" :on-preview="handlePreview" :on-remove="handleRemove"
22
+                        :auto-upload="false" :limit="1" :on-change="beforeUpload" :on-success="handlSuccess"
23
+                        :file-list="fileList">
24
+                        <el-button slot="trigger" size="small" type="primary">选取文件</el-button>
25
+                        <div slot="tip" class="el-upload__tip">只能上传.doc,docx,pdf文件</div>
26
+                    </el-upload>
27
+                </div>
28
+            </div>
29
+            <div slot="footer" class="dialog-footer">
30
+                <el-button @click="cancel" class="endbutton1" round><span>取 消</span></el-button>
31
+                <el-button @click="submitMediator" class="endbutton1" type="primary" round><span>确 认</span></el-button>
32
+            </div>
33
+        </el-dialog>
34
+    </div>
35
+</template>
36
+
37
+<script>
38
+import { getFileList, meetingUpload } from "@/api/caseManagement/caseManagement.js"
39
+import { createRoomId } from '@/api/metting/metting.js'
40
+import { getToken } from "@/utils/auth";
41
+import moment from "moment";
42
+export default {
43
+    props: ["mediationAppVisable", "mediationLise", "queryParams"],
44
+    data() {
45
+        return {
46
+            getFileListV: [],
47
+            fileURL: window.location.origin + "/API",
48
+            fileList: [],
49
+            headers: {
50
+                Authorization: "Bearer " + getToken(),
51
+            },
52
+            filedata: {
53
+                annexType: null,
54
+                caseId: null
55
+            },
56
+        };
57
+    },
58
+    watch: {
59
+        mediationAppVisable(val) {
60
+            this.fileList = []
61
+            if (val) {
62
+                let dataValue = {
63
+                    caseAppliId: this.mediationLise.id,
64
+                }
65
+                console.log(dataValue)
66
+                this.getFileListFn(dataValue)
67
+            }
68
+        },
69
+    },
70
+
71
+    methods: {
72
+        /**上传地址*/
73
+        UploadUrl() {
74
+            return window.location.origin + "/API/video/upload";
75
+        },
76
+        handlePreview(file) {
77
+        },
78
+        handleRemove(file, fileList) {
79
+
80
+        },
81
+        beforeUpload(flie, fileList) {
82
+            const isLt2M = flie.size / 1024 / 1024 < 50; // 小于50MB
83
+            if (!isLt2M) {
84
+                this.$message.error('上传的文件大小不能超过 50MB!');
85
+            }
86
+            return isLt2M;
87
+            function getFileExtension(filename) {
88
+                const parts = filename.split('.');
89
+                return parts.length > 1 ? parts.pop() : '';
90
+            }
91
+            const extension = getFileExtension(flie.name);
92
+            if (extension == 'docx' || extension == 'doc') {
93
+                this.filedata.annexType = 7
94
+            } else if (extension == 'pdf') {
95
+                this.filedata.annexType = 13
96
+            }
97
+            this.filedata.caseId = this.mediationLise.id
98
+            this.fileList = fileList;
99
+        },
100
+        handlSuccess(res, file) {
101
+            if (res.code == 200) {
102
+                this.$modal.msgSuccess("上传成功");
103
+                this.$emit("cancelmediationApp");
104
+            }
105
+        },
106
+        cancel() {
107
+            this.$emit("cancelmediationApp");
108
+        },
109
+        // 获取申请书附件
110
+        async getFileListFn(vals) {
111
+            await getFileList(vals).then(res => {
112
+                this.getFileListV = res.data
113
+            })
114
+        },
115
+        // 下载申请书
116
+        downloadApplic(val) {
117
+            window.open(this.fileURL + val);
118
+        },
119
+        /**提交选择结果*/
120
+        async submitMediator() {
121
+            this.$refs.upload.submit()
122
+
123
+
124
+        },
125
+    },
126
+
127
+};
128
+</script>
129
+
130
+<style lang="scss" scoped></style>