소스 검색

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

hhl123456789 2 년 전
부모
커밋
53f3e04905

+ 29
- 2
README.md 파일 보기

1
-# Mediation-Frontend
1
+## 开发
2
 
2
 
3
-调解系统PC端服务
3
+```bash
4
+# 克隆项目
5
+git clone https://gitee.com/y_project/RuoYi-Vue
6
+
7
+# 进入项目目录
8
+cd ruoyi-ui
9
+
10
+# 安装依赖
11
+npm install
12
+
13
+# 建议不要直接使用 cnpm 安装依赖,会有各种诡异的 bug。可以通过如下操作解决 npm 下载速度慢的问题
14
+npm install --registry=https://registry.npmmirror.com
15
+
16
+# 启动服务
17
+npm run dev
18
+```
19
+
20
+浏览器访问 http://localhost:80
21
+
22
+## 发布
23
+
24
+```bash
25
+# 构建测试环境
26
+npm run build:stage
27
+
28
+# 构建生产环境
29
+npm run build:prod
30
+```

+ 5
- 2
package.json 파일 보기

2
   "name": "ruoyi",
2
   "name": "ruoyi",
3
   "version": "3.8.6",
3
   "version": "3.8.6",
4
   "description": "调解系统",
4
   "description": "调解系统",
5
-  "author": "若依",
5
+  "author": "智慧仲裁",
6
   "license": "MIT",
6
   "license": "MIT",
7
   "scripts": {
7
   "scripts": {
8
     "dev": "vue-cli-service serve",
8
     "dev": "vue-cli-service serve",
48
     "js-beautify": "1.13.0",
48
     "js-beautify": "1.13.0",
49
     "js-cookie": "3.0.1",
49
     "js-cookie": "3.0.1",
50
     "jsencrypt": "3.0.0-rc.1",
50
     "jsencrypt": "3.0.0-rc.1",
51
+    "moment": "^2.29.4",
51
     "nprogress": "0.2.0",
52
     "nprogress": "0.2.0",
53
+    "qrcodejs2": "0.0.2",
52
     "quill": "1.3.7",
54
     "quill": "1.3.7",
53
     "screenfull": "5.0.2",
55
     "screenfull": "5.0.2",
54
     "sortablejs": "1.10.2",
56
     "sortablejs": "1.10.2",
55
     "vue": "2.6.12",
57
     "vue": "2.6.12",
56
     "vue-count-to": "1.0.13",
58
     "vue-count-to": "1.0.13",
57
     "vue-cropper": "0.5.5",
59
     "vue-cropper": "0.5.5",
60
+    "vue-esign": "^1.1.4",
58
     "vue-meta": "2.4.0",
61
     "vue-meta": "2.4.0",
59
     "vue-router": "3.4.9",
62
     "vue-router": "3.4.9",
60
     "vuedraggable": "2.24.3",
63
     "vuedraggable": "2.24.3",
87
     "> 1%",
90
     "> 1%",
88
     "last 2 versions"
91
     "last 2 versions"
89
   ]
92
   ]
90
-}
93
+}

BIN
src/assets/images/profile.jpg 파일 보기


+ 2
- 2
src/components/ImageUpload/index.vue 파일 보기

51
     // 图片数量限制
51
     // 图片数量限制
52
     limit: {
52
     limit: {
53
       type: Number,
53
       type: Number,
54
-      default: 5,
54
+      default: 1,
55
     },
55
     },
56
     // 大小限制(MB)
56
     // 大小限制(MB)
57
     fileSize: {
57
     fileSize: {
58
        type: Number,
58
        type: Number,
59
-      default: 5,
59
+      // default: 5,
60
     },
60
     },
61
     // 文件类型, 例如['png', 'jpg', 'jpeg']
61
     // 文件类型, 例如['png', 'jpg', 'jpeg']
62
     fileType: {
62
     fileType: {

+ 2
- 1
src/components/RuoYi/Doc/index.vue 파일 보기

9
   name: 'RuoYiDoc',
9
   name: 'RuoYiDoc',
10
   data() {
10
   data() {
11
     return {
11
     return {
12
-      url: 'http://doc.ruoyi.vip/ruoyi-vue'
12
+      // url: 'http://doc.ruoyi.vip/ruoyi-vue'
13
+      url: '#'
13
     }
14
     }
14
   },
15
   },
15
   methods: {
16
   methods: {

+ 2
- 7
src/layout/components/Navbar.vue 파일 보기

7
 
7
 
8
     <div class="right-menu">
8
     <div class="right-menu">
9
       <template v-if="device!=='mobile'">
9
       <template v-if="device!=='mobile'">
10
-        <!-- <search id="header-search" class="right-menu-item" />
11
-        
12
-        <el-tooltip content="源码地址" effect="dark" placement="bottom">
13
-          <ruo-yi-git id="ruoyi-git" class="right-menu-item hover-effect" />
14
-        </el-tooltip>
15
-
10
+        <!-- <search id="header-search" class="right-menu-item" /> -->
16
         <el-tooltip content="文档地址" effect="dark" placement="bottom">
11
         <el-tooltip content="文档地址" effect="dark" placement="bottom">
17
           <ruo-yi-doc id="ruoyi-doc" class="right-menu-item hover-effect" />
12
           <ruo-yi-doc id="ruoyi-doc" class="right-menu-item hover-effect" />
18
-        </el-tooltip> -->
13
+        </el-tooltip>
19
 
14
 
20
         <screenfull id="screenfull" class="right-menu-item hover-effect" />
15
         <screenfull id="screenfull" class="right-menu-item hover-effect" />
21
 
16
 

+ 6
- 3
src/main.js 파일 보기

4
 
4
 
5
 import Element from 'element-ui'
5
 import Element from 'element-ui'
6
 import './assets/styles/element-variables.scss'
6
 import './assets/styles/element-variables.scss'
7
-import './assets/icons' // icon
7
+
8
 import '@/assets/styles/index.scss' // global css
8
 import '@/assets/styles/index.scss' // global css
9
 import '@/assets/styles/ruoyi.scss' // ruoyi css
9
 import '@/assets/styles/ruoyi.scss' // ruoyi css
10
 import App from './App'
10
 import App from './App'
14
 import plugins from './plugins' // plugins
14
 import plugins from './plugins' // plugins
15
 import { download } from '@/utils/request'
15
 import { download } from '@/utils/request'
16
 
16
 
17
+import './assets/icons' // icon
18
+// 引入Iconfont 矢量图标库
17
 import './assets/icon/iconfont.css'
19
 import './assets/icon/iconfont.css'
18
 import './permission' // permission control
20
 import './permission' // permission control
19
 import { getDicts } from "@/api/system/dict/data";
21
 import { getDicts } from "@/api/system/dict/data";
37
 import VueMeta from 'vue-meta'
39
 import VueMeta from 'vue-meta'
38
 // 字典数据组件
40
 // 字典数据组件
39
 import DictData from '@/components/DictData'
41
 import DictData from '@/components/DictData'
42
+//画布组件
43
+import vueEsign from 'vue-esign'
40
 import {checkPermi} from '@/utils/permission'
44
 import {checkPermi} from '@/utils/permission'
41
-import { statusRole } from '@/utils/permission'
42
 
45
 
43
 // 全局方法挂载
46
 // 全局方法挂载
44
 Vue.prototype.getDicts = getDicts
47
 Vue.prototype.getDicts = getDicts
51
 Vue.prototype.download = download
54
 Vue.prototype.download = download
52
 Vue.prototype.handleTree = handleTree
55
 Vue.prototype.handleTree = handleTree
53
 Vue.prototype.checkPermi = checkPermi
56
 Vue.prototype.checkPermi = checkPermi
54
-Vue.prototype.statusRole = statusRole
55
 
57
 
56
 // 全局组件挂载
58
 // 全局组件挂载
57
 Vue.component('DictTag', DictTag)
59
 Vue.component('DictTag', DictTag)
65
 Vue.use(directive)
67
 Vue.use(directive)
66
 Vue.use(plugins)
68
 Vue.use(plugins)
67
 Vue.use(VueMeta)
69
 Vue.use(VueMeta)
70
+Vue.use(vueEsign)
68
 DictData.install()
71
 DictData.install()
69
 
72
 
70
 /**
73
 /**

+ 4
- 2
src/router/index.js 파일 보기

100
     children: [
100
     children: [
101
       {
101
       {
102
         path: 'role/:userId(\\d+)',
102
         path: 'role/:userId(\\d+)',
103
-        component: () => import('@/views/system/user/authRole'),
103
+        // component: () => import('@/views/system/user/authRole'),
104
+        component: (resolve) => require(['@/views/system/user/authRole'],resolve),
104
         name: 'AuthRole',
105
         name: 'AuthRole',
105
         meta: { title: '分配角色', activeMenu: '/system/user' }
106
         meta: { title: '分配角色', activeMenu: '/system/user' }
106
       }
107
       }
114
     children: [
115
     children: [
115
       {
116
       {
116
         path: 'user/:roleId(\\d+)',
117
         path: 'user/:roleId(\\d+)',
117
-        component: () => import('@/views/system/role/authUser'),
118
+        // component: () => import('@/views/system/role/authUser'),
119
+        component: (resolve) => require(['@/views/system/role/authUser'],resolve),
118
         name: 'AuthUser',
120
         name: 'AuthUser',
119
         meta: { title: '分配用户', activeMenu: '/system/role' }
121
         meta: { title: '分配用户', activeMenu: '/system/role' }
120
       }
122
       }

+ 1
- 0
src/store/modules/permission.js 파일 보기

126
     return (resolve) => require([`@/views/${view}`], resolve)
126
     return (resolve) => require([`@/views/${view}`], resolve)
127
   } else {
127
   } else {
128
     // 使用 import 实现生产环境的路由懒加载
128
     // 使用 import 实现生产环境的路由懒加载
129
+    // return () => import(`@/views/${view}`)
129
     return (resolve) => require([`@/views/${view}`], resolve)
130
     return (resolve) => require([`@/views/${view}`], resolve)
130
   }
131
   }
131
 }
132
 }

+ 0
- 1
src/store/modules/user.js 파일 보기

50
     GetInfo({ commit, state }) {
50
     GetInfo({ commit, state }) {
51
       return new Promise((resolve, reject) => {
51
       return new Promise((resolve, reject) => {
52
         getInfo().then(res => {
52
         getInfo().then(res => {
53
-          sessionStorage.setItem('caseStatus', JSON.stringify(res.caseStatus))
54
           const user = res.user
53
           const user = res.user
55
           const avatar = (user.avatar == "" || user.avatar == null) ? require("@/assets/images/profile.jpg") : process.env.VUE_APP_BASE_API + user.avatar;
54
           const avatar = (user.avatar == "" || user.avatar == null) ? require("@/assets/images/profile.jpg") : process.env.VUE_APP_BASE_API + user.avatar;
56
           if (res.roles && res.roles.length > 0) { // 验证返回的roles是否是一个非空数组
55
           if (res.roles && res.roles.length > 0) { // 验证返回的roles是否是一个非空数组

+ 0
- 40
src/utils/permission.js 파일 보기

24
     return false
24
     return false
25
   }
25
   }
26
 }
26
 }
27
-
28
 /**
27
 /**
29
  * 角色权限校验
28
  * 角色权限校验
30
  * @param {Array} value 校验值
29
  * @param {Array} value 校验值
48
     console.error(`need roles! Like checkRole="['admin','editor']"`)
47
     console.error(`need roles! Like checkRole="['admin','editor']"`)
49
     return false
48
     return false
50
   }
49
   }
51
-}
52
-
53
-/**
54
- * 状态权限校验
55
- * @param {Number} value 校验值
56
- * @returns {Boolean}
57
- */
58
-export function statusRole(value) {
59
-  let caseStatusStr = sessionStorage.getItem('caseStatus');
60
-  let caseStatus = [];
61
-  caseStatus = JSON.parse(caseStatusStr);
62
-  if (caseStatus.length == 0) {
63
-    return false
64
-  }
65
-  // if (caseStatus.includes(value)) {
66
-  //   // caseStatus.forEach(item => {
67
-  //   //   if (item == value) {
68
-  //   //     return true
69
-  //   //   }
70
-  //   // });
71
-  //   for(let i = 0;i < caseStatus.length;i++){
72
-  //     if(caseStatus[i] == value){
73
-  //       return true
74
-  //     }
75
-  //   }
76
-  // } else {
77
-  //   return false
78
-  // }
79
-  let flag = null;
80
-  for (let i = 0; i < caseStatus.length; i++) {
81
-    if (caseStatus[i] == value) {
82
-      flag = caseStatus[i]
83
-    }
84
-  }
85
-  if (flag == value) {
86
-    return true
87
-  } else {
88
-    return false
89
-  }
90
 }
50
 }

+ 2
- 5
src/utils/request.js 파일 보기

17
   // axios中请求配置有baseURL选项,表示请求URL公共部分
17
   // axios中请求配置有baseURL选项,表示请求URL公共部分
18
   baseURL: process.env.VUE_APP_BASE_API,
18
   baseURL: process.env.VUE_APP_BASE_API,
19
   // 超时
19
   // 超时
20
-  timeout: 10000
20
+  // timeout: 10000
21
+  timeout: 15000
21
 })
22
 })
