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

Merge branch 'hcb' of SH-Arbitrate/Arbitrate-FrontendH5 into master

hanchaobo 2 лет назад
Родитель
Сommit
5673d2e36d
5 измененных файлов: 130 добавлений и 45 удалений
  1. 6
    1
      src/api/home.js
  2. 4
    2
      src/views/components/footerPhone.vue
  3. 3
    1
      src/views/components/roomFooter.vue
  4. 116
    40
      src/views/room.vue
  5. 1
    1
      vue.config.js

+ 6
- 1
src/api/home.js Просмотреть файл

@@ -48,5 +48,10 @@ export function fileList(caseAppliId) {
48 48
   }
49 49
 // 确定会议结果
50 50
 export function confirmMeetingResult(data) {
51
-    return axios.post(`tjformal/caseApplication/confirmMeetingResult`, data);
51
+    let appType = sessionStorage.getItem('type');
52
+    if (appType == 'tiaojie') {
53
+        return axios.post(`tjformal/caseApplication/confirmMeetingResult`, data);
54
+    } else {
55
+        return axios.post(`zhongcai/caseApplication/confirmMeetingResult`, data);
56
+    }
52 57
 }

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

@@ -16,7 +16,7 @@
16 16
 
17 17
         </div> -->
18 18
         <div class="mediationPop">
19
-            <el-button type="warning" @click="mediationPop">调解</el-button>
19
+            <el-button type="warning" @click="mediationPop">{{ appType == "tiaojie" ? "调解" : "仲裁" }}</el-button>
20 20
         </div>
21 21
         <div class="outRoom">
22 22
             <el-button type="danger" @click="exitRoom" v-if="!roleFlag">退出</el-button>
@@ -38,7 +38,8 @@ export default {
38 38
             roomId: null,
39 39
             taskId: null,
40 40
             roleFlag: false,
41
-            caseId:""
41
+            caseId:"",
42
+            appType:"tiaojie"
42 43
         };
43 44
     },
44 45
     methods: {
@@ -102,6 +103,7 @@ export default {
102 103
         },
103 104
     },
104 105
     async mounted() {
106
+        this.appType = sessionStorage.getItem('type');
105 107
         this.roomId = this.$route.query.roomId;
106 108
         let roleFlag = this.$route.query.flag;
107 109
         this.caseId = this.$route.query.caseId;

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

@@ -19,7 +19,7 @@
19 19
 
20 20
       </div>
21 21
       <div class="mediationPop">
22
-        <el-button type="warning" @click="mediationPop">调解</el-button>
22
+        <el-button type="warning" @click="mediationPop">{{ appType == "tiaojie" ? "调解" : "仲裁" }}</el-button>
23 23
       </div>
24 24
     </div>
25 25
   </div>
@@ -37,6 +37,7 @@ export default {
37 37
       taskId: null,
38 38
       roleFlag: true,
39 39
       caseId: "",
40
+      appType:"tiaojie"
40 41
     };
41 42
   },
42 43
   methods: {
@@ -100,6 +101,7 @@ export default {
100 101
     },
101 102
   },
