ソースを参照

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

gaogaoyujie 2 年 前
コミット
3a6a780964

+ 2
- 1
src/api/login.js ファイルの表示

107
   })
107
   })
108
 } 
108
 } 
109
 // H5轮询获取E证通Token状态
109
 // H5轮询获取E证通Token状态
110
-export function selectPCEIDtokenStatus() {
110
+export function selectPCEIDtokenStatus(data) {
111
   return request({
111
   return request({
112
     url: '/identityAuthentication/selectPCEIDtokenStatus',
112
     url: '/identityAuthentication/selectPCEIDtokenStatus',
113
     method: 'get',
113
     method: 'get',
114
+    params:data
114
   })
115
   })
115
 }
116
 }

+ 2
- 1
src/store/modules/user.js ファイルの表示

73
     },
73
     },
74
 
74
 
75
     // 退出系统
75
     // 退出系统
76
-    LogOut({ commit, state }) {
76
+    LogOut({ commit, state, dispatch }) {
77
       return new Promise((resolve, reject) => {
77
       return new Promise((resolve, reject) => {
78
         logout(state.token).then(() => {
78
         logout(state.token).then(() => {
79
           commit('SET_TOKEN', '')
79
           commit('SET_TOKEN', '')
80
           commit('SET_ROLES', [])
80
           commit('SET_ROLES', [])
81
           commit('SET_PERMISSIONS', [])
81
           commit('SET_PERMISSIONS', [])
82
           removeToken()
82
           removeToken()
83
+          dispatch('tagsView/delAllViews', null, { root: true })
83
           resolve()
84
           resolve()
84
         }).catch(error => {
85
         }).catch(error => {
85
           reject(error)
86
           reject(error)

+ 14
- 1
src/views/caseManagement/components/addCase.vue ファイルの表示

80
             </el-form-item>
80
             </el-form-item>
81
           </el-col>
81
           </el-col>
82
           <el-col :span="24" v-if="modelFlag && showmediate">
82
           <el-col :span="24" v-if="modelFlag && showmediate">
83
-            <el-form-item label="调解书:">
83
+            <el-form-item label="签名前调解书:">
84
               <div v-for="(item, index) in formData.caseAttachList" :key="index" v-if="item.annexType == 7">
84
               <div v-for="(item, index) in formData.caseAttachList" :key="index" v-if="item.annexType == 7">
85
                 <div style="color: blue; cursor: pointer" @click="fileDetil(item.onlyOfficeFileId, 2)">
85
                 <div style="color: blue; cursor: pointer" @click="fileDetil(item.onlyOfficeFileId, 2)">
86
                   {{ item.annexName }}
86
                   {{ item.annexName }}
88
               </div>
88
               </div>
89
             </el-form-item>
89
             </el-form-item>
90
           </el-col>
90
           </el-col>
91
+          <el-col :span="24" v-if="modelFlag&&labelShowMediate">
92
+            <el-form-item label="调解后调解书:">
93
+              <div v-for="(item, index) in formData.caseAttachList" :key="index" v-if="item.annexType == 13">
94
+                <div style="color: blue; cursor: pointer" @click="fileDetil(item.annexPath, 1)">
95
+                  {{ item.annexName }}
96
+                </div>
97
+              </div>
98
+            </el-form-item>
99
+          </el-col>
91
           <el-col :span="24">
100
           <el-col :span="24">
92
             <el-form-item label="调解结果:" v-if="modelFlag && formData.mediaResult">
101
             <el-form-item label="调解结果:" v-if="modelFlag && formData.mediaResult">
93
               <el-link v-if="formData.mediaResult == 1">达成调解</el-link>
102
               <el-link v-if="formData.mediaResult == 1">达成调解</el-link>
861
       getUserInfoList: {},
870
       getUserInfoList: {},
862
       applicationFlag: null,
871
       applicationFlag: null,
863
       showmediate: false,
872
       showmediate: false,
873
+      labelShowMediate:false,
864
       showEvidence: false,//是否显示证据
874
       showEvidence: false,//是否显示证据
865
       mediationApplication: false,
875
       mediationApplication: false,
866
       formZipData: {},
876
       formZipData: {},
1012
         }
1022
         }
1013
         this.activeName = "first";
1023
         this.activeName = "first";
1014
         this.showmediate = false;
1024
         this.showmediate = false;
1025
+        this.labelShowMediate = false;
1015
         this.showEvidence = false;
1026
         this.showEvidence = false;
1016
         this.mediationApplication = false;
1027
         this.mediationApplication = false;
1017
         this.getTemplateFn();
1028
         this.getTemplateFn();
1087
             this.showmediate = true
1098
             this.showmediate = true
1088
           } else if (item.annexType == 3) {
1099
           } else if (item.annexType == 3) {
1089
             this.mediationApplication = true
1100
             this.mediationApplication = true
1101
+          } else if(item.annexType == 13){
1102
+            this.labelShowMediate = true
1090
           }
1103
           }
1091
         });
1104
         });
1092
 
1105
 

+ 28
- 4
src/views/caseManagement/components/caseFilingDetailsPage.vue ファイルの表示

29
          </div> -->
29
          </div> -->
30
         <div v-show="activeName == 'third'">
30
         <div v-show="activeName == 'third'">
31
           <div v-for="item in detailsAwardNum.caseAttachList" v-if="item.annexType == 7" style="margin-top:10px;">
31
           <div v-for="item in detailsAwardNum.caseAttachList" v-if="item.annexType == 7" style="margin-top:10px;">
32
-            <el-link target="_blank" type="primary" :href="fileURL + item.annexPath">{{ item.annexName }}</el-link>
32
+            <!-- <el-link target="_blank" type="primary" :href="fileURL + item.annexPath">{{ item.annexName }}</el-link> -->
33
+                    <span>签署前调解书:</span>
34
+                    <div style="color: blue; cursor: pointer" @click="fileDetil(item.onlyOfficeFileId, 2)">
35
+                      {{ item.annexName }}
36
+                    </div>
37
+          </div>
38
+           <div v-for="item in detailsAwardNum.caseAttachList" v-if="item.annexType == 13" style="margin-top:10px;">
39
+                    <span>签署后调解书:</span>
40
+                    <div style="color: blue; cursor: pointer" @click="fileDetil(item.annexPath, 1)">
41
+                      {{ item.annexName }}
42
+                    </div>
33
           </div>
43
           </div>
34
           <el-empty v-if="isNoData(detailsAwardNum.caseAttachList, 7) == 0" description="暂无数据"></el-empty>
44
           <el-empty v-if="isNoData(detailsAwardNum.caseAttachList, 7) == 0" description="暂无数据"></el-empty>
35
         </div>
45
         </div>
89
                 </el-form-item>
99
                 </el-form-item>
90
               </el-col>
100
               </el-col>
91
               <el-col :span="24">
101
               <el-col :span="24">
92
-                <el-form-item label="调解书:">
102
+                <el-form-item label="签署前调解书:">
93
                   <div v-for="(item, index) in detailsAwardNum.caseAttachList" :key="index" v-if="item.annexType == 7">
103
                   <div v-for="(item, index) in detailsAwardNum.caseAttachList" :key="index" v-if="item.annexType == 7">
94
                     <div style="color: blue; cursor: pointer" @click="fileDetil(item.onlyOfficeFileId, 2)">
104
                     <div style="color: blue; cursor: pointer" @click="fileDetil(item.onlyOfficeFileId, 2)">
95
                       {{ item.annexName }}
105
                       {{ item.annexName }}
96
                     </div>
106
                     </div>
97
                   </div>
107
                   </div>
98
                 </el-form-item>
108
                 </el-form-item>
109
+              </el-col>
110
+               <el-col :span="24">
111
+                <el-form-item label="签署后调解书:">
112
+                  <div v-for="(item, index) in detailsAwardNum.caseAttachList" :key="index" v-if="item.annexType == 13">
113
+                    <div style="color: blue; cursor: pointer" @click="fileDetil(item.annexPath, 1)">
114
+                      {{ item.annexName }}
115
+                    </div>
116
+                  </div>
117
+                </el-form-item>
99
               </el-col>
118
               </el-col>
100
               <el-col :span="24">
119
               <el-col :span="24">
101
                 <el-form-item label="调解结果:">
120
                 <el-form-item label="调解结果:">
683
       });