22
 
23
 
23
 // request拦截器
24
 // request拦截器
36
     config.params = {};
37
     config.params = {};
37
     config.url = url;
38
     config.url = url;
38
   }
39
   }
39
-  if (config.url === '/caseApplication/mediation') {
40
-    // 调解时对于特定的请求设置超时时间为20秒
41
-    config.timeout = 20000; // 20秒
42
-  }
43
   if (!isRepeatSubmit && (config.method === 'post' || config.method === 'put')) {
40
   if (!isRepeatSubmit && (config.method === 'post' || config.method === 'put')) {
44
     const requestObj = {
41
     const requestObj = {
45
       url: config.url,
42
       url: config.url,

+ 147
- 147
src/views/caseManagement/components/caseAcceptance.vue 파일 보기

1
-<template>
2
-  <div>
3
-    <!-- 案件受理 -->
4
-    <el-dialog title="案件受理" :visible="showAcceptance" @close="cancel" :destroy-on-close="true" center>
5
-      <el-form ref="courtReviewform" :model="courtReviewform">
6
-        <el-form-item label="被申请人是否同意调解:">
7
-          <el-radio-group v-model="courtReviewform.agreeFlag">
8
-            <el-radio :label="1">是</el-radio>
9
-            <el-radio :label="0">否</el-radio>
10
-          </el-radio-group>
11
-        </el-form-item>
12
-        <el-form-item label="调解方式:" v-if="courtReviewform.agreeFlag == 1">
13
-          <el-radio-group v-model="courtReviewform.mediationMethod">
14
-            <el-radio :label="1">线上调解</el-radio>
15
-            <el-radio :label="2">线下调解</el-radio>
16
-          </el-radio-group>
17
-        </el-form-item>
18
-        <el-form-item label="是否纸质送达:" v-if="courtReviewform.agreeFlag == 1">
19
-          <el-radio-group v-model="courtReviewform.paperFlag">
20
-            <el-radio :label="1">是</el-radio>
21
-            <el-radio :label="0">否</el-radio>
22
-          </el-radio-group>
23
-        </el-form-item>
24
-        <!-- <el-form-item label="是否仲裁确认:" v-if="courtReviewform.agreeFlag == 1" >
25
-          <el-radio-group v-model="courtReviewform.arbitrateConfirm">
26
-            <el-radio :label="1">是</el-radio>
27
-            <el-radio :label="0">否</el-radio>
28
-          </el-radio-group>
29
-        </el-form-item> -->
30
-        <el-form-item v-if="courtReviewform.agreeFlag == 0" label="拒绝理由:" prop="rejectReason" :rules="[
31
-          {
32
-            required: true,
33
-            message: '拒绝理由不能为空',
34
-            trigger: 'blur',
35
-          },
36
-        ]">
37
-          <el-input v-model="courtReviewform.rejectReason" type="textarea" :rows="8" />
38
-        </el-form-item>
39
-      </el-form>
40
-      <div slot="footer" class="dialog-footer">
41
-        <el-button type="primary" @click="submitForm" class="endbutton"><span>确 定</span></el-button>
42
-        <el-button @click="cancel" class="endbutton1"><span> 取 消</span></el-button>
43
-      </div>
44
-    </el-dialog>
45
-  </div>
46
-</template>
47
-
48
-<script>
49
-import { accept } from '@/api/caseManagement/caseManagement.js'
50
-export default {
51
-  name: "caseAcceptance",
52
-  props: ["showAcceptance", "caseAcceptanceData", "getList", "queryParams"],
53
-  data() {
54
-    return {
55
-      courtReviewform: {
56
-        mediationMethod: 2,
57
-        paperFlag: 0,
58
-        arbitrateConfirm: 0,
59
-        agreeFlag: 1
60
-      },
61
-    };
62
-  },
63
-  watch: {
64
-    showAcceptance(val) {
65
-      if (val) {
66
-        console.log(this.caseAcceptanceData)
67
-      }
68
-    },
69
-  },
70
-  methods: {
71
-    submitForm() {
72
-      this.$refs["courtReviewform"].validate((valid) => {
73
-        if (valid) {
74
-          let paramsdata = {
75
-            id: this.caseAcceptanceData.id,
76
-            caseFlowId: this.caseAcceptanceData.caseFlowId,
77
-            batchNumber: ""
78
-          }
79
-          let mergeValue = Object.assign({}, this.courtReviewform, paramsdata)
80
-          accept(mergeValue).then((res) => {
81
-            this.$modal.msgSuccess("确认成功");
82
-            this.$emit("getList", this.queryParams)
83
-            this.cancel();
84
-          })
85
-            .catch((err) => { });
86
-        }
87
-      });
88
-    },
89
-    cancel() {
90
-      this.$emit("cancelAcceptance");
91
-    },
92
-  },
93
-};
94
-</script>
95
-
96
-<style lang="scss" scoped>
97
-::v-deep .el-dialog {
98
-  background: #ffffff;
99
-  border-radius: 20px;
100
-}
101
-
102
-.el-form-item {
103
-  margin-left: 10%;
104
-}
105
-
106
-.endbutton {
107
-  width: 124px;
108
-  height: 37px;
109
-  background: #0072ff;
110
-  border-radius: 19px;
111
-
112
-  span {
113
-    width: 32px;
114
-    height: 15px;
115
-    font-size: 16px;
116
-    font-family: Microsoft YaHei;
117
-    font-weight: 400;
118
-    color: #ffffff;
119
-    // line-height: 48px;
120
-  }
121
-}
122
-
123
-.endbutton1 {
124
-  width: 124px;
125
-  height: 37px;
126
-  background: #ffffff;
127
-  border: 1px solid #d0d0d0;
128
-  border-radius: 19px;
129
-
130
-  span {
131
-    width: 31px;
132
-    height: 13px;
133
-    font-size: 16px;
134
-    font-family: Microsoft YaHei;
135
-    font-weight: 400;
136
-    color: #959595;
137
-    // line-height: 48px;
138
-  }
139
-}
140
-
141
-.nowarbitrator {
142
-  margin-left: 10%;
143
-}
144
-
145
-::v-deep .el-form-item__error {
146
-  left: 90px;
147
-}
1
+<template>
2
+  <div>
3
+    <!-- 案件受理 -->
4
+    <el-dialog title="案件受理" :visible="showAcceptance" @close="cancel" :destroy-on-close="true" center>
5
+      <el-form ref="courtReviewform" :model="courtReviewform">
6
+        <el-form-item label="被申请人是否同意调解:">
7
+          <el-radio-group v-model="courtReviewform.agreeFlag">
8
+            <el-radio :label="1">是</el-radio>
9
+            <el-radio :label="0">否</el-radio>
10
+          </el-radio-group>
11
+        </el-form-item>
12
+        <el-form-item label="调解方式:" v-if="courtReviewform.agreeFlag == 1">
13
+          <el-radio-group v-model="courtReviewform.mediationMethod">
14
+            <el-radio :label="1">线上调解</el-radio>
15
+            <el-radio :label="2">线下调解</el-radio>
16
+          </el-radio-group>
17
+        </el-form-item>
18
+        <el-form-item label="是否纸质送达:" v-if="courtReviewform.agreeFlag == 1">
19
+          <el-radio-group v-model="courtReviewform.paperFlag">
20
+            <el-radio :label="1">是</el-radio>
21
+            <el-radio :label="0">否</el-radio>
22
+          </el-radio-group>
23
+        </el-form-item>
24
+        <!-- <el-form-item label="是否仲裁确认:" v-if="courtReviewform.agreeFlag == 1" >
25
+          <el-radio-group v-model="courtReviewform.arbitrateConfirm">
26
+            <el-radio :label="1">是</el-radio>
27
+            <el-radio :label="0">否</el-radio>
28
+          </el-radio-group>
29
+        </el-form-item> -->
30
+        <el-form-item v-if="courtReviewform.agreeFlag == 0" label="拒绝理由:" prop="rejectReason" :rules="[
31
+          {
32
+            required: true,
33
+            message: '拒绝理由不能为空',
34
+            trigger: 'blur',
35
+          },
36
+        ]">
37
+          <el-input v-model="courtReviewform.rejectReason" type="textarea" :rows="8" />
38
+        </el-form-item>
39
+      </el-form>
40
+      <div slot="footer" class="dialog-footer">
41
+        <el-button type="primary" @click="submitForm" class="endbutton"><span>确 定</span></el-button>
42
+        <el-button @click="cancel" class="endbutton1"><span> 取 消</span></el-button>
43
+      </div>
44
+    </el-dialog>
45
+  </div>
46
+</template>
47
+
48
+<script>
49
+import { accept } from '@/api/caseManagement/caseManagement.js'
50
+export default {
51
+  name: "caseAcceptance",
52
+  props: ["showAcceptance", "caseAcceptanceData", "getList", "queryParams"],
53
+  data() {
54
+    return {
55
+      courtReviewform: {
56
+        mediationMethod: 2,
57
+        paperFlag: 0,
58
+        arbitrateConfirm: 0,
59
+        agreeFlag: 1
60
+      },
61
+    };
62
+  },
63
+  watch: {
64
+    showAcceptance(val) {
65
+      if (val) {
66
+        console.log(this.caseAcceptanceData)
67
+      }
68
+    },
69
+  },
70
+  methods: {
71
+    submitForm() {
72
+      this.$refs["courtReviewform"].validate((valid) => {
73
+        if (valid) {
74
+          let paramsdata = {
75
+            id: this.caseAcceptanceData.id,
76
+            caseFlowId: this.caseAcceptanceData.caseFlowId,
77
+            batchNumber: ""
78
+          }
79
+          let mergeValue = Object.assign({}, this.courtReviewform, paramsdata)
80
+          accept(mergeValue).then((res) => {
81
+            this.$modal.msgSuccess("确认成功");
82
+            this.$emit("getList", this.queryParams)
83
+            this.cancel();
84
+          })
85
+            .catch((err) => { });
86
+        }
87
+      });
88
+    },
89
+    cancel() {
90
+      this.$emit("cancelAcceptance");
91
+    },
92
+  },
93
+};
94
+</script>
95
+
96
+<style lang="scss" scoped>
97
+::v-deep .el-dialog {
98
+  background: #ffffff;
99
+  border-radius: 20px;
100
+}
101
+
102
+.el-form-item {
103
+  margin-left: 10%;
104
+}
105
+
106
+.endbutton {
107
+  width: 124px;
108
+  height: 37px;
109
+  background: #0072ff;
110
+  border-radius: 19px;
111
+
112
+  span {
113
+    width: 32px;
114
+    height: 15px;
115
+    font-size: 16px;
116
+    font-family: Microsoft YaHei;
117
+    font-weight: 400;
118
+    color: #ffffff;
119
+    // line-height: 48px;
120
+  }
121
+}
122
+
123
+.endbutton1 {
124
+  width: 124px;
125
+  height: 37px;
126
+  background: #ffffff;
127
+  border: 1px solid #d0d0d0;
128
+  border-radius: 19px;
129
+
130
+  span {
131
+    width: 31px;
132
+    height: 13px;
133
+    font-size: 16px;
134
+    font-family: Microsoft YaHei;
135
+    font-weight: 400;
136
+    color: #959595;
137
+    // line-height: 48px;
138
+  }
139
+}
140
+
141
+.nowarbitrator {
142
+  margin-left: 10%;
143
+}
144
+
145
+::v-deep .el-form-item__error {
146
+  left: 90px;
147
+}
148
 </style>
148
 </style>

+ 365
- 365
src/views/caseManagement/components/caseFilingDetailsPage.vue 파일 보기

1
-<template>
2
-  <div>
3
-    <el-dialog title="归档详情" :visible="showarchiveDetails" @close="cancel" :destroy-on-close="true" center>
4
-      <div class="loading" v-if="flagLoadingS">
5
-        <i class="el-icon-loading"></i>
6
-      </div>
7
-      <div v-else>
8
-          <el-tabs v-model="activeName"  @tab-click="handleClick">
9
-            <el-tab-pane label="案件信息" name="five"></el-tab-pane>
10
-            <el-tab-pane label="申请人案件证据资料" name="first"></el-tab-pane>
11
-            <!-- <el-tab-pane label="被申请人案件证据资料" name="second"></el-tab-pane> -->
12
-            <el-tab-pane label="调解书" name="third"></el-tab-pane>
13
-            <el-tab-pane label="案件视频" name="fourth" v-if="caseFilingData.mediationMethod == '1'"></el-tab-pane>
14
-            <el-tab-pane label="庭审笔录" name="six" v-if="caseFilingData.mediationMethod == '1'"></el-tab-pane>
15
-         </el-tabs>
16
-         <div v-show="activeName=='first'">
17
-             
18
-             <div v-for="(item,index) in detailsAwardNum.caseAttachList" :key="index" v-if="item.annexType==2" style="margin-top:10px;">
19
-                 <el-link target="_blank" type="primary" :href="fileURL+item.annexPath">{{item.annexName}}</el-link>
20
-             </div>
21
-            <el-empty v-if="isNoData(detailsAwardNum.caseAttachList,2) == 0" description="暂无数据"></el-empty>
22
-         </div>
23
-         <!-- <div v-show="activeName=='second'">
24
-            <div v-for="item in detailsAwardNum.caseAttachList" v-if="item.annexType==6" style="margin-top:10px;">
25
-                 <el-link target="_blank" type="primary" :href="fileURL+item.annexPath">{{item.annexName}}</el-link>
26
-             </div>
27
-             <el-empty v-if="isNoData(detailsAwardNum.caseAttachList,6) == 0" description="暂无数据"></el-empty>
28
-         </div> -->
29
-         <div  v-show="activeName=='third'">
30
-             <div v-for="item in detailsAwardNum.caseAttachList" v-if="item.annexType==7" style="margin-top:10px;">
31
-                 <el-link target="_blank" type="primary" :href="fileURL+item.annexPath">{{item.annexName}}</el-link>
32
-             </div>
33
-             <el-empty v-if="isNoData(detailsAwardNum.caseAttachList,7) == 0" description="暂无数据"></el-empty>
34
-         </div>
35
-         <div  v-show="activeName=='fourth'">
36
-             <div style="margin-top:10px;" v-for="(item,index) in detailsAwardNum.caseAttachList" v-if="item.annexType==5">
37
-                 <video  style="background-color: #181717;width: 350px;height: 200px;margin: 10px;" :key="index"  :src="fileURL+item.annexPath" controls="controls"></video>
38
-             </div>
39
-             <el-empty v-if="isNoData(detailsAwardNum.caseAttachList,5) == 0" description="暂无数据"></el-empty>
40
-         </div>
41
-         <div  v-show="activeName=='six'">
42
-             <div v-for="item in detailsAwardNum.caseAttachList" v-if="item.annexType==6" style="margin-top:10px;">
43
-                 <el-link target="_blank" type="primary" :href="fileURL+item.annexPath">{{item.annexName}}</el-link>
44
-             </div>
45
-             <el-empty v-if="isNoData(detailsAwardNum.caseAttachList,6) == 0" description="暂无数据"></el-empty>
46
-         </div>
47
-         <div v-show="activeName=='five'">
48
-              <el-form  :disabled="true" :model="detailsAwardNum"  label-width="130px"
49
-          class="demo-ruleForm">
50
-          <el-row>
51
-            <div style="display: inline-flex">
52
-              <div class="infoIcon"></div>
53
-              <div class="caseInfo">案件信息:</div>
54
-            </div>
55
-            <el-divider></el-divider>
56
-            <el-col :span="24">
57
-              <el-form-item label="申请人调解请求">
58
-                <el-input v-model="detailsAwardNum.arbitratClaims" placeholder="请输入申请人调解诉求" type="textarea"
59
-                  :autosize="{ minRows: 4, maxRows: 8 }" />
60
-              </el-form-item>
61
-            </el-col>
62
-            <el-col :span="24">
63
-              <el-form-item label="事实和理由">
64
-                <el-input v-model="detailsAwardNum.facts" placeholder="请输入事实和理由" type="textarea"
65
-                  :autosize="{ minRows: 4, maxRows: 8 }" />
66
-              </el-form-item>
67
-            </el-col>
68
-            <el-col :span="12">
69
-              <el-form-item label="申请人案件证据资料上传:" prop="applicantEvidence">
70
-                <el-upload class="upload-demo" ref="fileupload" accept=".png,.jpg,.doc,.docx,.txt,.pdf"
71
-                  :action="UploadUrl()" :on-success="handlSuccess" :on-remove="handleRemove" :on-preview="handlePreview"
72
-                  :before-remove="beforeRemove" :data="filedata" :headers="headers" multiple :limit="50"
73
-                  :on-exceed="handleExceed" :file-list="fileList">
74
-                  <el-button size="small" type="primary">点击上传</el-button>
75
-                  <div slot="tip" class="el-upload__tip">
76
-                    文件支持上传.jpg,png,.doc,docx,.txt,.pdf文件
77
-                  </div>
78
-                </el-upload>
79
-              </el-form-item>
80
-            </el-col>
81
-            <el-col :span="24">
82
-              <el-form-item label="证据:">
83
-                <div v-for="(item, index) in detailsAwardNum.caseAttachList" :key="index" v-if="item.annexType == 2">
84
-                  <div style="color: blue; cursor: pointer" @click="fileDetil(item.annexPath)">
85
-                    {{ item.annexName }}
86
-                  </div>
87
-                </div>
88
-              </el-form-item>
89
-            </el-col>
90
-            <el-col :span="24">
91
-              <el-form-item label="调解申请书:">
92
-                <div v-for="(item, index) in detailsAwardNum.caseAttachList" :key="index" v-if="item.annexType == 3">
93
-                  <div style="color: blue; cursor: pointer" @click="fileDetil(item.annexPath)">
94
-                    {{ item.annexName }}
95
-                  </div>
96
-                </div>
97
-              </el-form-item>
98
-            </el-col>
99
-            <el-col :span="24">
100
-              <el-form-item label="调解书:">
101
-                <div v-for="(item, index) in detailsAwardNum.caseAttachList" :key="index" v-if="item.annexType == 7">
102
-                  <div style="color: blue; cursor: pointer" @click="fileDetil(item.annexPath)">
103
-                    {{ item.annexName }}
104
-                  </div>
105
-                </div>
106
-              </el-form-item>
107
-            </el-col>
108
-            <el-col :span="24">
109
-              <div style="display: inline-flex">
110
-                <div class="infoIcon"></div>
111
-                <div class="caseInfo">双方信息:</div>
112
-              </div>
113
-              <el-divider></el-divider>
114
-            </el-col>
115
-            <el-col :span="24">
116
-              <el-form-item label="选择机构或自然人" prop="affiliate.organizeFlag">
117
-                <el-radio-group v-model="detailsAwardNum.affiliate.organizeFlag">
118
-                  <el-radio :label="0">自然人</el-radio>
119
-                  <el-radio :label="1">机构</el-radio>
120
-                </el-radio-group>
121
-              </el-form-item>
122
-            </el-col>
123
-            <el-col :span="12" v-if="detailsAwardNum.affiliate.organizeFlag == 1">
124
-              <el-form-item label="申请机构名称">
125
-                <el-input v-model="detailsAwardNum.affiliate.applicationName" placeholder="请输入申请机构名称" />
126
-              </el-form-item>
127
-            </el-col>
128
-            <el-col :span="12" v-if="detailsAwardNum.affiliate.organizeFlag == 0">
129
-              <el-form-item label="申请人">
130
-                <el-input v-model="detailsAwardNum.affiliate.applicationName"  placeholder="请输入申请人姓名" />
131
-              </el-form-item>
132
-            </el-col>
133
-            <el-col :span="12" v-if="detailsAwardNum.affiliate.organizeFlag == 1">
134
-              <el-form-item label="统一社会信用代码">
135
-                <el-input v-model="detailsAwardNum.affiliate.code" placeholder="请输入统一社会信用代码" />
136
-              </el-form-item>
137
-            </el-col>
138
-            <el-col :span="12" v-if="detailsAwardNum.affiliate.organizeFlag == 0">
139
-              <el-form-item label="申请人身份证号码">
140
-                <el-input v-model="detailsAwardNum.affiliate.code"  placeholder="请输入申请人的身份证号" />
141
-              </el-form-item>
142
-            </el-col>
143
-            <el-col :span="12" v-if="detailsAwardNum.affiliate.organizeFlag == 0">
144
-              <el-form-item label="申请人邮箱">
145
-                <el-input v-model="detailsAwardNum.affiliate.applicationEmail"  placeholder="请输入申请人邮箱" />
146
-              </el-form-item>
147
-            </el-col>
148
-            <el-col :span="12" v-if="detailsAwardNum.affiliate.organizeFlag == 0">
149
-              <el-form-item label="申请人电话">
150
-                <el-input v-model="detailsAwardNum.affiliate.applicationPhone"  placeholder="请输入申请人联系电话" />
151
-              </el-form-item>
152
-            </el-col>
153
-            <el-col :span="12" v-if="detailsAwardNum.affiliate.organizeFlag == 1">
154
-              <el-form-item label="法定代表人">
155
-                <el-input v-model="detailsAwardNum.affiliate.compLegalPerson" placeholder="请输入法定代表人" />
156
-              </el-form-item>
157
-            </el-col>
158
-            <el-col :span="12">
159
-              <el-form-item label="申请人住所">
160
-                <el-input v-model="detailsAwardNum.affiliate.applicantHome" placeholder="请输入申请人住所" />
161
-              </el-form-item>
162
-            </el-col>
163
-            <el-col :span="12">
164
-              <el-form-item label="申请人联系地址">
165
-                <el-input v-model="detailsAwardNum.affiliate.applicantAddress" placeholder="请输入申请人联系地址" />
166
-              </el-form-item>
167
-            </el-col>
168
-            <el-col :span="12" v-if="detailsAwardNum.affiliate.organizeFlag == 1">
169
-              <el-form-item label="代理人联系电话">
170
-                <el-input v-model="detailsAwardNum.affiliate.contactTelphoneAgent"  placeholder="请输入代理人联系电话" />
171
-              </el-form-item>
172
-            </el-col>
173
-            <el-col :span="12" v-if="detailsAwardNum.affiliate.organizeFlag == 0">
174
-              <el-form-item label="代理人联系电话" prop="affiliate.contactTelphoneAgent">
175
-                <el-input v-model="detailsAwardNum.affiliate.contactTelphoneAgent" placeholder="请输入代理人联系电话" />
176
-              </el-form-item>
177
-            </el-col>
178
-            <el-col :span="12" v-if="detailsAwardNum.affiliate.organizeFlag == 1">
179
-              <el-form-item label="代理人姓名" prop="affiliate.nameAgent">
180
-                <el-input v-model="detailsAwardNum.affiliate.nameAgent"  placeholder="请输入代理人姓名" />
181
-              </el-form-item>
182
-            </el-col>
183
-            <el-col :span="12" v-if="detailsAwardNum.affiliate.organizeFlag == 0">
184
-              <el-form-item label="代理人姓名" prop="affiliate.nameAgent">
185
-                <el-input v-model="detailsAwardNum.affiliate.nameAgent" placeholder="请输入代理人姓名" />
186
-              </el-form-item>
187
-            </el-col>
188
-            <el-col :span="12" v-if="detailsAwardNum.affiliate.organizeFlag == 1">
189
-              <el-form-item label="代理人邮箱">
190
-                <el-input v-model="detailsAwardNum.affiliate.agentEmail"  placeholder="请输入代理人邮箱" />
191
-              </el-form-item>
192
-            </el-col>
193
-            <el-col :span="12" v-if="detailsAwardNum.affiliate.organizeFlag == 0">
194
-              <el-form-item label="代理人邮箱">
195
-                <el-input v-model="detailsAwardNum.affiliate.agentEmail" placeholder="请输入代理人邮箱" />
196
-              </el-form-item>
197
-            </el-col>
198
-            <el-col :span="12">
199
-              <el-form-item label="被申请人姓名">
200
-                <el-input v-model="detailsAwardNum.affiliate.respondentName" placeholder="请输入被申请人姓名" />
201
-              </el-form-item>
202
-            </el-col>
203
-            <el-col :span="12">
204
-              <el-form-item label="被申请人联系电话" >
205
-                <el-input v-model="detailsAwardNum.affiliate.respondentPhone" placeholder="请输入被申请人联系电话" />
206
-              </el-form-item>
207
-            </el-col>
208
-            <el-col :span="12">
209
-              <el-form-item label="被申请人身份证号">
210
-                <el-input v-model="detailsAwardNum.affiliate.respondentIdentityNum"  placeholder="请输入被申请人身份证号" />
211
-              </el-form-item>
212
-            </el-col>
213
-            <el-col :span="12">
214
-              <el-form-item label="被申请人性别:">
215
-                <el-radio-group v-model="detailsAwardNum.affiliate.respondentSex">
216
-                  <el-radio :label="0">男</el-radio>
217
-                  <el-radio :label="1">女</el-radio>
218
-                </el-radio-group>
219
-              </el-form-item>
220
-            </el-col>
221
-            <el-col :span="12">
222
-              <el-form-item label="被申请人出生年月日:" prop="affiliate.respondentBirth">
223
-                <el-date-picker  v-model="detailsAwardNum.affiliate.respondentBirth" type="date" placeholder="被申请人出生年月日">
224
-                </el-date-picker>
225
-              </el-form-item>
226
-            </el-col>
227
-            <el-col :span="12">
228
-              <el-form-item label="被申请人申请人住所">
229
-                <el-input v-model="detailsAwardNum.affiliate.respondentHome" placeholder="请输入被申请人申请人住所" />
230
-              </el-form-item>
231
-            </el-col>
232
-            <el-col :span="12">
233
-              <el-form-item label="被申请人邮箱">
234
-                <el-input v-model="detailsAwardNum.affiliate.respondentEmail" placeholder="请输入被申请人邮箱" />
235
-              </el-form-item>
236
-            </el-col>
237
-          </el-row>
238
-          <el-col :span="24">
239
-            <el-form-item v-for="item in detailsAwardNum.columnValueList" :label="item.name" :key="item.id">
240
-              <el-input type="textarea" v-model="item.value"></el-input>
241
-            </el-form-item>
242
-          </el-col>
243
-        </el-form>
244
-         </div>
245
-      </div>
246
-      <div slot="footer" class="dialog-footer">
247
-        <el-button @click="cancel">取 消</el-button>
248
-      </div>
249
-    </el-dialog>
250
-  </div>
251
-</template>
252
-<script>
253
-import { getToken } from "@/utils/auth";
254
-export default {
255
-    props: ["showarchiveDetails","detailsAwardNum","videoList","flagLoadingS","trialTranscripts","caseFilingData"],
256
-  components: {
257
-    
258
-  },
259
-  data() {
260
-    return {
261
-     activeName: 'five',
262
-      fileURL: window.location.origin + "/API",
263
-      noData: false,
264
-      filedata: {
265
-        annexType: 2,
266
-      },
267
-      fileList: [],
268
-      headers: {
269
-        Authorization: "Bearer " + getToken(),
270
-      },
271
-    };
272
-  },
273
-watch: {
274
-    showarchiveDetails: {
275
-      handler(val) {
276
-        if (val) {
277
-          this.activeName = 'five'
278
-          // this.detailsAwardNum.affiliate.respondentSex = Number(this.detailsAwardNum.affiliate.respondentSex)
279
-          console.log(this.detailsAwardNum)
280
-        }
281
-      },
282
-    },
283
-  },
284
-  created(){
285
-    
286
-    
287
-  },
288
-  methods: {
289
-    isNoData(data,type){
290
-        let resNumber = 0
291
-        if(data){
292
-            let list = data.filter(item => item.annexType == type)
293
-            if(list){
294
-                resNumber = list.length
295
-            }
296
-        }
297
-        return resNumber
298
-    },
299
-      /** 查看证据 */
300
-    fileDetil(val) {
301
-      window.open(this.fileURL + val);
302
-    },
303
-       /** 文件上传地址 */
304
-    UploadUrl() {
305
-      return window.location.origin + "/API/common/upload";
306
-    },
307
-        /**文件上传成功*/
308
-    handlSuccess(res, file) {
309
-      this.detailsAwardNum.caseAttachList.push({
310
-        annexId: res.annexId,
311
-      });
312
-    },
313
-        /**文件超出个数限制时的钩子*/
314
-    handleExceed(files, fileList) {
315
-      this.$message.warning(
316
-        `当前限制选择 3 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length
317
-        } 个文件`
318
-      );
319
-    },
320
-    // 删除文件之前的钩子,参数为上传的文件和文件列表,若返回 false 或者返回 Promise 且被 reject,则停止删除。
321
-    beforeRemove(file, fileList) {
322
-      return this.$confirm(`确定移除 ${file.name}?`);
323
-    },
324
-    handleRemove(file, fileList) {
325
-      this.caseAttachListArr = this.caseAttachListArr.filter(
326
-        (item) => item.annexId != file.annexId
327
-      );
328
-    },
329
-    handlePreview(file) {
330
-      window.open(
331
-        window.location.origin + "/API" + file.certificatePath,
332
-        "_blank"
333
-      );
334
-    },
335
-    handleClick(tab, event) {
336
-
337
-    },
338
-    
339
-    cancel() {
340
-      this.$emit("cancelDetail");
341
-    },
342
-  },
343
-}
344
-</script>
345
-<style lang="scss" scoped>
346
-::v-deep .el-dialog__body {
347
-  height: 500px !important;
348
-  overflow: auto !important;
349
-}
350
-::v-deep .el-dialog {
351
-  width: 850px;
352
-  background: #ffffff;
353
-  border-radius: 20px;
354
-}
355
-.loading {
356
-  width: 100%;
357
-  height: 100%;
358
-  display: flex;
359
-  justify-content: center;
360
-  align-items: center;
361
-
362
-  .el-icon-loading {
363
-    font-size: 50px;
364
-  }
365
-}
1
+<template>
2
+  <div>
3
+    <el-dialog title="归档详情" :visible="showarchiveDetails" @close="cancel" :destroy-on-close="true" center>
4
+      <div class="loading" v-if="flagLoadingS">
5
+        <i class="el-icon-loading"></i>
6
+      </div>
7
+      <div v-else>
8
+          <el-tabs v-model="activeName"  @tab-click="handleClick">
9
+            <el-tab-pane label="案件信息" name="five"></el-tab-pane>
10
+            <el-tab-pane label="申请人案件证据资料" name="first"></el-tab-pane>
11
+            <!-- <el-tab-pane label="被申请人案件证据资料" name="second"></el-tab-pane> -->
12
+            <el-tab-pane label="调解书" name="third"></el-tab-pane>
13
+            <el-tab-pane label="案件视频" name="fourth" v-if="caseFilingData.mediationMethod == '1'"></el-tab-pane>
14
+            <el-tab-pane label="庭审笔录" name="six" v-if="caseFilingData.mediationMethod == '1'"></el-tab-pane>
15
+         </el-tabs>
16
+         <div v-show="activeName=='first'">
17
+             
18
+             <div v-for="(item,index) in detailsAwardNum.caseAttachList" :key="index" v-if="item.annexType==2" style="margin-top:10px;">
19
+                 <el-link target="_blank" type="primary" :href="fileURL+item.annexPath">{{item.annexName}}</el-link>
20
+             </div>
21
+            <el-empty v-if="isNoData(detailsAwardNum.caseAttachList,2) == 0" description="暂无数据"></el-empty>
22
+         </div>
23
+         <!-- <div v-show="activeName=='second'">
24
+            <div v-for="item in detailsAwardNum.caseAttachList" v-if="item.annexType==6" style="margin-top:10px;">
25
+                 <el-link target="_blank" type="primary" :href="fileURL+item.annexPath">{{item.annexName}}</el-link>
26
+             </div>
27
+             <el-empty v-if="isNoData(detailsAwardNum.caseAttachList,6) == 0" description="暂无数据"></el-empty>
28
+         </div> -->
29
+         <div  v-show="activeName=='third'">
30
+             <div v-for="item in detailsAwardNum.caseAttachList" v-if="item.annexType==7" style="margin-top:10px;">
31
+                 <el-link target="_blank" type="primary" :href="fileURL+item.annexPath">{{item.annexName}}</el-link>
32
+             </div>
33
+             <el-empty v-if="isNoData(detailsAwardNum.caseAttachList,7) == 0" description="暂无数据"></el-empty>
34
+         </div>
35
+         <div  v-show="activeName=='fourth'">
36
+             <div style="margin-top:10px;" v-for="(item,index) in detailsAwardNum.caseAttachList" v-if="item.annexType==5">
37
+                 <video  style="background-color: #181717;width: 350px;height: 200px;margin: 10px;" :key="index"  :src="fileURL+item.annexPath" controls="controls"></video>
38
+             </div>
39
+             <el-empty v-if="isNoData(detailsAwardNum.caseAttachList,5) == 0" description="暂无数据"></el-empty>
40
+         </div>
41
+         <div  v-show="activeName=='six'">
42
+             <div v-for="item in detailsAwardNum.caseAttachList" v-if="item.annexType==6" style="margin-top:10px;">
43
+                 <el-link target="_blank" type="primary" :href="fileURL+item.annexPath">{{item.annexName}}</el-link>
44
+             </div>
45
+             <el-empty v-if="isNoData(detailsAwardNum.caseAttachList,6) == 0" description="暂无数据"></el-empty>
46
+         </div>
47
+         <div v-show="activeName=='five'">
48
+              <el-form  :disabled="true" :model="detailsAwardNum"  label-width="130px"
49
+          class="demo-ruleForm">
50
+          <el-row>
51
+            <div style="display: inline-flex">
52
+              <div class="infoIcon"></div>
53
+              <div class="caseInfo">案件信息:</div>
54
+            </div>
55
+            <el-divider></el-divider>
56
+            <el-col :span="24">
57
+              <el-form-item label="申请人调解请求">
58
+                <el-input v-model="detailsAwardNum.arbitratClaims" placeholder="请输入申请人调解诉求" type="textarea"
59
+                  :autosize="{ minRows: 4, maxRows: 8 }" />
60
+              </el-form-item>
61
+            </el-col>
62
+            <el-col :span="24">
63
+              <el-form-item label="事实和理由">
64
+                <el-input v-model="detailsAwardNum.facts" placeholder="请输入事实和理由" type="textarea"
65
+                  :autosize="{ minRows: 4, maxRows: 8 }" />
66
+              </el-form-item>
67
+            </el-col>
68
+            <el-col :span="12">
69
+              <el-form-item label="申请人案件证据资料上传:" prop="applicantEvidence">
70
+                <el-upload class="upload-demo" ref="fileupload" accept=".png,.jpg,.doc,.docx,.txt,.pdf"
71
+                  :action="UploadUrl()" :on-success="handlSuccess" :on-remove="handleRemove" :on-preview="handlePreview"
72
+                  :before-remove="beforeRemove" :data="filedata" :headers="headers" multiple :limit="50"
73
+                  :on-exceed="handleExceed" :file-list="fileList">
74
+                  <el-button size="small" type="primary">点击上传</el-button>
75
+                  <div slot="tip" class="el-upload__tip">
76
+                    文件支持上传.jpg,png,.doc,docx,.txt,.pdf文件
77
+                  </div>
78
+                </el-upload>
79
+              </el-form-item>
80
+            </el-col>
81
+            <el-col :span="24">
82
+              <el-form-item label="证据:">
83
+                <div v-for="(item, index) in detailsAwardNum.caseAttachList" :key="index" v-if="item.annexType == 2">
84
+                  <div style="color: blue; cursor: pointer" @click="fileDetil(item.annexPath)">
85
+                    {{ item.annexName }}
86
+                  </div>
87
+                </div>
88
+              </el-form-item>
89
+            </el-col>
90
+            <el-col :span="24">
91
+              <el-form-item label="调解申请书:">
92
+                <div v-for="(item, index) in detailsAwardNum.caseAttachList" :key="index" v-if="item.annexType == 3">
93
+                  <div style="color: blue; cursor: pointer" @click="fileDetil(item.annexPath)">
94
+                    {{ item.annexName }}
95
+                  </div>
96
+                </div>
97
+              </el-form-item>
98
+            </el-col>
99
+            <el-col :span="24">
100
+              <el-form-item label="调解书:">
101
+                <div v-for="(item, index) in detailsAwardNum.caseAttachList" :key="index" v-if="item.annexType == 7">
102
+                  <div style="color: blue; cursor: pointer" @click="fileDetil(item.annexPath)">
103
+                    {{ item.annexName }}
104
+                  </div>
105
+                </div>
106
+              </el-form-item>
107
+            </el-col>
108
+            <el-col :span="24">
109
+              <div style="display: inline-flex">
110
+                <div class="infoIcon"></div>
111
+                <div class="caseInfo">双方信息:</div>
112
+              </div>
113
+              <el-divider></el-divider>
114
+            </el-col>
115
+            <el-col :span="24">
116
+              <el-form-item label="选择机构或自然人" prop="affiliate.organizeFlag">
117
+                <el-radio-group v-model="detailsAwardNum.affiliate.organizeFlag">
118
+                  <el-radio :label="0">自然人</el-radio>
119
+                  <el-radio :label="1">机构</el-radio>
120
+                </el-radio-group>
121
+              </el-form-item>
122
+            </el-col>
123
+            <el-col :span="12" v-if="detailsAwardNum.affiliate.organizeFlag == 1">
124
+              <el-form-item label="申请机构名称">
125
+                <el-input v-model="detailsAwardNum.affiliate.applicationName" placeholder="请输入申请机构名称" />
126
+              </el-form-item>
127
+            </el-col>
128
+            <el-col :span="12" v-if="detailsAwardNum.affiliate.organizeFlag == 0">
129
+              <el-form-item label="申请人">
130
+                <el-input v-model="detailsAwardNum.affiliate.applicationName"  placeholder="请输入申请人姓名" />
131
+              </el-form-item>
132
+            </el-col>
133
+            <el-col :span="12" v-if="detailsAwardNum.affiliate.organizeFlag == 1">
134
+              <el-form-item label="统一社会信用代码">
135
+                <el-input v-model="detailsAwardNum.affiliate.code" placeholder="请输入统一社会信用代码" />
136
+              </el-form-item>
137
+            </el-col>
138
+            <el-col :span="12" v-if="detailsAwardNum.affiliate.organizeFlag == 0">
139
+              <el-form-item label="申请人身份证号码">
140
+                <el-input v-model="detailsAwardNum.affiliate.code"  placeholder="请输入申请人的身份证号" />
141
+              </el-form-item>
142
+            </el-col>
143
+            <el-col :span="12" v-if="detailsAwardNum.affiliate.organizeFlag == 0">
144
+              <el-form-item label="申请人邮箱">
145
+                <el-input v-model="detailsAwardNum.affiliate.applicationEmail"  placeholder="请输入申请人邮箱" />
146
+              </el-form-item>
147
+            </el-col>
148
+            <el-col :span="12" v-if="detailsAwardNum.affiliate.organizeFlag == 0">
149
+              <el-form-item label="申请人电话">
150
+                <el-input v-model="detailsAwardNum.affiliate.applicationPhone"  placeholder="请输入申请人联系电话" />
151
+              </el-form-item>
152
+            </el-col>
153
+            <el-col :span="12" v-if="detailsAwardNum.affiliate.organizeFlag == 1">
154
+              <el-form-item label="法定代表人">
155
+                <el-input v-model="detailsAwardNum.affiliate.compLegalPerson" placeholder="请输入法定代表人" />
156
+              </el-form-item>
157
+            </el-col>
158
+            <el-col :span="12">
159
+              <el-form-item label="申请人住所">
160
+                <el-input v-model="detailsAwardNum.affiliate.applicantHome" placeholder="请输入申请人住所" />
161
+              </el-form-item>
162
+            </el-col>
163
+            <el-col :span="12">
164
+              <el-form-item label="申请人联系地址">
165
+                <el-input v-model="detailsAwardNum.affiliate.applicantAddress" placeholder="请输入申请人联系地址" />
166
+              </el-form-item>
167
+            </el-col>
168
+            <el-col :span="12" v-if="detailsAwardNum.affiliate.organizeFlag == 1">
169
+              <el-form-item label="代理人联系电话">
170
+                <el-input v-model="detailsAwardNum.affiliate.contactTelphoneAgent"  placeholder="请输入代理人联系电话" />
171
+              </el-form-item>
172
+            </el-col>
173
+            <el-col :span="12" v-if="detailsAwardNum.affiliate.organizeFlag == 0">
174
+              <el-form-item label="代理人联系电话" prop="affiliate.contactTelphoneAgent">
175
+                <el-input v-model="detailsAwardNum.affiliate.contactTelphoneAgent" placeholder="请输入代理人联系电话" />
176
+              </el-form-item>
177
+            </el-col>
178
+            <el-col :span="12" v-if="detailsAwardNum.affiliate.organizeFlag == 1">
179
+              <el-form-item label="代理人姓名" prop="affiliate.nameAgent">
180
+                <el-input v-model="detailsAwardNum.affiliate.nameAgent"  placeholder="请输入代理人姓名" />
181
+              </el-form-item>
182
+            </el-col>
183
+            <el-col :span="12" v-if="detailsAwardNum.affiliate.organizeFlag == 0">
184
+              <el-form-item label="代理人姓名" prop="affiliate.nameAgent">
185
+                <el-input v-model="detailsAwardNum.affiliate.nameAgent" placeholder="请输入代理人姓名" />
186
+              </el-form-item>
187
+            </el-col>
188
+            <el-col :span="12" v-if="detailsAwardNum.affiliate.organizeFlag == 1">
189
+              <el-form-item label="代理人邮箱">
190
+                <el-input v-model="detailsAwardNum.affiliate.agentEmail"  placeholder="请输入代理人邮箱" />
191
+              </el-form-item>
192
+            </el-col>
193
+            <el-col :span="12" v-if="detailsAwardNum.affiliate.organizeFlag == 0">
194
+              <el-form-item label="代理人邮箱">
195
+                <el-input v-model="detailsAwardNum.affiliate.agentEmail" placeholder="请输入代理人邮箱" />
196
+              </el-form-item>
197
+            </el-col>
198
+            <el-col :span="12">
199
+              <el-form-item label="被申请人姓名">
200
+                <el-input v-model="detailsAwardNum.affiliate.respondentName" placeholder="请输入被申请人姓名" />
201
+              </el-form-item>
202
+            </el-col>
203
+            <el-col :span="12">
204
+              <el-form-item label="被申请人联系电话" >
205
+                <el-input v-model="detailsAwardNum.affiliate.respondentPhone" placeholder="请输入被申请人联系电话" />
206
+              </el-form-item>
207
+            </el-col>
208
+            <el-col :span="12">
209
+              <el-form-item label="被申请人身份证号">
210
+                <el-input v-model="detailsAwardNum.affiliate.respondentIdentityNum"  placeholder="请输入被申请人身份证号" />
211
+              </el-form-item>
212
+            </el-col>
213
+            <el-col :span="12">
214
+              <el-form-item label="被申请人性别:">
215
+                <el-radio-group v-model="detailsAwardNum.affiliate.respondentSex">
216
+                  <el-radio :label="0">男</el-radio>
217
+                  <el-radio :label="1">女</el-radio>
218
+                </el-radio-group>
219
+              </el-form-item>
220
+            </el-col>
221
+            <el-col :span="12">
222
+              <el-form-item label="被申请人出生年月日:" prop="affiliate.respondentBirth">
223
+                <el-date-picker  v-model="detailsAwardNum.affiliate.respondentBirth" type="date" placeholder="被申请人出生年月日">
224
+                </el-date-picker>
225
+              </el-form-item>
226
+            </el-col>
227
+            <el-col :span="12">
228
+              <el-form-item label="被申请人申请人住所">
229
+                <el-input v-model="detailsAwardNum.affiliate.respondentHome" placeholder="请输入被申请人申请人住所" />
230
+              </el-form-item>
231
+            </el-col>
232
+            <el-col :span="12">
233
+              <el-form-item label="被申请人邮箱">
234
+                <el-input v-model="detailsAwardNum.affiliate.respondentEmail" placeholder="请输入被申请人邮箱" />
235
+              </el-form-item>
236
+            </el-col>
237
+          </el-row>
238
+          <el-col :span="24">
239
+            <el-form-item v-for="item in detailsAwardNum.columnValueList" :label="item.name" :key="item.id">
240
+              <el-input type="textarea" v-model="item.value"></el-input>
241
+            </el-form-item>
242
+          </el-col>
243
+        </el-form>
244
+         </div>
245
+      </div>
246
+      <div slot="footer" class="dialog-footer">
247
+        <el-button @click="cancel">取 消</el-button>
248
+      </div>
249
+    </el-dialog>
250
+  </div>
251
+</template>
252
+<script>
253
+import { getToken } from "@/utils/auth";
254
+export default {
255
+    props: ["showarchiveDetails","detailsAwardNum","videoList","flagLoadingS","trialTranscripts","caseFilingData"],
256
+  components: {
257
+    
258
+  },
259
+  data() {
260
+    return {
261
+     activeName: 'five',
262
+      fileURL: window.location.origin + "/API",
263
+      noData: false,
264
+      filedata: {
265
+        annexType: 2,
266
+      },
267
+      fileList: [],
268
+      headers: {
269
+        Authorization: "Bearer " + getToken(),
270
+      },
271
+    };
272
+  },
273
+watch: {
274
+    showarchiveDetails: {
275
+      handler(val) {
276
+        if (val) {
277
+          this.activeName = 'five'
278
+          // this.detailsAwardNum.affiliate.respondentSex = Number(this.detailsAwardNum.affiliate.respondentSex)
279
+          console.log(this.detailsAwardNum)
280
+        }
281
+      },
282
+    },
283
+  },
284
+  created(){
285
+    
286
+    
287
+  },
288
+  methods: {
289
+    isNoData(data,type){
290
+        let resNumber = 0
291
+        if(data){
292
+            let list = data.filter(item => item.annexType == type)
293
+            if(list){
294
+                resNumber = list.length
295
+            }
296
+        }
297
+        return resNumber
298
+    },
299
+      /** 查看证据 */
300
+    fileDetil(val) {
301
+      window.open(this.fileURL + val);
302
+    },
303
+       /** 文件上传地址 */
304
+    UploadUrl() {
305
+      return window.location.origin + "/API/common/upload";
306
+    },
307
+        /**文件上传成功*/
308
+    handlSuccess(res, file) {
309
+      this.detailsAwardNum.caseAttachList.push({
310
+        annexId: res.annexId,
311
+      });
312
+    },
313
+        /**文件超出个数限制时的钩子*/
314
+    handleExceed(files, fileList) {
315
+      this.$message.warning(
316
+        `当前限制选择 3 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length
317
+        } 个文件`
318
+      );
319
+    },
320
+    // 删除文件之前的钩子,参数为上传的文件和文件列表,若返回 false 或者返回 Promise 且被 reject,则停止删除。
321
+    beforeRemove(file, fileList) {
322
+      return this.$confirm(`确定移除 ${file.name}?`);
323
+    },
324
+    handleRemove(file, fileList) {
325
+      this.caseAttachListArr = this.caseAttachListArr.filter(
326
+        (item) => item.annexId != file.annexId
327
+      );
328
+    },
329
+    handlePreview(file) {
330
+      window.open(
331
+        window.location.origin + "/API" + file.certificatePath,
332
+        "_blank"
333
+      );
334
+    },
335
+    handleClick(tab, event) {
336
+
337
+    },
338
+    
339
+    cancel() {
340
+      this.$emit("cancelDetail");
341
+    },
342
+  },
343
+}
344
+</script>
345
+<style lang="scss" scoped>
346
+::v-deep .el-dialog__body {
347
+  height: 500px !important;
348
+  overflow: auto !important;
349
+}
350
+::v-deep .el-dialog {
351
+  width: 850px;
352
+  background: #ffffff;
353
+  border-radius: 20px;
354
+}
355
+.loading {
356
+  width: 100%;
357
+  height: 100%;
358
+  display: flex;
359
+  justify-content: center;
360
+  align-items: center;
361
+
362
+  .el-icon-loading {
363
+    font-size: 50px;
364
+  }
365
+}
366
 </style>
366
 </style>

+ 3
- 3
src/views/caseManagement/components/mediation.vue 파일 보기

200
         userId: this.userId
200
         userId: this.userId
201
       }).then(res => {
201
       }).then(res => {
202
          this.isSecretaryRole = res.data.isSecretaryRole;
202
          this.isSecretaryRole = res.data.isSecretaryRole;
203
-         if(this.recordArrMediate){
204
-          this.isSecretaryRole = false
205
-        }
203
+        //  if(this.recordArrMediate){
204
+        //   this.isSecretaryRole = false
205
+        // }
206
       })
