Procházet zdrojové kódy

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

hanchaobo před 2 roky
rodič
revize
ce7123d0f7
7 změnil soubory, kde provedl 194 přidání a 99 odebrání
  1. 1
    3
      .gitignore
  2. binární
      dist.zip
  3. 15
    3
      src/api/home.js
  4. 11
    17
      src/router/index.js
  5. 1
    1
      src/utils/request.js
  6. 25
    75
      src/views/room.vue
  7. 141
    0
      src/views/signFor.vue

+ 1
- 3
.gitignore Zobrazit soubor

@@ -23,6 +23,4 @@ pnpm-debug.log*
23 23
 *.sln
24 24
 *.sw?
25 25
 node_modules
26
-node_modules
27
-node_modules
28
-node_modules
26
+/dist

binární
dist.zip Zobrazit soubor


+ 15
- 3
src/api/home.js Zobrazit soubor

@@ -1,7 +1,7 @@
1 1
 import axios from "@/utils/request";
2 2
 let baseUrlZc = 'https://api.xayunmei.com/zhongcaiapi';
3
-let baseUrl = 'https://api.xayunmei.com/tiaojieapi';
4
-// let baseUrl = 'http://172.16.1.4:6001';
3
+// let baseUrl = 'https://api.xayunmei.com/tiaojieapi';
4
+let baseUrl = 'http://172.16.1.26:6001';
5 5
 // 获取usersig
6 6
 export function getUsersig(userId) {
7 7
     let appType = sessionStorage.getItem('type');
@@ -33,4 +33,16 @@ export function reserveConferenceList(caseId) {
33 33
 //根据id查询密文信息
34 34
 export function getEncryptInfoByid(caseId) {
35 35
         return axios.get(`${baseUrl}/shortMessage/getMeetingInfo?authId=${caseId}`);
36
-}
36
+}
37
+// 案件列表
38
+export function caseApplicationList(param) {
39
+    return axios.get(`${baseUrl}/caseApplication/list?caseId=${param}`);
40
+  }
41
+// 签收案件
42
+export function msCaseSign(data) {
43
+        return axios.post(`${baseUrl}/mssignSeal/msCaseSign`, data);
44
+}
45
+//根据案件id获取附件
46
+export function fileList(caseAppliId,annexTypeList) {
47
+    return axios.get(`${baseUrl}/common/fileList?caseAppliId=${caseAppliId}&annexTypeList=${annexTypeList}`);
48
+  }

+ 11
- 17
src/router/index.js Zobrazit soubor

@@ -22,23 +22,17 @@ const routes = [
22 22
         meta: { title: "房间" }
23 23
     },
24 24
     {
25
-        path: "/onlyOffice",
26
-        name: "onlyOffice",
27
-        component: () => import("../views/onlyOffice.vue"),
28
-        meta: { title: "在线文档" }
29
-    },
30
-    {
31
-        path: "/test",
32
-        name: "test",
33
-        component: () => import("../views/test.vue"),
34
-        meta: { title: "test" }
35
-    },
36
-    {
37
-        path: "/testRoom",
38
-        name: "testRoom",
39
-        component: () => import("../views/testRoom.vue"),
40
-        meta: { title: "testRoom" }
41
-    }
25
+        path:"/onlyOffice",
26
+        name:"onlyOffice",
27
+        component:()=>import("../views/onlyOffice.vue"),
28
+        meta:{title:"在线文档"}
29
+      },
30
+      {
31
+        path:"/signFor",
32
+        name:"signFor",
33
+        component:()=>import("../views/signFor.vue"),
34
+        meta:{title:"在线签收"}
35
+      }
42 36
 ]
43 37
 
