Selaa lähdekoodia

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

gyj 2 vuotta sitten
vanhempi
commit
a45b73ab82

+ 29
- 2
README.md Näytä tiedosto

@@ -1,3 +1,30 @@
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
+```

+ 2
- 3
package.json Näytä tiedosto

@@ -1,7 +1,7 @@
1 1
 {
2 2
   "name": "ruoyi",
3 3
   "version": "3.8.6",
4
-  "description": "智慧仲裁管理系统",
4
+  "description": "调解系统",
5 5
   "author": "智慧仲裁",
6 6
   "license": "MIT",
7 7
   "scripts": {
@@ -48,8 +48,7 @@
48 48
     "js-beautify": "1.13.0",
49 49
     "js-cookie": "3.0.1",
50 50
     "jsencrypt": "3.0.0-rc.1",
51
-    "lodash": "^4.17.21",
52
-    "moment": "^2.30.1",
51
+    "moment": "^2.29.4",
53 52
     "nprogress": "0.2.0",
54 53
     "qrcodejs2": "0.0.2",
55 54
     "quill": "1.3.7",

+ 10
- 0
src/api/system/homepage.js Näytä tiedosto

@@ -0,0 +1,10 @@
1
+import request from '@/utils/request'
2
+
3
+// 查询首页待办
4
+export function todoCount(data) {
5
+    return request({
6
+        url: '/caseApplication/todoCount',
7
+        method: 'get',
8
+        params: data
9
+    })
10
+}

BIN
src/assets/images/daiban.png Näytä tiedosto


+ 2
- 2
src/components/ImageUpload/index.vue Näytä tiedosto

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

+ 2
- 1
src/components/RuoYi/Doc/index.vue Näytä tiedosto

@@ -9,7 +9,8 @@ export default {
9 9
   name: 'RuoYiDoc',
10 10
   data() {
11 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 16
   methods: {

+ 2
- 7
src/layout/components/Navbar.vue Näytä tiedosto

@@ -7,15 +7,10 @@
7 7
 
8 8
     <div class="right-menu">
9 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 11
         <el-tooltip content="文档地址" effect="dark" placement="bottom">
17 12
           <ruo-yi-doc id="ruoyi-doc" class="right-menu-item hover-effect" />
18
-        </el-tooltip> -->
13
+        </el-tooltip>
19 14
 
20 15
         <screenfull id="screenfull" class="right-menu-item hover-effect" />
21 16
 

+ 6
- 3
src/main.js Näytä tiedosto

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

+ 4
- 2
src/router/index.js Näytä tiedosto

@@ -100,7 +100,8 @@ export const dynamicRoutes = [
100 100
     children: [
101 101
       {
102 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 105
         name: 'AuthRole',
105 106
         meta: { title: '分配角色', activeMenu: '/system/user' }
106 107
       }
@@ -114,7 +115,8 @@ export const dynamicRoutes = [
114 115
     children: [
115 116
       {
116 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 120
         name: 'AuthUser',
119 121
         meta: { title: '分配用户', activeMenu: '/system/role' }
120 122
       }

+ 1
- 0
src/store/modules/permission.js Näytä tiedosto

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

+ 0
- 1
src/store/modules/user.js Näytä tiedosto

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

+ 0
- 40
src/utils/permission.js Näytä tiedosto

@@ -24,7 +24,6 @@ export function checkPermi(value) {
24 24
     return false
25 25
   }
26 26
 }
27
-
28 27
 /**
29 28
  * 角色权限校验
30 29
  * @param {Array} value 校验值
@@ -48,43 +47,4 @@ export function checkRole(value) {
48 47
     console.error(`need roles! Like checkRole="['admin','editor']"`)
49 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 Näytä tiedosto

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

+ 276
- 238
src/views/caseManagement/caseList.vue Näytä tiedosto

@@ -3,8 +3,8 @@
3 3
         <el-form :model="queryParams" ref="queryForm" size="small" :inline="true">
4 4
             <el-form-item label="案件状态" prop="caseFlowId">
5 5
                 <el-select v-model="queryParams.caseFlowId" placeholder="请选择" clearable>
6
-                    <el-option v-for="dict in caseStausArr" :key="dict.id" :label="dict.caseStatusName"
7
-                        :value="dict.id" @keyup.enter.native="handleQuery"></el-option>
6
+                    <el-option v-for="dict in caseStausArr" :key="dict.id" :label="dict.caseStatusName" :value="dict.id"
7
+                        @keyup.enter.native="handleQuery"></el-option>
8 8
                 </el-select>
9 9
             </el-form-item>
10 10
             <!-- <el-form-item label="申请机构" prop="applicationOrganId">
@@ -33,7 +33,8 @@
33 33
         </el-form>
34 34
         <el-row :gutter="10" class="mb8">
35 35
             <el-col :span="1.5">
36
-                <el-button type="primary" plain icon="el-icon-plus"  v-hasPermi="['caseManagement:list:add']" size="mini" @click="addCase()">新增案件</el-button>
36
+                <el-button type="primary" plain icon="el-icon-plus" v-hasPermi="['caseManagement:list:add']" size="mini"
37
+                    @click="addCase()">新增案件</el-button>
37 38
             </el-col>
38 39
             <!-- TODO 后期可能加上-->
39 40
             <!-- <el-col :span="1.5">
@@ -61,19 +62,27 @@
61 62
             <el-table-column label="创建时间" align="center" prop="createTime" :show-overflow-tooltip="true" />
62 63
             <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
63 64
                 <template slot-scope="scope">
64
-                    <el-button size="mini" @click="eidtNodeprocess(scope.row)" type="text"
65
-                        icon="el-icon-edit" v-hasPermi="['caseManagement:list:edit']" v-if="scope.row.caseFlowId <= 1">修改</el-button>
65
+                    <el-button size="mini" @click="eidtNodeprocess(scope.row)" type="text" icon="el-icon-edit"
66
+                        v-hasPermi="['caseManagement:list:edit']" v-if="scope.row.caseFlowId <= 1">修改</el-button>
66 67
                     <el-button size="mini" @click="checkDetail(scope.row)" type="text" icon="el-icon-view">查看详情</el-button>
67 68
                     <el-button size="mini" @click="caseFlow(scope.row)" type="text" icon="el-icon-zoom-in">查看流程</el-button>
68 69
                     <el-button size="mini" @click="caseLog(scope.row)" type="text"
69 70
                         icon="el-icon-edit-outline">案件日志</el-button>
70 71
                     <el-button size="mini" @click="viewpaymentformRow(scope.row)" type="text"
71 72
                         icon="el-icon-edit">查看缴费单</el-button>
72
-                    <el-button size="mini" type="text" icon="el-icon-edit"
73
-                        @click="evidenceUpload(scope.row)" v-hasPermi="['caseManagement:list:evidenceEdit']" v-if="scope.row.caseFlowId <= 9">上传证据</el-button>
74
-                    <el-button size="mini" type="text" icon="el-icon-edit" v-if="scope.row.caseFlowId == 15 || scope.row.caseFlowId == 16 || scope.row.caseFlowId == 17" @click="caseFilingDetails(scope.row)">归档详情</el-button>  
75
-                    <el-button size="mini" type="text" icon="el-icon-tickets" v-for="(item) in buttonList" :key="item.id"
76
-                        @click="caseClick(scope.row,item.id)" v-if="item.id == scope.row.caseFlowId && checkPermi([item.buttonAuthFlag]) && scope.row.signButtonFlag != 1">{{ item.nodeName }}</el-button>
73
+                    <el-button size="mini" type="text" icon="el-icon-edit" @click="evidenceUpload(scope.row)"
74
+                        v-hasPermi="['caseManagement:list:evidenceEdit']" v-if="scope.row.caseFlowId <= 9">上传证据</el-button>
75
+                    <el-button size="mini" type="text" icon="el-icon-edit" v-if="scope.row.caseFlowId == 15 ||
76
+                        scope.row.caseFlowId == 16 ||
77
+                        scope.row.caseFlowId == 17
78
+                        " @click="caseFilingDetails(scope.row)">归档详情</el-button>
79
+                    <div class="btnList" v-for="item in buttonList" :key="item.id">
80
+                        <el-button size="mini" type="text" icon="el-icon-tickets" @click="caseClick(scope.row, item.id)"
81
+                            v-if="item.id == scope.row.caseFlowId &&
82
+                                checkPermi([item.buttonAuthFlag]) &&
83
+                                scope.row.signButtonFlag != 1
84
+                                ">{{ item.nodeName }}</el-button>
85
+                    </div>
77 86
                 </template>
78 87
             </el-table-column>
79 88
         </el-table>
@@ -91,23 +100,27 @@
91 100
             :caseFlowNumber="caseFlowNumber">
92 101
         </mediationCaseDetails>
93 102
         <!-- 案件日志 -->
94
-        <mediationCaseLog :showcaseLog="showcaseLog" @cancelcaseLog="cancelcaseLog" :caselogDataArr="caselogDataArr" :flagLoading="flagLoading"></mediationCaseLog>
103
+        <mediationCaseLog :showcaseLog="showcaseLog" @cancelcaseLog="cancelcaseLog" :caselogDataArr="caselogDataArr"
104
+            :flagLoading="flagLoading"></mediationCaseLog>
95 105
         <!-- 证据修改 -->
96 106
         <evidenceDialog :evidenceVisable="evidenceVisable" @cancelEvidence="cancelEvidence" :evidenceData="evidenceData">
97 107
         </evidenceDialog>
98 108
         <!-- 缴费 -->
99 109
         <payDialog :openPay="openPay" :payTitle="payTitle" :formPayDetail="formPayDetail" :payId="payId" :payForm="payForm"
100
-            :queryParams="queryParams" @getList="getList" @paycancelRow="paycancelRow" :formPayDetailAffiliate="formPayDetailAffiliate"></payDialog>
110
+            :queryParams="queryParams" @getList="getList" @paycancelRow="paycancelRow"
111
+            :formPayDetailAffiliate="formPayDetailAffiliate"></payDialog>
101 112
         <!-- 缴费确认查看详情 -->
102 113
         <paymentdetailsDialog :openDialog="openDialog" @cancelpaymentdetails="cancelpaymentdetails" :title="payTitle"
103
-            :detailform="detailform" :queryParams="queryParams" :flag="flag" :paymentConfirma="paymentConfirma" :isapplicant="isapplicant" @getList="getList">
114
+            :detailform="detailform" :queryParams="queryParams" :flag="flag" :paymentConfirma="paymentConfirma"
115
+            :isapplicant="isapplicant" @getList="getList">
104 116
         </paymentdetailsDialog>
105 117
         <!-- 案件受理 -->
106 118
         <caseAcceptance :showAcceptance="showAcceptance" @cancelAcceptance="cancelAcceptance"
107 119
             :caseAcceptanceData="caseAcceptanceData" @getList="getList"></caseAcceptance>
108 120
         <!-- 被申请人缴费 -->
109
-        <respondentPay :openResPay="openResPay" :resPayTitle="resPayTitle" :formResPayDetail="formResPayDetail" :resPayId="resPayId" :resPayForm="resPayForm"
110
-            :queryParams="queryParams" @getList="getList" @paycancelRes="paycancelRes" :formResPay="formResPay"></respondentPay>    
121
+        <respondentPay :openResPay="openResPay" :resPayTitle="resPayTitle" :formResPayDetail="formResPayDetail"
122
+            :resPayId="resPayId" :resPayForm="resPayForm" :queryParams="queryParams" @getList="getList"
123
+            @paycancelRes="paycancelRes" :formResPay="formResPay"></respondentPay>
111 124
         <!-- 调解员弹窗 -->
112 125
         <selectMediator @cancelMediator="cancelMediator" :mediatorVisable="mediatorVisable" :mediatorData="mediatorData"
113 126
             @getList="getList" :queryParams="queryParams"></selectMediator>
@@ -121,36 +134,50 @@
121 134
         <timeConfirm @cancelTimeConfirm="cancelTimeConfirm" :timeConfirmVisable="timeConfirmVisable"
122 135
             :timeConfirmData="timeConfirmData" @getList="getList" :queryParams="queryParams"></timeConfirm>
123 136
         <!-- 待调解     -->
124
-        <mediation @cancelMediation="cancelMediation" :mediationVisable="mediationVisable"
125
-            :mediationData="mediationData" @getList="getList" :queryParams="queryParams"></mediation>
137
+        <mediation @cancelMediation="cancelMediation" :mediationVisable="mediationVisable" :mediationData="mediationData"
138
+            @getList="getList" :queryParams="queryParams"></mediation>
126 139
         <confirmMediation @cancelConfirmTion="cancelConfirmTion" :confirmTionVisable="confirmTionVisable"
127 140
             :confirmTionData="confirmTionData" @getList="getList" :queryParams="queryParams"></confirmMediation>
128 141
         <!-- 归档详情 -->
129
-        <caseFilingDetailsPage :showarchiveDetails="showarchiveDetails" :caseFilingData="caseFilingData" @cancelDetail="cancelDetail" :detailsAwardNum="detailsAwardNum" :flagLoadingS="flagLoadingS"></caseFilingDetailsPage>
142
+        <caseFilingDetailsPage :showarchiveDetails="showarchiveDetails" :caseFilingData="caseFilingData"
143
+            @cancelDetail="cancelDetail" :detailsAwardNum="detailsAwardNum" :flagLoadingS="flagLoadingS">
144
+        </caseFilingDetailsPage>
130 145
     </div>
131 146
 </template>
132 147
 
133 148
 <script>
134
-import { caseApplicationList, caseApplicationSelectById,submitCaseApply,selectPaymentDetail,sealApply,selectSealUrl,listCaseLogRecord,msCaseFile,msCaseSign,listDeptApplied,msCaseSignUrlApplyPC} from '@/api/caseManagement/caseManagement.js'
135
-import { listDept } from '@/api/system/dept.js'
136
-import { queryCaseFlowInfo } from '@/api/caseprocessManagement/caseprocessManagement.js'
149
+import {
150
+    caseApplicationList,
151
+    caseApplicationSelectById,
152
+    submitCaseApply,
153
+    selectPaymentDetail,
154
+    sealApply,
155
+    selectSealUrl,
156
+    listCaseLogRecord,
157
+    msCaseFile,
158
+    msCaseSign,
159
+    listDeptApplied,
160
+    msCaseSignUrlApplyPC,
161
+} from "@/api/caseManagement/caseManagement.js";
162
+import { listDept } from "@/api/system/dept.js";
163
+import { queryCaseFlowInfo } from "@/api/caseprocessManagement/caseprocessManagement.js";
137 164
 import moment from "moment";
138
-import addCase from './components/addCase.vue'
139
-import evidenceDialog from './components/evidenceDialog.vue';
140
-import caseCompressionPackage from './components/caseCompressionPackage.vue';
141
-import mediationCaseDetails from './components/mediationCaseDetails.vue'
142
-import mediationCaseLog from './components/mediationCaseLog.vue'
165
+import addCase from "./components/addCase.vue";
166
+import evidenceDialog from "./components/evidenceDialog.vue";
167
+import caseCompressionPackage from "./components/caseCompressionPackage.vue";
168
+import mediationCaseDetails from "./components/mediationCaseDetails.vue";
169
+import mediationCaseLog from "./components/mediationCaseLog.vue";
143 170
 import payDialog from "./components/payDialog.vue";
144
-import respondentPay from "./components/respondentPay.vue"
145
-import paymentdetailsDialog from './components/paymentdetailsDialog.vue'
146
-import caseAcceptance from './components/caseAcceptance.vue'
147
-import selectMediator from './components/selectMediator.vue'
148
-import confirmMediator from './components/confirmMediator.vue'
149
-import departmentMediator from './components/departmentMediator.vue'
150
-import timeConfirm from './components/timeConfirm.vue'
151
-import mediation from './components/mediation.vue'
152
-import confirmMediation from './components/confirmMediation.vue'
153
-import caseFilingDetailsPage from './components/caseFilingDetailsPage.vue'
171
+import respondentPay from "./components/respondentPay.vue";
172
+import paymentdetailsDialog from "./components/paymentdetailsDialog.vue";
173
+import caseAcceptance from "./components/caseAcceptance.vue";
174
+import selectMediator from "./components/selectMediator.vue";
175
+import confirmMediator from "./components/confirmMediator.vue";
176
+import departmentMediator from "./components/departmentMediator.vue";
177
+import timeConfirm from "./components/timeConfirm.vue";
178
+import mediation from "./components/mediation.vue";
179
+import confirmMediation from "./components/confirmMediation.vue";
180
+import caseFilingDetailsPage from "./components/caseFilingDetailsPage.vue";
154 181
 export default {
155 182
     name: "caseList",
156 183
     dicts: ["case_flow_node"],
@@ -163,14 +190,14 @@ export default {
163 190
         payDialog,
164 191
         paymentdetailsDialog,
165 192
         caseAcceptance,
166
-        selectMediator,//调解员弹窗
193
+        selectMediator, //调解员弹窗
167 194
         confirmMediator,
168 195
         departmentMediator,
169 196
         timeConfirm,
170 197
         mediation,
171 198
         confirmMediation,
172 199
         caseFilingDetailsPage,
173
-        respondentPay
200
+        respondentPay,
174 201
     },
175 202
     data() {
176 203
         return {
@@ -187,143 +214,148 @@ export default {
187 214
             // 校验表单
188 215
             rules: {},
189 216
             dataList: [],
190
-            addVisable: false,//新增弹窗
217
+            addVisable: false, //新增弹窗
191 218
             openPay: false, //缴费弹框
192
-            openResPay:false,//被申请人缴费弹窗
219
+            openResPay: false, //被申请人缴费弹窗
193 220
             formPayDetail: {},
194
-            formResPayDetail:{},
221
+            formResPayDetail: {},
195 222
             payId: null,
196
-            resPayId:null,
223
+            resPayId: null,
197 224
             payForm: {},
198
-            resPayForm:{},
199
-            openCompressedPackages: false,//压缩包导入弹窗
200
-            processVisable: false,//案件详情
201
-            showcaseLog: false,//案件日志
202
-            openDialog: false,//确认缴费和缴费详情
225
+            resPayForm: {},
226
+            openCompressedPackages: false, //压缩包导入弹窗
227
+            processVisable: false, //案件详情
228
+            showcaseLog: false, //案件日志
229
+            openDialog: false, //确认缴费和缴费详情
203 230
             detailform: {}, //缴费详情数据
204
-            evidenceVisable: false,//证据修改弹窗
205
-            mediationVisable:false,//待调解弹窗
206
-            mediationData:{},
207
-            payTitle:"",//缴费标题
208
-            resPayTitle:'',//被申请人缴费标题
209
-            paymentConfirma:{},//缴费确认
210
-            showAcceptance:false,//案件受理弹框
211
-            caseAcceptanceData:{},//案件受理数据
212
-            mediatorVisable:false,//选择调解员弹窗
213
-            timeVisable:false,//预约时间弹窗
214
-            confirmVisable:false,//确认时间/调解员
215
-            caseFlowNumber:{},//案件流程数据
216
-            caselogDataArr:[],//案件日志数据
231
+            evidenceVisable: false, //证据修改弹窗
232
+            mediationVisable: false, //待调解弹窗
233
+            mediationData: {},
234
+            payTitle: "", //缴费标题
235
+            resPayTitle: "", //被申请人缴费标题
236
+            paymentConfirma: {}, //缴费确认
237
+            showAcceptance: false, //案件受理弹框
238
+            caseAcceptanceData: {}, //案件受理数据
239
+            mediatorVisable: false, //选择调解员弹窗
240
+            timeVisable: false, //预约时间弹窗
241
+            confirmVisable: false, //确认时间/调解员
242
+            caseFlowNumber: {}, //案件流程数据
243
+            caselogDataArr: [], //案件日志数据
217 244
             flagLoading: true, //案件日志弹框loading
218
-            confirmTionVisable:false,//确认调解书弹窗
219
-            addModifyData:null,//新增修改传的参数
220
-            showarchiveDetails:false,//归档详情弹窗
221
-            detailsAwardNum:{},
245
+            confirmTionVisable: false, //确认调解书弹窗
246
+            addModifyData: null, //新增修改传的参数
247
+            showarchiveDetails: false, //归档详情弹窗
248
+            detailsAwardNum: {},
222 249
             flagLoadingS: true,
223
-            formPayDetailAffiliate:{},
224
-            formResPay:{},
225
-            mediatorData:{},
250
+            formPayDetailAffiliate: {},
251
+            formResPay: {},
252
+            mediatorData: {},
226 253
             flag: null,
227 254
             caseData: {},
228 255
             evidenceData: {},
229 256
             caseDisabled: false,
230
-            caseTime: '',
257
+            caseTime: "",
231 258
             deptList: [],
232
-            payTitle: '',
259
+            payTitle: "",
233 260
             tabFlag: false,
234 261
             confirmData: {},
235 262
             departmentVisable: false,
236 263
             departmentData: {},
237 264
             timeConfirmVisable: false,
238 265
             timeConfirmData: {},
239
-            confirmTionData:{},
266
+            confirmTionData: {},
240 267
             buttonList: [],
241
-            caseStausArr: [],//案件状态
268
+            caseStausArr: [], //案件状态
242 269
             isapplicant: true, //判断角色申请人或非申请人
243
-            caseFilingData:{}
270
+            caseFilingData: {},
244 271
         };
245 272
     },
246 273
     created() {
247
-        this.getList(this.queryParams);
248
-        this.listDeptFn()
249
-        this.getButtonList()
274
+        // this.getList(this.queryParams);
275
+        this.listDeptFn();
276
+        // this.getButtonList()
277
+        queryCaseFlowInfo({
278
+            pageNum: 1,
279
+            pageSize: 100000,
280
+        }).then((res) => {
281
+            res.rows.forEach((item) => {
282
+                if (item.id != 17) {
283
+                    this.buttonList.push(item);
284
+                }
285
+                this.caseStausArr.push(item);
286
+            });
287
+            if (this.$route.query.caseFlowId) {
288
+                let querydata = Number(this.$route.query.caseFlowId);
289
+                if (querydata > 0) {
290
+                    this.$set(this.queryParams, 'caseFlowId', querydata)
291
+                }
292
+            }
293
+            this.getList(this.queryParams);
294
+        });
250 295
     },
251 296
     methods: {
252 297
         /**所有按钮事件 */
253
-        caseClick(val,type){
254
-            if(type == 1){
298
+        caseClick(val, type) {
299
+            if (type == 1) {
255 300
                 // 提交案件
256 301
                 this.onsubmitRow(val);
257
-            }else if(type == 2){
302
+            } else if (type == 2) {
258 303
                 // 缴费
259 304
                 this.payStatus(val);
260
-            }else if(type == 3 || type == 45){
305
+            } else if (type == 3 || type == 45) {
261 306
                 // 确认缴费
262
-                this.paymentconfirmationRow(val,type);
263
-            }else if(type == 4){
307
+                this.paymentconfirmationRow(val, type);
308
+            } else if (type == 4) {
264 309
                 // 受理分配
265 310
                 this.caseAccep(val);
266
-            }else if(type == 5){
311
+            } else if (type == 5) {
267 312
                 // 选择调解员
268 313
                 this.selectMediator(val);
269
-            }else if(type == 6){
314
+            } else if (type == 6) {
270 315
                 // 核实调解员
271 316
                 this.secretaryConfirm(val);
272
-            }else if(type == 7){
317
+            } else if (type == 7) {
273 318
                 // 确认调解员
274 319
                 this.department(val);
275
-            }else if(type == 8){
320
+            } else if (type == 8) {
276 321
                 // 确定调解时间
277 322
                 this.timeConfirm(val);
278
-            }else if(type == 9){
323
+            } else if (type == 9) {
279 324
                 // 调解
280
-                this.mediationClick(val)
281
-            }else if(type == 10){
325
+                this.mediationClick(val);
326
+            } else if (type == 10) {
282 327
                 // 确认调解书
283
-                this.confirmMediation(val)
284
-            }else if(type == 11){
328
+                this.confirmMediation(val);
329
+            } else if (type == 11) {
285 330
                 // 签名
286
-                this.msCaseSignUrlApplyPCFn(val)
287
-            }else if(type == 12){
331
+                this.msCaseSignUrlApplyPCFn(val);
332
+            } else if (type == 12) {
288 333
                 // 用印申请
289
-                this.consultantApplica(val)
290
-            }else if(type == 13){
334
+                this.consultantApplica(val);
335
+            } else if (type == 13) {
291 336
                 // 用印
292
-                this.departmentApplica(val)
293
-            }else if(type == 14){
337
+                this.departmentApplica(val);
338
+            } else if (type == 14) {
294 339
                 // 归档
295 340
                 this.caseFiling(val);
296
-            }else if(type == 15){
341
+            } else if (type == 15) {
297 342
                 // 申请人签收
298
-                this.signMediation(val)
299
-            }else if(type == 16){
343
+                this.signMediation(val);
344
+            } else if (type == 16) {
300 345
                 // 被申请人签收
301
-                this.receivedMediation(val)
302
-            }else if(type == 17){
346
+                this.receivedMediation(val);
347
+            } else if (type == 17) {
303 348
                 //结束
304
-            }else if(type == 44){
349
+            } else if (type == 44) {
305 350
                 // 被申请人缴费
306
-                this.resPayStatus(val)
351
+                this.resPayStatus(val);
307 352
             }
308 353
         },
309 354
         /**查询按钮列表 */
310
-        getButtonList() {
311
-            queryCaseFlowInfo({
312
-                pageNum: 1,
313
-                pageSize: 100000
314
-            }).then(res => {
315
-                console.log(res)
316
-                res.rows.forEach(item => {
317
-                    if(item.id !=17){
318
-                        this.buttonList.push(item)
319
-                    }
320
-                    this.caseStausArr.push(item)
321
-                });               
322
-            })
323
-        },
355
+        getButtonList() { },
324 356
         /** 新增案件 */
325 357
         addCase() {
326
-            this.addModifyData =1;
358
+            this.addModifyData = 1;
327 359
             this.addVisable = true;
328 360
             this.caseData = {};
329 361
             this.caseDisabled = false;
@@ -331,7 +363,7 @@ export default {
331 363
         },
332 364
         /** 查看详情 */
333 365
         checkDetail(val) {
334
-            this.addModifyData =2;
366
+            this.addModifyData = 2;
335 367
             this.addVisable = true;
336 368
             this.caseData = val;
337 369
             this.caseDisabled = true;
@@ -339,10 +371,10 @@ export default {
339 371
         },
340 372
         /** 修改案件 */
341 373
         eidtNodeprocess(row) {
342
-            this.addModifyData = 3
374
+            this.addModifyData = 3;
343 375
             this.addVisable = true;
344 376
             this.caseData = row;
345
-            this.$set(this.caseData,'flag',2)
377
+            this.$set(this.caseData, "flag", 2);
346 378
             this.caseDisabled = false;
347 379
             this.tabFlag = false;
348 380
         },
@@ -389,10 +421,10 @@ export default {
389 421
             //         this.$modal.msgSuccess("立案申请成功");
390 422
             //     })
391 423
             //     .catch(() => { });
392
-            msCaseSignUrlApplyPC({ caseId: row.id }).then(res=>{
393
-                console.log(res,"PPPPPPPPPPPPPPPPPPPP");
424
+            msCaseSignUrlApplyPC({ caseId: row.id }).then((res) => {
425
+                console.log(res, "PPPPPPPPPPPPPPPPPPPP");
394 426
                 window.open(res.data.sealUrl);
395
-            })
427
+            });
396 428
         },
397 429
         /** 选择调解员 */
398 430
         selectMediator(val) {
@@ -404,12 +436,12 @@ export default {
404 436
             this.timeVisable = true;
405 437
         },
406 438
         /** 调解 */
407
-        mediationClick(val){
439
+        mediationClick(val) {
408 440
             this.mediationVisable = true;
409 441
             this.mediationData = val;
410 442
         },
411 443
         /** 确认调解书 */
412
-        confirmMediation(val){
444
+        confirmMediation(val) {
413 445
             this.confirmTionVisable = true;
414 446
             this.confirmTionData = val;
415 447
         },
@@ -447,23 +479,22 @@ export default {
447 479
         /** 时间改变处理 */
448 480
         caseTimeChange() {
449 481
             if (this.caseTime) {
450
-                this.queryParams.startTime = moment(
451
-                    this.caseTime[0]
452
-                ).format("YYYY-MM-DD HH:mm:ss");
453
-                this.queryParams.endTime = moment(
454
-                    this.caseTime[1]
455
-                ).format("YYYY-MM-DD HH:mm:ss");
482
+                this.queryParams.startTime = moment(this.caseTime[0]).format(
483
+                    "YYYY-MM-DD HH:mm:ss"
484
+                );
485
+                this.queryParams.endTime = moment(this.caseTime[1]).format(
486
+                    "YYYY-MM-DD HH:mm:ss"
487
+                );
456 488
             } else {
457
-                this.queryParams.startTime = '';
458
-                this.queryParams.endTime = '';
489
+                this.queryParams.startTime = "";
490
+                this.queryParams.endTime = "";
459 491
             }
460
-
461 492
         },
462 493
         /** 获取所有部门 */
463 494
         listDeptFn() {
464
-            listDeptApplied().then(res => {
495
+            listDeptApplied().then((res) => {
465 496
                 this.deptList = res.data;
466
-            })
497
+            });
467 498
         },
468 499
         /** 修改证据 */
469 500
         evidenceUpload(row) {
@@ -499,14 +530,14 @@ export default {
499 530
             this.timeVisable = false;
500 531
         },
501 532
         /**取消调解 */
502
-        cancelMediation(){
533
+        cancelMediation() {
503 534
             this.timeConfirmVisable = false;
504 535
         },
505 536
         /** 取消确认调解弹窗 */
506
-        cancelConfirmTion(){
537
+        cancelConfirmTion() {
507 538
             this.confirmTionVisable = false;
508 539
         },
509
-        cancelMediation(){
540
+        cancelMediation() {
510 541
             this.mediationVisable = false;
511 542
         },
512 543
         cancelConfirm() {
@@ -535,163 +566,170 @@ export default {
535 566
                 this.dataList = response.rows;
536 567
                 this.total = response.total;
537 568
                 this.loading = false;
538
-            })
569
+            });
539 570
         },
540 571
         // 法律顾问用印申请
541 572
         consultantApplica(row) {
542 573
             let paramsValue = {
543 574
                 caseId: row.id,
544 575
                 batchNumber: "",
545
-                caseFlowId: row.caseFlowId
546
-            }
547
-            this.$modal.confirm("你确定要用印申请吗?").then((res) => {
548
-                sealApply(paramsValue).then(res => {
549
-                    this.getList(this.queryParams);
550
-                    this.$modal.msgSuccess("用印申请成功");
576
+                caseFlowId: row.caseFlowId,
577
+            };
578
+            this.$modal
579
+                .confirm("你确定要用印申请吗?")
580
+                .then((res) => {
581
+                    sealApply(paramsValue).then((res) => {
582
+                        this.getList(this.queryParams);
583
+                        this.$modal.msgSuccess("用印申请成功");
584
+                    });
551 585
                 })
552
-            }).catch(() => {
553
-
554
-            })
586
+                .catch(() => { });
555 587
         },
556 588
         // 部门长用印申请
557 589
         departmentApplica(row) {
558
-            this.$modal.confirm("你确定要用印确认吗?").then((res) => {
559
-                let paramsValue = {
560
-                    caseId: row.id
561
-                }
562
-                selectSealUrl(paramsValue).then(res => {
563
-                    window.open(res.data.sealUrl)
564
-                    this.$modal.confirm("你确认用印了吗?").then((res) => {
565
-                        this.getList(this.queryParams);
566
-                    }).catch(() => {
567
-
568
-                    })
590
+            this.$modal
591
+                .confirm("你确定要用印确认吗?")
592
+                .then((res) => {
593
+                    let paramsValue = {
594
+                        caseId: row.id,
595
+                    };
596
+                    selectSealUrl(paramsValue).then((res) => {
597
+                        window.open(res.data.sealUrl);
598
+                        this.$modal
599
+                            .confirm("你确认用印了吗?")
600
+                            .then((res) => {
601
+                                this.getList(this.queryParams);
602
+                            })
603
+                            .catch(() => { });
604
+                    });
569 605
                 })
570
-            }).catch(() => {
571
-
572
-            })
606
+                .catch(() => { });
573 607
         },
574 608
         // 案件受理
575 609
         caseAccep(row) {
576
-            this.caseAcceptanceData = row
577
-            this.showAcceptance = true
610
+            this.caseAcceptanceData = row;
611
+            this.showAcceptance = true;
578 612
         },
579 613
         cancelAcceptance() {
580
-            this.showAcceptance = false
614
+            this.showAcceptance = false;
581 615
         },
582 616
         // 缴费确认
583
-        paymentconfirmationRow(row,type) {
584
-            this.paymentConfirma = row
585
-            console.log(this.paymentConfirma)
617
+        paymentconfirmationRow(row, type) {
618
+            this.paymentConfirma = row;
619
+            console.log(this.paymentConfirma);
586 620
             this.paymentDetails({
587
-                id: row.id
588
-            })
589
-            this.openDialog = true
590
-            this.payTitle = "缴费确认"
621
+                id: row.id,
622
+            });
623
+            this.openDialog = true;
624
+            this.payTitle = "缴费确认";
591 625
             this.flag = 0;
592
-            this.detailform = {}
626
+            this.detailform = {};
593 627
             if (type == 3) {
594
-            // 申请人
595
-                this.isapplicant = true
596
-            }else {
597
-                this.isapplicant = false
628
+                // 申请人
629
+                this.isapplicant = true;
630
+            } else {
631
+                this.isapplicant = false;
598 632
             }
599 633
         },
600 634
         cancelpaymentdetails() {
601
-            this.openDialog = false
635
+            this.openDialog = false;
602 636
         },
603 637
         // 查看缴费确认
604 638
         viewpaymentformRow(row) {
605 639
             this.paymentDetails({
606
-                id: row.id
607
-            })
608
-            this.payTitle = "缴费单详情"
640
+                id: row.id,
641
+            });
642
+            this.payTitle = "缴费单详情";
609 643
             this.flag = 1;
610
-            this.detailform = {}
611
-            this.openDialog = true
644
+            this.detailform = {};
645
+            this.openDialog = true;
612 646
         },
613 647
         // 缴费详情
614 648
         paymentDetails(val) {
615
-            selectPaymentDetail(val).then(res => {
649
+            selectPaymentDetail(val).then((res) => {
616 650
                 this.detailform = res.data;
617
-            })
651
+            });
618 652
         },
619 653
         //案件流程
620 654
         caseFlow(row) {
621
-            this.caseFlowNumber = row
622
-            this.processVisable = true
655
+            this.caseFlowNumber = row;
656
+            this.processVisable = true;
623 657
         },
624 658
         cancelViewProcess() {
625
-            this.processVisable = false
659
+            this.processVisable = false;
626 660
         },
627 661
         //案件日志
628 662
         caseLog(row) {
629
-            this.caseLogNumber = row
630
-            this.showcaseLog = true
663
+            this.caseLogNumber = row;
664
+            this.showcaseLog = true;
631 665
             this.flagLoading = true;
632
-            listCaseLogRecord({caseId:row.id}).then(res=>{
633
-                    this.caselogDataArr = res.data
634
-                    this.flagLoading = false;
635
-            })
666
+            listCaseLogRecord({ caseId: row.id }).then((res) => {
667
+                this.caselogDataArr = res.data;
668
+                this.flagLoading = false;
669
+            });
636 670
         },
637 671
         cancelcaseLog() {
638
-            this.showcaseLog = false
672
+            this.showcaseLog = false;
639 673
         },
640 674
         // 案件送达
641 675
         caseFiling(row) {
642
-            console.log(row.id)
676
+            console.log(row.id);
643 677
             let paramValues = {
644
-                ids:[row.id]
645
-            }
646
-            this.$modal.confirm("你确定要案件送达吗?").then((res) => {
647
-               msCaseFile(paramValues).then(res=>{
648
-                    this.$modal.msgSuccess("案件送达成功");
649
-                    this.getList(this.queryParams);
650
-               }) 
651
-            }).catch(() => {
652
-
653
-            })
678
+                ids: [row.id],
679
+            };
680
+            this.$modal
681
+                .confirm("你确定要案件送达吗?")
682
+                .then((res) => {
683
+                    msCaseFile(paramValues).then((res) => {
684
+                        this.$modal.msgSuccess("案件送达成功");
685
+                        this.getList(this.queryParams);
686
+                    });
687
+                })
688
+                .catch(() => { });
654 689
         },
655 690
         //申请人签收调解书
656 691
         signMediation(row) {
657
-            this.$modal.confirm("你确定要签收调解书吗?").then((res) => {
658
-                this.signingMediationAgreement({caseId:row.id,isSignApply:1})
659
-            }).catch(() => {
660
-
661
-            })
692
+            this.$modal
693
+                .confirm("你确定要签收调解书吗?")
694
+                .then((res) => {
695
+                    this.signingMediationAgreement({ caseId: row.id, isSignApply: 1 });
696
+                })
697
+                .catch(() => { });
662 698
         },
663 699
         //被申请人签收调解书
664 700
         receivedMediation(row) {
665
-            this.$modal.confirm("你确定要签收调解书吗?").then((res) => {
666
-                this.signingMediationAgreement({caseId:row.id,isSignRespon:1})
667
-            }).catch(() => {
668
-
669
-            })
701
+            this.$modal
702
+                .confirm("你确定要签收调解书吗?")
703
+                .then((res) => {
704
+                    this.signingMediationAgreement({ caseId: row.id, isSignRespon: 1 });
705
+                })
706
+                .catch(() => { });
670 707
         },
671 708
         // 申请人和被申请人签收调解书接口
672
-         signingMediationAgreement(val){
673
-             console.log(val)
674
-             msCaseSign(val).then(res=>{
675
-                 this.$modal.msgSuccess("签收成功");
676
-                 this.getList(this.queryParams);
677
-             })
678
-         },
709
+        signingMediationAgreement(val) {
710
+            console.log(val);
711
+            msCaseSign(val).then((res) => {
712
+                this.$modal.msgSuccess("签收成功");
713
+                this.getList(this.queryParams);
714
+            });
715
+        },
679 716
         //归档详情
680
-        caseFilingDetails(val){
717
+        caseFilingDetails(val) {
681 718
             this.showarchiveDetails = true;
682 719
             this.caseFilingData = val;
683
-            let vals = {id:val.id}
684
-            caseApplicationSelectById(vals).then(res=>{
685
-                res.data.affiliate.respondentSex = Number(res.data.affiliate.respondentSex)
686
-                this.detailsAwardNum = res.data
687
-                console.log(this.detailsAwardNum)
688
-                this.flagLoadingS = false
689
-            })
690
-        },
691
-        cancelDetail(){
692
-            this.showarchiveDetails = false
693
-        }
694
-        
720
+            let vals = { id: val.id };
721
+            caseApplicationSelectById(vals).then((res) => {
722
+                res.data.affiliate.respondentSex = Number(
723
+                    res.data.affiliate.respondentSex
724
+                );
725
+                this.detailsAwardNum = res.data;
726
+                console.log(this.detailsAwardNum);
727
+                this.flagLoadingS = false;
728
+            });
729
+        },
730
+        cancelDetail() {
731
+            this.showarchiveDetails = false;
732
+        },
695 733
     },
696 734
 };
697 735
 </script>

+ 147
- 147
src/views/caseManagement/components/caseAcceptance.vue Näytä tiedosto

@@ -1,148 +1,148 @@
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 148
 </style>

+ 365
- 365
src/views/caseManagement/components/caseFilingDetailsPage.vue Näytä tiedosto

@@ -1,366 +1,366 @@
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 366
 </style>

+ 92
- 92
src/views/caseManagement/components/mediationCaseDetails.vue Näytä tiedosto

@@ -1,93 +1,93 @@
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 93
 </style>

+ 112
- 112
src/views/caseManagement/components/mediationCaseLog.vue Näytä tiedosto

@@ -1,113 +1,113 @@
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 113
 </style>

+ 168
- 168
src/views/caseManagement/components/paymentdetailsDialog.vue Näytä tiedosto

@@ -1,169 +1,169 @@
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
-}
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 169
 </style>

+ 105
- 3
src/views/index.vue Näytä tiedosto

@@ -1,27 +1,129 @@
1 1
 <template>
2 2
   <div class="app-container home">
3
-    调解系统
3
+    <div class="header">
4
+      <div class="iconTitle"></div>
5
+      <div class="headerMain">我的待办</div>
6
+    </div>
7
+    <div class="homeMain">
8
+      <div class="cardList" v-for="(item, index) in pendingTasks" :key="index" @click="pushPage(item.caseFlowId)">
9
+        <div class="badge">{{item.caseCount}}</div>
10
+        <div class="cardMain">
11
+          <img class="iconImg" src="@/assets/images/daiban.png" alt="" />
12
+        </div>
13
+        <div class="cardMain">
14
+          <div class="imgTitle">{{ item.caseStatusName }}</div>
15
+        </div>
16
+      </div>
17
+    </div>
4 18
   </div>
5 19
 </template>
6 20
 
7 21
 <script>
22
+import { todoCount } from "@/api/system/homepage.js";
8 23
 export default {
9 24
   name: "Index",
10 25
   data() {
11 26
     return {
12 27
       // 版本号
13
-      version: "3.8.6"
28
+      version: "3.8.6",
29
+      pendingTasks: [], //案件代办状态
14 30
     };
15 31
   },
32
+  created() {
33
+    this.gettodoCount();
34
+  },
16 35
   methods: {
17 36
     goTarget(href) {
18 37
       window.open(href, "_blank");
38
+    },
39
+    // 查询代办状态
40
+    gettodoCount() {
41
+      todoCount({}).then((res) => {
42
+      this.pendingTasks = res.data.toDoCountList
43
+      console.log(res.data.toDoCountList, "this.pendingTasks");
44
+      });
45
+    },
46
+    // 点击待办按钮跳转
47
+    pushPage(status) {
48
+      this.$router.push({ path: '/caseManagement/caseManagement/caseList', query: { caseFlowId: status + '' } })
19 49
     }
20
-  }
50
+  },
21 51
 };
22 52
 </script>
23 53
 
24 54
 <style scoped lang="scss">
55
+.home {
56
+  font-family: "open sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
57
+  font-size: 13px;
58
+  color: #676a6c;
59
+  overflow-x: hidden;
60
+  background-color: #f1f1f1;
61
+  height: 100vh;
62
+
63
+  .header {
64
+    width: 100%;
65
+    height: 80px;
66
+    display: flex;
67
+    align-items: center;
68
+
69
+    .iconTitle {
70
+      width: 5px;
71
+      height: 25px;
72
+      background-color: #0f5c9b;
73
+      margin-right: 25px;
74
+    }
75
+
76
+    .headerMain {
77
+      font-size: 20px;
78
+    }
79
+  }
80
+
81
+  .homeMain {
82
+    width: 100%;
83
+    display: flex;
84
+    flex-wrap: wrap;
85
+
86
+    .cardList {
87
+      width: 13%;
88
+      height: 200px;
89
+      border-radius: 30px;
90
+      background-color: #ffffff;
91
+      position: relative;
92
+      margin-right: 38px;
93
+      margin-bottom: 30px;
94
+
95
+      .badge {
96
+        width: 50px;
97
+        height: 30px;
98
+        text-align: center;
99
+        line-height: 30px;
100
+        font-size: 18px;
101
+        font-weight: 500;
102
+        color: #e32a4f;
103
+        border-radius: 10px 30px 10px 30px;
104
+        background-color: #05baf1;
105
+        position: absolute;
106
+        right: 0;
107
+      }
25 108
 
109
+      .cardMain {
110
+        width: 100%;
111
+        display: flex;
112
+        justify-content: center;
113
+        margin-top: 20px;
114
+
115
+        .iconImg {
116
+          width: 100px;
117
+          height: 110px;
118
+        }
119
+
120
+        .imgTitle {
121
+          font-size: 15px;
122
+          font-weight: 900;
123
+        }
124
+      }
125
+    }
126
+  }
127
+}
26 128
 </style>
27 129
 

+ 7
- 3
src/views/login.vue Näytä tiedosto

@@ -67,7 +67,8 @@
67 67
     </div>
68 68
     <!--  底部  -->
69 69
     <div class="el-login-footer">
70
-      <span>Copyright © 2023 乙巢(上海)企业管理服务有限公司.</span>
70
+      <div>Copyright © 2023 乙巢(上海)企业管理服务有限公司.</div>
71
+      <div>Version:1.0.1</div>
71 72
     </div>
72 73
   </div>
73 74
 </template>
@@ -247,8 +248,8 @@ export default {
247 248
 }
248 249
 .el-login-footer {
249 250
   background-color: rgb(126, 131, 135);
250
-  height: 40px;
251
-  line-height: 40px;
251
+  height: 55px;
252
+  line-height: 55px;
252 253
   position: fixed;
253 254
   bottom: 0;
254 255
   width: 100%;
@@ -257,6 +258,9 @@ export default {
257 258
   font-family: Arial;
258 259
   font-size: 12px;
259 260
   letter-spacing: 1px;
261
+  div {
262
+    height: 30%;
263
+  }
260 264
 }
261 265
 .login-code-img {
262 266
   height: 38px;

+ 4
- 3
vue.config.js Näytä tiedosto

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