206
       })
207
     },
207
     },
208
     /**上传地址*/
208
     /**上传地址*/

+ 92
- 92
src/views/caseManagement/components/mediationCaseDetails.vue 파일 보기

1
-<template>
2
-    <div>
3
-        <el-dialog title="案件流程" :visible="processVisable" @close="cancel" center :distroy-on-close="true">
4
-            <div class="loading" v-if="flagLoading">
5
-                <i class="el-icon-loading"></i>
6
-            </div>
7
-            <div v-else>
8
-                <el-steps class="steps" :active="finishCasenode.length">
9
-                    <el-step :title="item.content" :description="(item.createNickName || '') + (item.caseNodeTime || '')+(item.nextRoleName || '')" v-for="(item,index) in stepNumber" :key="index"></el-step>
10
-                </el-steps>
11
-            </div>
12
-            <div slot="footer" class="dialog-footer">
13
-                <el-button @click="cancel" class="endbutton1"><span>取 消</span></el-button>
14
-            </div>
15
-        </el-dialog>
16
-    </div>
17
-</template>
18
-  
19
-<script>
20
-import {selectCaseProgress} from '@/api/caseManagement/caseManagement.js'
21
-export default {
22
-    props: ["processVisable","processData","caseFlowNumber"],
23
-    data() {
24
-        return {
25
-            processId:null,
26
-            pageData:{},
27
-            caseStatus:0,
28
-            finishCasenode:[],
29
-            stepNumber:[],
30
-            flagLoading:true
31
-            
32
-        };
33
-    },
34
-    watch: {
35
-        processVisable(val){
36
-            if(val){
37
-                this.processId = this.caseFlowNumber.id;
38
-                this.selectCaseProgressFn({caseId:this.processId});
39
-                
40
-            }
41
-        }
42
-    },
43
-    
44
-    methods: {
45
-        cancel() {
46
-            this.$emit("cancelViewProcess");
47
-        },
48
-        selectCaseProgressFn(data){
49
-            selectCaseProgress(data).then(res=>{
50
-                let finishCasenode = res.data.data.finishCasenode;;
51
-                this.finishCasenode = finishCasenode;
52
-                let inCasenode = res.data.data.inCasenode;
53
-                let nextCasenode = res.data.data.nextCasenode;
54
-                this.stepNumber= [...finishCasenode,...inCasenode,...nextCasenode];
55
-                this.flagLoading =false
56
-                
57
-            })
58
-        }
59
-    },
60
-};
61
-</script>
62
-  
63
-<style lang="scss" scoped>
64
-    .steps{
65
-        display: flex;
66
-        flex-wrap: wrap;
67
-    }
68
-    ::v-deep .el-step{
69
-        // width: 150px;
70
-        flex-basis:25% !important;
71
-        margin-right: 20px;
72
-        margin-bottom: 20px;
73
-    }
74
-    ::v-deep .el-dialog__body {
75
-    height: 500px !important;
76
-    overflow: auto !important;
77
-    }
78
-    ::v-deep .el-dialog {
79
-    width: 800px;
80
-    background: #ffffff;
81
-    border-radius: 20px;
82
-    }
83
-    .loading {
84
-    width: 100%;
85
-    height: 100%;
86
-    display: flex;
87
-    justify-content: center;
88
-    align-items: center;
89
-        .el-icon-loading {
90
-            font-size: 50px;
91
-        }
92
-    }
1
+<template>
2
+    <div>
3
+        <el-dialog title="案件流程" :visible="processVisable" @close="cancel" center :distroy-on-close="true">
4
+            <div class="loading" v-if="flagLoading">
5
+                <i class="el-icon-loading"></i>
6
+            </div>
7
+            <div v-else>
8
+                <el-steps class="steps" :active="finishCasenode.length">
9
+                    <el-step :title="item.content" :description="(item.createNickName || '') + (item.caseNodeTime || '')+(item.nextRoleName || '')" v-for="(item,index) in stepNumber" :key="index"></el-step>
10
+                </el-steps>
11
+            </div>
12
+            <div slot="footer" class="dialog-footer">
13
+                <el-button @click="cancel" class="endbutton1"><span>取 消</span></el-button>
14
+            </div>
15
+        </el-dialog>
16
+    </div>
17
+</template>
18
+  
19
+<script>
20
+import {selectCaseProgress} from '@/api/caseManagement/caseManagement.js'
21
+export default {
22
+    props: ["processVisable","processData","caseFlowNumber"],
23
+    data() {
24
+        return {
25
+            processId:null,
26
+            pageData:{},
27
+            caseStatus:0,
28
+            finishCasenode:[],
29
+            stepNumber:[],
30
+            flagLoading:true
31
+            
32
+        };
33
+    },
34
+    watch: {
35
+        processVisable(val){
36
+            if(val){
37
+                this.processId = this.caseFlowNumber.id;
38
+                this.selectCaseProgressFn({caseId:this.processId});
39
+                
40
+            }
41
+        }
42
+    },
43
+    
44
+    methods: {
45
+        cancel() {
46
+            this.$emit("cancelViewProcess");
47
+        },
48
+        selectCaseProgressFn(data){
49
+            selectCaseProgress(data).then(res=>{
50
+                let finishCasenode = res.data.data.finishCasenode;;
51
+                this.finishCasenode = finishCasenode;
52
+                let inCasenode = res.data.data.inCasenode;
53
+                let nextCasenode = res.data.data.nextCasenode;
54
+                this.stepNumber= [...finishCasenode,...inCasenode,...nextCasenode];
55
+                this.flagLoading =false
56
+                
57
+            })
58
+        }
59
+    },
60
+};
61
+</script>
62
+  
63
+<style lang="scss" scoped>
64
+    .steps{
65
+        display: flex;
66
+        flex-wrap: wrap;
67
+    }
68
+    ::v-deep .el-step{
69
+        // width: 150px;
70
+        flex-basis:25% !important;
71
+        margin-right: 20px;
72
+        margin-bottom: 20px;
73
+    }
74
+    ::v-deep .el-dialog__body {
75
+    height: 500px !important;
76
+    overflow: auto !important;
77
+    }
78
+    ::v-deep .el-dialog {
79
+    width: 800px;
80
+    background: #ffffff;
81
+    border-radius: 20px;
82
+    }
83
+    .loading {
84
+    width: 100%;
85
+    height: 100%;
86
+    display: flex;
87
+    justify-content: center;
88
+    align-items: center;
89
+        .el-icon-loading {
90
+            font-size: 50px;
91
+        }
92
+    }
93
 </style>