44 38
 const router = new VueRouter({

+ 1
- 1
src/utils/request.js Zobrazit soubor

@@ -13,7 +13,7 @@ const server = axios.create({
13 13
 server.interceptors.request.use(config => {
14 14
     // config包含了请求相关的所有信息
15 15
     // 可以同过config对象给请求配置或者修改信息
16
-    config.headers.Authorization = sessionStorage.getItem('token');
16
+    config.headers.Authorization = 'Bearer ' + sessionStorage.getItem('token');
17 17
     return config // 将配置完成的token返回 如果不返回 请求不会继续进行
18 18
 }, err => {
19 19
     // 请求发生错误时的回调函数

+ 25
- 75
src/views/room.vue Zobrazit soubor

@@ -47,12 +47,7 @@
47 47
         <div :class="userClassPhone" id="localStream">
48 48
           <div class="userNamePhone">{{ userId }}</div>
49 49
         </div>
50
-        <div
51
-          :class="userClassPhone"
52
-          v-for="(item, index) in userList"
53
-          :key="index"
54
-          :id="item"
55
-        >
50
+        <div :class="userClassPhone" v-for="(item, index) in userList" :key="index" :id="item">
56 51
           <div class="userNamePhone">{{ item }}</div>
57 52
         </div>
58 53
       </div>
@@ -60,59 +55,26 @@
60 55
     <!-- 语音转文字弹窗 -->
61 56
     <el-drawer title="会议内容" :visible.sync="textVisible" :modal="false">
62 57
       <div style="margin-left: 20px; margin-bottom: 10px">
63
-        <div
64
-          style="
58
+        <div style="
65 59
             width: 100%;
66 60
             display: flex;
67 61
             justify-content: space-around;
68 62
             margin-bottom: 10px;
69
-          "
70
-        >
71
-          <el-upload
72
-            ref="upload"
73
-            :limit="1"
74
-            action="https://api.xayunmei.com/tiaojieapi/video/upload"
75
-            :headers="headers"
76
-            :data="filedata"
77
-            :on-change="beforeUpload"
78
-            :on-success="handlSuccess"
79
-            :file-list="fileList"
80
-            v-if="appFlag"
81
-          >
82
-            <el-button slot="trigger" size="small" type="primary"
83
-              >申请人上传证据</el-button
84
-            >
63
+          ">
64
+          <el-upload ref="upload" :limit="1" action="https://api.xayunmei.com/tiaojieapi/video/upload"
65
+            :headers="headers" :data="filedata" :on-change="beforeUpload" :on-success="handlSuccess"
66
+            :file-list="fileList" v-if="appFlag">
67
+            <el-button slot="trigger" size="small" type="primary">申请人上传证据</el-button>
85 68
           </el-upload>
86
-          <el-upload
87
-            v-if="resFlag"
88
-            ref="upload1"
89
-            :limit="1"
90
-            action="https://api.xayunmei.com/tiaojieapi/video/upload"
91
-            :headers="headers1"
92
-            :data="filedata1"
93
-            :on-change="beforeUpload1"
94
-            :on-success="handlSuccess1"
95
-            :file-list="fileList1"
96
-          >
97
-            <el-button slot="trigger" size="small" type="primary"
98
-              >被申请人上传证据</el-button
99
-            >
69
+          <el-upload v-if="resFlag" ref="upload1" :limit="1" action="https://api.xayunmei.com/tiaojieapi/video/upload"
70
+            :headers="headers1" :data="filedata1" :on-change="beforeUpload1" :on-success="handlSuccess1"
71
+            :file-list="fileList1">
72
+            <el-button slot="trigger" size="small" type="primary">被申请人上传证据</el-button>
100 73
           </el-upload>
101
-          <el-upload
102
-            v-if="editFlag"
103
-            ref="upload3"
104
-            :limit="1"
105
-            action="https://api.xayunmei.com/tiaojieapi/video/upload"
106
-            :headers="headers3"
107
-            :data="filedata3"
108
-            :on-change="beforeUpload3"
109
-            :on-success="handlSuccess3"
110
-            :file-list="fileList3"
111
-            accept=".doc,.docx"
112
-          >
113
-            <el-button slot="trigger" size="small" type="primary"
114
-              >上传调解书</el-button
115
-            >
74
+          <el-upload v-if="editFlag" ref="upload3" :limit="1" action="https://api.xayunmei.com/tiaojieapi/video/upload"
75
+            :headers="headers3" :data="filedata3" :on-change="beforeUpload3" :on-success="handlSuccess3"
76
+            :file-list="fileList3" accept=".doc,.docx">
77
+            <el-button slot="trigger" size="small" type="primary">上传调解书</el-button>
116 78
           </el-upload>
117 79
         </div>
118 80
         <div class="list">
@@ -151,25 +113,13 @@
151 113
           </div>
152 114
         </div>
153 115
       </div>
154
-      <quill-editor
155
-        ref="myQuillEditor"
156
-        v-model="contentValue"
157
-        :options="editorOption"
158
-        @blur="onEditorBlur($event)"
159
-        @focus="onEditorFocus($event)"
160
-        @ready="onEditorReady($event)"
161
-      ></quill-editor>
162
-      <el-button
163
-        class="updataBtn"
164
-        @click="updataClick"
165
-        type="primary"
166
-        :disabled="!updataFlag"
167
-        >确认修改内容</el-button
168
-      >
116
+      <quill-editor ref="myQuillEditor" v-model="contentValue" :options="editorOption" @blur="onEditorBlur($event)"
117
+        @focus="onEditorFocus($event)" @ready="onEditorReady($event)"></quill-editor>
118
+      <el-button class="updataBtn" @click="updataClick" type="primary" :disabled="!updataFlag">确认修改内容</el-button>
169 119
     </el-drawer>
170 120
   </div>
171 121
 </template>
172
-  
122
+
173 123
 <script>
174 124
 import { getUsersig, reserveConferenceList } from "@/api/home";
175 125
 import {
@@ -446,7 +396,7 @@ export default {
446 396
           } else if (item.annexType == 12) {
447 397
             this.resFile.push(item);
448 398
           } else if (item.annexType == 7) {
449
-            this.mediateFile.push(item);
399
+            this.mediateFile.push(item)
450 400
           }
451 401
         });
452 402
       });
@@ -667,7 +617,7 @@ export default {
667 617
   },
668 618
 };
669 619
 </script>
670
-  
620
+
671 621
 <style scoped>
672 622
 .roompage {
673 623
   width: 100%;
@@ -826,14 +776,17 @@ export default {
826 776
   position: absolute;
827 777
   bottom: 8px;
828 778
 }
779
+
829 780
 .fileList {
830 781
   /* max-height: 300px; */
831 782
   /* overflow-y: scroll; */
832 783
 }
784
+
833 785
 .list {
834 786
   display: flex;
835 787
   flex-wrap: wrap;
836 788
 }
789
+
837 790
 .applicant,
838 791
 .res,
839 792
 .mediate {
@@ -842,7 +795,4 @@ export default {
842 795
   margin-bottom: 10px;
843 796
   color: #38393b;
844 797
 }
845
-</style>
846
-  
847
-  
848
-  
798
+</style>

+ 141
- 0
src/views/signFor.vue Zobrazit soubor

@@ -0,0 +1,141 @@
1
+<template>
2
+    <div class="signFor">
3
+        <div>
4
+            <el-row style="height: 40px;line-height: 40px;text-align: center;">
5
+                <el-col :span="8"><div>案件编号</div></el-col>
6
+                <el-col :span="16"><div>{{ dataList.caseNum }}</div></el-col>
7
+            </el-row>
8
+            <hr>
9
+            <el-row style="height: 40px;line-height: 40px;text-align: center;">
10
+                <el-col :span="8"><div>申请人</div></el-col>
11
+                <el-col :span="16"><div>{{ dataList.applicationName }}</div></el-col>
12
+            </el-row>
13
+            <hr>
14
+            <el-row style="height: 40px;line-height: 40px;text-align: center;">
15
+                <el-col :span="8"><div>被申请人</div></el-col>
16
+                <el-col :span="16"><div>{{ dataList.respondentName }}</div></el-col>
17
+            </el-row>
18
+            <hr>
19
+            <el-row style="height: 40px;line-height: 40px;text-align: center;">
20
+                <el-col :span="8"><div>调解员</div></el-col>
21
+                <el-col :span="16"><div>{{ dataList.mediatorName }}</div></el-col>
22
+            </el-row>
23
+            <hr>
24
+            <el-row style="height: 40px;line-height: 40px;text-align: center;">
25
+                <el-col :span="8"><div>调解方式</div></el-col>
26
+                <el-col :span="16"><div>{{ dataList.mediationMethodName }}</div></el-col>
27
+            </el-row>
28
+            <hr>
29
+            <el-row style="height: 40px;line-height: 40px;text-align: center;">
30
+                <el-col :span="8"><div>调解时间</div></el-col>
31
+                <el-col :span="16"><div>{{ dataList.hearDate }}</div></el-col>
32
+            </el-row>
33
+            <hr>
34
+            <el-row style="height: 40px;line-height: 40px;text-align: center;">
35
+                <el-col :span="8"><div>案件状态</div></el-col>
36
+                <el-col :span="16"><div>{{ dataList.caseStatusName }}</div></el-col>
37
+            </el-row>
38
+            <hr>
39
+            <el-row style="height: 40px;line-height: 40px;text-align: center;">
40
+                <el-col :span="8"><div>创建时间</div></el-col>
41
+                <el-col :span="16"><div>{{ dataList.createTime }}</div></el-col>
42
+            </el-row>
43
+            <hr>
44
+            <el-row style="height: 40px;line-height: 40px;text-align: center;">
45
+                <el-col :span="7"><div>调解书</div></el-col>
46
+                <el-col :span="15"><div v-for="(item,index) in fileList" :key="index" style="color: blue; cursor: pointer"  @click="toPreview(item.annexPath)">{{ item.annexName }}</div></el-col>
47
+            </el-row>
48
+            <hr>
49
+            <el-row>
50
+                <el-col :span="24">
51
+                    <div style="width: 90px; margin: 30px auto;">
52
+                        <el-button type="primary" @click="getMsCaseSign(caseId)" v-if="showSign" icon="el-icon-edit">签收</el-button>
53
+                    </div>
54
+                </el-col>
55
+            </el-row>
56
+        </div>
57
+    </div>
58
+    
59
+</template>
60
+
61
+<script>
62
+import { getEncryptInfoByid,caseApplicationList,msCaseSign,fileList } from "@/api/home";
63
+export default {
64
+    name: "signFor",
65
+    components: {},
66
+    data() {
67
+        return {
68
+            dataList: [],
69
+            loading: false,
70
+            token:'',
71
+            caseId:'',
72
+            showSign:true,
73
+            fileURL: 'http://121.40.189.20:8002' + "/API",
74
+            fileList:[]
75
+
76
+        };
77
+    },
78
+    created() {
79
+        console.log(this.fileURL)
80
+    },
81
+    methods: {
82
+        /**获取链接参数 */
83
+        async getEncryptInfoByidFn(data) {
84
+            await getEncryptInfoByid(data).then((res) => {
85
+                this.caseId = res.caseId
86
+                sessionStorage.setItem('token',res.token)
87
+            });
88
+        },
89
+        // 获取案件列表
90
+        async getList(params){
91
+            await caseApplicationList(params).then(res =>{
92
+                res.rows.forEach(item => {
93
+                    this.dataList = item;
94
+                });
95
+            })
96
+        },
97
+        // 案件签收
98
+        async getMsCaseSign(params){
99
+            console.log(params)
100
+            let caseIds = {
101
+                caseId:params
102
+            }
103
+            await msCaseSign(caseIds).then(res =>{
104
+                console.log(res)
105
+                this.$message({
106
+                    message: '签收成功',
107
+                    type: 'success'
108
+                });
109
+                this.showSign = false
110
+            })
111
+        },
112
+        // 查看附件
113
+        async getFileList(caseAppliIds,annexTypeList){
114
+            fileList(caseAppliIds,annexTypeList).then(res=>{
115
+                this.fileList = res.data;
116
+                console.log(this.fileList)
117
+            })
118
+        },
119
+        toPreview(val){
120
+            console.log(val)
121
+            window.open(this.fileURL + val)
122
+        }
123
+    },
124
+    async mounted() {
125
+        let routeParams = this.$route.query;
126
+        await this.getEncryptInfoByidFn(routeParams.authId)
127
+        await this.getList(this.caseId)
128
+        // await this.getList("5461248676208928")
129
+        let caseAppliIds = this.caseId
130
+        let annexTypeList = 7
131
+        await this.getFileList(caseAppliIds,annexTypeList)
132
+    }
133
+};
134
+</script>
135
+
136
+<style scoped>
137
+    .signFor{
138
+        margin-top: 30px;
139
+        width: 100%;
140
+    }
141
+</style>