Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
be87d34f5d | ||
|
|
07d7396959 | ||
|
|
ef32184541 | ||
|
|
5f7e0ad19e | ||
|
|
971461aaa8 | ||
|
|
a3de506391 | ||
|
|
d901c1efdd | ||
|
|
48b0eacc36 | ||
|
|
aa4da2ae82 | ||
|
|
0885cd8538 | ||
|
|
1f1da394d5 | ||
|
|
04e10ea37f | ||
|
|
83624ae5a2 | ||
|
|
0d62eda5a8 | ||
|
|
0ce29b99ac | ||
|
|
30d335340a | ||
|
|
0f5f320312 | ||
|
|
6156b82b6c | ||
|
|
c6aafbf252 | ||
|
|
604d76e1fd | ||
|
|
3b809685e3 | ||
|
|
96086cf6f9 | ||
|
|
1cf64e3b41 | ||
|
|
f67c276eab | ||
|
|
5038469490 | ||
|
|
11ecebb5f9 | ||
|
|
fcab34b6eb | ||
|
|
eaa129cfd4 | ||
|
|
b0e379e8bb | ||
|
|
9d7247a4ed | ||
|
|
e6645c7685 | ||
|
|
3249841059 | ||
|
|
0ebb84bab1 | ||
|
|
68258f3451 | ||
|
|
afb49528c1 | ||
|
|
5918d71352 | ||
|
|
006260ffed | ||
|
|
0cfefe4893 | ||
|
|
24cbd66d75 | ||
|
|
cd6a6064fa | ||
|
|
5df5678c95 | ||
|
|
c5f5d8c98c | ||
|
|
b7705af7e0 | ||
|
|
61f6cd4742 | ||
|
|
18e07846a5 | ||
|
|
fb97f76070 | ||
|
|
4fc6019ffa | ||
|
|
cde9f59262 | ||
|
|
e6f456b0c9 | ||
|
|
ce5938c4c3 | ||
|
|
5c3bbd469d | ||
|
|
2a4759330b | ||
|
|
f00a25449f | ||
|
|
9b3145944d | ||
|
|
4b32e754c0 | ||
|
|
921888a0c3 | ||
|
|
278a041a8a | ||
|
|
c144befe51 | ||
|
|
c291d70a9f | ||
|
|
fb864ad0b2 | ||
|
|
3e53480616 | ||
|
|
3bf0460ddf | ||
|
|
6aedf3c23d | ||
|
|
ab0fc9d6f0 | ||
|
|
dbb2855547 | ||
|
|
cd93c92b62 | ||
|
|
3c033f7cd9 | ||
|
|
3a6a780964 | ||
|
|
fa0b195ec1 | ||
|
|
0d22fa41e1 | ||
|
|
96087a7247 | ||
|
|
b7cd12db46 | ||
|
|
b88c628c4d | ||
|
|
26b5753150 | ||
|
|
0d47f2c2fb | ||
|
|
c8340874f6 | ||
|
|
394a65fcaa | ||
|
|
fc5fd5914f | ||
|
|
0fa56bbf45 | ||
|
|
a3003f6af8 | ||
|
|
aef3c0f53f | ||
|
|
f76cafe928 | ||
|
|
d07ba431c5 | ||
|
|
b1c8e45570 | ||
|
|
b4bb4f5dbf | ||
|
|
db0d35c424 | ||
|
|
c9c91fe405 | ||
|
|
ca17f03831 | ||
|
|
4e86daeb5a | ||
|
|
e00f712efb | ||
|
|
c7c4ed8f6e | ||
|
|
1f1a8dcd46 | ||
|
|
7f704424b2 | ||
|
|
9806e7c9ef | ||
|
|
5ecea9844c | ||
|
|
cc1629f632 | ||
|
|
c658dc1929 | ||
|
|
0f9cfcd432 | ||
|
|
570ffbfee8 | ||
|
|
0e303073df | ||
|
|
822318aec1 | ||
|
|
1718fdd6d8 | ||
|
|
8eca5b0fab | ||
|
|
a013dc90b5 | ||
|
|
c454099061 | ||
|
|
c071610f80 | ||
|
|
930c654c68 | ||
|
|
0a50839f9d | ||
|
|
dfa4c3d4da | ||
|
|
ca9043d7bf | ||
|
|
14f6838c50 | ||
|
|
9e3c6928f0 | ||
|
|
4751846f64 | ||
|
|
0c08314b4d | ||
|
|
cb7387c631 | ||
|
|
263a82b915 | ||
|
|
d23258c3ce | ||
|
|
5f549a11e2 | ||
|
|
705a180fc0 | ||
|
|
2c9aaf2e49 | ||
|
|
c92b45b275 | ||
|
|
fb7a73ed46 | ||
|
|
497eaf0700 | ||
|
|
7bdb0e9536 | ||
|
|
c2ba8108f8 | ||
|
|
4affe89cd0 | ||
|
|
95d4e52a84 | ||
|
|
d08d1cc7ef | ||
|
|
33c92b49c2 | ||
|
|
20c19a6c10 | ||
|
|
3b1153c5e3 | ||
|
|
1504603ca6 | ||
|
|
ce23ba56bd | ||
|
|
05a7103794 | ||
|
|
6fe397c1ee | ||
|
|
24c61698cb | ||
|
|
400b3e4644 | ||
|
|
5f0c651bac | ||
|
|
a7ae328123 | ||
|
|
972c409213 | ||
|
|
9948c9ed04 | ||
|
|
752950ea35 | ||
|
|
8955626849 | ||
|
|
6281a29aae | ||
|
|
830f41bbec | ||
|
|
51c91a1c1a | ||
|
|
4c0c084126 | ||
|
|
6a0a382963 | ||
|
|
81ac5528a1 | ||
|
|
b1810b835a | ||
|
|
72e79651b6 | ||
|
|
4f8165045a | ||
|
|
9bebf1a8a7 | ||
|
|
03f1700c37 | ||
|
|
ab70858f39 | ||
|
|
ed1165a6ac | ||
|
|
8c45d922a5 | ||
|
|
a1fec88e88 | ||
|
|
6a1d18309a | ||
|
|
5f41c61d1e | ||
|
|
c2f5d6d8bd | ||
|
|
3762c9a6cb | ||
|
|
fc37239f9d | ||
|
|
b923625515 | ||
|
|
62dbde7d0a | ||
|
|
720d90193f | ||
|
|
13937509c8 | ||
|
|
72ced8108b | ||
|
|
9f2556e387 | ||
|
|
7d56e738ff | ||
|
|
fc0272dca0 | ||
|
|
d6ccde627a | ||
|
|
8cd7dfcfcd | ||
|
|
8178a9d180 | ||
|
|
857e5588ad | ||
|
|
8b71e26f57 | ||
|
|
57f11996c6 | ||
|
|
718e182766 | ||
|
|
9fbd20a098 | ||
|
|
9f34dafc9a | ||
|
|
a61a1388f7 | ||
|
|
8d4a69a959 | ||
|
|
08ba042ac2 | ||
|
|
e370c8f248 | ||
|
|
ecd8979c8b | ||
|
|
39125fdcdf | ||
|
|
fe0833dd32 | ||
|
|
bcd9f7cbb2 | ||
|
|
0733c67999 | ||
|
|
0620ab8a43 | ||
|
|
53f3e04905 | ||
|
|
7cfdcd1fc5 | ||
|
|
9f15145a7c | ||
|
|
a45b73ab82 | ||
|
|
c348a4c529 | ||
|
|
3b3191c353 | ||
|
|
811f169ddd | ||
|
|
cca3bb656b | ||
|
|
e0bb8cde42 | ||
|
|
20c062fcef | ||
|
|
1b243dc441 | ||
|
|
e305b7b668 | ||
|
|
987fa7dd54 | ||
|
|
53ca46a5f5 | ||
|
|
b577f650f5 | ||
|
|
b89f7272b8 | ||
|
|
9efd609de8 | ||
|
|
504e8ef1d5 | ||
|
|
f3b90edb88 | ||
|
|
797bdc837d | ||
|
|
3566f3bd09 | ||
|
|
7b17d986f3 | ||
|
|
718e96daa3 | ||
|
|
42806a93bf | ||
|
|
e79cf46f62 | ||
|
|
836f26c1f0 | ||
|
|
69bdd05df4 | ||
|
|
b0f6fee8ab | ||
|
|
7f3138d499 | ||
|
|
d3256e15fb | ||
|
|
7aad0ae676 | ||
|
|
23ceefdb02 | ||
|
|
c64d665dc7 | ||
|
|
e1ac81120c | ||
|
|
51fa5d7575 | ||
|
|
324905396b | ||
|
|
088ed7e30c | ||
|
|
c4384eb208 | ||
|
|
cd1856edc9 | ||
|
|
b2b1dd6b47 | ||
|
|
7f98e0e6e1 | ||
|
|
cde990a970 | ||
|
|
c7bf0ae526 | ||
|
|
0681fbe5a4 | ||
|
|
6470f23e30 | ||
|
|
e42edc55d4 | ||
|
|
1f5f7f59d0 | ||
|
|
a87f8f6471 | ||
|
|
6d606a6794 | ||
|
|
a48004581e | ||
|
|
4f0708d118 | ||
|
|
8f19584ded | ||
|
|
a6291eedd3 | ||
|
|
371eb8b749 | ||
|
|
e4d859da1a | ||
|
|
75e74a9c12 | ||
|
|
d417e6dd65 | ||
|
|
6d4d948fb5 | ||
|
|
d53d53ab75 | ||
|
|
3715985d12 | ||
|
|
3757729649 | ||
|
|
f1187ea4a1 | ||
|
|
9e8ccdf6ff | ||
|
|
fce163e54c | ||
|
|
ff1ccc39f1 | ||
|
|
59ea6f513f | ||
|
|
aac052259f | ||
|
|
c77a0f2e60 | ||
|
|
cfcdd5c92b | ||
|
|
ca392d6f25 | ||
|
|
3ab7eacc73 | ||
|
|
c127e5fc84 | ||
|
|
2fbaf17b60 | ||
|
|
58b1d23738 | ||
|
|
5727d97fd3 | ||
|
|
14df1eebfb | ||
|
|
c498e83341 | ||
|
|
dcb6f8bce6 | ||
|
|
0014e80ca7 | ||
|
|
85d3a33414 | ||
|
|
581ce5bb85 | ||
|
|
f3c56b83d1 | ||
|
|
89c878adaf | ||
|
|
ebc2280db7 | ||
|
|
0213fca840 | ||
|
|
02850b6039 | ||
|
|
040364a1d5 | ||
|
|
73460b8fe2 | ||
|
|
3f2862eab5 | ||
|
|
f22959ae60 | ||
|
|
4a5fd1968a | ||
|
|
217982e3f1 | ||
|
|
40ef96c94f | ||
|
|
2bf4377d88 | ||
|
|
ed0cf608bc | ||
|
|
33d1e0138e | ||
|
|
705410da56 | ||
|
|
8f59447027 | ||
|
|
69df9aa080 | ||
|
|
3a611ed1c5 | ||
|
|
471ac21120 | ||
|
|
d445f0df76 | ||
|
|
81c00902b7 | ||
|
|
6f95f2df93 | ||
|
|
9c11df3f46 | ||
|
|
0fe6a26ea3 | ||
|
|
6c65f4a4e3 | ||
|
|
3c700bfcd2 | ||
|
|
47151436f6 | ||
|
|
133f404bd1 | ||
|
|
9a738ad294 | ||
|
|
cbe545ae8a | ||
|
|
ea2fb390b5 | ||
|
|
f5a1e153ce | ||
|
|
f78e6e3b35 | ||
|
|
0b58c17d1f | ||
|
|
ebfb0c5639 | ||
|
|
d81a0d1b47 | ||
|
|
824e8c490f | ||
|
|
43d70c83fe | ||
|
|
8945ace136 | ||
|
|
ccfe416de3 | ||
|
|
e090fbabc4 | ||
|
|
d625e62ff9 | ||
|
|
72926b2e27 | ||
|
|
e6da4edd83 | ||
|
|
fffdff1f94 | ||
|
|
57a69aa3cc | ||
|
|
3407757c0e | ||
|
|
d6e21e33b5 | ||
|
|
52035efd4e | ||
|
|
5834e7d8ee | ||
|
|
84e6f15cf9 | ||
|
|
6e245e1a2d | ||
|
|
3407c1a97a | ||
|
|
aa60d9608f | ||
|
|
ba67619bec | ||
|
|
d2381806dc | ||
|
|
b070bba831 | ||
|
|
aaa7e346ef | ||
|
|
b9991b5346 | ||
|
|
5214eb9232 | ||
|
|
bea95e4123 |
@@ -5,4 +5,4 @@ VUE_APP_TITLE = 调解系统
|
||||
ENV = 'production'
|
||||
|
||||
# 若依管理系统/生产环境
|
||||
VUE_APP_BASE_API = '/prod-api'
|
||||
VUE_APP_BASE_API = '/API'
|
||||
|
||||
@@ -1,3 +1,30 @@
|
||||
# Mediation-Frontend
|
||||
## 开发
|
||||
|
||||
调解系统PC端服务
|
||||
```bash
|
||||
# 克隆项目
|
||||
git clone https://gitee.com/y_project/RuoYi-Vue
|
||||
|
||||
# 进入项目目录
|
||||
cd ruoyi-ui
|
||||
|
||||
# 安装依赖
|
||||
npm install
|
||||
|
||||
# 建议不要直接使用 cnpm 安装依赖,会有各种诡异的 bug。可以通过如下操作解决 npm 下载速度慢的问题
|
||||
npm install --registry=https://registry.npmmirror.com
|
||||
|
||||
# 启动服务
|
||||
npm run dev
|
||||
```
|
||||
|
||||
浏览器访问 http://localhost:80
|
||||
|
||||
## 发布
|
||||
|
||||
```bash
|
||||
# 构建测试环境
|
||||
npm run build:stage
|
||||
|
||||
# 构建生产环境
|
||||
npm run build:prod
|
||||
```
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "ruoyi",
|
||||
"version": "3.8.6",
|
||||
"description": "智慧仲裁管理系统",
|
||||
"description": "调解系统",
|
||||
"author": "智慧仲裁",
|
||||
"license": "MIT",
|
||||
"scripts": {
|
||||
@@ -48,7 +48,7 @@
|
||||
"js-beautify": "1.13.0",
|
||||
"js-cookie": "3.0.1",
|
||||
"jsencrypt": "3.0.0-rc.1",
|
||||
"moment": "^2.30.1",
|
||||
"moment": "^2.29.4",
|
||||
"nprogress": "0.2.0",
|
||||
"qrcodejs2": "0.0.2",
|
||||
"quill": "1.3.7",
|
||||
|
||||
|
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 15 KiB |
@@ -7,6 +7,7 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
|
||||
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
|
||||
<title><%= webpackConfig.name %></title>
|
||||
<script src="http://121.40.189.20:8899/web-apps/apps/api/documents/api.js"></script>
|
||||
<!--[if lt IE 11]><script>window.location.href='/html/ie.html';</script><![endif]-->
|
||||
<style>
|
||||
html,
|
||||
|
||||
@@ -2,6 +2,9 @@
|
||||
<div id="app">
|
||||
<router-view />
|
||||
<theme-picker />
|
||||
<div class="onlyoffice">
|
||||
<div id="placeholder"></div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -11,6 +14,77 @@ import ThemePicker from "@/components/ThemePicker";
|
||||
export default {
|
||||
name: "App",
|
||||
components: { ThemePicker },
|
||||
data() {
|
||||
return {
|
||||
config: {},
|
||||
flag: false
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
console.log("app.vue");
|
||||
this.config = {
|
||||
"editorConfig": {
|
||||
"mode": "edit",
|
||||
"customization": {
|
||||
"feedback": {
|
||||
"visible": false
|
||||
},
|
||||
"help": false,
|
||||
"goback": {
|
||||
"blank": false
|
||||
},
|
||||
"macros": false,
|
||||
"autosave": false,
|
||||
"comments": false,
|
||||
"review": {},
|
||||
"hideRightMenu": true,
|
||||
"anonymous": {
|
||||
"request": false
|
||||
},
|
||||
"forcesave": true,
|
||||
"logo": {},
|
||||
"hideNotes": true
|
||||
},
|
||||
"plugins": {
|
||||
"pluginsData": [],
|
||||
"autostart": []
|
||||
},
|
||||
"callbackUrl": "http://121.40.189.20:9090/onlyOffice/save",
|
||||
"lang": "zh-CN",
|
||||
"user": {
|
||||
"name": "OnlyOfficeUserName1",
|
||||
"id": "1"
|
||||
}
|
||||
},
|
||||
"docServiceApiUrl": "http://121.40.189.20:8899/web-apps/apps/api/documents/api.js",
|
||||
"documentType": "word",
|
||||
"document": {
|
||||
"permissions": {
|
||||
"edit": false,
|
||||
"chat": false,
|
||||
"review": false
|
||||
},
|
||||
"title": "调解申请书模板.docx",
|
||||
"fileType": "docx",
|
||||
"key": "6ae50056ac5e4e3ba09be430d444699c",
|
||||
"url": "http://121.40.189.20:9090/download/6ae50056ac5e4e3ba09be430d444699c",
|
||||
"info": {
|
||||
"sharingSettings": [
|
||||
{
|
||||
"isLink": true,
|
||||
"permissions": [
|
||||
"Full Access"
|
||||
],
|
||||
"user": "OnlyOfficeUserName1"
|
||||
}
|
||||
],
|
||||
"created": "2024-03-13 09:46:41"
|
||||
}
|
||||
},
|
||||
"type": "desktop"
|
||||
}
|
||||
var docEditor = new DocsAPI.DocEditor("placeholder", this.config);
|
||||
},
|
||||
metaInfo() {
|
||||
return {
|
||||
title: this.$store.state.settings.dynamicTitle && this.$store.state.settings.title,
|
||||
@@ -25,4 +99,9 @@ export default {
|
||||
#app .theme-picker {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.onlyoffice {
|
||||
width: 0;
|
||||
height: 0;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -56,6 +56,14 @@ export function confirmPaid(data) {
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
// 缴费确认(被申请人)
|
||||
export function resConfirmPaid(data) {
|
||||
return request({
|
||||
url: "/pay/resConfirmPaid",
|
||||
method: "post",
|
||||
data: data,
|
||||
});
|
||||
}
|
||||
// 案件id查询缴费清单
|
||||
export function selectPaymentDetail(data) {
|
||||
return request({
|
||||
@@ -125,5 +133,124 @@ export function confirmDate(data) {
|
||||
url: "/caseApplication/confirmDate",
|
||||
method: "post",
|
||||
data: data,
|
||||
});
|
||||
})
|
||||
}
|
||||
// 查看案件流程
|
||||
export function selectCaseProgress(data) {
|
||||
return request({
|
||||
url: "/mssignSeal/selectCaseProgress",
|
||||
method: "post",
|
||||
data: data,
|
||||
})
|
||||
}
|
||||
// 查看案件日志
|
||||
export function listCaseLogRecord(data) {
|
||||
return request({
|
||||
url: "/mssignSeal/listCaseLogRecord",
|
||||
method: "post",
|
||||
data: data,
|
||||
})
|
||||
}
|
||||
// 案件归档
|
||||
export function msCaseFile(data) {
|
||||
return request({
|
||||
url: "/mssignSeal/msCaseFile",
|
||||
method: "post",
|
||||
data: data,
|
||||
})
|
||||
}
|
||||
//生成调解书
|
||||
export function mediation(data) {
|
||||
return request({
|
||||
url: "/caseApplication/mediation",
|
||||
method: "post",
|
||||
data: data,
|
||||
})
|
||||
}
|
||||
//申请人和被申请人签收调解书
|
||||
export function msCaseSign(data) {
|
||||
return request({
|
||||
url: "/mssignSeal/msCaseSign",
|
||||
method: "post",
|
||||
data: data,
|
||||
})
|
||||
}
|
||||
//确认调解书
|
||||
export function confirmMediation(data) {
|
||||
return request({
|
||||
url: "/caseApplication/confirmMediation",
|
||||
method: "post",
|
||||
data: data,
|
||||
})
|
||||
}
|
||||
// 查询部门列表
|
||||
export function listDeptApplied(query) {
|
||||
return request({
|
||||
url: '/system/dept/selectList',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
// 修改立案申请接口
|
||||
export function updateComfire(data) {
|
||||
return request({
|
||||
url: "/caseApplication/update",
|
||||
method: "post",
|
||||
data: data,
|
||||
})
|
||||
}
|
||||
// 根据身份证获取生日和性别
|
||||
export function getInfoByIdCard(query) {
|
||||
return request({
|
||||
url: '/caseApplication/getInfoByIdCard',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
// 签名
|
||||
export function msCaseSignUrlApplyPC(data) {
|
||||
return request({
|
||||
url: '/mssignSeal/msCaseSignUrlApplyPC',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
// 签名
|
||||
export function getUserInfo(query) {
|
||||
return request({
|
||||
url: '/caseApplication/getUserInfo',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
// 确定会议结果
|
||||
export function confirmMeetingResult(data) {
|
||||
return request({
|
||||
url: '/caseApplication/confirmMeetingResult',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
// 根据用户id查询是否为调解员
|
||||
export function secretaryRoleByUserId(query) {
|
||||
return request({
|
||||
url: '/video/secretaryRoleByUserId',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
// 获取证件类型
|
||||
export function getIdType() {
|
||||
return request({
|
||||
url: '/system/dict/data/type/id_type',
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
// 会议附件上传接口
|
||||
export function meetingUpload(data) {
|
||||
return request({
|
||||
url: '/video/upload',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
@@ -0,0 +1,60 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 查询邮件列表
|
||||
export function emailList(data) {
|
||||
return request({
|
||||
url: '/sendMailRecord/list',
|
||||
method: 'get',
|
||||
params: data
|
||||
})
|
||||
}
|
||||
|
||||
// 查询短信列表
|
||||
export function smsList(data,params) {
|
||||
return request({
|
||||
url: '/caseApplication/smsRecord',
|
||||
method: 'post',
|
||||
data: data,
|
||||
params:params
|
||||
})
|
||||
}
|
||||
//更新短信内容
|
||||
export function updateSendContent(data) {
|
||||
return request({
|
||||
url: 'shortMessage/updateSendContent',
|
||||
method: 'post',
|
||||
data: data,
|
||||
})
|
||||
}
|
||||
// 分页查询短信
|
||||
export function recordList(data) {
|
||||
return request({
|
||||
url: '/shortMessage/recordList',
|
||||
method: 'get',
|
||||
params: data
|
||||
})
|
||||
}
|
||||
// 重新发送短信
|
||||
export function reSendShortMessage(data) {
|
||||
return request({
|
||||
url: 'shortMessage/reSendShortMessage',
|
||||
method: 'post',
|
||||
data: data,
|
||||
})
|
||||
}
|
||||
// 重新发送邮件
|
||||
export function reSendMailRecord(data) {
|
||||
return request({
|
||||
url: 'sendMailRecord/reSendMailRecord',
|
||||
method: 'post',
|
||||
data: data,
|
||||
})
|
||||
}
|
||||
// 更新邮件发送记录
|
||||
export function update(data) {
|
||||
return request({
|
||||
url: 'sendMailRecord/update',
|
||||
method: 'post',
|
||||
data: data,
|
||||
})
|
||||
}
|
||||
@@ -57,3 +57,60 @@ export function getCodeImg() {
|
||||
timeout: 20000
|
||||
})
|
||||
}
|
||||
// 获取手机验证码
|
||||
export function sendCode(data) {
|
||||
return request({
|
||||
url: '/weChatUser/sendCode',
|
||||
method: 'get',
|
||||
params:data
|
||||
})
|
||||
}
|
||||
// 获取邮箱验证码
|
||||
export function sendEmailCode(data) {
|
||||
return request({
|
||||
url: '/weChatUser/sendEmailCode',
|
||||
method: 'get',
|
||||
params:data
|
||||
})
|
||||
}
|
||||
// 注册方法
|
||||
export function wxregister(data) {
|
||||
return request({
|
||||
url: '/weChatUser/registerUser',
|
||||
headers: {
|
||||
isToken: false
|
||||
},
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
// 检测用户名是否已经存在
|
||||
export function verifyUserName(data) {
|
||||
return request({
|
||||
url: '/weChatUser/verifyUserName',
|
||||
method: 'get',
|
||||
params:data
|
||||
})
|
||||
}
|
||||
// 获取证件类型
|
||||
export function getIdType() {
|
||||
return request({
|
||||
url: '/system/dict/data/type/skipToken/id_type',
|
||||
method: 'get',
|
||||
})
|
||||
}
|
||||
// 获取pc端的EIDtoken
|
||||
export function selectIdentityAuthenticaEIDtoken() {
|
||||
return request({
|
||||
url: '/identityAuthentication/selectIdentityAuthenticaEIDtoken',
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
// H5轮询获取E证通Token状态
|
||||
export function selectPCEIDtokenStatus(data) {
|
||||
return request({
|
||||
url: '/identityAuthentication/selectPCEIDtokenStatus',
|
||||
method: 'get',
|
||||
params:data
|
||||
})
|
||||
}
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 生成会议号
|
||||
export function createRoomId(data) {
|
||||
return request({
|
||||
url: 'caseApplication/createRoomId',
|
||||
method: 'get',
|
||||
params: data
|
||||
})
|
||||
}
|
||||
// 根据案件id查询房间号
|
||||
export function reserveConferenceList(data) {
|
||||
return request({
|
||||
url: 'video/reserveConferenceList',
|
||||
method: 'get',
|
||||
params: data
|
||||
})
|
||||
}
|
||||
|
||||
@@ -78,7 +78,7 @@ export function updateTemplate(data) {
|
||||
return request({
|
||||
url: '/deptIdentify/updateTemplate',
|
||||
method: 'post',
|
||||
params: data
|
||||
data: data
|
||||
})
|
||||
}
|
||||
// 删除模板
|
||||
@@ -201,3 +201,11 @@ export function getTemplateInfoById(data) {
|
||||
params: data
|
||||
})
|
||||
}
|
||||
// 查询模板详情
|
||||
export function getTemplateDetail(data) {
|
||||
return request({
|
||||
url: '/deptIdentify/getTemplateDetail',
|
||||
method: 'get',
|
||||
params: data
|
||||
})
|
||||
}
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
import request from '@/utils/request'
|
||||
// 获取onlyoffice配置文件
|
||||
export function getOnlyoffice(params) {
|
||||
return request({
|
||||
url: '/onlyOffice',
|
||||
// headers: {
|
||||
// isToken: false
|
||||
// },
|
||||
method: 'get',
|
||||
params: params
|
||||
})
|
||||
}
|
||||
// 保存onlyoffice文档
|
||||
export function saveOnlyOfficeFile(data) {
|
||||
return request({
|
||||
url: '/caseApplication/saveOnlyOfficeFile',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 查询首页待办
|
||||
export function todoCount(data) {
|
||||
return request({
|
||||
url: '/caseApplication/todoCount',
|
||||
method: 'get',
|
||||
params: data
|
||||
})
|
||||
}
|
||||
@@ -8,7 +8,14 @@ export function listRole(query) {
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询角色列表
|
||||
export function listRoleNotoken(query) {
|
||||
return request({
|
||||
url: '/weChatUser/roles',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
// 查询角色详细
|
||||
export function getRole(roleId) {
|
||||
return request({
|
||||
|
||||
|
After Width: | Height: | Size: 8.3 KiB |
|
After Width: | Height: | Size: 6.5 KiB |
@@ -0,0 +1,109 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<svg width="540px" height="540px" viewBox="0 0 540 540" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- Generator: Sketch 50.2 (55047) - http://www.bohemiancoding.com/sketch -->
|
||||
<title>Illustration - Login</title>
|
||||
<desc>Created with Sketch.</desc>
|
||||
<defs>
|
||||
<linearGradient x1="59.6295332%" y1="41.734617%" x2="0%" y2="-2.52931411%" id="linearGradient-1">
|
||||
<stop stop-color="#6B9CFF" offset="0%"></stop>
|
||||
<stop stop-color="#6A75FF" offset="100%"></stop>
|
||||
</linearGradient>
|
||||
<linearGradient x1="72.7429222%" y1="30.1227183%" x2="13.6425987%" y2="72.7225671%" id="linearGradient-2">
|
||||
<stop stop-color="#6B9CFF" offset="0%"></stop>
|
||||
<stop stop-color="#6A75FF" offset="100%"></stop>
|
||||
</linearGradient>
|
||||
<linearGradient x1="81.2864882%" y1="12.5013309%" x2="17.0959063%" y2="86.407992%" id="linearGradient-3">
|
||||
<stop stop-color="#42D6EB" offset="0%"></stop>
|
||||
<stop stop-color="#10BDD5" offset="100%"></stop>
|
||||
</linearGradient>
|
||||
</defs>
|
||||
<g id="Login---Register" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||
<g id="Login-" transform="translate(-94.000000, -128.000000)">
|
||||
<g id="Illustration---Login" transform="translate(94.000000, 128.000000)">
|
||||
<rect x="0" y="1" width="540" height="540"></rect>
|
||||
<g transform="translate(31.500000, 70.000000)">
|
||||
<rect id="Rectangle-11" x="36.9600014" y="0.465760316" width="403.200015" height="401.593641"></rect>
|
||||
<g id="Group-45" transform="translate(0.134400, 45.291731)">
|
||||
<g id="Group-7-Copy" transform="translate(65.196456, 76.720034)" fill="url(#linearGradient-1)" opacity="0.100000001">
|
||||
<g id="Group-8" transform="translate(0.009535, 0.154651)">
|
||||
<g id="Group-12" transform="translate(0.000000, 0.000000)">
|
||||
<polygon id="Path-60-Copy-6" points="6.72000025 73.3937377 156.992399 0 333.312013 87.2790394 181.035982 164.640006"></polygon>
|
||||
<polygon id="Path-60-Copy-7" points="0 90.8657384 150.272398 17.4720007 326.592012 104.75104 174.315982 182.112007"></polygon>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g id="Group-11" transform="translate(133.624753, 0.012512)">
|
||||
<g id="Group-16">
|
||||
<polygon id="Path-58-Copy" fill="url(#linearGradient-1)" opacity="0.300000012" points="0.320218394 191.125207 0.320218394 72.6835451 146.106863 0.374521993 146.106863 118.557011"></polygon>
|
||||
<polygon id="Path-58" fill="url(#linearGradient-2)" points="13.2151413 197.71478 13.2151413 79.2731181 159.001785 6.96409499 159.001785 125.146584"></polygon>
|
||||
<polygon id="Path-58-Copy-4" fill="#F2F8FF" opacity="0.100000001" points="31.2280317 167.721208 31.2280317 112.397173 71.1008924 92.7336684 71.1008924 147.936645"></polygon>
|
||||
</g>
|
||||
<g id="Group-10" transform="translate(12.894923, 6.589573)">
|
||||
<g id="Group-9">
|
||||
<polygon id="Path-58-Copy-2" fill="#F2F8FF" points="0.320218394 89.4178343 0.320218394 72.6835451 146.294307 0 146.294307 16.7518025"></polygon>
|
||||
<g id="Group" transform="translate(7.224410, 68.203767)" fill="#D2DAE5">
|
||||
<ellipse id="Oval-2" cx="1.76407828" cy="9.03536866" rx="1.76407828" ry="2.4543034"></ellipse>
|
||||
<ellipse id="Oval-2-Copy" cx="8.98848851" cy="5.4456967" rx="1.76407828" ry="2.4543034"></ellipse>
|
||||
<ellipse id="Oval-2-Copy-2" cx="15.6108645" cy="2.4543034" rx="1.76407828" ry="2.4543034"></ellipse>
|
||||
</g>
|
||||
</g>
|
||||
<g id="Group-7" transform="translate(77.281877, 57.259519)" stroke-linecap="round">
|
||||
<path d="M0.560009909,16.4526632 L33.4128973,1.42108547e-13" id="Path-61" stroke="#FFFFFF" stroke-width="4.70400018"></path>
|
||||
<path d="M0.560009909,34.401023 L23.4202489,22.7345891" id="Path-61-Copy" stroke="#FDFFFF" stroke-width="3.36000013" opacity="0.5"></path>
|
||||
<path d="M0.560009909,58.3321694 L23.4202489,46.6657355" id="Path-61-Copy-3" stroke="#FDFFFF" stroke-width="3.36000013" opacity="0.200000003"></path>
|
||||
<path d="M0.560009909,76.2805292 L11.9901294,70.4473122" id="Path-61-Copy-4" stroke="#42D6EB" stroke-width="3.36000013"></path>
|
||||
<path d="M0.560009909,46.3665962 L11.5876737,40.7387674" id="Path-61-Copy-2" stroke="#FDFFFF" stroke-width="3.36000013" opacity="0.400000006"></path>
|
||||
</g>
|
||||
<g id="Group-3-Copy" opacity="0.305310236" style="mix-blend-mode: multiply;" transform="translate(36.762851, 129.652826) rotate(2.000000) translate(-36.762851, -129.652826) translate(24.330851, 106.804825)" fill="#6B94FF">
|
||||
<ellipse id="Oval-8" transform="translate(10.158023, 10.420503) rotate(13.000000) translate(-10.158023, -10.420503) " cx="10.1580233" cy="10.4205034" rx="7.05600027" ry="8.40000032"></ellipse>
|
||||
<path d="M21.9180237,28.7238133 C20.6875348,23.4745312 18.2515287,20.8454382 14.6100056,20.8365342 C7.88320297,20.8200865 2.43002301,27.4668892 2.43002301,35.6458465 C2.43002301,37.6214602 3.07963544,40.3010129 4.37886031,43.6845046 L21.9180237,28.7238133 Z" id="Oval-8-Copy" transform="translate(12.174023, 32.260504) rotate(13.000000) translate(-12.174023, -32.260504) "></path>
|
||||
</g>
|
||||
<g id="Group-3" transform="translate(40.763710, 128.760264) rotate(2.000000) translate(-40.763710, -128.760264) translate(28.331709, 106.248263)" fill="#A6B7FA">
|
||||
<ellipse id="Oval-8" transform="translate(10.436715, 9.895302) rotate(13.000000) translate(-10.436715, -9.895302) " cx="10.4367152" cy="9.89530214" rx="6.98248387" ry="8.54082379"></ellipse>
|
||||
<path d="M22.37067,27.9458962 C21.1427874,22.6762601 18.7119412,20.0369729 15.0781314,20.0280344 C8.3655773,20.0115229 2.9239481,26.6840985 2.9239481,34.8947695 C2.9239481,36.8780436 3.57218454,39.5679862 4.86865743,42.9645974 L22.37067,27.9458962 Z" id="Oval-8-Copy" transform="translate(12.647309, 31.496301) rotate(13.000000) translate(-12.647309, -31.496301) "></path>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
<g id="Group-4" transform="translate(120.960005, 124.992005)">
|
||||
<path d="M1.19600851,22.7440752 C0.251591744,38.2354621 0.912683481,49.9018152 3.17928372,57.7431345 C5.44588396,65.5844538 6.4629899,76.5184603 6.23060153,90.5451541 L51.6278638,70.9395011 C51.4389805,56.9781277 49.9279137,46.4592848 47.0946634,39.3829723 C44.2614131,32.3066597 43.411438,19.3971707 44.5447381,0.654505079 L1.19600851,22.7440752 Z" id="Path-59-Copy" fill="#D2D8F3" opacity="0.300000012"></path>
|
||||
<path d="M6.97520873,24.6760753 C6.03079196,40.1674622 6.6918837,51.8338153 8.95848394,59.6751345 C11.2250842,67.5164538 12.2421901,78.4504604 12.0098017,92.4771542 L57.4070641,72.8715011 C57.2181807,58.9101278 55.7071139,48.3912848 52.8738636,41.3149723 C50.0406133,34.2386598 49.1906382,21.3291707 50.3239383,2.58650515 L6.97520873,24.6760753 Z" id="Path-59" fill="#FFFFFF"></path>
|
||||
<g id="Group-3" transform="translate(16.878777, 18.248400)" stroke-linecap="round" stroke-width="3.3183832">
|
||||
<path d="M0.504583782,9.81527913 L20.3373359,0.0614429565" id="Path-2" stroke="#FFA646"></path>
|
||||
<path d="M4.526324,21.1825901 L20.9591757,12.8631416" id="Path-2-Copy" stroke="#E0E8F1"></path>
|
||||
<path d="M4.526324,26.9201408 L20.9591757,18.6006923" id="Path-2-Copy-2" stroke="#E0E8F1"></path>
|
||||
<path d="M4.526324,32.6576915 L20.9591757,24.338243" id="Path-2-Copy-3" stroke="#E0E8F1"></path>
|
||||
<path d="M12.1760998,43.4798312 L20.9591757,39.1766682" id="Path-2-Copy-4" stroke="#42D6EB"></path>
|
||||
</g>
|
||||
<path d="M25.9195727,71.5265249 L43.9296959,62.8137955 C45.226583,62.1864024 46.7865204,62.7291345 47.4139135,64.0260217 C47.5852572,64.380207 47.6742606,64.7685637 47.6742606,65.1620174 L47.6742606,65.1620174 C47.6742606,67.705768 46.2195685,70.0254758 43.9296959,71.133244 L25.9195727,79.8459734 C24.6226855,80.4733665 23.0627481,79.9306343 22.435355,78.6337471 C22.2640114,78.2795619 22.1750079,77.8912051 22.1750079,77.4977514 L22.1750079,77.4977514 C22.1750079,74.9540008 23.6297001,72.634293 25.9195727,71.5265249 Z" id="Path-3" fill="#F0F4F9"></path>
|
||||
</g>
|
||||
<g id="Group-13" transform="translate(0.000000, 57.051080)" fill="url(#linearGradient-1)">
|
||||
<polygon id="Path-60-Copy-12" opacity="0.400000006" points="0 47.6634235 17.933743 38.9760015 38.9760015 49.3069898 20.8031419 58.4640022"></polygon>
|
||||
<polygon id="Path-60-Copy-10" opacity="0.400000006" points="426.720016 123.526559 445.890569 114.240004 468.384018 125.283475 448.957857 135.072005"></polygon>
|
||||
<polygon id="Path-60-Copy-9" opacity="0.300000012" points="369.421633 40.5526164 383.800272 33.503404 400.671208 41.8862512 386.100854 49.3165021"></polygon>
|
||||
<polygon id="Path-60-Copy-11" opacity="0.300000012" points="300.384011 7.04921239 314.76265 0 331.633586 8.38284716 317.063232 15.8130981"></polygon>
|
||||
<polygon id="Path-60-Copy-8" opacity="0.100000001" points="42.300385 168.002346 69.0194579 154.903163 100.369837 170.48057 73.2945096 184.287817"></polygon>
|
||||
<polygon id="Path-60-Copy-13" opacity="0.400000006" points="190.744755 223.790281 210.222767 214.241071 233.076967 225.596888 213.339249 235.662272"></polygon>
|
||||
<polygon id="Path-60-Copy-16" opacity="0.100000001" points="316.055409 125.358611 333.139177 116.983193 353.184131 126.943149 335.87258 135.771293"></polygon>
|
||||
<polygon id="Path-60-Copy-15" opacity="0.400000006" points="218.268257 130.756466 233.20795 123.432194 250.737188 132.142139 235.5983 139.862317"></polygon>
|
||||
</g>
|
||||
<g id="Group-6" transform="translate(328.608012, 129.024005) scale(-1, 1) translate(-328.608012, -129.024005) translate(305.088011, 93.408004)">
|
||||
<path d="M0.301456398,63.4017502 L0.301456398,33.842404 C0.301456398,31.7279484 1.43041312,29.7743854 3.26245039,28.7186572 L34.1001585,10.9481465 C36.9913515,9.28207016 40.5607592,9.32416262 43.4118591,11.0579553 L45.5791713,12.3759274 L39.9809751,50.1143004 L13.6626975,70.2491395 C12.4966085,71.1412577 10.9181532,71.273739 9.61967291,70.5884746 L2.30823979,66.729914 C1.07389697,66.0784978 0.301456398,64.7974383 0.301456398,63.4017502 Z" id="Path-58-Copy-3" fill="#2BB9CD"></path>
|
||||
<path d="M7.56965546,67.1977375 L7.56965546,37.3921201 C7.56965546,34.4935014 9.12535117,31.8178882 11.6444463,30.3839602 L42.9922047,12.540081 C44.2823713,11.8056879 45.9236012,12.2562314 46.6579943,13.546398 C46.8886542,13.9516165 47.0099409,14.4098661 47.0099409,14.8761343 L47.0099409,48.3822425 C47.0099409,50.1204059 46.0775956,51.7250053 44.5675155,52.5857434 L13.1963911,70.4671271 C11.390757,71.4963294 9.09266811,70.8669072 8.06346577,69.0612732 C7.7398435,68.4935098 7.56965546,67.8512561 7.56965546,67.1977375 Z" id="Path-58" fill="url(#linearGradient-3)"></path>
|
||||
<path d="M12.184828,59.2470069 L12.184828,41.9028799 C12.184828,39.104043 13.636082,36.5053645 16.0189814,35.0372778 L38.9688196,20.8980531 C40.2327421,20.1193599 41.8886092,20.5127159 42.6673025,21.7766383 C42.9284732,22.2005531 43.0667684,22.6886777 43.0667684,23.1865871 L43.0667684,44.2416698 C43.0667684,45.9201139 42.1968988,47.4786522 40.7683285,48.359766 L17.9235524,62.4499707 C16.1546044,63.5410227 13.8361163,62.9914794 12.7450642,61.2225314 C12.3787951,60.6286908 12.184828,59.9447173 12.184828,59.2470069 Z" id="Path-58-Copy-5" stroke="#6BEAFC" stroke-width="0.672000025"></path>
|
||||
<g id="Group-2" transform="translate(24.192001, 36.288001)" fill="#078DA0">
|
||||
<ellipse id="Oval-8" transform="translate(3.714207, 3.956865) rotate(15.000000) translate(-3.714207, -3.956865) " cx="3.71420704" cy="3.95686535" rx="2.54896561" ry="2.99591234"></ellipse>
|
||||
<polygon id="Rectangle" points="2.68248286 5.02683404 5.01919595 4.81301092 6.95613262 12.2935939 2.01489663 15.0845398"></polygon>
|
||||
</g>
|
||||
<path d="M13.5172419,24.7668222 L13.5172419,18.2818879 C13.5172419,11.290127 17.0829009,4.77914308 22.9793112,1.00390892 C25.8355565,-0.824829972 29.6363802,0.00361796504 31.4686886,2.85429918 C32.1037835,3.84237157 32.4413805,4.99161468 32.4413805,6.16552385 L32.4413805,14.4793432" id="Rectangle-2" stroke="#3ED4E9" stroke-width="5.91359987" stroke-linecap="round" stroke-linejoin="round"></path>
|
||||
</g>
|
||||
<g id="Group-20-Copy-15" transform="translate(151.536006, 82.992003) scale(-1, 1) rotate(-3.000000) translate(-151.536006, -82.992003) translate(128.352005, 55.776002)">
|
||||
<ellipse id="Oval-9-Copy-4" fill="#2CB8CC" transform="translate(25.379715, 26.372484) rotate(-8.000000) translate(-25.379715, -26.372484) " cx="25.3797146" cy="26.3724841" rx="17.7614469" ry="23.5250369"></ellipse>
|
||||
<ellipse id="Oval-9-Copy-2" fill="#42D6EB" transform="translate(20.968020, 27.950980) rotate(-8.000000) translate(-20.968020, -27.950980) " cx="20.96802" cy="27.9509802" rx="17.7614469" ry="23.5250369"></ellipse>
|
||||
<polyline id="Path-63-Copy" stroke="#FFFFFF" stroke-width="3.57504007" stroke-linecap="round" stroke-linejoin="round" transform="translate(21.240257, 28.044301) scale(-1, 1) rotate(-6.000000) translate(-21.240257, -28.044301) " points="13.7814797 31.6505444 20.7779913 37.3028814 28.6990346 18.7857213"></polyline>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 185 KiB |
|
After Width: | Height: | Size: 139 KiB |
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1707017042991" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1492" width="200" height="200" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M213 240.3m-58.2 0a58.2 58.2 0 1 0 116.4 0 58.2 58.2 0 1 0-116.4 0Z" fill="#1296db" p-id="1493"></path><path d="M885.3 238.3m-58.2 0a58.2 58.2 0 1 0 116.4 0 58.2 58.2 0 1 0-116.4 0Z" fill="#1296db" p-id="1494"></path><path d="M172.6 456.7v261.8c0 11 8.9 20 20 20h9.7l23.3 40.5v147h106.5V704l-48-24-30-4.5V432.1h-56.8c-13.7 0-24.7 11-24.7 24.6zM926.4 432.1v306.5h-48.7l-63.3 40.5v147H711.9V711c0-10.5 8.4-11 18.9-11.1l58-0.8c20.5-0.2 37.1-27 37.1-47.5v-200c0-10.8 8.7-19.5 19.5-19.5h81z" fill="#1296db" p-id="1495"></path><path d="M510.9 236.3c21.5 0 42.5-9.1 57.7-24.8 15.2-15.8 23.9-37.6 23.9-60-0.1-22.6-8.6-43.9-23.9-60-15.4-16-35.9-24.8-57.7-24.9-21.5 0-42.5 9.1-57.7 24.8-15.2 15.8-24 37.8-24 60.1 0 22.4 8.7 44.2 23.9 60 15.3 15.7 36.3 24.8 57.8 24.8zM175.9 337.7c25.6-0.1 49.5-10.4 67.5-29l0.1-0.1c17.5-18.2 27.6-43.5 27.6-69.3s-10.1-51-27.7-69.2c-18-18.6-42-28.8-67.5-29-25.2 0-49.8 10.6-67.6 29l-0.1 0.1c-17.6 18.5-27.4 43.1-27.5 69v0.1c0 25.7 10.1 51 27.6 69.2 17.8 18.6 42.4 29.2 67.6 29.2z m-38.7-139.8c10.1-10.5 24.6-16.7 38.6-16.7 14.6 0.1 28.4 6 38.9 16.8 10.3 10.7 16.4 26.1 16.4 41.4s-6.1 30.8-16.4 41.5c-10.5 10.8-24.2 16.7-38.8 16.8-14.1 0-28.6-6.3-38.7-16.8-10.3-10.7-16.4-26.2-16.4-41.4 0-15.7 5.8-30.5 16.4-41.6zM891 355.2h-88c-28.2 0-51.2 23.5-51.2 52.5v234.5c0 5.5-1.9 10.8-5.4 14.8-1.5 1.8-3.9 2.8-6.4 2.8h-18.4c-27.1 0-49.3 20.9-50.6 47.5 0 0.9-0.1 1.8-0.1 2.6v203h-56.8v-210c0-11.7-3.5-22.9-9.8-31.2s-14.9-12.9-23.8-12.9h-19.9c-8.9 0-17.5 4.6-23.8 12.9-6.3 8.3-9.8 19.5-9.8 31.2v210h-32v-210c0-11.7-3.5-22.9-9.9-31.2-6.3-8.3-14.9-12.9-23.8-12.9h-19.9c-8.9 0-17.5 4.6-23.8 12.9-6.3 8.3-9.8 19.5-9.8 31.2v210h-55.7v-203c0-0.9 0-1.8-0.1-2.6-1.3-26.6-23.5-47.5-50.6-47.5H283c-2.5 0-4.9-1-6.4-2.8-3.5-4-5.4-9.3-5.4-14.8V407.6c0-28.9-23-52.5-51.2-52.5h-88c-28.2 0-51.2 23.5-51.2 52.5V724c0 23.1 14.5 43.3 36.1 50.2l2.9 0.9 67.7 0.1c4.8 0 8.6 3.9 8.6 8.7v129h-76.4c-11.3 0-20.5 9.2-20.5 20.5v8.6c0 11.3 9.2 20.5 20.5 20.5h782.1c11.3 0 20.5-9.2 20.5-20.5v-8.6c0-11.3-9.2-20.5-20.5-20.5h-75.1v-129c0-4.8 3.9-8.6 8.7-8.7l67.7-0.1 2.9-0.9c21.6-6.9 36.1-27 36.1-50.2V407.6c0.1-28.9-22.9-52.4-51.1-52.4zM187.6 735.3l-60.7-0.1c-3.7-2.1-6.1-6.4-6.1-11.1V407.6c0-6.9 5-12.5 11.2-12.5h88c6.2 0 11.2 5.6 11.2 12.5v234.5c0 15.1 5.3 29.6 15 40.9 9.1 10.6 22.5 16.8 36.7 16.8h18.4c5.6 0 10.4 4.3 10.7 9.5v200.5h-75.8V783.9c0-26.8-21.8-48.6-48.6-48.6z m714.6-11.2c0 4.7-2.4 9-6.1 11.1l-60.7 0.1c-26.8 0-48.6 21.8-48.6 48.7v125.8H711V709.9v-0.7c0.3-5.2 5-9.5 10.7-9.5h18.4c14.2 0 27.6-6.1 36.7-16.8 9.7-11.3 15-25.8 15-40.9V407.6c0-6.9 5-12.5 11.2-12.5h88c6.2 0 11.2 5.6 11.2 12.5v316.5zM914.7 170.3l-0.1-0.1c-17.8-18.4-42.4-29-67.7-29-25.5 0.1-49.4 10.4-67.5 29-17.5 18.2-27.6 43.4-27.6 69.2s10.1 51 27.6 69.3l0.1 0.1c18 18.6 42 28.8 67.4 29h0.1c25.2 0 49.8-10.6 67.6-29 17.5-18.2 27.6-43.5 27.6-69.2v-0.1c-0.1-26.1-9.9-50.6-27.5-69.2z m-28.9 110.6c-10.1 10.5-24.6 16.8-38.7 16.8-14.6-0.1-28.4-6-38.8-16.8-10.3-10.7-16.4-26.2-16.4-41.5s6.1-30.8 16.3-41.4c10.5-10.8 24.3-16.8 38.8-16.8 14.1 0 28.6 6.2 38.7 16.7 10.5 11.1 16.4 25.9 16.5 41.6 0 15.2-6.2 30.7-16.4 41.4z" fill="#1296db" p-id="1496"></path><path d="M331 605.7h359.5c11.3 0 20.5-9.2 20.5-20.5v-10.6c0-11.3-9.2-20.5-20.5-20.5h-78.2c3.1-4 4.9-9 4.9-14.5V298.3c0-13.2-10.8-24-24-24H426.3c-13.2 0-24 10.8-24 24v241.4c0 5.4 1.8 10.4 4.9 14.5H331c-11.3 0-20.5 9.2-20.5 20.5v10.6c0 11.2 9.2 20.4 20.5 20.4z m144.2-281.8c0-8.6 8.2-15.6 18.1-15.6h35.2c10 0 18.1 7 18.1 15.6l-15.1 37.4 15.1 119.9c0 8.6-23.3 54.8-33.2 54.8h-5c-10 0-33.2-46.2-33.2-54.8l15.1-120.6-15.1-36.7z" fill="#1296db" p-id="1497"></path></svg>
|
||||
|
After Width: | Height: | Size: 3.8 KiB |
|
Before Width: | Height: | Size: 79 KiB After Width: | Height: | Size: 394 KiB |
|
Before Width: | Height: | Size: 4.9 KiB After Width: | Height: | Size: 185 KiB |
@@ -51,12 +51,12 @@ export default {
|
||||
// 图片数量限制
|
||||
limit: {
|
||||
type: Number,
|
||||
default: 5,
|
||||
default: 1,
|
||||
},
|
||||
// 大小限制(MB)
|
||||
fileSize: {
|
||||
type: Number,
|
||||
default: 5,
|
||||
// default: 5,
|
||||
},
|
||||
// 文件类型, 例如['png', 'jpg', 'jpeg']
|
||||
fileType: {
|
||||
|
||||
@@ -9,7 +9,8 @@ export default {
|
||||
name: 'RuoYiDoc',
|
||||
data() {
|
||||
return {
|
||||
url: 'http://doc.ruoyi.vip/ruoyi-vue'
|
||||
// url: 'http://doc.ruoyi.vip/ruoyi-vue'
|
||||
url: '#'
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
||||
@@ -7,15 +7,10 @@
|
||||
|
||||
<div class="right-menu">
|
||||
<template v-if="device!=='mobile'">
|
||||
<!-- <search id="header-search" class="right-menu-item" />
|
||||
|
||||
<el-tooltip content="源码地址" effect="dark" placement="bottom">
|
||||
<ruo-yi-git id="ruoyi-git" class="right-menu-item hover-effect" />
|
||||
</el-tooltip>
|
||||
|
||||
<!-- <search id="header-search" class="right-menu-item" /> -->
|
||||
<el-tooltip content="文档地址" effect="dark" placement="bottom">
|
||||
<ruo-yi-doc id="ruoyi-doc" class="right-menu-item hover-effect" />
|
||||
</el-tooltip> -->
|
||||
</el-tooltip>
|
||||
|
||||
<screenfull id="screenfull" class="right-menu-item hover-effect" />
|
||||
|
||||
@@ -102,7 +97,8 @@ export default {
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
this.$store.dispatch('LogOut').then(() => {
|
||||
location.href = '/index';
|
||||
// location.href = '/index';
|
||||
this.$router.push({ path: '/Login' })
|
||||
})
|
||||
}).catch(() => {});
|
||||
}
|
||||
|
||||
@@ -13,9 +13,15 @@ import router from './router'
|
||||
import directive from './directive' // directive
|
||||
import plugins from './plugins' // plugins
|
||||
import { download } from '@/utils/request'
|
||||
|
||||
import { Message } from 'element-ui'
|
||||
import NProgress from 'nprogress'
|
||||
import 'nprogress/nprogress.css'
|
||||
import { getToken } from '@/utils/auth'
|
||||
import { isRelogin } from '@/utils/request'
|
||||
import './assets/icons' // icon
|
||||
// 引入Iconfont 矢量图标库
|
||||
import './assets/icon/iconfont.css'
|
||||
import './permission' // permission control
|
||||
// import './permission' // permission control
|
||||
import { getDicts } from "@/api/system/dict/data";
|
||||
import { getConfigKey } from "@/api/system/config";
|
||||
import { parseTime, resetForm, addDateRange, selectDictLabel, selectDictLabels, handleTree } from "@/utils/ruoyi";
|
||||
@@ -37,8 +43,9 @@ import DictTag from '@/components/DictTag'
|
||||
import VueMeta from 'vue-meta'
|
||||
// 字典数据组件
|
||||
import DictData from '@/components/DictData'
|
||||
//画布组件
|
||||
import vueEsign from 'vue-esign'
|
||||
import {checkPermi} from '@/utils/permission'
|
||||
import { statusRole } from '@/utils/permission'
|
||||
|
||||
// 全局方法挂载
|
||||
Vue.prototype.getDicts = getDicts
|
||||
@@ -51,7 +58,6 @@ Vue.prototype.selectDictLabels = selectDictLabels
|
||||
Vue.prototype.download = download
|
||||
Vue.prototype.handleTree = handleTree
|
||||
Vue.prototype.checkPermi = checkPermi
|
||||
Vue.prototype.statusRole = statusRole
|
||||
|
||||
// 全局组件挂载
|
||||
Vue.component('DictTag', DictTag)
|
||||
@@ -65,6 +71,7 @@ Vue.component('ImagePreview', ImagePreview)
|
||||
Vue.use(directive)
|
||||
Vue.use(plugins)
|
||||
Vue.use(VueMeta)
|
||||
Vue.use(vueEsign)
|
||||
DictData.install()
|
||||
|
||||
/**
|
||||
@@ -75,7 +82,61 @@ DictData.install()
|
||||
* Currently MockJs will be used in the production environment,
|
||||
* please remove it before going online! ! !
|
||||
*/
|
||||
NProgress.configure({ showSpinner: false })
|
||||
|
||||
const whiteList = ['/login', '/register']
|
||||
|
||||
router.beforeEach((to, from, next) => {
|
||||
let path = to.fullPath
|
||||
if(path.indexOf('token') != -1){
|
||||
path = path.split('token=');
|
||||
path = path[1];
|
||||
Cookies.set("Admin-Token", path)
|
||||
}
|
||||
NProgress.start()
|
||||
if (getToken()) {
|
||||
to.meta.title && store.dispatch('settings/setTitle', to.meta.title)
|
||||
/* has token*/
|
||||
if (to.path === '/login') {
|
||||
next({ path: '/' })
|
||||
NProgress.done()
|
||||
} else {
|
||||
if (store.getters.roles.length === 0) {
|
||||
isRelogin.show = true
|
||||
// 判断当前用户是否已拉取完user_info信息
|
||||
store.dispatch('GetInfo').then(() => {
|
||||
isRelogin.show = false
|
||||
store.dispatch('GenerateRoutes').then(accessRoutes => {
|
||||
// 根据roles权限生成可访问的路由表
|
||||
router.addRoutes(accessRoutes) // 动态添加可访问路由表
|
||||
next({ ...to, replace: true }) // hack方法 确保addRoutes已完成
|
||||
})
|
||||
}).catch(err => {
|
||||
store.dispatch('LogOut').then(() => {
|
||||
Message.error(err)
|
||||
next({ path: '/' })
|
||||
})
|
||||
})
|
||||
} else {
|
||||
next()
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// 没有token
|
||||
if (whiteList.indexOf(to.path) !== -1) {
|
||||
// 在免登录白名单,直接进入
|
||||
next()
|
||||
} else {
|
||||
// next(`/login?redirect=${encodeURIComponent(to.fullPath)}`) // 否则全部重定向到登录页
|
||||
next(`/login`)
|
||||
NProgress.done()
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
router.afterEach(() => {
|
||||
NProgress.done()
|
||||
})
|
||||
Vue.use(Element, {
|
||||
size: Cookies.get('size') || 'medium' // set element-ui default size
|
||||
})
|
||||
|
||||
@@ -11,6 +11,7 @@ NProgress.configure({ showSpinner: false })
|
||||
const whiteList = ['/login', '/register']
|
||||
|
||||
router.beforeEach((to, from, next) => {
|
||||
console.log("**************************************");
|
||||
NProgress.start()
|
||||
if (getToken()) {
|
||||
to.meta.title && store.dispatch('settings/setTitle', to.meta.title)
|
||||
@@ -45,7 +46,8 @@ router.beforeEach((to, from, next) => {
|
||||
// 在免登录白名单,直接进入
|
||||
next()
|
||||
} else {
|
||||
next(`/login?redirect=${encodeURIComponent(to.fullPath)}`) // 否则全部重定向到登录页
|
||||
// next(`/login?redirect=${encodeURIComponent(to.fullPath)}`) // 否则全部重定向到登录页
|
||||
next(`/login`)
|
||||
NProgress.done()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -61,6 +61,16 @@ export const constantRoutes = [
|
||||
component: () => import('@/views/error/401'),
|
||||
hidden: true
|
||||
},
|
||||
{
|
||||
path: '/onlyoffice',
|
||||
component: () => import('@/views/onlyoffice/onlyoffice'),
|
||||
hidden: true
|
||||
},
|
||||
{
|
||||
path: '/test',
|
||||
component: () => import('@/views/test'),
|
||||
hidden: true
|
||||
},
|
||||
{
|
||||
path: '',
|
||||
component: Layout,
|
||||
@@ -100,7 +110,8 @@ export const dynamicRoutes = [
|
||||
children: [
|
||||
{
|
||||
path: 'role/:userId(\\d+)',
|
||||
component: () => import('@/views/system/user/authRole'),
|
||||
// component: () => import('@/views/system/user/authRole'),
|
||||
component: (resolve) => require(['@/views/system/user/authRole'],resolve),
|
||||
name: 'AuthRole',
|
||||
meta: { title: '分配角色', activeMenu: '/system/user' }
|
||||
}
|
||||
@@ -114,7 +125,8 @@ export const dynamicRoutes = [
|
||||
children: [
|
||||
{
|
||||
path: 'user/:roleId(\\d+)',
|
||||
component: () => import('@/views/system/role/authUser'),
|
||||
// component: () => import('@/views/system/role/authUser'),
|
||||
component: (resolve) => require(['@/views/system/role/authUser'],resolve),
|
||||
name: 'AuthUser',
|
||||
meta: { title: '分配用户', activeMenu: '/system/role' }
|
||||
}
|
||||
|
||||
@@ -15,5 +15,6 @@ const getters = {
|
||||
topbarRouters:state => state.permission.topbarRouters,
|
||||
defaultRoutes:state => state.permission.defaultRoutes,
|
||||
sidebarRouters:state => state.permission.sidebarRouters,
|
||||
userId:state => state.user.userId,
|
||||
}
|
||||
export default getters
|
||||
|
||||
@@ -126,7 +126,8 @@ export const loadView = (view) => {
|
||||
return (resolve) => require([`@/views/${view}`], resolve)
|
||||
} else {
|
||||
// 使用 import 实现生产环境的路由懒加载
|
||||
return () => import(`@/views/${view}`)
|
||||
// return () => import(`@/views/${view}`)
|
||||
return (resolve) => require([`@/views/${view}`], resolve)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -6,11 +6,15 @@ const user = {
|
||||
token: getToken(),
|
||||
name: '',
|
||||
avatar: '',
|
||||
userId:null,
|
||||
roles: [],
|
||||
permissions: []
|
||||
},
|
||||
|
||||
mutations: {
|
||||
SET_USERID:(state,userId) => {
|
||||
state.userId = userId
|
||||
},
|
||||
SET_TOKEN: (state, token) => {
|
||||
state.token = token
|
||||
},
|
||||
@@ -50,7 +54,6 @@ const user = {
|
||||
GetInfo({ commit, state }) {
|
||||
return new Promise((resolve, reject) => {
|
||||
getInfo().then(res => {
|
||||
sessionStorage.setItem('caseStatus', JSON.stringify(res.caseStatus))
|
||||
const user = res.user
|
||||
const avatar = (user.avatar == "" || user.avatar == null) ? require("@/assets/images/profile.jpg") : process.env.VUE_APP_BASE_API + user.avatar;
|
||||
if (res.roles && res.roles.length > 0) { // 验证返回的roles是否是一个非空数组
|
||||
@@ -61,6 +64,7 @@ const user = {
|
||||
}
|
||||
commit('SET_NAME', user.userName)
|
||||
commit('SET_AVATAR', avatar)
|
||||
commit('SET_USERID',user.userId)
|
||||
resolve(res)
|
||||
}).catch(error => {
|
||||
reject(error)
|
||||
@@ -69,13 +73,14 @@ const user = {
|
||||
},
|
||||
|
||||
// 退出系统
|
||||
LogOut({ commit, state }) {
|
||||
LogOut({ commit, state, dispatch }) {
|
||||
return new Promise((resolve, reject) => {
|
||||
logout(state.token).then(() => {
|
||||
commit('SET_TOKEN', '')
|
||||
commit('SET_ROLES', [])
|
||||
commit('SET_PERMISSIONS', [])
|
||||
removeToken()
|
||||
dispatch('tagsView/delAllViews', null, { root: true })
|
||||
resolve()
|
||||
}).catch(error => {
|
||||
reject(error)
|
||||
|
||||
@@ -24,7 +24,6 @@ export function checkPermi(value) {
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 角色权限校验
|
||||
* @param {Array} value 校验值
|
||||
@@ -62,27 +61,7 @@ export function statusRole(value) {
|
||||
if (caseStatus.length == 0) {
|
||||
return false
|
||||
}
|
||||
// if (caseStatus.includes(value)) {
|
||||
// // caseStatus.forEach(item => {
|
||||
// // if (item == value) {
|
||||
// // return true
|
||||
// // }
|
||||
// // });
|
||||
// for(let i = 0;i < caseStatus.length;i++){
|
||||
// if(caseStatus[i] == value){
|
||||
// return true
|
||||
// }
|
||||
// }
|
||||
// } else {
|
||||
// return false
|
||||
// }
|
||||
let flag = null;
|
||||
for (let i = 0; i < caseStatus.length; i++) {
|
||||
if (caseStatus[i] == value) {
|
||||
flag = caseStatus[i]
|
||||
}
|
||||
}
|
||||
if (flag == value) {
|
||||
if (caseStatus.includes(value)) {
|
||||
return true
|
||||
} else {
|
||||
return false
|
||||
|
||||
@@ -17,7 +17,8 @@ const service = axios.create({
|
||||
// axios中请求配置有baseURL选项,表示请求URL公共部分
|
||||
baseURL: process.env.VUE_APP_BASE_API,
|
||||
// 超时
|
||||
timeout: 10000
|
||||
// timeout: 10000
|
||||
timeout: 15000
|
||||
})
|
||||
|
||||
// request拦截器
|
||||
|
||||
@@ -2,28 +2,29 @@
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true">
|
||||
<el-form-item label="案件状态" prop="caseFlowId">
|
||||
<el-select v-model="queryParams.caseFlowId" placeholder="请选择" @change="columnNameChange(item)" clearable>
|
||||
<el-option v-for="dict in dict.type.case_flow_node" :key="dict.value" :label="dict.label"
|
||||
:value="dict.value" @keyup.enter.native="handleQuery"></el-option>
|
||||
<el-select v-model="queryParams.caseFlowId" placeholder="请选择" clearable>
|
||||
<el-option v-for="dict in caseStausArr" :key="dict.id" :label="dict.caseStatusName" :value="dict.id"
|
||||
@keyup.enter.native="handleQuery"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="申请机构" prop="applicationOrganId">
|
||||
<!-- <el-form-item label="申请机构" prop="applicationOrganId">
|
||||
<el-select v-model="queryParams.applicationOrganId" placeholder="请选择" clearable>
|
||||
<el-option v-for="dict in deptList" :key="dict.deptId" :label="dict.deptName" :value="dict.deptId"
|
||||
@keyup.enter.native="handleQuery"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="批号" prop="batchNumber">
|
||||
</el-form-item> -->
|
||||
<!-- <el-form-item label="批号" prop="batchNumber">
|
||||
<el-input v-model="queryParams.batchNumber" placeholder="请输入案件批号" clearable style="width: 240px"
|
||||
@keyup.enter.native="handleQuery" />
|
||||
</el-form-item>
|
||||
</el-form-item> -->
|
||||
<el-form-item label="案件编号" prop="caseNum">
|
||||
<el-input v-model="queryParams.caseNum" placeholder="请输入案件编号" clearable style="width: 240px"
|
||||
@keyup.enter.native="handleQuery" />
|
||||
<el-input v-model="queryParams.caseNum" placeholder="请输入案件编号" :disabled='queryDisable' clearable
|
||||
style="width: 240px" @keyup.enter.native="handleQuery" />
|
||||
</el-form-item>
|
||||
<el-form-item label="创建时间" prop="caseTime">
|
||||
<el-date-picker v-model="caseTime" type="datetimerange" align="right" unlink-panels range-separator="至"
|
||||
start-placeholder="开始日期" end-placeholder="结束日期" clearable style="width: 240px" @change="caseTimeChange">
|
||||
start-placeholder="开始日期" end-placeholder="结束日期" clearable style="width: 240px" :default-time="['00:00:00', '23:59:59']"
|
||||
@change="caseTimeChange">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
@@ -33,12 +34,14 @@
|
||||
</el-form>
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="addCase">新增案件</el-button>
|
||||
<el-button type="primary" plain icon="el-icon-plus" v-hasPermi="['caseManagement:list:add']" size="mini"
|
||||
@click="addCase()">新增案件</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<!-- TODO 后期可能加上-->
|
||||
<!-- <el-col :span="1.5">
|
||||
<el-button type="primary" plain icon="el-icon-plus" size="mini"
|
||||
@click="compressedPackages">案件压缩包上传</el-button>
|
||||
</el-col>
|
||||
</el-col> -->
|
||||
</el-row>
|
||||
<el-table v-loading="loading" :data="dataList" style="width: 100%">
|
||||
<el-table-column label="序号" type="index" align="center">
|
||||
@@ -48,91 +51,146 @@
|
||||
}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="批号" align="center" prop="batchNumber" :show-overflow-tooltip="true" />
|
||||
<!-- <el-table-column label="批号" align="center" prop="batchNumber" :show-overflow-tooltip="true" /> -->
|
||||
<el-table-column label="案件编号" align="center" prop="caseNum" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="申请机构名称" align="center" prop="applicationOrganName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="申请人" align="center" prop="applicationName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="被申请人" align="center" prop="respondentName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="案件标的" align="center" prop="caseSubjectAmount" :show-overflow-tooltip="true" />
|
||||
<!-- <el-table-column label="案件标的" align="center" prop="caseSubjectAmount" :show-overflow-tooltip="true" /> -->
|
||||
<el-table-column label="调解员" align="center" prop="mediatorName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="开庭日期" align="center" prop="hearDate" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="调解方式" align="center" prop="mediationMethodName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="调解时间" align="center" prop="hearDate" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="案件状态" align="center" prop="caseStatusName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="创建时间" align="center" prop="createTime" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||
<template slot-scope="scope">
|
||||
<el-button size="mini" type="text" icon="el-icon-check" @click="onsubmitRow(scope.row)" v-if="statusRole(scope.row.caseFlowId)">提交</el-button>
|
||||
<el-button size="mini" @click="eidtNodeprocess(scope.row)" type="text"
|
||||
icon="el-icon-edit">修改</el-button>
|
||||
<el-button size="mini" @click="checkDetail(scope.row)" type="text" icon="el-icon-view">查看详情</el-button>
|
||||
<el-button size="mini" @click="consultantApplica(scope.row)" type="text" icon="el-icon-tickets">法律顾问用印申请</el-button>
|
||||
<el-button size="mini" @click="departmentApplica(scope.row)" type="text" icon="el-icon-edit-outline">部门长用印</el-button>
|
||||
<el-button size="mini" @click="caseFlow(scope.row)" type="text" icon="el-icon-zoom-in">查看流程</el-button>
|
||||
<el-button size="mini" @click="caseLog(scope.row)" type="text" icon="el-icon-edit-outline">案件日志</el-button>
|
||||
<el-button size="mini" @click="paymentconfirmationRow(scope.row)" type="text" icon="el-icon-zoom-in">缴费确认</el-button>
|
||||
<el-button size="mini" @click="caseAccep(scope.row)" type="text" icon="el-icon-zoom-in">案件受理</el-button>
|
||||
<el-button size="mini" @click="viewpaymentformRow(scope.row)" type="text" icon="el-icon-edit">查看缴费单</el-button>
|
||||
<el-button size="mini" @click="caseFiling(scope.row)" type="text" icon="el-icon-tickets">案件归档</el-button>
|
||||
<el-button size="mini" @click="signMediation(scope.row)" type="text" icon="el-icon-edit-outline">签收调解书</el-button>
|
||||
<el-button size="mini" type="text" icon="el-icon-edit"
|
||||
@click="evidenceUpload(scope.row)">证据修改</el-button>
|
||||
<el-button size="mini" type="text" icon="el-icon-tickets" @click="payStatus(scope.row)">缴费</el-button>
|
||||
<el-button size="mini" type="text" icon="el-icon-tickets" @click="selectMediator(scope.row)">预约时间</el-button>
|
||||
<el-button size="mini" type="text" icon="el-icon-tickets" @click="secretaryConfirm(scope.row)">秘书审核</el-button>
|
||||
<el-button size="mini" type="text" icon="el-icon-tickets" @click="department(scope.row)">部门长审核</el-button>
|
||||
<el-button size="mini" type="text" icon="el-icon-tickets" @click="timeConfirm(scope.row)">确认调解时间</el-button>
|
||||
<el-button size="mini" @click="eidtNodeprocess(scope.row)" type="text" icon="el-icon-edit"
|
||||
v-hasPermi="['caseManagement:list:edit']" v-if="scope.row.caseFlowId <= 1">修改</el-button>
|
||||
<el-button size="mini" @click="checkDetail(scope.row)" type="text"
|
||||
icon="el-icon-view">查看详情</el-button>
|
||||
<el-button size="mini" @click="caseFlow(scope.row)" type="text"
|
||||
icon="el-icon-zoom-in">查看流程</el-button>
|
||||
<el-button size="mini" @click="caseLog(scope.row)" type="text"
|
||||
icon="el-icon-edit-outline">案件日志</el-button>
|
||||
<el-button size="mini" @click="viewpaymentformRow(scope.row)" type="text" icon="el-icon-edit"
|
||||
v-if="scope.row.caseFlowId > 2">查看缴费单</el-button>
|
||||
<el-button size="mini" type="text" icon="el-icon-edit" @click="evidenceUpload(scope.row)"
|
||||
v-hasPermi="['caseManagement:list:evidenceEdit']"
|
||||
v-if="scope.row.caseFlowId <= 9">上传证据</el-button>
|
||||
<el-button size="mini" v-if="scope.row.mediationFileFlag == 1"
|
||||
@click="mediationApplication(scope.row)" type="text" icon="el-icon-edit-outline">调解书</el-button>
|
||||
<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>
|
||||
<div class="btnList" v-for="item in buttonList" :key="item.id">
|
||||
<el-button size="mini" type="text" icon="el-icon-tickets" @click="caseClick(scope.row, item.id)"
|
||||
v-if="(item.id == scope.row.caseFlowId &&
|
||||
checkPermi([item.buttonAuthFlag]) &&
|
||||
scope.row.signButtonFlag != 1) && (scope.row.appOperatorFlag == 1 || scope.row.resOperatorFlag == 1 || scope.row.otherFlag == 1 || scope.row.agentFlag == 1 || scope.row.mediatorFlag == 1)
|
||||
">{{ item.nodeName }}</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
|
||||
@pagination="getList(queryParams)" />
|
||||
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum"
|
||||
:limit.sync="queryParams.pageSize" @pagination="getList(queryParams)" />
|
||||
<!-- 新增编辑详情 -->
|
||||
<addCase :addVisable="addVisable" :queryParams="queryParams" @cancelCaseAdd="cancelCaseAdd" @getList="getList"
|
||||
:caseData="caseData" :caseDisabled="caseDisabled" :tabFlag="tabFlag"></addCase>
|
||||
:caseData="caseData" :caseDisabled="caseDisabled" :tabFlag="tabFlag" :addModifyData="addModifyData">
|
||||
</addCase>
|
||||
<!-- 压缩包导入 -->
|
||||
<caseCompressionPackage :openCompressedPackages="openCompressedPackages" :queryParams="queryParams"
|
||||
@cancelCompreess="cancelCompreess" :getList="getList">
|
||||
</caseCompressionPackage>
|
||||
<!-- 案件详情 -->
|
||||
<mediationCaseDetails :processVisable="processVisable" @cancelViewProcess="cancelViewProcess">
|
||||
<mediationCaseDetails :processVisable="processVisable" @cancelViewProcess="cancelViewProcess"
|
||||
:caseFlowNumber="caseFlowNumber">
|
||||
</mediationCaseDetails>
|
||||
<!-- 案件日志 -->
|
||||
<mediationCaseLog :showcaseLog="showcaseLog" @cancelcaseLog="cancelcaseLog"></mediationCaseLog>
|
||||
<mediationCaseLog :showcaseLog="showcaseLog" @cancelcaseLog="cancelcaseLog" :caselogDataArr="caselogDataArr"
|
||||
:flagLoading="flagLoading"></mediationCaseLog>
|
||||
<!-- 证据修改 -->
|
||||
<evidenceDialog :evidenceVisable="evidenceVisable" @cancelEvidence="cancelEvidence" :evidenceData="evidenceData">
|
||||
<evidenceDialog :evidenceVisable="evidenceVisable" @cancelEvidence="cancelEvidence"
|
||||
:evidenceData="evidenceData">
|
||||
</evidenceDialog>
|
||||
<!-- 缴费 -->
|
||||
<payDialog :openPay="openPay" :payTitle="payTitle" :formPayDetail="formPayDetail" :payId="payId" :payForm="payForm"
|
||||
:queryParams="queryParams" @getList="getList" @paycancelRow="paycancelRow"></payDialog>
|
||||
<payDialog :openPay="openPay" :payTitle="payTitle" :formPayDetail="formPayDetail" :payId="payId"
|
||||
:payForm="payForm" :queryParams="queryParams" @getList="getList" @paycancelRow="paycancelRow"
|
||||
:formPayDetailAffiliate="formPayDetailAffiliate"></payDialog>
|
||||
<!-- 缴费确认查看详情 -->
|
||||
<paymentdetailsDialog :openDialog="openDialog" @cancelpaymentdetails="cancelpaymentdetails" :title="payTitle" :detailform="detailform" :flag="flag" :paymentConfirma="paymentConfirma" :getList="getList"></paymentdetailsDialog>
|
||||
<paymentdetailsDialog :openDialog="openDialog" @cancelpaymentdetails="cancelpaymentdetails" :title="payTitle"
|
||||
:detailform="detailform" :queryParams="queryParams" :flag="flag" :paymentConfirma="paymentConfirma"
|
||||
:isapplicant="isapplicant" @getList="getList">
|
||||
</paymentdetailsDialog>
|
||||
<!-- 案件受理 -->
|
||||
<caseAcceptance :showAcceptance="showAcceptance" @cancelAcceptance="cancelAcceptance" :caseAcceptanceData="caseAcceptanceData" :getList="getList"></caseAcceptance>
|
||||
<caseAcceptance :showAcceptance="showAcceptance" @cancelAcceptance="cancelAcceptance"
|
||||
:caseAcceptanceData="caseAcceptanceData" @getList="getList" :queryParams="queryParams"></caseAcceptance>
|
||||
<!-- 被申请人缴费 -->
|
||||
<respondentPay :openResPay="openResPay" :resPayTitle="resPayTitle" :formResPayDetail="formResPayDetail"
|
||||
:resPayId="resPayId" :resPayForm="resPayForm" :queryParams="queryParams" @getList="getList"
|
||||
@paycancelRes="paycancelRes" :formResPay="formResPay"></respondentPay>
|
||||
<!-- 调解员弹窗 -->
|
||||
<selectMediator @cancelMediator="cancelMediator" :mediatorVisable="mediatorVisable" :mediatorData="mediatorData" @getList="getList" :queryParams="queryParams"></selectMediator>
|
||||
<selectMediator @cancelMediator="cancelMediator" :mediatorVisable="mediatorVisable" :mediatorData="mediatorData"
|
||||
@getList="getList" :queryParams="queryParams"></selectMediator>
|
||||
<!-- 秘书确认 -->
|
||||
<confirmMediator @cancelConfirm="cancelConfirm" :confirmVisable="confirmVisable" :confirmData="confirmData" @getList="getList" :queryParams="queryParams"></confirmMediator>
|
||||
<confirmMediator @cancelConfirm="cancelConfirm" :confirmVisable="confirmVisable" :confirmData="confirmData"
|
||||
@getList="getList" :queryParams="queryParams"></confirmMediator>
|
||||
<!-- 部门长确认 -->
|
||||
<departmentMediator @cancelDepartment="cancelDepartment" :departmentVisable="departmentVisable" :departmentData="departmentData" @getList="getList" :queryParams="queryParams"></departmentMediator>
|
||||
<departmentMediator @cancelDepartment="cancelDepartment" :departmentVisable="departmentVisable"
|
||||
:departmentData="departmentData" @getList="getList" :queryParams="queryParams"></departmentMediator>
|
||||
<!-- 秘书确认时间 -->
|
||||
<timeConfirm @cancelTimeConfirm="cancelTimeConfirm" :timeConfirmVisable="timeConfirmVisable" :timeConfirmData="timeConfirmData" @getList="getList" :queryParams="queryParams"></timeConfirm>
|
||||
<timeConfirm @cancelTimeConfirm="cancelTimeConfirm" :timeConfirmVisable="timeConfirmVisable"
|
||||
:timeConfirmData="timeConfirmData" @getList="getList" :queryParams="queryParams"></timeConfirm>
|
||||
<!-- 待调解 -->
|
||||
<mediation @cancelMediation="cancelMediation" :mediationVisable="mediationVisable"
|
||||
:mediationData="mediationData" @getList="getList" :queryParams="queryParams" :applicant="applicant">
|
||||
</mediation>
|
||||
<confirmMediation @cancelConfirmTion="cancelConfirmTion" :confirmTionVisable="confirmTionVisable"
|
||||
:confirmTionData="confirmTionData" @getList="getList" :queryParams="queryParams"></confirmMediation>
|
||||
<!-- 归档详情 -->
|
||||
<caseFilingDetailsPage :showarchiveDetails="showarchiveDetails" :caseFilingData="caseFilingData"
|
||||
@cancelDetail="cancelDetail" :detailsAwardNum="detailsAwardNum" :flagLoadingS="flagLoadingS">
|
||||
</caseFilingDetailsPage>
|
||||
<!-- 调解申请书 -->
|
||||
<mediationApplications :mediationAppVisable="mediationAppVisable" @cancelmediationApp="cancelmediationApp"
|
||||
:mediationLise="mediationLise"></mediationApplications>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { caseApplicationList, caseApplicationSelectById,submitCaseApply,selectPaymentDetail,sealApply,selectSealUrl } from '@/api/caseManagement/caseManagement.js'
|
||||
import { listDept } from '@/api/system/dept.js'
|
||||
import {
|
||||
caseApplicationList,
|
||||
caseApplicationSelectById,
|
||||
submitCaseApply,
|
||||
selectPaymentDetail,
|
||||
sealApply,
|
||||
selectSealUrl,
|
||||
listCaseLogRecord,
|
||||
msCaseFile,
|
||||
msCaseSign,
|
||||
listDeptApplied,
|
||||
msCaseSignUrlApplyPC,
|
||||
} from "@/api/caseManagement/caseManagement.js";
|
||||
import { listDept } from "@/api/system/dept.js";
|
||||
import { queryCaseFlowInfo } from "@/api/caseprocessManagement/caseprocessManagement.js";
|
||||
import moment from "moment";
|
||||
import addCase from './components/addCase.vue'
|
||||
import evidenceDialog from './components/evidenceDialog.vue';
|
||||
import caseCompressionPackage from './components/caseCompressionPackage.vue';
|
||||
import mediationCaseDetails from './components/mediationCaseDetails.vue'
|
||||
import mediationCaseLog from './components/mediationCaseLog.vue'
|
||||
import addCase from "./components/addCase.vue";
|
||||
import evidenceDialog from "./components/evidenceDialog.vue";
|
||||
import caseCompressionPackage from "./components/caseCompressionPackage.vue";
|
||||
import mediationCaseDetails from "./components/mediationCaseDetails.vue";
|
||||
import mediationCaseLog from "./components/mediationCaseLog.vue";
|
||||
import payDialog from "./components/payDialog.vue";
|
||||
import paymentdetailsDialog from './components/paymentdetailsDialog.vue'
|
||||
import caseAcceptance from './components/caseAcceptance.vue'
|
||||
import selectMediator from './components/selectMediator.vue'
|
||||
import confirmMediator from './components/confirmMediator.vue'
|
||||
import departmentMediator from './components/departmentMediator.vue'
|
||||
import timeConfirm from './components/timeConfirm.vue'
|
||||
import respondentPay from "./components/respondentPay.vue";
|
||||
import paymentdetailsDialog from "./components/paymentdetailsDialog.vue";
|
||||
import caseAcceptance from "./components/caseAcceptance.vue";
|
||||
import selectMediator from "./components/selectMediator.vue";
|
||||
import confirmMediator from "./components/confirmMediator.vue";
|
||||
import departmentMediator from "./components/departmentMediator.vue";
|
||||
import timeConfirm from "./components/timeConfirm.vue";
|
||||
import mediation from "./components/mediation.vue";
|
||||
import confirmMediation from "./components/confirmMediation.vue";
|
||||
import caseFilingDetailsPage from "./components/caseFilingDetailsPage.vue";
|
||||
import mediationApplications from "./components/mediationApplications.vue"
|
||||
export default {
|
||||
name: "caseList",
|
||||
dicts: ["case_flow_node"],
|
||||
@@ -148,7 +206,12 @@ export default {
|
||||
selectMediator, //调解员弹窗
|
||||
confirmMediator,
|
||||
departmentMediator,
|
||||
timeConfirm
|
||||
timeConfirm,
|
||||
mediation,
|
||||
confirmMediation,
|
||||
caseFilingDetailsPage,
|
||||
respondentPay,
|
||||
mediationApplications
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
@@ -156,6 +219,7 @@ export default {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
},
|
||||
queryDisable: false,
|
||||
// 遮罩层
|
||||
loading: false,
|
||||
// 总条数
|
||||
@@ -167,45 +231,164 @@ export default {
|
||||
dataList: [],
|
||||
addVisable: false, //新增弹窗
|
||||
openPay: false, //缴费弹框
|
||||
openResPay: false, //被申请人缴费弹窗
|
||||
formPayDetail: {},
|
||||
formResPayDetail: {},
|
||||
payId: null,
|
||||
resPayId: null,
|
||||
payForm: {},
|
||||
resPayForm: {},
|
||||
openCompressedPackages: false, //压缩包导入弹窗
|
||||
processVisable: false, //案件详情
|
||||
showcaseLog: false, //案件日志
|
||||
openDialog: false, //确认缴费和缴费详情
|
||||
detailform: {}, //缴费详情数据
|
||||
evidenceVisable: false, //证据修改弹窗
|
||||
mediationVisable: false, //待调解弹窗
|
||||
mediationAppVisable: false,//调解申请书
|
||||
mediationLise: {},
|
||||
mediationData: {},
|
||||
payTitle: "", //缴费标题
|
||||
resPayTitle: "", //被申请人缴费标题
|
||||
paymentConfirma: {}, //缴费确认
|
||||
showAcceptance: false, //案件受理弹框
|
||||
caseAcceptanceData: {}, //案件受理数据
|
||||
mediatorVisable: false, //选择调解员弹窗
|
||||
timeVisable: false, //预约时间弹窗
|
||||
confirmVisable: false, //确认时间/调解员
|
||||
caseFlowNumber: {}, //案件流程数据
|
||||
caselogDataArr: [], //案件日志数据
|
||||
flagLoading: true, //案件日志弹框loading
|
||||
confirmTionVisable: false, //确认调解书弹窗
|
||||
addModifyData: null, //新增修改传的参数
|
||||
showarchiveDetails: false, //归档详情弹窗
|
||||
detailsAwardNum: {},
|
||||
flagLoadingS: true,
|
||||
formPayDetailAffiliate: {},
|
||||
formResPay: {},
|
||||
mediatorData: {},
|
||||
flag: null,
|
||||
caseData: {},
|
||||
evidenceData: {},
|
||||
caseDisabled: false,
|
||||
caseTime: '',
|
||||
caseTime: "",
|
||||
deptList: [],
|
||||
payTitle: '',
|
||||
payTitle: "",
|
||||
tabFlag: false,
|
||||
confirmData: {},
|
||||
departmentVisable: false,
|
||||
departmentData: {},
|
||||
timeConfirmVisable: false,
|
||||
timeConfirmData:{}
|
||||
timeConfirmData: {},
|
||||
confirmTionData: {},
|
||||
buttonList: [],
|
||||
caseStausArr: [], //案件状态
|
||||
isapplicant: true, //判断角色申请人或非申请人
|
||||
caseFilingData: {},
|
||||
applicant: ""
|
||||
};
|
||||
},
|
||||
created() {
|
||||
// this.queryParams.caseNum = this.$route.query.caseNum;
|
||||
this.$set(this.queryParams, "caseNum", this.$route.query.caseNum);
|
||||
console.log(this.$route.query)
|
||||
if (this.$route.query.token) {
|
||||
this.queryDisable = true;
|
||||
} else {
|
||||
this.queryDisable = false;
|
||||
}
|
||||
// this.getList(this.queryParams);
|
||||
this.listDeptFn();
|
||||
// this.getButtonList()
|
||||
queryCaseFlowInfo({
|
||||
pageNum: 1,
|
||||
pageSize: 100000,
|
||||
}).then((res) => {
|
||||
res.rows.forEach((item) => {
|
||||
if (item.id != 17) {
|
||||
this.buttonList.push(item);
|
||||
}
|
||||
this.caseStausArr.push(item);
|
||||
});
|
||||
// if (this.$route.query.caseFlowId) {
|
||||
// let querydata = Number(this.$route.query.caseFlowId);
|
||||
// if (querydata > 0) {
|
||||
// this.$set(this.queryParams, 'caseFlowId', querydata)
|
||||
// }
|
||||
// }
|
||||
// this.getList(this.queryParams);
|
||||
});
|
||||
if (this.$route.query.caseFlowId) {
|
||||
let querydata = Number(this.$route.query.caseFlowId);
|
||||
if (querydata > 0) {
|
||||
this.$set(this.queryParams, 'caseFlowId', querydata)
|
||||
}
|
||||
}
|
||||
this.getList(this.queryParams);
|
||||
this.listDeptFn()
|
||||
},
|
||||
methods: {
|
||||
/**所有按钮事件 */
|
||||
caseClick(val, type) {
|
||||
if (type == 1) {
|
||||
// 提交案件
|
||||
this.onsubmitRow(val);
|
||||
} else if (type == 2) {
|
||||
// 缴费
|
||||
this.payStatus(val);
|
||||
} else if (type == 3 || type == 45) {
|
||||
// 确认缴费
|
||||
this.paymentconfirmationRow(val, type);
|
||||
} else if (type == 4) {
|
||||
// 受理分配
|
||||
this.caseAccep(val);
|
||||
} else if (type == 5) {
|
||||
// 选择调解员
|
||||
this.selectMediator(val);
|
||||
} else if (type == 6) {
|
||||
// 核实调解员
|
||||
this.secretaryConfirm(val);
|
||||
} else if (type == 7) {
|
||||
// 确认调解员
|
||||
this.department(val);
|
||||
} else if (type == 8) {
|
||||
// 确定调解时间
|
||||
this.timeConfirm(val);
|
||||
} else if (type == 9) {
|
||||
// 调解
|
||||
this.mediationClick(val);
|
||||
} else if (type == 10) {
|
||||
// 确认调解书
|
||||
this.confirmMediation(val);
|
||||
} else if (type == 11) {
|
||||
// 签名
|
||||
this.msCaseSignUrlApplyPCFn(val);
|
||||
} else if (type == 12) {
|
||||
// 用印申请
|
||||
this.consultantApplica(val);
|
||||
} else if (type == 13) {
|
||||
// 用印
|
||||
this.departmentApplica(val);
|
||||
} else if (type == 14) {
|
||||
// 归档
|
||||
this.caseFiling(val);
|
||||
} else if (type == 15) {
|
||||
// 申请人签收
|
||||
this.signMediation(val);
|
||||
} else if (type == 16) {
|
||||
// 被申请人签收
|
||||
this.receivedMediation(val);
|
||||
} else if (type == 17) {
|
||||
//结束
|
||||
} else if (type == 44) {
|
||||
// 被申请人缴费
|
||||
this.resPayStatus(val);
|
||||
}
|
||||
},
|
||||
/**查询按钮列表 */
|
||||
getButtonList() { },
|
||||
/** 新增案件 */
|
||||
addCase() {
|
||||
this.addModifyData = 1;
|
||||
this.addVisable = true;
|
||||
this.caseData = {};
|
||||
this.caseDisabled = false;
|
||||
@@ -213,16 +396,18 @@ export default {
|
||||
},
|
||||
/** 查看详情 */
|
||||
checkDetail(val) {
|
||||
this.addModifyData = 2;
|
||||
this.addVisable = true;
|
||||
this.caseData = val;
|
||||
this.caseData.flag = 1;
|
||||
this.caseDisabled = true;
|
||||
this.tabFlag = true;
|
||||
},
|
||||
/** 修改案件 */
|
||||
eidtNodeprocess(row) {
|
||||
this.addModifyData = 3;
|
||||
this.addVisable = true;
|
||||
this.caseData = row;
|
||||
this.$set(this.caseData, "flag", 2);
|
||||
this.caseDisabled = false;
|
||||
this.tabFlag = false;
|
||||
},
|
||||
@@ -233,23 +418,46 @@ export default {
|
||||
/** 缴费 */
|
||||
payStatus(val) {
|
||||
this.getDetail({ id: val.id });
|
||||
this.payTitle = "缴费";
|
||||
this.payTitle = "申请人缴费";
|
||||
this.payId = val.id;
|
||||
this.openPay = true;
|
||||
},
|
||||
/** 被申请人缴费 */
|
||||
resPayStatus(val) {
|
||||
this.getResDetail({ id: val.id });
|
||||
this.resPayTitle = "被申请人缴费";
|
||||
this.resPayId = val.id;
|
||||
this.openResPay = true;
|
||||
},
|
||||
/** 列表提交立案 */
|
||||
onsubmitRow(row) {
|
||||
this.$modal
|
||||
.confirm("是否提交立案申请?")
|
||||
.confirm("是否提交调解申请?")
|
||||
.then(function () {
|
||||
return submitCaseApply({ id: row.id, caseFlowId: row.caseFlowId });
|
||||
})
|
||||
.then(() => {
|
||||
this.getList(this.queryParams);
|
||||
this.$modal.msgSuccess("立案申请成功");
|
||||
this.$modal.msgSuccess("调解申请成功");
|
||||
})
|
||||
.catch(() => { });
|
||||
},
|
||||
/** 签名 */
|
||||
msCaseSignUrlApplyPCFn(row) {
|
||||
// this.$modal
|
||||
// .confirm("是否")
|
||||
// .then(function () {
|
||||
// return msCaseSignUrlApplyPC({ caseId: row.id });
|
||||
// })
|
||||
// .then(() => {
|
||||
// this.getList(this.queryParams);
|
||||
// this.$modal.msgSuccess("立案申请成功");
|
||||
// })
|
||||
// .catch(() => { });
|
||||
msCaseSignUrlApplyPC({ caseId: row.id }).then((res) => {
|
||||
window.open(res.data.sealUrl);
|
||||
});
|
||||
},
|
||||
/** 选择调解员 */
|
||||
selectMediator(val) {
|
||||
this.mediatorVisable = true;
|
||||
@@ -259,13 +467,45 @@ export default {
|
||||
selectTime(val) {
|
||||
this.timeVisable = true;
|
||||
},
|
||||
/** 调解 */
|
||||
mediationClick(val) {
|
||||
this.mediationVisable = true;
|
||||
this.mediationData = val;
|
||||
this.applicant = val.applicationName;
|
||||
},
|
||||
/** 确认调解书 */
|
||||
confirmMediation(val) {
|
||||
this.confirmTionVisable = true;
|
||||
this.confirmTionData = val;
|
||||
},
|
||||
getDetail(parms) {
|
||||
caseApplicationSelectById(parms).then((res) => {
|
||||
this.formPayDetail = res.data;
|
||||
this.formPayDetailAffiliate = res.data.affiliate;
|
||||
let applicantStr = '';
|
||||
let resStr = '';
|
||||
applicantStr = this.formPayDetailAffiliate.applicant.map(item => item.applicant.name).join(',');
|
||||
resStr = this.formPayDetailAffiliate.res.map(item => item.res.name).join(',');
|
||||
this.formPayDetailAffiliate.applicationName = applicantStr;
|
||||
this.formPayDetailAffiliate.respondentName = resStr;
|
||||
this.payForm.feePayable = res.data.feePayable;
|
||||
this.payForm.caseId = res.data.id;
|
||||
});
|
||||
},
|
||||
getResDetail(parms) {
|
||||
caseApplicationSelectById(parms).then((res) => {
|
||||
this.formResPayDetail = res.data;
|
||||
this.formResPay = res.data.affiliate;
|
||||
let applicantStr = '';
|
||||
let resStr = '';
|
||||
applicantStr = this.formResPay.applicant.map(item => item.applicant.name).join(',');
|
||||
resStr = this.formResPay.res.map(item => item.res.name).join(',');
|
||||
this.formResPay.applicationName = applicantStr;
|
||||
this.formResPay.respondentName = resStr;
|
||||
this.resPayForm.feePayable = res.data.feePayable;
|
||||
this.resPayForm.caseId = res.data.id;
|
||||
});
|
||||
},
|
||||
/** 确认调解员 */
|
||||
secretaryConfirm(val) {
|
||||
this.confirmVisable = true;
|
||||
@@ -284,23 +524,22 @@ export default {
|
||||
/** 时间改变处理 */
|
||||
caseTimeChange() {
|
||||
if (this.caseTime) {
|
||||
this.queryParams.startTime = moment(
|
||||
this.caseTime[0]
|
||||
).format("YYYY-MM-DD HH:mm:ss");
|
||||
this.queryParams.endTime = moment(
|
||||
this.caseTime[1]
|
||||
).format("YYYY-MM-DD HH:mm:ss");
|
||||
this.queryParams.startTime = moment(this.caseTime[0]).format(
|
||||
"YYYY-MM-DD HH:mm:ss"
|
||||
);
|
||||
this.queryParams.endTime = moment(this.caseTime[1]).format(
|
||||
"YYYY-MM-DD HH:mm:ss"
|
||||
);
|
||||
} else {
|
||||
this.queryParams.startTime = '';
|
||||
this.queryParams.endTime = '';
|
||||
this.queryParams.startTime = "";
|
||||
this.queryParams.endTime = "";
|
||||
}
|
||||
|
||||
},
|
||||
/** 获取所有部门 */
|
||||
listDeptFn() {
|
||||
listDept().then(res => {
|
||||
listDeptApplied().then((res) => {
|
||||
this.deptList = res.data;
|
||||
})
|
||||
});
|
||||
},
|
||||
/** 修改证据 */
|
||||
evidenceUpload(row) {
|
||||
@@ -323,6 +562,10 @@ export default {
|
||||
paycancelRow(row) {
|
||||
this.openPay = false;
|
||||
},
|
||||
/**被申请人取消缴费*/
|
||||
paycancelRes(row) {
|
||||
this.openResPay = false;
|
||||
},
|
||||
/** 取消调解员弹窗 */
|
||||
cancelMediator() {
|
||||
this.mediatorVisable = false;
|
||||
@@ -331,6 +574,17 @@ export default {
|
||||
cancelTime() {
|
||||
this.timeVisable = false;
|
||||
},
|
||||
/**取消调解 */
|
||||
cancelMediation() {
|
||||
this.timeConfirmVisable = false;
|
||||
},
|
||||
/** 取消确认调解弹窗 */
|
||||
cancelConfirmTion() {
|
||||
this.confirmTionVisable = false;
|
||||
},
|
||||
cancelMediation() {
|
||||
this.mediationVisable = false;
|
||||
},
|
||||
cancelConfirm() {
|
||||
this.confirmVisable = false;
|
||||
},
|
||||
@@ -357,113 +611,208 @@ export default {
|
||||
this.dataList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
})
|
||||
});
|
||||
},
|
||||
// 法律顾问用印申请
|
||||
consultantApplica(row) {
|
||||
let paramsValue = {
|
||||
caseId: row.id,
|
||||
batchNumber: "",
|
||||
caseFlowId:row.caseFlowId
|
||||
}
|
||||
this.$modal.confirm("你确定要用印申请吗?").then((res) => {
|
||||
sealApply(paramsValue).then(res=>{
|
||||
caseFlowId: row.caseFlowId,
|
||||
};
|
||||
this.$modal
|
||||
.confirm("你确定要用印申请吗?")
|
||||
.then((res) => {
|
||||
sealApply(paramsValue).then((res) => {
|
||||
this.getList(this.queryParams);
|
||||
this.$modal.msgSuccess("用印申请成功");
|
||||
});
|
||||
})
|
||||
}).catch(() => {
|
||||
|
||||
})
|
||||
.catch(() => { });
|
||||
},
|
||||
// 部门长用印申请
|
||||
departmentApplica(row) {
|
||||
this.$modal.confirm("你确定要用印确认吗?").then((res) => {
|
||||
this.$modal
|
||||
.confirm("你确定要用印确认吗?")
|
||||
.then((res) => {
|
||||
let paramsValue = {
|
||||
caseId:row.id
|
||||
}
|
||||
selectSealUrl(paramsValue).then(res=>{
|
||||
window.open(res.data.sealUrl)
|
||||
this.$modal.confirm("你确认用印了吗?").then((res) => {
|
||||
caseId: row.id,
|
||||
};
|
||||
selectSealUrl(paramsValue).then((res) => {
|
||||
window.open(res.data.sealUrl);
|
||||
this.$modal
|
||||
.confirm("你确认用印了吗?")
|
||||
.then((res) => {
|
||||
this.getList(this.queryParams);
|
||||
}).catch(() => {
|
||||
|
||||
})
|
||||
.catch(() => { });
|
||||
});
|
||||
})
|
||||
}).catch(() => {
|
||||
|
||||
})
|
||||
.catch(() => { });
|
||||
},
|
||||
// 案件受理
|
||||
caseAccep(row) {
|
||||
this.caseAcceptanceData = row
|
||||
this.showAcceptance = true
|
||||
this.caseAcceptanceData = row;
|
||||
this.showAcceptance = true;
|
||||
},
|
||||
cancelAcceptance() {
|
||||
this.showAcceptance = false
|
||||
this.showAcceptance = false;
|
||||
},
|
||||
// 缴费确认
|
||||
paymentconfirmationRow(row){
|
||||
this.paymentConfirma = row
|
||||
console.log(this.paymentConfirma)
|
||||
paymentconfirmationRow(row, type) {
|
||||
this.paymentConfirma = row;
|
||||
console.log(this.paymentConfirma);
|
||||
this.paymentDetails({
|
||||
id:row.id
|
||||
})
|
||||
this.openDialog = true
|
||||
this.payTitle = "缴费确认"
|
||||
id: row.id,
|
||||
});
|
||||
this.openDialog = true;
|
||||
this.payTitle = "缴费确认";
|
||||
this.flag = 0;
|
||||
this.detailform = {}
|
||||
this.detailform = {};
|
||||
if (type == 3) {
|
||||
// 申请人
|
||||
this.isapplicant = true;
|
||||
} else {
|
||||
this.isapplicant = false;
|
||||
}
|
||||
},
|
||||
cancelpaymentdetails() {
|
||||
this.openDialog = false
|
||||
this.openDialog = false;
|
||||
},
|
||||
// 查看缴费确认
|
||||
viewpaymentformRow(row) {
|
||||
this.paymentDetails({
|
||||
id:row.id
|
||||
})
|
||||
this.payTitle = "缴费单详情"
|
||||
id: row.id,
|
||||
});
|
||||
this.payTitle = "缴费单详情";
|
||||
this.flag = 1;
|
||||
this.detailform = {}
|
||||
this.openDialog = true
|
||||
this.detailform = {};
|
||||
this.openDialog = true;
|
||||
},
|
||||
// 缴费详情
|
||||
paymentDetails(val) {
|
||||
selectPaymentDetail(val).then(res=>{
|
||||
selectPaymentDetail(val).then((res) => {
|
||||
this.detailform = res.data;
|
||||
})
|
||||
});
|
||||
},
|
||||
//案件流程
|
||||
caseFlow(row) {
|
||||
this.processVisable = true
|
||||
this.caseFlowNumber = row;
|
||||
this.processVisable = true;
|
||||
},
|
||||
cancelViewProcess() {
|
||||
this.processVisable = false
|
||||
this.processVisable = false;
|
||||
},
|
||||
//案件日志
|
||||
caseLog() {
|
||||
this.showcaseLog = true
|
||||
caseLog(row) {
|
||||
this.caseLogNumber = row;
|
||||
this.showcaseLog = true;
|
||||
this.flagLoading = true;
|
||||
listCaseLogRecord({ caseId: row.id }).then((res) => {
|
||||
this.caselogDataArr = res.data;
|
||||
this.flagLoading = false;
|
||||
});
|
||||
},
|
||||
cancelcaseLog() {
|
||||
this.showcaseLog = false
|
||||
this.showcaseLog = false;
|
||||
},
|
||||
// 案件归档
|
||||
caseFiling() {
|
||||
this.$modal.confirm("你确定要案件归档吗?").then((res) => {
|
||||
|
||||
}).catch(() => {
|
||||
|
||||
// 案件送达
|
||||
caseFiling(row) {
|
||||
console.log(row.id);
|
||||
let paramValues = {
|
||||
ids: [row.id],
|
||||
};
|
||||
this.$confirm("你确定要案件送达吗?", "提示", {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning',
|
||||
callback: () => { },
|
||||
beforeClose: (action, ctx, close) => {
|
||||
if (action !== 'confirm') {
|
||||
close();
|
||||
return;
|
||||
}
|
||||
ctx.confirmButtonLoading = true;
|
||||
msCaseFile(paramValues).then((res) => {
|
||||
this.$modal.msgSuccess("案件送达成功");
|
||||
close();
|
||||
this.getList(this.queryParams);
|
||||
}).finally(() => {
|
||||
ctx.confirmButtonLoading = false;
|
||||
})
|
||||
}
|
||||
}).finally(() => { })
|
||||
// .then((res) => {
|
||||
// msCaseFile(paramValues).then((res) => {
|
||||
// this.$modal.msgSuccess("案件送达成功");
|
||||
// this.getList(this.queryParams);
|
||||
// });
|
||||
// })
|
||||
// .catch(() => { });
|
||||
},
|
||||
//签收调解书
|
||||
signMediation() {
|
||||
this.$modal.confirm("你确定要签收调解书吗?").then((res) => {
|
||||
|
||||
}).catch(() => {
|
||||
|
||||
//申请人签收调解书
|
||||
signMediation(row) {
|
||||
this.$modal
|
||||
.confirm("你确定要签收调解书吗?")
|
||||
.then((res) => {
|
||||
this.signingMediationAgreement({ caseId: row.id, isSignApply: 1 });
|
||||
})
|
||||
.catch(() => { });
|
||||
},
|
||||
departmentApplica() {
|
||||
|
||||
//被申请人签收调解书
|
||||
receivedMediation(row) {
|
||||
this.$modal
|
||||
.confirm("你确定要签收调解书吗?")
|
||||
.then((res) => {
|
||||
this.signingMediationAgreement({ caseId: row.id, isSignRespon: 1 });
|
||||
})
|
||||
.catch(() => { });
|
||||
},
|
||||
// 申请人和被申请人签收调解书接口
|
||||
signingMediationAgreement(val) {
|
||||
console.log(val);
|
||||
msCaseSign(val).then((res) => {
|
||||
this.$modal.msgSuccess("签收成功");
|
||||
this.getList(this.queryParams);
|
||||
});
|
||||
},
|
||||
//归档详情
|
||||
caseFilingDetails(val) {
|
||||
this.showarchiveDetails = true;
|
||||
this.caseFilingData = val;
|
||||
let vals = { id: val.id };
|
||||
caseApplicationSelectById(vals).then((res) => {
|
||||
res.data.affiliate.applicant.forEach(item => {
|
||||
if (!item.applicant) {
|
||||
item.applicant = {}
|
||||
}
|
||||
if (!item.applicantAgent) {
|
||||
item.applicantAgent = {}
|
||||
}
|
||||
})
|
||||
res.data.affiliate.res.forEach(item => {
|
||||
if (!item.res) {
|
||||
item.res = {}
|
||||
}
|
||||
if (!item.resAgent) {
|
||||
item.resAgent = {}
|
||||
}
|
||||
})
|
||||
this.detailsAwardNum = res.data;
|
||||
console.log(this.detailsAwardNum);
|
||||
this.flagLoadingS = false;
|
||||
});
|
||||
},
|
||||
cancelDetail() {
|
||||
this.showarchiveDetails = false;
|
||||
},
|
||||
// 调解书
|
||||
mediationApplication(row) {
|
||||
this.mediationLise = row
|
||||
this.mediationAppVisable = true
|
||||
},
|
||||
cancelmediationApp() {
|
||||
this.mediationAppVisable = false
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
@@ -1,31 +1,40 @@
|
||||
<template>
|
||||
<div>
|
||||
<!-- 案件受理 -->
|
||||
<el-dialog
|
||||
title="案件受理"
|
||||
:visible="showAcceptance"
|
||||
@close="cancel"
|
||||
:destroy-on-close="true"
|
||||
center
|
||||
>
|
||||
<el-dialog title="案件受理" :visible="showAcceptance" @close="cancel" :destroy-on-close="true" center>
|
||||
<el-form ref="courtReviewform" :model="courtReviewform">
|
||||
<el-form-item label="调解方式:">
|
||||
<el-radio-group v-model="courtReviewform.mediationMethod">
|
||||
<el-radio :label="1">开庭调解</el-radio>
|
||||
<el-radio :label="2">书面调解</el-radio>
|
||||
<el-form-item label="被申请人是否同意调解:">
|
||||
<el-radio-group v-model="courtReviewform.agreeFlag">
|
||||
<el-radio :label="1">是</el-radio>
|
||||
<el-radio :label="0">否</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="是否纸质送达:">
|
||||
<el-form-item label="调解方式:" v-if="courtReviewform.agreeFlag == 1">
|
||||
<el-radio-group v-model="courtReviewform.mediationMethod">
|
||||
<el-radio :label="1">线上调解</el-radio>
|
||||
<el-radio :label="2">线下调解</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="是否纸质送达:" v-if="courtReviewform.agreeFlag == 1">
|
||||
<el-radio-group v-model="courtReviewform.paperFlag">
|
||||
<el-radio :label="1">是</el-radio>
|
||||
<el-radio :label="0">否</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="是否仲裁确认:">
|
||||
<!-- <el-form-item label="是否仲裁确认:" v-if="courtReviewform.agreeFlag == 1" >
|
||||
<el-radio-group v-model="courtReviewform.arbitrateConfirm">
|
||||
<el-radio :label="1">是</el-radio>
|
||||
<el-radio :label="0">否</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item> -->
|
||||
<el-form-item v-if="courtReviewform.agreeFlag == 0" label="拒绝理由:" prop="rejectReason" :rules="[
|
||||
{
|
||||
required: true,
|
||||
message: '拒绝理由不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
]">
|
||||
<el-input v-model="courtReviewform.rejectReason" type="textarea" :rows="8" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
@@ -46,14 +55,21 @@ export default {
|
||||
courtReviewform: {
|
||||
mediationMethod: 2,
|
||||
paperFlag: 0,
|
||||
arbitrateConfirm:0
|
||||
arbitrateConfirm: 0,
|
||||
agreeFlag: 1
|
||||
},
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
showAcceptance(val) {
|
||||
if (val) {
|
||||
console.log(this.caseAcceptanceData)
|
||||
console.log(this.caseAcceptanceData);
|
||||
this.courtReviewform = {
|
||||
mediationMethod: 2,
|
||||
paperFlag: 0,
|
||||
arbitrateConfirm: 0,
|
||||
agreeFlag: 1
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
@@ -127,6 +143,7 @@ export default {
|
||||
// line-height: 48px;
|
||||
}
|
||||
}
|
||||
|
||||
.nowarbitrator {
|
||||
margin-left: 10%;
|
||||
}
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
</div>
|
||||
</el-upload>
|
||||
</el-form-item>
|
||||
<el-form-item :span="24" label="裁决书模板" prop="templateId">
|
||||
<el-form-item :span="24" label="调解书模板" prop="templateId">
|
||||
<el-select v-model="form.templateId" placeholder="请选择">
|
||||
<el-option v-for="dict in templateList" :key="dict.id" :label="dict.temName" :value="dict.id"></el-option>
|
||||
</el-select>
|
||||
@@ -48,7 +48,7 @@ export default {
|
||||
// { required: true, message: "案件压缩包不能为空", trigger: "blur" },
|
||||
// ],
|
||||
templateId: [
|
||||
{ required: true, message: "裁决书模板不能为空", trigger: "blur" },
|
||||
{ required: true, message: "调解书模板不能为空", trigger: "blur" },
|
||||
],
|
||||
},
|
||||
paramsData:{
|
||||
|
||||
@@ -0,0 +1,881 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-dialog title="归档详情" :visible="showarchiveDetails" @close="cancel" :destroy-on-close="true" center>
|
||||
<div class="loading" v-if="flagLoadingS">
|
||||
<i class="el-icon-loading"></i>
|
||||
</div>
|
||||
<div v-else>
|
||||
<el-tabs v-model="activeName" @tab-click="handleClick">
|
||||
<el-tab-pane label="案件信息" name="five"></el-tab-pane>
|
||||
<el-tab-pane label="申请人案件证据资料" name="first"></el-tab-pane>
|
||||
<!-- <el-tab-pane label="被申请人案件证据资料" name="second"></el-tab-pane> -->
|
||||
<el-tab-pane label="调解书" name="third"></el-tab-pane>
|
||||
<el-tab-pane label="案件视频" name="fourth" v-if="caseFilingData.mediationMethod == '1'"></el-tab-pane>
|
||||
<el-tab-pane label="庭审笔录" name="six" v-if="caseFilingData.mediationMethod == '1'"></el-tab-pane>
|
||||
</el-tabs>
|
||||
<div v-show="activeName == 'first'">
|
||||
|
||||
<div v-for="(item, index) in detailsAwardNum.caseAttachList" :key="index" v-if="item.annexType == 2"
|
||||
style="margin-top:10px;">
|
||||
<el-link target="_blank" type="primary" :href="fileURL + item.annexPath">{{ item.annexName }}</el-link>
|
||||
</div>
|
||||
<el-empty v-if="isNoData(detailsAwardNum.caseAttachList, 2) == 0" description="暂无数据"></el-empty>
|
||||
</div>
|
||||
<!-- <div v-show="activeName=='second'">
|
||||
<div v-for="item in detailsAwardNum.caseAttachList" v-if="item.annexType==6" style="margin-top:10px;">
|
||||
<el-link target="_blank" type="primary" :href="fileURL+item.annexPath">{{item.annexName}}</el-link>
|
||||
</div>
|
||||
<el-empty v-if="isNoData(detailsAwardNum.caseAttachList,6) == 0" description="暂无数据"></el-empty>
|
||||
</div> -->
|
||||
<div v-show="activeName == 'third'">
|
||||
<div v-for="item in detailsAwardNum.caseAttachList" v-if="item.annexType == 7" style="margin-top:10px;">
|
||||
<!-- <el-link target="_blank" type="primary" :href="fileURL + item.annexPath">{{ item.annexName }}</el-link> -->
|
||||
<span>签署前调解书:</span>
|
||||
<div style="color: blue; cursor: pointer" @click="fileDetil(item.onlyOfficeFileId, 2)">
|
||||
{{ item.annexName }}
|
||||
</div>
|
||||
</div>
|
||||
<div v-for="item in detailsAwardNum.caseAttachList" v-if="item.annexType == 13" style="margin-top:10px;">
|
||||
<span>签署后调解书:</span>
|
||||
<div style="color: blue; cursor: pointer" @click="fileDetil(item.annexPath, 1)">
|
||||
{{ item.annexName }}
|
||||
</div>
|
||||
</div>
|
||||
<el-empty v-if="isNoData(detailsAwardNum.caseAttachList, 7) == 0" description="暂无数据"></el-empty>
|
||||
</div>
|
||||
<div v-show="activeName == 'fourth'">
|
||||
<div style="margin-top:10px;" v-for="(item, index) in detailsAwardNum.caseAttachList"
|
||||
v-if="item.annexType == 5">
|
||||
<video style="background-color: #181717;width: 350px;height: 200px;margin: 10px;" :key="index"
|
||||
:src="fileURL + item.annexPath" controls="controls"></video>
|
||||
</div>
|
||||
<el-empty v-if="isNoData(detailsAwardNum.caseAttachList, 5) == 0" description="暂无数据"></el-empty>
|
||||
</div>
|
||||
<div v-show="activeName == 'six'">
|
||||
<div v-for="item in detailsAwardNum.caseAttachList" v-if="item.annexType == 6" style="margin-top:10px;">
|
||||
<el-link target="_blank" type="primary" :href="fileURL + item.annexPath">{{ item.annexName }}</el-link>
|
||||
</div>
|
||||
<el-empty v-if="isNoData(detailsAwardNum.caseAttachList, 6) == 0" description="暂无数据"></el-empty>
|
||||
</div>
|
||||
<div v-show="activeName == 'five'">
|
||||
<el-form :disabled="true" :model="detailsAwardNum" label-width="130px" class="demo-ruleForm">
|
||||
<el-row>
|
||||
<div style="display: inline-flex">
|
||||
<div class="infoIcon"></div>
|
||||
<div class="caseInfo">案件信息:</div>
|
||||
</div>
|
||||
<el-divider></el-divider>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="申请人调解请求" prop="arbitratClaims" :rules="[
|
||||
{
|
||||
required: true,
|
||||
message: '申请人调解请求不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
]">
|
||||
<el-input v-model="detailsAwardNum.arbitratClaims" placeholder="请输入申请人调解诉求" type="textarea"
|
||||
:autosize="{ minRows: 4, maxRows: 8 }" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="事实和理由" prop="facts" :rules="[
|
||||
{
|
||||
required: true,
|
||||
message: '事实和理由不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
]">
|
||||
<el-input v-model="detailsAwardNum.facts" placeholder="请输入事实和理由" type="textarea"
|
||||
:autosize="{ minRows: 4, maxRows: 8 }" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="调解申请书:">
|
||||
<div v-for="(item, index) in detailsAwardNum.caseAttachList" :key="index" v-if="item.annexType == 3">
|
||||
<div style="color: blue; cursor: pointer" @click="fileDetil(item.annexPath, 1)">
|
||||
{{ item.annexName }}
|
||||
</div>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="签署前调解书:">
|
||||
<div v-for="(item, index) in detailsAwardNum.caseAttachList" :key="index" v-if="item.annexType == 7">
|
||||
<div style="color: blue; cursor: pointer" @click="fileDetil(item.onlyOfficeFileId, 2)">
|
||||
{{ item.annexName }}
|
||||
</div>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="签署后调解书:">
|
||||
<div v-for="(item, index) in detailsAwardNum.caseAttachList" :key="index" v-if="item.annexType == 13">
|
||||
<div style="color: blue; cursor: pointer" @click="fileDetil(item.annexPath, 1)">
|
||||
{{ item.annexName }}
|
||||
</div>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="调解结果:">
|
||||
<el-link v-if="detailsAwardNum.mediaResult == 1">达成调解</el-link>
|
||||
<el-link v-if="detailsAwardNum.mediaResult == 2">未达成调解</el-link>
|
||||
<el-link v-if="detailsAwardNum.mediaResult == 3">未达成调解但不在争议</el-link>
|
||||
<el-link v-if="detailsAwardNum.mediaResult == 4">未达成调解但同意引入仲裁</el-link>
|
||||
<el-link v-if="detailsAwardNum.mediaResult == 5">达成和解</el-link>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<div style="display: inline-flex">
|
||||
<div class="infoIcon"></div>
|
||||
<div class="caseInfo">双方信息:</div>
|
||||
</div>
|
||||
<el-divider></el-divider>
|
||||
</el-col>
|
||||
<div class="applicant" v-for="(item, index) in detailsAwardNum.affiliate.applicant" :key="item.key">
|
||||
<el-col :span="24">
|
||||
<div style="display: inline-flex">
|
||||
<div class="infoIcon"></div>
|
||||
<div class="caseInfo">申请人</div>
|
||||
</div>
|
||||
<el-divider></el-divider>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="选择机构或自然人">
|
||||
<el-radio-group v-model="item.applicant.organizeFlag">
|
||||
<el-radio :label="0">自然人</el-radio>
|
||||
<el-radio :label="1">机构</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" v-if="item.applicant.organizeFlag == 1">
|
||||
<el-form-item label="机构名称" :prop="'affiliate.applicant.' + index + '.applicant.name'" :rules="[
|
||||
{
|
||||
required: true,
|
||||
message: '申请机构名称不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
]">
|
||||
<el-input v-model="item.applicant.name" placeholder="请输入申请机构名称" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" v-if="item.applicant.organizeFlag == 0">
|
||||
<el-form-item label="申请人" :prop="'affiliate.applicant.' + index + '.applicant.name'" :rules="[
|
||||
{
|
||||
required: true,
|
||||
message: '申请人名称不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
]">
|
||||
<el-input v-model="item.applicant.name" placeholder="请输入申请人姓名" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" v-if="item.applicant.organizeFlag == 0">
|
||||
<el-form-item label="是否为操作人" :prop="'affiliate.applicant.' + index + '.applicant.operatorFlag'"
|
||||
:rules="[
|
||||
{
|
||||
required: true,
|
||||
message: '请选择是否为操作人',
|
||||
trigger: 'blur',
|
||||
},
|
||||
]">
|
||||
<el-select v-model="item.applicant.operatorFlag" placeholder="请选择" auto-complete="off"
|
||||
style="width: 100%;">
|
||||
<el-option v-for="item in roleTypeList" :key="item.id" :label="item.value" :value="item.id">
|
||||
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" v-if="item.applicant.organizeFlag == 1">
|
||||
<el-form-item label-width="140px" label="统一社会信用代码"
|
||||
:prop="'affiliate.applicant.' + index + '.applicant.code'" :rules="[
|
||||
{
|
||||
required: true,
|
||||
message: '统一社会信用代码不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
]">
|
||||
<el-input v-model="item.applicant.code" placeholder="请输入统一社会信用代码" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item :prop="'affiliate.applicant.' + index + '.applicant.nationality'" label="国籍" :rules="[
|
||||
{
|
||||
required: true,
|
||||
message: '国籍不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
]">
|
||||
<el-select v-model="item.applicant.nationality" placeholder="请选择国籍" auto-complete="off"
|
||||
style="width: 100%;">
|
||||
<el-option v-for="item in nationalityList" :key="item.id" :label="item.value" :value="item.id">
|
||||
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" v-if="item.applicant.organizeFlag == 0">
|
||||
<el-form-item :prop="'affiliate.applicant.' + index + '.applicant.idType'" label="证件类型" :rules="[
|
||||
{
|
||||
required: true,
|
||||
message: '证件类型不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
]">
|
||||
<el-select v-model="item.applicant.idType" placeholder="证件类型" auto-complete="off"
|
||||
style="width: 100%;">
|
||||
<el-option v-for="item in idTypeList" :key="Number(item.dictValue)" :label="item.dictLabel"
|
||||
:value="Number(item.dictValue)">
|
||||
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" v-if="item.applicant.organizeFlag == 0">
|
||||
<el-form-item label="证件号码" :prop="'affiliate.applicant.' + index + '.applicant.idCard'" :rules="[
|
||||
{
|
||||
required: true,
|
||||
message: '证件号码不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
]">
|
||||
<el-input v-model="item.applicant.idCard" placeholder="请输入申请人的证件号码" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" v-if="item.applicant.organizeFlag == 0">
|
||||
<el-form-item label-width="140px" label="出生年月:"
|
||||
:prop="'affiliate.applicant.' + index + '.applicant.birth'">
|
||||
<el-date-picker disabled v-model="item.applicant.birth" type="date" placeholder="申请人出生年月日">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" v-if="item.applicant.organizeFlag == 0">
|
||||
<el-form-item label="性别:" :prop="'affiliate.applicant.' + index + '.applicant.sex'" :rules="[
|
||||
{
|
||||
required: true,
|
||||
message: '请选择性别',
|
||||
},
|
||||
]">
|
||||
<el-radio-group v-model="item.applicant.sex" disabled>
|
||||
<el-radio :label="'0'">男</el-radio>
|
||||
<el-radio :label="'1'">女</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" v-if="item.applicant.organizeFlag == 0">
|
||||
<el-form-item label="邮箱" :prop="'affiliate.applicant.' + index + '.applicant.email'" :rules="[
|
||||
{
|
||||
required: true,
|
||||
message: '申请人邮箱不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
{
|
||||
pattern:
|
||||
/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/,
|
||||
message: '请输入正确的邮箱地址',
|
||||
trigger: 'blur',
|
||||
},
|
||||
]">
|
||||
<el-input v-model="item.applicant.email" placeholder="请输入申请人邮箱" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" v-if="item.applicant.organizeFlag == 0">
|
||||
<el-form-item label="申请人电话" :prop="'affiliate.applicant.' + index + '.applicant.phone'" :rules="detailsAwardNum.affiliate.nationality == 0 ? [
|
||||
{
|
||||
required: true,
|
||||
message: '申请人联系电话不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
{
|
||||
pattern: /^[1][3,4,5,6,7,8,9][0-9]{9}$/,
|
||||
message: '请输入正确的手机号码',
|
||||
trigger: 'blur',
|
||||
},
|
||||
] : []">
|
||||
<el-input v-model="item.applicant.phone" placeholder="请输入申请人联系电话" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" v-if="item.applicant.organizeFlag == 1">
|
||||
<el-form-item label="法定代表人" :prop="'affiliate.applicant.' + index + '.applicant.compLegalPerson'"
|
||||
:rules="[
|
||||
{
|
||||
required: true,
|
||||
message: '法定代表人不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
]">
|
||||
<el-input v-model="item.applicant.compLegalPerson" placeholder="请输入法定代表人" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="申请人住所" :prop="'affiliate.applicant.' + index + '.applicant.home'" :rules="[
|
||||
{
|
||||
required: true,
|
||||
message: '申请人住所不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
]">
|
||||
<el-input v-model="item.applicant.home" placeholder="请输入申请人住所" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="申请人联系地址" :prop="'affiliate.applicant.' + index + '.applicant.address'" :rules="[
|
||||
{
|
||||
required: true,
|
||||
message: '申请人联系地址不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
]">
|
||||
<el-input v-model="item.applicant.address" placeholder="请输入申请人联系地址" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<div style="display: inline-flex">
|
||||
<div class="infoIcon"></div>
|
||||
<div class="caseInfo">申请人代理人</div>
|
||||
</div>
|
||||
<el-divider></el-divider>
|
||||
</el-col>
|
||||
<el-col :span="12" v-if="item.applicant.organizeFlag == 1">
|
||||
<el-form-item label="联系电话" :prop="'affiliate.applicant.' + index + '.applicantAgent.phone'" :rules="[
|
||||
{
|
||||
required: true,
|
||||
message: '代理人联系电话不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
{
|
||||
pattern: /^[1][3,4,5,6,7,8,9][0-9]{9}$/,
|
||||
message: '请输入正确的手机号码',
|
||||
trigger: 'blur',
|
||||
},
|
||||
]">
|
||||
<el-input v-model="item.applicantAgent.phone" placeholder="请输入代理人联系电话" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" v-if="item.applicant.organizeFlag == 0">
|
||||
<el-form-item label="联系电话" :prop="'affiliate.applicant.' + index + '.applicantAgent.phone'">
|
||||
<el-input v-model="item.applicantAgent.phone" placeholder="请输入代理人联系电话" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" v-if="item.applicant.organizeFlag == 1">
|
||||
<el-form-item label="姓名" :prop="'affiliate.applicant.' + index + '.applicantAgent.name'" :rules="[
|
||||
{
|
||||
required: true,
|
||||
message: '代理人姓名不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
]">
|
||||
<el-input v-model="item.applicantAgent.name" placeholder="请输入代理人姓名" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" v-if="item.applicant.organizeFlag == 0">
|
||||
<el-form-item label="姓名" :prop="'affiliate.applicant.' + index + '.applicantAgent.name'">
|
||||
<el-input v-model="item.applicantAgent.name" placeholder="请输入代理人姓名" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" v-if="item.applicant.organizeFlag == 0">
|
||||
<el-form-item label="是否为操作人" :prop="'affiliate.applicant.' + index + '.applicant.operatorFlag'">
|
||||
<el-select v-model="item.applicantAgent.operatorFlag" placeholder="请选择" auto-complete="off"
|
||||
style="width: 100%;">
|
||||
<el-option v-for="item in roleTypeList" :key="item.id" :label="item.value" :value="item.id">
|
||||
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" v-if="item.applicant.organizeFlag == 1">
|
||||
<el-form-item label="邮箱" :prop="'affiliate.applicant.' + index + '.applicantAgent.email'" :rules="[
|
||||
{
|
||||
required: true,
|
||||
message: '代理人邮箱不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
{
|
||||
pattern:
|
||||
/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/,
|
||||
message: '请输入正确的邮箱地址',
|
||||
trigger: 'blur',
|
||||
},
|
||||
]">
|
||||
<el-input v-model="item.applicantAgent.email" placeholder="请输入代理人邮箱" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" v-if="item.applicant.organizeFlag == 0">
|
||||
<el-form-item label="邮箱" :prop="'affiliate.applicant.' + index + '.applicantAgent.email'" :rules="[
|
||||
{
|
||||
pattern:
|
||||
/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/,
|
||||
message: '请输入正确的邮箱地址',
|
||||
trigger: 'blur',
|
||||
},
|
||||
]">
|
||||
<el-input v-model="item.applicantAgent.email" placeholder="请输入代理人邮箱" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</div>
|
||||
<div class="res" v-for="(item, index) in detailsAwardNum.affiliate.res" :key="index">
|
||||
<el-col :span="24">
|
||||
<div style="display: inline-flex">
|
||||
<div class="infoIcon"></div>
|
||||
<div class="caseInfo" style="margin-right: 40px;">被申请人</div>
|
||||
</div>
|
||||
<el-divider></el-divider>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="选择机构或自然人">
|
||||
<el-radio-group v-model="item.res.organizeFlag">
|
||||
<el-radio :label="0">自然人</el-radio>
|
||||
<el-radio :label="1">机构</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" v-if="item.res.organizeFlag == 0">
|
||||
<el-form-item label="被申请人" :prop="'affiliate.res.' + index + '.res.name'" :rules="[
|
||||
{
|
||||
required: true,
|
||||
message: '被申请人姓名不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
]">
|
||||
<el-input v-model="item.res.name" placeholder="请输入被申请人姓名" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" v-if="item.res.organizeFlag == 1">
|
||||
<el-form-item label="机构名称" :prop="'affiliate.res.' + index + '.res.name'" :rules="[
|
||||
{
|
||||
required: true,
|
||||
message: '机构名称不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
]">
|
||||
<el-input v-model="item.res.name" placeholder="请输入机构名称" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" v-if="item.res.organizeFlag == 0">
|
||||
<el-form-item label="是否为操作人" :prop="'affiliate.res.' + index + '.res.operatorFlag'">
|
||||
<el-select v-model="item.res.operatorFlag" placeholder="请选择" auto-complete="off"
|
||||
style="width: 100%;">
|
||||
<el-option v-for="item in roleTypeList" :key="item.id" :label="item.value" :value="item.id">
|
||||
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item :prop="'affiliate.res.' + index + '.res.nationality'" label="国籍" :rules="[
|
||||
{
|
||||
required: true,
|
||||
message: '国籍不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
]">
|
||||
<el-select v-model="item.res.nationality" placeholder="请选择国籍" auto-complete="off"
|
||||
style="width: 100%;">
|
||||
<el-option v-for="item in nationalityList" :key="item.id" :label="item.value" :value="item.id">
|
||||
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" v-if="item.res.organizeFlag == 0">
|
||||
<el-form-item :prop="'affiliate.res.' + index + '.res.idType'" label="证件类型" :rules="[
|
||||
{
|
||||
required: true,
|
||||
message: '证件类型不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
]">
|
||||
<el-select v-model="item.res.idType" placeholder="证件类型" auto-complete="off" style="width: 100%;">
|
||||
<el-option v-for="item in idTypeList" :key="Number(item.dictValue)" :label="item.dictLabel"
|
||||
:value="Number(item.dictValue)">
|
||||
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label-width="140px" label="联系电话" :prop="'affiliate.res.' + index + '.res.phone'" :rules="[
|
||||
{
|
||||
required: true,
|
||||
message: '被申请人联系电话不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
{
|
||||
pattern: /^[1][3,4,5,6,7,8,9][0-9]{9}$/,
|
||||
message: '请输入正确的手机号码',
|
||||
trigger: 'blur',
|
||||
},
|
||||
]">
|
||||
<el-input v-model="item.res.phone" placeholder="请输入被申请人联系电话" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label-width="150px" label="住所" :prop="'affiliate.res.' + index + '.res.home'" :rules="[
|
||||
{
|
||||
required: true,
|
||||
message: '被申请人申请人住所不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
]">
|
||||
<el-input v-model="item.res.home" placeholder="请输入被申请人申请人住所" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="联系地址" :prop="'affiliate.res.' + index + '.res.address'" :rules="[
|
||||
{
|
||||
required: true,
|
||||
message: '联系地址不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
]">
|
||||
<el-input v-model="item.res.address" placeholder="请输入联系地址" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="邮箱" :prop="'affiliate.res.' + index + '.res.email'" :rules="[
|
||||
{
|
||||
required: true,
|
||||
message: '被申请人邮箱不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
{
|
||||
pattern:
|
||||
/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/,
|
||||
message: '请输入正确的邮箱地址',
|
||||
trigger: 'blur',
|
||||
},
|
||||
]">
|
||||
<el-input v-model="item.res.email" placeholder="请输入被申请人邮箱" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label-width="140px" label="身份证号" :prop="'affiliate.res.' + index + '.res.idCard'"
|
||||
:rules="[
|
||||
{
|
||||
required: true,
|
||||
message: '被申请人身份证号不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
{
|
||||
pattern:
|
||||
/^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/,
|
||||
message: '请输入正确的身份证号码',
|
||||
trigger: 'blur',
|
||||
},
|
||||
]">
|
||||
<el-input v-model="item.res.idCard" @blur="handleBlur(index)" placeholder="请输入被申请人身份证号" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" v-if="item.res.organizeFlag == 1">
|
||||
<el-form-item label-width="140px" label="统一社会信用代码" :prop="'affiliate.res.' + index + '.res.code'"
|
||||
:rules="[
|
||||
{
|
||||
required: true,
|
||||
message: '统一社会信用代码不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
]">
|
||||
<el-input v-model="item.res.code" placeholder="请输入统一社会信用代码" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" v-if="item.res.organizeFlag == 1">
|
||||
<el-form-item label="法定代表人" :prop="'affiliate.res.' + index + '.res.compLegalPerson'" :rules="[
|
||||
{
|
||||
required: true,
|
||||
message: '法定代表人不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
]">
|
||||
<el-input v-model="item.res.compLegalPerson" placeholder="请输入法定代表人" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label-width="140px" label="出生年月:" :prop="'affiliate.res.' + index + '.res.birth'">
|
||||
<el-date-picker disabled v-model="item.res.birth" type="date" placeholder="被申请人出生年月日">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="被申请人性别:" :prop="'affiliate.res.' + index + '.res.sex'" :rules="[
|
||||
{
|
||||
required: true,
|
||||
message: '请选择性别',
|
||||
},
|
||||
]">
|
||||
<el-radio-group v-model="item.res.sex" disabled>
|
||||
<el-radio :label="'0'">男</el-radio>
|
||||
<el-radio :label="'1'">女</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<div style="display: inline-flex">
|
||||
<div class="infoIcon"></div>
|
||||
<div class="caseInfo">被申请人代理人</div>
|
||||
</div>
|
||||
<el-divider></el-divider>
|
||||
</el-col>
|
||||
<el-col :span="12" v-if="item.res.organizeFlag == 1">
|
||||
<el-form-item label="联系电话" :prop="'affiliate.res.' + index + '.resAgent.phone'" :rules="[
|
||||
{
|
||||
required: true,
|
||||
message: '代理人联系电话不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
{
|
||||
pattern: /^[1][3,4,5,6,7,8,9][0-9]{9}$/,
|
||||
message: '请输入正确的手机号码',
|
||||
trigger: 'blur',
|
||||
},
|
||||
]">
|
||||
<el-input v-model="item.resAgent.phone" placeholder="请输入代理人联系电话" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" v-if="item.res.organizeFlag == 0">
|
||||
<el-form-item label="联系电话" :prop="'affiliate.res.' + index + '.resAgent.phone'">
|
||||
<el-input v-model="item.resAgent.phone" placeholder="请输入代理人联系电话" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" v-if="item.res.organizeFlag == 1">
|
||||
<el-form-item label="姓名" :prop="'affiliate.res.' + index + '.resAgent.name'" :rules="[
|
||||
{
|
||||
required: true,
|
||||
message: '代理人姓名不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
]">
|
||||
<el-input v-model="item.resAgent.name" placeholder="请输入代理人姓名" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" v-if="item.res.organizeFlag == 0">
|
||||
<el-form-item label="是否为操作人" :prop="'affiliate.res.' + index + '.resAgent.operatorFlag'">
|
||||
<el-select v-model="item.resAgent.operatorFlag" placeholder="请选择" auto-complete="off"
|
||||
style="width: 100%;">
|
||||
<el-option v-for="item in roleTypeList" :key="item.id" :label="item.value" :value="item.id">
|
||||
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" v-if="item.res.organizeFlag == 0">
|
||||
<el-form-item label="姓名" :prop="'affiliate.res.' + index + '.resAgent.name'">
|
||||
<el-input v-model="item.resAgent.name" placeholder="请输入代理人姓名" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" v-if="item.res.organizeFlag == 1">
|
||||
<el-form-item label="邮箱" :prop="'affiliate.res.' + index + '.resAgent.email'" :rules="[
|
||||
{
|
||||
required: true,
|
||||
message: '代理人邮箱不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
{
|
||||
pattern:
|
||||
/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/,
|
||||
message: '请输入正确的邮箱地址',
|
||||
trigger: 'blur',
|
||||
},
|
||||
]">
|
||||
<el-input v-model="item.resAgent.email" placeholder="请输入代理人邮箱" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" v-if="item.res.organizeFlag == 0">
|
||||
<el-form-item label="邮箱" :prop="'affiliate.res.' + index + '.resAgent.email'" :rules="[
|
||||
{
|
||||
pattern:
|
||||
/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/,
|
||||
message: '请输入正确的邮箱地址',
|
||||
trigger: 'blur',
|
||||
},
|
||||
]">
|
||||
<el-input v-model="item.resAgent.email" placeholder="请输入代理人邮箱" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</div>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</div>
|
||||
</div>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { getToken } from "@/utils/auth";
|
||||
import {
|
||||
caseApplicationSelectById,
|
||||
getIdType
|
||||
} from "@/api/caseManagement/caseManagement.js";
|
||||
export default {
|
||||
props: ["showarchiveDetails", "detailsAwardNum", "videoList", "flagLoadingS", "trialTranscripts", "caseFilingData"],
|
||||
components: {
|
||||
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
activeName: 'five',
|
||||
fileURL: window.location.origin + "/API",
|
||||
noData: false,
|
||||
filedata: {
|
||||
annexType: 2,
|
||||
},
|
||||
fileList: [],
|
||||
headers: {
|
||||
Authorization: "Bearer " + getToken(),
|
||||
},
|
||||
showEvidence: false,
|
||||
showmediate: false,
|
||||
showConciliation: false,
|
||||
roleTypeList: [
|
||||
{
|
||||
value: '否',
|
||||
id: 0
|
||||
},
|
||||
{
|
||||
value: '是',
|
||||
id: 1
|
||||
}
|
||||
],
|
||||
nationalityList: [
|
||||
{
|
||||
value: '境内',
|
||||
id: 0
|
||||
},
|
||||
{
|
||||
value: '境外',
|
||||
id: 1
|
||||
}
|
||||
],
|
||||
idTypeList: [
|
||||
|
||||
]
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
showarchiveDetails: {
|
||||
handler(val) {
|
||||
if (val) {
|
||||
this.getIdTypeFn();
|
||||
this.activeName = 'five'
|
||||
this.caseApplicationSelectByIdFn(this.caseFilingData.id)
|
||||
this.showEvidence = false,
|
||||
this.showmediate = false,
|
||||
this.showConciliation = false
|
||||
// this.detailsAwardNum.affiliate.respondentSex = Number(this.detailsAwardNum.affiliate.respondentSex)
|
||||
}
|
||||
},
|
||||
},
|
||||
|
||||
},
|
||||
created() {
|
||||
|
||||
},
|
||||
methods: {
|
||||
isNoData(data, type) {
|
||||
let resNumber = 0
|
||||
if (data) {
|
||||
let list = data.filter(item => item.annexType == type)
|
||||
if (list) {
|
||||
resNumber = list.length
|
||||
}
|
||||
}
|
||||
return resNumber
|
||||
},
|
||||
/** 获取证件类型 */
|
||||
getIdTypeFn() {
|
||||
getIdType().then(res => {
|
||||
this.idTypeList = res.data;
|
||||
})
|
||||
},
|
||||
/** 根据案件id获取对应信息 */
|
||||
caseApplicationSelectByIdFn(data) {
|
||||
caseApplicationSelectById({ id: data }).then((res) => {
|
||||
res.data.caseAttachList.forEach(item => {
|
||||
if (item.annexType == 2) {
|
||||
this.showmediate = true
|
||||
} else if (item.annexType == 3) {
|
||||
this.showEvidence = true
|
||||
} else if (item.annexType == 7) {
|
||||
this.showConciliation = true
|
||||
}
|
||||
});
|
||||
});
|
||||
},
|
||||
/** 查看证据 */
|
||||
fileDetil(val, flag) {
|
||||
if (flag == 1) {
|
||||
window.open(this.fileURL + val);
|
||||
} else if (flag == 2) {
|
||||
this.$router.push({ path: '/onlyoffice', query: { id: val, flag: 0 } })
|
||||
}
|
||||
|
||||
},
|
||||
/** 文件上传地址 */
|
||||
UploadUrl() {
|
||||
return window.location.origin + "/API/common/upload";
|
||||
},
|
||||
/**文件上传成功*/
|
||||
handlSuccess(res, file) {
|
||||
this.detailsAwardNum.caseAttachList.push({
|
||||
annexId: res.annexId,
|
||||
});
|
||||
},
|
||||
/**文件超出个数限制时的钩子*/
|
||||
handleExceed(files, fileList) {
|
||||
this.$message.warning(
|
||||
`当前限制选择 3 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length
|
||||
} 个文件`
|
||||
);
|
||||
},
|
||||
// 删除文件之前的钩子,参数为上传的文件和文件列表,若返回 false 或者返回 Promise 且被 reject,则停止删除。
|
||||
beforeRemove(file, fileList) {
|
||||
return this.$confirm(`确定移除 ${file.name}?`);
|
||||
},
|
||||
handleRemove(file, fileList) {
|
||||
this.caseAttachListArr = this.caseAttachListArr.filter(
|
||||
(item) => item.annexId != file.annexId
|
||||
);
|
||||
},
|
||||
handlePreview(file) {
|
||||
window.open(
|
||||
window.location.origin + "/API" + file.certificatePath,
|
||||
"_blank"
|
||||
);
|
||||
},
|
||||
handleClick(tab, event) {
|
||||
|
||||
},
|
||||
|
||||
cancel() {
|
||||
this.$emit("cancelDetail");
|
||||
},
|
||||
},
|
||||
}
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
::v-deep .el-dialog__body {
|
||||
height: 500px !important;
|
||||
overflow: auto !important;
|
||||
}
|
||||
|
||||
::v-deep .el-dialog {
|
||||
width: 925px;
|
||||
background: #ffffff;
|
||||
border-radius: 20px;
|
||||
}
|
||||
|
||||
.loading {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
|
||||
.el-icon-loading {
|
||||
font-size: 50px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,242 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-dialog
|
||||
title="确认调解书"
|
||||
v-if="confirmTionVisable"
|
||||
:visible="confirmTionVisable"
|
||||
@close="cancel"
|
||||
width="800px"
|
||||
append-to-body
|
||||
:destroy-on-close="true"
|
||||
center
|
||||
>
|
||||
<el-form ref="form" :model="formData" label-width="180px">
|
||||
<div class="caseInfo">案件信息:</div>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="案件编号:" prop="caseNum">
|
||||
<el-input v-model="formData.caseNum" placeholder="请输入案件编号" :disabled="true" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="申请人:" prop="affiliate.applicationName">
|
||||
<el-input v-model="formData.affiliate.applicationName" :disabled="true" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="被申请人:" prop="respondentName">
|
||||
<el-input v-model="formData.affiliate.respondentName" :disabled="true" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="案件标的:" prop="caseSubjectAmount">
|
||||
<el-input
|
||||
v-model="formData.caseSubjectAmount"
|
||||
placeholder="请输入案件标的"
|
||||
:disabled="true"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="调解费用:" prop="feePayable">
|
||||
<el-input v-model="formData.feePayable" placeholder="请输入仲裁费用" :disabled="true" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="调解员:" prop="mediatorName">
|
||||
<el-input v-model="formData.mediatorName" placeholder="请输入" :disabled="true" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="调解书:">
|
||||
<div v-for="(item, index) in formData.caseAttachList" :key="index" v-if="item.annexType==7">
|
||||
<div style="color: blue;cursor: pointer;" @click="fileDetil(item.annexPath)">{{
|
||||
item.annexName }}</div>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="是否和解:" prop="isReconci">
|
||||
<el-radio-group v-model="isReconci">
|
||||
<el-radio :label="1">是</el-radio>
|
||||
<el-radio :label="0">否</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<div class="payupload">
|
||||
<span>上传修改后调解书</span>
|
||||
<div class="uploadBtn">
|
||||
<el-upload
|
||||
class="upload-demo"
|
||||
ref="upload"
|
||||
:action="UploadUrl()"
|
||||
:headers="headers"
|
||||
:data="filedata"
|
||||
:on-preview="handlePreview"
|
||||
:on-remove="handleRemove"
|
||||
:on-change="beforeUpload"
|
||||
:on-success="handlSuccess"
|
||||
:file-list="fileList"
|
||||
>
|
||||
<el-button slot="trigger" size="small" type="primary">选取文件</el-button>
|
||||
<!-- <el-button style="margin-left: 10px;" size="small" type="success" @click="submitUpload">上传到服务器</el-button> -->
|
||||
<div slot="tip" class="el-upload__tip">只能上传word文件</div>
|
||||
</el-upload>
|
||||
</div>
|
||||
</div>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="cancel" class="endbutton1" round>
|
||||
<span>取 消</span>
|
||||
</el-button>
|
||||
<el-button @click="submitMediator" type="primary" class="endbutton1" round>
|
||||
<span>确 认</span>
|
||||
</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { casePay, confirmPayDig } from "@/api/pay/pay";
|
||||
import { caseApplicationSelectById,confirmMediation } from "@/api/caseManagement/caseManagement.js";
|
||||
import { getToken } from "@/utils/auth";
|
||||
export default {
|
||||
props: ["confirmTionVisable", "queryParams", "confirmTionData"],
|
||||
data() {
|
||||
return {
|
||||
fileList: [],
|
||||
formData: {
|
||||
affiliate: {},
|
||||
|
||||
},
|
||||
isReconci:0,
|
||||
fileURL: window.location.origin + "/API",
|
||||
annexId:null,
|
||||
headers: {
|
||||
Authorization: "Bearer " + getToken()
|
||||
},
|
||||
filedata: {
|
||||
annexType: 7
|
||||
}
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
/** 获取案件详情信息 */
|
||||
caseApplicationSelectByIdFn(data) {
|
||||
caseApplicationSelectById(data).then(res => {
|
||||
this.formData = res.data;
|
||||
});
|
||||
},
|
||||
/** 查看申请书 */
|
||||
fileDetil(val) {
|
||||
window.open(this.fileURL + val)
|
||||
},
|
||||
UploadUrl() {
|
||||
return window.location.origin + "/API/common/upload";
|
||||
},
|
||||
beforeUpload(flie, fileList) {
|
||||
this.fileList = fileList;
|
||||
},
|
||||
// 文件上传成功
|
||||
handlSuccess(res, file) {
|
||||
this.annexId = res.annexId;
|
||||
},
|
||||
submitMediator() {
|
||||
confirmMediation({
|
||||
caseAppliId: this.confirmTionData.id,
|
||||
caseFlowId: this.confirmTionData.caseFlowId,
|
||||
annexId: this.annexId,
|
||||
isReconci:this.isReconci,
|
||||
}).then(res => {
|
||||
this.$modal.msgSuccess("成功");
|
||||
this.cancel();
|
||||
this.$emit("getList", this.queryParams);
|
||||
});
|
||||
},
|
||||
handleRemove(file, fileList) {},
|
||||
handlePreview(file) {},
|
||||
cancel() {
|
||||
this.$emit("cancelConfirmTion");
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
confirmTionVisable(val) {
|
||||
if (val) {
|
||||
this.annexId = '';
|
||||
this.caseApplicationSelectByIdFn({
|
||||
id: this.confirmTionData.id
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.payType {
|
||||
height: 80px;
|
||||
line-height: 80px;
|
||||
display: flex;
|
||||
|
||||
.icon-weixinzhifu {
|
||||
font-size: 24px;
|
||||
color: #27a56f;
|
||||
margin-right: 15px;
|
||||
}
|
||||
|
||||
.icon-zhifubao {
|
||||
font-size: 24px;
|
||||
color: #1d76cc;
|
||||
}
|
||||
}
|
||||
|
||||
.paySelectType {
|
||||
margin-top: 20px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.payupload {
|
||||
display: flex;
|
||||
|
||||
.uploadBtn {
|
||||
margin-left: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
.payImg {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.payTitle {
|
||||
margin-top: 20px;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
::v-deep .el-dialog {
|
||||
width: 800px;
|
||||
background: #ffffff;
|
||||
border-radius: 20px;
|
||||
}
|
||||
|
||||
.endbutton {
|
||||
width: 154px;
|
||||
height: 37px;
|
||||
background: #ffffff;
|
||||
border: 1px solid #d0d0d0;
|
||||
border-radius: 19px;
|
||||
|
||||
span {
|
||||
width: 31px;
|
||||
height: 13px;
|
||||
font-size: 16px;
|
||||
font-family: Microsoft YaHei;
|
||||
font-weight: 400;
|
||||
color: #959595;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -1,22 +1,16 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-dialog title="秘书确认调解员" :visible="confirmVisable" v-if="confirmVisable" @close="cancel" center
|
||||
<el-dialog title="核实调解员" :visible="confirmVisable" v-if="confirmVisable" @close="cancel" center
|
||||
:distroy-on-close="true">
|
||||
<div style="margin-bottom: 20px;">
|
||||
<el-radio-group v-model="confirmFlag">
|
||||
<el-radio :label="1">同意</el-radio>
|
||||
<el-radio :label="2">拒绝</el-radio>
|
||||
</el-radio-group>
|
||||
</div>
|
||||
<div>
|
||||
<div>
|
||||
<div style="margin-bottom: 20px;">调解员</div>
|
||||
<div v-if="tableDataFlag">
|
||||
<div style="margin-bottom: 20px;">选择调解员</div>
|
||||
</div>
|
||||
<el-table ref="multipleTable" :data="tableData" tooltip-effect="dark" style="width: 100%"
|
||||
<el-table v-if="tableDataFlag" ref="multipleTable" :data="tableData" tooltip-effect="dark" style="width: 100%"
|
||||
@selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" v-if="!confirmShow">
|
||||
<el-table-column type="selection" width="55">
|
||||
</el-table-column>
|
||||
<el-table-column prop="mediatorName" label="调解员名称">
|
||||
<el-table-column prop="mediatorName" label="调解员">
|
||||
</el-table-column>
|
||||
<el-table-column prop="specialty" label="专业">
|
||||
</el-table-column>
|
||||
@@ -25,24 +19,45 @@
|
||||
<el-table-column prop="completeAmount" label="已办数量">
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<!-- <div>
|
||||
<div style="margin-top: 20px;margin-bottom: 20px;">时间</div>
|
||||
<el-form label-position="right" label-width="80px" :model="formLabelAlign" :disabled="confirmShow">
|
||||
<el-form-item label="时间">
|
||||
<el-date-picker v-model="formLabelAlign.time[0]" type="datetime" placeholder="选择日期时间">
|
||||
</el-date-picker>
|
||||
</el-form-item> -->
|
||||
<!-- 后期需要三个时间 -->
|
||||
<!-- <el-form-item label="时间2">
|
||||
<el-date-picker v-model="formLabelAlign.time[1]" type="datetime" placeholder="选择日期时间">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="时间3">
|
||||
<el-date-picker v-model="formLabelAlign.time[2]" type="datetime" placeholder="选择日期时间">
|
||||
</el-date-picker>
|
||||
</el-form-item> -->
|
||||
<!-- </el-form>
|
||||
</div> -->
|
||||
<div>
|
||||
<div style="margin-bottom: 20px;margin-top: 20px;">当前调解员</div>
|
||||
</div>
|
||||
<el-table ref="multipleTable" :data="tableDataNow" tooltip-effect="dark" style="width: 100%">
|
||||
<el-table-column prop="mediatorName" label="调解员">
|
||||
</el-table-column>
|
||||
<!-- <el-table-column prop="specialty" label="专业">
|
||||
</el-table-column>
|
||||
<el-table-column prop="todoAmount" label="待办数量">
|
||||
</el-table-column>
|
||||
<el-table-column prop="completeAmount" label="已办数量">
|
||||
</el-table-column> -->
|
||||
</el-table>
|
||||
<div>
|
||||
<div style="margin-bottom: 20px;margin-top: 20px;">申请人调解员</div>
|
||||
</div>
|
||||
<el-table ref="multipleTable" :data="applicantTable" tooltip-effect="dark" style="width: 100%">
|
||||
<el-table-column prop="mediatorName" label="调解员">
|
||||
</el-table-column>
|
||||
<!-- <el-table-column prop="specialty" label="专业">
|
||||
</el-table-column>
|
||||
<el-table-column prop="todoAmount" label="待办数量">
|
||||
</el-table-column>
|
||||
<el-table-column prop="completeAmount" label="已办数量">
|
||||
</el-table-column> -->
|
||||
</el-table>
|
||||
<div>
|
||||
<div style="margin-bottom: 20px;margin-top: 20px;">被申请人调解员</div>
|
||||
</div>
|
||||
<el-table ref="multipleTable" :data="respondentTable" tooltip-effect="dark" style="width: 100%">
|
||||
<el-table-column prop="mediatorName" label="调解员">
|
||||
</el-table-column>
|
||||
<!-- <el-table-column prop="specialty" label="专业">
|
||||
</el-table-column>
|
||||
<el-table-column prop="todoAmount" label="待办数量">
|
||||
</el-table-column>
|
||||
<el-table-column prop="completeAmount" label="已办数量">
|
||||
</el-table-column> -->
|
||||
</el-table>
|
||||
</div>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="cancel" class="endbutton1"><span>取 消</span></el-button>
|
||||
@@ -61,37 +76,27 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
tableData: [],
|
||||
tableDataNow: [],
|
||||
applicantTable: [],
|
||||
respondentTable: [],
|
||||
multipleSelection: [],
|
||||
tableDataFlag: true,
|
||||
formLabelAlign: {
|
||||
time: []
|
||||
},
|
||||
formTimeArr: [],
|
||||
mediatorArr: [],
|
||||
confirmFlag: 1,
|
||||
confirmShow: true,
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
confirmVisable(val) {
|
||||
if (val) {
|
||||
this.confirmFlag = 1;
|
||||
this.mediatorArr = [];
|
||||
this.formTimeArr = [];
|
||||
this.selectReservationFn({ id: this.confirmData.id })
|
||||
}
|
||||
},
|
||||
confirmFlag(val) {
|
||||
if (val == 1) {
|
||||
this.confirmShow = true;
|
||||
console.log(this.confirmData.id);
|
||||
this.selectReservationFn({ id: this.confirmData.id })
|
||||
} else {
|
||||
this.confirmShow = false;
|
||||
listMediator().then(res => {
|
||||
listMediator({caseAppliId:this.confirmData.id}).then(res => {
|
||||
this.tableData = res.data;
|
||||
})
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
cancel() {
|
||||
@@ -99,8 +104,15 @@ export default {
|
||||
},
|
||||
selectReservationFn(data) {
|
||||
selectReservation(data).then(res => {
|
||||
this.tableData = res.data.mediatorList;
|
||||
this.formLabelAlign.time[0] = res.data.herDates[0];
|
||||
this.applicantTable = res.data.mediatorList;
|
||||
this.respondentTable = res.data.resMediatorList;
|
||||
this.tableDataNow = [{ mediatorId: res.data.mediatorId, mediatorName: res.data.mediatorName }];
|
||||
|
||||
if (this.tableDataNow[0].mediatorId) {
|
||||
this.tableDataFlag = false;
|
||||
} else {
|
||||
this.tableDataFlag = true;
|
||||
}
|
||||
})
|
||||
},
|
||||
/**核实调解员 */
|
||||
@@ -113,54 +125,62 @@ export default {
|
||||
},
|
||||
/**提交选择结果*/
|
||||
async submitMediator() {
|
||||
if (this.confirmFlag == 1) {
|
||||
let userArr = [];
|
||||
this.tableData.forEach(item => {
|
||||
userArr.push({
|
||||
userId: item.mediatorId,
|
||||
userName: item.mediatorName
|
||||
})
|
||||
})
|
||||
if (this.multipleSelection.length == 0 && this.tableDataNow.length > 0) {
|
||||
this.verifyMediatorFn({
|
||||
id: this.confirmData.id,
|
||||
caseFlowId: this.confirmData.caseFlowId,
|
||||
userList: userArr,
|
||||
// herDates: this.formLabelAlign.time
|
||||
mediatorId: this.tableDataNow[0].mediatorId,
|
||||
mediatorName: this.tableDataNow[0].mediatorName,
|
||||
})
|
||||
} else {
|
||||
if (this.multipleSelection.length > 1) {
|
||||
} else if (this.multipleSelection.length > 0 && !this.tableDataNow[0].mediatorId) {
|
||||
this.verifyMediatorFn({
|
||||
id: this.confirmData.id,
|
||||
caseFlowId: this.confirmData.caseFlowId,
|
||||
mediatorId: this.multipleSelection[0].mediatorId,
|
||||
mediatorName: this.multipleSelection[0].mediatorName,
|
||||
})
|
||||
} else if (this.multipleSelection.length > 1 && !this.tableDataNow[0].mediatorId) {
|
||||
Message.error('最多选择一名调解员');
|
||||
return
|
||||
} else if (this.multipleSelection.length < 1) {
|
||||
Message.error('至少选择一名调解员');
|
||||
return
|
||||
}
|
||||
if (this.formLabelAlign.time.length < 1) {
|
||||
Message.error('至少选择一个时间');
|
||||
return
|
||||
}
|
||||
this.formLabelAlign.time.forEach(item => {
|
||||
item = moment(
|
||||
item
|
||||
).format("YYYY-MM-DD HH:mm:ss");
|
||||
this.formTimeArr.push(item)
|
||||
})
|
||||
this.multipleSelection.forEach(item => {
|
||||
this.mediatorArr.push({
|
||||
userId: item.mediatorId,
|
||||
userName: item.mediatorName
|
||||
})
|
||||
})
|
||||
this.verifyMediatorFn({
|
||||
id: this.confirmData.id,
|
||||
caseFlowId: this.confirmData.caseFlowId,
|
||||
userList: this.mediatorArr,
|
||||
// herDates: this.formLabelAlign.time
|
||||
})
|
||||
}
|
||||
// if (this.confirmFlag == 1) {
|
||||
// let userArr = [];
|
||||
// this.tableData.forEach(item => {
|
||||
// userArr.push({
|
||||
// userId: item.mediatorId,
|
||||
// userName: item.mediatorName
|
||||
// })
|
||||
// })
|
||||
// this.verifyMediatorFn({
|
||||
// id: this.confirmData.id,
|
||||
// caseFlowId: this.confirmData.caseFlowId,
|
||||
// userList: userArr,
|
||||
// // herDates: this.formLabelAlign.time
|
||||
// })
|
||||
// } else {
|
||||
// if (this.multipleSelection.length > 1) {
|
||||
// Message.error('最多选择一名调解员');
|
||||
// return
|
||||
// } else if (this.multipleSelection.length < 1) {
|
||||
// Message.error('至少选择一名调解员');
|
||||
// return
|
||||
// }
|
||||
// this.multipleSelection.forEach(item => {
|
||||
// this.mediatorArr.push({
|
||||
// userId: item.mediatorId,
|
||||
// userName: item.mediatorName
|
||||
// })
|
||||
// })
|
||||
// this.verifyMediatorFn({
|
||||
// id: this.confirmData.id,
|
||||
// caseFlowId: this.confirmData.caseFlowId,
|
||||
// userList: this.mediatorArr,
|
||||
// })
|
||||
// }
|
||||
},
|
||||
handleSelectionChange(val) {
|
||||
this.multipleSelection = val;
|
||||
console.log(val, "PPPPPPPPPPPPPPPPPPPP");
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
@@ -2,21 +2,17 @@
|
||||
<div>
|
||||
<el-dialog title="部门长确认调解员" :visible="departmentVisable" v-if="departmentVisable" @close="cancel" center
|
||||
:distroy-on-close="true">
|
||||
<div style="margin-bottom: 20px;">
|
||||
<el-radio-group v-model="confirmFlag">
|
||||
<el-radio :label="1">同意</el-radio>
|
||||
<el-radio :label="2">拒绝</el-radio>
|
||||
</el-radio-group>
|
||||
</div>
|
||||
<div>
|
||||
<!-- v-if="tableDataFlag" -->
|
||||
<div>
|
||||
<div style="margin-bottom: 20px;">调解员</div>
|
||||
<div style="margin-bottom: 20px;">选择调解员</div>
|
||||
</div>
|
||||
<!-- v-if="tableDataFlag" -->
|
||||
<el-table ref="multipleTable" :data="tableData" tooltip-effect="dark" style="width: 100%"
|
||||
@selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55" v-if="!confirmShow">
|
||||
<el-table-column type="selection" width="55">
|
||||
</el-table-column>
|
||||
<el-table-column prop="mediatorName" label="调解员名称">
|
||||
<el-table-column prop="mediatorName" label="调解员">
|
||||
</el-table-column>
|
||||
<el-table-column prop="specialty" label="专业">
|
||||
</el-table-column>
|
||||
@@ -25,24 +21,45 @@
|
||||
<el-table-column prop="completeAmount" label="已办数量">
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<!-- <div>
|
||||
<div style="margin-top: 20px;margin-bottom: 20px;">时间</div>
|
||||
<el-form label-position="right" label-width="80px" :model="formLabelAlign" :disabled="confirmShow">
|
||||
<el-form-item label="时间">
|
||||
<el-date-picker v-model="formLabelAlign.time[0]" type="datetime" placeholder="选择日期时间">
|
||||
</el-date-picker>
|
||||
</el-form-item> -->
|
||||
<!-- 后期需要三个时间 -->
|
||||
<!-- <el-form-item label="时间2">
|
||||
<el-date-picker v-model="formLabelAlign.time[1]" type="datetime" placeholder="选择日期时间">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="时间3">
|
||||
<el-date-picker v-model="formLabelAlign.time[2]" type="datetime" placeholder="选择日期时间">
|
||||
</el-date-picker>
|
||||
</el-form-item> -->
|
||||
<!-- </el-form>
|
||||
</div> -->
|
||||
<div>
|
||||
<div style="margin-bottom: 20px;margin-top: 20px;">当前调解员</div>
|
||||
</div>
|
||||
<el-table ref="multipleTable" :data="tableDataNow" tooltip-effect="dark" style="width: 100%">
|
||||
<el-table-column prop="mediatorName" label="调解员">
|
||||
</el-table-column>
|
||||
<!-- <el-table-column prop="specialty" label="专业">
|
||||
</el-table-column>
|
||||
<el-table-column prop="todoAmount" label="待办数量">
|
||||
</el-table-column>
|
||||
<el-table-column prop="completeAmount" label="已办数量">
|
||||
</el-table-column> -->
|
||||
</el-table>
|
||||
<div>
|
||||
<div style="margin-bottom: 20px;margin-top: 20px;">申请人调解员</div>
|
||||
</div>
|
||||
<el-table ref="multipleTable" :data="applicantTable" tooltip-effect="dark" style="width: 100%">
|
||||
<el-table-column prop="mediatorName" label="调解员">
|
||||
</el-table-column>
|
||||
<!-- <el-table-column prop="specialty" label="专业">
|
||||
</el-table-column>
|
||||
<el-table-column prop="todoAmount" label="待办数量">
|
||||
</el-table-column>
|
||||
<el-table-column prop="completeAmount" label="已办数量">
|
||||
</el-table-column> -->
|
||||
</el-table>
|
||||
<div>
|
||||
<div style="margin-bottom: 20px;margin-top: 20px;">被申请人调解员</div>
|
||||
</div>
|
||||
<el-table ref="multipleTable" :data="respondentTable" tooltip-effect="dark" style="width: 100%">
|
||||
<el-table-column prop="mediatorName" label="调解员">
|
||||
</el-table-column>
|
||||
<!-- <el-table-column prop="specialty" label="专业">
|
||||
</el-table-column>
|
||||
<el-table-column prop="todoAmount" label="待办数量">
|
||||
</el-table-column>
|
||||
<el-table-column prop="completeAmount" label="已办数量">
|
||||
</el-table-column> -->
|
||||
</el-table>
|
||||
</div>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="cancel" class="endbutton1"><span>取 消</span></el-button>
|
||||
@@ -54,44 +71,34 @@
|
||||
|
||||
<script>
|
||||
import { Message } from 'element-ui'
|
||||
import { listMediator, selectReservation, verifyMediator } from '@/api/caseManagement/caseManagement.js'
|
||||
import { listMediator, updateBooking, selectReservation, verifyMediator } from '@/api/caseManagement/caseManagement.js'
|
||||
import moment from "moment";
|
||||
export default {
|
||||
props: ["departmentVisable", "departmentData", "queryParams"],
|
||||
data() {
|
||||
return {
|
||||
tableData: [],
|
||||
tableDataNow: [],
|
||||
applicantTable: [],
|
||||
respondentTable: [],
|
||||
multipleSelection: [],
|
||||
tableDataFlag: false,
|
||||
formLabelAlign: {
|
||||
time: []
|
||||
},
|
||||
formTimeArr: [],
|
||||
mediatorArr: [],
|
||||
confirmFlag: 1,
|
||||
confirmShow: true,
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
departmentVisable(val) {
|
||||
if (val) {
|
||||
this.confirmFlag = 1;
|
||||
this.mediatorArr = [];
|
||||
this.formTimeArr = [];
|
||||
this.selectReservationFn({ id: this.departmentData.id })
|
||||
}
|
||||
},
|
||||
confirmFlag(val) {
|
||||
if (val == 1) {
|
||||
this.confirmShow = true;
|
||||
console.log(this.departmentData.id);
|
||||
this.selectReservationFn({ id: this.departmentData.id })
|
||||
} else {
|
||||
this.confirmShow = false;
|
||||
listMediator().then(res => {
|
||||
listMediator({caseAppliId:this.departmentData.id}).then(res => {
|
||||
this.tableData = res.data;
|
||||
})
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
cancel() {
|
||||
@@ -99,8 +106,14 @@ export default {
|
||||
},
|
||||
selectReservationFn(data) {
|
||||
selectReservation(data).then(res => {
|
||||
this.tableData = res.data.mediatorList;
|
||||
this.formLabelAlign.time[0] = res.data.herDates[0];
|
||||
this.applicantTable = res.data.mediatorList;
|
||||
this.respondentTable = res.data.resMediatorList;
|
||||
this.tableDataNow = [{ mediatorId: res.data.mediatorId, mediatorName: res.data.mediatorName }];
|
||||
if (this.tableDataNow.length > 0) {
|
||||
this.tableDataFlag = false;
|
||||
} else {
|
||||
this.tableDataFlag = true;
|
||||
}
|
||||
})
|
||||
},
|
||||
/**核实调解员 */
|
||||
@@ -113,54 +126,37 @@ export default {
|
||||
},
|
||||
/**提交选择结果*/
|
||||
async submitMediator() {
|
||||
if (this.confirmFlag == 1) {
|
||||
let userArr = [];
|
||||
this.tableData.forEach(item => {
|
||||
userArr.push({
|
||||
userId: item.mediatorId,
|
||||
userName: item.mediatorName
|
||||
})
|
||||
})
|
||||
console.log(this.multipleSelection,this.tableDataNow)
|
||||
if (this.multipleSelection.length == 0 && this.tableDataNow.length > 0) {
|
||||
this.verifyMediatorFn({
|
||||
id: this.departmentData.id,
|
||||
caseFlowId: this.departmentData.caseFlowId,
|
||||
userList: userArr,
|
||||
// herDates: this.formLabelAlign.time
|
||||
mediatorId: this.tableDataNow[0].mediatorId,
|
||||
mediatorName: this.tableDataNow[0].mediatorName,
|
||||
})
|
||||
} else {
|
||||
if (this.multipleSelection.length > 1) {
|
||||
} else if (this.multipleSelection.length > 0 && this.tableDataNow.length == 0) {
|
||||
this.verifyMediatorFn({
|
||||
id: this.departmentData.id,
|
||||
caseFlowId: this.departmentData.caseFlowId,
|
||||
mediatorId: this.multipleSelection[0].mediatorId,
|
||||
mediatorName: this.multipleSelection[0].mediatorName,
|
||||
})
|
||||
}else if(this.multipleSelection.length == 1){
|
||||
this.verifyMediatorFn({
|
||||
id: this.departmentData.id,
|
||||
caseFlowId: this.departmentData.caseFlowId,
|
||||
mediatorId: this.multipleSelection[0].mediatorId,
|
||||
mediatorName: this.multipleSelection[0].mediatorName,
|
||||
})
|
||||
// && this.tableDataNow.length == 0
|
||||
}else if (this.multipleSelection.length > 1) {
|
||||
Message.error('最多选择一名调解员');
|
||||
return
|
||||
} else if (this.multipleSelection.length < 1) {
|
||||
Message.error('至少选择一名调解员');
|
||||
return
|
||||
}
|
||||
if (this.formLabelAlign.time.length < 1) {
|
||||
Message.error('至少选择一个时间');
|
||||
return
|
||||
}
|
||||
this.formLabelAlign.time.forEach(item => {
|
||||
item = moment(
|
||||
item
|
||||
).format("YYYY-MM-DD HH:mm:ss");
|
||||
this.formTimeArr.push(item)
|
||||
})
|
||||
this.multipleSelection.forEach(item => {
|
||||
this.mediatorArr.push({
|
||||
userId: item.mediatorId,
|
||||
userName: item.mediatorName
|
||||
})
|
||||
})
|
||||
this.verifyMediatorFn({
|
||||
id: this.departmentData.id,
|
||||
caseFlowId: this.departmentData.caseFlowId,
|
||||
userList: this.mediatorArr,
|
||||
// herDates: this.formLabelAlign.time
|
||||
})
|
||||
}
|
||||
},
|
||||
handleSelectionChange(val) {
|
||||
this.multipleSelection = val;
|
||||
console.log(val, "PPPPPPPPPPPPPPPPPPPP");
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-dialog title="修改证据" :visible="evidenceVisable" @close="cancel" center :distroy-on-close="true">
|
||||
<el-dialog title="上传证据" :visible="evidenceVisable" @close="cancel" center :distroy-on-close="true">
|
||||
<el-descriptions title="案件内容" :column="2" border>
|
||||
<el-descriptions-item label="案件编号">{{ evidenceData.caseNum }}</el-descriptions-item>
|
||||
<el-descriptions-item label="申请人(机构)">{{ evidenceData.applicantName }}</el-descriptions-item>
|
||||
<el-descriptions-item label="案件标的">{{ evidenceData.caseSubjectAmount }}</el-descriptions-item>
|
||||
<el-descriptions-item label="申请人">{{ evidenceData.applicationName }}</el-descriptions-item>
|
||||
<!-- <el-descriptions-item label="案件标的">{{ evidenceData.caseSubjectAmount }}</el-descriptions-item> -->
|
||||
<el-descriptions-item label="案件状态">
|
||||
<el-tag size="small">{{ evidenceData.caseStatusName }}</el-tag>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="仲裁方式">{{ evidenceData.arbitratMethodName }}</el-descriptions-item>
|
||||
<!-- <el-descriptions-item label="仲裁方式">{{ evidenceData.arbitratMethodName }}</el-descriptions-item> -->
|
||||
<el-descriptions-item label="申请人证据">
|
||||
<div style="color: #104fad;cursor:pointer" v-for="(item, index) in fileListData"
|
||||
@click="preview(item.annexPath)" :key="index">
|
||||
@@ -22,8 +22,8 @@
|
||||
</el-upload>
|
||||
</div>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="cancel" class="endbutton1"><span>取 消</span></el-button>
|
||||
<el-button @click="upload" class="endbutton1"><span>点击上传</span></el-button>
|
||||
<el-button @click="cancel" class="endbutton1" round><span>取 消</span></el-button>
|
||||
<el-button @click="upload" class="endbutton1" type="primary" round><span>点击上传</span></el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
|
||||
@@ -0,0 +1,394 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-dialog :title="title" :visible="mediationVisable" @close="cancel" center :distroy-on-close="true"
|
||||
width="1000px">
|
||||
<el-form ref="form" :model="formData" label-width="180px">
|
||||
<div class="caseInfo">案件信息:</div>
|
||||
<el-divider></el-divider>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="案件编号:" prop="caseNum">
|
||||
<el-input v-model="formData.caseNum" placeholder="请输入案件编号" :disabled="true" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="申请人:">
|
||||
<el-input v-model="applicant" :disabled="true" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="被申请人:" prop="respondentName">
|
||||
<el-input v-model="mediationData.respondentName" :disabled="true" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<!-- <el-form-item label="案件标的:" prop="caseSubjectAmount">
|
||||
<el-input v-model="formData.caseSubjectAmount" placeholder="请输入案件标的" :disabled="true" />
|
||||
</el-form-item> -->
|
||||
</el-col>
|
||||
<!-- <el-col :span="12">
|
||||
<el-form-item label="调解费用:" prop="feePayable">
|
||||
<el-input v-model="formData.feePayable" placeholder="请输入仲裁费用" :disabled="true" />
|
||||
</el-form-item>
|
||||
</el-col> -->
|
||||
<el-col :span="12">
|
||||
<el-form-item label="调解员:" prop="mediatorName">
|
||||
<el-input v-model="formData.mediatorName" placeholder="请输入" :disabled="true" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="申请人案件证据:">
|
||||
<div v-if="applicateArr.length == 0">申请人暂未提供证据!</div>
|
||||
<div v-for="(item, index) in applicateArr" :key="index" v-if="item.annexType == 2">
|
||||
<a href="#" @click="toFile2(item.annexPath)" style="color: blue">{{ item.annexName }}</a>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="调解结果:">
|
||||
<el-radio-group v-model="formData.mediaResult" :disabled="!selectRoido" @change="resultsMediation">
|
||||
<el-radio :label="1">达成调解</el-radio>
|
||||
<el-radio :label="2">未达成调解</el-radio>
|
||||
<el-radio :label="3">未达成调解但不在争议</el-radio>
|
||||
<el-radio :label="4">未达成调解但同意引入仲裁</el-radio>
|
||||
<el-radio :label="5">达成和解</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="是否用印申请" v-if="formData.mediaResult == 1 && mediationData.mediationMethod == '1'">
|
||||
<el-radio-group v-model="formData.sealFlag" :disabled="!selectRoido">
|
||||
<el-radio :label="1">是</el-radio>
|
||||
<el-radio :label="0">否</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<!-- <el-col :span="24">
|
||||
<el-form-item label="被申请人案件证据:">
|
||||
<div v-if="quiltArr.length == 0">被申请人暂未提供证据!</div>
|
||||
<div v-for="(item, index) in quiltArr" :key="index">
|
||||
<a href="#" @click="toFile1(item, index)" style="color: blue">{{ item.annexName }}</a>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-col> -->
|
||||
<el-col :span="24" v-if="recordArr.length > 0">
|
||||
<el-form-item label="庭审笔录:">
|
||||
<div v-for="(item, index) in recordArr" :key="index" style="color: blue">
|
||||
<a href="#" @click="toFile2(item.annexPath)">{{ item.annexName }}</a>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="调解书:" v-if="recordArrMediate.length > 0">
|
||||
<div v-for="(item, index) in recordArrMediate" :key="index" style="color: blue">
|
||||
<a href="#" @click="toFileMediate(item.onlyOfficeFileId)">{{ item.annexName }}</a>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24" v-if="mediationType">
|
||||
<el-form-item label="预约会议房间号:">
|
||||
<div>{{ formData.roomId }}</div>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24" v-if="mediationType">
|
||||
<el-form-item label="调解时间:">
|
||||
<div>{{ formData.hearDate }}</div>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<!-- v-if="!mediationType" -->
|
||||
<el-col :span="24">
|
||||
<el-form-item label="上传调解书">
|
||||
<el-upload class="upload-demo" accept=".doc,.docx,.pdf" ref="upload" :action="UploadUrl()"
|
||||
:headers="headers" :data="filedata" :on-preview="handlePreview" :on-remove="handleRemove" :limit="2"
|
||||
:on-change="beforeUpload" :on-success="handlSuccess" :file-list="fileList">
|
||||
<el-button slot="trigger" size="small" :disabled="!isSecretaryRole" type="primary">选取文件</el-button>
|
||||
<!-- <el-button style="margin-left: 10px;" size="small" type="success" @click="submitUpload">上传到服务器</el-button> -->
|
||||
<div slot="tip" class="el-upload__tip">只能上传.doc,docx,pdf文件</div>
|
||||
</el-upload>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<!-- </el-form> -->
|
||||
</el-form>
|
||||
<el-button @click="openmeeting" type="primary" v-if="mediationType">{{ isSecretaryRole ? '发起会议' :
|
||||
'进入会议' }}</el-button>
|
||||
<el-button @click="openArbitrationresults" type="primary"
|
||||
v-if="this.recordArrMediate.length <= 0 && mediationData.mediationMethod == '1' && isSecretaryRole">确认会议结果</el-button>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="cancel" class="endbutton1" round>
|
||||
<span>取 消</span>
|
||||
</el-button>
|
||||
<el-button v-if="isSecretaryRole" :loading="loadingSubmit" @click="submitMediation"
|
||||
:disabled="this.recordArrMediate.length <= 0 && mediationData.mediationMethod == '1' && isSecretaryRole"
|
||||
class="endbutton1" type="primary" round>
|
||||
提 交
|
||||
</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
<!-- hearDate -->
|
||||
<script>
|
||||
import _ from 'lodash'
|
||||
import {
|
||||
caseApplicationSelectById,
|
||||
mediation,
|
||||
confirmMeetingResult,
|
||||
secretaryRoleByUserId
|
||||
} from "@/api/caseManagement/caseManagement.js";
|
||||
import { getUserProfile } from "@/api/system/user";
|
||||
import { reserveConferenceList } from "@/api/metting/metting.js";
|
||||
import { getToken } from "@/utils/auth";
|
||||
export default {
|
||||
props: ["mediationVisable", "mediationData", "queryParams", "applicant"],
|
||||
data() {
|
||||
return {
|
||||
sealFlag: 1,
|
||||
loanStartDate: "",
|
||||
codes: null,
|
||||
title: "线上调解",
|
||||
applicateArr: [],
|
||||
quiltArr: [],
|
||||
recordArr: [],
|
||||
recordArrMediate: [],
|
||||
roomId: null,
|
||||
startTime: null,
|
||||
mediaResult: 1,
|
||||
// isReconci:0,
|
||||
formData: {
|
||||
affiliate: {},
|
||||
mediaResult: 1,
|
||||
sealFlag: 1,
|
||||
},
|
||||
user: "",
|
||||
userId: null,
|
||||
flieList: [],
|
||||
mediationType: true,
|
||||
headers: {
|
||||
Authorization: "Bearer " + getToken(),
|
||||
},
|
||||
filedata: {
|
||||
annexType: 7,
|
||||
isMediaBook: 1,
|
||||
caseId:null
|
||||
},
|
||||
fileList: [],
|
||||
attachList: [],
|
||||
isSecretaryRole: true,
|
||||
loadingSubmit: false,
|
||||
selectRoido: true
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
mediationVisable(val) {
|
||||
this.attachList = [];
|
||||
this.formData.mediaResult = 1;
|
||||
this.formData.sealFlag = 1;
|
||||
this.recordArr = [];
|
||||
this.recordArrMediate = [];
|
||||
if (this.mediationData.mediationMethod == "1") {
|
||||
this.title = "线上调解";
|
||||
this.mediationType = true;
|
||||
} else if (this.mediationData.mediationMethod == "2") {
|
||||
this.title = "线下调解";
|
||||
this.mediationType = false;
|
||||
this.selectRoido = true
|
||||
}
|
||||
if (val) {
|
||||
this.caseApplicationSelectByIdFn({
|
||||
id: this.mediationData.id
|
||||
});
|
||||
this.getUser();
|
||||
}
|
||||
},
|
||||
recordArrMediate(val) {
|
||||
if (val.length >= 1) {
|
||||
this.selectRoido = false;
|
||||
}
|
||||
}
|
||||
},
|
||||
created() { },
|
||||
methods: {
|
||||
// 根据用户id查询是否为调解员
|
||||
secretaryRoleByUserIdFn() {
|
||||
secretaryRoleByUserId({
|
||||
userId: this.userId,
|
||||
caseId: this.mediationData.id
|
||||
}).then(res => {
|
||||
this.isSecretaryRole = res.data.isSecretaryRole;
|
||||
})
|
||||
},
|
||||
/**上传地址*/
|
||||
UploadUrl() {
|
||||
return window.location.origin + "/API/video/upload";
|
||||
},
|
||||
handlePreview(file) {
|
||||
},
|
||||
handleRemove(file, fileList) {
|
||||
let updatedArray = this.attachList.filter(item => item.annexId != file.response.annexId);
|
||||
this.attachList = updatedArray;
|
||||
},
|
||||
beforeUpload(flie, fileList) {
|
||||
this.filedata.caseId = this.mediationData.id
|
||||
|
||||
this.fileList = fileList;
|
||||
},
|
||||
handlSuccess(res, file) {
|
||||
const fileSuccess = [{ annexId: res.annexId, annexType: res.annexType,annexName:res.newFileName,annexPath:res.fileName,onlyOfficeFileId:res.onlyOfficeFileId}]
|
||||
this.codes = res.code
|
||||
this.attachList.push({ annexId: res.annexId, annexType: res.annexType });
|
||||
this.recordArrMediate = fileSuccess;
|
||||
// this.$set(this.mediationData, "attachList", {annexId:res.annexId});
|
||||
},
|
||||
/** 获取案件详情信息 */
|
||||
caseApplicationSelectByIdFn(data) {
|
||||
caseApplicationSelectById(data).then(res => {
|
||||
if (res.data.mediaResult) {
|
||||
this.formData = res.data;
|
||||
} else {
|
||||
this.formData = res.data;
|
||||
this.formData.mediaResult = 1;
|
||||
}
|
||||
if (res.data.sealFlag == 1 || res.data.sealFlag == 0) {
|
||||
this.formData = res.data;
|
||||
} else {
|
||||
this.formData = res.data;
|
||||
this.formData.sealFlag = 1;
|
||||
}
|
||||
this.applicateArr = res.data.caseAttachList;
|
||||
res.data.caseAttachList.forEach(item => {
|
||||
if (item.annexType == 6) {
|
||||
this.recordArr.push(item);
|
||||
} else if (item.annexType == 7) {
|
||||
this.recordArrMediate.push(item);
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
},
|
||||
/** 获取用户信息 */
|
||||
getUser() {
|
||||
getUserProfile().then(response => {
|
||||
this.user = response.data.userName;
|
||||
this.userId = response.data.userId;
|
||||
this.secretaryRoleByUserIdFn();
|
||||
});
|
||||
},
|
||||
/** 发起会议 */
|
||||
openmeeting() {
|
||||
this.mediationVisable = false
|
||||
window.open(
|
||||
// `http://localhost:8080/#/home?name=${this.user}&id=${this.formData.id}&userId=${this.userId}&roomId=${this.formData.roomId}&type=tiaojie&token=${getToken()}`
|
||||
`https://txroom.xayunmei.com/#/home?name=${this.user}&id=${this.formData.id}&userId=${this.userId}&roomId=${this.formData.roomId}&type=tiaojie&token=${getToken()}`
|
||||
);
|
||||
},
|
||||
/**提交仲裁结果 */
|
||||
openArbitrationresults() {
|
||||
this.recordArr = [];
|
||||
caseApplicationSelectById({
|
||||
id: this.mediationData.id
|
||||
}).then(res => {
|
||||
res.data.caseAttachList.forEach(item => {
|
||||
if (item.annexType == 6) {
|
||||
this.recordArr.push(item);
|
||||
}
|
||||
});
|
||||
});
|
||||
confirmMeetingResult({
|
||||
id: this.mediationData.id,
|
||||
caseFlowId: this.mediationData.caseFlowId,
|
||||
batchNumber: "",
|
||||
mediaResult: this.formData.mediaResult,
|
||||
sealFlag: this.formData.sealFlag
|
||||
}).then(res => {
|
||||
caseApplicationSelectById({
|
||||
id: this.mediationData.id
|
||||
}).then(res => {
|
||||
res.data.caseAttachList.forEach(item => {
|
||||
if (item.annexType == 7) {
|
||||
this.recordArrMediate.push(item);
|
||||
}
|
||||
});
|
||||
});
|
||||
})
|
||||
// this.selectRoido = true;
|
||||
},
|
||||
/** 庭审笔录附件 */
|
||||
toFile2(annexPath) {
|
||||
window.open(window.location.origin + "/API" + annexPath, "_black");
|
||||
},
|
||||
toFileMediate(val) {
|
||||
if (this.checkPermi(['caseManagement:list:editOffice'])) {
|
||||
this.$router.push({ path: '/onlyoffice', query: { id: val, flag: 1 } })
|
||||
} else {
|
||||
this.$router.push({ path: '/onlyoffice', query: { id: val, flag: 0 } })
|
||||
}
|
||||
// window.open(window.location.origin + "/API" + annexPath, "_black");
|
||||
},
|
||||
/** 生成调解书 */
|
||||
mediationFn(data) {
|
||||
mediation(data).then(res => {
|
||||
this.$modal.msgSuccess("成功");
|
||||
this.$emit("cancelMediation");
|
||||
this.$emit("getList", this.queryParams);
|
||||
this.loadingSubmit = false;
|
||||
}).catch(err => {
|
||||
this.loadingSubmit = false;
|
||||
});
|
||||
},
|
||||
cancel() {
|
||||
this.$emit("cancelMediation");
|
||||
},
|
||||
|
||||
submitMediation() {
|
||||
if (this.fileList.length < 1 && !this.mediationType && this.mediationData.mediationMethod == "2") {
|
||||
this.$modal.msgError("请上传调解书");
|
||||
return
|
||||
} else {
|
||||
this.loadingSubmit = true;
|
||||
}
|
||||
let mediationVal = {}
|
||||
|
||||
if (this.codes == 200) {
|
||||
if (this.formData.mediaResult != 1) {
|
||||
this.sealFlag = 0
|
||||
}
|
||||
mediationVal = {
|
||||
id: this.mediationData.id,
|
||||
caseFlowId: this.mediationData.caseFlowId,
|
||||
attachList: this.attachList,
|
||||
mediaResult: this.formData.mediaResult,
|
||||
}
|
||||
} else {
|
||||
if (this.formData.mediaResult != 1) {
|
||||
this.sealFlag = 0
|
||||
}
|
||||
mediationVal = {
|
||||
id: this.mediationData.id,
|
||||
caseFlowId: this.mediationData.caseFlowId,
|
||||
sealFlag: this.sealFlag,
|
||||
attachList: this.attachList,
|
||||
mediaResult: this.formData.mediaResult,
|
||||
}
|
||||
}
|
||||
console.log(mediationVal)
|
||||
this.mediationFn(mediationVal);
|
||||
},
|
||||
resultsMediation() {
|
||||
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.steps {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
::v-deep .el-input--medium .el-input__inner {
|
||||
height: 40px;
|
||||
line-height: 40px;
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,131 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-dialog title="调解书" :visible="mediationAppVisable" width="500px" @close="cancel" center
|
||||
:distroy-on-close="true">
|
||||
<div>
|
||||
<div>
|
||||
<span style="font-weight: bold;">下载调解书</span>
|
||||
</div>
|
||||
<div style="margin-top: 10px;">
|
||||
<div style="color: blue; cursor: pointer" v-for="(item, index) in getFileListV"
|
||||
v-if="item.annexType == 7 || item.annexType == 13" @click="downloadApplic(item.annexPath)">{{
|
||||
item.annexName }}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div style="margin-top: 30px;">
|
||||
<div>
|
||||
<span style="font-weight: bold;">上传调解书</span>
|
||||
</div>
|
||||
<div style="margin-top: 10px;">
|
||||
<el-upload class="upload-demo" accept=".doc,.docx,.pdf" ref="upload" :action="UploadUrl()"
|
||||
:headers="headers" :data="filedata" :on-preview="handlePreview" :on-remove="handleRemove"
|
||||
:auto-upload="false" :limit="1" :on-change="beforeUpload" :on-success="handlSuccess"
|
||||
:file-list="fileList">
|
||||
<el-button slot="trigger" size="small" type="primary">选取文件</el-button>
|
||||
<div slot="tip" class="el-upload__tip">只能上传.doc,docx,pdf文件</div>
|
||||
</el-upload>
|
||||
</div>
|
||||
</div>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="cancel" class="endbutton1" round><span>取 消</span></el-button>
|
||||
<el-button @click="submitMediator" class="endbutton1" type="primary" round><span>确 认</span></el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getFileList, meetingUpload } from "@/api/caseManagement/caseManagement.js"
|
||||
import { createRoomId } from '@/api/metting/metting.js'
|
||||
import { getToken } from "@/utils/auth";
|
||||
import moment from "moment";
|
||||
export default {
|
||||
props: ["mediationAppVisable", "mediationLise", "queryParams"],
|
||||
data() {
|
||||
return {
|
||||
getFileListV: [],
|
||||
fileURL: window.location.origin + "/API",
|
||||
fileList: [],
|
||||
headers: {
|
||||
Authorization: "Bearer " + getToken(),
|
||||
},
|
||||
filedata: {
|
||||
isMediaBook:1,
|
||||
annexType: null,
|
||||
caseId: null
|
||||
},
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
mediationAppVisable(val) {
|
||||
this.fileList = []
|
||||
if (val) {
|
||||
let dataValue = {
|
||||
caseAppliId: this.mediationLise.id,
|
||||
}
|
||||
console.log(dataValue)
|
||||
this.getFileListFn(dataValue)
|
||||
}
|
||||
},
|
||||
},
|
||||
|
||||
methods: {
|
||||
/**上传地址*/
|
||||
UploadUrl() {
|
||||
return window.location.origin + "/API/video/upload";
|
||||
},
|
||||
handlePreview(file) {
|
||||
},
|
||||
handleRemove(file, fileList) {
|
||||
|
||||
},
|
||||
beforeUpload(flie, fileList) {
|
||||
function getFileExtension(filename) {
|
||||
const parts = filename.split('.');
|
||||
return parts.length > 1 ? parts.pop() : '';
|
||||
}
|
||||
const extension = getFileExtension(flie.name);
|
||||
if (extension == 'docx' || extension == 'doc') {
|
||||
this.filedata.annexType = 7
|
||||
} else if (extension == 'pdf') {
|
||||
this.filedata.annexType = 7
|
||||
}
|
||||
this.filedata.caseId = this.mediationLise.id
|
||||
this.fileList = fileList;
|
||||
const isLt2M = flie.size / 1024 / 1024 < 50; // 小于50MB
|
||||
if (!isLt2M) {
|
||||
this.$message.error('上传的文件大小不能超过 50MB!');
|
||||
}
|
||||
return isLt2M;
|
||||
},
|
||||
handlSuccess(res, file) {
|
||||
if (res.code == 200) {
|
||||
this.$modal.msgSuccess("上传成功");
|
||||
this.$emit("cancelmediationApp");
|
||||
}
|
||||
},
|
||||
cancel() {
|
||||
this.$emit("cancelmediationApp");
|
||||
},
|
||||
// 获取申请书附件
|
||||
async getFileListFn(vals) {
|
||||
await getFileList(vals).then(res => {
|
||||
this.getFileListV = res.data
|
||||
})
|
||||
},
|
||||
// 下载申请书
|
||||
downloadApplic(val) {
|
||||
window.open(this.fileURL + val);
|
||||
},
|
||||
/**提交选择结果*/
|
||||
async submitMediator() {
|
||||
this.$refs.upload.submit()
|
||||
|
||||
|
||||
},
|
||||
},
|
||||
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped></style>
|
||||
@@ -1,11 +1,13 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-dialog title="案件流程" :visible="processVisable" @close="cancel" center :distroy-on-close="true">
|
||||
<div>
|
||||
<!-- <el-steps class="steps" :active="caseStatus">
|
||||
<el-step :title="item.caseNodeName || item.content" v-for="(item,index) in pageData.allCasenode" :key="index" :description="(item.createNickName || '') + (item.caseNodeTime || '')+(item.nextRoleName || '')"></el-step>
|
||||
|
||||
</el-steps> -->
|
||||
<div class="loading" v-if="flagLoading">
|
||||
<i class="el-icon-loading"></i>
|
||||
</div>
|
||||
<div v-else>
|
||||
<el-steps class="steps" :active="finishCasenode.length">
|
||||
<el-step :title="item.content" :description="(item.createNickName || '') + (item.caseNodeTime || '')+(item.nextRoleName || '')" v-for="(item,index) in stepNumber" :key="index"></el-step>
|
||||
</el-steps>
|
||||
</div>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="cancel" class="endbutton1"><span>取 消</span></el-button>
|
||||
@@ -15,38 +17,43 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {selectCaseProgress} from '@/api/caseManagement/caseManagement'
|
||||
import {selectCaseProgress} from '@/api/caseManagement/caseManagement.js'
|
||||
export default {
|
||||
props: ["processVisable","processData"],
|
||||
props: ["processVisable","processData","caseFlowNumber"],
|
||||
data() {
|
||||
return {
|
||||
processId:null,
|
||||
pageData:{},
|
||||
caseStatus:0
|
||||
caseStatus:0,
|
||||
finishCasenode:[],
|
||||
stepNumber:[],
|
||||
flagLoading:true
|
||||
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
processVisable(val){
|
||||
if(val){
|
||||
// this.processId = this.processData.id;
|
||||
// this.selectCaseProgressFn({id:this.processId});
|
||||
this.processId = this.caseFlowNumber.id;
|
||||
this.selectCaseProgressFn({caseId:this.processId});
|
||||
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
methods: {
|
||||
cancel() {
|
||||
this.$emit("cancelViewProcess");
|
||||
},
|
||||
selectCaseProgressFn(data){
|
||||
selectCaseProgress(data).then(res=>{
|
||||
this.pageData = res.data.data;
|
||||
let allCasenode = res.data.data.allCasenode;
|
||||
console.log(allCasenode)
|
||||
allCasenode.forEach((item,index) => {
|
||||
if(item.caseNode==res.data.data.caseStatus){
|
||||
this.caseStatus = index
|
||||
}
|
||||
});
|
||||
let finishCasenode = res.data.data.finishCasenode;;
|
||||
this.finishCasenode = finishCasenode;
|
||||
let inCasenode = res.data.data.inCasenode;
|
||||
let nextCasenode = res.data.data.nextCasenode;
|
||||
this.stepNumber= [...finishCasenode,...inCasenode,...nextCasenode];
|
||||
this.flagLoading =false
|
||||
|
||||
})
|
||||
}
|
||||
},
|
||||
@@ -73,4 +80,14 @@ export default {
|
||||
background: #ffffff;
|
||||
border-radius: 20px;
|
||||
}
|
||||
.loading {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
.el-icon-loading {
|
||||
font-size: 50px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -7,7 +7,7 @@
|
||||
center
|
||||
:distroy-on-close="true"
|
||||
>
|
||||
<!-- <div class="loading" v-if="flagLoading">
|
||||
<div class="loading" v-if="flagLoading">
|
||||
<i class="el-icon-loading"></i>
|
||||
</div>
|
||||
<div v-else>
|
||||
@@ -22,7 +22,7 @@
|
||||
<p>{{ activity.content }}</p>
|
||||
</el-timeline-item>
|
||||
</el-timeline>
|
||||
</div> -->
|
||||
</div>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="cancel" class="endbutton1"
|
||||
><span>取 消</span></el-button
|
||||
|
||||
@@ -7,21 +7,26 @@
|
||||
formPayDetail.caseNum
|
||||
}}</el-descriptions-item>
|
||||
<el-descriptions-item label="申请人">{{
|
||||
formPayDetail.affiliate.applicationOrganName || ''
|
||||
formPayDetailAffiliate.applicationName || ''
|
||||
}}</el-descriptions-item>
|
||||
<el-descriptions-item label="案件标的">{{
|
||||
<!-- <el-descriptions-item label="案件标的">{{
|
||||
formPayDetail.caseSubjectAmount
|
||||
}}</el-descriptions-item>
|
||||
<el-descriptions-item label="案件应缴费用">{{
|
||||
}}</el-descriptions-item> -->
|
||||
<el-descriptions-item label="申请人应缴费用">{{
|
||||
formPayDetail.feePayable
|
||||
}}</el-descriptions-item>
|
||||
<el-descriptions-item label="被申请人">{{
|
||||
formPayDetail.affiliate.respondentName
|
||||
formPayDetailAffiliate.respondentName
|
||||
}}</el-descriptions-item>
|
||||
<!-- <el-descriptions-item label="案件状态">
|
||||
<el-descriptions-item label="案件状态">
|
||||
<el-tag size="mini" type='danger' effect="dark">
|
||||
{{ formPayDetail.caseStatusName }}
|
||||
</el-tag>
|
||||
</el-descriptions-item>
|
||||
<!-- <el-descriptions-item label="驳回原因" v-if="formPayDetail.reason">
|
||||
<el-tag size="mini" type='danger' effect="dark">
|
||||
{{ formPayDetail.reason }}
|
||||
</el-tag>
|
||||
</el-descriptions-item> -->
|
||||
</el-descriptions>
|
||||
<div class="paySelectType">
|
||||
@@ -51,9 +56,13 @@
|
||||
<div id="qrcodeImg"></div>
|
||||
</div>
|
||||
<div class="payTitle">{{ payMain }}</div>
|
||||
<div v-if="formPayDetail.reason">
|
||||
<span>驳回原因:</span>
|
||||
<div style="width:95%;">{{ formPayDetail.reason }}</div>
|
||||
</div>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="payCancel" class="endbutton"><span>取 消</span></el-button>
|
||||
<el-button @click="submitUpload" class="endbutton"><span>确认缴费</span></el-button>
|
||||
<el-button @click="payCancel" round><span>取 消</span></el-button>
|
||||
<el-button @click="submitUpload" type="primary" :disabled="payFlagSubmit" round><span>确认缴费</span></el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
@@ -64,7 +73,7 @@ import { casePay, confirmPayDig } from "@/api/pay/pay";
|
||||
import QRCode from "qrcodejs2";
|
||||
import { getToken } from "@/utils/auth";
|
||||
export default {
|
||||
props: ["openPay", "payTitle", "formPayDetail", "payForm", "queryParams","payId"],
|
||||
props: ["openPay", "payTitle", "formPayDetail", "payForm", "queryParams","payId","formPayDetailAffiliate"],
|
||||
data() {
|
||||
return {
|
||||
// key: value
|
||||
@@ -77,13 +86,14 @@ export default {
|
||||
Authorization: "Bearer " + getToken(),
|
||||
},
|
||||
filedata: {
|
||||
annexType: 8,
|
||||
annexType: 4,
|
||||
},
|
||||
submitForm:{
|
||||
payType:1,
|
||||
payOrderList:[],
|
||||
caseId:null
|
||||
}
|
||||
},
|
||||
payFlagSubmit:true
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
@@ -107,6 +117,7 @@ export default {
|
||||
annexId: res.annexId,
|
||||
annexName:res.annexName
|
||||
});
|
||||
this.payFlagSubmit = false;
|
||||
},
|
||||
submitUpload() {
|
||||
if (this.fileList.length < 1) {
|
||||
@@ -123,7 +134,7 @@ export default {
|
||||
handleRemove(file, fileList) {
|
||||
(this.submitForm.payOrderList = []),
|
||||
fileList.forEach((item) => {
|
||||
this.submitForm.payOrderList.push({ annexId:item.response.data.annexId,annexName:item.response.data.annexName });
|
||||
this.submitForm.payOrderList.push({ annexId:item.response.annexId,annexName:item.response.annexName });
|
||||
});
|
||||
},
|
||||
handlePreview(file) {
|
||||
@@ -182,7 +193,7 @@ export default {
|
||||
this.submitForm.caseId = this.payId;
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
|
||||
@@ -1,27 +1,46 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-dialog :title="title" :visible="openDialog" @close="cancel" :destroy-on-close="true" center>
|
||||
<el-form ref="form" :model="form" label-width="90px" :disabled="true">
|
||||
<el-form ref="form" :model="form" label-width="180px">
|
||||
<el-form-item label="案件编号:" prop="caseNum">
|
||||
<el-input v-model="form.caseNum" placeholder="" />
|
||||
</el-form-item>
|
||||
<el-form-item label="案件标的:" prop="caseSubjectAmount">
|
||||
<el-input v-model="form.caseSubjectAmount" />
|
||||
</el-form-item>
|
||||
<el-form-item label="缴费人:" prop="applicantName">
|
||||
<el-input v-model="form.applicationOrganName" placeholder="" />
|
||||
<el-input v-model="form.caseNum" placeholder="" :disabled="true"/>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="案件标的:" prop="caseSubjectAmount">
|
||||
<el-input v-model="form.caseSubjectAmount" :disabled="true"/>
|
||||
</el-form-item> -->
|
||||
<!-- <el-form-item label="缴费人:" prop="applicantName">
|
||||
<el-input v-model="form.applicationName" placeholder="" />
|
||||
</el-form-item> -->
|
||||
<el-form-item label="缴费金额:" prop="feePayable">
|
||||
<el-input v-model="form.feePayable" />
|
||||
<el-input v-model="form.feePayable" :disabled="true"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="缴费凭证:" prop="caseStatusName">
|
||||
<div style="color: #104fad;cursor:pointer" v-for="(item, index) in form.caseAttachList" :key="index" @click="preview(item.annexPath)">
|
||||
<el-form-item label="申请人缴费凭证:" v-if="form.caseAttachList&&form.caseAttachList.length>0 ">
|
||||
<div style="color: #104fad;cursor:pointer" v-for="(item, index) in form.caseAttachList" :key="index"
|
||||
@click="preview(item.annexPath)">
|
||||
{{ item.annexName }}
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="被申请人缴费凭证:" v-if="form.resCaseAttachList&&form.resCaseAttachList.length>0">
|
||||
<div style="color: #104fad;cursor:pointer" v-for="(item, index) in form.resCaseAttachList" :key="index"
|
||||
@click="preview(item.annexPath)">
|
||||
{{ item.annexName }}
|
||||
</div>
|
||||
</el-form-item>
|
||||
<!-- 判断缴费是否通过 -->
|
||||
<el-form-item label="是否缴费通过:" v-if="flag == 0">
|
||||
<el-radio-group v-model="yesOrNo">
|
||||
<el-radio :label="1">通过</el-radio>
|
||||
<el-radio :label="0">驳回</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<!-- 缴费驳回原因-->
|
||||
<el-form-item label="驳回原因:" v-if="yesOrNo == 0" prop="reason" :rules="[{ required: true, message: '请输入驳回原因',trigger: 'blur',},]">
|
||||
<el-input type="textarea" :rows="2" placeholder="请输入驳回原因" v-model="form.reason"></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="submitForm" v-if="flag == 0" class="endbutton">确认已缴费</el-button>
|
||||
<!-- <el-button type="primary" @click="submitForm" v-if="flag == 0" class="endbutton">确认已缴费</el-button> -->
|
||||
<el-button type="primary" @click="submitForm" v-if="flag == 0" class="endbutton">确 认</el-button>
|
||||
<el-button @click="cancel" class="endbutton1">取 消</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
@@ -29,13 +48,16 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {confirmPaid} from '@/api/caseManagement/caseManagement.js'
|
||||
import { confirmPaid, resConfirmPaid } from '@/api/caseManagement/caseManagement.js'
|
||||
export default {
|
||||
props: ["openDialog", "title", "flag", "detailform", "getList","paymentConfirma"],
|
||||
props: ["openDialog", "title", "flag", "detailform", "getList", "paymentConfirma", "queryParams",'isapplicant'],
|
||||
data() {
|
||||
return {
|
||||
form: {},
|
||||
srcList: []
|
||||
form: {
|
||||
reason: '',//驳回原因
|
||||
},
|
||||
yesOrNo: 1,
|
||||
srcList: [],
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
@@ -46,6 +68,13 @@ export default {
|
||||
}
|
||||
},
|
||||
},
|
||||
openDialog: {
|
||||
handler(val) {
|
||||
if (val) {
|
||||
this.yesOrNo = 1
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
preview(data) {
|
||||
@@ -59,18 +88,36 @@ export default {
|
||||
let paramsVal = {
|
||||
caseId: this.paymentConfirma.id,
|
||||
batchNumber: "",
|
||||
caseFlowId:this.paymentConfirma.caseFlowId
|
||||
caseFlowId: this.paymentConfirma.caseFlowId,
|
||||
yesOrNo: this.yesOrNo,
|
||||
reason: this.form.reason
|
||||
}
|
||||
this.$refs["form"].validate((valid) => {
|
||||
if (valid) {
|
||||
if (this.isapplicant) {
|
||||
confirmPaid(paramsVal).then((res) => {
|
||||
this.$message({
|
||||
message: "确认成功",
|
||||
type: "success",
|
||||
});
|
||||
if (res.code == 200) {
|
||||
this.getList();
|
||||
}
|
||||
this.cancel();
|
||||
this.$emit("getList", this.queryParams);
|
||||
})
|
||||
console.log('申请人');
|
||||
} else {
|
||||
// 被申请人 resConfirmPaid
|
||||
resConfirmPaid(paramsVal).then((res) => {
|
||||
this.$message({
|
||||
message: "确认成功",
|
||||
type: "success",
|
||||
});
|
||||
this.cancel();
|
||||
this.$emit("getList", this.queryParams);
|
||||
})
|
||||
console.log('被申请人');
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
cancel() {
|
||||
this.$emit("cancelpaymentdetails");
|
||||
|
||||
@@ -0,0 +1,259 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-dialog :title="resPayTitle" v-if="openResPay" :visible="openResPay" @close="payCancel" width="800px" append-to-body
|
||||
:destroy-on-close="true" center>
|
||||
<el-descriptions title="订单信息">
|
||||
<el-descriptions-item label="案件编号">{{
|
||||
formResPayDetail.caseNum
|
||||
}}</el-descriptions-item>
|
||||
<el-descriptions-item label="申请人">{{
|
||||
formResPay.applicationName || ''
|
||||
}}</el-descriptions-item>
|
||||
<!-- <el-descriptions-item label="案件标的">{{
|
||||
formResPayDetail.caseSubjectAmount
|
||||
}}</el-descriptions-item> -->
|
||||
<el-descriptions-item label="被申请人应缴费用">{{
|
||||
formResPayDetail.feePayable
|
||||
}}</el-descriptions-item>
|
||||
<el-descriptions-item label="被申请人">{{
|
||||
formResPay.respondentName
|
||||
}}</el-descriptions-item>
|
||||
<el-descriptions-item label="案件状态">
|
||||
<el-tag size="mini" type='danger' effect="dark">
|
||||
{{ formResPayDetail.caseStatusName }}
|
||||
</el-tag>
|
||||
</el-descriptions-item>
|
||||
<el-descriptions-item label="驳回原因" v-if="formResPayDetail.reason">
|
||||
<el-tag size="mini" type='danger' effect="dark">
|
||||
{{ formResPayDetail.reason }}
|
||||
</el-tag>
|
||||
</el-descriptions-item>
|
||||
</el-descriptions>
|
||||
<div class="paySelectType">
|
||||
<el-radio-group v-model="paySelect" @input="changPayType">
|
||||
<el-radio :label="0">线上支付</el-radio>
|
||||
<el-radio :label="1">线下支付</el-radio>
|
||||
</el-radio-group>
|
||||
</div>
|
||||
<div class="payupload">
|
||||
<span>上传支付凭证:</span>
|
||||
<div class="uploadBtn">
|
||||
<el-upload class="upload-demo" ref="upload" :action="UploadUrl()" :headers="headers" :data="filedata"
|
||||
:on-preview="handlePreview" :on-remove="handleRemove" :on-change="beforeUpload" :on-success="handlSuccess" :file-list="fileList"
|
||||
>
|
||||
<el-button slot="trigger" size="small" type="primary">选取文件</el-button>
|
||||
<!-- <el-button style="margin-left: 10px;" size="small" type="success" @click="submitUpload">上传到服务器</el-button> -->
|
||||
<div slot="tip" class="el-upload__tip">只能上传jpg/png文件,且不超过500kb</div>
|
||||
</el-upload>
|
||||
</div>
|
||||
</div>
|
||||
<div class="payType" v-if="paySelect == 0">
|
||||
<span>请选择支付方式:</span>
|
||||
<i class="iconfont icon-weixinzhifu" @click="pay(0)"></i>
|
||||
<i class="iconfont icon-zhifubao" @click="pay(1)"></i>
|
||||
</div>
|
||||
<div class="payImg">
|
||||
<div id="qrcodeImg"></div>
|
||||
</div>
|
||||
<div class="resPayTitle">{{ payMain }}</div>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="payCancel" round><span>取 消</span></el-button>
|
||||
<el-button @click="submitUpload" type="primary" :disabled="payFlagSubmit" round><span>确认缴费</span></el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { casePay, confirmPayDig } from "@/api/pay/pay";
|
||||
import QRCode from "qrcodejs2";
|
||||
import { getToken } from "@/utils/auth";
|
||||
export default {
|
||||
props: ["openResPay", "resPayTitle", "formResPayDetail", "resPayForm", "queryParams","resPayId","formResPay"],
|
||||
data() {
|
||||
return {
|
||||
// key: value
|
||||
// 支付文字
|
||||
payMain: "",
|
||||
timer: null,
|
||||
paySelect: 1,//支付线上/线下
|
||||
fileList: [],
|
||||
headers: {
|
||||
Authorization: "Bearer " + getToken(),
|
||||
},
|
||||
filedata: {
|
||||
annexType: 9,
|
||||
},
|
||||
submitForm:{
|
||||
payType:1,
|
||||
payOrderList:[],
|
||||
caseId:null
|
||||
},
|
||||
payFlagSubmit:true
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
UploadUrl() {
|
||||
return window.location.origin + "/API/common/upload";
|
||||
},
|
||||
//选择支付方式(线上,线下)
|
||||
changPayType(data) {
|
||||
if(data == 1){
|
||||
document.getElementById("qrcodeImg").innerHTML = "";
|
||||
this.payMain = ""
|
||||
}
|
||||
this.submitForm.payType = data;
|
||||
},
|
||||
beforeUpload(flie, fileList) {
|
||||
this.fileList = fileList;
|
||||
},
|
||||
// 文件上传成功
|
||||
handlSuccess(res, file) {
|
||||
this.submitForm.payOrderList.push({
|
||||
annexId: res.annexId,
|
||||
annexName:res.annexName
|
||||
});
|
||||
this.payFlagSubmit = false;
|
||||
},
|
||||
submitUpload() {
|
||||
if (this.fileList.length < 1) {
|
||||
this.$modal.msgError("请上传缴费凭证");
|
||||
return
|
||||
}
|
||||
this.submitForm.caseFlowId = this.formResPayDetail.caseFlowId;
|
||||
confirmPayDig(this.submitForm).then(res=>{
|
||||
this.$modal.msgSuccess("成功");
|
||||
this.payCancel()
|
||||
this.$emit("getList", this.queryParams);
|
||||
})
|
||||
},
|
||||
handleRemove(file, fileList) {
|
||||
(this.submitForm.payOrderList = []),
|
||||
fileList.forEach((item) => {
|
||||
this.submitForm.payOrderList.push({ annexId:item.response.annexId,annexName:item.response.annexName });
|
||||
});
|
||||
},
|
||||
handlePreview(file) {
|
||||
},
|
||||
// 生成二维码
|
||||
qrcode(url) {
|
||||
// 前端根据 URL 生成微信支付二维码
|
||||
document.getElementById("qrcodeImg").innerHTML = "";
|
||||
return new QRCode("qrcodeImg", {
|
||||
width: 200,
|
||||
height: 200,
|
||||
text: url,
|
||||
colorDark: "#000",
|
||||
colorLight: "#fff",
|
||||
});
|
||||
},
|
||||
// 支付
|
||||
pay(val) {
|
||||
if (this.resPayForm.feePayable == 0 || !this.resPayForm.feePayable) {
|
||||
this.$message({
|
||||
message: "此案件无需缴费",
|
||||
type: "error",
|
||||
});
|
||||
return;
|
||||
}
|
||||
let payType = "";
|
||||
if (val == 0) {
|
||||
payType = "wxpay";
|
||||
this.payMain = "请使用微信扫二维码支付";
|
||||
} else if (val == 1) {
|
||||
payType = "alipay";
|
||||
this.payMain = "请使用支付宝扫二维码支付";
|
||||
}
|
||||
casePay({
|
||||
totalFee: this.resPayForm.feePayable * 100,
|
||||
caseId: this.resPayForm.caseId,
|
||||
tradeType: "native",
|
||||
platform: payType,
|
||||
}).then((res) => {
|
||||
this.paySrc = res.data.code_url;
|
||||
this.qrcode(this.paySrc);
|
||||
});
|
||||
},
|
||||
payCancel() {
|
||||
this.$emit("paycancelRes");
|
||||
this.payMain = "";
|
||||
},
|
||||
},
|
||||
watch:{
|
||||
openResPay(val){
|
||||
if(val){
|
||||
this.submitForm.payOrderList = []
|
||||
this.paySelect = 1;
|
||||
this.fileList = [];
|
||||
this.filedata.id = this.resPayId;
|
||||
this.submitForm.caseId = this.resPayId;
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.payType {
|
||||
height: 80px;
|
||||
line-height: 80px;
|
||||
display: flex;
|
||||
|
||||
.icon-weixinzhifu {
|
||||
font-size: 24px;
|
||||
color: #27a56f;
|
||||
margin-right: 15px;
|
||||
}
|
||||
|
||||
.icon-zhifubao {
|
||||
font-size: 24px;
|
||||
color: #1d76cc;
|
||||
}
|
||||
}
|
||||
|
||||
.paySelectType {
|
||||
margin-top: 20px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.payupload {
|
||||
display: flex;
|
||||
|
||||
.uploadBtn {}
|
||||
}
|
||||
|
||||
.payImg {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.resPayTitle {
|
||||
margin-top: 20px;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
::v-deep .el-dialog {
|
||||
width: 800px;
|
||||
background: #ffffff;
|
||||
border-radius: 20px;
|
||||
}
|
||||
|
||||
.endbutton {
|
||||
width: 154px;
|
||||
height: 37px;
|
||||
background: #ffffff;
|
||||
border: 1px solid #d0d0d0;
|
||||
border-radius: 19px;
|
||||
|
||||
span {
|
||||
width: 31px;
|
||||
height: 13px;
|
||||
font-size: 16px;
|
||||
font-family: Microsoft YaHei;
|
||||
font-weight: 400;
|
||||
color: #959595;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-dialog title="预约时间/调解员" :visible="mediatorVisable" v-if="mediatorVisable" @close="cancel" center :distroy-on-close="true">
|
||||
<el-dialog title="预约调解员" :visible="mediatorVisable" v-if="mediatorVisable" @close="cancel" center :distroy-on-close="true">
|
||||
<div>
|
||||
<div>
|
||||
<div style="margin-bottom: 20px;">预约调解员</div>
|
||||
@@ -9,7 +9,7 @@
|
||||
@selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55">
|
||||
</el-table-column>
|
||||
<el-table-column prop="mediatorName" label="调解员名称">
|
||||
<el-table-column prop="mediatorName" label="调解员">
|
||||
</el-table-column>
|
||||
<el-table-column prop="specialty" label="专业">
|
||||
</el-table-column>
|
||||
@@ -18,28 +18,10 @@
|
||||
<el-table-column prop="completeAmount" label="已办数量">
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div>
|
||||
<div style="margin-top: 20px;margin-bottom: 20px;">预约时间</div>
|
||||
<el-form label-position="right" label-width="80px" :model="formLabelAlign">
|
||||
<el-form-item label="时间1">
|
||||
<el-date-picker v-model="formLabelAlign.time[0]" type="datetime" placeholder="选择日期时间">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<!-- 后期需要三个时间 -->
|
||||
<!-- <el-form-item label="时间2">
|
||||
<el-date-picker v-model="formLabelAlign.time[1]" type="datetime" placeholder="选择日期时间">
|
||||
</el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item label="时间3">
|
||||
<el-date-picker v-model="formLabelAlign.time[2]" type="datetime" placeholder="选择日期时间">
|
||||
</el-date-picker>
|
||||
</el-form-item> -->
|
||||
</el-form>
|
||||
</div>
|
||||
</div>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="cancel" class="endbutton1"><span>取 消</span></el-button>
|
||||
<el-button @click="submitMediator" class="endbutton1"><span>确 认</span></el-button>
|
||||
<el-button @click="cancel" class="endbutton1" round><span>取 消</span></el-button>
|
||||
<el-button @click="submitMediator" class="endbutton1" type="primary" round><span>确 认</span></el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
@@ -48,6 +30,7 @@
|
||||
<script>
|
||||
import { Message } from 'element-ui'
|
||||
import { listMediator,updateBooking } from '@/api/caseManagement/caseManagement.js'
|
||||
import { createRoomId } from '@/api/metting/metting.js'
|
||||
import moment from "moment";
|
||||
export default {
|
||||
props: ["mediatorVisable", "mediatorData","queryParams"],
|
||||
@@ -58,19 +41,21 @@ export default {
|
||||
formLabelAlign: {
|
||||
time:[]
|
||||
},
|
||||
formTimeArr:[],
|
||||
mediatorArr:[]
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
mediatorVisable(val) {
|
||||
if (val) {
|
||||
// this.this.multipleSelection = [];
|
||||
// this.formLabelAlign.time = [];
|
||||
this.mediatorArr = [];
|
||||
this.formTimeArr = [];
|
||||
listMediator().then(res=>{
|
||||
listMediator({caseAppliId: this.mediatorData.id}).then(res=>{
|
||||
this.tableData = res.data;
|
||||
this.tableData.forEach((item)=> {
|
||||
if (item.echoFlag) {
|
||||
this.$nextTick(()=>{
|
||||
this.$refs.multipleTable.toggleRowSelection(item, true);
|
||||
})
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
||||
@@ -81,34 +66,24 @@ export default {
|
||||
},
|
||||
/**提交选择结果*/
|
||||
async submitMediator() {
|
||||
if (this.multipleSelection.length > 1) {
|
||||
Message.error('最多选择一名调解员');
|
||||
if (this.multipleSelection.length > 3) {
|
||||
Message.error('最多选择三名调解员');
|
||||
return
|
||||
}else if(this.multipleSelection.length < 1){
|
||||
Message.error('至少选择一名调解员');
|
||||
Message.error('请选择调解员');
|
||||
return
|
||||
}
|
||||
if(this.formLabelAlign.time.length < 1){
|
||||
Message.error('至少选择一个时间');
|
||||
return
|
||||
}
|
||||
this.formLabelAlign.time.forEach(item=>{
|
||||
item = moment(
|
||||
item
|
||||
).format("YYYY-MM-DD HH:mm:ss");
|
||||
this.formTimeArr.push(item)
|
||||
})
|
||||
this.mediatorArr = [];
|
||||
this.multipleSelection.forEach(item=>{
|
||||
this.mediatorArr.push({
|
||||
userId:item.mediatorId,
|
||||
userName:item.mediatorName
|
||||
mediatorId:item.mediatorId,
|
||||
mediatorName:item.mediatorName
|
||||
})
|
||||
})
|
||||
await this.updateBookingFn({
|
||||
id:this.mediatorData.id,
|
||||
caseFlowId:this.mediatorData.caseFlowId,
|
||||
userList:this.mediatorArr,
|
||||
herDates:this.formTimeArr
|
||||
mediatorList:this.mediatorArr,
|
||||
})
|
||||
},
|
||||
async updateBookingFn(data){
|
||||
@@ -120,7 +95,6 @@ export default {
|
||||
},
|
||||
handleSelectionChange(val) {
|
||||
this.multipleSelection = val;
|
||||
// console.log(this.multipleSelection,"LLLLLLLLLLLLLLLLL");
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
@@ -1,28 +1,28 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-dialog title="秘书确认时间" :visible="timeConfirmVisable" v-if="timeConfirmVisable" @close="cancel" center
|
||||
<el-dialog title="确认时间" :visible="timeConfirmVisable" v-if="timeConfirmVisable" @close="cancel" center
|
||||
:distroy-on-close="true">
|
||||
<div style="margin-bottom: 20px;">
|
||||
<!-- <div style="margin-bottom: 20px;">
|
||||
<el-radio-group v-model="confirmFlag">
|
||||
<el-radio :label="1">同意</el-radio>
|
||||
<el-radio :label="2">拒绝</el-radio>
|
||||
</el-radio-group>
|
||||
</div>
|
||||
</div> -->
|
||||
<div>
|
||||
<div>
|
||||
<div style="margin-top: 20px;margin-bottom: 20px;">时间</div>
|
||||
<el-form label-position="right" label-width="80px" :model="formLabelAlign" :disabled="confirmShow">
|
||||
<!-- <div style="margin-top: 20px;margin-bottom: 20px;">时间</div> -->
|
||||
<el-form label-position="right" label-width="80px" :model="formLabelAlign">
|
||||
<el-form-item label="时间">
|
||||
<el-date-picker v-if="!confirmShow" v-model="formLabelAlign.time[0]" type="datetime" placeholder="选择日期时间">
|
||||
<el-date-picker v-model="formLabelAlign.name" type="datetime" :picker-options="pickerOptions" placeholder="选择日期时间">
|
||||
</el-date-picker>
|
||||
<el-input v-else v-model="formLabelAlign.name"></el-input>
|
||||
<!-- <el-input v-else v-model="formLabelAlign.name"></el-input> -->
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
</div>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="cancel" class="endbutton1"><span>取 消</span></el-button>
|
||||
<el-button @click="submitMediator" class="endbutton1"><span>确 认</span></el-button>
|
||||
<el-button @click="cancel" class="endbutton1" round><span>取 消</span></el-button>
|
||||
<el-button @click="submitMediator" class="endbutton1" type="primary" round><span>确 认</span></el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
@@ -31,6 +31,7 @@
|
||||
<script>
|
||||
import { Message } from 'element-ui'
|
||||
import { listMediator, selectReservation, confirmDate } from '@/api/caseManagement/caseManagement.js'
|
||||
import { createRoomId } from '@/api/metting/metting.js'
|
||||
import moment from "moment";
|
||||
export default {
|
||||
props: ["timeConfirmVisable", "timeConfirmData", "queryParams"],
|
||||
@@ -42,33 +43,20 @@ export default {
|
||||
time: [],
|
||||
name: ""
|
||||
},
|
||||
formTimeArr: [],
|
||||
mediatorArr: [],
|
||||
confirmFlag: 1,
|
||||
confirmShow: true,
|
||||
pickerOptions: {
|
||||
disabledDate(time) {
|
||||
return time.getTime() <= Date.now() -1 * 24 * 3600 * 1000; // 禁用超过当前时间的日期
|
||||
},
|
||||
selectableRange: `${new Date()}- 23:59:59`,//这
|
||||
},
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
timeConfirmVisable(val) {
|
||||
if (val) {
|
||||
this.confirmFlag = 1;
|
||||
this.mediatorArr = [];
|
||||
this.formTimeArr = [];
|
||||
this.selectReservationFn({ id: this.timeConfirmData.id })
|
||||
this.formLabelAlign.name = null;
|
||||
}
|
||||
},
|
||||
confirmFlag(val) {
|
||||
if (val == 1) {
|
||||
this.confirmShow = true;
|
||||
console.log(this.timeConfirmData.id);
|
||||
this.selectReservationFn({ id: this.timeConfirmData.id })
|
||||
} else {
|
||||
this.confirmShow = false;
|
||||
listMediator().then(res => {
|
||||
this.tableData = res.data;
|
||||
})
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
cancel() {
|
||||
@@ -77,7 +65,6 @@ export default {
|
||||
selectReservationFn(data) {
|
||||
selectReservation(data).then(res => {
|
||||
this.tableData = res.data.mediatorList;
|
||||
// this.formLabelAlign.time[0] = res.data.herDates[0];
|
||||
this.formLabelAlign.name = res.data.herDates[0]
|
||||
})
|
||||
},
|
||||
@@ -89,57 +76,31 @@ export default {
|
||||
this.$emit('getList', this.queryParams);
|
||||
})
|
||||
},
|
||||
// 生成会议房间号
|
||||
createRoomIdFn(data) {
|
||||
createRoomId(data).then(res => {
|
||||
console.log(res, "房间号");
|
||||
})
|
||||
},
|
||||
/**提交选择结果*/
|
||||
async submitMediator() {
|
||||
if (this.confirmFlag == 1) {
|
||||
let userArr = [];
|
||||
this.tableData.forEach(item => {
|
||||
userArr.push({
|
||||
userId: item.mediatorId,
|
||||
userName: item.mediatorName
|
||||
this.createRoomIdFn({
|
||||
caseId: this.timeConfirmData.id
|
||||
})
|
||||
})
|
||||
this.verifyMediatorFn({
|
||||
id: this.timeConfirmData.id,
|
||||
caseFlowId: this.timeConfirmData.caseFlowId,
|
||||
// userList: userArr,
|
||||
herDates: this.formLabelAlign.time
|
||||
})
|
||||
} else {
|
||||
if (this.multipleSelection.length > 1) {
|
||||
Message.error('最多选择一名调解员');
|
||||
return
|
||||
} else if (this.multipleSelection.length < 1) {
|
||||
Message.error('至少选择一名调解员');
|
||||
if (!this.formLabelAlign.name) {
|
||||
Message.error('请选择时间');
|
||||
return
|
||||
}
|
||||
if (this.formLabelAlign.time.length < 1) {
|
||||
Message.error('至少选择一个时间');
|
||||
return
|
||||
}
|
||||
this.formLabelAlign.time.forEach(item => {
|
||||
item = moment(
|
||||
item
|
||||
console.log(this.formLabelAlign.name)
|
||||
this.formLabelAlign.name = moment(
|
||||
this.formLabelAlign.name
|
||||
).format("YYYY-MM-DD HH:mm:ss");
|
||||
this.formTimeArr.push(item)
|
||||
})
|
||||
this.multipleSelection.forEach(item => {
|
||||
this.mediatorArr.push({
|
||||
userId: item.mediatorId,
|
||||
userName: item.mediatorName
|
||||
})
|
||||
})
|
||||
this.verifyMediatorFn({
|
||||
id: this.timeConfirmData.id,
|
||||
caseFlowId: this.timeConfirmData.caseFlowId,
|
||||
// userList: this.mediatorArr,
|
||||
herDates: this.formLabelAlign.time
|
||||
herDates: [this.formLabelAlign.name]
|
||||
})
|
||||
}
|
||||
},
|
||||
handleSelectionChange(val) {
|
||||
this.multipleSelection = val;
|
||||
}
|
||||
},
|
||||
};
|
||||
</script>
|
||||
@@ -156,18 +117,6 @@ export default {
|
||||
margin-right: 20px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
::v-deep .el-dialog__body {
|
||||
height: 500px !important;
|
||||
overflow: auto !important;
|
||||
}
|
||||
|
||||
::v-deep .el-dialog {
|
||||
width: 800px;
|
||||
background: #ffffff;
|
||||
border-radius: 20px;
|
||||
}
|
||||
|
||||
.timeTitle {
|
||||
width: 1000%;
|
||||
text-align: center;
|
||||
|
||||
@@ -33,6 +33,12 @@
|
||||
<el-table-column label="案件状态" align="center" prop="caseStatusName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="驳回节点" align="center" prop="backFlowName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="关联角色" align="center" prop="roleNames" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="节点图标" align="center" prop="nodeIcon" :show-overflow-tooltip="true">
|
||||
<template slot-scope="scope">
|
||||
<img v-if="scope.row.fileName" class="nodeIcon" :src="iconHead+scope.row.fileName"/>
|
||||
<span v-else>暂无图标</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||
<template slot-scope="scope">
|
||||
<el-button size="mini" @click="moveDown(scope.row)" type="text" icon="el-icon-arrow-down"></el-button>
|
||||
@@ -80,10 +86,14 @@ export default {
|
||||
dataList: [],
|
||||
addvisiable: false,//新增弹窗
|
||||
editData: {},
|
||||
iconHead: process.env.VUE_APP_BASE_API
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getList(this.queryParams)
|
||||
this.getList(this.queryParams);
|
||||
},
|
||||
computed: {
|
||||
|
||||
},
|
||||
methods: {
|
||||
// 删除
|
||||
@@ -160,4 +170,9 @@ export default {
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped></style>
|
||||
<style lang="scss" scoped>
|
||||
.nodeIcon {
|
||||
width: 20%;
|
||||
height: 20%;
|
||||
}
|
||||
</style>
|
||||
@@ -4,7 +4,7 @@
|
||||
<el-form :model="ruleForm" label-position="left" :rules="rules" ref="ruleForm" label-width="90px"
|
||||
class="demo-ruleForm">
|
||||
<el-form-item label="节点名称" prop="nodeName">
|
||||
<el-select v-model="ruleForm.nodeName" placeholder="请选择" @change="changenodeName">
|
||||
<el-select v-model="ruleForm.nodeName" placeholder="请选择">
|
||||
<el-option v-for="dict in dict.type.case_flow_node" :key="dict.value" :label="dict.label"
|
||||
:value="dict.value"></el-option>
|
||||
</el-select>
|
||||
@@ -25,6 +25,23 @@
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="权限字符" prop="buttonAuthFlag">
|
||||
<el-input v-model="ruleForm.buttonAuthFlag" placeholder="请输入"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="节点图标" prop="nodeIcon">
|
||||
<el-upload
|
||||
class="avatar-uploader"
|
||||
:action="uploadImgUrl"
|
||||
:show-file-list="false"
|
||||
:headers="headers"
|
||||
:data="filedata"
|
||||
:on-success="handleAvatarSuccess"
|
||||
:before-upload="beforeAvatarUpload">
|
||||
<img v-if="imageUrl" :src="imgSvgUrl" class="avatar">
|
||||
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
|
||||
<div slot="tip" class="el-upload__tip">只能上传SVG图片</div>
|
||||
</el-upload>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="cancel" class="endbutton"><span>取 消</span></el-button>
|
||||
@@ -36,6 +53,7 @@
|
||||
<script>
|
||||
import { queryCaseFlowInfo, saveCaseFlow } from "@/api/caseprocessManagement/caseprocessManagement.js";
|
||||
import { listRole } from "@/api/system/role";
|
||||
import { getToken } from "@/utils/auth";
|
||||
export default {
|
||||
props: ["addvisiable", "editData", "queryParams"],
|
||||
dicts: ["case_flow_node"],
|
||||
@@ -46,7 +64,9 @@ export default {
|
||||
backflowArr: [],//驳回节点
|
||||
roleArr: [],//关联角色
|
||||
isImg: false,
|
||||
filedata: {},
|
||||
filedata: {
|
||||
annexType: 11,
|
||||
},
|
||||
flagBtn: false,
|
||||
ruleForm: {},
|
||||
rules: {
|
||||
@@ -58,27 +78,52 @@ export default {
|
||||
],
|
||||
roleIds: [
|
||||
{ required: true, message: '请选择关联角色', trigger: 'blur' },
|
||||
],
|
||||
buttonAuthFlag: [
|
||||
{ required: true, message: '请输入权限字符', trigger: 'blur' },
|
||||
]
|
||||
},
|
||||
dealvalue: [],
|
||||
imageUrl: '',
|
||||
uploadImgUrl: process.env.VUE_APP_BASE_API + "/common/upload", // 上传的图片服务器地址
|
||||
headers: {
|
||||
Authorization: "Bearer " + getToken(),
|
||||
},
|
||||
fileName: '',
|
||||
imgSvgUrl: ''
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
addvisiable(val) {
|
||||
if (val) {
|
||||
this.ruleForm = this.editData;
|
||||
this.fileName = '',
|
||||
this.getRoles();
|
||||
this.getbackflowArr()
|
||||
this.getbackflowArr();
|
||||
if (this.ruleForm && this.ruleForm.fileName) {
|
||||
this.imgSvgUrl = process.env.VUE_APP_BASE_API + this.ruleForm.fileName;
|
||||
this.imageUrl = process.env.VUE_APP_BASE_API + this.ruleForm.fileName;
|
||||
this.fileName = this.ruleForm.fileName
|
||||
} else {
|
||||
this.imgSvgUrl = ''
|
||||
this.imageUrl = ''
|
||||
}
|
||||
}
|
||||
},
|
||||
fileName: {
|
||||
handler(val) {
|
||||
if (val) {
|
||||
this.imgSvgUrl = this.imageUrl
|
||||
}
|
||||
},
|
||||
deep: true
|
||||
}
|
||||
|
||||
},
|
||||
created() {
|
||||
|
||||
},
|
||||
methods: {
|
||||
changenodeName(val) {
|
||||
console.log(val, 'changeval');
|
||||
},
|
||||
// 获取驳回节点数据
|
||||
getbackflowArr() {
|
||||
let queryParams2 = {
|
||||
@@ -113,6 +158,19 @@ export default {
|
||||
cancel() {
|
||||
this.$emit("cancelAdd");
|
||||
},
|
||||
// 图标上传
|
||||
handleAvatarSuccess(res, file) {
|
||||
this.fileName = ''
|
||||
this.imageUrl = URL.createObjectURL(file.raw);
|
||||
this.fileName = file.response.fileName
|
||||
},
|
||||
beforeAvatarUpload(file) {
|
||||
const isSvg = file.type === 'image/svg+xml';
|
||||
if (!isSvg) {
|
||||
this.$message.error('上传图片只能是 SVG 格式!');
|
||||
}
|
||||
return isSvg;
|
||||
},
|
||||
// 提交
|
||||
submitForm() {
|
||||
this.$refs['ruleForm'].validate((valid) => {
|
||||
@@ -134,7 +192,9 @@ export default {
|
||||
caseStatusName: this.ruleForm.caseStatusName,
|
||||
backFlowId: this.ruleForm.backFlowId,
|
||||
roleIds: this.ruleForm.roleIds,
|
||||
sort: this.ruleForm.sort
|
||||
sort: this.ruleForm.sort,
|
||||
buttonAuthFlag: this.ruleForm.buttonAuthFlag,
|
||||
fileName: this.fileName
|
||||
}
|
||||
} else {
|
||||
let nodevalue = this.dict.type.case_flow_node;
|
||||
@@ -150,7 +210,9 @@ export default {
|
||||
nodeName: this.dealvalue[0].label,
|
||||
caseStatusName: this.ruleForm.caseStatusName,
|
||||
backFlowId: this.ruleForm.backFlowId,
|
||||
roleIds: this.ruleForm.roleIds
|
||||
roleIds: this.ruleForm.roleIds,
|
||||
buttonAuthFlag: this.ruleForm.buttonAuthFlag,
|
||||
fileName: this.fileName
|
||||
}
|
||||
}
|
||||
if (params.backFlowId == undefined) {
|
||||
@@ -173,4 +235,31 @@ export default {
|
||||
::v-deep .el-select {
|
||||
width: 100%;
|
||||
}
|
||||
.avatar-uploader .el-upload {
|
||||
border: 1px dashed #d9d9d9;
|
||||
border-radius: 6px;
|
||||
cursor: pointer;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
// .avatar-uploader .el-upload:hover {
|
||||
// border-color: #409EFF;
|
||||
// }
|
||||
.avatar-uploader-icon {
|
||||
border: 1px dashed #d9d9d9;
|
||||
font-size: 28px;
|
||||
color: #8c939d;
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
line-height: 100px;
|
||||
text-align: center;
|
||||
}
|
||||
.avatar-uploader-icon:hover {
|
||||
border-color: #409EFF;
|
||||
}
|
||||
.avatar {
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
display: block;
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,179 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-dialog
|
||||
title="邮件内容"
|
||||
:visible="emailVidable"
|
||||
@close="cancel"
|
||||
center
|
||||
:distroy-on-close="true"
|
||||
>
|
||||
<div>
|
||||
<el-form>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="邮件主题:" label-width="100px">
|
||||
<div>{{ emailRow.mailSubject }}</div>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="收件人:" label-width="100px">
|
||||
<div>{{ emailRow.mailAddress }}</div>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="发件人:" label-width="100px">
|
||||
<div>{{ emailRow.mailFromAddress }}</div>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="邮件附件:" label-width="100px">
|
||||
<div
|
||||
style="color: blue; cursor: pointer"
|
||||
v-for="(item, index) in emailRow.caseAttachList"
|
||||
:key="index"
|
||||
@click="viewAttachments(item.annexPath)"
|
||||
>
|
||||
{{ item.annexName }}
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="邮件上传:" label-width="100px">
|
||||
<el-upload
|
||||
class="upload-demo"
|
||||
accept=".doc,.docx,.pdf"
|
||||
ref="upload"
|
||||
:action="UploadUrl()"
|
||||
:headers="headers"
|
||||
:data="filedata"
|
||||
:on-preview="handlePreview"
|
||||
:on-remove="handleRemove"
|
||||
:limit="1"
|
||||
:on-change="beforeUpload"
|
||||
:on-success="handlSuccess"
|
||||
:file-list="fileList"
|
||||
>
|
||||
<el-button
|
||||
slot="trigger"
|
||||
size="small"
|
||||
type="primary"
|
||||
>选取文件</el-button
|
||||
>
|
||||
<div slot="tip" class="el-upload__tip">
|
||||
只能上传.doc,docx,pdf文件
|
||||
</div>
|
||||
</el-upload>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="邮件正文:" label-width="100px">
|
||||
<el-input
|
||||
type="textarea"
|
||||
:rows="4"
|
||||
placeholder="请输入内容"
|
||||
v-model="sendData"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-form>
|
||||
</div>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="cancel" class="endbutton1" round
|
||||
><span>取 消</span></el-button
|
||||
>
|
||||
<el-button @click="submitSend" class="endbutton1" type="primary" round
|
||||
><span>确 认</span></el-button
|
||||
>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
updateSendContent,
|
||||
update,
|
||||
} from "@/api/deliveryRecord/deliveryRecord.js";
|
||||
import { getToken } from "@/utils/auth";
|
||||
export default {
|
||||
props: ["emailVidable", "emailRow", "queryParams"],
|
||||
data() {
|
||||
return {
|
||||
sendData: "",
|
||||
fileURL: window.location.origin + "/API",
|
||||
headers: {
|
||||
Authorization: "Bearer " + getToken(),
|
||||
},
|
||||
filedata: {
|
||||
annexType: 13,
|
||||
},
|
||||
fileList: [],
|
||||
files:[],
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
emailVidable(val) {
|
||||
if (val) {
|
||||
console.log(this.emailRow);
|
||||
this.sendData = this.emailRow.mailContent;
|
||||
}
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
cancel() {
|
||||
this.$emit("cancelEmail");
|
||||
},
|
||||
submitSend() {
|
||||
console.log(this.emailRow.mailContent);
|
||||
if(this.files.annexId){
|
||||
this.updateSendContentFn({
|
||||
id: this.emailRow.id,
|
||||
mailContent: this.sendData,
|
||||
caseAttachList:[{annexId:this.files.annexId}],
|
||||
|
||||
});
|
||||
}else{
|
||||
this.updateSendContentFn({
|
||||
id: this.emailRow.id,
|
||||
mailContent: this.sendData,
|
||||
caseAttachList:[],
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
},
|
||||
updateSendContentFn(data) {
|
||||
console.log(data)
|
||||
update(data).then((res) => {
|
||||
|
||||
this.$message.success("更新成功");
|
||||
this.$emit("cancelEmail");
|
||||
this.$emit("getList", this.queryParams);
|
||||
this.$refs.upload.clearFiles(); // 清除文件列表
|
||||
});
|
||||
},
|
||||
// 查看附件下载附件
|
||||
viewAttachments(val) {
|
||||
window.open(this.fileURL + val);
|
||||
},
|
||||
/**上传地址*/
|
||||
UploadUrl() {
|
||||
return window.location.origin + "/API/common/upload";
|
||||
},
|
||||
handlePreview(file) {},
|
||||
handleRemove(file, fileList) {},
|
||||
beforeUpload(flie, fileList) {
|
||||
|
||||
},
|
||||
handlSuccess(res, file) {
|
||||
|
||||
const fileSuccess = [{ annexId: res.annexId, annexType: res.annexType,annexName:res.newFileName,annexPath:res.fileName,onlyOfficeFileId:res.onlyOfficeFileId}]
|
||||
this.emailRow.caseAttachList = fileSuccess
|
||||
this.files = res
|
||||
console.log(res)
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped></style>
|
||||
@@ -0,0 +1,69 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-dialog title="修改内容" :visible="resendVidable" v-if="resendVidable" @close="cancel" center
|
||||
:distroy-on-close="true">
|
||||
<div style="margin-bottom: 30px;"><span style="font-weight: bold;">发送内容:</span>{{ sendData }}</div>
|
||||
<el-form label-width="100px">
|
||||
<el-form-item v-for="(item,index) in rowData.templateParams" :label="item.paramName" :key="item.id">
|
||||
<el-input v-model="rowData.templateParams[index].paramValue" @input="changeContent"></el-input>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="cancel" class="endbutton1" round><span>取 消</span></el-button>
|
||||
<el-button @click="submitSend" class="endbutton1" type="primary" round><span>确 认</span></el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
updateSendContent,
|
||||
} from "@/api/deliveryRecord/deliveryRecord.js";
|
||||
export default {
|
||||
props: ["resendVidable", "rowData","queryParams"],
|
||||
data() {
|
||||
return {
|
||||
sendData:'',
|
||||
param:"",
|
||||
paramValue:""
|
||||
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
resendVidable(val){
|
||||
if(val){
|
||||
this.sendData = this.rowData.sendContent;
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
cancel() {
|
||||
this.$emit("cancelSend");
|
||||
},
|
||||
submitSend() {
|
||||
console.log(this.rowData)
|
||||
this.updateSendContentFn({
|
||||
id:this.rowData.id,
|
||||
templateParams:this.rowData.templateParams
|
||||
})
|
||||
},
|
||||
updateSendContentFn(data){
|
||||
updateSendContent(data).then(res=>{
|
||||
this.$message.success('更新成功');
|
||||
this.$emit("cancelSend");
|
||||
this.$emit('getList',this.queryParams);
|
||||
})
|
||||
},
|
||||
changeContent(){
|
||||
let templateContent = this.rowData.templateContent
|
||||
this.rowData.templateParams.forEach(item => {
|
||||
templateContent = templateContent.replace(item.param,item.paramValue)
|
||||
});
|
||||
this.sendData = templateContent
|
||||
}
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped></style>
|
||||
@@ -0,0 +1,137 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px">
|
||||
<el-form-item label="案件编号" prop="caseNum">
|
||||
<el-input v-model="queryParams.caseNum" placeholder="请输入案件编号" clearable @keyup.enter.native="handleQuery" />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-table v-loading="loading" :data="dataList" style="width: 100%">
|
||||
<el-table-column label="序号" type="index" align="center">
|
||||
<template slot-scope="scope">
|
||||
<span>{{
|
||||
(queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1
|
||||
}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="案件编号" align="center" prop="caseNum" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="名称" align="center" prop="mailName" :show-overflow-tooltip="true" />
|
||||
<!-- <el-table-column label="证件号码" align="center" prop="caseNum" :show-overflow-tooltip="true" /> -->
|
||||
<el-table-column label="邮箱地址" align="center" prop="mailAddress" />
|
||||
<el-table-column label="发送时间" align="center" prop="sendTime" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="发送状态" align="center" prop="sendStatus" />
|
||||
<!-- <el-table-column label="文书类型" align="center" prop="hearDate" :show-overflow-tooltip="true" /> -->
|
||||
<!-- 缴费人 -->
|
||||
<!-- <el-table-column label="案件状态" align="center" prop="caseStatusName" /> -->
|
||||
<el-table-column label="内容" align="center" prop="mailContent"></el-table-column>
|
||||
<el-table-column label="操作" align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-button size="mini" type="text" @click="emailEditing(scope.row)" icon="el-icon-s-promotion">邮箱编辑</el-button>
|
||||
<el-button v-if="scope.row.sendStatus == '未发送'" size="mini" type="text" @click="resendCounts(scope.row)" icon="el-icon-s-promotion">重新发送</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<emailEdits :emailVidable="emailVidable" @cancelEmail="cancelEmail" @getList="getList" :queryParams="queryParams" :emailRow="emailRow"></emailEdits>
|
||||
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
|
||||
@pagination="getList(queryParams)" />
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
emailList,reSendMailRecord
|
||||
} from "@/api/deliveryRecord/deliveryRecord.js";
|
||||
import emailEdits from "./components/emailEdits.vue";
|
||||
import { getDicts } from '@/api/system/dict/data.js'
|
||||
export default {
|
||||
name: "paymentList",
|
||||
dicts: ["case_status"],
|
||||
components: {emailEdits},
|
||||
data() {
|
||||
return {
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
},
|
||||
caseStatus: [],
|
||||
// 遮罩层
|
||||
loading: false,
|
||||
// 总条数
|
||||
total: 0,
|
||||
// 表格数据
|
||||
form: {},
|
||||
// 校验表单
|
||||
rules: {},
|
||||
dataList: [],
|
||||
emailVidable:false,
|
||||
emailRow:{},
|
||||
sendStatusMessage:false,
|
||||
};
|
||||
},
|
||||
created() {
|
||||
getDicts("case_status").then(res => {
|
||||
this.caseStatus = res.data;
|
||||
this.getList(this.queryParams);
|
||||
})
|
||||
},
|
||||
methods: {
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1;
|
||||
this.getList(this.queryParams);
|
||||
},
|
||||
/** 重置按钮操作 */
|
||||
resetQuery() {
|
||||
this.resetForm("queryForm");
|
||||
this.handleQuery();
|
||||
},
|
||||
// 查询列表数据
|
||||
getList(parms) {
|
||||
this.loading = true;
|
||||
emailList(parms).then((response) => {
|
||||
this.dataList = response.rows;
|
||||
this.dataList.forEach(item => {
|
||||
if (item.sendStatus == 0) {
|
||||
item.sendStatus = "未发送"
|
||||
} else if (item.sendStatus == 1) {
|
||||
item.sendStatus = "已发送"
|
||||
|
||||
}
|
||||
})
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
// 邮箱编辑内容
|
||||
emailEditing(data){
|
||||
this.emailVidable = true
|
||||
this.emailRow = data;
|
||||
console.log(data)
|
||||
},
|
||||
// 关闭弹窗
|
||||
cancelEmail(){
|
||||
this.emailVidable = false
|
||||
},
|
||||
// 重新发送
|
||||
resendCounts(row){
|
||||
if(row.sendStatus=='未发送'){
|
||||
row.sendStatus = 0
|
||||
}else if(row.sendStatus=='已发送'){
|
||||
row.sendStatus = 1
|
||||
}
|
||||
reSendMailRecord(row).then(res=>{
|
||||
console.log(res)
|
||||
this.$message.success('发送成功');
|
||||
this.getList(this.queryParams);
|
||||
})
|
||||
|
||||
}
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped></style>
|
||||
@@ -0,0 +1,151 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="68px">
|
||||
<el-form-item label="案件编号" prop="caseNum">
|
||||
<el-input v-model="queryParams.caseNum" placeholder="请输入案件编号" clearable
|
||||
@keyup.enter.native="handleQuery" />
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-table v-loading="loading" :data="dataList" style="width: 100%">
|
||||
<el-table-column label="序号" type="index" align="center">
|
||||
<template slot-scope="scope">
|
||||
<span>{{
|
||||
(queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1
|
||||
}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="案件编号" align="center" prop="caseNum" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="手机号" align="center" prop="phone" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="发送时间" align="center" prop="sendTime" />
|
||||
<el-table-column label="发送状态" align="center" prop="sendStatus" />
|
||||
<el-table-column label="发送内容" align="center" prop="sendContent" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="备注" align="center" prop="reason" :show-overflow-tooltip="true"/>
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||
<template slot-scope="scope">
|
||||
<el-button size="mini" @click="copyContent(scope.row.sendContent)" type="text"
|
||||
icon="el-icon-document-copy">复制内容</el-button>
|
||||
<el-button size="mini" @click="resend(scope.row)" type="text" icon="el-icon-s-promotion">编辑内容</el-button>
|
||||
<el-button v-if="scope.row.sendStatus == '发送失败'|| scope.row.sendStatus == '发送中'" size="mini" type="text" @click="resendMessage(scope.row)" icon="el-icon-s-promotion">重新发送</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<resend :resendVidable="resendVidable" :rowData="rowData" @getList="getList" @cancelSend="cancelSend" :queryParams="queryParams"></resend>
|
||||
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum"
|
||||
:limit.sync="queryParams.pageSize"
|
||||
@pagination="getList({ caseNum: queryParams.caseNum,pageNum: queryParams.pageNum, pageSize: queryParams.pageSize})" />
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
recordList,reSendShortMessage
|
||||
} from "@/api/deliveryRecord/deliveryRecord.js";
|
||||
import resend from "./components/resend.vue";
|
||||
import { getDicts } from '@/api/system/dict/data.js'
|
||||
export default {
|
||||
name: "paymentList",
|
||||
dicts: ["case_status"],
|
||||
components: {resend},
|
||||
data() {
|
||||
return {
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 10,
|
||||
},
|
||||
caseStatus: [],
|
||||
// 遮罩层
|
||||
loading: false,
|
||||
// 总条数
|
||||
total: 0,
|
||||
// 表格数据
|
||||
form: {},
|
||||
// 校验表单
|
||||
rules: {},
|
||||
dataList: [],
|
||||
rowData:{},
|
||||
resendVidable:false,
|
||||
sendStatusMessage:false
|
||||
};
|
||||
},
|
||||
created() {
|
||||
getDicts("case_status").then(res => {
|
||||
this.getList({ caseNum: this.queryParams.caseNum,pageNum: this.queryParams.pageNum, pageSize: this.queryParams.pageSize});
|
||||
})
|
||||
},
|
||||
methods: {
|
||||
/** 复制内容 */
|
||||
copyContent(row) {
|
||||
const el = document.createElement('textarea');
|
||||
el.value = row;
|
||||
document.body.appendChild(el);
|
||||
el.select();
|
||||
document.execCommand('copy');
|
||||
document.body.removeChild(el);
|
||||
this.$message.success('复制成功');
|
||||
},
|
||||
/**重新发送 */
|
||||
resend(row){
|
||||
this.resendVidable = true;
|
||||
this.rowData = row;
|
||||
},
|
||||
/**关闭弹窗 */
|
||||
cancelSend(){
|
||||
this.resendVidable = false;
|
||||
},
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1;
|
||||
this.getList({ caseNum: this.queryParams.caseNum,pageNum: this.queryParams.pageNum, pageSize: this.queryParams.pageSize });
|
||||
},
|
||||
/** 重置按钮操作 */
|
||||
resetQuery() {
|
||||
this.resetForm("queryForm");
|
||||
this.handleQuery();
|
||||
},
|
||||
// 查询列表数据
|
||||
getList(data) {
|
||||
this.loading = true;
|
||||
recordList(data).then((response) => {
|
||||
this.dataList = response.rows;
|
||||
this.dataList.forEach(item => {
|
||||
if (item.sendStatus == 1) {
|
||||
item.sendStatus = "发送成功"
|
||||
} else if (item.sendStatus == 2) {
|
||||
item.sendStatus = "发送中"
|
||||
} else if(item.sendStatus == 3){
|
||||
item.sendStatus = "发送失败"
|
||||
}
|
||||
})
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
// 重新发送
|
||||
resendMessage(row){
|
||||
console.log(row.sendStatus)
|
||||
let valuesRow ={
|
||||
id:row.id,
|
||||
templateId:row.templateId,
|
||||
phone:row.phone,
|
||||
templateParams:row.templateParams
|
||||
}
|
||||
this.reSendShortMessageFn(valuesRow)
|
||||
console.log(valuesRow)
|
||||
|
||||
},
|
||||
reSendShortMessageFn(valuesRow){
|
||||
reSendShortMessage(valuesRow).then(res=>{
|
||||
this.$message.success('发送成功');
|
||||
this.getList({ caseNum: this.queryParams.caseNum,pageNum: this.queryParams.pageNum, pageSize: this.queryParams.pageSize });
|
||||
})
|
||||
}
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped></style>
|
||||
@@ -1,7 +1,22 @@
|
||||
<template>
|
||||
<div class="login">
|
||||
<el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form">
|
||||
<h3 class="title">调解后台管理系统</h3>
|
||||
<!-- 左侧 -->
|
||||
<div class="leftBox">
|
||||
<div class="leftIcon">
|
||||
<div class="Icon"></div>
|
||||
<div>智慧调解系统</div>
|
||||
</div>
|
||||
<div class="leftImage"></div>
|
||||
</div>
|
||||
<!-- 右侧 -->
|
||||
<div class="rightBox">
|
||||
<el-form
|
||||
ref="loginForm"
|
||||
:model="loginForm"
|
||||
:rules="loginRules"
|
||||
class="login-form"
|
||||
>
|
||||
<h2 class="title">用户登录</h2>
|
||||
<el-form-item prop="username">
|
||||
<el-input
|
||||
v-model="loginForm.username"
|
||||
@@ -9,7 +24,11 @@
|
||||
auto-complete="off"
|
||||
placeholder="账号"
|
||||
>
|
||||
<svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" />
|
||||
<svg-icon
|
||||
slot="prefix"
|
||||
icon-class="user"
|
||||
class="el-input__icon input-icon"
|
||||
/>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="password">
|
||||
@@ -20,7 +39,11 @@
|
||||
placeholder="密码"
|
||||
@keyup.enter.native="handleLogin"
|
||||
>
|
||||
<svg-icon slot="prefix" icon-class="password" class="el-input__icon input-icon" />
|
||||
<svg-icon
|
||||
slot="prefix"
|
||||
icon-class="password"
|
||||
class="el-input__icon input-icon"
|
||||
/>
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="code" v-if="captchaEnabled">
|
||||
@@ -31,68 +54,124 @@
|
||||
style="width: 63%"
|
||||
@keyup.enter.native="handleLogin"
|
||||
>
|
||||
<svg-icon slot="prefix" icon-class="validCode" class="el-input__icon input-icon" />
|
||||
<svg-icon
|
||||
slot="prefix"
|
||||
icon-class="validCode"
|
||||
class="el-input__icon input-icon"
|
||||
/>
|
||||
</el-input>
|
||||
<div class="login-code">
|
||||
<img :src="codeUrl" @click="getCode" class="login-code-img" />
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-checkbox v-model="loginForm.rememberMe" style="margin:0px 0px 25px 0px;">记住密码</el-checkbox>
|
||||
<el-form-item style="width:100%;">
|
||||
<el-checkbox
|
||||
v-model="loginForm.rememberMe"
|
||||
style="margin: 0px 0px 25px 0px"
|
||||
>记住密码</el-checkbox
|
||||
>
|
||||
<el-form-item style="width: 100%">
|
||||
<el-button
|
||||
:loading="loading"
|
||||
size="medium"
|
||||
type="primary"
|
||||
style="width:100%;"
|
||||
style="width: 100%"
|
||||
@click.native.prevent="handleLogin"
|
||||
>
|
||||
<span v-if="!loading">登 录</span>
|
||||
<span v-else>登 录 中...</span>
|
||||
</el-button>
|
||||
<div style="float: right;" v-if="register">
|
||||
<router-link class="link-type" :to="'/register'">立即注册</router-link>
|
||||
<div style="float: right" v-if="register">
|
||||
<!-- <router-link class="link-type" :to="'/register'">立即注册</router-link> -->
|
||||
<el-button
|
||||
type="text"
|
||||
v-if="buttonReg"
|
||||
@click="registrationLink('/register')"
|
||||
>立即注册</el-button
|
||||
>
|
||||
</div>
|
||||
<div class="registerImg" v-show="closeImgs">
|
||||
<div class="closeImg" @click="closeImg">
|
||||
<img
|
||||
style="width: 25px; height: 25px"
|
||||
src="../assets/images/closed.png"
|
||||
alt=""
|
||||
/>
|
||||
<span style="padding-left: 100px">扫码人脸核验</span>
|
||||
</div>
|
||||
<div id="qrcodeImg" style="padding-left: 76px"></div>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
<!-- 注册时选择是否 -->
|
||||
<div>
|
||||
<el-dialog
|
||||
title="是否需要人脸核实"
|
||||
:visible.sync="centerDialogVisible"
|
||||
width="30%"
|
||||
center
|
||||
>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="facialVerification('/register')" type="primary"
|
||||
>是</el-button
|
||||
>
|
||||
<el-button @click="noFacialVerification('/register')" type="primary"
|
||||
>否</el-button
|
||||
>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</div>
|
||||
<!-- 底部 -->
|
||||
<div class="el-login-footer">
|
||||
<span>Copyright © 2023 乙巢(上海)企业管理服务有限公司.</span>
|
||||
<div>Copyright © 2023 乙巢(上海)企业管理服务有限公司.</div>
|
||||
<div>Version:1.1.4</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getCodeImg } from "@/api/login";
|
||||
import {
|
||||
getCodeImg,
|
||||
selectIdentityAuthenticaEIDtoken,
|
||||
selectPCEIDtokenStatus,
|
||||
} from "@/api/login";
|
||||
import Cookies from "js-cookie";
|
||||
import { encrypt, decrypt } from '@/utils/jsencrypt'
|
||||
import QRCode from "qrcodejs2";
|
||||
import { encrypt, decrypt } from "@/utils/jsencrypt";
|
||||
|
||||
export default {
|
||||
name: "Login",
|
||||
data() {
|
||||
return {
|
||||
codeUrl: "",
|
||||
closeImgs: false,
|
||||
centerDialogVisible: false,
|
||||
buttonReg: true,
|
||||
eidTokens: {},
|
||||
timer: null,
|
||||
pathVal: "",
|
||||
loginForm: {
|
||||
username: "admin",
|
||||
password: "admin123",
|
||||
rememberMe: false,
|
||||
code: "",
|
||||
uuid: ""
|
||||
uuid: "",
|
||||
},
|
||||
loginRules: {
|
||||
username: [
|
||||
{ required: true, trigger: "blur", message: "请输入您的账号" }
|
||||
{ required: true, trigger: "blur", message: "请输入您的账号" },
|
||||
],
|
||||
password: [
|
||||
{ required: true, trigger: "blur", message: "请输入您的密码" }
|
||||
{ required: true, trigger: "blur", message: "请输入您的密码" },
|
||||
],
|
||||
code: [{ required: true, trigger: "change", message: "请输入验证码" }]
|
||||
code: [{ required: true, trigger: "change", message: "请输入验证码" }],
|
||||
},
|
||||
loading: false,
|
||||
// 验证码开关
|
||||
captchaEnabled: true,
|
||||
// 注册开关
|
||||
register: false,
|
||||
redirect: undefined
|
||||
register: true,
|
||||
redirect: undefined,
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
@@ -100,8 +179,8 @@ export default {
|
||||
handler: function (route) {
|
||||
this.redirect = route.query && route.query.redirect;
|
||||
},
|
||||
immediate: true
|
||||
}
|
||||
immediate: true,
|
||||
},
|
||||
},
|
||||
created() {
|
||||
this.getCode();
|
||||
@@ -109,8 +188,9 @@ export default {
|
||||
},
|
||||
methods: {
|
||||
getCode() {
|
||||
getCodeImg().then(res => {
|
||||
this.captchaEnabled = res.captchaEnabled === undefined ? true : res.captchaEnabled;
|
||||
getCodeImg().then((res) => {
|
||||
this.captchaEnabled =
|
||||
res.captchaEnabled === undefined ? true : res.captchaEnabled;
|
||||
if (this.captchaEnabled) {
|
||||
this.codeUrl = "data:image/gif;base64," + res.img;
|
||||
this.loginForm.uuid = res.uuid;
|
||||
@@ -120,29 +200,37 @@ export default {
|
||||
getCookie() {
|
||||
const username = Cookies.get("username");
|
||||
const password = Cookies.get("password");
|
||||
const rememberMe = Cookies.get('rememberMe')
|
||||
const rememberMe = Cookies.get("rememberMe");
|
||||
this.loginForm = {
|
||||
username: username === undefined ? this.loginForm.username : username,
|
||||
password: password === undefined ? this.loginForm.password : decrypt(password),
|
||||
rememberMe: rememberMe === undefined ? false : Boolean(rememberMe)
|
||||
password:
|
||||
password === undefined ? this.loginForm.password : decrypt(password),
|
||||
rememberMe: rememberMe === undefined ? false : Boolean(rememberMe),
|
||||
};
|
||||
},
|
||||
handleLogin() {
|
||||
this.$refs.loginForm.validate(valid => {
|
||||
this.$refs.loginForm.validate((valid) => {
|
||||
if (valid) {
|
||||
this.loading = true;
|
||||
if (this.loginForm.rememberMe) {
|
||||
Cookies.set("username", this.loginForm.username, { expires: 30 });
|
||||
Cookies.set("password", encrypt(this.loginForm.password), { expires: 30 });
|
||||
Cookies.set('rememberMe', this.loginForm.rememberMe, { expires: 30 });
|
||||
Cookies.set("password", encrypt(this.loginForm.password), {
|
||||
expires: 30,
|
||||
});
|
||||
Cookies.set("rememberMe", this.loginForm.rememberMe, {
|
||||
expires: 30,
|
||||
});
|
||||
} else {
|
||||
Cookies.remove("username");
|
||||
Cookies.remove("password");
|
||||
Cookies.remove('rememberMe');
|
||||
Cookies.remove("rememberMe");
|
||||
}
|
||||
this.$store.dispatch("Login", this.loginForm).then(() => {
|
||||
this.$store
|
||||
.dispatch("Login", this.loginForm)
|
||||
.then(() => {
|
||||
this.$router.push({ path: this.redirect || "/" }).catch(() => {});
|
||||
}).catch(() => {
|
||||
})
|
||||
.catch(() => {
|
||||
this.loading = false;
|
||||
if (this.captchaEnabled) {
|
||||
this.getCode();
|
||||
@@ -150,8 +238,72 @@ export default {
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
// 生成二维码
|
||||
qrcode(url) {
|
||||
// 前端根据 URL 生成微信支付二维码
|
||||
document.getElementById("qrcodeImg").innerHTML = "";
|
||||
return new QRCode("qrcodeImg", {
|
||||
width: 200,
|
||||
height: 200,
|
||||
text: url,
|
||||
colorDark: "#000",
|
||||
colorLight: "#fff",
|
||||
});
|
||||
},
|
||||
registrationLink(path) {
|
||||
this.centerDialogVisible = true;
|
||||
},
|
||||
// 是人脸核实
|
||||
facialVerification(path) {
|
||||
this.centerDialogVisible = false;
|
||||
this.pathVal = path;
|
||||
// clearInterval(this.timer);
|
||||
selectIdentityAuthenticaEIDtoken().then((res) => {
|
||||
this.closeImgs = true;
|
||||
this.buttonReg = false;
|
||||
let url = res.data.Url;
|
||||
this.eidTokens = {
|
||||
eidToken: res.data.EidToken,
|
||||
};
|
||||
this.timer = setInterval(() => {
|
||||
this.getSelectPCEIDtokenStatus(this.eidTokens);
|
||||
}, 10000);
|
||||
this.qrcode(url);
|
||||
});
|
||||
},
|
||||
// 不用人脸核实
|
||||
noFacialVerification(path) {
|
||||
this.$router.push(path);
|
||||
},
|
||||
// H5轮询获取E证通Token状态
|
||||
getSelectPCEIDtokenStatus(data) {
|
||||
selectPCEIDtokenStatus(data).then((res) => {
|
||||
if (res.data.certificationStatus == 0) {
|
||||
// this.$router.push(this.pathVal);
|
||||
this.$router.push({
|
||||
path:this.pathVal,
|
||||
query:{
|
||||
identityNo:res.data.identityNo,
|
||||
name:res.data.name
|
||||
}
|
||||
})
|
||||
}
|
||||
});
|
||||
},
|
||||
// 关闭弹框
|
||||
closeImg() {
|
||||
clearInterval(this.timer);
|
||||
this.closeImgs = false;
|
||||
this.buttonReg = true;
|
||||
},
|
||||
},
|
||||
beforeDestroy() {
|
||||
// 清除计时器
|
||||
if (this.timer) {
|
||||
clearInterval(this.timer);
|
||||
}
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
@@ -161,13 +313,52 @@ export default {
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
height: 100%;
|
||||
background-image: url("../assets/images/loginbg.jpg");
|
||||
|
||||
.leftBox {
|
||||
width: 50%;
|
||||
height: 90%;
|
||||
|
||||
.leftIcon {
|
||||
height: 20%;
|
||||
width: 100%;
|
||||
margin: 0% 10% 1% 15%;
|
||||
|
||||
.Icon {
|
||||
width: 100px;
|
||||
height: 105px;
|
||||
background-image: url("../assets/images/logos.png");
|
||||
background-size: cover;
|
||||
}
|
||||
|
||||
div {
|
||||
font-size: 18px;
|
||||
}
|
||||
}
|
||||
|
||||
.leftImage {
|
||||
width: 100%;
|
||||
height: 90%;
|
||||
margin-left: 10%;
|
||||
margin-top: -15%;
|
||||
background-image: url("../assets/images/login.svg");
|
||||
background-size: cover;
|
||||
}
|
||||
}
|
||||
|
||||
.rightBox {
|
||||
width: 50%;
|
||||
height: 90%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
}
|
||||
|
||||
.title {
|
||||
margin: 0px auto 30px auto;
|
||||
text-align: center;
|
||||
color: #707070;
|
||||
color: #1296db;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.login-form {
|
||||
@@ -175,35 +366,43 @@ export default {
|
||||
background: #ffffff;
|
||||
width: 400px;
|
||||
padding: 25px 25px 5px 25px;
|
||||
|
||||
.el-input {
|
||||
height: 38px;
|
||||
|
||||
input {
|
||||
height: 38px;
|
||||
}
|
||||
}
|
||||
|
||||
.input-icon {
|
||||
height: 39px;
|
||||
width: 14px;
|
||||
margin-left: 2px;
|
||||
}
|
||||
}
|
||||
|
||||
.login-tip {
|
||||
font-size: 13px;
|
||||
text-align: center;
|
||||
color: #bfbfbf;
|
||||
}
|
||||
|
||||
.login-code {
|
||||
width: 33%;
|
||||
height: 38px;
|
||||
float: right;
|
||||
|
||||
img {
|
||||
cursor: pointer;
|
||||
vertical-align: middle;
|
||||
}
|
||||
}
|
||||
|
||||
.el-login-footer {
|
||||
height: 40px;
|
||||
line-height: 40px;
|
||||
background-color: rgb(126, 131, 135);
|
||||
height: 55px;
|
||||
line-height: 55px;
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
width: 100%;
|
||||
@@ -212,6 +411,16 @@ export default {
|
||||
font-family: Arial;
|
||||
font-size: 12px;
|
||||
letter-spacing: 1px;
|
||||
|
||||
div {
|
||||
height: 30%;
|
||||
}
|
||||
}
|
||||
|
||||
.registerImg {
|
||||
border: 1px solid #c0c0c0;
|
||||
width: 350px;
|
||||
height: 250px;
|
||||
}
|
||||
.login-code-img {
|
||||
height: 38px;
|
||||
|
||||
@@ -6,12 +6,12 @@
|
||||
<el-form-item label="模板名称" prop="temName">
|
||||
<el-input v-model="ruleForm.temName"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="模板类型" prop="temType">
|
||||
<!-- <el-form-item label="模板类型" prop="temType">
|
||||
<el-select v-model="ruleForm.temType" placeholder="请选择">
|
||||
<el-option v-for="dict in dict.type.template_type" :key="dict.value" :label="dict.label"
|
||||
:value="dict.value"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-form-item> -->
|
||||
<el-form-item label="机构名称" prop="identifyId">
|
||||
<el-select v-model="ruleForm.identifyId" placeholder="请选择">
|
||||
<el-option v-for="item in tempList" :key="item.id" :label="item.identifyName" :value="item.id">
|
||||
@@ -19,10 +19,25 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-upload class="avatar-uploader" :before-upload="beforeUpload" :on-success="handleSuccess" ref="upload"
|
||||
:action="UploadUrl()" :headers="headers" :data="filedata" :on-remove="handleRemove"
|
||||
:on-change="handleChange" accept=".doc,.docx" :file-list="fileList" :auto-upload="false">
|
||||
<el-button size="small" type="primary">选择模板文件</el-button>
|
||||
<el-upload class="avatar-uploader" :on-success="handleSuccessC" ref="upload" :action="UploadUrl()"
|
||||
:headers="headers" :data="filedataC" :on-remove="handleRemoveC" :on-change="handleChangeC" accept=".doc,.docx"
|
||||
:file-list="fileListC" :limit="1">
|
||||
<el-button size="small" type="primary">选择自然人调解申请书模板</el-button>
|
||||
</el-upload>
|
||||
<el-upload class="avatar-uploader" :on-success="handleSuccess" ref="upload" :action="UploadUrl()"
|
||||
:headers="headers" :data="filedata" :on-remove="handleRemove" :on-change="handleChange" accept=".doc,.docx"
|
||||
:file-list="fileList" :limit="1">
|
||||
<el-button size="small" type="primary">选择机构调解申请书模板</el-button>
|
||||
</el-upload>
|
||||
<el-upload class="avatar-uploader" :on-success="handleSuccessA" ref="uploadA" :action="UploadUrl()"
|
||||
:headers="headers" :data="filedataA" :on-remove="handleRemoveA" :on-change="handleChangeA"
|
||||
accept=".doc,.docx" :file-list="fileListA" :limit="1">
|
||||
<el-button size="small" type="primary">选择和解协议模板</el-button>
|
||||
</el-upload>
|
||||
<el-upload class="avatar-uploader" :on-success="handleSuccessB" ref="upload" :action="UploadUrl()"
|
||||
:headers="headers" :data="filedataB" :on-remove="handleRemoveB" :on-change="handleChangeB"
|
||||
accept=".doc,.docx" :file-list="fileListB" :limit="1">
|
||||
<el-button size="small" type="primary">选择调解书模板</el-button>
|
||||
</el-upload>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="cancel" class="endbutton"><span>取 消</span></el-button>
|
||||
@@ -35,6 +50,7 @@
|
||||
import { getToken } from "@/utils/auth";
|
||||
import {
|
||||
deptIdentifyList,
|
||||
insertTemplate
|
||||
} from "@/api/officialSeal/officialSeal.js";
|
||||
export default {
|
||||
props: ["uploadVisable", "uploadData", "queryParams"],
|
||||
@@ -42,25 +58,42 @@ export default {
|
||||
data() {
|
||||
return {
|
||||
fileList: [],
|
||||
fileListA: [],
|
||||
fileListB: [],
|
||||
fileListC: [],
|
||||
data: [],
|
||||
tempList: [],
|
||||
isImg: false,
|
||||
headers: {
|
||||
Authorization: "Bearer " + getToken(),
|
||||
},
|
||||
filedata: {},
|
||||
filedata: {
|
||||
annexType: 1
|
||||
},
|
||||
filedataA: {
|
||||
annexType: 2
|
||||
},
|
||||
filedataB: {
|
||||
annexType: 3
|
||||
},
|
||||
filedataC: {
|
||||
annexType: 4
|
||||
},
|
||||
flagBtn: false,
|
||||
ruleForm: {},
|
||||
rules: {
|
||||
temName: [
|
||||
{ required: true, message: '请输入模板名称', trigger: 'blur' },
|
||||
],
|
||||
temType: [
|
||||
{ required: true, message: '请输入模板名称', trigger: 'blur' },
|
||||
],
|
||||
// temType: [
|
||||
// { required: true, message: '请输入模板名称', trigger: 'blur' },
|
||||
// ],
|
||||
identifyId: [
|
||||
{ required: true, message: '请输入模板名称', trigger: 'blur' },
|
||||
]
|
||||
},
|
||||
submitForm: {
|
||||
annexIds: []
|
||||
}
|
||||
};
|
||||
},
|
||||
@@ -89,35 +122,78 @@ export default {
|
||||
this.isImg = file.type === '.doc' || '.docx'
|
||||
},
|
||||
UploadUrl() {
|
||||
return window.location.origin + "/API/deptIdentify/insertTemplate";
|
||||
},
|
||||
submitUpload() {
|
||||
this.$refs['ruleForm'].validate((valid) => {
|
||||
if (valid) {
|
||||
this.filedata.identifyId = this.ruleForm.identifyId;
|
||||
this.filedata.temName = this.ruleForm.temName;
|
||||
if (this.isImg) {
|
||||
this.$refs.upload.submit();
|
||||
}else{
|
||||
this.$message.error('只能上传doc,docx格式的文件')
|
||||
}
|
||||
}
|
||||
});
|
||||
return window.location.origin + "/API/deptIdentify/upload";
|
||||
},
|
||||
handleRemove(file, fileList) {
|
||||
console.log(file, fileList);
|
||||
},
|
||||
beforeUpload(file) {
|
||||
// debugger
|
||||
// this.isImg = file.type === '.doc' || '.docx'
|
||||
},
|
||||
handleSuccess() {
|
||||
handleSuccess(res) {
|
||||
this.$message.success('上传成功');
|
||||
console.log(res, "OOOOOOOOOOOOOOOOO");
|
||||
this.submitForm.annexIds.push(res.annexId)
|
||||
},
|
||||
handleChangeA(file, fileList) {
|
||||
this.isImg = file.type === '.doc' || '.docx'
|
||||
},
|
||||
// 自然人
|
||||
handleSuccessC(res) {
|
||||
console.log(res,'自然人上传成功');
|
||||
this.$message.success('上传成功');
|
||||
this.submitForm.annexIds.push(res.annexId)
|
||||
},
|
||||
handleRemoveC(file, fileList) {
|
||||
console.log(file, fileList);
|
||||
},
|
||||
handleChangeC(file, fileList) {
|
||||
this.isImg = file.type === '.doc' || '.docx'
|
||||
},
|
||||
UploadUrl() {
|
||||
return window.location.origin + "/API/deptIdentify/upload";
|
||||
},
|
||||
handleRemoveA(file, fileList) {
|
||||
console.log(file, fileList);
|
||||
},
|
||||
handleSuccessA(res) {
|
||||
this.$message.success('上传成功');
|
||||
this.submitForm.annexIds.push(res.annexId)
|
||||
},
|
||||
|
||||
handleChangeB(file, fileList) {
|
||||
this.isImg = file.type === '.doc' || '.docx'
|
||||
},
|
||||
UploadUrl() {
|
||||
return window.location.origin + "/API/deptIdentify/upload";
|
||||
},
|
||||
handleRemoveB(file, fileList) {
|
||||
console.log(file, fileList);
|
||||
},
|
||||
handleSuccessB(res) {
|
||||
this.$message.success('上传成功');
|
||||
this.submitForm.annexIds.push(res.annexId)
|
||||
},
|
||||
submitUpload() {
|
||||
this.$refs['ruleForm'].validate((valid) => {
|
||||
if (valid) {
|
||||
if(this.submitForm.annexIds.length < 4){
|
||||
this.$message.error('四种类型模板必须上传');
|
||||
return
|
||||
}
|
||||
this.submitForm.identifyId = this.ruleForm.identifyId;
|
||||
this.submitForm.temName = this.ruleForm.temName;
|
||||
insertTemplate(this.submitForm).then(res => {
|
||||
this.$message.success('新增成功');
|
||||
this.$emit("cancelUpload");
|
||||
this.$emit('getList', this.queryParams);
|
||||
})
|
||||
}
|
||||
});
|
||||
},
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped></style>
|
||||
<style lang="scss" scoped>
|
||||
.avatar-uploader {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
</style>
|
||||
@@ -1,26 +1,59 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-dialog title="修改模板" :visible="editVisable" v-if="editVisable" @close="cancel" width="600px" center>
|
||||
<el-form :model="ruleForm" label-position="left" :rules="rules" ref="ruleForm" label-width="90px"
|
||||
<el-form :model="ruleForm" label-position="left" :rules="rules" ref="ruleForm" label-width="170px"
|
||||
class="demo-ruleForm">
|
||||
<el-form-item label="模板名称" prop="temName">
|
||||
<el-input v-model="ruleForm.temName"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="模板类型" prop="temType">
|
||||
<!-- <el-form-item label="模板类型" prop="temType">
|
||||
<el-select v-model="ruleForm.temType" placeholder="请选择">
|
||||
<el-option v-for="dict in dict.type.template_type" :key="dict.value" :label="dict.label"
|
||||
:value="dict.value"></el-option>
|
||||
</el-select>
|
||||
</el-form-item> -->
|
||||
<el-form-item label="自然人调解申请书模板" v-if="ruleForm.personApplicationFile && ruleForm.personApplicationFile.fileName">
|
||||
<span style="color: #0e5ce3;cursor:pointer" @click="openUrl(ruleForm.personApplicationFile.temOrigPath)">{{
|
||||
ruleForm.personApplicationFile.fileName ? ruleForm.personApplicationFile.fileName : ""
|
||||
}}</span>
|
||||
</el-form-item>
|
||||
<el-form-item label="当前模板">
|
||||
<span style="color: #0e5ce3;cursor:pointer" @click="openUrl(editData.temOrigPath)">{{ editData.fileName
|
||||
<el-form-item label="机构调解申请书模板" v-if="ruleForm.applicationFile.fileName">
|
||||
<span style="color: #0e5ce3;cursor:pointer" @click="openUrl(ruleForm.applicationFile.temOrigPath)">{{
|
||||
ruleForm.applicationFile.fileName ? ruleForm.applicationFile.fileName : ""
|
||||
}}</span>
|
||||
</el-form-item>
|
||||
<el-form-item label="和解协议模板" v-if="ruleForm.agreementFile.fileName">
|
||||
<!-- <span style="color: #0e5ce3;cursor:pointer" @click="openUrl(editData.temOrigPath)">{{ editData.fileName
|
||||
}}</span> -->
|
||||
<span style="color: #0e5ce3;cursor:pointer" @click="openUrl(ruleForm.agreementFile.temOrigPath)">{{
|
||||
ruleForm.agreementFile.fileName ? ruleForm.agreementFile.fileName : ""
|
||||
}}</span>
|
||||
</el-form-item>
|
||||
<el-form-item label="调解书模板" v-if="ruleForm.bookFile.fileName">
|
||||
<span style="color: #0e5ce3;cursor:pointer" @click="openUrl(ruleForm.bookFile.temOrigPath)">{{
|
||||
ruleForm.bookFile.fileName ? ruleForm.bookFile.fileName : ""
|
||||
}}</span>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<el-upload class="avatar-uploader" :before-upload="beforeUpload" :on-success="handleSuccess" ref="upload"
|
||||
:action="UploadUrl()" :headers="headers" :data="filedata" :on-remove="handleRemove"
|
||||
:on-change="handleChange" accept=".doc,.docx" :file-list="fileList" :auto-upload="false">
|
||||
<el-button size="small" type="primary">选择模板文件</el-button>
|
||||
<el-upload class="avatar-uploader" :on-success="handleSuccessC" ref="upload" :action="UploadUrl()"
|
||||
:headers="headers" :data="filedataC" :on-remove="handleRemoveC" :on-change="handleChangeC" accept=".doc,.docx"
|
||||
:file-list="fileListC" :limit="1">
|
||||
<el-button size="small" type="primary">选择自然人调解申请书模板</el-button>
|
||||
</el-upload>
|
||||
<el-upload class="avatar-uploader" :on-success="handleSuccess" ref="upload" :action="UploadUrl()"
|
||||
:headers="headers" :data="filedata" :on-remove="handleRemove" :on-change="handleChange" accept=".doc,.docx"
|
||||
:file-list="fileList" :limit="1">
|
||||
<el-button size="small" type="primary">选择机构调解申请书模板</el-button>
|
||||
</el-upload>
|
||||
<el-upload class="avatar-uploader" :on-success="handleSuccessA" ref="uploadA" :action="UploadUrl()"
|
||||
:headers="headers" :data="filedataA" :on-remove="handleRemoveA" :on-change="handleChangeA"
|
||||
accept=".doc,.docx" :file-list="fileListA" :limit="1">
|
||||
<el-button size="small" type="primary">选择和解协议模板</el-button>
|
||||
</el-upload>
|
||||
<el-upload class="avatar-uploader" :on-success="handleSuccessB" ref="upload" :action="UploadUrl()"
|
||||
:headers="headers" :data="filedataB" :on-remove="handleRemoveB" :on-change="handleChangeB"
|
||||
accept=".doc,.docx" :file-list="fileListB" :limit="1">
|
||||
<el-button size="small" type="primary">选择调解书模板</el-button>
|
||||
</el-upload>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="cancel" class="endbutton"><span>取 消</span></el-button>
|
||||
@@ -31,37 +64,59 @@
|
||||
</template>
|
||||
<script>
|
||||
import { getToken } from "@/utils/auth";
|
||||
import { updateTemplate } from "@/api/officialSeal/officialSeal"
|
||||
import { updateTemplate, getTemplateDetail } from "@/api/officialSeal/officialSeal"
|
||||
export default {
|
||||
props: ["editVisable", "editData", "queryParams"],
|
||||
dicts: ["template_type"],
|
||||
data() {
|
||||
return {
|
||||
fileList: [],
|
||||
fileListA: [],
|
||||
fileListB: [],
|
||||
fileListC: [],
|
||||
data: [],
|
||||
headers: {
|
||||
Authorization: "Bearer " + getToken(),
|
||||
},
|
||||
isImg: true,
|
||||
filedata: {},
|
||||
filedata: {
|
||||
annexType: 1
|
||||
},
|
||||
filedataA: {
|
||||
annexType: 2
|
||||
},
|
||||
filedataB: {
|
||||
annexType: 3
|
||||
},
|
||||
filedataC: {
|
||||
annexType: 4
|
||||
},
|
||||
flagBtn: false,
|
||||
ruleForm: {},
|
||||
ruleForm: {
|
||||
agreementFile:{},
|
||||
applicationFile:{},
|
||||
bookFile:{}
|
||||
},
|
||||
rules: {
|
||||
temName: [
|
||||
{ required: true, message: '请输入模板名称', trigger: 'blur' },
|
||||
],
|
||||
temType: [
|
||||
{ required: true, message: '请输入模板名称', trigger: 'blur' },
|
||||
],
|
||||
},
|
||||
submitForm: {
|
||||
annexIds: []
|
||||
}
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
editData(val) {
|
||||
if (val) {
|
||||
this.ruleForm = val;
|
||||
this.fileList = [];
|
||||
this.ruleForm.temType = this.ruleForm.temType + '';
|
||||
}
|
||||
},
|
||||
editVisable(val){
|
||||
if(val){
|
||||
this.getTemplateDetailFn({ id: this.editData.id });
|
||||
this.submitForm.annexIds = []
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -77,51 +132,104 @@ export default {
|
||||
cancel() {
|
||||
this.$emit("cancelEdit");
|
||||
},
|
||||
handleChange(file, fileList) {
|
||||
this.isImg = file.type === '.doc' || '.docx';
|
||||
this.fileList = fileList;
|
||||
},
|
||||
UploadUrl() {
|
||||
return window.location.origin + "/API/deptIdentify/updateTemplate";
|
||||
},
|
||||
/**根据id查看详情*/
|
||||
getTemplateDetailFn(data) {
|
||||
getTemplateDetail(data).then(res => {
|
||||
this.ruleForm = res;
|
||||
// this.submitForm.annexIds = [this.ruleForm.agreementFile.fileId,this.ruleForm.applicationFile.fileId,this.ruleForm.bookFile.fileId]
|
||||
})
|
||||
},
|
||||
submitUpload() {
|
||||
let that = this;
|
||||
this.$refs['ruleForm'].validate((valid) => {
|
||||
if (valid) {
|
||||
if (that.fileList.length > 0) {
|
||||
that.filedata.id = that.editData.id;
|
||||
that.filedata.temName = that.ruleForm.temName;
|
||||
if (that.isImg) {
|
||||
that.$refs.upload.submit();
|
||||
} else {
|
||||
that.$message.error('只能上传doc,docx格式的文件')
|
||||
}
|
||||
} else {
|
||||
updateTemplate({
|
||||
id: that.editData.id,
|
||||
temName: that.ruleForm.temName
|
||||
}).then(res => {
|
||||
that.$message.success('修改成功');
|
||||
that.$emit("cancelEdit");
|
||||
that.$emit('getList', that.queryParams);
|
||||
this.$refs['ruleForm'].validate((valid) => {
|
||||
if (valid) {
|
||||
this.submitForm.identifyId = this.ruleForm.identifyId;
|
||||
this.submitForm.temName = this.ruleForm.temName;
|
||||
this.submitForm.id = this.ruleForm.id;
|
||||
console.log(this.submitForm,'ooooooooooooooooooooooooooooo');
|
||||
updateTemplate(this.submitForm).then(res => {
|
||||
this.$message.success('修改成功');
|
||||
this.$emit("cancelEdit");
|
||||
this.$emit('getList', this.queryParams);
|
||||
})
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
},
|
||||
handleChange(file, fileList) {
|
||||
this.isImg = file.type === '.doc' || '.docx'
|
||||
},
|
||||
UploadUrl() {
|
||||
return window.location.origin + "/API/deptIdentify/upload";
|
||||
},
|
||||
handleRemove(file, fileList) {
|
||||
console.log(file, fileList);
|
||||
},
|
||||
beforeUpload(file) {
|
||||
// this.isImg = file.type === '.doc' || '.docx'
|
||||
// 机构
|
||||
handleSuccess(res) {
|
||||
console.log(res,'机构上传成功');
|
||||
this.$message.success('上传成功');
|
||||
// this.submitForm.annexIds.push(res.annexId);
|
||||
this.submitForm.annexIds.push(res.annexId);
|
||||
},
|
||||
handleSuccess() {
|
||||
this.$message.success('修改成功');
|
||||
this.$emit("cancelEdit");
|
||||
this.$emit('getList', this.queryParams);
|
||||
}
|
||||
// 自然人
|
||||
handleSuccessC(res) {
|
||||
console.log(res,'自然人上传成功');
|
||||
this.$message.success('上传成功');
|
||||
this.submitForm.annexIds.push(res.annexId);
|
||||
},
|
||||
handleRemoveC(file, fileList) {
|
||||
console.log(file, fileList);
|
||||
},
|
||||
handleChangeC(file, fileList) {
|
||||
this.isImg = file.type === '.doc' || '.docx'
|
||||
},
|
||||
handleChangeA(file, fileList) {
|
||||
this.isImg = file.type === '.doc' || '.docx'
|
||||
},
|
||||
UploadUrl() {
|
||||
return window.location.origin + "/API/deptIdentify/upload";
|
||||
},
|
||||
handleRemoveA(file, fileList) {
|
||||
console.log(file, fileList);
|
||||
},
|
||||
// 和解协议
|
||||
handleSuccessA(res) {
|
||||
this.$message.success('上传成功');
|
||||
// this.submitForm.annexIds.push(res.annexId);
|
||||
this.submitForm.annexIds.push(res.annexId);
|
||||
},
|
||||
|
||||
handleChangeB(file, fileList) {
|
||||
this.isImg = file.type === '.doc' || '.docx'
|
||||
},
|
||||
UploadUrl() {
|
||||
return window.location.origin + "/API/deptIdentify/upload";
|
||||
},
|
||||
handleRemoveB(file, fileList) {
|
||||
console.log(file, fileList);
|
||||
},
|
||||
// 调解书
|
||||
handleSuccessB(res) {
|
||||
this.$message.success('上传成功');
|
||||
// this.submitForm.annexIds.push(res.annexId);
|
||||
this.submitForm.annexIds.push(res.annexId);
|
||||
},
|
||||
// handleSuccess() {
|
||||
// this.$message.success('修改成功');
|
||||
// this.$emit("cancelEdit");
|
||||
// this.$emit('getList', this.queryParams);
|
||||
// }
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped></style>
|
||||
<style lang="scss" scoped>
|
||||
.avatar-uploader {
|
||||
margin-bottom: 20px;
|
||||
}</style>
|
||||
@@ -14,7 +14,7 @@
|
||||
}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="仲裁机构名称" align="center" prop="identifyName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="调解机构名称" align="center" prop="identifyName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="经办人姓名" align="center" prop="operName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="经办人手机号" align="center" prop="operPhone" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="认证时间" align="center" prop="identifyDate" />
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<div class="app-container">
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="addtemplate">新增裁决书模板</el-button>
|
||||
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="addtemplate">新增调解书模板</el-button>
|
||||
<!-- v-hasPermi="['caseManagement:list:add']" -->
|
||||
</el-col>
|
||||
</el-row>
|
||||
@@ -14,8 +14,8 @@
|
||||
}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="仲裁机构名称" align="center" prop="identifyName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="裁决书名称" align="center" prop="temName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="调解机构名称" align="center" prop="identifyName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="调解书名称" align="center" prop="temName" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||
<template slot-scope="scope">
|
||||
<el-button size="mini" @click="deleteTemplate(scope.row)" type="text" icon="el-icon-delete">删除</el-button>
|
||||
|
||||
@@ -0,0 +1,110 @@
|
||||
<template>
|
||||
<div style="width: 100%; height: 100%">
|
||||
<div id="placeholder"></div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getOnlyoffice, saveOnlyOfficeFile } from "@/api/onlyoffice/onlyoffice";
|
||||
import { setToken } from "@/utils/auth";
|
||||
import store from "@/store";
|
||||
import axios from "axios";
|
||||
export default {
|
||||
props: [],
|
||||
data() {
|
||||
return {
|
||||
config: {},
|
||||
flag: 0,
|
||||
userId: store.getters.userId,
|
||||
websock: null,
|
||||
};
|
||||
},
|
||||
destroyed() {
|
||||
//页面销毁时关闭ws连接
|
||||
if (this.websock) {
|
||||
this.websock.close(); // 关闭websocket
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
getConfig(id) {
|
||||
let edit = "edit";
|
||||
if (this.flag == 0) {
|
||||
edit = "view";
|
||||
} else {
|
||||
edit = "edit";
|
||||
}
|
||||
axios
|
||||
.get(
|
||||
`http://121.40.189.20:9090/onlyOfficeConfig/${edit}/${id}/${this.userId}/desktop/true/tiaojieprod`
|
||||
)
|
||||
.then((res) => {
|
||||
this.config = res.data;
|
||||
this.config.editorConfig.callbackUrl = this.config.editorConfig.callbackUrl + "/" + id;
|
||||
console.log(this.config,"OOOOOOOOOOOOOOOOOOOOOOOOOOO");
|
||||
|
||||
// this.config.callbackUrl = this.config.callbackUrl + `/${this.userId}`;
|
||||
var docEditor = new DocsAPI.DocEditor("placeholder", this.config);
|
||||
});
|
||||
},
|
||||
//初始化weosocket
|
||||
initWebSocket() {
|
||||
if (typeof WebSocket === "undefined") {
|
||||
alert("您的浏览器不支持WebSocket");
|
||||
return false;
|
||||
}
|
||||
const wsuri = `ws://121.40.189.20:9090/api/websocket/${this.userId}`; // websocket地址
|
||||
this.websock = new WebSocket(wsuri);
|
||||
this.websock.onopen = this.websocketonopen;
|
||||
this.websock.onmessage = this.websocketonmessage;
|
||||
this.websock.onerror = this.websocketonerror;
|
||||
this.websock.onclose = this.websocketclose;
|
||||
},
|
||||
//连接成功
|
||||
websocketonopen() {
|
||||
console.log("WebSocket连接成功");
|
||||
},
|
||||
//接收后端返回的数据
|
||||
websocketonmessage(e) {
|
||||
let dataJson = e.data;
|
||||
if (dataJson != "conn_success") {
|
||||
dataJson = JSON.parse(dataJson);
|
||||
}
|
||||
if (dataJson.caseId) {
|
||||
saveOnlyOfficeFile({
|
||||
caseAppliId: Number(dataJson.caseId),
|
||||
annexName: dataJson.fileName,
|
||||
annexPath: dataJson.filePath,
|
||||
onlyOfficeFileId: dataJson.fileId,
|
||||
}).then((res) => {
|
||||
this.websock.send();
|
||||
});
|
||||
}
|
||||
// 在这里使用后端返回的数据,对数据进行处理渲染
|
||||
},
|
||||
//连接建立失败重连
|
||||
websocketonerror(e) {
|
||||
console.log(`连接失败的信息:`, e);
|
||||
this.initWebSocket(); // 连接失败后尝试重新连接
|
||||
},
|
||||
//关闭连接
|
||||
websocketclose(e) {
|
||||
console.log("断开连接", e);
|
||||
},
|
||||
/**是否从视频会议跳转,是处理token */
|
||||
async getToken() {
|
||||
setToken(this.$route.query.token);
|
||||
},
|
||||
},
|
||||
async mounted() {
|
||||
if (this.$route.query.token) {
|
||||
await this.getToken();
|
||||
}
|
||||
let id = this.$route.query.id;
|
||||
this.flag = this.$route.query.flag;
|
||||
this.getConfig(id);
|
||||
this.initWebSocket();
|
||||
},
|
||||
watch: {},
|
||||
};
|
||||
</script>
|
||||
<style lang="scss" scoped></style>
|
||||
@@ -1,42 +1,98 @@
|
||||
<template>
|
||||
<div class="register">
|
||||
<div class="leftIcon">
|
||||
<div class="Icon"></div>
|
||||
<div>智慧调解系统</div>
|
||||
</div>
|
||||
<el-form ref="registerForm" :model="registerForm" :rules="registerRules" class="register-form">
|
||||
<h3 class="title">若依后台管理系统</h3>
|
||||
<el-form-item prop="username">
|
||||
<el-input v-model="registerForm.username" type="text" auto-complete="off" placeholder="账号">
|
||||
<h3 class="title">智慧调解系统注册</h3>
|
||||
<el-form-item prop="userName">
|
||||
<el-input v-model="registerForm.userName" type="text" auto-complete="off" @blur="changeInput" placeholder="账号">
|
||||
<svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" />
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="password">
|
||||
<el-input
|
||||
v-model="registerForm.password"
|
||||
type="password"
|
||||
auto-complete="off"
|
||||
placeholder="密码"
|
||||
@keyup.enter.native="handleRegister"
|
||||
>
|
||||
<el-form-item prop="passWord">
|
||||
<el-input v-model="registerForm.passWord" type="password" auto-complete="off" placeholder="密码"
|
||||
@keyup.enter.native="handleRegister">
|
||||
<svg-icon slot="prefix" icon-class="password" class="el-input__icon input-icon" />
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="confirmPassword">
|
||||
<el-input
|
||||
v-model="registerForm.confirmPassword"
|
||||
type="password"
|
||||
auto-complete="off"
|
||||
placeholder="确认密码"
|
||||
@keyup.enter.native="handleRegister"
|
||||
>
|
||||
<el-input v-model="registerForm.confirmPassword" type="password" auto-complete="off" placeholder="确认密码"
|
||||
@keyup.enter.native="handleRegister">
|
||||
<svg-icon slot="prefix" icon-class="password" class="el-input__icon input-icon" />
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="nationality">
|
||||
<el-select v-model="registerForm.nationality" placeholder="请选择国籍" auto-complete="off" style="width: 100%;">
|
||||
<svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" />
|
||||
<el-option v-for="item in nationalityList" :key="item.id" :label="item.value" :value="item.id">
|
||||
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item prop="idType">
|
||||
<el-select v-model="registerForm.idType" placeholder="证件类型" auto-complete="off" style="width: 100%;">
|
||||
<svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" />
|
||||
<el-option v-for="item in idTypeList" :key="Number(item.dictValue)" :label="item.dictLabel" :value="Number(item.dictValue)">
|
||||
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item prop="identityNo">
|
||||
<el-input v-model="registerForm.identityNo" type="text" auto-complete="off" placeholder="证件号码">
|
||||
<svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" />
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="identityNo" v-if="registerForm.idType === 1">
|
||||
<el-input v-model="registerForm.identityNo" type="text" auto-complete="off" placeholder="护照号码">
|
||||
<svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" />
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="email">
|
||||
<el-input v-model="registerForm.email" type="text" auto-complete="off" placeholder="邮箱" style="width:63%;">
|
||||
<svg-icon slot="prefix" icon-class="email" class="el-input__icon input-icon" />
|
||||
</el-input>
|
||||
<div class="register-code">
|
||||
<el-button type="primary" :disabled="emailDisabled" @click="getEmailNumber(registerForm.email)">{{ emailText
|
||||
}}</el-button>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item prop="emailVerifyCode">
|
||||
<el-input v-model="registerForm.emailVerifyCode" type="text" auto-complete="off" placeholder="邮箱验证码">
|
||||
<svg-icon slot="prefix" icon-class="validCode" class="el-input__icon input-icon" />
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="name">
|
||||
<el-input v-model="registerForm.name" type="text" auto-complete="off" placeholder="用户名">
|
||||
<svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" />
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="roleId">
|
||||
<el-select v-model="registerForm.roleId" placeholder="请选择角色" auto-complete="off" style="width: 100%;">
|
||||
<svg-icon slot="prefix" icon-class="user" class="el-input__icon input-icon" />
|
||||
<el-option v-for="item in roleList" :key="item.roleId" :label="item.roleName" :value="item.roleId">
|
||||
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item prop="phone">
|
||||
<el-input v-model="registerForm.phone" auto-complete="off" placeholder="手机号" style="width: 63%">
|
||||
<svg-icon slot="prefix" icon-class="phone" class="el-input__icon input-icon" />
|
||||
</el-input>
|
||||
<div class="register-code">
|
||||
<el-button type="primary" :disabled="codeDisabled" @click="getCodeNumber(registerForm.phone)">{{ codeText
|
||||
}}</el-button>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item prop="verifyCode">
|
||||
<el-input v-model="registerForm.verifyCode" type="text" auto-complete="off" placeholder="手机验证码">
|
||||
<svg-icon slot="prefix" icon-class="validCode" class="el-input__icon input-icon" />
|
||||
</el-input>
|
||||
</el-form-item>
|
||||
<el-form-item prop="code" v-if="captchaEnabled">
|
||||
<el-input
|
||||
v-model="registerForm.code"
|
||||
auto-complete="off"
|
||||
placeholder="验证码"
|
||||
style="width: 63%"
|
||||
@keyup.enter.native="handleRegister"
|
||||
>
|
||||
<el-input v-model="registerForm.code" auto-complete="off" placeholder="验证码" style="width: 63%"
|
||||
@keyup.enter.native="handleRegister">
|
||||
<svg-icon slot="prefix" icon-class="validCode" class="el-input__icon input-icon" />
|
||||
</el-input>
|
||||
<div class="register-code">
|
||||
@@ -44,13 +100,8 @@
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item style="width:100%;">
|
||||
<el-button
|
||||
:loading="loading"
|
||||
size="medium"
|
||||
type="primary"
|
||||
style="width:100%;"
|
||||
@click.native.prevent="handleRegister"
|
||||
>
|
||||
<el-button :loading="loading" size="medium" type="primary" style="width:100%;"
|
||||
@click.native.prevent="handleRegister">
|
||||
<span v-if="!loading">注 册</span>
|
||||
<span v-else>注 册 中...</span>
|
||||
</el-button>
|
||||
@@ -60,38 +111,53 @@
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<!-- 底部 -->
|
||||
<div class="el-register-footer">
|
||||
<!-- <div class="el-register-footer">
|
||||
<span>Copyright © 2018-2023 ruoyi.vip All Rights Reserved.</span>
|
||||
</div>
|
||||
</div> -->
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getCodeImg, register } from "@/api/login";
|
||||
|
||||
import { getCodeImg, register, sendCode, wxregister,verifyUserName,getIdType,sendEmailCode } from "@/api/login";
|
||||
import { listRoleNotoken } from "@/api/system/role.js"
|
||||
export default {
|
||||
name: "Register",
|
||||
data() {
|
||||
const equalToPassword = (rule, value, callback) => {
|
||||
if (this.registerForm.password !== value) {
|
||||
if (this.registerForm.passWord !== value) {
|
||||
callback(new Error("两次输入的密码不一致"));
|
||||
} else {
|
||||
callback();
|
||||
}
|
||||
};
|
||||
return {
|
||||
codeText: "发送验证码",
|
||||
emailText:"发送验证码",
|
||||
codeDisabled: false,
|
||||
emailDisabled:false,
|
||||
codeUrl: "",
|
||||
registerForm: {
|
||||
username: "",
|
||||
password: "",
|
||||
userName: "",
|
||||
passWord: "",
|
||||
phone: "",
|
||||
confirmPassword: "",
|
||||
code: "",
|
||||
uuid: ""
|
||||
uuid: "",
|
||||
nationality:0,
|
||||
idType:0,
|
||||
identityNo:"",
|
||||
name:""
|
||||
},
|
||||
registerRules: {
|
||||
username: [
|
||||
userName: [
|
||||
{ required: true, trigger: "blur", message: "请输入您的账号" },
|
||||
{ min: 2, max: 20, message: '用户账号长度必须介于 2 和 20 之间', trigger: 'blur' }
|
||||
{ min: 2, max: 20, message: '用户账号长度必须介于 2 和 20 之间', trigger: 'blur' },
|
||||
{
|
||||
pattern:
|
||||
/^[0-9a-zA-Z]*$/g,
|
||||
message: '只能输入英文或者数字',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
password: [
|
||||
{ required: true, trigger: "blur", message: "请输入您的密码" },
|
||||
@@ -101,16 +167,103 @@ export default {
|
||||
{ required: true, trigger: "blur", message: "请再次输入您的密码" },
|
||||
{ required: true, validator: equalToPassword, trigger: "blur" }
|
||||
],
|
||||
code: [{ required: true, trigger: "change", message: "请输入验证码" }]
|
||||
code: [{ required: true, trigger: "change", message: "请输入验证码" }],
|
||||
identityNo: [
|
||||
{
|
||||
required: true,
|
||||
message: '证件号码不能为空',
|
||||
trigger: 'blur',
|
||||
},
|
||||
// {
|
||||
// pattern:
|
||||
// /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/,
|
||||
// message: '请输入正确的身份证号码',
|
||||
// trigger: 'blur',
|
||||
// },
|
||||
],
|
||||
email: [
|
||||
{ required: true, trigger: "blur", message: "请输入您的邮箱" },
|
||||
{
|
||||
pattern:
|
||||
/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/,
|
||||
message: '请输入正确的邮箱地址',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
name: [
|
||||
{ required: true, trigger: "blur", message: "请输入用户名" },
|
||||
],
|
||||
roleId: [
|
||||
{ required: true, trigger: "blur", message: "请选择角色" },
|
||||
],
|
||||
phone: [
|
||||
{
|
||||
required: true,
|
||||
message: '请输入手机号',
|
||||
trigger: 'blur',
|
||||
},
|
||||
{
|
||||
pattern: /^[1][3,4,5,6,7,8,9][0-9]{9}$/,
|
||||
message: '请输入正确的手机号码',
|
||||
trigger: 'blur',
|
||||
},
|
||||
],
|
||||
verifyCode: [
|
||||
{ required: true, trigger: "blur", message: "请输入短信验证码" },
|
||||
],
|
||||
emailVerifyCode:[
|
||||
{ required: true, trigger: "blur", message: "请输入邮箱验证码" },
|
||||
],
|
||||
idType: [
|
||||
{ required: true, trigger: "blur", message: "请选择证件类型" },
|
||||
],
|
||||
nationality: [
|
||||
{ required: true, trigger: "blur", message: "请选择国籍" },
|
||||
],
|
||||
},
|
||||
loading: false,
|
||||
captchaEnabled: true
|
||||
captchaEnabled: true,
|
||||
roleList: [],
|
||||
nationalityList:[
|
||||
{
|
||||
value:'境内',
|
||||
id:0
|
||||
},
|
||||
{
|
||||
value:'境外',
|
||||
id:1
|
||||
}
|
||||
],
|
||||
idTypeList:[
|
||||
|
||||
]
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getCode();
|
||||
this.getListRole();
|
||||
this.getIdTypeFn();
|
||||
this.registerForm.identityNo = this.$route.query.identityNo;
|
||||
this.registerForm.name = this.$route.query.name;
|
||||
console.log(this.$route.query.identityNo)
|
||||
},
|
||||
methods: {
|
||||
changeInput(){
|
||||
verifyUserName({userName:this.registerForm.userName})
|
||||
},
|
||||
/** 获取证件类型 */
|
||||
getIdTypeFn(){
|
||||
getIdType().then(res=>{
|
||||
this.idTypeList = res.data;
|
||||
})
|
||||
},
|
||||
/**获取角色 */
|
||||
getListRole() {
|
||||
listRoleNotoken().then(res => {
|
||||
const roleList = res.data.filter((item) => item.roleName == '申请人' || item.roleName == '被申请人');
|
||||
this.roleList = roleList;
|
||||
})
|
||||
},
|
||||
getCode() {
|
||||
getCodeImg().then(res => {
|
||||
this.captchaEnabled = res.captchaEnabled === undefined ? true : res.captchaEnabled;
|
||||
@@ -124,9 +277,9 @@ export default {
|
||||
this.$refs.registerForm.validate(valid => {
|
||||
if (valid) {
|
||||
this.loading = true;
|
||||
register(this.registerForm).then(res => {
|
||||
const username = this.registerForm.username;
|
||||
this.$alert("<font color='red'>恭喜你,您的账号 " + username + " 注册成功!</font>", '系统提示', {
|
||||
wxregister(this.registerForm).then(res => {
|
||||
const userName = this.registerForm.userName;
|
||||
this.$alert("<font color='red'>恭喜你,您的账号 " + userName + " 注册成功!</font>", '系统提示', {
|
||||
dangerouslyUseHTMLString: true,
|
||||
type: 'success'
|
||||
}).then(() => {
|
||||
@@ -140,6 +293,52 @@ export default {
|
||||
})
|
||||
}
|
||||
});
|
||||
},
|
||||
getCodeNumber(data) {
|
||||
sendCode({
|
||||
phone: data
|
||||
}).then(res => {
|
||||
if (res.code != 200) {
|
||||
this.$modal.msgError(res.msg);
|
||||
return
|
||||
} else {
|
||||
this.$modal.msgSuccess('发送成功');
|
||||
let time = 60;
|
||||
let timer = setInterval(() => {
|
||||
time--;
|
||||
this.codeDisabled = true;
|
||||
this.codeText = time + 's重试'
|
||||
if (time == 0) {
|
||||
clearInterval(timer)
|
||||
this.codeText = '发送验证码'
|
||||
this.codeDisabled = false;
|
||||
}
|
||||
}, 1000)
|
||||
}
|
||||
|
||||
})
|
||||
},
|
||||
// 获取邮箱验证码
|
||||
getEmailNumber(emailValue){
|
||||
sendEmailCode({email:emailValue}).then(res=>{
|
||||
if(res.code != 200){
|
||||
this.$modal.msgError(res.msg);
|
||||
return
|
||||
}else{
|
||||
this.$modal.msgSuccess('发送成功');
|
||||
let time = 60;
|
||||
let timer = setInterval(() => {
|
||||
time--;
|
||||
this.emailDisabled = true;
|
||||
this.emailText = time + 's重试'
|
||||
if (time == 0) {
|
||||
clearInterval(timer)
|
||||
this.emailText = '发送验证码'
|
||||
this.emailDisabled = false;
|
||||
}
|
||||
}, 1000)
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
};
|
||||
@@ -150,10 +349,27 @@ export default {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
height: 100%;
|
||||
background-image: url("../assets/images/login-background.jpg");
|
||||
// height: 100%;
|
||||
// background-image: url("../assets/images/login-background.jpg");
|
||||
background-image: url("../assets/images/login.svg");
|
||||
background-size: cover;
|
||||
.leftIcon {
|
||||
position: relative;
|
||||
width: 200px;
|
||||
height: 155px;
|
||||
top:-300px;
|
||||
left: -300px;
|
||||
|
||||
.Icon {
|
||||
width: 100px;
|
||||
height: 105px;
|
||||
background-image: url("../assets/images/logos.png");
|
||||
background-size: cover;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.title {
|
||||
margin: 0px auto 30px auto;
|
||||
text-align: center;
|
||||
@@ -164,33 +380,39 @@ export default {
|
||||
border-radius: 6px;
|
||||
background: #ffffff;
|
||||
width: 400px;
|
||||
height: 80%;
|
||||
padding: 25px 25px 5px 25px;
|
||||
.el-input {
|
||||
height: 38px;
|
||||
input {
|
||||
height: 38px;
|
||||
}
|
||||
}
|
||||
|
||||
// .el-input {
|
||||
// height: 38px;
|
||||
// input {
|
||||
// height: 38px;
|
||||
// }
|
||||
// }
|
||||
.input-icon {
|
||||
height: 39px;
|
||||
width: 14px;
|
||||
margin-left: 2px;
|
||||
}
|
||||
}
|
||||
|
||||
.register-tip {
|
||||
font-size: 13px;
|
||||
text-align: center;
|
||||
color: #bfbfbf;
|
||||
}
|
||||
|
||||
.register-code {
|
||||
width: 33%;
|
||||
height: 38px;
|
||||
float: right;
|
||||
|
||||
img {
|
||||
cursor: pointer;
|
||||
vertical-align: middle;
|
||||
}
|
||||
}
|
||||
|
||||
.el-register-footer {
|
||||
height: 40px;
|
||||
line-height: 40px;
|
||||
@@ -203,6 +425,7 @@ export default {
|
||||
font-size: 12px;
|
||||
letter-spacing: 1px;
|
||||
}
|
||||
|
||||
.register-code-img {
|
||||
height: 38px;
|
||||
}
|
||||
|
||||
@@ -197,7 +197,7 @@ export default {
|
||||
},
|
||||
options: [{
|
||||
value: 1,
|
||||
label: '仲裁机构'
|
||||
label: '调解机构'
|
||||
}, {
|
||||
value: 2,
|
||||
label: '金融公司'
|
||||
|
||||
@@ -4,75 +4,35 @@
|
||||
<!--部门数据-->
|
||||
<el-col :span="4" :xs="24">
|
||||
<div class="head-container">
|
||||
<el-input
|
||||
v-model="deptName"
|
||||
placeholder="请输入部门名称"
|
||||
clearable
|
||||
size="small"
|
||||
prefix-icon="el-icon-search"
|
||||
style="margin-bottom: 20px"
|
||||
/>
|
||||
<el-input v-model="deptName" placeholder="请输入部门名称" clearable size="small" prefix-icon="el-icon-search"
|
||||
style="margin-bottom: 20px" />
|
||||
</div>
|
||||
<div class="head-container">
|
||||
<el-tree
|
||||
:data="deptOptions"
|
||||
:props="defaultProps"
|
||||
:expand-on-click-node="false"
|
||||
:filter-node-method="filterNode"
|
||||
ref="tree"
|
||||
node-key="id"
|
||||
default-expand-all
|
||||
highlight-current
|
||||
@node-click="handleNodeClick"
|
||||
/>
|
||||
<el-tree :data="deptOptions" :props="defaultProps" :expand-on-click-node="false"
|
||||
:filter-node-method="filterNode" ref="tree" node-key="id" default-expand-all highlight-current
|
||||
@node-click="handleNodeClick" />
|
||||
</div>
|
||||
</el-col>
|
||||
<!--用户数据-->
|
||||
<el-col :span="20" :xs="24">
|
||||
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
|
||||
<el-form-item label="用户名称" prop="userName">
|
||||
<el-input
|
||||
v-model="queryParams.userName"
|
||||
placeholder="请输入用户名称"
|
||||
clearable
|
||||
style="width: 240px"
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
<el-input v-model="queryParams.userName" placeholder="请输入用户名称" clearable style="width: 240px"
|
||||
@keyup.enter.native="handleQuery" />
|
||||
</el-form-item>
|
||||
<el-form-item label="手机号码" prop="phonenumber">
|
||||
<el-input
|
||||
v-model="queryParams.phonenumber"
|
||||
placeholder="请输入手机号码"
|
||||
clearable
|
||||
style="width: 240px"
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
<el-input v-model="queryParams.phonenumber" placeholder="请输入手机号码" clearable style="width: 240px"
|
||||
@keyup.enter.native="handleQuery" />
|
||||
</el-form-item>
|
||||
<el-form-item label="状态" prop="status">
|
||||
<el-select
|
||||
v-model="queryParams.status"
|
||||
placeholder="用户状态"
|
||||
clearable
|
||||
style="width: 240px"
|
||||
>
|
||||
<el-option
|
||||
v-for="dict in dict.type.sys_normal_disable"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
/>
|
||||
<el-select v-model="queryParams.status" placeholder="用户状态" clearable style="width: 240px">
|
||||
<el-option v-for="dict in dict.type.sys_normal_disable" :key="dict.value" :label="dict.label"
|
||||
:value="dict.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="创建时间">
|
||||
<el-date-picker
|
||||
v-model="dateRange"
|
||||
style="width: 240px"
|
||||
value-format="yyyy-MM-dd"
|
||||
type="daterange"
|
||||
range-separator="-"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
></el-date-picker>
|
||||
<el-date-picker v-model="dateRange" style="width: 240px" value-format="yyyy-MM-dd" type="daterange"
|
||||
range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||
@@ -82,56 +42,24 @@
|
||||
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
icon="el-icon-plus"
|
||||
size="mini"
|
||||
@click="handleAdd"
|
||||
v-hasPermi="['system:user:add']"
|
||||
>新增</el-button>
|
||||
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
|
||||
v-hasPermi="['system:user:add']">新增</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="success"
|
||||
plain
|
||||
icon="el-icon-edit"
|
||||
size="mini"
|
||||
:disabled="single"
|
||||
@click="handleUpdate"
|
||||
v-hasPermi="['system:user:edit']"
|
||||
>修改</el-button>
|
||||
<el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate"
|
||||
v-hasPermi="['system:user:edit']">修改</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="danger"
|
||||
plain
|
||||
icon="el-icon-delete"
|
||||
size="mini"
|
||||
:disabled="multiple"
|
||||
@click="handleDelete"
|
||||
v-hasPermi="['system:user:remove']"
|
||||
>删除</el-button>
|
||||
<el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
|
||||
v-hasPermi="['system:user:remove']">删除</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="info"
|
||||
plain
|
||||
icon="el-icon-upload2"
|
||||
size="mini"
|
||||
@click="handleImport"
|
||||
v-hasPermi="['system:user:import']"
|
||||
>导入</el-button>
|
||||
<el-button type="info" plain icon="el-icon-upload2" size="mini" @click="handleImport"
|
||||
v-hasPermi="['system:user:import']">导入</el-button>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="warning"
|
||||
plain
|
||||
icon="el-icon-download"
|
||||
size="mini"
|
||||
@click="handleExport"
|
||||
v-hasPermi="['system:user:export']"
|
||||
>导出</el-button>
|
||||
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport"
|
||||
v-hasPermi="['system:user:export']">导出</el-button>
|
||||
</el-col>
|
||||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList" :columns="columns"></right-toolbar>
|
||||
</el-row>
|
||||
@@ -139,18 +67,18 @@
|
||||
<el-table v-loading="loading" :data="userList" @selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="50" align="center" />
|
||||
<el-table-column label="用户编号" align="center" key="userId" prop="userId" v-if="columns[0].visible" />
|
||||
<el-table-column label="用户名称" align="center" key="userName" prop="userName" v-if="columns[1].visible" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="用户昵称" align="center" key="nickName" prop="nickName" v-if="columns[2].visible" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="部门" align="center" key="deptName" prop="dept.deptName" v-if="columns[3].visible" :show-overflow-tooltip="true" />
|
||||
<el-table-column label="手机号码" align="center" key="phonenumber" prop="phonenumber" v-if="columns[4].visible" width="120" />
|
||||
<el-table-column label="用户名称" align="center" key="userName" prop="userName" v-if="columns[1].visible"
|
||||
:show-overflow-tooltip="true" />
|
||||
<el-table-column label="用户昵称" align="center" key="nickName" prop="nickName" v-if="columns[2].visible"
|
||||
:show-overflow-tooltip="true" />
|
||||
<el-table-column label="部门" align="center" key="deptName" prop="dept.deptName" v-if="columns[3].visible"
|
||||
:show-overflow-tooltip="true" />
|
||||
<el-table-column label="手机号码" align="center" key="phonenumber" prop="phonenumber" v-if="columns[4].visible"
|
||||
width="120" />
|
||||
<el-table-column label="状态" align="center" key="status" v-if="columns[5].visible">
|
||||
<template slot-scope="scope">
|
||||
<el-switch
|
||||
v-model="scope.row.status"
|
||||
active-value="0"
|
||||
inactive-value="1"
|
||||
@change="handleStatusChange(scope.row)"
|
||||
></el-switch>
|
||||
<el-switch v-model="scope.row.status" active-value="0" inactive-value="1"
|
||||
@change="handleStatusChange(scope.row)"></el-switch>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="创建时间" align="center" prop="createTime" v-if="columns[6].visible" width="160">
|
||||
@@ -158,28 +86,14 @@
|
||||
<span>{{ parseTime(scope.row.createTime) }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
label="操作"
|
||||
align="center"
|
||||
width="160"
|
||||
class-name="small-padding fixed-width"
|
||||
>
|
||||
<el-table-column label="操作" align="center" width="160" class-name="small-padding fixed-width">
|
||||
<template slot-scope="scope" v-if="scope.row.userId !== 1">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-edit"
|
||||
@click="handleUpdate(scope.row)"
|
||||
v-hasPermi="['system:user:edit']"
|
||||
>修改</el-button>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-delete"
|
||||
@click="handleDelete(scope.row)"
|
||||
v-hasPermi="['system:user:remove']"
|
||||
>删除</el-button>
|
||||
<el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)" v-hasPermi="['system:user:resetPwd', 'system:user:edit']">
|
||||
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
|
||||
v-hasPermi="['system:user:edit']">修改</el-button>
|
||||
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
|
||||
v-hasPermi="['system:user:remove']">删除</el-button>
|
||||
<el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)"
|
||||
v-hasPermi="['system:user:resetPwd', 'system:user:edit']">
|
||||
<el-button size="mini" type="text" icon="el-icon-d-arrow-right">更多</el-button>
|
||||
<el-dropdown-menu slot="dropdown">
|
||||
<el-dropdown-item command="handleResetPwd" icon="el-icon-key"
|
||||
@@ -192,13 +106,8 @@
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
||||
<pagination
|
||||
v-show="total>0"
|
||||
:total="total"
|
||||
:page.sync="queryParams.pageNum"
|
||||
:limit.sync="queryParams.pageSize"
|
||||
@pagination="getList"
|
||||
/>
|
||||
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
|
||||
@pagination="getList" />
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
@@ -213,7 +122,10 @@
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="归属部门" prop="deptId">
|
||||
<treeselect v-model="form.deptId" :options="deptOptions" :show-count="true" placeholder="请选择归属部门" />
|
||||
<el-select v-model="form.deptId" multiple placeholder="请选择角色">
|
||||
<el-option v-for="item in deptOptions" :key="item.id" :label="item.label" :value="item.id"></el-option>
|
||||
</el-select>
|
||||
<!-- <treeselect v-model="form.deptId" :options="deptOptions" :show-count="true" placeholder="请选择归属部门" /> -->
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@@ -245,23 +157,16 @@
|
||||
<el-col :span="12">
|
||||
<el-form-item label="用户性别">
|
||||
<el-select v-model="form.sex" placeholder="请选择性别">
|
||||
<el-option
|
||||
v-for="dict in dict.type.sys_user_sex"
|
||||
:key="dict.value"
|
||||
:label="dict.label"
|
||||
:value="dict.value"
|
||||
></el-option>
|
||||
<el-option v-for="dict in dict.type.sys_user_sex" :key="dict.value" :label="dict.label"
|
||||
:value="dict.value"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="状态">
|
||||
<el-radio-group v-model="form.status">
|
||||
<el-radio
|
||||
v-for="dict in dict.type.sys_normal_disable"
|
||||
:key="dict.value"
|
||||
:label="dict.value"
|
||||
>{{dict.label}}</el-radio>
|
||||
<el-radio v-for="dict in dict.type.sys_normal_disable" :key="dict.value"
|
||||
:label="dict.value">{{ dict.label }}</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@@ -270,30 +175,27 @@
|
||||
<el-col :span="12">
|
||||
<el-form-item label="岗位">
|
||||
<el-select v-model="form.postIds" multiple placeholder="请选择岗位">
|
||||
<el-option
|
||||
v-for="item in postOptions"
|
||||
:key="item.postId"
|
||||
:label="item.postName"
|
||||
:value="item.postId"
|
||||
:disabled="item.status == 1"
|
||||
></el-option>
|
||||
<el-option v-for="item in postOptions" :key="item.postId" :label="item.postName" :value="item.postId"
|
||||
:disabled="item.status == 1"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="角色">
|
||||
<el-select v-model="form.roleIds" multiple placeholder="请选择角色">
|
||||
<el-option
|
||||
v-for="item in roleOptions"
|
||||
:key="item.roleId"
|
||||
:label="item.roleName"
|
||||
:value="item.roleId"
|
||||
:disabled="item.status == 1"
|
||||
></el-option>
|
||||
<el-option v-for="item in roleOptions" :key="item.roleId" :label="item.roleName" :value="item.roleId"
|
||||
:disabled="item.status == 1"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="证件号码" prop="idCard">
|
||||
<el-input v-model="form.idCard" placeholder="请输入证件号码" maxlength="18" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="备注">
|
||||
@@ -317,18 +219,9 @@
|
||||
|
||||
<!-- 用户导入对话框 -->
|
||||
<el-dialog :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body>
|
||||
<el-upload
|
||||
ref="upload"
|
||||
:limit="1"
|
||||
accept=".xlsx, .xls"
|
||||
:headers="upload.headers"
|
||||
:action="upload.url + '?updateSupport=' + upload.updateSupport"
|
||||
:disabled="upload.isUploading"
|
||||
:on-progress="handleFileUploadProgress"
|
||||
:on-success="handleFileSuccess"
|
||||
:auto-upload="false"
|
||||
drag
|
||||
>
|
||||
<el-upload ref="upload" :limit="1" accept=".xlsx, .xls" :headers="upload.headers"
|
||||
:action="upload.url + '?updateSupport=' + upload.updateSupport" :disabled="upload.isUploading"
|
||||
:on-progress="handleFileUploadProgress" :on-success="handleFileSuccess" :auto-upload="false" drag>
|
||||
<i class="el-icon-upload"></i>
|
||||
<div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
|
||||
<div class="el-upload__tip text-center" slot="tip">
|
||||
@@ -336,7 +229,8 @@
|
||||
<el-checkbox v-model="upload.updateSupport" /> 是否更新已经存在的用户数据
|
||||
</div>
|
||||
<span>仅允许导入xls、xlsx格式文件。</span>
|
||||
<el-link type="primary" :underline="false" style="font-size:12px;vertical-align: baseline;" @click="importTemplate">下载模板</el-link>
|
||||
<el-link type="primary" :underline="false" style="font-size:12px;vertical-align: baseline;"
|
||||
@click="importTemplate">下载模板</el-link>
|
||||
</div>
|
||||
</el-upload>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
@@ -586,6 +480,7 @@ export default {
|
||||
this.roleOptions = response.roles;
|
||||
this.$set(this.form, "postIds", response.postIds);
|
||||
this.$set(this.form, "roleIds", response.roleIds);
|
||||
this.$set(this.form, "deptId", response.deptId);
|
||||
this.open = true;
|
||||
this.title = "修改用户";
|
||||
this.form.password = "";
|
||||
@@ -675,3 +570,17 @@ export default {
|
||||
}
|
||||
};
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.head-container {
|
||||
width: 98%;
|
||||
|
||||
::v-deep .el-tree-node {
|
||||
white-space: normal;
|
||||
|
||||
.el-tree-node__content {
|
||||
height: 100%;
|
||||
align-items: start;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@@ -0,0 +1,79 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-form :model="dynamicValidateForm" ref="dynamicValidateForm" label-width="100px" class="demo-dynamic">
|
||||
<el-form-item prop="email" label="邮箱" :rules="[
|
||||
{ required: true, message: '请输入邮箱地址', trigger: 'blur' },
|
||||
{ type: 'email', message: '请输入正确的邮箱地址', trigger: ['blur', 'change'] }
|
||||
]">
|
||||
<el-input v-model="dynamicValidateForm.email"></el-input>
|
||||
</el-form-item>
|
||||
<div v-for="(item, index) in dynamicValidateForm.domains" :key="item.key">
|
||||
<el-form-item :label="'域名' + index" :prop="'domains.' + index + '.value.name'" :rules="{
|
||||
required: true, message: '域名不能为空', trigger: 'blur'
|
||||
}">
|
||||
<el-input v-model="item.value.name"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item :label="'链接' + index" :prop="'domains.' + index + '.value.url'" :rules="{
|
||||
required: true, message: '链接不能为空', trigger: 'blur'
|
||||
}">
|
||||
<el-input v-model="item.value.url"></el-input>
|
||||
</el-form-item>
|
||||
<el-button @click.prevent="removeDomain(item)">删除</el-button>
|
||||
</div>
|
||||
<el-form-item>
|
||||
<el-button type="primary" @click="submitForm('dynamicValidateForm')">提交</el-button>
|
||||
<el-button @click="addDomain">新增域名</el-button>
|
||||
<el-button @click="resetForm('dynamicValidateForm')">重置</el-button>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
dynamicValidateForm: {
|
||||
domains: [{
|
||||
value: {
|
||||
name: "",
|
||||
url: ""
|
||||
}
|
||||
}],
|
||||
email: ''
|
||||
},
|
||||
data: { "applicant": { "id": 123, "caseAppliId": 5453163805296176, "userId": null, "applicantDeptId": null, "code": null, "compLegalPerson": null, "roleType": 1, "groupOrder": 2, "operatorFlag": 0, "phone": "17691225077", "email": "1129801211@qq.com", "name": "白贵勇", "home": "西安", "address": "西安", "idCard": "612429198708193335", "idType": null, "nationality": null, "birth": null, "sex": null, "resName": null }, "applicantAgent": null, "res": { "id": 124, "caseAppliId": 5453163805296176, "userId": null, "applicantDeptId": null, "code": null, "compLegalPerson": null, "roleType": 3, "groupOrder": 2, "operatorFlag": 0, "phone": "18792927508", "email": "1322446236@qq.com", "name": "王琼", "home": "西安", "address": "西安", "idCard": "14050219970814622X", "idType": null, "nationality": null, "birth": null, "sex": null, "resName": null }, "resAgent": null }
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
submitForm(formName) {
|
||||
this.$refs[formName].validate((valid) => {
|
||||
if (valid) {
|
||||
alert('submit!');
|
||||
console.log(this.dynamicValidateForm);
|
||||
|
||||
} else {
|
||||
console.log('error submit!!');
|
||||
return false;
|
||||
}
|
||||
});
|
||||
},
|
||||
resetForm(formName) {
|
||||
this.$refs[formName].resetFields();
|
||||
},
|
||||
removeDomain(item) {
|
||||
var index = this.dynamicValidateForm.domains.indexOf(item)
|
||||
if (index !== -1) {
|
||||
this.dynamicValidateForm.domains.splice(index, 1)
|
||||
}
|
||||
},
|
||||
addDomain() {
|
||||
this.dynamicValidateForm.domains.push({
|
||||
value: {
|
||||
name: "",
|
||||
key: Date.now()
|
||||
},
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -11,11 +11,11 @@ const name = process.env.VUE_APP_TITLE || '调解系统' // 网页标题
|
||||
|
||||
const port = process.env.port || process.env.npm_config_port || 80 // 端口
|
||||
|
||||
// const API = 'http://121.40.189.20:9001' //生产
|
||||
// const API = 'http://121.40.189.20:6001' //测试
|
||||
// const API = 'http://121.40.189.20:7001' //生产
|
||||
const API = 'http://121.40.189.20:6001' //测试
|
||||
// const API = 'http://192.168.3.18:6001' //B
|
||||
// const API = 'http://192.168.3.77:9001' //Q
|
||||
const API = 'http://172.16.1.14:6001' //w
|
||||
// const API = 'http://172.16.0.237:6001' //Q
|
||||
// const API = 'http://172.16.1.26:6001' //w
|
||||
|
||||
// vue.config.js 配置说明
|
||||
//官方vue.config.js 参考文档 https://cli.vuejs.org/zh/config/#css-loaderoptions
|
||||
@@ -41,6 +41,8 @@ module.exports = {
|
||||
proxy: {
|
||||
// detail: https://cli.vuejs.org/config/#devserver-proxy
|
||||
[process.env.VUE_APP_BASE_API]: {
|
||||
// target: `http://192.168.3.77:8080`,
|
||||
// target: `http://121.40.189.20:9001`,
|
||||
target: API,
|
||||
changeOrigin: true,
|
||||
pathRewrite: {
|
||||
|
||||