93
 </style>

+ 112
- 112
src/views/caseManagement/components/mediationCaseLog.vue 파일 보기

1
-<template>
2
-  <div>
3
-    <el-dialog
4
-      title="案件日志"
5
-      :visible="showcaseLog"
6
-      @close="cancel"
7
-      center
8
-      :distroy-on-close="true"
9
-    >
10
-      <div class="loading" v-if="flagLoading">
11
-        <i class="el-icon-loading"></i>
12
-      </div>
13
-      <div v-else>
14
-        <div class="noData" v-if="noData">暂无数据!</div>
15
-        <el-timeline v-else>
16
-          <el-timeline-item
17
-            v-for="(activity, index) in activities"
18
-            :key="index"
19
-            :timestamp="(index + 1).toString()"
20
-            placement="top"
21
-          >
22
-            <p>{{ activity.content }}</p>
23
-          </el-timeline-item>
24
-        </el-timeline>
25
-      </div>
26
-      <div slot="footer" class="dialog-footer">
27
-        <el-button @click="cancel" class="endbutton1"
28
-          ><span>取 消</span></el-button
29
-        >
30
-      </div>
31
-    </el-dialog>
32
-  </div>
33
-</template>
34
-
35
-<script>
36
-export default {
37
-  props: ["showcaseLog", "flagLoading", "caselogDataArr"],
38
-  data() {
39
-    return {
40
-      reverse: true,
41
-      activities: [],
42
-      noData: false,
43
-    };
44
-  },
45
-  watch: {
46
-    caselogDataArr: {
47
-      handler(val) {
48
-        if (val && val.length > 0) {
49
-          this.noData = false;
50
-          this.activities = val;
51
-          this.activities.forEach((item) => {
52
-            item.content = item.content;
53
-          });
54
-        } else {
55
-          this.noData = true;
56
-        }
57
-      },
58
-    },
59
-  },
60
-  methods: {
61
-    cancel() {
62
-      this.$emit("cancelcaseLog");
63
-    },
64
-  },
65
-};
66
-</script>
67
-
68
-<style lang="scss" scoped>
69
-::v-deep .el-dialog__body {
70
-  height: 500px !important;
71
-  overflow: auto !important;
72
-}
73
-::v-deep .el-dialog {
74
-  width: 800px;
75
-  background: #ffffff;
76
-  border-radius: 20px;
77
-}
78
-.endbutton1 {
79
-  width: 154px;
80
-  height: 37px;
81
-  background: #ffffff;
82
-  border: 1px solid #d0d0d0;
83
-  border-radius: 19px;
84
-  span {
85
-    width: 31px;
86
-    height: 13px;
87
-    font-size: 16px;
88
-    font-family: Microsoft YaHei;
89
-    font-weight: 400;
90
-    color: #959595;
91
-  }
92
-}
93
-.loading {
94
-  width: 100%;
95
-  height: 100%;
96
-  display: flex;
97
-  justify-content: center;
98
-  align-items: center;
99
-  .el-icon-loading {
100
-    font-size: 50px;
101
-  }
102
-}
103
-.noData {
104
-  width: 100%;
105
-  height: 400px;
106
-  font-size: 30px;
107
-  font-weight: 700;
108
-  color: #959595;
109
-  display: flex;
110
-  justify-content: center;
111
-  align-items: center;
112
-}
1
+<template>
2
+  <div>
3
+    <el-dialog
4
+      title="案件日志"
5
+      :visible="showcaseLog"
6
+      @close="cancel"
7
+      center
8
+      :distroy-on-close="true"
9
+    >
10
+      <div class="loading" v-if="flagLoading">
11
+        <i class="el-icon-loading"></i>
12
+      </div>
13
+      <div v-else>
14
+        <div class="noData" v-if="noData">暂无数据!</div>
15
+        <el-timeline v-else>
16
+          <el-timeline-item
17
+            v-for="(activity, index) in activities"
18
+            :key="index"
19
+            :timestamp="(index + 1).toString()"
20
+            placement="top"
21
+          >
22
+            <p>{{ activity.content }}</p>
23
+          </el-timeline-item>
24
+        </el-timeline>
25
+      </div>
26
+      <div slot="footer" class="dialog-footer">
27
+        <el-button @click="cancel" class="endbutton1"
28
+          ><span>取 消</span></el-button
29
+        >
30
+      </div>
31
+    </el-dialog>
32
+  </div>
33
+</template>
34
+
35
+<script>
36
+export default {
37
+  props: ["showcaseLog", "flagLoading", "caselogDataArr"],
38
+  data() {
39
+    return {
40
+      reverse: true,
41
+      activities: [],
42
+      noData: false,
43
+    };
44
+  },
45
+  watch: {
46
+    caselogDataArr: {
47
+      handler(val) {
48
+        if (val && val.length > 0) {
49
+          this.noData = false;
50
+          this.activities = val;
51
+          this.activities.forEach((item) => {
52
+            item.content = item.content;
53
+          });
54
+        } else {
55
+          this.noData = true;
56
+        }
57
+      },
58
+    },
59
+  },
60
+  methods: {
61
+    cancel() {
62
+      this.$emit("cancelcaseLog");
63
+    },
64
+  },
65
+};
66
+</script>
67
+
68
+<style lang="scss" scoped>
69
+::v-deep .el-dialog__body {
70
+  height: 500px !important;
71
+  overflow: auto !important;
72
+}
73
+::v-deep .el-dialog {
74
+  width: 800px;
75
+  background: #ffffff;
76
+  border-radius: 20px;
77
+}
78
+.endbutton1 {
79
+  width: 154px;
80
+  height: 37px;
81
+  background: #ffffff;
82
+  border: 1px solid #d0d0d0;
83
+  border-radius: 19px;
84
+  span {
85
+    width: 31px;
86
+    height: 13px;
87
+    font-size: 16px;
88
+    font-family: Microsoft YaHei;
89
+    font-weight: 400;
90
+    color: #959595;
91
+  }
92
+}
93
+.loading {
94
+  width: 100%;
95
+  height: 100%;
96
+  display: flex;
97
+  justify-content: center;
98
+  align-items: center;
99
+  .el-icon-loading {
100
+    font-size: 50px;
101
+  }
102
+}
103
+.noData {
104
+  width: 100%;
105
+  height: 400px;
106
+  font-size: 30px;
107
+  font-weight: 700;
108
+  color: #959595;
109
+  display: flex;
110
+  justify-content: center;
111
+  align-items: center;
112
+}
113
 </style>