102 103
   async mounted() {
104
+    this.appType = sessionStorage.getItem('type');
103 105
     this.roomId = this.$route.query.roomId;
104 106
     this.caseId = this.$route.query.caseId;
105 107
     let roleFlag = this.$route.query.flag;

+ 116
- 40
src/views/room.vue Просмотреть файл

@@ -67,14 +67,16 @@
67 67
           :on-change="beforeUpload" :on-success="handlSuccess" :file-list="fileList" v-if="appFlag">
68 68
           <el-button slot="trigger" size="small" type="primary">申请人上传证据</el-button>
69 69
         </el-upload>
70
-        <el-upload ref="upload1" :limit="1" :action="UploadUrl()" :headers="headers1" :data="filedata1"
71
-          :on-change="beforeUpload1" :on-success="handlSuccess1" :file-list="fileList1" v-if="resFlag">
70
+        <el-upload ref="upload1" :limit="1" :action="UploadUrl()" :headers="headers1"
71
+          :data="appType == 'tiaojie' ? filedata1 : filedataz1" :on-change="beforeUpload1" :on-success="handlSuccess1"
72
+          :file-list="fileList1" v-if="resFlag">
72 73
           <el-button slot="trigger" size="small" type="primary">被申请人上传证据</el-button>
73 74
         </el-upload>
74
-        <el-upload ref="upload3" :limit="1" :action="UploadUrl()" :headers="headers3" :data="filedata3"
75
-          :on-change="beforeUpload3" :on-success="handlSuccess3" :file-list="fileList3" accept=".doc,.docx"
76
-          v-if="updataFlag">
77
-          <el-button slot="trigger" size="small" type="primary">上传调解书</el-button>
75
+        <el-upload ref="upload3" :limit="1" :action="UploadUrl()" :headers="headers3"
76
+          :data="appType == 'tiaojie' ? filedata3 : filedataz3" :on-change="beforeUpload3" :on-success="handlSuccess3"
77
+          :file-list="fileList3" accept=".doc,.docx" v-if="updataFlag">
78
+          <!-- <el-button slot="trigger" size="small" type="primary">上传调解书</el-button> -->
79
+          <el-button slot="trigger" size="small" type="primary">{{ appType == "tiaojie" ? "上传调解书" : "上传裁决书" }}</el-button>
78 80
         </el-upload>
79 81
       </div>
80 82
       <div class="list">
@@ -93,7 +95,7 @@
93 95
           </div>
94 96
         </div>
95 97
         <div class="mediate" v-if="mediateFile.length > 0">
96
-          <div style="font-size: 20px;margin-bottom: 10PX;">调解书:</div>
98
+          <div style="font-size: 20px;margin-bottom: 10PX;">{{ appType == "tiaojie" ? "调解书" : "裁决书" }}</div>
97 99
           <div style="color: #104fad; cursor: pointer" v-for="(item, index) in mediateFile" :key="index"
98 100
             @click="preview(item, 1)">
99 101
             {{ item.annexName }}
@@ -101,7 +103,7 @@
101 103
         </div>
102 104
       </div>
103 105
       <div v-if="modileFlag && updataFlag">
104
-        <el-form label-width="100px">
106
+        <el-form label-width="100px" v-if="appType == 'tiaojie'">
105 107
           <el-col :span="24">
106 108
             <el-form-item label="调解结果:">
107 109
               <el-radio-group v-model="formData.mediaResult">
@@ -113,7 +115,7 @@
113 115
               </el-radio-group>
114 116
             </el-form-item>
115 117
           </el-col>
116
-          <el-col :span="24" v-if="formData.mediaResult == 1"> 
118
+          <el-col :span="24" v-if="formData.mediaResult == 1">
117 119
             <el-form-item label="是否用印申请:">
118 120
               <el-radio-group v-model="formData.sealFlag">
119 121
                 <el-radio :label="1">是</el-radio>
@@ -122,6 +124,34 @@
122 124
             </el-form-item>
123 125
           </el-col>
124 126
         </el-form>
127
+        <el-form v-if="appType == 'zhongcai'">
128
+          <el-col :span="24">
129
+            <el-form-item label="被申请人是否缺席:">
130
+              <el-radio-group v-model="formData1.appliIsAbsen">
131
+                <el-radio :label="1">是</el-radio>
132
+                <el-radio :label="0">否</el-radio>
133
+              </el-radio-group>
134
+            </el-form-item>
135
+          </el-col>
136
+          <el-col :span="24">
137
+            <el-form-item label="申请人是否缺席:">
138
+              <el-radio-group v-model="formData1.isAbsence">
139
+                <el-radio :label="1">是</el-radio>
140
+                <el-radio :label="0">否</el-radio>
141
+              </el-radio-group>
142
+            </el-form-item>
143
+          </el-col>
144
+          <el-col :span="24">
145
+            <el-form-item label="被申请人对上述材料的质证意见">
146
+              <el-input type="textarea" v-model="formData1.respondentOpinion" placeholder="请输入" />
147
+            </el-form-item>
148
+          </el-col>
149
+          <el-col :span="24">
150
+            <el-form-item label="申请人对上述材料的质证意见">
151
+              <el-input type="textarea" v-model="formData1.applicantOpinion" placeholder="请输入" />
152
+            </el-form-item>
153
+          </el-col>
154
+        </el-form>
125 155
       </div>
126 156
       <div v-if="modileFlag && updataFlag">
127 157
         <el-button style="width:100%;" type="primary" @click="determineMeeting" :disabled="!updataFlag">确定</el-button>
@@ -194,7 +224,11 @@ export default {
194 224
       mediateFile: [],
195 225
       formData: {
196 226
         mediaResult: 1,
197
-        sealFlag: 1
227
+        sealFlag: 1,
228
+      },
229
+      formData1: {
230
+        appliIsAbsen: 0,
231
+        isAbsence: 0,
198 232
       },
199 233
       caseFlowId: null,
200 234
       headers: {
@@ -216,6 +250,11 @@ export default {
216 250
         officeFlag: 0,
217 251
         caseId: null,
218 252
       },
253
+      filedataz1: {
254
+        annexType: 6,
255
+        officeFlag: 0,
256
+        caseId: null,
257
+      },
219 258
       fileList1: [],
220 259
       headers3: {
221 260
         // Authorization: "Bearer " + token,
@@ -227,16 +266,28 @@ export default {
227 266
         isMediaBook: 1,
228 267
         caseId: null,
229 268
       },
269
+      filedataz3: {
270
+        annexType: 3,
271
+        officeFlag: 0,
272
+        isMediaBook: 1,
273
+        caseId: null,
274
+      },
230 275
       fileList3: [],
231 276
       editFlag: false,
232 277
       micFlag: true,
233 278
       videoFlag: true,
234 279
       sharFlag: true,
280
+      appType: "tiaojie",
281
+      timer: null
235 282
     };
236 283
   },
237 284
   methods: {
238 285
     UploadUrl() {
239
-      return window.location.origin + "/tjformal/video/upload";
286
+      if (this.appType == "tiaojie") {
287
+        return window.location.origin + "/tjformal/video/upload";
288
+      } else if (this.appType == "zhongcai") {
289
+        return window.location.origin + "/zhongcai/video/upload";
290
+      }
240 291
     },
241 292
     /**移动端点击换出/隐藏视频列表 */
242 293
     checkList(data) {
@@ -350,8 +401,10 @@ export default {
350 401
       this.fileList1 = fileList;
351 402
       if (file.name.indexOf("docx") == -1) {
352 403
         this.filedata1.officeFlag = 0;
404
+        this.filedataz1.officeFlag = 0;
353 405
       } else {
354 406
         this.filedata1.officeFlag = 1;
407
+        this.filedataz1.officeFlag = 1;
355 408
       }
356 409
     },
357 410
     // 文件上传成功
@@ -366,6 +419,7 @@ export default {
366 419
     beforeUpload3(file, fileList) {
367 420
       this.fileList3 = fileList;
368 421
       this.filedata3.officeFlag = 1;
422
+      this.filedataz3.officeFlag = 1;
369 423
     },
370 424
     // 文件上传成功
371 425
     handlSuccess3(res, file) {
@@ -377,29 +431,31 @@ export default {
377 431
       this.selectByIdFn(this.caseId);
378 432
     },
379 433
     preview(item, type) {
380
-      if (this.modileFlag) {
381
-        if (item.onlyOfficeFileId) {
382
-          // this.$router.push({
383
-          //   path: "/onlyoffice",
384
-          //   query: { id: item.onlyOfficeFileId, flag: flag },
385
-          // });
386
-          let flag = 1;
387
-          if (this.editFlag && type != 0) {
388
-            flag = 1;
389
-          } else {
390
-            flag = 0;
391
-          }
392
-          let token = sessionStorage.getItem("token");
434
+      if (this.modileFlag && item.onlyOfficeFileId) {
435
+        let flag = 1;
436
+        if (this.editFlag && type != 0) {
437
+          flag = 1;
438
+        } else {
439
+          flag = 0;
440
+        }
441
+        let token = sessionStorage.getItem("token");
442
+        if (this.appType == "tiaojie") {
393 443
           window.open(
394 444
             `http://121.40.189.20:9002/onlyoffice?id=${item.onlyOfficeFileId}&flag=${flag}&token=${token}`,
395 445
             "_black"
396 446
             // `http://localhost:81/onlyoffice?id=${item.onlyOfficeFileId}&flag=${flag}&token=${token}`,
397 447
             // "_black"
398 448
           );
399
-        } else {
400
-          window.open(window.location.origin + '/tjformal' + item.annexPath, "_black");
449
+        }else if(this.appType == "zhongcai"){
450
+          window.open(
451
+            `http://121.40.189.20:8000/onlyoffice?id=${item.onlyOfficeFileId}&flag=${flag}&token=${token}`,
452
+            "_black"
453
+            // `http://localhost:81/onlyoffice?id=${item.onlyOfficeFileId}&flag=${flag}&token=${token}`,
454
+            // "_black"
455
+          );
401 456
         }
402
-      }else{
457
+
458
+      } else {
403 459
         window.open(window.location.origin + '/tjformal' + item.annexPath, "_black");
404 460
       }
405 461
 
@@ -461,12 +517,22 @@ export default {
461 517
         this.mediateFile = [];
462 518
         let fileList = res.data.caseAttachList;
463 519
         fileList.forEach((item) => {
464
-          if (item.annexType == 2) {
465
-            this.applicantFile.push(item);
466
-          } else if (item.annexType == 12) {
467
-            this.resFile.push(item);
468
-          } else if (item.annexType == 7) {
469
-            this.mediateFile.push(item);
520
+          if (this.appType == "tiaojie") {
521
+            if (item.annexType == 2) {
522
+              this.applicantFile.push(item);
523
+            } else if (item.annexType == 12) {
524
+              this.resFile.push(item);
525
+            } else if (item.annexType == 7) {
526
+              this.mediateFile.push(item);
527
+            }
528
+          } else if (this.appType == "zhongcai") {
529
+            if (item.annexType == 2) {
530
+              this.applicantFile.push(item);
531
+            } else if (item.annexType == 6) {
532
+              this.resFile.push(item);
533
+            } else if (item.annexType == 3) {
534
+              this.mediateFile.push(item);
535
+            }
470 536
           }
471 537
         });
472 538
       });
@@ -480,6 +546,7 @@ export default {
480 546
     },
481 547
     async exitRoom() {
482 548
       // // 关闭识别
549
+      clearInterval(this.timer)
483 550
       Object.keys(this.asrList).forEach((key) => {
484 551
         this.asrList[key].stop();
485 552
       });
@@ -629,7 +696,7 @@ export default {
629 696
     mediationPop() {
630 697
       this.drawerMediatio = true;
631 698
       this.selectByIdFn(this.caseId);
632
-      setInterval(() => {
699
+      this.timer = setInterval(() => {
633 700
         this.selectByIdFn(this.caseId);
634 701
       }, 8000);
635 702
       this.selectRoleMenuByCaseIdFn(this.caseId);
@@ -637,11 +704,17 @@ export default {
637 704
     },
638 705
     // 确定会议结果
639 706
     determineMeeting() {
640
-      let valueMeeting = {
641
-        id: this.caseId,
642
-        mediaResult: this.formData.mediaResult,
643
-        sealFlag: this.formData.sealFlag,
644
-        caseFlowId: this.caseFlowId
707
+      let valueMeeting = {};
708
+      if (this.appType == "tiaojie") {
709
+        valueMeeting = {
710
+          id: this.caseId,
711
+          mediaResult: this.formData.mediaResult,
712
+          sealFlag: this.formData.sealFlag,
713
+          caseFlowId: this.caseFlowId
714
+        }
715
+      } else if (this.appType == "zhongcai") {
716
+        this.formData1.caseAppliId = this.caseId;
717
+        valueMeeting = this.formData1;
645 718
       }
646 719
       confirmMeetingResult(valueMeeting).then(res => {
647 720
         if (res.code == 200) {
@@ -685,7 +758,7 @@ export default {
685 758
           this.drawerSize = "75%"
686 759
         }
687 760
       }
688
-    }
761
+    },
689 762
   },
690 763
   async mounted() {
691 764
     if (this.userList.length == 1) {
@@ -712,7 +785,9 @@ export default {
712 785
     this.headers3.Authorization = "Bearer " + this.token;
713 786
     this.filedata.caseId = this.caseId;
714 787
     this.filedata1.caseId = this.caseId;
788
+    this.filedataz1.caseId = this.caseId;
715 789
     this.filedata3.caseId = this.caseId;
790
+    this.filedataz3.caseId = this.caseId;
716 791
     window.sessionStorage.setItem("token", this.token);
717 792
     window.sessionStorage.setItem("userId", this.id);
718 793
     this.secretaryRoleByUserIdFn(this.id, this.caseId);
@@ -781,6 +856,7 @@ export default {
781 856
     };
782 857
   },
783 858
   created() {
859
+    this.appType = sessionStorage.getItem('type');
784 860
     trtc = TRTC.create();
785 861
   },
786 862
 };

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

@@ -29,7 +29,7 @@ module.exports = defineConfig({
29 29
           '^/zhongcai': '' // 将/api前缀重写为空字符串
30 30
         },
31 31
       },
32
-      '/zhongcaiz': {
32
+      '/zhongcaiprod': {
33 33
         target: 'https://api.xayunmei.com/zhongcaiapi', // 后端服务器地址
34 34
         changeOrigin: true, // 是否改变Origin头信息
35 35
         secure : false,