702
       });
684
     },
703
     },
685
     /** 查看证据 */
704
     /** 查看证据 */
686
-    fileDetil(val) {
687
-      window.open(this.fileURL + val);
705
+    fileDetil(val,flag) {
706
+      if(flag==1){
707
+         window.open(this.fileURL + val);
708
+      }else if(flag==2){
709
+         this.$router.push({ path: '/onlyoffice', query: { id: val, flag: 0 } })
710
+      }
711
+     
688
     },
712
     },
689
     /** 文件上传地址 */
713
     /** 文件上传地址 */
690
     UploadUrl() {
714
     UploadUrl() {

+ 1
- 2
src/views/caseManagement/components/mediation.vue ファイルの表示

266
     },
266
     },
267
     /** 发起会议 */
267
     /** 发起会议 */
268
     openmeeting() {
268
     openmeeting() {
269
+      this.mediationVisable = false
269
       window.open(
270
       window.open(
270
         // `http://localhost:8080/#/home?name=${this.user}&id=${this.formData.id}&userId=${this.userId}&roomId=${this.formData.roomId}&type=tiaojie&token=${getToken()}`
271
         // `http://localhost:8080/#/home?name=${this.user}&id=${this.formData.id}&userId=${this.userId}&roomId=${this.formData.roomId}&type=tiaojie&token=${getToken()}`
271
         `https://txroom.xayunmei.com/#/home?name=${this.user}&id=${this.formData.id}&userId=${this.userId}&roomId=${this.formData.roomId}&type=tiaojie&token=${getToken()}`
272
         `https://txroom.xayunmei.com/#/home?name=${this.user}&id=${this.formData.id}&userId=${this.userId}&roomId=${this.formData.roomId}&type=tiaojie&token=${getToken()}`
340
           id: this.mediationData.id,
341
           id: this.mediationData.id,
341
           caseFlowId: this.mediationData.caseFlowId,
342
           caseFlowId: this.mediationData.caseFlowId,
342
           attachList: this.attachList,
343
           attachList: this.attachList,
343
-          sealFlag:this.sealFlag,
344
-          mediaResult: this.formData.mediaResult,
345
         }
344
         }
346
       } else {
345
       } else {
347
         if(this.formData.mediaResult != 1){
346
         if(this.formData.mediaResult != 1){

+ 5
- 5
src/views/caseManagement/components/mediationApplications.vue ファイルの表示

79
 
79
 
80
         },
80
         },
81
         beforeUpload(flie, fileList) {
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) {
82
             function getFileExtension(filename) {
88
                 const parts = filename.split('.');
83
                 const parts = filename.split('.');
89
                 return parts.length > 1 ? parts.pop() : '';
84
                 return parts.length > 1 ? parts.pop() : '';
96
             }
91
             }
97
             this.filedata.caseId = this.mediationLise.id
92
             this.filedata.caseId = this.mediationLise.id
98
             this.fileList = fileList;
93
             this.fileList = fileList;
94
+            const isLt2M = flie.size / 1024 / 1024 < 50; // 小于50MB
95
+            if (!isLt2M) {
96
+                this.$message.error('上传的文件大小不能超过 50MB!');
97
+            }
98
+            return isLt2M;
99
         },
99
         },