113
 </style>

+ 168
- 168
src/views/caseManagement/components/paymentdetailsDialog.vue 파일 보기

1
-<template>
2
-  <div>
3
-    <el-dialog :title="title" :visible="openDialog" @close="cancel" :destroy-on-close="true" center>
4
-      <el-form ref="form" :model="form" label-width="180px">
5
-        <el-form-item label="案件编号:" prop="caseNum">
6
-          <el-input v-model="form.caseNum" placeholder="" :disabled="true"/>
7
-        </el-form-item>
8
-        <!-- <el-form-item label="案件标的:" prop="caseSubjectAmount">
9
-          <el-input v-model="form.caseSubjectAmount" :disabled="true"/>
10
-        </el-form-item> -->
11
-        <!-- <el-form-item label="缴费人:" prop="applicantName">
12
-          <el-input v-model="form.applicationName" placeholder="" />
13
-        </el-form-item> -->
14
-        <el-form-item label="缴费金额:" prop="feePayable">
15
-          <el-input v-model="form.feePayable" :disabled="true"/>
16
-        </el-form-item>
17
-        <el-form-item label="申请人缴费凭证:" v-if="form.caseAttachList && form.caseAttachList.length > 0">
18
-          <div style="color: #104fad;cursor:pointer" v-for="(item, index) in form.caseAttachList" :key="index"
19
-            @click="preview(item.annexPath)">
20
-            {{ item.annexName }}
21
-          </div>
22
-        </el-form-item>
23
-        <el-form-item label="被申请人缴费凭证:" v-if="form.resCaseAttachList && form.resCaseAttachList.length > 0">
24
-          <div style="color: #104fad;cursor:pointer" v-for="(item, index) in form.resCaseAttachList" :key="index"
25
-            @click="preview(item.annexPath)">
26
-            {{ item.annexName }}
27
-          </div>
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>
40
-      </el-form>
41
-      <div slot="footer" class="dialog-footer">
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>
44
-        <el-button @click="cancel" class="endbutton1">取 消</el-button>
45
-      </div>
46
-    </el-dialog>
47
-  </div>
48
-</template>
49
-
50
-<script>
51
-import { confirmPaid, resConfirmPaid } from '@/api/caseManagement/caseManagement.js'
52
-export default {
53
-  props: ["openDialog", "title", "flag", "detailform", "getList", "paymentConfirma", "queryParams",'isapplicant'],
54
-  data() {
55
-    return {
56
-      form: {
57
-        reason: '',//驳回原因
58
-      },
59
-      yesOrNo: 1,
60
-      srcList: [],
61
-    };
62
-  },
63
-  watch: {
64
-    detailform: {
65
-      handler(val) {
66
-        if (val) {
67
-          this.form = val;
68
-        }
69
-      },
70
-    },
71
-    openDialog: {
72
-      handler(val) {
73
-        if (val) {
74
-          this.yesOrNo = 1
75
-        }
76
-      }
77
-    }
78
-  },
79
-  methods: {
80
-    preview(data) {
81
-      window.open(
82
-        window.location.origin + "/API" + data,
83
-        "_blank"
84
-      );
85
-    },
86
-    // 确认缴费
87
-    submitForm() {
88
-      let paramsVal = {
89
-        caseId: this.paymentConfirma.id,
90
-        batchNumber: "",
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
-          this.cancel();
104
-          this.$emit("getList", this.queryParams);
105
-        })
106
-        console.log('申请人');
107
-      } else {
108
-        // 被申请人 resConfirmPaid
109
-        resConfirmPaid(paramsVal).then((res) => {
110
-          this.$message({
111
-            message: "确认成功",
112
-            type: "success",
113
-          });
114
-          this.cancel();
115
-          this.$emit("getList", this.queryParams);
116
-        })
117
-        console.log('被申请人');
118
-      }
119
-      }
120
-      })
121
-    },
122
-    cancel() {
123
-      this.$emit("cancelpaymentdetails");
124
-    },
125
-  },
126
-};
127
-</script>
128
-
129
-<style lang="scss" scoped>
130
-::v-deep .el-dialog {
131
-  width: 50%;
132
-  background: #ffffff;
133
-  border-radius: 20px;
134
-}
135
-
136
-.endbutton {
137
-  width: 124px;
138
-  height: 37px;
139
-  background: #0072ff;
140
-  border-radius: 19px;
141
-
142
-  span {
143
-    width: 32px;
144
-    height: 15px;
145
-    font-size: 16px;
146
-    font-family: Microsoft YaHei;
147
-    font-weight: 400;
148
-    color: #ffffff;
149
-    // line-height: 48px;
150
-  }
151
-}
152
-
153
-.endbutton1 {
154
-  width: 124px;
155
-  height: 37px;
156
-  background: #ffffff;
157
-  border: 1px solid #d0d0d0;
158
-  border-radius: 19px;
159
-
160
-  span {
161
-    width: 31px;
162
-    height: 13px;
163
-    font-size: 16px;
164
-    font-family: Microsoft YaHei;
165
-    font-weight: 400;
166
-    color: #959595;
167
-  }
168
-}
1
+<template>
2
+  <div>
3
+    <el-dialog :title="title" :visible="openDialog" @close="cancel" :destroy-on-close="true" center>
4
+      <el-form ref="form" :model="form" label-width="180px">
5
+        <el-form-item label="案件编号:" prop="caseNum">
6
+          <el-input v-model="form.caseNum" placeholder="" :disabled="true"/>
7
+        </el-form-item>
8
+        <!-- <el-form-item label="案件标的:" prop="caseSubjectAmount">
9
+          <el-input v-model="form.caseSubjectAmount" :disabled="true"/>
10
+        </el-form-item> -->
11
+        <!-- <el-form-item label="缴费人:" prop="applicantName">
12
+          <el-input v-model="form.applicationName" placeholder="" />
13
+        </el-form-item> -->
14
+        <el-form-item label="缴费金额:" prop="feePayable">
15
+          <el-input v-model="form.feePayable" :disabled="true"/>
16
+        </el-form-item>
17
+        <el-form-item label="申请人缴费凭证:" v-if="form.caseAttachList">
18
+          <div style="color: #104fad;cursor:pointer" v-for="(item, index) in form.caseAttachList" :key="index"
19
+            @click="preview(item.annexPath)">
20
+            {{ item.annexName }}
21
+          </div>
22
+        </el-form-item>
23
+        <el-form-item label="被申请人缴费凭证:" v-if="form.resCaseAttachList">
24
+          <div style="color: #104fad;cursor:pointer" v-for="(item, index) in form.resCaseAttachList" :key="index"
25
+            @click="preview(item.annexPath)">
26
+            {{ item.annexName }}
27
+          </div>
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>
40
+      </el-form>
41
+      <div slot="footer" class="dialog-footer">
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>
44
+        <el-button @click="cancel" class="endbutton1">取 消</el-button>
45
+      </div>
46
+    </el-dialog>
47
+  </div>
48
+</template>
49
+
50
+<script>
51
+import { confirmPaid, resConfirmPaid } from '@/api/caseManagement/caseManagement.js'
52
+export default {
53
+  props: ["openDialog", "title", "flag", "detailform", "getList", "paymentConfirma", "queryParams",'isapplicant'],
54
+  data() {
55
+    return {
56
+      form: {
57
+        reason: '',//驳回原因
58
+      },
59
+      yesOrNo: 1,
60
+      srcList: [],
61
+    };
62
+  },
63
+  watch: {
64
+    detailform: {
65
+      handler(val) {
66
+        if (val) {
67
+          this.form = val;
68
+        }
69
+      },
70
+    },
71
+    openDialog: {
72
+      handler(val) {
73
+        if (val) {
74
+          this.yesOrNo = 1
75
+        }
76
+      }
77
+    }
78
+  },
79
+  methods: {
80
+    preview(data) {
81
+      window.open(
82
+        window.location.origin + "/API" + data,
83
+        "_blank"
84
+      );
85
+    },
86
+    // 确认缴费
87
+    submitForm() {
88
+      let paramsVal = {
89
+        caseId: this.paymentConfirma.id,
90
+        batchNumber: "",
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
+          this.cancel();
104
+          this.$emit("getList", this.queryParams);
105
+        })
106
+        console.log('申请人');
107
+      } else {
108
+        // 被申请人 resConfirmPaid
109
+        resConfirmPaid(paramsVal).then((res) => {
110
+          this.$message({
111
+            message: "确认成功",
112
+            type: "success",
113
+          });
114
+          this.cancel();
115
+          this.$emit("getList", this.queryParams);
116
+        })
117
+        console.log('被申请人');
118
+      }
119
+      }
120
+      })
121
+    },
122
+    cancel() {
123
+      this.$emit("cancelpaymentdetails");
124
+    },
125
+  },
126
+};
127
+</script>
128
+
129
+<style lang="scss" scoped>
130
+::v-deep .el-dialog {
131
+  width: 50%;
132
+  background: #ffffff;
133
+  border-radius: 20px;
134
+}
135
+
136
+.endbutton {
137
+  width: 124px;
138
+  height: 37px;
139
+  background: #0072ff;
140
+  border-radius: 19px;
141
+
142
+  span {
143
+    width: 32px;
144
+    height: 15px;
145
+    font-size: 16px;
146
+    font-family: Microsoft YaHei;
147
+    font-weight: 400;
148
+    color: #ffffff;
149
+    // line-height: 48px;
150
+  }
151
+}
152
+
153
+.endbutton1 {
154
+  width: 124px;
155
+  height: 37px;
156
+  background: #ffffff;
157
+  border: 1px solid #d0d0d0;
158
+  border-radius: 19px;
159
+
160
+  span {
161
+    width: 31px;
162
+    height: 13px;
163
+    font-size: 16px;
164
+    font-family: Microsoft YaHei;
165
+    font-weight: 400;
166
+    color: #959595;
167
+  }
168
+}
169
 </style>
169
 </style>

+ 4
- 3
vue.config.js 파일 보기

17
 // const API = 'http://172.16.0.237:6001' //Q
17
 // const API = 'http://172.16.0.237:6001' //Q
18
 // const API = 'http://172.16.1.43:6001' //w
18
 // const API = 'http://172.16.1.43:6001' //w
19
 
19
 
20
-// vue.config.js 配置说明
20
+// vue.config.js 配置说明 
21
 //官方vue.config.js 参考文档 https://cli.vuejs.org/zh/config/#css-loaderoptions
21
 //官方vue.config.js 参考文档 https://cli.vuejs.org/zh/config/#css-loaderoptions
22
 // 这里只列一部分,具体配置参考文档
22
 // 这里只列一部分,具体配置参考文档
23
 module.exports = {
23
 module.exports = {
39
     port: port,
39
     port: port,
40
     open: true,
40
     open: true,
41
     proxy: {
41
     proxy: {
42
-      // detail: https://cli.vuejs.org/config/#devserver-proxy
42
+      // detail: https://cli.vuejs.org/config/#devserver-proxy 
43
       [process.env.VUE_APP_BASE_API]: {
43
       [process.env.VUE_APP_BASE_API]: {
44
+        // target: `http://192.168.3.77:8080`,
45
+        // target: `http://121.40.189.20:9001`,
44
         target: API,
46
         target: API,
45
         changeOrigin: true,
47
         changeOrigin: true,
46
         pathRewrite: {
48
         pathRewrite: {
59
   },
61
   },
60
   configureWebpack: {
62
   configureWebpack: {
61
     name: name,
63
     name: name,
62
-    devtool: '#eval-source-map',
63
     resolve: {
64
     resolve: {
64
       alias: {
65
       alias: {
65
         '@': resolve('src')
66
         '@': resolve('src')