100
         handlSuccess(res, file) {
100
         handlSuccess(res, file) {
101
             if (res.code == 200) {
101
             if (res.code == 200) {

+ 2
- 1
src/views/caseManagement/components/timeConfirm.vue ファイルの表示

87
             this.createRoomIdFn({
87
             this.createRoomIdFn({
88
                 caseId: this.timeConfirmData.id
88
                 caseId: this.timeConfirmData.id
89
             })
89
             })
90
-            if (this.formLabelAlign.name == '') {
90
+            if (!this.formLabelAlign.name) {
91
                 Message.error('请选择时间');
91
                 Message.error('请选择时间');
92
                 return
92
                 return
93
             }
93
             }
94
+            console.log(this.formLabelAlign.name)
94
             this.formLabelAlign.name = moment(
95
             this.formLabelAlign.name = moment(
95
                 this.formLabelAlign.name
96
                 this.formLabelAlign.name
96
             ).format("YYYY-MM-DD HH:mm:ss");
97
             ).format("YYYY-MM-DD HH:mm:ss");

+ 69
- 24
src/views/login.vue ファイルの表示

81
             <span v-else>登 录 中...</span>
81
             <span v-else>登 录 中...</span>
82
           </el-button>
82
           </el-button>
83
           <div style="float: right" v-if="register">
83
           <div style="float: right" v-if="register">
84
-            <router-link class="link-type" :to="'/register'">立即注册</router-link>
85
-            <!-- <el-button type="text" @click="registrationLink('/register')"
86
-              >立即注册</el-button> -->
84
+            <!-- <router-link class="link-type" :to="'/register'">立即注册</router-link> -->
85
+            <el-button
86
+              type="text"
87
+              v-if="buttonReg"
88
+              @click="registrationLink('/register')"
89
+              >立即注册</el-button
90
+            >
87
           </div>
91
           </div>
88
-          <div class="registerImg" v-if="closeImgs">
92
+          <div class="registerImg" v-show="closeImgs">
89
             <div class="closeImg" @click="closeImg">
93
             <div class="closeImg" @click="closeImg">
90
               <img
94
               <img
91
                 style="width: 25px; height: 25px"
95
                 style="width: 25px; height: 25px"
92
                 src="../assets/images/closed.png"
96
                 src="../assets/images/closed.png"
93
                 alt=""
97
                 alt=""
94
               />
98
               />
99
+              <span style="padding-left: 100px">扫码人脸核验</span>
95
             </div>
100
             </div>
96
-            <div id="qrcodeImg"></div>
101
+            <div id="qrcodeImg" style="padding-left: 76px"></div>
97
           </div>
102
           </div>
98
         </el-form-item>
103
         </el-form-item>
99
       </el-form>
104
       </el-form>
100
     </div>
105
     </div>
101
-
106
+    <!-- 注册时选择是否 -->
107
+    <div>
108
+      <el-dialog
109
+        title="是否需要人脸核实"
110
+        :visible.sync="centerDialogVisible"
111
+        width="30%"
112
+        center
113
+      >
114
+        <span slot="footer" class="dialog-footer">
115
+          <el-button @click="facialVerification('/register')" type="primary"
116
+            >是</el-button
117
+          >
118
+          <el-button @click="noFacialVerification('/register')" type="primary"
119
+            >否</el-button
120
+          >
121
+        </span>
122
+      </el-dialog>
123
+    </div>
102
     <!--  底部  -->
124
     <!--  底部  -->
103
     <div class="el-login-footer">
125
     <div class="el-login-footer">
104
       <div>Copyright © 2023 乙巢(上海)企业管理服务有限公司.</div>
126
       <div>Copyright © 2023 乙巢(上海)企业管理服务有限公司.</div>
123
     return {
145
     return {
124
       codeUrl: "",
146
       codeUrl: "",
125
       closeImgs: false,
147
       closeImgs: false,
148
+      centerDialogVisible: false,
149
+      buttonReg: true,
150
+      eidTokens: {},
126
       timer: null,
151
       timer: null,
127
-      pathVal:"",
152
+      pathVal: "",
128
       loginForm: {
153
       loginForm: {
129
         username: "admin",
154
         username: "admin",
130
         password: "admin123",
155
         password: "admin123",
214
         }
239
         }
215
       });
240
       });
216
     },
241
     },
242
+    // 生成二维码
243
+    qrcode(url) {
244
+      // 前端根据 URL 生成微信支付二维码
245
+      document.getElementById("qrcodeImg").innerHTML = "";
246
+      return new QRCode("qrcodeImg", {
247
+        width: 200,
248
+        height: 200,
249
+        text: url,
250
+        colorDark: "#000",
251
+        colorLight: "#fff",
252
+      });
253
+    },
217
     registrationLink(path) {
254
     registrationLink(path) {
255
+      this.centerDialogVisible = true;
256
+    },
257
+    // 是人脸核实
258
+    facialVerification(path) {
259
+      this.centerDialogVisible = false;
218
       this.pathVal = path;
260
       this.pathVal = path;
219
-      clearInterval(this.timer);
261
+      // clearInterval(this.timer);
220
       selectIdentityAuthenticaEIDtoken().then((res) => {
262
       selectIdentityAuthenticaEIDtoken().then((res) => {
221
-        // this.timer = setInterval(() => {
222
-        //   this.getSelectPCEIDtokenStatus(res.data.eidToken);
223
-        // }, 1000);
224
         this.closeImgs = true;
263
         this.closeImgs = true;
225
-        let url = res.data.eidToken;
226
-        document.getElementById("qrcodeImg").innerHTML = "";
227
-        return new QRCode("qrcodeImg", {
228
-          width: 200,
229
-          height: 200,
230
-          text: url,
231
-          colorDark: "#000",
232
-          colorLight: "#fff",
233
-        });
264
+        this.buttonReg = false;
265
+        let url = res.data.Url;
266
+        this.eidTokens = {
267
+          eidToken: res.data.EidToken,
268
+        };
269
+        this.timer = setInterval(() => {
270
+          this.getSelectPCEIDtokenStatus(this.eidTokens);
271
+        }, 10000);
272
+        this.qrcode(url);
234
       });
273
       });
235
-      // this.$router.push(path);
274
+    },
275
+    // 不用人脸核实
276
+    noFacialVerification(path) {
277
+      this.$router.push(path);
236
     },
278
     },
237
     // H5轮询获取E证通Token状态
279
     // H5轮询获取E证通Token状态
238
     getSelectPCEIDtokenStatus(data) {
280
     getSelectPCEIDtokenStatus(data) {
239
       selectPCEIDtokenStatus(data).then((res) => {
281
       selectPCEIDtokenStatus(data).then((res) => {
240
-        this.$router.push(this.pathVal);
282
+        if (res.data.Text.ErrCode == 0) {
283
+          this.$router.push(this.pathVal);
284
+        }
241
       });
285
       });
242
     },
286
     },
243
     // 关闭弹框
287
     // 关闭弹框
244
     closeImg() {
288
     closeImg() {
245
-      clearInterval(this.timer)
289
+      clearInterval(this.timer);
246
       this.closeImgs = false;
290
       this.closeImgs = false;
291
+      this.buttonReg = true;
247
     },
292
     },
248
   },
293
   },
249
   beforeDestroy() {
294
   beforeDestroy() {
251
     if (this.timer) {
296
     if (this.timer) {
252
       clearInterval(this.timer);
297
       clearInterval(this.timer);
253
     }
298
     }
254
-  }
299
+  },
255
 };
300
 };
256
 </script>
301
 </script>
257
 
302