1 Commits
93 changed files with 529 additions and 15789 deletions
+1 -1
View File
@@ -5,7 +5,7 @@ VUE_APP_TITLE = 智慧仲裁管理系统
ENV = 'development' ENV = 'development'
# 智慧仲裁管理系统/开发环境 # 智慧仲裁管理系统/开发环境
VUE_APP_BASE_API = '/API' VUE_APP_BASE_API = '/dev-api'
# 路由懒加载 # 路由懒加载
VUE_CLI_BABEL_TRANSPILE_MODULES = true VUE_CLI_BABEL_TRANSPILE_MODULES = true
+1 -1
View File
@@ -7,4 +7,4 @@ NODE_ENV = production
ENV = 'staging' ENV = 'staging'
# 智慧仲裁管理系统/测试环境 # 智慧仲裁管理系统/测试环境
VUE_APP_BASE_API = '/API' VUE_APP_BASE_API = '/stage-api'
-3
View File
@@ -48,16 +48,13 @@
"js-beautify": "1.13.0", "js-beautify": "1.13.0",
"js-cookie": "3.0.1", "js-cookie": "3.0.1",
"jsencrypt": "3.0.0-rc.1", "jsencrypt": "3.0.0-rc.1",
"moment": "^2.29.4",
"nprogress": "0.2.0", "nprogress": "0.2.0",
"qrcodejs2": "0.0.2",
"quill": "1.3.7", "quill": "1.3.7",
"screenfull": "5.0.2", "screenfull": "5.0.2",
"sortablejs": "1.10.2", "sortablejs": "1.10.2",
"vue": "2.6.12", "vue": "2.6.12",
"vue-count-to": "1.0.13", "vue-count-to": "1.0.13",
"vue-cropper": "0.5.5", "vue-cropper": "0.5.5",
"vue-esign": "^1.1.4",
"vue-meta": "2.4.0", "vue-meta": "2.4.0",
"vue-router": "3.4.9", "vue-router": "3.4.9",
"vuedraggable": "2.24.3", "vuedraggable": "2.24.3",
Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 5.5 KiB

-133
View File
@@ -1,133 +0,0 @@
import request from '@/utils/request'
// 案件列表
export function caseApplicationList(data) {
return request({
url: '/caseApplication/list',
// headers: {
// isToken: false
// },
method: 'get',
params: data
})
}
// 查看详情
export function caseApplicationDetail(data) {
return request({
url: '/caseApplication/selectCaseApplication',
// headers: {
// isToken: false
// },
method: 'post',
data: data
})
}
// 检验裁决书
export function verificationArbitrateRecord(data) {
return request({
url: '/caseApplication/verificationArbitrateRecord',
// headers: {
// isToken: false
// },
method: 'post',
data: data
})
}
// 审核裁决书
export function checkArbitrateRecord(data) {
return request({
url: '/caseApplication/checkArbitrateRecord',
// headers: {
// isToken: false
// },
method: 'post',
data: data
})
}
// 裁决书送达
export function adjudicationDelivery(data) {
return request({
url: '/adjudication/delivery',
method: 'post',
data: data
})
}
// 送达(不包含发送电子邮件)
export function adjudicationService(data) {
return request({
url: '/adjudication/service',
method: 'post',
data: data
})
}
// 查询物流信息
export function adjudicationLogistics(data) {
return request({
url: '/adjudication/logistics',
method: 'get',
params: data
})
}
// // 签名(暂时只改案件状态)
// export function adjudicationSignature(data) {
// return request({
// url: '/adjudication/signature',
// method: 'post',
// data: data
// })
// }
export function selectSignUrl(data) {
return request({
url: '/caseApplication/selectSignUrl',
method: 'post',
data: data
})
}
// 归档(暂时只改案件状态)
export function adjudicationCaseFile(data) {
return request({
url: '/adjudication/caseFile',
method: 'post',
data: data
})
}
// 用印(暂时只改案件状态)
// export function adjudicationStamp(data) {
// return request({
// url: '/adjudication/stamp',
// method: 'post',
// data: data
// })
// }
export function selectSealUrl(data) {
return request({
url: '/caseApplication/selectSealUrl',
method: 'post',
data: data
})
}
// 裁决书列表查询裁决书
export function selectSignSealUrl(data) {
return request({
url: '/caseApplication/selectSignSealUrl',
method: 'post',
data: data
})
}
// 重新生成裁决书
export function regenerationDocument(data) {
return request({
url: '/adjudication/regenerationDocument',
method: 'post',
data: data
})
}
// 根据案件id
export function emailByCaseId(data) {
return request({
url: '/adjudication/emailByCaseId',
method: 'get',
params: data
})
}
-83
View File
@@ -1,83 +0,0 @@
import request from '@/utils/request'
// 查询案件录入列表
export function caseApply(data) {
return request({
url: '/caseApplication/list',
method: 'get',
params: data
})
}
// 立案申请
export function addCaseApply(data) {
return request({
url: '/caseApplication/addCaseApplication',
method: 'post',
data: data
})
}
// 点击修改获取主体信息
export function selectCaseApply(data) {
return request({
url: '/caseApplication/selectCaseApplication',
method: 'post',
data: data
})
}
// 修改案件信息
export function editCaseApply(data) {
return request({
url: '/caseApplication/editCaseApplication',
method: 'post',
data: data
})
}
// 删除案件信息
export function removeCaseApply(data) {
return request({
url: '/caseApplication/removeCaseApplication',
method: 'post',
data: data
})
}
// 提交
export function submitCaseApply(data) {
return request({
url: '/caseApplication/submitCaseApplication',
method: 'post',
data: data
})
}
// 立案审查
export function submitCaseApplicationCheck(data) {
return request({
url: "/caseApplication/submitCaseApplicationCheck",
method: "post",
data: data,
});
}
// 下载模板
export function importTemplate(data) {
return request({
url: '/caseApplication/importTemplate',
method: 'post',
data: data
})
}
// 更新案件锁定状态
export function updateCaseLockStatus(data) {
return request({
url: "/caseApplication/updateCaseLockStatus",
method: "post",
data: data,
});
}
// 获取证据目录
export function evidenceTree(data) {
return request({
url: "/evidence/evidenceTree",
method: "get",
params: data,
});
}
-18
View File
@@ -1,18 +0,0 @@
import request from '@/utils/request'
// 档案详情查询
export function adjudicationArchives(data) {
return request({
url: '/adjudication/archives',
method: 'get',
params: data
})
}
//根据案件id查询视频列表
export function videoList(data) {
return request({
url: '/video/videoList',
method: 'get',
params: data
})
}
-140
View File
@@ -1,140 +0,0 @@
import request from "@/utils/request";
// 确定仲裁方式
export function arbitrateMethod(data,id) {
return request({
url: "/arbitrate/method",
method: "put",
params:data,
data: id,
});
}
// 书面审理
export function writtenHear(data) {
return request({
url: "/arbitrate/writtenHear",
method: "post",
data: data,
});
}
// 生成庭审笔录
export function creatTrialRecord(data) {
return request({
url: "/caseApplication/creatTrialRecord",
method: "post",
data: data,
});
}
// 组庭确认
export function pendTralSure(data) {
return request({
url: "/caseApplication/pendTralSure",
method: "post",
data: data,
});
}
// 立案审查
export function submitCaseApplicationCheck(data) {
return request({
url: "/caseApplication/submitCaseApplicationCheck",
method: "post",
data: data,
});
}
// 生成裁决书
export function document(data) {
return request({
url: "/adjudication/document",
method: "post",
data: data,
});
}
// 案件证据上传
export function evidenceUpload(data) {
return request({
url: "/evidence/upload",
method: "post",
data: data,
});
}
// 案件日志列表查询
export function caseLogRecordList(data) {
return request({
url: "/caseLogRecord/list",
method: "get",
params: data,
});
}
// 案件证据查询
export function getFileList(data) {
return request({
url: "/evidence/fileList",
method: "get",
params: data,
});
}
//案件状态进度
export function selectCaseProgress(data) {
return request({
url: "/caseApplication/selectCaseProgress",
method: "post",
data: data,
});
}
// 批量上传证据
export function batchUpload(data) {
return request({
url: "/evidence/batchUpload",
method: "post",
data: data,
});
}
// 修改开庭时间
export function updateHeardate(data) {
return request({
url: "/caseApplication/updateHeardate",
method: "post",
data: data,
});
}
// 案件快递信息查询
export function logistics(data) {
return request({
url: "/adjudication/logistics",
method: "get",
params: data,
})
}
// 申请人撤销修改
export function revoke(data) {
return request({
url: "/caseApplicationLog/revoke",
method: "post",
data: data,
})
}
// 秘书审核修改
export function updateAudit(data) {
return request({
url: "/caseApplicationLog/updateAudit",
method: "post",
data: data,
})
}
// 查询案件对比信息
export function selectCompareCase(data) {
return request({
url: "/caseApplicationLog/selectCompareCase",
method: "post",
data: data,
})
}
// 根据案件id和类型查询附件
export function attachListByCaseId(data) {
return request({
url: "/video/attachListByCaseId",
method: "get",
params: data,
})
}
-20
View File
@@ -1,20 +0,0 @@
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
})
}
-18
View File
@@ -1,18 +0,0 @@
import request from '@/utils/request'
// 查询仲裁员列表
export function arbitrAtor(data) {
return request({
url: '/arbitrator/list',
method: 'get',
params: data
})
}
// 组庭审核
export function pendTralCheck(data) {
return request({
url: '/caseApplication/pendTralCheck',
method: 'post',
data: data
})
}
-8
View File
@@ -1,8 +0,0 @@
import request from '@/utils/request'
// 待办数量查询
export function toDoCount() {
return request({
url: '/caseApplication/toDoCount',
method: 'get'
})
}
-34
View File
@@ -1,34 +0,0 @@
import request from '@/utils/request'
// 获取房间号
export function createRoomId(data) {
return request({
url: '/caseApplication/createRoomId',
method: 'get',
params: data
})
}
// 预约会议
export function reservedConference(data) {
return request({
url: '/caseApplication/reservedConference',
method: 'post',
data: data
})
}
// 根据案件id查询预约会议
export function reserveConferenceList(data) {
return request({
url: '/caseApplication/reserveConferenceList',
method: 'get',
params: data
})
}
// 发送房间号短信
export function sendRoomNoMessage(data) {
return request({
url: '/caseApplication/sendRoomNoMessage',
method: 'post',
data: data
})
}
-115
View File
@@ -1,115 +0,0 @@
import request from '@/utils/request'
// 查询邮件列表
export function deptIdentifyList(data) {
return request({
url: '/deptIdentify/list',
method: 'get',
params: data
})
}
// 是否启用
export function enableDept(data) {
return request({
url: '/deptIdentify/enableDept',
method: 'post',
data: data
})
}
// 认证
export function selectDeptIndefiUrl(data) {
return request({
url: 'deptIdentify/selectDeptIndefiUrl',
method: 'post',
data: data
})
}
// 新增机构
export function insert(data) {
return request({
url: '/deptIdentify/insert',
method: 'post',
data: data
})
}
// 查询公章列表
export function sealList(data) {
return request({
url: '/deptIdentify/sealList',
method: 'get',
params: data
})
}
// 启用或者禁用公章
export function updateSealLockStatus(data) {
return request({
url: '/deptIdentify/updateSealLockStatus',
method: 'post',
data: data
})
}
// 删除未认证的数据
export function deleteSeal(data) {
return request({
url: '/deptIdentify/delete',
method: 'delete',
params: data
})
}
// 修改机构信息
export function sealUpdate(data) {
return request({
url: '/deptIdentify/update',
method: 'put',
data: data
})
}
// 新增模板
export function insertTemplate(data) {
return request({
url: '/deptIdentify/insertTemplate',
method: 'post',
data: data
})
}
// 修改模板
export function updateTemplate(data) {
return request({
url: '/deptIdentify/updateTemplate',
method: 'post',
params: data
})
}
// 删除模板
export function deleteTemplate(data) {
return request({
url: '/deptIdentify/deleteTemplate',
method: 'delete',
params: data
})
}
// 根据机构id查询模板
export function getTemplate(data) {
return request({
url: '/deptIdentify/getTemplate',
method: 'get',
params: data
})
}
// 查询机构下的经办人
export function selectPostUserByDeptId(data) {
return request({
url: '/deptIdentify/selectPostUserByDeptId',
method: 'get',
params: data
})
}
// 机构绑定经办人
export function bindHandler(data) {
return request({
url: '/deptIdentify/bindHandler',
method: 'get',
params: data
})
}
-77
View File
@@ -1,77 +0,0 @@
import request from '@/utils/request'
// 案件列表
export function caseApplicationList(data) {
return request({
url: '/caseApplication/list',
// headers: {
// isToken: false
// },
method: 'get',
params: data
})
}
// 查看详情
export function caseApplicationDetail(data) {
return request({
url: '/caseApplication/selectCaseApplication',
// headers: {
// isToken: false
// },
method: 'post',
data: data
})
}
// 支付
export function casePay(data) {
return request({
url: '/pay/casePay',
// headers: {
// isToken: false
// },
method: 'post',
data: data
})
}
// 确认缴费
export function confirmPay(data) {
return request({
url: '/pay/confirm',
// headers: {
// isToken: false
// },
method: 'put',
data: data
})
}
//确认缴费查看案件详情接口(新修改显示案件缴费状态)
export function selectCaseApplicationConfirm(data) {
return request({
url: '/caseApplication/selectCaseApplicationConfirm',
// headers: {
// isToken: false
// },
method: 'post',
data: data
})
}
// 缴费页面缴费确认
export function confirmPayDig(data) {
return request({
url: '/pay/confirmPay',
// headers: {
// isToken: false
// },
method: 'post',
data: data
})
}
// 查询批量缴费信息
// 缴费页面缴费确认
export function getPayDetail(params) {
return request({
url: '/pay/list',
method: 'get',
params: params
})
}
-539
View File
@@ -1,539 +0,0 @@
/* Logo 字体 */
@font-face {
font-family: "iconfont logo";
src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834');
src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834#iefix') format('embedded-opentype'),
url('https://at.alicdn.com/t/font_985780_km7mi63cihi.woff?t=1545807318834') format('woff'),
url('https://at.alicdn.com/t/font_985780_km7mi63cihi.ttf?t=1545807318834') format('truetype'),
url('https://at.alicdn.com/t/font_985780_km7mi63cihi.svg?t=1545807318834#iconfont') format('svg');
}
.logo {
font-family: "iconfont logo";
font-size: 160px;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
/* tabs */
.nav-tabs {
position: relative;
}
.nav-tabs .nav-more {
position: absolute;
right: 0;
bottom: 0;
height: 42px;
line-height: 42px;
color: #666;
}
#tabs {
border-bottom: 1px solid #eee;
}
#tabs li {
cursor: pointer;
width: 100px;
height: 40px;
line-height: 40px;
text-align: center;
font-size: 16px;
border-bottom: 2px solid transparent;
position: relative;
z-index: 1;
margin-bottom: -1px;
color: #666;
}
#tabs .active {
border-bottom-color: #f00;
color: #222;
}
.tab-container .content {
display: none;
}
/* 页面布局 */
.main {
padding: 30px 100px;
width: 960px;
margin: 0 auto;
}
.main .logo {
color: #333;
text-align: left;
margin-bottom: 30px;
line-height: 1;
height: 110px;
margin-top: -50px;
overflow: hidden;
*zoom: 1;
}
.main .logo a {
font-size: 160px;
color: #333;
}
.helps {
margin-top: 40px;
}
.helps pre {
padding: 20px;
margin: 10px 0;
border: solid 1px #e7e1cd;
background-color: #fffdef;
overflow: auto;
}
.icon_lists {
width: 100% !important;
overflow: hidden;
*zoom: 1;
}
.icon_lists li {
width: 100px;
margin-bottom: 10px;
margin-right: 20px;
text-align: center;
list-style: none !important;
cursor: default;
}
.icon_lists li .code-name {
line-height: 1.2;
}
.icon_lists .icon {
display: block;
height: 100px;
line-height: 100px;
font-size: 42px;
margin: 10px auto;
color: #333;
-webkit-transition: font-size 0.25s linear, width 0.25s linear;
-moz-transition: font-size 0.25s linear, width 0.25s linear;
transition: font-size 0.25s linear, width 0.25s linear;
}
.icon_lists .icon:hover {
font-size: 100px;
}
.icon_lists .svg-icon {
/* 通过设置 font-size 来改变图标大小 */
width: 1em;
/* 图标和文字相邻时,垂直对齐 */
vertical-align: -0.15em;
/* 通过设置 color 来改变 SVG 的颜色/fill */
fill: currentColor;
/* path 和 stroke 溢出 viewBox 部分在 IE 下会显示
normalize.css 中也包含这行 */
overflow: hidden;
}
.icon_lists li .name,
.icon_lists li .code-name {
color: #666;
}
/* markdown 样式 */
.markdown {
color: #666;
font-size: 14px;
line-height: 1.8;
}
.highlight {
line-height: 1.5;
}
.markdown img {
vertical-align: middle;
max-width: 100%;
}
.markdown h1 {
color: #404040;
font-weight: 500;
line-height: 40px;
margin-bottom: 24px;
}
.markdown h2,
.markdown h3,
.markdown h4,
.markdown h5,
.markdown h6 {
color: #404040;
margin: 1.6em 0 0.6em 0;
font-weight: 500;
clear: both;
}
.markdown h1 {
font-size: 28px;
}
.markdown h2 {
font-size: 22px;
}
.markdown h3 {
font-size: 16px;
}
.markdown h4 {
font-size: 14px;
}
.markdown h5 {
font-size: 12px;
}
.markdown h6 {
font-size: 12px;
}
.markdown hr {
height: 1px;
border: 0;
background: #e9e9e9;
margin: 16px 0;
clear: both;
}
.markdown p {
margin: 1em 0;
}
.markdown>p,
.markdown>blockquote,
.markdown>.highlight,
.markdown>ol,
.markdown>ul {
width: 80%;
}
.markdown ul>li {
list-style: circle;
}
.markdown>ul li,
.markdown blockquote ul>li {
margin-left: 20px;
padding-left: 4px;
}
.markdown>ul li p,
.markdown>ol li p {
margin: 0.6em 0;
}
.markdown ol>li {
list-style: decimal;
}
.markdown>ol li,
.markdown blockquote ol>li {
margin-left: 20px;
padding-left: 4px;
}
.markdown code {
margin: 0 3px;
padding: 0 5px;
background: #eee;
border-radius: 3px;
}
.markdown strong,
.markdown b {
font-weight: 600;
}
.markdown>table {
border-collapse: collapse;
border-spacing: 0px;
empty-cells: show;
border: 1px solid #e9e9e9;
width: 95%;
margin-bottom: 24px;
}
.markdown>table th {
white-space: nowrap;
color: #333;
font-weight: 600;
}
.markdown>table th,
.markdown>table td {
border: 1px solid #e9e9e9;
padding: 8px 16px;
text-align: left;
}
.markdown>table th {
background: #F7F7F7;
}
.markdown blockquote {
font-size: 90%;
color: #999;
border-left: 4px solid #e9e9e9;
padding-left: 0.8em;
margin: 1em 0;
}
.markdown blockquote p {
margin: 0;
}
.markdown .anchor {
opacity: 0;
transition: opacity 0.3s ease;
margin-left: 8px;
}
.markdown .waiting {
color: #ccc;
}
.markdown h1:hover .anchor,
.markdown h2:hover .anchor,
.markdown h3:hover .anchor,
.markdown h4:hover .anchor,
.markdown h5:hover .anchor,
.markdown h6:hover .anchor {
opacity: 1;
display: inline-block;
}
.markdown>br,
.markdown>p>br {
clear: both;
}
.hljs {
display: block;
background: white;
padding: 0.5em;
color: #333333;
overflow-x: auto;
}
.hljs-comment,
.hljs-meta {
color: #969896;
}
.hljs-string,
.hljs-variable,
.hljs-template-variable,
.hljs-strong,
.hljs-emphasis,
.hljs-quote {
color: #df5000;
}
.hljs-keyword,
.hljs-selector-tag,
.hljs-type {
color: #a71d5d;
}
.hljs-literal,
.hljs-symbol,
.hljs-bullet,
.hljs-attribute {
color: #0086b3;
}
.hljs-section,
.hljs-name {
color: #63a35c;
}
.hljs-tag {
color: #333333;
}
.hljs-title,
.hljs-attr,
.hljs-selector-id,
.hljs-selector-class,
.hljs-selector-attr,
.hljs-selector-pseudo {
color: #795da3;
}
.hljs-addition {
color: #55a532;
background-color: #eaffea;
}
.hljs-deletion {
color: #bd2c00;
background-color: #ffecec;
}
.hljs-link {
text-decoration: underline;
}
/* 代码高亮 */
/* PrismJS 1.15.0
https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript */
/**
* prism.js default theme for JavaScript, CSS and HTML
* Based on dabblet (http://dabblet.com)
* @author Lea Verou
*/
code[class*="language-"],
pre[class*="language-"] {
color: black;
background: none;
text-shadow: 0 1px white;
font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
text-align: left;
white-space: pre;
word-spacing: normal;
word-break: normal;
word-wrap: normal;
line-height: 1.5;
-moz-tab-size: 4;
-o-tab-size: 4;
tab-size: 4;
-webkit-hyphens: none;
-moz-hyphens: none;
-ms-hyphens: none;
hyphens: none;
}
pre[class*="language-"]::-moz-selection,
pre[class*="language-"] ::-moz-selection,
code[class*="language-"]::-moz-selection,
code[class*="language-"] ::-moz-selection {
text-shadow: none;
background: #b3d4fc;
}
pre[class*="language-"]::selection,
pre[class*="language-"] ::selection,
code[class*="language-"]::selection,
code[class*="language-"] ::selection {
text-shadow: none;
background: #b3d4fc;
}
@media print {
code[class*="language-"],
pre[class*="language-"] {
text-shadow: none;
}
}
/* Code blocks */
pre[class*="language-"] {
padding: 1em;
margin: .5em 0;
overflow: auto;
}
:not(pre)>code[class*="language-"],
pre[class*="language-"] {
background: #f5f2f0;
}
/* Inline code */
:not(pre)>code[class*="language-"] {
padding: .1em;
border-radius: .3em;
white-space: normal;
}
.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
color: slategray;
}
.token.punctuation {
color: #999;
}
.namespace {
opacity: .7;
}
.token.property,
.token.tag,
.token.boolean,
.token.number,
.token.constant,
.token.symbol,
.token.deleted {
color: #905;
}
.token.selector,
.token.attr-name,
.token.string,
.token.char,
.token.builtin,
.token.inserted {
color: #690;
}
.token.operator,
.token.entity,
.token.url,
.language-css .token.string,
.style .token.string {
color: #9a6e3a;
background: hsla(0, 0%, 100%, .5);
}
.token.atrule,
.token.attr-value,
.token.keyword {
color: #07a;
}
.token.function,
.token.class-name {
color: #DD4A68;
}
.token.regex,
.token.important,
.token.variable {
color: #e90;
}
.token.important,
.token.bold {
font-weight: bold;
}
.token.italic {
font-style: italic;
}
.token.entity {
cursor: help;
}
-257
View File
@@ -1,257 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<title>iconfont Demo</title>
<link rel="shortcut icon" href="//img.alicdn.com/imgextra/i4/O1CN01Z5paLz1O0zuCC7osS_!!6000000001644-55-tps-83-82.svg" type="image/x-icon"/>
<link rel="icon" type="image/svg+xml" href="//img.alicdn.com/imgextra/i4/O1CN01Z5paLz1O0zuCC7osS_!!6000000001644-55-tps-83-82.svg"/>
<link rel="stylesheet" href="https://g.alicdn.com/thx/cube/1.3.2/cube.min.css">
<link rel="stylesheet" href="demo.css">
<link rel="stylesheet" href="iconfont.css">
<script src="iconfont.js"></script>
<!-- jQuery -->
<script src="https://a1.alicdn.com/oss/uploads/2018/12/26/7bfddb60-08e8-11e9-9b04-53e73bb6408b.js"></script>
<!-- 代码高亮 -->
<script src="https://a1.alicdn.com/oss/uploads/2018/12/26/a3f714d0-08e6-11e9-8a15-ebf944d7534c.js"></script>
<style>
.main .logo {
margin-top: 0;
height: auto;
}
.main .logo a {
display: flex;
align-items: center;
}
.main .logo .sub-title {
margin-left: 0.5em;
font-size: 22px;
color: #fff;
background: linear-gradient(-45deg, #3967FF, #B500FE);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
</style>
</head>
<body>
<div class="main">
<h1 class="logo"><a href="https://www.iconfont.cn/" title="iconfont 首页" target="_blank">
<img width="200" src="https://img.alicdn.com/imgextra/i3/O1CN01Mn65HV1FfSEzR6DKv_!!6000000000514-55-tps-228-59.svg">
</a></h1>
<div class="nav-tabs">
<ul id="tabs" class="dib-box">
<li class="dib active"><span>Unicode</span></li>
<li class="dib"><span>Font class</span></li>
<li class="dib"><span>Symbol</span></li>
</ul>
<a href="https://www.iconfont.cn/manage/index?manage_type=myprojects&projectId=4246508" target="_blank" class="nav-more">查看项目</a>
</div>
<div class="tab-container">
<div class="content unicode" style="display: block;">
<ul class="icon_lists dib-box">
<li class="dib">
<span class="icon iconfont">&#xe68a;</span>
<div class="name">支付宝</div>
<div class="code-name">&amp;#xe68a;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe68b;</span>
<div class="name">银联</div>
<div class="code-name">&amp;#xe68b;</div>
</li>
<li class="dib">
<span class="icon iconfont">&#xe689;</span>
<div class="name">微信支付</div>
<div class="code-name">&amp;#xe689;</div>
</li>
</ul>
<div class="article markdown">
<h2 id="unicode-">Unicode 引用</h2>
<hr>
<p>Unicode 是字体在网页端最原始的应用方式,特点是:</p>
<ul>
<li>支持按字体的方式去动态调整图标大小,颜色等等。</li>
<li>默认情况下不支持多色,直接添加多色图标会自动去色。</li>
</ul>
<blockquote>
<p>注意:新版 iconfont 支持两种方式引用多色图标:SVG symbol 引用方式和彩色字体图标模式。(使用彩色字体图标需要在「编辑项目」中开启「彩色」选项后并重新生成。)</p>
</blockquote>
<p>Unicode 使用步骤如下:</p>
<h3 id="-font-face">第一步:拷贝项目下面生成的 <code>@font-face</code></h3>
<pre><code class="language-css"
>@font-face {
font-family: 'iconfont';
src: url('iconfont.woff2?t=1694418644261') format('woff2'),
url('iconfont.woff?t=1694418644261') format('woff'),
url('iconfont.ttf?t=1694418644261') format('truetype');
}
</code></pre>
<h3 id="-iconfont-">第二步:定义使用 iconfont 的样式</h3>
<pre><code class="language-css"
>.iconfont {
font-family: "iconfont" !important;
font-size: 16px;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
</code></pre>
<h3 id="-">第三步:挑选相应图标并获取字体编码,应用于页面</h3>
<pre>
<code class="language-html"
>&lt;span class="iconfont"&gt;&amp;#x33;&lt;/span&gt;
</code></pre>
<blockquote>
<p>"iconfont" 是你项目下的 font-family。可以通过编辑项目查看,默认是 "iconfont"。</p>
</blockquote>
</div>
</div>
<div class="content font-class">
<ul class="icon_lists dib-box">
<li class="dib">
<span class="icon iconfont icon-zhifubao"></span>
<div class="name">
支付宝
</div>
<div class="code-name">.icon-zhifubao
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-yinlian"></span>
<div class="name">
银联
</div>
<div class="code-name">.icon-yinlian
</div>
</li>
<li class="dib">
<span class="icon iconfont icon-weixinzhifu"></span>
<div class="name">
微信支付
</div>
<div class="code-name">.icon-weixinzhifu
</div>
</li>
</ul>
<div class="article markdown">
<h2 id="font-class-">font-class 引用</h2>
<hr>
<p>font-class 是 Unicode 使用方式的一种变种,主要是解决 Unicode 书写不直观,语意不明确的问题。</p>
<p>与 Unicode 使用方式相比,具有如下特点:</p>
<ul>
<li>相比于 Unicode 语意明确,书写更直观。可以很容易分辨这个 icon 是什么。</li>
<li>因为使用 class 来定义图标,所以当要替换图标时,只需要修改 class 里面的 Unicode 引用。</li>
</ul>
<p>使用步骤如下:</p>
<h3 id="-fontclass-">第一步:引入项目下面生成的 fontclass 代码:</h3>
<pre><code class="language-html">&lt;link rel="stylesheet" href="./iconfont.css"&gt;
</code></pre>
<h3 id="-">第二步:挑选相应图标并获取类名,应用于页面:</h3>
<pre><code class="language-html">&lt;span class="iconfont icon-xxx"&gt;&lt;/span&gt;
</code></pre>
<blockquote>
<p>"
iconfont" 是你项目下的 font-family。可以通过编辑项目查看,默认是 "iconfont"。</p>
</blockquote>
</div>
</div>
<div class="content symbol">
<ul class="icon_lists dib-box">
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-zhifubao"></use>
</svg>
<div class="name">支付宝</div>
<div class="code-name">#icon-zhifubao</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-yinlian"></use>
</svg>
<div class="name">银联</div>
<div class="code-name">#icon-yinlian</div>
</li>
<li class="dib">
<svg class="icon svg-icon" aria-hidden="true">
<use xlink:href="#icon-weixinzhifu"></use>
</svg>
<div class="name">微信支付</div>
<div class="code-name">#icon-weixinzhifu</div>
</li>
</ul>
<div class="article markdown">
<h2 id="symbol-">Symbol 引用</h2>
<hr>
<p>这是一种全新的使用方式,应该说这才是未来的主流,也是平台目前推荐的用法。相关介绍可以参考这篇<a href="">文章</a>
这种用法其实是做了一个 SVG 的集合,与另外两种相比具有如下特点:</p>
<ul>
<li>支持多色图标了,不再受单色限制。</li>
<li>通过一些技巧,支持像字体那样,通过 <code>font-size</code>, <code>color</code> 来调整样式。</li>
<li>兼容性较差,支持 IE9+,及现代浏览器。</li>
<li>浏览器渲染 SVG 的性能一般,还不如 png。</li>
</ul>
<p>使用步骤如下:</p>
<h3 id="-symbol-">第一步:引入项目下面生成的 symbol 代码:</h3>
<pre><code class="language-html">&lt;script src="./iconfont.js"&gt;&lt;/script&gt;
</code></pre>
<h3 id="-css-">第二步:加入通用 CSS 代码(引入一次就行):</h3>
<pre><code class="language-html">&lt;style&gt;
.icon {
width: 1em;
height: 1em;
vertical-align: -0.15em;
fill: currentColor;
overflow: hidden;
}
&lt;/style&gt;
</code></pre>
<h3 id="-">第三步:挑选相应图标并获取类名,应用于页面:</h3>
<pre><code class="language-html">&lt;svg class="icon" aria-hidden="true"&gt;
&lt;use xlink:href="#icon-xxx"&gt;&lt;/use&gt;
&lt;/svg&gt;
</code></pre>
</div>
</div>
</div>
</div>
<script>
$(document).ready(function () {
$('.tab-container .content:first').show()
$('#tabs li').click(function (e) {
var tabContent = $('.tab-container .content')
var index = $(this).index()
if ($(this).hasClass('active')) {
return
} else {
$('#tabs li').removeClass('active')
$(this).addClass('active')
tabContent.hide().eq(index).fadeIn()
}
})
})
</script>
</body>
</html>
-27
View File
@@ -1,27 +0,0 @@
@font-face {
font-family: "iconfont"; /* Project id 4246508 */
src: url('iconfont.woff2?t=1694418644261') format('woff2'),
url('iconfont.woff?t=1694418644261') format('woff'),
url('iconfont.ttf?t=1694418644261') format('truetype');
}
.iconfont {
font-family: "iconfont" !important;
font-size: 16px;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.icon-zhifubao:before {
content: "\e68a";
}
.icon-yinlian:before {
content: "\e68b";
}
.icon-weixinzhifu:before {
content: "\e689";
}
File diff suppressed because one or more lines are too long
-30
View File
@@ -1,30 +0,0 @@
{
"id": "4246508",
"name": "法务",
"font_family": "iconfont",
"css_prefix_text": "icon-",
"description": "",
"glyphs": [
{
"icon_id": "9306312",
"name": "支付宝",
"font_class": "zhifubao",
"unicode": "e68a",
"unicode_decimal": 59018
},
{
"icon_id": "9306315",
"name": "银联",
"font_class": "yinlian",
"unicode": "e68b",
"unicode_decimal": 59019
},
{
"icon_id": "9306311",
"name": "微信支付",
"font_class": "weixinzhifu",
"unicode": "e689",
"unicode_decimal": 59017
}
]
}
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 355 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.9 KiB

After

Width:  |  Height:  |  Size: 5.5 KiB

+2 -2
View File
@@ -51,12 +51,12 @@ export default {
// 图片数量限制 // 图片数量限制
limit: { limit: {
type: Number, type: Number,
default: 1, default: 5,
}, },
// 大小限制(MB) // 大小限制(MB)
fileSize: { fileSize: {
type: Number, type: Number,
// default: 5, default: 5,
}, },
// 文件类型, 例如['png', 'jpg', 'jpeg'] // 文件类型, 例如['png', 'jpg', 'jpeg']
fileType: { fileType: {
-7
View File
@@ -15,8 +15,6 @@ import plugins from './plugins' // plugins
import { download } from '@/utils/request' import { download } from '@/utils/request'
import './assets/icons' // icon 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 { getDicts } from "@/api/system/dict/data";
import { getConfigKey } from "@/api/system/config"; import { getConfigKey } from "@/api/system/config";
@@ -39,9 +37,6 @@ import DictTag from '@/components/DictTag'
import VueMeta from 'vue-meta' import VueMeta from 'vue-meta'
// 字典数据组件 // 字典数据组件
import DictData from '@/components/DictData' import DictData from '@/components/DictData'
//画布组件
import vueEsign from 'vue-esign'
import {checkPermi} from '@/utils/permission'
// 全局方法挂载 // 全局方法挂载
Vue.prototype.getDicts = getDicts Vue.prototype.getDicts = getDicts
@@ -53,7 +48,6 @@ Vue.prototype.selectDictLabel = selectDictLabel
Vue.prototype.selectDictLabels = selectDictLabels Vue.prototype.selectDictLabels = selectDictLabels
Vue.prototype.download = download Vue.prototype.download = download
Vue.prototype.handleTree = handleTree Vue.prototype.handleTree = handleTree
Vue.prototype.checkPermi = checkPermi
// 全局组件挂载 // 全局组件挂载
Vue.component('DictTag', DictTag) Vue.component('DictTag', DictTag)
@@ -67,7 +61,6 @@ Vue.component('ImagePreview', ImagePreview)
Vue.use(directive) Vue.use(directive)
Vue.use(plugins) Vue.use(plugins)
Vue.use(VueMeta) Vue.use(VueMeta)
Vue.use(vueEsign)
DictData.install() DictData.install()
/** /**
+10 -12
View File
@@ -65,14 +65,14 @@ export const constantRoutes = [
path: '', path: '',
component: Layout, component: Layout,
redirect: 'index', redirect: 'index',
// children: [ children: [
// { {
// path: 'index', path: 'index',
// component: () => import('@/views/index'), component: () => import('@/views/index'),
// name: 'Index', name: 'Index',
// meta: { title: '首页', icon: 'dashboard', affix: true } meta: { title: '首页', icon: 'dashboard', affix: true }
// } }
// ] ]
}, },
{ {
path: '/user', path: '/user',
@@ -100,8 +100,7 @@ export const dynamicRoutes = [
children: [ children: [
{ {
path: 'role/:userId(\\d+)', 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', name: 'AuthRole',
meta: { title: '分配角色', activeMenu: '/system/user' } meta: { title: '分配角色', activeMenu: '/system/user' }
} }
@@ -115,8 +114,7 @@ export const dynamicRoutes = [
children: [ children: [
{ {
path: 'user/:roleId(\\d+)', 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', name: 'AuthUser',
meta: { title: '分配用户', activeMenu: '/system/role' } meta: { title: '分配用户', activeMenu: '/system/role' }
} }
+1 -2
View File
@@ -126,8 +126,7 @@ export const loadView = (view) => {
return (resolve) => require([`@/views/${view}`], resolve) return (resolve) => require([`@/views/${view}`], resolve)
} else { } else {
// 使用 import 实现生产环境的路由懒加载 // 使用 import 实现生产环境的路由懒加载
// return () => import(`@/views/${view}`) return () => import(`@/views/${view}`)
return (resolve) => require([`@/views/${view}`], resolve)
} }
} }
+1
View File
@@ -24,6 +24,7 @@ export function checkPermi(value) {
return false return false
} }
} }
/** /**
* 角色权限校验 * 角色权限校验
* @param {Array} value 校验值 * @param {Array} value 校验值
+1 -2
View File
@@ -17,8 +17,7 @@ const service = axios.create({
// axios中请求配置有baseURL选项,表示请求URL公共部分 // axios中请求配置有baseURL选项,表示请求URL公共部分
baseURL: process.env.VUE_APP_BASE_API, baseURL: process.env.VUE_APP_BASE_API,
// 超时 // 超时
// timeout: 10000 timeout: 10000
timeout: 15000
}) })
// request拦截器 // request拦截器
@@ -1,230 +0,0 @@
<template>
<div class="app-container">
<el-form
:model="queryParams"
ref="queryForm"
size="small"
:inline="true"
label-width="88px"
>
<el-form-item label="仲裁员姓名" prop="arbitratorName">
<el-input
v-model="queryParams.arbitratorName"
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-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="addArbitrator"
v-hasPermi="['monitor:job:add']"
>新增仲裁员</el-button
>
</el-col>
</el-row>
<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="arbitratorName"
:show-overflow-tooltip="true"
/>
<el-table-column
label="职业"
align="center"
prop="career"
:show-overflow-tooltip="true"
/>
<el-table-column
label="专业分类"
align="center"
prop="professiClassifi"
:show-overflow-tooltip="true"
/>
<el-table-column
label="学历"
align="center"
prop="education"
:show-overflow-tooltip="true"
/>
<el-table-column
label="所在地区"
align="center"
prop="area"
:show-overflow-tooltip="true"
/>
<el-table-column
label="联系电话"
align="center"
prop="telephone"
: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-zoom-in"
@click="detailRow(scope.row)"
v-hasPermi="['monitor:online:forceLogout']"
>详情</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="editRow(scope.row)"
v-hasPermi="['monitor:online:forceLogout']"
>修改</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="deleteRow(scope.row)"
v-hasPermi="['monitor:online:forceLogout']"
>删除</el-button
>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getArbitratorList"
/>
<arbitrator-dialog
:showarbitrator="showarbitrator"
:dialogTitle="dialogTitle"
@closeArbitratorDialog="closeArbitratorDialog"
:formData="formData"
:flag="flag"
></arbitrator-dialog>
</div>
</template>
<script>
import arbitratorDialog from "./components/arbitratorDialog.vue";
export default {
components: { arbitratorDialog },
data() {
return {
// 遮罩层
loading: true,
// 查询参数
queryParams: {
arbitratorName: null,
pageNum: 1,
pageSize: 10,
},
formData: {}, // 弹框数据
dataList: [],
showarbitrator: false, //显示弹框
dialogTitle: "", //弹框标题
flag: null,
};
},
created() {
this.getArbitratorList(this.queryParams);
},
methods: {
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getArbitratorList(this.queryParams);
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.getArbitratorList(this.queryParams);
},
// 获取仲裁员列表数据
getArbitratorList() {
this.dataList.push({
id: "1",
arbitratorName: "刘某",
career: "律师",
professiClassifi: "经济管理",
education: "本科",
area: "西安",
telephone: "18547451263",
});
this.total = this.dataList.length;
this.loading = false;
},
// 新增仲裁员
addArbitrator() {
this.showarbitrator = true;
this.dialogTitle = "新增";
this.flag = 0;
this.formData = {};
},
// 详情
detailRow(row) {
this.showarbitrator = true;
this.dialogTitle = "详情";
this.flag = 1;
this.formData = row;
},
// 修改
editRow(row) {
this.showarbitrator = true;
this.dialogTitle = "修改";
this.flag = 2;
this.formData = row;
},
// 关闭弹框
closeArbitratorDialog() {
this.showarbitrator = false;
},
// 删除
deleteRow() {
this.$modal
.confirm("是否确认删除?")
.then(function () {
// return removeCaseApply({ id: row.id });
})
.then((res) => {
this.getArbitratorList(this.queryParams);
this.$modal.msgSuccess("删除成功");
})
.catch(() => {});
},
},
};
</script>
<style lang="scss" scoped>
</style>
@@ -1,114 +0,0 @@
<template>
<div>
<!-- 仲裁员弹框 -->
<el-dialog
:title="dialogTitle"
:visible="showarbitrator"
@close="cancel"
:destroy-on-close="true"
center
>
<el-form
ref="form"
:model="form"
label-width="100px"
:disabled="flag == 1"
>
<el-form-item label="仲裁员姓名:" prop="arbitratorName">
<el-input
v-model="form.arbitratorName"
placeholder="请输入仲裁员姓名"
/>
</el-form-item>
<el-form-item label="职业:" prop="career">
<el-input v-model="form.career" placeholder="请输入职业" />
</el-form-item>
<el-form-item label="专业分类:" prop="professiClassifi">
<el-input v-model="form.professiClassifi" placeholder="请输入专业" />
</el-form-item>
<el-form-item label="学历:" prop="education">
<el-input v-model="form.education" placeholder="请输入学历" />
</el-form-item>
<el-form-item label="所在地区:" prop="area">
<el-input v-model="form.area" placeholder="请输入所在地区" />
</el-form-item>
<el-form-item label="电话:" prop="telephone">
<el-input v-model="form.telephone" placeholder="请输入电话" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm" class="endbutton"
><span>提 交</span></el-button
>
<el-button @click="cancel" class="endbutton1"
><span> 取 消</span></el-button
>
</div>
</el-dialog>
</div>
</template>
<script>
export default {
props: ["showarbitrator", "dialogTitle", "formData", "flag"],
data() {
return {
form: {},
};
},
watch: {
formData: {
handler(val) {
if (val) {
this.form = val;
}
},
},
},
methods: {
cancel() {
this.$emit("closeArbitratorDialog");
},
// /提交
submitForm() {},
},
};
</script>
<style lang="scss" scoped>
::v-deep .el-dialog {
width: 600px;
background: #ffffff;
border-radius: 20px;
}
.endbutton {
width: 124px;
height: 37px;
background: #0072ff;
border-radius: 19px;
span {
width: 32px;
height: 15px;
font-size: 16px;
font-family: Microsoft YaHei;
font-weight: 400;
color: #ffffff;
// line-height: 48px;
}
}
.endbutton1 {
width: 124px;
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,148 +0,0 @@
<template>
<!-- 送达裁决书页面 -->
<div>
<el-dialog
title="是否确认发送裁决书"
:visible="openMailawardDialog"
@close="cancel"
:destroy-on-close="true"
center
>
<el-form ref="form" :model="formData" label-width="150px">
<el-col :span="24">
<el-form-item
label="申请人电子邮件:"
prop="appEmail"
: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="formData.appEmail"
placeholder="请输入电子邮件"
disabled
/>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item
label="被申请人电子邮件:"
prop="resEmail"
: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="formData.resEmail"
placeholder="请输入电子邮件"
disabled
/>
</el-form-item>
</el-col>
<!-- <el-col :span="24">
<el-form-item
label="申请人快递单号:"
prop="apptrackingNum"
>
<el-input
v-model="formData.apptrackingNum"
placeholder="请输入快递单号"
/>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item
label="被申请人快递单号:"
prop="restrackingNum"
>
<el-input
v-model="formData.restrackingNum"
placeholder="请输入快递单号"
/>
</el-form-item>
</el-col> -->
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button type="" @click="cancel">取 消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { adjudicationDelivery, adjudicationService } from "@/api/awardManagement/awardManagement";
export default {
props: ["openMailawardDialog", "mailawardata", "emailobj"],
data() {
return {
formData: this.emailobj,
};
},
watch: {
emailobj: {
handler(val) {
if (val) {
this.formData = this.emailobj
}
},
},
},
methods: {
submitForm() {
// adjudicationDelivery
this.$refs["form"].validate((valid) => {
if (valid) {
// adjudicationDelivery({
delete this.formData.id
delete this.formData.apptrackingNum
delete this.formData.restrackingNum
adjudicationService({
id: this.mailawardata.id,
...this.formData,
})
.then((res) => {
if (res.code == 200) {
this.$modal.msgSuccess("提交成功");
this.$emit("updataList");
this.cancel();
}
})
.catch((err) => {});
}
});
},
cancel() {
this.$emit("closeMailaward");
},
},
};
</script>
<style lang="scss" scoped>
::v-deep .el-dialog {
width: 550px;
background: #ffffff;
border-radius: 20px;
}
</style>
@@ -1,129 +0,0 @@
<template>
<div>
<el-dialog
title="快递信息"
:visible="showDelivery"
@close="cancel"
center
:distroy-on-close="true"
>
<div class="loading" v-if="flagLoading">
<i class="el-icon-loading"></i>
</div>
<div v-else>
<div class="noData" v-if="noData">暂无快递信息!</div>
<div v-else>
<div class="deliverName">
{{ applicantdelivery.company }} {{ applicantdelivery.no }}
</div>
<el-divider></el-divider>
<el-timeline :reverse="reverse">
<el-timeline-item
v-for="(activity, index) in activities"
:key="index"
:timestamp="activity.timestamp"
>
{{ activity.content }}
</el-timeline-item>
</el-timeline>
</div>
</div>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel" class="endbutton"
><span>取 消</span></el-button
>
</div>
</el-dialog>
</div>
</template>
<script>
export default {
props: ["showDelivery", "deliveryDataArr", "flagLoading"],
data() {
return {
// key: value
reverse: true,
applicantdelivery: {}, //申请人物流信息
activities: [],
noData: false,
};
},
watch: {
deliveryDataArr: {
handler(val) {
if (val) {
val.forEach((item) => {
if (item.identityType == 1) {
let applicantdata = item.logisticsInfo;
this.applicantdelivery = JSON.parse(applicantdata);
if (this.applicantdelivery.list) {
this.activities = this.applicantdelivery.list;
this.activities.forEach((item) => {
item.content = item.datetime;
item.timestamp = item.remark;
});
} else {
this.noData = true;
return;
}
}
});
}
},
},
},
methods: {
cancel() {
this.$emit("closeDeliveryModel");
},
},
};
</script>
<style lang="scss" scoped>
::v-deep .el-dialog {
width: 600px;
background: #ffffff;
border-radius: 20px;
}
.deliverName {
margin-left: 6%;
font-size: 16px;
font-weight: 500;
}
.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;
}
}
.loading {
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
.el-icon-loading {
font-size: 50px;
}
}
.noData {
width: 100%;
font-size: 20px;
font-weight: 700;
color: #959595;
display: flex;
justify-content: center;
align-items: center;
}
</style>
@@ -1,338 +0,0 @@
<template>
<div>
<el-dialog :title="title" :visible="openDialog" width="1000px" @close="cancel" :destroy-on-close="true">
<el-descriptions title="案件信息" border style="margin-bottom: 30px">
<el-descriptions-item label="案件编号">{{
form.caseNum
}}</el-descriptions-item>
<el-descriptions-item label="案件标的">{{
form.caseSubjectAmount
}}</el-descriptions-item>
<el-descriptions-item label="借款开始日期">{{
form.loanStartDate
}}</el-descriptions-item>
<el-descriptions-item label="借款结束日期">{{
form.loanEndDate
}}</el-descriptions-item>
<el-descriptions-item label="合同编号">{{
form.contractNumber
}}</el-descriptions-item>
<el-descriptions-item label="申请人主张欠本金">{{
form.claimPrinciOwed
}}</el-descriptions-item>
<el-descriptions-item label="申请人主张欠利息">{{
form.claimInterestOwed
}}</el-descriptions-item>
<el-descriptions-item label="申请人主张违约金">{{
form.claimLiquidDamag
}}</el-descriptions-item>
<el-descriptions-item label="申请人案件证据资料">
<p @click="toFile(index, 2)" v-for="(item, index) in applicantFileArr" :key="index">
<a href="#">{{ item }}</a>
</p>
</el-descriptions-item>
<el-descriptions-item label="被申请人案件证据资料">
<p v-for="(item, index) in respondentFileArr" :key="index" @click="toFile(index, 6)">
<a href="#">{{ item }}</a>
</p>
</el-descriptions-item>
<el-descriptions-item label="裁决书附件">
<p v-for="(item, index) in awardFileArr" :key="index" @click="toFile(index, 3)">
<a href="#">{{ item }}</a>
</p>
</el-descriptions-item>
<el-descriptions-item label="庭审笔录附件">
<p v-for="(item, index) in bookFileArr" :key="index" @click="toFile(index, 7)">
<a href="#">{{ item }}</a>
</p>
</el-descriptions-item>
</el-descriptions>
<el-form ref="form" :model="arbitrateRecord" label-width="300px" label-position="left" :rules="rules"
:disabled="flag == 3">
<!-- <el-form-item label="经庭审质证,对各方提供的证据认定如下" prop="evidenDetermi">
<el-input type="textarea" autosize :disabled="flag == 2" placeholder="请输入内容"
v-model="arbitrateRecord.evidenDetermi" />
</el-form-item>
<el-form-item label="仲裁庭经审理查明(写明仲裁庭认定的事实)" prop="factDetermi">
<el-input type="textarea" autosize :disabled="flag == 2" placeholder="请输入内容"
v-model="arbitrateRecord.factDetermi" />
</el-form-item>
<el-form-item label="综上所述" prop="caseSketch">
<el-input type="textarea" autosize :disabled="flag == 2" placeholder="请输入内容"
v-model="arbitrateRecord.caseSketch" />
</el-form-item>
<el-form-item label="本庭认为" prop="arbitrateThink">
<el-input type="textarea" autosize :disabled="flag == 2" placeholder="请输入内容"
v-model="arbitrateRecord.arbitrateThink" />
</el-form-item>
<el-form-item label="裁决如下" prop="rulingFollows">
<el-input type="textarea" autosize :disabled="flag == 2" placeholder="请输入内容"
v-model="arbitrateRecord.rulingFollows" />
</el-form-item>
<el-form-item label="核验裁决书意见:" prop="verificaOpinion">
<el-input type="textarea" autosize :disabled="flag == 2" placeholder="请输入内容"
v-model="arbitrateRecord.verificaOpinion" />
</el-form-item> -->
<el-form-item label="笔录内容:" prop="responCrossOpin">
<!-- <el-input type="textarea" :autosize="{ minRows: 6 }" v-model="arbitrateRecord.responCrossOpin" placeholder="请输入" /> -->
<el-input type="textarea" :autosize="{ minRows: 6 }" v-model="arbitrateRecordt.responCrossOpin" placeholder="请输入" />
</el-form-item>
<el-form-item label="审核意见:" prop="checkOpinion" v-if="flag == 2">
<el-input type="textarea" autosize placeholder="请输入内容" v-model="arbitrateRecord.checkOpinion" />
</el-form-item>
</el-form>
<!-- 画布 -->
<h4 v-if="flag == 3">签名区域</h4>
<div class="esign" v-if="flag == 3">
<vue-esign ref="esign" :width="900" :height="300" bgColor="#ffffff" />
</div>
<!-- 清除画布 -->
<el-button v-if="flag == 3" type="info" @click="handleReset">清除画布</el-button>
<div slot="footer" class="dialog-footer">
<el-button type="danger" @click="submitForm(4)" v-if="flag == 1">重新生成裁决书</el-button>
<el-button type="primary" @click="submitForm(0)" v-if="flag == 1">提 交</el-button>
<el-button type="primary" @click="submitForm(1)" v-if="flag == 2">同 意</el-button>
<el-button type="danger" @click="submitForm(2)" v-if="flag == 2">驳 回</el-button>
<el-button type="primary" @click="submitForm(3)" v-if="flag == 3">提 交</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import {
verificationArbitrateRecord,
checkArbitrateRecord,
adjudicationSignature,
regenerationDocument
} from "@/api/awardManagement/awardManagement";
export default {
props: ["openDialog", "title", "flag", "detailform"],
data() {
return {
// key: value
arbitrateRecordt: {},
form: {},
arbitrateRecord: {
// checkOpinion:"同意"
checkOpinion:""
},
// 表单校验
rules: {
evidenDetermi: [
{
required: true,
message: "不能为空",
trigger: "blur",
},
],
factDetermi: [
{
required: true,
message: "不能为空",
trigger: "blur",
},
],
caseSketch: [
{
required: true,
message: "不能为空",
trigger: "blur",
},
],
arbitrateThink: [
{
required: true,
message: "不能为空",
trigger: "blur",
},
],
rulingFollows: [
{
required: true,
message: "不能为空",
trigger: "blur",
},
],
verificaOpinion: [
{
required: true,
message: "意见不能为空",
trigger: "blur",
},
],
checkOpinion: [
{
required: true,
message: "意见不能为空",
trigger: "blur",
},
],
},
applicantFileArr: [], //申请人
applicantPathArr: [], //申请人
respondentFileArr: [], //被申请人
respondenPathArr: [], //被申请人
awardFileArr: [], //庭审笔录文件
awardPathArr: [], //庭审笔录路径
bookFileArr: [], //裁决书文件
bookPathArr: [], //庭审笔录路径
};
},
watch: {
detailform: {
handler(val) {
if (val) {
(this.applicantFileArr = []), //申请人
(this.applicantPathArr = []), //申请人
(this.respondentFileArr = []), //被申请人
(this.respondenPathArr = []), //被申请人
(this.awardFileArr = []), //裁决书
(this.awardPathArr = []), //裁决书
// setTimeout(() => {
this.form = this.detailform;
// if(this.form.arbitrateRecord && this.form.arbitrateRecord.checkOpinion == null ){
// this.form.arbitrateRecord.checkOpinion = '同意';
this.arbitrateRecord.checkOpinion = '';
// }
// this.arbitrateRecord = this.form.arbitrateRecord;
this.evidenceFile(this.form);
// }, 1000);
}
},
},
},
methods: {
// 申请人裁决书
evidenceFile(val) {
if (val) {
this.applicantFileArr = [];
this.applicantPathArr = [];
this.respondentFileArr = [];
this.respondenPathArr = [];
this.awardFileArr = [];
this.awardPathArr = [];
this.bookFileArr = [];
this.bookPathArr = [];
val.caseAttachList.forEach((item) => {
if (item.annexType == 2) {
this.applicantFileArr.push(item.annexName);
this.applicantPathArr.push(item.annexPath);
} else if (item.annexType == 6) {
this.respondentFileArr.push(item.annexName);
this.respondenPathArr.push(item.annexPath);
} else if (item.annexType == 3) {
this.awardFileArr.push(item.annexName);
this.awardPathArr.push(item.annexPath);
} else if (item.annexType == 7) {
this.bookFileArr.push(item.annexName);
this.bookPathArr.push(item.annexPath);
}
});
}
},
// 预览文件
toFile(index, val) {
let headPath = window.location.origin + "/API";
if (val == 2) {
window.open(headPath + this.applicantPathArr[index], "_blank");
} else if (val == 6) {
window.open(headPath + this.respondenPathArr[index], "_blank");
} else if (val == 3) {
window.open(headPath + this.awardPathArr[index], "_blank");
} else if (val == 7) {
window.open(headPath + this.bookPathArr[index], "_blank");
}
},
// 校验裁决书
verificationArbitrateRecordFn(parms) {
verificationArbitrateRecord(parms).then((res) => {
this.cancel();
this.$emit("updataList");
this.$message("成功");
});
},
//审核裁决书
checkArbitrateRecordFn(parms) {
checkArbitrateRecord(parms).then((res) => {
this.cancel();
this.$emit("updataList");
this.$message("成功");
});
},
// 签名
adjudicationSignatureFn(parms) {
adjudicationSignature(parms).then((res) => {
this.cancel();
this.$emit("updataList");
this.$message("成功");
})
},
// 重新生成裁决书
getRegenerationDocument(params) {
regenerationDocument(params).then(res => {
console.log(res.data, "重新生成裁决书");
this.awardFileArr = [];
this.awardPathArr = [];
this.awardFileArr[0] = res.data.annexName;
this.awardPathArr[0] = res.data.annexPath;
})
},
submitForm(parms) {
this.$refs["form"].validate((valid) => {
if (valid) {
if (parms == 0) {
this.verificationArbitrateRecordFn({
id: this.form.id,
arbitrateRecord: this.arbitrateRecord,
});
} else if (parms == 1) {
this.checkArbitrateRecordFn({
id: this.form.id,
agreeOrNotCheck: 1,
arbitrateRecord: this.arbitrateRecord,
});
} else if (parms == 2) {
this.checkArbitrateRecordFn({
id: this.form.id,
agreeOrNotCheck: 2,
arbitrateRecord: this.arbitrateRecord,
});
} else if (parms == 3) {
this.adjudicationSignatureFn({
id: this.form.id,
});
} else if (parms == 4) {
let paramsData = {};
paramsData.arbitrateRecord = this.arbitrateRecord;
paramsData.id = this.form.id
this.getRegenerationDocument(paramsData)
}
}
});
},
cancel() {
this.$emit("cancelpaymentdetails");
},
// 清除画布
handleReset() {
this.$refs["esign"].reset(); //清空画布
},
},
};
</script>
<style lang="scss" scoped>
::v-deep .el-dialog {
border-radius: 30px;
}
.esign {
border: 1px solid;
}
a {
color: blue;
}
</style>
-356
View File
@@ -1,356 +0,0 @@
<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 label="案件状态" prop="caseStatus">
<el-select :disabled="caseStatusType" v-model="queryParams.caseStatus" placeholder="请选择案件状态" clearable
@keyup.enter.native="handleQuery">
<el-option v-for="dict in caseStatus" :key="dict.dictSort" :label="dict.dictLabel"
:value="dict.dictSort"></el-option>
</el-select>
</el-form-item>
<el-form-item label="是否完成" prop="selectCaseStatus">
<el-select v-model="queryParams.selectCaseStatus" placeholder="请选择状态" clearable
@keyup.enter.native="handleQuery">
<el-option v-for="dict in selectCaseStatusList" :key="dict.value" :label="dict.label"
:value="dict.value"></el-option>
</el-select>
</el-form-item>
<!-- <el-form-item label="开庭日期" prop="hearDate">
<el-date-picker v-model="queryParams.hearDate" 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>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</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="operateClick(3)"
v-hasPermi="['caseManagement:list:check']">案件批量归档</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="operateClick(5)"
v-hasPermi="['awardManagement:list:check']">案件批量核查</el-button>
</el-col>
</el-row>
<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="caseSubjectAmount" />
<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="caseStatusName">
<template slot-scope="scope">
<el-tag type="success">{{ scope.row.caseStatusName }}</el-tag>
</template>
</el-table-column>
<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-reading"
v-if="scope.row.filearbitraUrl && scope.row.filearbitraUrl !== ''"
@click="showModel(scope.row, 0)">查看裁决书</el-button>
<el-button size="mini" type="text" icon="el-icon-edit"
v-if="scope.row.caseStatus == 11 && checkPermi(['awardManagement:list:check']) && btnStatus"
@click="showModel(scope.row, 1)">核查</el-button>
<el-button size="mini" type="text" icon="el-icon-edit"
v-if="scope.row.caseStatus == 12 && checkPermi(['awardManagement:list:confirmaward']) && btnStatus"
@click="showModel(scope.row, 2)">确认裁决书</el-button>
<el-button size="mini" type="text" icon="el-icon-edit"
v-if="scope.row.caseStatus == 13 && checkPermi(['awardManagement:list:sign']) && btnStatus"
@click="showModel(scope.row, 3)">签名</el-button>
<el-button size="mini" type="text" icon="el-icon-edit"
v-if="scope.row.caseStatus == 14 && checkPermi(['awardManagement:list:signprint']) && btnStatus"
@click="showaffixModel(scope.row, 4)">用印申请</el-button>
<!-- v-if="scope.row.caseStatus > 15" -->
<el-button size="mini" type="text" icon="el-icon-truck"
v-if="scope.row.caseStatus > 15 && checkPermi(['delivery:list:detail'])"
@click="showDeliveryModel(scope.row, 4)">快递信息</el-button>
<!-- v-if="scope.row.caseStatus == 15" 送达裁决书 -->
<el-button size="mini" type="text" icon="el-icon-edit"
v-if="scope.row.caseStatus == 15 && checkPermi(['awardManagement:list:sendaward']) && btnStatus"
@click="showMailaward(scope.row)">送达裁决书</el-button>
<el-button size="mini" type="text" icon="el-icon-edit"
v-if="scope.row.caseStatus == 16 && checkPermi(['awardManagement:list:file']) && btnStatus"
@click="showCasefilingModel(scope.row, 6)">案件归档</el-button>
</template>
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
@pagination="getList(queryParams)" />
<!-- 弹窗 -->
<paymentdetailsDialog :openDialog="openDialog" :detailform="detailform" :title="title" :flag="flag"
@cancelpaymentdetails="cancelpaymentdetails" @updataList="updataList"></paymentdetailsDialog>
<!-- 送达裁决书页面 -->
<mailawardDialog :openMailawardDialog="openMailawardDialog" @closeMailaward="closeMailaward"
@updataList="updataList" :mailawardata="mailawardata" :emailobj="emailobj"></mailawardDialog>
<!-- 快递信息页面 -->
<expressDeliveryDialog :showDelivery="showDelivery" :deliveryDataArr="deliveryDataArr"
@closeDeliveryModel="closeDeliveryModel" :flagLoading="flagLoading"></expressDeliveryDialog>
<!-- 批量操作弹窗 -->
<operateDialog :queryParams="queryParams" :operateStatus="operateStatus" :operateVisable="operateVisable"
@getcaseApply="getList" :operateTitle="operateTitle" @cancelOperate="cancelOperate" :operateData="operateData">
</operateDialog>
</div>
</template>
<script>
import {
caseApplicationList,
caseApplicationDetail,
adjudicationLogistics,
adjudicationCaseFile,
adjudicationStamp,
selectSignUrl,
selectSealUrl,
selectSignSealUrl,
emailByCaseId
} from "@/api/awardManagement/awardManagement";
import paymentdetailsDialog from "./components/paymentdetailsDialog.vue";
import mailawardDialog from './components/MailawardDialog.vue';
import expressDeliveryDialog from './components/expressDeliveryDialog.vue';
import operateDialog from '@/views/caseManagement/components/operateDialog.vue'
import { getDicts } from '@/api/system/dict/data.js'
export default {
name: "paymentList",
dicts: ["case_status"],
components: { paymentdetailsDialog, mailawardDialog, expressDeliveryDialog, operateDialog },
data() {
return {
queryParams: {
pageNum: 1,
pageSize: 10,
},
caseStatus: [],
// 遮罩层
loading: false,
// 总条数
total: 0,
// 表格数据
list: [],
emailobj: {},//邮箱存储
// 弹出层标题
title: "",
payTitle: "",
// 是否显示弹出层
open: false,
openPay: false,
// 弹出层内容
form: {},
// 校验表单
rules: {},
dataList: [],
detailform: {}, //缴费详情数据
openDialog: false, //缴费详情数据弹框
flag: null,
openMailawardDialog: false, //送达裁决书页面
mailawardata: {}, //裁决书送达界面数据
showDelivery: false, //快递信息弹框
deliveryDataArr: [],//快递信息数据
flagLoading: true,
operateVisable: false,
operateData: {},
operateStatus: 0,
operateTitle: "",
selectCaseStatusList: [
{
label: "待办案件",
value: 0
},
{
label: "已办案件",
value: 1
}
],
caseStatusType: false,
btnStatus: true,
};
},
created() {
getDicts("case_status").then(res => {
this.caseStatus = res.data;
let params = this.$route.params.status;
if (params) {
this.queryParams.caseStatus = params;
}
this.queryParams.caseStatusList = [11, 12, 13, 14, 15, 16]
this.getList(this.queryParams);
})
// 裁决书列表不显示 生成裁决书
// this.queryParams.caseStatusList = [10, 11, 12, 13, 14, 15, 16]
},
methods: {
cancelOperate() {
this.operateVisable = false;
},
operateClick(type) {
this.operateVisable = true;
if (type == 0) {
this.operateTitle = '批量提交';
this.operateStatus = 0;
} else if (type == 1) {
this.operateTitle = '批量删除';
this.operateStatus = 1;
} else if (type == 2) {
this.operateTitle = '批量立案申请';
this.operateStatus = 2;
} else if (type == 3) {
this.operateTitle = '批量归档';
this.operateStatus = 3;
}else if (type == 5) {
this.operateTitle = '批量核查';
this.operateStatus = 5;
}
},
updataList() {
this.getList(this.queryParams);
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList(this.queryParams);
if (this.queryParams.selectCaseStatus == 1) {
this.queryParams.caseStatus = null;
this.caseStatusType = true;
this.btnStatus = false;
} else if (this.queryParams.selectCaseStatus == 0) {
this.caseStatusType = false;
this.btnStatus = true;
}
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 查询列表数据
getList(parms) {
this.loading = true;
caseApplicationList(parms).then((response) => {
this.dataList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// model框显示
showModel(row, type) {
switch (type) {
case 0:
selectSignSealUrl({ id: row.id }).then(res => {
let url = res.data.filearbitraUrl;
window.open(url)
})
break;
case 1:
this.getDetail({ id: row.id });
this.openDialog = true;
this.title = "核验裁决书";
this.flag = 1;
break;
case 2:
this.getDetail({ id: row.id });
this.openDialog = true;
this.title = "审核裁决书";
this.flag = 2;
break;
case 3:
// this.title = "裁决书签名";
// this.flag = 3;
selectSignUrl({ id: row.id }).then(res => {
let url = res.data.signUrl;
window.open(url)
})
break;
default:
break;
}
},
// 关闭弹窗
cancelpaymentdetails() {
this.openDialog = false;
},
// 用印申请
showaffixModel(row) {
this.$modal.confirm('是否进行用印申请?')
.then(function () {
// return adjudicationStamp({ id: row.id });
selectSealUrl({ id: row.id }).then(res => {
let url = res.data.sealUrl;
window.open(url)
})
})
// .then(() => {
// this.getList(this.queryParams);
// this.$modal.msgSuccess("用印成功!");
// })
.catch(function () {
});
},
// 快递信息弹框
showDeliveryModel(row) {
console.log(row, '快递');
this.showDelivery = true
this.getadjudicationLogistics({ id: row.id })
},
closeDeliveryModel() {
this.showDelivery = false
},
// 查询物流信息
getadjudicationLogistics(val) {
this.flagLoading = true;
adjudicationLogistics(val).then((res) => {
this.deliveryDataArr = res.data
this.flagLoading = false
})
},
// 案件归档
showCasefilingModel(row) {
this.$modal.confirm('是否确认立即进行案件扫描?').then(
function () {
// return adjudicationCaseFile({ id: row.id })
return adjudicationCaseFile({ ids: [row.id] })
}
).then(() => {
this.getList(this.queryParams);
this.$modal.msgSuccess("归档成功!");
}).catch(function () { })
},
// 送达裁决书弹框
showMailaward(row) {
this.mailawardata = row;
this.emailByCaseIdFn(row.id)
this.openMailawardDialog = true
},
// 关闭送达裁决书弹框
closeMailaward(row) {
this.openMailawardDialog = false
},
// 根据案件id查询邮件
emailByCaseIdFn(val) {
emailByCaseId({id: val}).then((res) => {
this.emailobj = res.data
})
},
/** 查询详情 */
getDetail(parms) {
caseApplicationDetail(parms).then((res) => {
this.detailform = res.data;
});
},
},
};
</script>
<style lang="scss" scoped></style>
-304
View File
@@ -1,304 +0,0 @@
<template>
<div class="app-container">
<el-form
:model="queryParams"
ref="queryForm"
size="small"
:inline="true"
label-width="68px"
>
<el-form-item label="案件编号" prop="caseNumber">
<el-input
v-model="queryParams.caseNumber"
placeholder="请输入案件编号"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="申请人" prop="applicant">
<el-input
v-model="queryParams.applicant"
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-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="batchFiling"
v-hasPermi="['monitor:job:add']"
>批量立案</el-button
>
</el-col>
</el-row>
<el-table v-loading="loading" :data="batchList" style="width: 100%">
<el-table-column label="序号" type="index" align="center">
<template slot-scope="scope">
<span>{{ (pageNum - 1) * pageSize + scope.$index + 1 }}</span>
</template>
</el-table-column>
<el-table-column
label="案件编号"
align="center"
prop="caseNumber"
:show-overflow-tooltip="true"
/>
<el-table-column
label="申请人"
align="center"
prop="applicant"
:show-overflow-tooltip="true"
/>
<el-table-column label="案件标的" align="center" prop="matterofCase" />
<el-table-column
label="立案日期"
align="center"
prop="filingDate"
:show-overflow-tooltip="true"
/>
<!-- <el-table-column label="仲裁方式" align="center" prop="ArbitrateMethod" /> -->
<el-table-column label="案件状态" align="center" prop="caseStatus" />
<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-edit"
@click="editRow(scope.row)"
v-hasPermi="['monitor:online:forceLogout']"
>修改</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-zoom-in"
@click="detailRow(scope.row)"
v-hasPermi="['monitor:online:forceLogout']"
>详情</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="deleteRow(scope.row)"
v-hasPermi="['monitor:online:forceLogout']"
>删除</el-button
>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total > 0"
:total="total"
:page.sync="pageNum"
:limit.sync="pageSize"
/>
<!-- 立案申请弹框 -->
<el-dialog
:title="dialogtitle"
:visible.sync="openapply"
width="800px"
append-to-body
>
<el-form ref="form" :model="form" :rules="rules" label-width="150px">
<el-row>
<el-col :span="16">
<el-form-item label="申请人姓名:" prop="applyName">
<el-input v-model="form.jobName" placeholder="请输入姓名" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-button type="primary" @click="downloadTemplate"
>下载模板</el-button
>
</el-col>
<!-- <el-col :span="12">
<el-form-item label="立案申请书:" prop="applybook"> </el-form-item>
</el-col>
<el-col :span="12"> </el-col> -->
</el-row>
<el-row>
<el-form-item :span="24" label="批量立案信息上传:" prop="upload">
<el-upload
class="upload-demo"
action="https://jsonplaceholder.typicode.com/posts/"
:on-preview="handlePreview"
:on-remove="handleRemove"
:before-remove="beforeRemove"
multiple
:limit="3"
:on-exceed="handleExceed"
:file-list="fileList"
>
<el-button size="small" type="primary">点击上传</el-button>
<div slot="tip" class="el-upload__tip">
只能上传文件,且不超过500kb
</div>
</el-upload>
</el-form-item>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { list } from "@/api/caseAccess/caseEntry";
export default {
name: "caseEntry",
data() {
return {
// 遮罩层
loading: true,
// 总条数
total: 0,
// 表格数据
batchList: [],
pageNum: 1,
pageSize: 10,
// 查询参数
queryParams: {
caseNumber: undefined,
applicant: undefined,
},
dialogtitle: "", //弹框标题
openapply: false, //申请弹框控制
form: {}, // 表单参数
// 表单校验
rules: {
jobName: [
{ required: true, message: "任务名称不能为空", trigger: "blur" },
],
invokeTarget: [
{
required: true,
message: "调用目标字符串不能为空",
trigger: "blur",
},
],
cronExpression: [
{
required: true,
message: "cron执行表达式不能为空",
trigger: "blur",
},
],
},
starttime: "", //开始时间
endtime: "", //结束时间
fileList: [],
};
},
created() {
this.getList();
},
methods: {
/** 查询登录日志列表 */
getList() {
this.loading = true;
this.batchList = [
{
id: 1,
caseNumber: "5644456",
applicant: "韩某某",
matterofCase: "5000",
filingDate: "2023-9-3",
// ArbitrateMethod: '线上',
caseStatus: "未开庭",
},
];
// list(this.queryParams).then((response) => {
// this.list = response.rows;
// this.total = response.total;
this.loading = false;
// });
},
/** 搜索按钮操作 */
handleQuery() {
this.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 立案申请
batchFiling() {
this.openapply = true;
this.dialogtitle = "批量立案";
},
// 提交立案申请
submitForm() {},
// 取消
cancel() {
this.openapply = false;
},
// 修改
editRow() {},
// 详情
detailRow() {},
// 删除
deleteRow(row) {
// const id = row.id;
this.$modal
.confirm("是否确认删除?")
.then()
.then(() => {
// this.getList();
this.$modal.msgSuccess("删除成功");
})
.catch(() => {});
},
// 下载模板
downloadTemplate() {
console.log("下载模板");
},
handleRemove(file, fileList) {
console.log(file, fileList);
},
handlePreview(file) {
console.log(file);
},
handleExceed(files, fileList) {
this.$message.warning(
`当前限制选择 3 个文件,本次选择了 ${files.length} 个文件,共选择了 ${
files.length + fileList.length
} 个文件`
);
},
beforeRemove(file, fileList) {
return this.$confirm(`确定移除 ${file.name}?`);
},
},
};
</script>
<style lang="scss" scoped></style>
@@ -1,6 +1,6 @@
<template> <template>
<div class="app-container"> <div>
身份认证列表 案件接入
</div> </div>
</template> </template>
-349
View File
@@ -1,349 +0,0 @@
<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 label="申请人" prop="applicant">
<el-input
v-model="queryParams.applicant"
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-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="filingApplication"
v-hasPermi="['monitor:job:add']"
>立案申请</el-button
>
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="batchApplication"
v-hasPermi="['monitor:job:add']"
>批量立案</el-button
>
</el-col>
</el-row>
<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="caseAffiliates[0].name"
:show-overflow-tooltip="true"
/> -->
<el-table-column
label="案件标的"
align="center"
prop="caseSubjectAmount"
/>
<el-table-column
label="立案日期"
align="center"
prop="registerDate"
:show-overflow-tooltip="true"
/>
<!-- <el-table-column label="仲裁方式" align="center" prop="arbitratMethod" /> -->
<el-table-column label="案件状态" align="center" prop="caseStatus" />
<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-hasPermi="['monitor:online:forceLogout']"
>提交</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="editRow(scope.row)"
v-hasPermi="['monitor:online:forceLogout']"
>修改</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-zoom-in"
@click="detailRow(scope.row)"
v-hasPermi="['monitor:online:forceLogout']"
>详情</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="deleteRow(scope.row)"
v-hasPermi="['monitor:online:forceLogout']"
>删除</el-button
>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getcaseApply"
/>
<!-- 立案申请弹框 -->
<caseentryDialog
:visible="visible"
@cancel="cancel"
:form="form"
:dialogtitle="dialogtitle"
:getcaseApply="getcaseApply"
:flag="flag"
:initpaymentArr="initpaymentArr"
:initpaymentArr1="initpaymentArr1"
></caseentryDialog>
<!-- 批量申请弹框 openbatch-->
<batchDialog
:openbatch="openbatch"
@cancelBatch="cancelBatch"
:getcaseApply="getcaseApply"
></batchDialog>
</div>
</template>
<script>
import caseentryDialog from "./components/caseentryDialog";
import batchDialog from "./components/batchDialog";
import {
caseApply,
removeCaseApply,
submitCaseApply,
selectCaseApply
} from "@/api/caseAccess/caseEntry";
export default {
name: "caseEntry",
dicts: ["sys_identity_type"],
components: {
caseentryDialog,
batchDialog
},
data() {
return {
// 遮罩层
loading: true,
// 总条数
total: 0,
isapply: "申请人:",
// 表格数据
dataList: [],
// 查询参数
queryParams: {
caseNum: undefined,
// applicant: undefined,
caseStatus: 0,
pageNum: 1,
pageSize: 10,
},
dialogtitle: "", //弹框标题
visible: false, //申请弹框控制
form: {},
starttime: "", //开始时间
endtime: "", //结束时间
formData: {},
flag:"-1",
initpaymentArr:[],
initpaymentArr1:[],
// 批量申请弹框
openbatch: false,
};
},
created() {
this.getcaseApply();
},
methods: {
cancel() {
this.visible = false;
},
cancelBatch() {
this.openbatch = false
},
/** 查询登录日志列表 */
getcaseApply() {
this.loading = true;
caseApply(this.queryParams).then((response) => {
this.dataList = response.rows;
this.dataList.forEach((item) => {
item.caseStatus = item.caseStatus == 0 ? "立案申请" : "待缴费";
});
this.total = response.total;
this.loading = false;
});
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getcaseApply();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 立案申请
filingApplication() {
this.form = {};
this.paymentArr = [
{
identityType: 1,
name: "",
identityNum: "",
contactTelphone: "",
workAddress: "",
workTelphone: "",
contactAddress: "",
nameAgent: "",
contactTelphoneAgent: "",
contactAddressAgent: "",
},
];
this.paymentArr1 = [
{
identityType: 2,
name: "",
identityNum: "",
contactTelphone: "",
workAddress: "",
workTelphone: "",
contactAddress: "",
nameAgent: "",
contactTelphoneAgent: "",
contactAddressAgent: "",
},
]
this.visible = true;
this.dialogtitle = "立案申请";
this.flag = "2"
},
// 批量立案
batchApplication() {
this.openbatch = true
},
// 列表提交立案
onsubmitRow(row) {
this.$modal
.confirm("是否提交立案?")
.then(function () {
return submitCaseApply({ id: row.id });
})
.then(() => {
this.getcaseApply();
this.$modal.msgSuccess("立案成功");
})
.catch(() => {});
},
// 修改
editRow(row) {
this.flag = "1"
this.form = row;
this.visible = true;
this.dialogtitle = "立案修改";
this.getInfo(row);
},
// 详情
detailRow(row) {
this.flag = "0"
this.form = row;
this.visible = true;
this.dialogtitle = "立案详情";
this.getInfo(row);
},
// 查找主体信息数据
getInfo(row) {
const id = row.id;
selectCaseApply({ id }).then((res) => {
this.visible = true;
this.formData = res.data;
this.initpaymentArr = [];
this.initpaymentArr1 = [];
res.data.caseAffiliates.forEach((item) => {
if (item.identityType == 1) {
this.initpaymentArr.push(item);
} else {
this.initpaymentArr1.push(item);
}
});
});
},
// 删除
deleteRow(row) {
// const id = row.id;
this.$modal
.confirm("是否确认删除?")
.then(function () {
return removeCaseApply({ id: row.id });
})
.then((res) => {
this.getcaseApply();
this.$modal.msgSuccess("删除成功");
})
.catch(() => {});
},
},
};
</script>
<style lang="scss" scoped>
#formContainer {
}
</style>
@@ -1,159 +0,0 @@
<template>
<div>
<!-- 立案申请弹框 -->
<el-dialog
title="批量立案"
:visible="openbatch"
width="600px"
append-to-body
@close="cancel"
>
<el-form ref="form" :model="form" :rules="rules" label-width="150px">
<el-row>
<!-- <el-col :span="16">
<el-form-item label="申请人姓名:" prop="applyName">
<el-input v-model="form.jobName" placeholder="请输入姓名" />
</el-form-item>
</el-col>-->
<el-col :span="8">
<div class="download" style="margin-bottom: 20px">
<span> 下载: </span>
<a href="#">
<el-button class="uploadlink" @click="downloadTemplate">批量导入模板</el-button>
</a>
</div>
</el-col>
<!-- <el-col :span="12">
<el-form-item label="立案申请书:" prop="applybook"> </el-form-item>
</el-col>
<el-col :span="12"> </el-col> -->
</el-row>
<el-row>
<el-form-item :span="24" label="批量立案信息上传:" prop="upload">
<el-upload
class="upload-demo"
ref="uploadbatch"
: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>
<!-- <el-button size="small" type="primary">点击上传</el-button> -->
<div slot="tip" class="el-upload__tip">
只接收.xlsx, .xls格式文件
</div>
</el-upload>
</el-form-item>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { importTemplate } from "@/api/caseAccess/caseEntry";
import { getToken } from "@/utils/auth";
export default {
props: ["openbatch","getcaseApply"],
data() {
return {
// key: value,
form: {},
fileList: [],
rules: {
upload: [
{ required: true, message: "批量立案文件不能为空", trigger: "blur" },
],
},
// 案件批量导入
upload: {
// 是否显示弹出层(用户导入)
open: false,
// 弹出层标题(用户导入)
title: "",
// 是否禁用上传
isUploading: false,
// 是否更新已经存在的用户数据
updateSupport: 0,
// 设置上传的请求头部
headers: { Authorization: "Bearer " + getToken() },
// 上传的地址
url: process.env.VUE_APP_BASE_API + "/caseApplication/importData",
},
};
},
methods: {
// 批量提交立案申请
submitForm() {
this.$refs.uploadbatch.submit();
},
// 取消
cancel() {
// this.openbatch = false;
this.$emit("cancelBatch");
},
handleRemove(file, fileList) {},
handlePreview(file) {},
handleExceed(files, fileList) {
this.$message.warning(
`当前限制选择 3 个文件,本次选择了 ${files.length} 个文件,共选择了 ${
files.length + fileList.length
} 个文件`
);
},
beforeRemove(file, fileList) {
return this.$confirm(`确定移除 ${file.name}?`);
},
// 下载模板 importTemplate
downloadTemplate() {
// console.log("下载模板");
this.download(
"caseApplication/importTemplate",
{},
`case_batch_${new Date().getTime()}.xlsx`
);
},
// 文件上传中处理
handleFileUploadProgress(event, file, fileList) {
this.upload.isUploading = true;
},
// 文件上传成功处理
handleFileSuccess(response, file, fileList) {
// this.upload.open = false;
this.$emit("cancelBatch");
this.upload.isUploading = false;
this.$refs.uploadbatch.clearFiles();
this.$alert(
"<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" +
response.msg +
"</div>",
"导入结果",
{ dangerouslyUseHTMLString: true }
);
this.getcaseApply();
},
},
};
</script>
<style lang="scss" scoped>
.download {
a {
.uploadlink{
border: none;
color: #2092c7;
}
}
}
</style>
@@ -1,788 +0,0 @@
<template>
<div>
<el-dialog
:title="dialogtitle"
:visible="visible"
@close="cancel"
width="1000px"
append-to-body
:destroy-on-close= true
>
<!-- 案件信息 -->
<el-form
ref="form"
:model="formData"
:rules="rules"
label-width="150px"
:disabled="flag == '0'"
>
<p>案件信息:</p>
<el-divider></el-divider>
<el-row>
<el-col :span="12">
<el-form-item label="案件编号:" prop="caseNum">
<el-input
v-model="formData.caseNum"
placeholder="请输入案件编号"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="案件标的:" prop="caseSubjectAmount">
<el-input
v-model="formData.caseSubjectAmount"
placeholder="请输入案件标的"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="借款开始日期:" prop="loanStartDate">
<el-date-picker
v-model="formData.loanStartDate"
type="datetime"
placeholder="借款开始日期"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="借款结束日期:" prop="loanEndDate">
<el-date-picker
v-model="formData.loanEndDate"
type="datetime"
placeholder="借款结束日期"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="合同编号:" prop="contractNumber">
<el-input
v-model="formData.contractNumber"
placeholder="请输入"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="申请人主张欠本金:" prop="claimPrinciOwed">
<el-input
v-model="formData.claimPrinciOwed"
placeholder="请输入"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="申请人主张欠利息:" prop="claimInterestOwed">
<el-input
v-model="formData.claimInterestOwed"
placeholder="请输入"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="申请人主张违约金:" prop="claimLiquidDamag">
<el-input
v-model="formData.claimLiquidDamag"
placeholder="请输入"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="申请人案件证据资料上传:"
prop="applicantEvidence"
>
<el-upload
class="upload-demo"
action="https://jsonplaceholder.typicode.com/posts/"
:on-preview="handlePreview"
:on-remove="handleRemove"
:before-remove="beforeRemove"
multiple
:limit="3"
:on-exceed="handleExceed"
:file-list="fileList"
>
<el-button size="small" type="primary">点击上传</el-button>
<div slot="tip" class="el-upload__tip">
只能上传jpg/png文件,且不超过500kb
</div>
</el-upload>
</el-form-item>
</el-col>
<!-- 仅详情展示 -->
<el-col :span="12">
<el-form-item
label="被申请人案件证据资料上传:"
prop="respondentEvidence"
>
<el-upload
class="upload-demo"
action="https://jsonplaceholder.typicode.com/posts/"
:on-preview="handlePreview"
:on-remove="handleRemove"
:before-remove="beforeRemove"
multiple
:limit="3"
:on-exceed="handleExceed"
:file-list="fileList"
>
<el-button size="small" type="primary">点击上传</el-button>
<div slot="tip" class="el-upload__tip">
只能上传jpg/png文件,且不超过500kb
</div>
</el-upload>
</el-form-item>
</el-col>
</el-row>
</el-form>
<!-- 申请人主体信息 -->
<el-form
ref="form2"
:model="form2"
label-width="150px"
:disabled="flag == '0'"
>
<div v-for="(item, index) in form2.paymentArr" :key="index">
<div style="display: flex; justify-content: space-between">
<p>申请人主体信息:</p>
<el-button
type="danger"
icon="el-icon-delete"
@click="deleteData(index)"
v-if="form2.paymentArr.length > 1 && flag != '0'"
></el-button>
</div>
<el-divider></el-divider>
<el-row>
<el-col :span="12">
<el-form-item
label="申请人姓名"
:prop="'paymentArr.' + index + '.name'"
:rules="[
{
required: true,
message: '申请人不能为空',
trigger: 'blur',
},
]"
>
<el-input v-model="item.name" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="身份证号:"
:prop="'paymentArr.' + index + '.identityNum'"
:rules="[
{
required: true,
message: '身份证号不能为空',
trigger: 'blur',
},
]"
>
<el-input v-model="item.identityNum" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="联系电话:"
:prop="'paymentArr.' + index + '.contactTelphone'"
:rules="[
{
required: true,
message: '联系电话不能为空',
trigger: 'blur',
},
]"
>
<el-input v-model="item.contactTelphone" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="单位地址:"
:prop="'paymentArr.' + index + '.workAddress'"
:rules="[
{
required: true,
message: '单位地址不能为空',
trigger: 'blur',
},
]"
>
<el-input v-model="item.workAddress" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="单位电话:"
:prop="'paymentArr.' + index + '.workTelphone'"
:rules="[
{
required: true,
message: '单位电话不能为空',
trigger: 'blur',
},
]"
>
<el-input v-model="item.workTelphone" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="联系地址:"
:prop="'paymentArr.' + index + '.contactAddress'"
:rules="[
{
required: true,
message: '联系地址不能为空',
trigger: 'blur',
},
]"
>
<el-input v-model="item.contactAddress" placeholder="请输入" />
</el-form-item>
</el-col>
</el-row>
<p>代理人信息:</p>
<el-row>
<el-col :span="12">
<el-form-item
label="姓名:"
:prop="'paymentArr.' + index + '.nameAgent'"
:rules="[
{
required: true,
message: '姓名不能为空',
trigger: 'blur',
},
]"
>
<el-input v-model="item.nameAgent" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="身份证号:"
:prop="'paymentArr.' + index + '.identityNumAgent'"
:rules="[
{
required: true,
message: '身份证号不能为空',
trigger: 'blur',
},
]"
>
<el-input
v-model="item.identityNumAgent"
placeholder="请输入"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="联系电话:"
:prop="'paymentArr.' + index + '.contactTelphoneAgent'"
:rules="[
{
required: true,
message: '联系电话不能为空',
trigger: 'blur',
},
]"
>
<el-input
v-model="item.contactTelphoneAgent"
placeholder="请输入"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="联系地址:"
:prop="'paymentArr.' + index + '.contactAddressAgent'"
:rules="[
{
required: true,
message: '联系地址不能为空',
trigger: 'blur',
},
]"
>
<el-input
v-model="item.contactAddressAgent"
placeholder="请输入"
/>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
<el-button
v-if="flag == 1 || flag == 2"
type="primary"
plain
@click="generateForm"
>新增申请人主体信息</el-button
>
<!-- 被申请人主体信息 -->
<el-form
ref="form3"
label-width="150px"
:disabled="flag == '0'"
:model="form3"
>
<div
v-for="(itm, index) in form3.paymentArr1"
:key="index + form2.paymentArr.length"
>
<div style="display: flex; justify-content: space-between">
<p>被申请人主体信息:</p>
<el-button
type="danger"
icon="el-icon-delete"
@click="deleteData1(index)"
v-if="form3.paymentArr1.length > 1 && flag != '0'"
></el-button>
</div>
<el-divider></el-divider>
<el-row>
<el-col :span="12">
<el-form-item
label="被申请人姓名"
:prop="'paymentArr1.' + index + '.name'"
:rules="[
{
required: true,
message: '被申请人不能为空',
trigger: 'blur',
},
]"
>
<el-input v-model="itm.name" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="身份证号:"
:prop="'paymentArr1.' + index + '.identityNum'"
:rules="[
{
required: true,
message: '身份证号不能为空',
trigger: 'blur',
},
]"
>
<el-input v-model="itm.identityNum" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="联系电话:"
:prop="'paymentArr1.' + index + '.contactTelphone'"
:rules="[
{
required: true,
message: '联系电话不能为空',
trigger: 'blur',
},
]"
>
<el-input v-model="itm.contactTelphone" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="单位地址:"
:prop="'paymentArr1.' + index + '.workAddress'"
:rules="[
{
required: true,
message: '单位地址不能为空',
trigger: 'blur',
},
]"
>
<el-input v-model="itm.workAddress" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="单位电话:"
:prop="'paymentArr1.' + index + '.workTelphone'"
:rules="[
{
required: true,
message: '单位电话不能为空',
trigger: 'blur',
},
]"
>
<el-input v-model="itm.workTelphone" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="联系地址:"
:prop="'paymentArr1.' + index + '.contactAddress'"
:rules="[
{
required: true,
message: '联系地址不能为空',
trigger: 'blur',
},
]"
>
<el-input v-model="itm.contactAddress" placeholder="请输入" />
</el-form-item>
</el-col>
</el-row>
<p>代理人信息:</p>
<el-row>
<el-col :span="12">
<el-form-item
label="姓名:"
:prop="'paymentArr1.' + index + '.nameAgent'"
:rules="[
{
required: true,
message: '姓名不能为空',
trigger: 'blur',
},
]"
>
<el-input v-model="itm.nameAgent" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="身份证号:"
:prop="'paymentArr1.' + index + '.identityNumAgent'"
:rules="[
{
required: true,
message: '身份证号不能为空',
trigger: 'blur',
},
]"
>
<el-input v-model="itm.identityNumAgent" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="联系电话:"
:prop="'paymentArr1.' + index + '.contactTelphoneAgent'"
:rules="[
{
required: true,
message: '联系电话不能为空',
trigger: 'blur',
},
]"
>
<el-input
v-model="itm.contactTelphoneAgent"
placeholder="请输入"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="联系地址:"
:prop="'paymentArr1.' + index + '.contactAddressAgent'"
:rules="[
{
required: true,
message: '联系地址不能为空',
trigger: 'blur',
},
]"
>
<el-input
v-model="itm.contactAddressAgent"
placeholder="请输入"
/>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
<el-button
v-if="flag == 1 || flag == 2"
type="primary"
plain
@click="generateForm1()"
>新增被申请人主体信息</el-button
>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm" v-if="flag != 0"
>确 定</el-button
>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import moment from "moment"; //导入文件
import { addCaseApply, editCaseApply } from "@/api/caseAccess/caseEntry";
export default {
props: [
"visible",
"dialogtitle",
"form",
"getcaseApply",
"flag",
"initpaymentArr",
"initpaymentArr1",
],
data() {
return {
formData: this.form,
form2: {
paymentArr: [
{
identityType: 1,
name: "",
identityNum: "",
contactTelphone: "",
workAddress: "",
workTelphone: "",
contactAddress: "",
nameAgent: "",
contactTelphoneAgent: "",
contactAddressAgent: "",
},
],
}, //申请人主体信息
form3: {
paymentArr1: [
{
identityType: 2,
name: "",
identityNum: "",
contactTelphone: "",
workAddress: "",
workTelphone: "",
contactAddress: "",
nameAgent: "",
contactTelphoneAgent: "",
contactAddressAgent: "",
},
],
}, //被申请人主体信息
// 表单校验
rules: {
caseNum: [
{
required: true,
message: "案件编号不能为空",
trigger: ["change", "blur"],
},
{ min: 3, max: 5, message: "长度在 3 到 5 个字符", trigger: "blur" },
],
caseSubjectAmount: [
{
required: true,
message: "案件标的不能为空",
trigger: ["change", "blur"],
},
// { type: "Number", message: "案件标的必须为数字值" },
],
loanStartDate: [
{
required: true,
message: "借款开始日期不能为空",
trigger: "blur",
},
],
loanEndDate: [
{
required: true,
message: "借款结束日期不能为空",
trigger: "blur",
},
],
name: [
{
required: true,
message: "申请人姓名不能为空",
trigger: "blur",
},
],
contractNumber: [
{
required: true,
message: "合同编号不能为空",
trigger: "blur",
},
],
claimPrinciOwed: [
{
required: true,
message: "申请人主张欠本金不能为空",
trigger: "blur",
},
// { type: 'number', message: '申请人主张欠本金必须为数字值'}
],
claimInterestOwed: [
{
required: true,
message: "申请人主张欠利息不能为空",
trigger: "blur",
},
// { type: 'number', message: '申请人主张欠利息必须为数字值'}
],
Overduedays: [
{
required: true,
message: "逾期天数不能为空",
trigger: "blur",
},
// { type: 'number', message: '逾期天数必须为数字值'}
],
claimLiquidDamag: [
{
required: true,
message: "申请人主张违约金不能为空",
trigger: "blur",
},
// { type: 'number', message: '申请人主张违约金必须为数字值'}
],
},
fileList: [],
};
},
watch: {
visible: {
handler(val) {
if (val) {
this.formData = this.form;
if (this.flag == "1" || this.flag == "0") {
setTimeout(() => {
this.form2.paymentArr = this.initpaymentArr;
this.form3.paymentArr1 = this.initpaymentArr1;
}, 1000);
}
}
},
deep: true,
},
},
methods: {
handleRemove(file, fileList) {},
handlePreview(file) {},
handleExceed(files, fileList) {
this.$message.warning(
`当前限制选择 3 个文件,本次选择了 ${files.length} 个文件,共选择了 ${
files.length + fileList.length
} 个文件`
);
},
beforeRemove(file, fileList) {
return this.$confirm(`确定移除 ${file.name}?`);
},
// 取消
cancel() {
this.$emit("cancel");
},
// 新增申请人主体信息
generateForm() {
this.form2.paymentArr.push({
identityType: 1,
name: "",
identityNum: "",
contactTelphone: "",
workAddress: "",
workTelphone: "",
contactAddress: "",
nameAgent: "",
contactTelphoneAgent: "",
contactAddressAgent: "",
});
},
// 新增被申请人主体信息
generateForm1() {
this.form3.paymentArr1.push({
identityType: 2,
name: "",
identityNum: "",
contactTelphone: "",
workAddress: "",
workTelphone: "",
contactAddress: "",
nameAgent: "",
contactTelphoneAgent: "",
contactAddressAgent: "",
});
},
// 删除申请人主体信息
deleteData(index) {
this.form2.paymentArr.splice(index, 1);
},
// 删除被申请人主体信息
deleteData1(index) {
this.form3.paymentArr1.splice(index, 1);
},
// 提交立案申请 addCaseApply
submitForm() {
this.$refs["form"].validate((valid) => {
this.formData.loanStartDate = moment(
this.formData.loanStartDate
).format("YYYY-MM-DD HH:mm:ss");
this.formData.loanEndDate = moment(this.formData.loanEndDate).format(
"YYYY-MM-DD HH:mm:ss"
);
if (valid) {
this.$refs["form2"].validate((valid) => {
if (valid) {
this.$refs["form3"].validate((vail) => {
if (vail) {
this.formData.caseAffiliates = [
...this.form2.paymentArr,
...this.form3.paymentArr1,
];
if (this.formData.id) {
editCaseApply({
...this.formData,
caseAffiliates: this.formData.caseAffiliates,
}).then((res) => {
this.$modal.msgSuccess("修改成功");
this.$emit("cancel");
this.getcaseApply();
});
} else {
addCaseApply({
...this.formData,
caseAffiliates: this.formData.caseAffiliates,
}).then((response) => {
this.$modal.msgSuccess("新增成功");
this.$emit("cancel");
this.getcaseApply();
});
}
// this.$emit("cancel");
// this.getcaseApply();
}
});
}
});
}
});
},
},
};
</script>
<style lang="scss" scoped>
::v-deep .el-dialog__body {
height: 700px !important;
overflow: auto !important;
}
</style>
-194
View File
@@ -1,194 +0,0 @@
<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 label="案件状态" prop="caseStatus">
<el-select
v-model="queryParams.caseStatus"
placeholder="请选择案件状态"
clearable
@keyup.enter.native="handleQuery"
>
<el-option
v-for="dict in dict.type.case_status"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item> -->
<!-- <el-form-item label="开庭日期" prop="hearDate">
<el-date-picker
v-model="queryParams.hearDate"
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>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<!-- <el-row>
<el-button size="mini">案件归档</el-button>
</el-row> -->
<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="caseSubjectAmount" />
<el-table-column label="立案日期" align="center" prop="registerDate" :show-overflow-tooltip="true" />
<el-table-column label="案件状态" align="center" prop="caseStatusName">
<template slot-scope="scope">
<el-tag type="success">{{ scope.row.caseStatusName }}</el-tag>
</template>
</el-table-column>
<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-reading"
v-if="scope.row.filearbitraUrl && scope.row.filearbitraUrl !== ''"
@click="showModel(scope.row)">查看裁决书</el-button>
<el-button size="mini" type="text" icon="el-icon-reading" @click="showDetail(scope.row)">归档详情</el-button>
</template>
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
@pagination="getList(queryParams)" />
<!-- 弹窗 -->
<archiveDetailsDialog v-if="showarchiveDetails" :showarchiveDetails="showarchiveDetails" :caseDetail="caseDetail" :caseLog="caseLog" :videoList="videoList" :detailform="detailform"
:flagLoading="flagLoading" @cancelpaymentdetails="cancelpaymentdetails" @updataList="updataList">
</archiveDetailsDialog>
</div>
</template>
<script>
import { caseApplicationList, selectSignSealUrl,caseApplicationDetail } from "@/api/awardManagement/awardManagement";
import { caseLogRecordList, logistics } from "@/api/caseManagement/caseManagement";
import { adjudicationArchives, videoList } from "@/api/caseFiling/caseFiling";
import archiveDetailsDialog from "./components/archiveDetailsDialog.vue";
export default {
name: "archiveList",
dicts: ["case_status"],
components: { archiveDetailsDialog },
data() {
return {
queryParams: {
pageNum: 1,
pageSize: 10,
},
// 遮罩层
loading: false,
// 总条数
total: 0,
// 表格数据
list: [],
// 是否显示弹出层
// 弹出层内容
form: {},
// 校验表单
rules: {},
dataList: [],
detailform: [], //详情数据
showarchiveDetails: false, //详情数据弹框
flagLoading: false, //详情弹框loading
videoList:"",
caseDetail:{},
caseLog:null
};
},
created() {
this.queryParams.caseStatusList = [17];
this.getList(this.queryParams);
},
methods: {
showModel(row) {
selectSignSealUrl({ id: row.id }).then(res => {
let url = res.data.filearbitraUrl;
window.open(url)
})
},
updataList() {
this.getList(this.queryParams);
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList(this.queryParams);
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 查询列表数据
getList(parms) {
this.loading = true;
caseApplicationList(parms).then((response) => {
this.dataList = response.rows;
this.total = response.total;
this.loading = false;
});
},
// model框显示
showDetail(row) {
// this.getDetail({ id: row.id });
this.logisticsFn({ id: row.id })
this.getvideoList({ caseId: row.id });
this.getCaseDetail({ id: row.id })
this.getCaseLog({caseAppliId :row.id})
this.showarchiveDetails = true;
this.flagLoading = true;
},
// 关闭弹窗
cancelpaymentdetails() {
this.showarchiveDetails = false;
},
// 根据id查询视频列表
getvideoList(data) {
videoList(data).then(res => {
this.videoList = res.data;
})
},
/** 查询详情 */
// getDetail(parms) {
// adjudicationArchives(parms).then((res) => {
// console.log(res,"PPPPPPPPPPPPPPPPPPPPPPPPP");
// this.detailform = res.data.logisticsInfoVOList;
// });
// },
// 查询快递单号信息 logistics
logisticsFn(params) {
logistics(params).then((res) => {
// console.log(res,"PPPPPPPPPPPPPPPPPPPPPPPPP");
this.detailform = res.data;
})
},
// 查询案件详情
getCaseDetail(params){
caseApplicationDetail(params).then(res=>{
this.caseDetail = res.data;
this.flagLoading = false;
})
},
// 查看案件日志
getCaseLog(params){
caseLogRecordList(params).then(res=>{
// console.log(res,"LLLLLLLLLLL");
this.caseLog = res.data;
})
}
},
};
</script>
<style lang="scss" scoped></style>
@@ -1,125 +0,0 @@
<template>
<div>
<el-dialog title="归档详情" :visible="showarchiveDetails" @close="cancel" :destroy-on-close="true" center>
<div class="loading" v-if="flagLoading">
<i class="el-icon-loading"></i>
</div>
<div v-else>
<div class="noData" v-if="noData">暂无数据!</div>
<el-tabs v-model="activeName" @tab-click="handleClick">
<el-tab-pane label="案件信息" name="first">
<caseInfo :caseApplicationObj="caseDetail"></caseInfo>
</el-tab-pane>
<el-tab-pane label="案件日志" name="second">
<caselogInfo :caselogDataArr="caseLog"></caselogInfo>
</el-tab-pane>
<!-- <el-tab-pane label="快递信息" name="third" v-if="false">
<expressDeliveryInfo :deliveryDataArr="detailform"></expressDeliveryInfo>
</el-tab-pane> -->
<el-tab-pane label="案件视频" name="fourth">
<!-- <div @click="getVideo">chakanshipin</div> -->
<el-empty description="暂无视频" v-if="!videoFlag"></el-empty>
<video style="background-color: #181717;width: 400px;height: 200px;margin: 30px;" v-if="videoFlag" :src="headPath + item.annexPath" controls="controls" v-for="(item,index) in videoUrl" :key="index"></video>
</el-tab-pane>
</el-tabs>
</div>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import caseInfo from "./caseInfo.vue";
import caselogInfo from "./caselogInfo.vue";
import expressDeliveryInfo from "./expressDeliveryInfo.vue";
export default {
props: ["showarchiveDetails", "detailform", "flagLoading", "videoList","caseDetail","caseLog"],
components: {
caseInfo,
caselogInfo,
expressDeliveryInfo,
},
data() {
return {
activeName: "first",
caseApplicationObj: {}, //案件信息
caselogDataArr: [], //案件日志
deliveryDataArr: [], //快递信息
noData: false,
videoUrl:[],
headPath:window.location.origin + "/API",
videoFlag:false
};
},
watch: {
showarchiveDetails(newValue) {
// this.headPath = ;
if (newValue) {
// this.caseApplicationObj = this.detailform.caseApplication;
// this.caselogDataArr = this.detailform.caseLogRecordList;
// this.deliveryDataArr = this.detailform.logisticsInfoVOList;
}
},
},
methods: {
handleClick(tab, event) {
// console.log(tab, event);
if (this.videoList) {
this.videoFlag = true;
// this.videoUrl = headPath + this.videoList[0].annexPath;
this.videoUrl = this.videoList;
}else{
this.videoFlag = false;
}
},
cancel() {
this.$emit("cancelpaymentdetails");
},
},
};
</script>
<style lang="scss" scoped>
::v-deep .el-dialog {
width: 1000px;
background: #ffffff;
border-radius: 20px;
}
::v-deep .el-dialog__body {
height: 700px !important;
overflow: hidden;
}
::v-deep .el-tabs__content {
height: 700px;
overflow-y: scroll;
padding-bottom: 10%;
}
.loading {
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
.el-icon-loading {
font-size: 50px;
}
}
.noData {
width: 100%;
height: 400px;
font-size: 30px;
font-weight: 700;
color: #959595;
display: flex;
justify-content: center;
align-items: center;
}
</style>
@@ -1,627 +0,0 @@
<template>
<div>
<!-- 案件信息 -->
<el-form ref="form" :model="formData" label-width="180px" disabled>
<el-row>
<el-col :span="12">
<el-form-item label="案件编号:" prop="caseNum">
<el-input v-model="formData.caseNum" placeholder="请输入案件编号" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="案件标的:" prop="caseSubjectAmount">
<el-input
v-model="formData.caseSubjectAmount"
placeholder="请输入案件标的"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="借款开始日期:" prop="loanStartDate">
<el-date-picker
v-model="formData.loanStartDate"
type="datetime"
placeholder="借款开始日期"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="借款结束日期:" prop="loanEndDate">
<el-date-picker
v-model="formData.loanEndDate"
type="datetime"
placeholder="借款结束日期"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="合同编号:" prop="contractNumber">
<el-input v-model="formData.contractNumber" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="申请人主张欠本金:" prop="claimPrinciOwed">
<el-input v-model="formData.claimPrinciOwed" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="申请人主张欠利息:" prop="claimInterestOwed">
<el-input
v-model="formData.claimInterestOwed"
placeholder="请输入"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="申请人主张违约金:" prop="claimLiquidDamag">
<el-input
v-model="formData.claimLiquidDamag"
placeholder="请输入"
/>
</el-form-item>
</el-col>
<!-- 应缴费用 -->
<el-col :span="12">
<el-form-item label="应缴费用:" prop="feePayable">
<el-input v-model="formData.feePayable" placeholder="请输入" />
</el-form-item>
</el-col>
<!-- 申请人仲裁诉求 -->
<el-col :span="24">
<el-form-item label="申请人仲裁诉求" prop="arbitratClaims">
<el-input
v-model="formData.arbitratClaims"
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 applicateArr" :key="index">
<a href="#" @click="toFile(item, index)" style="color: blue">
{{ item.annexName }}
</a>
</div> -->
<p
@click="toFile(index, 2)"
v-for="(item, index) in applicantFileArr"
:key="index"
>
<a href="#">{{ item }}</a>
</p>
</el-form-item>
</el-col>
<!-- 仅详情展示 案件质证环节以后显示被申请人证据-->
<el-col :span="24">
<el-form-item
label="被申请人案件证据资料:"
prop="respondentEvidence"
>
<!-- <div v-for="(item, index) in quiltArr" :key="index">
<a href="#" @click="toFile1(item, index)" style="color: blue">
{{ item.annexName }}
</a>
</div> -->
<p
v-for="(item, index) in respondentFileArr"
:key="index"
@click="toFile(index, 6)"
>
<a href="#">{{ item }}</a>
</p>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="裁决书附件:">
<p
v-for="(item, index) in awardFileArr"
:key="index"
@click="toFile(index, 3)"
>
<a href="#">{{ item }}</a>
</p>
</el-form-item>
</el-col>
</el-row>
</el-form>
<!-- 申请人主体信息 -->
<el-form ref="form2" :model="form2" label-width="150px" disabled>
<div v-for="(item, index) in form2.paymentArr" :key="index">
<div style="display: flex; justify-content: space-between">
<div style="display: inline-flex">
<div class="infoIcon"></div>
<div class="caseInfo">申请人主体信息:</div>
</div>
</div>
<el-divider></el-divider>
<el-row>
<el-col :span="12">
<el-form-item
label="申请人(机构):"
:rules="[
{
required: true,
message: '申请人不能为空',
trigger: 'blur',
},
]"
>
<el-input v-model="item.name" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="代码:">
<el-input v-model="item.identityNum" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="联系电话:"
: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.contactTelphone" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="单位地址:"
:rules="[
{
required: true,
message: '单位地址不能为空',
trigger: 'blur',
},
]"
>
<el-input v-model="item.workAddress" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="单位电话:"
:rules="[
{
required: true,
message: '单位电话不能为空',
trigger: 'blur',
},
]"
>
<el-input v-model="item.workTelphone" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="联系地址:"
:rules="[
{
required: true,
message: '联系地址不能为空',
trigger: 'blur',
},
]"
>
<el-input v-model="item.contactAddress" placeholder="请输入" />
</el-form-item>
</el-col>
</el-row>
<div style="display: inline-flex">
<div class="infoIcon"></div>
<div class="caseInfo2">代理人信息:</div>
</div>
<el-row>
<el-col :span="12">
<el-form-item
label="姓名:"
:rules="[
{
required: true,
message: '姓名不能为空',
trigger: 'blur',
},
]"
>
<el-input v-model="item.nameAgent" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="身份证号:"
: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.identityNumAgent" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="联系电话:"
: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.contactTelphoneAgent"
placeholder="请输入"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="联系地址:"
:rules="[
{
required: true,
message: '联系地址不能为空',
trigger: 'blur',
},
]"
>
<el-input
v-model="item.contactAddressAgent"
placeholder="请输入"
/>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
<!-- 被申请人主体信息 -->
<el-form ref="form3" label-width="150px" disabled :model="form3">
<div
v-for="(itm, index) in form3.paymentArr1"
:key="index + form2.paymentArr.length"
>
<div style="display: flex; justify-content: space-between">
<div style="display: inline-flex">
<div class="infoIcon"></div>
<div class="caseInfo">被申请人主体信息:</div>
</div>
</div>
<el-divider></el-divider>
<el-row>
<el-col :span="12">
<el-form-item
label="被申请人姓名"
:prop="'paymentArr1.' + index + '.name'"
:rules="[
{
required: true,
message: '被申请人不能为空',
trigger: 'blur',
},
]"
>
<el-input v-model="itm.name" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="身份证号:"
:prop="'paymentArr1.' + index + '.identityNum'"
: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="itm.identityNum" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="联系电话:"
:prop="'paymentArr1.' + index + '.contactTelphone'"
: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="itm.contactTelphone" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="单位地址:"
:prop="'paymentArr1.' + index + '.workAddress'"
:rules="[
{
required: true,
message: '单位地址不能为空',
trigger: 'blur',
},
]"
>
<el-input v-model="itm.workAddress" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="单位电话:"
:prop="'paymentArr1.' + index + '.workTelphone'"
:rules="[
{
required: true,
message: '单位电话不能为空',
trigger: 'blur',
},
]"
>
<el-input v-model="itm.workTelphone" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="联系地址:"
:prop="'paymentArr1.' + index + '.contactAddress'"
:rules="[
{
required: true,
message: '联系地址不能为空',
trigger: 'blur',
},
]"
>
<el-input v-model="itm.contactAddress" placeholder="请输入" />
</el-form-item>
</el-col>
</el-row>
<div style="display: inline-flex">
<div class="infoIcon"></div>
<div class="caseInfo2">代理人信息:</div>
</div>
<!-- <p>代理人信息:</p> -->
<el-row>
<el-col :span="12">
<el-form-item
label="姓名:"
:prop="'paymentArr1.' + index + '.nameAgent'"
:rules="[
{
required: true,
message: '姓名不能为空',
trigger: 'blur',
},
]"
>
<el-input v-model="itm.nameAgent" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<!-- -->
<el-form-item
label="身份证号:"
:prop="'paymentArr1.' + index + '.identityNumAgent'"
: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="itm.identityNumAgent" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="联系电话:"
:prop="'paymentArr1.' + index + '.contactTelphoneAgent'"
: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="itm.contactTelphoneAgent"
placeholder="请输入"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="联系地址:"
:prop="'paymentArr1.' + index + '.contactAddressAgent'"
:rules="[
{
required: true,
message: '联系地址不能为空',
trigger: 'blur',
},
]"
>
<el-input
v-model="itm.contactAddressAgent"
placeholder="请输入"
/>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
</div>
</template>
<script>
export default {
props: ["caseApplicationObj"],
data() {
return {
formData: {},
applicateArr: [],
quiltArr: [],
initpaymentArr: [],
initpaymentArr1: [],
form2: {
paymentArr: [
{
identityType: 1,
name: "",
identityNum: "",
contactTelphone: "",
workAddress: "",
workTelphone: "",
contactAddress: "",
nameAgent: "",
contactTelphoneAgent: "",
contactAddressAgent: "",
},
],
}, //申请人主体信息
form3: {
paymentArr1: [
{
identityType: 2,
name: "",
identityNum: "",
contactTelphone: "",
workAddress: "",
workTelphone: "",
contactAddress: "",
nameAgent: "",
contactTelphoneAgent: "",
contactAddressAgent: "",
},
],
}, //被申请人主体信息
applicantFileArr: [], //申请人
applicantPathArr: [], //申请人
respondentFileArr: [], //被申请人
respondenPathArr: [], //被申请人
awardFileArr: [], //裁决书
awardPathArr: [], //裁决书
};
},
created() {
if (this.caseApplicationObj) {
this.formData = this.caseApplicationObj;
}
console.log("this.formData", this.formData);
if (this.caseApplicationObj && this.caseApplicationObj.caseAffiliates) {
this.caseApplicationObj.caseAffiliates.forEach((item) => {
if (item.identityType == 1) {
this.initpaymentArr.push(item);
} else {
this.initpaymentArr1.push(item);
}
this.form2.paymentArr = this.initpaymentArr;
this.form3.paymentArr1 = this.initpaymentArr1;
});
}
if (this.caseApplicationObj && this.caseApplicationObj.caseAttachList) {
this.caseApplicationObj.caseAttachList.forEach((item) => {
if (item.annexType == 2) {
this.applicantFileArr.push(item.annexName);
this.applicantPathArr.push(item.annexPath);
} else if (item.annexType == 6) {
this.respondentFileArr.push(item.annexName);
this.respondenPathArr.push(item.annexPath);
} else if (item.annexType == 3) {
this.awardFileArr.push(item.annexName);
this.awardPathArr.push(item.annexPath);
}
});
}
},
methods: {
// 预览文件
toFile(index, val) {
let headPath = window.location.origin + "/API";
if (val == 2) {
window.open(headPath + this.applicantPathArr[index], "_blank");
} else if (val == 6) {
window.open(headPath + this.respondenPathArr[index], "_blank");
} else if (val == 3) {
window.open(headPath + this.awardPathArr[index], "_blank");
}
},
},
};
</script>
<style lang="scss" scoped>
.caseInfo {
font-size: 17px;
font-weight: 600;
}
.caseInfo2 {
font-size: 15px;
font-weight: 550;
}
.infoIcon {
width: 4px;
background-color: #0072ff;
margin-right: 5px;
}
.el-date-editor {
width: 100%;
}
a {
color: blue;
}
</style>
@@ -1,92 +0,0 @@
<template>
<div>
<div>
<div class="noData" v-if="noData">暂无数据!</div>
<el-timeline v-else>
<el-timeline-item
v-for="(activity, index) in activities"
:key="index"
:timestamp="(index + 1).toString()"
placement="top"
>
<p>{{ activity.content }}</p>
</el-timeline-item>
</el-timeline>
</div>
</div>
</template>
<script>
export default {
props: ["caselogDataArr"],
data() {
return {
activities: [],
noData: false,
};
},
created() {
if (this.caselogDataArr && this.caselogDataArr.length > 0) {
this.noData = false;
this.activities = this.caselogDataArr;
this.activities.forEach((item) => {
item.content = item.content;
});
} else {
this.noData = true;
}
},
methods: {
cancel() {
this.$emit("cancelcaseLog");
},
},
};
</script>
<style lang="scss" scoped>
::v-deep .el-dialog__body {
height: 500px !important;
overflow: auto !important;
}
::v-deep .el-dialog {
width: 800px;
background: #ffffff;
border-radius: 20px;
}
.endbutton1 {
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;
}
}
.loading {
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
.el-icon-loading {
font-size: 50px;
}
}
.noData {
width: 100%;
height: 400px;
font-size: 30px;
font-weight: 700;
color: #959595;
display: flex;
justify-content: center;
align-items: center;
}
</style>
@@ -1,126 +0,0 @@
<template>
<div>
<div>
<div class="deliverName">
<span>申请人快递信息:</span>
{{ expressOne.company }} {{ expressOne.no }}
</div>
<el-divider></el-divider>
<el-timeline :reverse="reverse">
<el-timeline-item
v-for="(activity, index) in expressOne.list"
:key="index"
:timestamp="activity.timestamp"
>
{{ activity.content }}
</el-timeline-item>
</el-timeline>
<div class="deliverName">
<span>被申请人快递信息:</span>
{{ expressTwo.company }} {{ expressTwo.no }}
</div>
<el-divider></el-divider>
<el-timeline :reverse="reverse">
<el-timeline-item
v-for="(activity, index) in expressTwo.list"
:key="index"
:timestamp="activity.timestamp"
>
{{ activity.content }}
</el-timeline-item>
</el-timeline>
</div>
</div>
</template>
<script>
export default {
props: ["deliveryDataArr"],
data() {
return {
reverse: true,
applicantdelivery: {}, //申请人物流信息
expressOne: {},
expressTwo: {},
};
},
watch: {
deliveryDataArr() {
console.log(this.deliveryDataArr, "deliveryDataArr");
if (this.deliveryDataArr && this.deliveryDataArr.length > 0) {
this.deliveryDataArr.forEach((item) => {
if (item.identityType == 1) {
let applicantdata = item.logisticsInfo;
this.applicantdelivery = JSON.parse(applicantdata);
if (this.applicantdelivery.list) {
this.applicantdelivery.list.forEach((item) => {
item.content = item.datetime;
item.timestamp = item.remark;
});
this.expressOne = this.applicantdelivery;
}
} else {
let applicantdata = item.logisticsInfo;
this.applicantdelivery = JSON.parse(applicantdata);
if (this.applicantdelivery.list) {
this.applicantdelivery.list.forEach((item) => {
item.content = item.datetime;
item.timestamp = item.remark;
});
this.expressTwo = this.applicantdelivery;
}
}
});
}
}
},
methods: {
cancel() {
this.$emit("closeDeliveryModel");
},
},
};
</script>
<style lang="scss" scoped>
::v-deep .el-dialog {
width: 600px;
background: #ffffff;
border-radius: 20px;
}
.deliverName {
// margin-left: 6%;
font-size: 16px;
font-weight: 500;
span {
font-size: 18px;
font-weight: 600;
}
}
.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;
}
}
.loading {
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
.el-icon-loading {
font-size: 50px;
}
}
</style>
-854
View File
@@ -1,854 +0,0 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" label-width="98px">
<el-form-item label="案件编号" prop="caseNum">
<el-input v-model="queryParams.caseNum" placeholder="请输入案件编号" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="申请人(机构)" prop="applicantName">
<!-- <el-input
v-model="queryParams.applicantName"
placeholder="请输入机构名称"
clearable
@keyup.enter.native="handleQuery"
/> -->
<el-cascader v-model="queryParams.nameId" :options="options" @change="changeDept" :props="{ checkStrictly: true }"
clearable></el-cascader>
</el-form-item>
<el-form-item label="案件状态" prop="caseStatus">
<el-select :disabled="caseStatusType" v-model="queryParams.caseStatus" placeholder="请选择案件状态" clearable
@keyup.enter.native="handleQuery">
<el-option v-for="dict in caseStatus" :key="dict.dictSort" :label="dict.dictLabel"
:value="dict.dictSort"></el-option>
</el-select>
</el-form-item>
<el-form-item label="是否完成" prop="selectCaseStatus">
<el-select v-model="queryParams.selectCaseStatus" placeholder="请选择状态" clearable @keyup.enter.native="handleQuery">
<el-option v-for="dict in selectCaseStatusList" :key="dict.value" :label="dict.label"
:value="dict.value"></el-option>
</el-select>
</el-form-item>
<!-- <el-form-item label="开庭日期" prop="hearDate">
<el-date-picker
v-model="queryParams.hearDate"
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>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</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="filingApplication"
v-hasPermi="['caseManagement:list:add']">案件录入</el-button>
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="compressedPackages"
v-hasPermi="['caseManagement:list:zip']"
>案件压缩包导入</el-button>
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="batchApplication"
v-hasPermi="['caseManagement:list:import']">案件批量导入</el-button>
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="operateClick(0)"
v-hasPermi="['caseManagement:list:Batchsubmit']">案件批量提交</el-button>
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="operateClick(1)"
v-hasPermi="['caseManagement:list:delete']">案件批量删除</el-button>
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="operateClick(2)"
v-hasPermi="['caseManagement:list:check']">案件批量立案审查</el-button>
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="operateClick(4)"
v-hasPermi="['caseManagement:list:Batchgeneration']">批量生成裁决书</el-button>
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="operateClick(6)"
v-hasPermi="['caseManagement:list:pay']">批量缴费</el-button>
</el-col>
</el-row>
<el-table v-loading="loading" :data="dataList" style="width: 100%" :row-class-name="tableRowClassName" class="pendingTrial">
<el-table-column type="selection">
</el-table-column>
<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="applicantName" :show-overflow-tooltip="true" />
<el-table-column label="案件标的" align="center" prop="caseSubjectAmount" />
<el-table-column label="仲裁方式" align="center" prop="arbitratMethodName" :show-overflow-tooltip="true" />
<!-- 仲裁员 -->
<el-table-column label="仲裁员" align="center" prop="arbitratorName" />
<!-- 开庭日期 -->
<el-table-column label="开庭日期" align="center" prop="hearDate" :show-overflow-tooltip="true" />
<el-table-column label="案件状态" align="center" prop="caseStatusName">
<template slot-scope="scope">
<el-tag type="success">{{ scope.row.caseStatusName }}</el-tag>
</template>
</el-table-column>
<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-zoom-in" @click="detailRow(scope.row)">详情</el-button>
<el-button size="mini" type="text" icon="el-icon-zoom-in" @click="viewProcess(scope.row)">查看流程</el-button>
<!-- 案件日志 -->
<el-button size="mini" type="text" icon="el-icon-notebook-2" @click="caselogRow(scope.row)">案件日志</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="editRow(scope.row)" v-if="(scope.row.caseStatus < 10 && scope.row.updateSubmitStatus !== 1) &&
checkPermi(['caseManagement:list:update']) && btnStatus
">修改</el-button>
<!-- 撤销修改 -->
<el-button size="mini" type="text" icon="el-icon-edit" @click="undoRow(scope.row,1)" v-if="(scope.row.updateSubmitStatus == 1 || scope.row.updateSubmitStatus == 3) && scope.row.caseStatus > 0 && checkPermi(['caseManagement:list:undo'])">撤销修改</el-button>
<el-button size="mini" type="text" icon="el-icon-check" @click="onsubmitRow(scope.row)" v-if="scope.row.caseStatus == 0 &&
checkPermi(['caseManagement:list:submit']) && btnStatus
">提交</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="deleteRow(scope.row)" v-if="scope.row.caseStatus == 0 &&
checkPermi(['caseManagement:list:delete']) && btnStatus
">删除</el-button>
<el-button size="mini" type="text" icon="el-icon-view" @click="filingreviewRow(scope.row)" v-if="scope.row.caseStatus == 1 &&
checkPermi(['caseManagement:list:check']) && btnStatus
">立案审查</el-button>
<!-- <el-button size="mini" type="text" icon="el-icon-tickets" @click="payStatus(scope.row)"
v-if="scope.row.caseStatus == 2" v-hasPermi="['caseManagement:list:pay']">缴费</el-button> -->
<el-button size="mini" type="text" icon="el-icon-tickets" @click="payStatus(scope.row)" v-if="scope.row.caseStatus == 2 &&
checkPermi(['caseManagement:list:pay']) && btnStatus
">缴费</el-button>
<!-- <el-button
size="mini"
type="text"
icon="el-icon-data-analysis"
@click="formationcourtRow(scope.row)"
v-hasPermi="['monitor:online:forceLogout']"
>组庭</el-button
> -->
<!-- 审核修改,秘书角色 -->
<el-button size="mini" type="text" icon="el-icon-s-check" @click="reviewCase(scope.row)" v-if="scope.row.updateSubmitStatus == 1 && checkPermi(['caseManagement:list:reviewCase'])">审核修改</el-button>
<!-- 审核撤销,秘书角色 -->
<el-button size="mini" type="text" icon="el-icon-s-check" @click="reviewRevocation(scope.row)" v-if="scope.row.updateSubmitStatus == 2 && checkPermi(['caseManagement:list:reviewRevocation'])">审核撤销</el-button>
<el-button size="mini" type="text" icon="el-icon-s-check" @click="courtconfirmationRow(scope.row)" v-if="scope.row.caseStatus == 6 &&
checkPermi(['caseManagement:list:confirmgroup']) && btnStatus
">组庭确认</el-button>
<el-button size="mini" type="text" icon="el-icon-check" @click="courtreviewRow(scope.row)" v-if="scope.row.caseStatus == 5 &&
checkPermi(['caseManagement:list:checkgroup']) && btnStatus
">组庭审核</el-button>
<el-button size="mini" type="text" icon="el-icon-sort" @click="choosetrialmethodRow(scope.row)" v-if="scope.row.caseStatus == 7 &&
checkPermi(['caseManagement:list:checkarbitrationway']) && btnStatus
">审核仲裁方式</el-button>
<el-button size="mini" type="text" icon="el-icon-edit-outline" @click="adjudicaterecordRow(scope.row)" v-if="scope.row.caseStatus == 9 &&
scope.row.arbitratMethod == 2 &&
checkPermi(['caseManagement:list:hear']) && btnStatus
">书面审理</el-button>
<!-- v-hasPermi="['caseManagement:list:hear']" -->
<el-button size="mini" type="text" icon="el-icon-service" @click="trialcourtRow(scope.row)" v-if="scope.row.caseStatus == 8 &&
scope.row.arbitratMethod == 1 &&
checkPermi(['caseManagement:list:hear']) && btnStatus
">开庭审理</el-button>
<!-- <el-button size="mini" type="text" icon="el-icon-edit" v-if="scope.row.caseStatus < 8 &&
checkPermi(['caseManagement:list:evidenceUpdate']) && btnStatus"
@click="evidenceUpload(scope.row)">证据修改</el-button> -->
<el-button size="mini" type="text" icon="el-icon-edit" v-if="(scope.row.caseStatus < 10 && scope.row.caseStatus != 2 && scope.row.caseStatus != 0) &&
checkPermi(['caseManagement:list:evidenceUpdate']) && btnStatus"
@click="evidenceUpload(scope.row)">证据修改</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" v-if="scope.row.caseStatus == 31 && btnStatus"
@click="timeUpdata(scope.row)">开庭时间</el-button>
<el-button size="mini" type="text" icon="el-icon-lock"
v-if="checkPermi(['caseManagement:list:lock']) && scope.row.lockStatus == 0 && btnStatus"
@click="lockClick(scope.row)">锁定</el-button>
<el-button size="mini" type="text" icon="el-icon-unlock"
v-if="checkPermi(['caseManagement:list:lock']) && scope.row.lockStatus == 1 && btnStatus"
@click="ulockClick(scope.row)">解锁</el-button>
<!-- 暂时隐藏后期可能会放其他地方 -->
<!-- <el-button v-if="checkPermi(['caseManagement:list:listEvidence']) && scope.row.caseStatus <= 1 && btnStatus"
size="mini" type="text" icon="el-icon-upload" @click="uploadCase(scope.row)">上传证据目录</el-button> -->
<!-- <el-button
size="mini"
type="text"
icon="el-icon-document"
@click="generateawardRow(scope.row)"
v-if="
scope.row.caseStatus == 10 &&
checkPermi(['caseManagement:list:createaward'])
"
>生成裁决书</el-button
> -->
</template>
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
@pagination="getcaseApply(queryParams)" />
<!-- 立案申请弹框 -->
<caseentryDialog :visible="visible" @cancel="cancel" :form="form" :queryParams="queryParams"
:dialogtitle="dialogtitle" :getcaseApply="getcaseApply" :flag="flag" :caseAttachList="caseAttachList"
:initpaymentArr="initpaymentArr" :initpaymentArr1="initpaymentArr1"></caseentryDialog>
<!-- 批量申请弹框 openbatch-->
<batchDialog :openbatch="openbatch" :queryParams="queryParams" @cancelBatch="cancelBatch"
:getcaseApply="getcaseApply"></batchDialog>
<!-- 立案审查页面 -->
<filingreviewDialog :showfilingreview="showfilingreview" :filingreviewdata="filingreviewdata"
:queryParams="queryParams" @getcaseApply="getcaseApply" @cancelFilingreview="cancelFilingreview">
</filingreviewDialog>
<!-- 组庭页面---改为组庭审核 -->
<formateCourtDialog :showformateCourt="showformateCourt" @cancelcourtDialog="cancelcourtDialog"
:queryParams="queryParams" :formateCourtData="formateCourtData" @getcaseApply="getcaseApply"></formateCourtDialog>
<!-- 组庭审核--改组庭确认 -->
<courtReviewDialog :showcourtReview="showcourtReview" :form="form" :queryParams="queryParams"
@cancelcourtReview="cancelcourtReview" @getcaseApply="getcaseApply"></courtReviewDialog>
<!-- 审核仲裁方式 -->
<choosetrialmethodDaiog :showchoosetrialmethod="showchoosetrialmethod" :choosetrialmethodata="choosetrialmethodata"
:queryParams="queryParams" @getcaseApply="getcaseApply" @cancelshowchoosetrialMethod="cancelshowchoosetrialMethod">
</choosetrialmethodDaiog>
<!-- 书面审理 -->
<adjudicaterecordDialog :showadjudicaterecord="showadjudicaterecord" :form="form" :adjudicatename="adjudicatename"
:queryParams="queryParams" @canceladjudicaterecord="canceladjudicaterecord" @getcaseApply="getcaseApply">
</adjudicaterecordDialog>
<!-- 开庭审理 -->
<trialincourtDialog :showtrialincourt="showtrialincourt" :adjudicatename="adjudicatename" :form="form"
:queryParams="queryParams" @getcaseApply="getcaseApply" @canceltrialincourt="canceltrialincourt">
</trialincourtDialog>
<!-- 缴费 -->
<payDialog :openPay="openPay" :payTitle="payTitle" :form="form" :payForm="payForm" :queryParams="queryParams"
@getcaseApply="getcaseApply" @paycancelRow="paycancelRow" :payId="payId"></payDialog>
<!-- 案件日志 -->
<caselogDialog :showcaseLog="showcaseLog" @cancelcaseLog="cancelcaseLog" :flagLoading="flagLoading"
:caselogDataArr="caselogDataArr"></caselogDialog>
<!-- 案件流程 -->
<viewprocessDialog :processVisable="processVisable" @cancelViewProcess="cancelViewProcess" :processData="processData">
</viewprocessDialog>
<!-- 证据修改 -->
<evidenceDialog :evidenceVisable="evidenceVisable" @cancelEvidence="cancelEvidence" :evidenceData="evidenceData">
</evidenceDialog>
<!-- 开庭时间修改 -->
<timeDialog :timeVisable="timeVisable" @getcaseApply="getcaseApply" @cancelTime="cancelTime" :timeData="timeData"
:queryParams="queryParams">
</timeDialog>
<!-- 批量操作弹窗 -->
<operateDialog :queryParams="queryParams" :operateStatus="operateStatus" :operateVisable="operateVisable"
@getcaseApply="getcaseApply" :operateTitle="operateTitle" @cancelOperate="cancelOperate" :operateData="operateData">
</operateDialog>
<!-- 上传证据目录弹窗 -->
<uploadCaseDialog :uploadCaseVisable="uploadCaseVisable" @uploadCaseCancel="uploadCaseCancel"
:uploadCaseData="uploadCaseData">
</uploadCaseDialog>
<!-- 秘书审核修改页面 -->
<caseentryExamineDialog :dialogtitle="dialogtitle" :caseentryExamineVisible="caseentryExamineVisible" :queryParams="queryParams"
:getcaseApply="getcaseApply"
@caseentryExamineCancel="caseentryExamineCancel" :caseentryExamineData="caseentryExamineData" :caseentryExamineDataAll="caseentryExamineDataAll"></caseentryExamineDialog>
<caseCompressionPackage :openCompressedPackages="openCompressedPackages" :queryParams="queryParams" @cancelCompreess="cancelCompreess"
:getcaseApply="getcaseApply">
</caseCompressionPackage>
</div>
</template>
<script>
import caseentryDialog from "./components/caseentryDialog";
import batchDialog from "./components/batchDialog";
import formateCourtDialog from "./components/formateCourtDialog.vue";
import courtReviewDialog from "./components/courtReviewDialog.vue";
import choosetrialmethodDaiog from "./components/choosetrialmethodDaiog.vue";
import adjudicaterecordDialog from "./components/adjudicaterecordDialog.vue";
import trialincourtDialog from "./components/trialincourtDialog.vue";
import payDialog from "./components/payDialog.vue";
import filingreviewDialog from "./components/filingreviewDialog.vue";
import caselogDialog from "./components/caselogDialog.vue";
import viewprocessDialog from "./components/viewprocessDialog.vue";
import evidenceDialog from './components/evidenceDialog.vue';
import timeDialog from './components/timeDialog.vue';
import operateDialog from './components/operateDialog.vue';
import uploadCaseDialog from './components/uploadCaseDialog.vue';
import caseCompressionPackage from './components/caseCompressionPackage.vue'
// 秘书审核页面
import caseentryExamineDialog from './components/caseentryExamine.vue';
import { caseApplicationDetail } from "@/api/pay/pay";
import {
caseApply,
removeCaseApply,
submitCaseApply,
selectCaseApply,
updateCaseLockStatus
} from "@/api/caseAccess/caseEntry";
import { listDept } from "@/api/system/dept";
import {
document,
caseLogRecordList,
revoke,
selectCompareCase,
updateAudit
} from "@/api/caseManagement/caseManagement";
import { getDicts } from '@/api/system/dict/data.js';
export default {
name: "caseList",
// dicts: ["case_status"],
components: {
caseentryDialog,
batchDialog,
formateCourtDialog,
courtReviewDialog,
choosetrialmethodDaiog,
adjudicaterecordDialog,
trialincourtDialog,
payDialog,
filingreviewDialog,
caselogDialog,
viewprocessDialog,
evidenceDialog,
timeDialog,
operateDialog,
uploadCaseDialog,
caseentryExamineDialog,
caseCompressionPackage
},
data() {
return {
// 遮罩层
loading: true,
// 总条数
total: 0,
isapply: "申请人:",
// 表格数据
dataList: [],
// 查询参数
queryParams: {
caseNum: undefined,
// caseStatusList: [0, 1, 2, 5, 6, 7, 8, 9, 10, 16],
caseStatusList: [0, 1, 2, 5, 6, 7, 8, 9, 10, 31],
// hearDate: "",
caseStatus: null,
applicantName: "",
nameId: "",
pageNum: 1,
pageSize: 10,
},
dialogtitle: "", //弹框标题
visible: false, //申请弹框控制
form: {},
starttime: "", //开始时间
endtime: "", //结束时间
formData: {},
flag: "-1",
initpaymentArr: [],
initpaymentArr1: [],
showfilingreview: false, //立案申查弹框控制
filingreviewdata: {}, //立案审查传输数据
openbatch: false, // 批量申请弹框
openCompressedPackages:false,//案件压缩包导入
formateCourtData: {}, //组庭
showformateCourt: false, //组庭界面显示
showcourtReview: false, //组庭审核页面
showchoosetrialmethod: false, //选择仲裁方式页面
choosetrialmethodata: {},
showadjudicaterecord: false, //书面审理弹框
adjudicatename: {}, //书面仲裁(被)申请人姓名
showtrialincourt: false, //开庭审理
openPay: false, //缴费弹框
processVisable: false,//案件流程弹窗
evidenceVisable: false,//修改证据弹窗
evidenceData: {},
payTitle: "",
payForm: {},
caseAttachList: [], //案件质证资料
showcaseLog: false, //案件日志弹框显示
flagLoading: true, //案件日志弹框loading
caselogDataArr: [],
options: [], //机构数据
payId: null,
caseStatus: [],
processData: {},
timeVisable: false,
timeData: {},
operateVisable: false,
operateData: {},
operateTitle: "",
operateStatus: 0,
uploadCaseVisable: false,
caseentryExamineVisible: false,
caseentryExamineData: {},
caseentryExamineDataAll: {},
uploadCaseData: {},
selectCaseStatusList: [
{
label: "待办案件",
value: 0
},
{
label: "已办案件",
value: 1
}
],
caseStatusType: false,
btnStatus: true,
};
},
created() {
getDicts("case_status").then(res => {
this.caseStatus = res.data;
let params = this.$route.params.status;
if (params >= 0) {
this.queryParams.caseStatus = params;
}
this.getcaseApply(this.queryParams);
})
// this.getcaseApply(this.queryParams);
this.getInstitution();
},
methods: {
cancel() {
this.visible = false;
},
cancelBatch() {
this.openbatch = false;
},
cancelCompreess(){
this.openCompressedPackages = false;
},
cancelTime() {
this.timeVisable = false;
},
cancelOperate() {
this.operateVisable = false;
},
uploadCaseCancel() {
this.uploadCaseVisable = false;
},
// 上传证据目录弹窗
uploadCase(row) {
this.uploadCaseData = row;
this.uploadCaseVisable = true;
},
// 批量操作弹窗
operateClick(type) {
this.operateVisable = true;
if (type == 0) {
this.operateTitle = '批量提交';
this.operateStatus = 0;
} else if (type == 1) {
this.operateTitle = '批量删除';
this.operateStatus = 1;
} else if (type == 2) {
this.operateTitle = '批量立案审查';
this.operateStatus = 2;
} else if (type == 4) {
this.operateTitle = '批量生成裁决书';
this.operateStatus = 4;
} else if(type == 6){
this.operateTitle = '批量缴费';
this.operateStatus = 6;
}
},
// 修改开庭时间
timeUpdata(row) {
this.timeData = row;
this.timeVisable = true;
},
// 锁定案件
lockClick(row) {
this.$modal
.confirm("是否锁定案件")
.then(function () {
return updateCaseLockStatus({ id: row.id, lockStatus: 1 });
})
.then((res) => {
this.getcaseApply(this.queryParams);
this.$modal.msgSuccess("锁定成功");
})
.catch(() => { });
},
// 解锁案件
ulockClick(row) {
this.$modal
.confirm("是否解锁案件")
.then(function () {
return updateCaseLockStatus({ id: row.id, lockStatus: 0 });
})
.then((res) => {
this.getcaseApply(this.queryParams);
this.$modal.msgSuccess("解锁成功");
})
.catch(() => { });
},
// 修改证据
evidenceUpload(row) {
this.evidenceData = row;
this.evidenceVisable = true;
},
// 取消弹窗(证据弹窗)
cancelEvidence() {
this.evidenceVisable = false;
},
// 查看流程
viewProcess(row) {
this.processVisable = true;
this.processData = row;
},
// 机构发生变化
changeDept(data) {
this.queryParams.nameId = data[0];
},
// 获取机构数据
getInstitution() {
listDept().then((res) => {
res.data.forEach((item) => {
item.value = item.deptId;
item.label = item.deptName;
});
this.options = this.handleTree(res.data, "deptId");
});
},
/** 查询列表 */
getcaseApply(val) {
this.loading = true;
caseApply(val).then((response) => {
this.dataList = response.rows;
this.total = response.total;
this.loading = false;
});
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.caseStatusList = [];
if (!this.queryParams.caseStatus) {
this.queryParams.caseStatusList = [0, 1, 2, 5, 6, 7, 8, 9, 10, 31]
}
if (this.queryParams.selectCaseStatus == 1) {
this.queryParams.caseStatus = null;
this.caseStatusType = true;
this.btnStatus = false;
} else if (this.queryParams.selectCaseStatus == 0) {
this.caseStatusType = false;
this.btnStatus = true;
}
this.queryParams.pageNum = 1;
this.getcaseApply(this.queryParams);
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
(this.queryParams.caseStatusList = [0, 1, 2, 5, 6, 7, 8, 9, 10, 31]),
(this.queryParams.applicantName = ""),
(this.queryParams.nameId = ""),
this.getcaseApply(this.queryParams);
},
// 案件录入
filingApplication() {
this.form = {};
this.initpaymentArr = [
{
identityType: 1,
name: "",
identityNum: "",
contactTelphone: "",
workAddress: "",
workTelphone: "",
contactAddress: "",
nameAgent: "",
contactTelphoneAgent: "",
contactAddressAgent: "",
},
];
this.initpaymentArr1 = [
{
identityType: 2,
name: "",
identityNum: "",
contactTelphone: "",
workAddress: "",
workTelphone: "",
contactAddress: "",
nameAgent: "",
contactTelphoneAgent: "",
contactAddressAgent: "",
},
];
this.visible = true;
this.dialogtitle = "立案申请";
this.flag = "2";
},
// 批量批量录入
batchApplication() {
this.openbatch = true;
},
//案件导入压缩包
compressedPackages(){
this.openCompressedPackages = true;
},
// 详情
detailRow(row) {
this.flag = "0";
this.form = row;
this.visible = true;
this.dialogtitle = "立案详情";
this.getInfo(row);
},
// 案件日志
caselogRow(row) {
this.showcaseLog = true;
this.caseLogRecordListFn(row);
},
// 查询案件日志信息
caseLogRecordListFn(val) {
this.flagLoading = true;
let params = {
caseAppliId: val.id,
};
caseLogRecordList(params).then((res) => {
this.caselogDataArr = res.data;
this.flagLoading = false;
});
},
// 关闭案件日志
cancelcaseLog() {
this.showcaseLog = false;
},
//关闭案件流程
cancelViewProcess() {
this.processVisable = false;
},
// 修改
editRow(row) {
this.flag = "1";
this.form = row;
this.visible = true;
this.dialogtitle = "立案修改";
this.getInfo(row);
},
// 列表提交立案
onsubmitRow(row) {
this.$modal
.confirm("是否提交立案申请?")
.then(function () {
// return submitCaseApply({ id: row.id });
return submitCaseApply({ ids: [row.id] });
})
.then(() => {
this.getcaseApply(this.queryParams);
this.$modal.msgSuccess("立案申请成功");
})
.catch(() => { });
},
// 立案审查
filingreviewRow(row) {
console.log(row, "立案审查");
this.showfilingreview = true;
this.filingreviewdata = row;
},
cancelFilingreview() {
this.showfilingreview = false;
},
// 取消缴费
paycancelRow(row) {
this.openPay = false;
},
// 是否进行缴费
payStatus(val) {
this.getDetail({ id: val.id, version: val.version });
this.payTitle = "缴费";
this.openPay = true;
this.payId = val.id;
},
getDetail(parms) {
caseApplicationDetail(parms).then((res) => {
if (res.data.caseStatus == 1) {
res.data.caseStatusName = "待缴费";
}
this.form = res.data;
this.payForm.feePayable = res.data.feePayable;
this.payForm.caseId = res.data.id;
});
},
// 组庭
// formationcourtRow(row) {
// console.log(row, "组庭");
// this.formateCourtData = row;
// this.showformateCourt = true;
// },
// 关闭组庭页面
cancelcourtDialog() {
this.showformateCourt = false;
},
// 审核案件 selectCompareCase caseentryExamineData
reviewCase(row) {
this.caseentryExamineVisible = true;
this.dialogtitle = "审核修改详情";
this.getSelectCompareCase(row)
},
// 秘书审核修改页面 caseentryExamineVisible
caseentryExamineCancel() {
this.caseentryExamineVisible = false;
},
// 查询修改字段
getSelectCompareCase(val) {
let param = {
caseId:val.id,
version:val.version
}
selectCompareCase(param).then((res) => {
this.caseentryExamineData = res.data.afterCase
this.caseentryExamineDataAll = res.data
})
},
// 审核撤销
reviewRevocation(row) {
this.caseentryExamineVisible = true;
this.dialogtitle = "审核撤销";
this.getSelectCompareCase(row)
},
// 组庭确认
courtconfirmationRow(row) {
// console.log(row, "组庭确认");
this.showcourtReview = true;
this.form = row;
},
// 组庭审核
courtreviewRow(row) {
// console.log(row, "组庭审核");
this.formateCourtData = row;
this.showformateCourt = true;
},
cancelcourtReview() {
this.showcourtReview = false;
},
// 选择开庭方式改为审核仲裁方式
choosetrialmethodRow(row) {
// console.log(row, "审核仲裁方式");
this.choosetrialmethodata = row;
this.showchoosetrialmethod = true;
},
// 关闭审核仲裁方式
cancelshowchoosetrialMethod() {
this.showchoosetrialmethod = false;
},
// 书面审理
adjudicaterecordRow(row) {
// console.log(row, "书面审理");
this.showadjudicaterecord = true;
this.form = row;
this.getInfo(row);
},
canceladjudicaterecord() {
this.showadjudicaterecord = false;
},
// 开庭审理
trialcourtRow(row) {
console.log(row, "开庭审理");
this.showtrialincourt = true;
this.form = row;
this.getInfo(row);
},
canceltrialincourt() {
this.showtrialincourt = false;
},
// 生成裁决书 2023.10.15裁决书生成为自动,已合并如庭审提交
// generateawardRow(row) {
// console.log(row, "生成裁决书");
// this.$modal
// .confirm("确定生成裁决书吗?")
// .then(function () {
// return document({ id: row.id });
// })
// .then((res) => {
// if (res.code == 200) {
// this.getcaseApply(this.queryParams);
// this.$modal.msgSuccess("裁决书生成成功");
// }
// })
// .catch(() => {});
// },
// 归档
fileRow(row) {
console.log(row, "归档");
},
// 查找主体信息数据
getInfo(row) {
let params = {
id: row.id,
version: row.version
}
selectCaseApply(params).then((res) => {
// this.visible = true;
// this.formData = res.data;
this.form.caseName = res.data.caseName;
this.adjudicatename = {
applicantName: res.data.applicantName,
respondentName: res.data.respondentName,
feePayable: res.data.feePayable,
hearDate: res.data.hearDate,
arbitratorName: res.data.arbitratorName,
caseAttachList: res.data.caseAttachList,
};
this.initpaymentArr = [];
this.initpaymentArr1 = [];
res.data.caseAffiliates.forEach((item) => {
if (item.identityType == 1) {
this.initpaymentArr.push(item);
} else {
this.initpaymentArr1.push(item);
}
});
this.caseAttachList = res.data.caseAttachList;
console.log(this.caseAttachList,"caseAttachList")
this.form.requestRule = res.data.requestRule;
this.form.properPreser = res.data.properPreser;
});
},
// 删除
deleteRow(row) {
// const id = row.id;
this.$modal
.confirm("是否确认删除?")
.then(function () {
// return removeCaseApply({ id: row.id });
return removeCaseApply({ ids: [row.id] });
})
.then((res) => {
this.getcaseApply(this.queryParams);
this.$modal.msgSuccess("删除成功");
})
.catch(() => { });
},
// 申请人撤销修改 revoke
undoRow(row) {
if (row.updateSubmitStatus == 1) {
this.$modal.confirm("是否确认撤销修改?").then(function () {
return revoke({ caseId: row.id, version: row.version });
}).then((res) => {
if (res.code == 200) {
this.getcaseApply(this.queryParams);
this.$modal.msgSuccess("撤销成功");
}
})
.catch(() => { });
} else if (row.updateSubmitStatus == 3) {
this.$modal.confirm("是否确认撤销已审核的修改?").then(function () {
return revoke({ caseId: row.id, version: row.version });
}).then((res) => {
if (res.code == 200) {
this.getcaseApply(this.queryParams);
this.$modal.msgSuccess("撤销申请已提交,等待审核");
}
})
.catch(() => { });
}
},
// 表格显示高亮
tableRowClassName(row){
if(row.row.arbitratMethodName=="开庭审理"){
return 'pendingTrial'
}
}
},
};
</script>
<style>
/* // #formContainer {} */
.el-table .pendingTrial {
background:rgb(148, 224, 25);
}
</style>
@@ -1,365 +0,0 @@
<template>
<div>
<el-dialog
title="书面审理"
:visible="showadjudicaterecord"
@close="cancel"
:destroy-on-close="true"
center
>
<el-form
ref="form"
:model="formData"
label-width="180px"
:disabled="true"
>
<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="请输入案件编号"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="申请人:" prop="applicantName">
<el-input v-model="adjudicatename.applicantName" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="被申请人:" prop="respondentName">
<el-input v-model="adjudicatename.respondentName" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="借款开始日期:" prop="loanStartDate">
<el-date-picker
v-model="formData.loanStartDate"
type="datetime"
placeholder="借款开始日期"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="借款结束日期:" prop="loanEndDate">
<el-date-picker
v-model="formData.loanEndDate"
type="datetime"
placeholder="借款结束日期"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="案件标的:" prop="caseSubjectAmount">
<el-input
v-model="formData.caseSubjectAmount"
placeholder="请输入案件标的"
/>
</el-form-item>
</el-col>
<!-- <el-col :span="12">
<el-form-item label="逾期天数:" prop="caseSubjectAmount">
<el-input
v-model="formData.caseSubjectAmount"
placeholder="请输入逾期天数"
/>
</el-form-item>
</el-col> -->
<el-col :span="12">
<el-form-item label="仲裁费用:" prop="feePayable">
<el-input
v-model="adjudicatename.feePayable"
placeholder="请输入仲裁费用"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="申请人主张欠本金:" prop="claimPrinciOwed">
<el-input
v-model="formData.claimPrinciOwed"
placeholder="请输入"
/>
</el-form-item>
</el-col>
<!-- <el-col :span="12">
<el-form-item label="案件顾问:" prop="claimPrinciOwed">
<el-input v-model="formData.claimPrinciOwed" placeholder="请输入" />
</el-form-item>
</el-col> -->
<el-col :span="12">
<el-form-item label="案件状态:" prop="caseStatus">
<el-input
v-model="formData.caseStatusName"
placeholder="请输入"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="仲裁员:" prop="arbitratorName">
<el-input
v-model="adjudicatename.arbitratorName"
placeholder="请输入"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="开庭日期:" prop="hearDate">
<el-date-picker
v-model="adjudicatename.hearDate"
type="datetime"
placeholder="开庭日期"
>
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<!-- <el-col :span="24">
<el-form-item label="案件资料:" prop="claimPrinciOwed">
<el-input v-model="formData.claimPrinciOwed" placeholder="请输入" />
</el-form-item>
</el-col> -->
<el-col :span="24">
<el-form-item
label="申请人案件证据:"
>
<div v-if="applicateArr.length == 0">申请人暂未提供证据!</div>
<div v-else v-for="(item, index) in applicateArr" :key="index">
<a href="#" @click="toFile(item, index)" style="color: blue">
{{ item.annexName }}
</a>
</div>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item
label="被申请人案件证据:"
>
<div v-if="quiltArr.length == 0">被申请人暂未提供证据!</div>
<div v-else 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-form>
<el-form ref="form2" :model="form2" label-width="150px">
<el-form-item label="笔录内容:" prop="responCrossOpin">
<el-input type="textarea" :autosize="{ minRows: 6 }" v-model="form2.responCrossOpin" placeholder="请输入" />
</el-form-item>
<!-- <el-col :span="24">
<el-form-item
label="经庭审质证,对各方提供的证据认定如下:"
prop="evidenDetermi"
:rules="[
{
required: true,
message: '请输入仲裁结果',
trigger: 'blur',
},
]"
>
<el-input
type="textarea"
:autosize="{ minRows: 4 }"
placeholder="请输入仲裁结果"
v-model="form2.evidenDetermi"
>
</el-input>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item
label="仲裁庭经审理查明(写明仲裁庭认定的事实):"
prop="factDetermi"
:rules="[
{
required: true,
message: '请输入',
trigger: 'blur',
},
]"
>
<el-input
type="textarea"
:autosize="{ minRows: 4 }"
placeholder="请输入"
v-model="form2.factDetermi"
>
</el-input>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item
label="综上所述:"
prop="caseSketch"
:rules="[
{
required: true,
message: '请输入',
trigger: 'blur',
},
]"
>
<el-input
type="textarea"
autosize
placeholder="请输入"
v-model="form2.caseSketch"
>
</el-input>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item
label="本庭认为:"
prop="arbitrateThink"
:rules="[
{
required: true,
message: '请输入',
trigger: 'blur',
},
]"
>
<el-input
type="textarea"
autosize
placeholder="请输入"
v-model="form2.arbitrateThink"
>
</el-input>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item
label="裁决如下:"
prop="rulingFollows"
:rules="[
{
required: true,
message: '请输入',
trigger: 'blur',
},
]"
>
<el-input
type="textarea"
autosize
placeholder="请输入"
v-model="form2.rulingFollows"
>
</el-input>
</el-form-item>
</el-col> -->
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">提交仲裁结果</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { writtenHear } from "@/api/caseManagement/caseManagement.js";
export default {
props: ["showadjudicaterecord", "form", "adjudicatename", "queryParams"],
data() {
return {
formData: {},
form2: {},
applicateArr: [],//申请人案件资料
quiltArr: [],//被申请人案件资料
};
},
watch: {
showadjudicaterecord: {
handler(val) {
if (val) {
this.applicateArr = [];
this.quiltArr = [];
this.formData = this.form;
setTimeout(() => {
if (this.adjudicatename.caseAttachList.length > 0) {
this.adjudicatename.caseAttachList.forEach(item => {
if (item.annexType == 2) {
this.applicateArr.push({
annexName: item.annexName,
annexPath: item.annexPath,
});
}
if (item.annexType == 6) {
this.quiltArr.push({
annexName: item.annexName,
annexPath: item.annexPath,
});
}
});
}
}, 500);
this.form2 = {};
}
},
},
},
methods: {
// 详情显示,展示申请人案件文件
toFile(item, index) {
window.open(
window.location.origin + "/API" + this.applicateArr[index].annexPath,
"_black"
);
},
// 被申请人文件
toFile1(item, index) {
window.open(
window.location.origin + "/API" + this.quiltArr[index].annexPath,
"_black"
);
},
submitForm() {
this.$refs["form2"].validate((valid) => {
if (valid) {
writtenHear({
ids: [this.formData.id],
evidenDetermi: this.form2.evidenDetermi,
factDetermi: this.form2.factDetermi,
caseSketch: this.form2.caseSketch,
arbitrateThink: this.form2.arbitrateThink,
rulingFollows: this.form2.rulingFollows,
})
.then((res) => {
this.$modal.msgSuccess("提交成功");
this.cancel();
this.$emit("getcaseApply",this.queryParams);
})
.catch((err) => {});
}
});
},
cancel() {
this.$emit("canceladjudicaterecord");
},
},
};
</script>
<style lang="scss" scoped>
::v-deep .el-dialog {
width: 900px;
background: #ffffff;
border-radius: 20px;
}
.caseInfo {
font-size: 17px;
font-weight: 600;
}
</style>
@@ -1,194 +0,0 @@
<template>
<div>
<!-- 立案申请弹框 -->
<el-dialog
title="批量立案"
:visible="openbatch"
width="600px"
append-to-body
@close="cancel"
center
>
<el-form ref="form" :model="form" :rules="rules" label-width="150px">
<el-row>
<!-- <el-col :span="16">
<el-form-item label="申请人姓名:" prop="applyName">
<el-input v-model="form.jobName" placeholder="请输入姓名" />
</el-form-item>
</el-col>-->
<el-col :span="8">
<div class="download" style="margin-bottom: 20px">
<span> 下载: </span>
<a href="#">
<el-button class="uploadlink" @click="downloadTemplate">批量导入模板</el-button>
</a>
</div>
</el-col>
<!-- <el-col :span="12">
<el-form-item label="立案申请书:" prop="applybook"> </el-form-item>
</el-col>
<el-col :span="12"> </el-col> -->
</el-row>
<el-row>
<el-form-item :span="24" label="批量立案信息上传:" prop="upload">
<el-upload
class="upload-demo"
ref="uploadbatch"
: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>
<!-- <el-button size="small" type="primary">点击上传</el-button> -->
<div slot="tip" class="el-upload__tip">
只接收.xlsx, .xls格式文件
</div>
</el-upload>
</el-form-item>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm" class="endbutton"><span>确 定</span></el-button>
<el-button @click="cancel" class="endbutton1"><span>取 消</span></el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { importTemplate } from "@/api/caseAccess/caseEntry";
import { getToken } from "@/utils/auth";
export default {
props: ["openbatch","getcaseApply","queryParams"],
data() {
return {
// key: value,
form: {},
fileList: [],
rules: {
upload: [
{ required: true, message: "批量立案文件不能为空", trigger: "blur" },
],
},
// 案件批量导入
upload: {
// 是否显示弹出层(用户导入)
open: false,
// 弹出层标题(用户导入)
title: "",
// 是否禁用上传
isUploading: false,
// 是否更新已经存在的用户数据
updateSupport: 0,
// 设置上传的请求头部
headers: { Authorization: "Bearer " + getToken() },
// 上传的地址
url: process.env.VUE_APP_BASE_API + "/caseApplication/importData",
},
};
},
methods: {
// 批量提交立案申请
submitForm() {
this.$refs.uploadbatch.submit();
},
// 取消
cancel() {
// this.openbatch = false;
this.$emit("cancelBatch");
},
handleRemove(file, fileList) {},
handlePreview(file) {},
handleExceed(files, fileList) {
this.$message.warning(
`当前限制选择 3 个文件,本次选择了 ${files.length} 个文件,共选择了 ${
files.length + fileList.length
} 个文件`
);
},
beforeRemove(file, fileList) {
return this.$confirm(`确定移除 ${file.name}?`);
},
// 下载模板 importTemplate
downloadTemplate() {
// console.log("下载模板");
this.download(
"caseApplication/importTemplate",
{},
`case_batch_${new Date().getTime()}.xlsx`
);
},
// 文件上传中处理
handleFileUploadProgress(event, file, fileList) {
this.upload.isUploading = true;
},
// 文件上传成功处理
handleFileSuccess(response, file, fileList) {
// this.upload.open = false;
this.$emit("cancelBatch");
this.upload.isUploading = false;
this.$refs.uploadbatch.clearFiles();
this.$alert(
"<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" +
response.msg +
"</div>",
"导入结果",
{ dangerouslyUseHTMLString: true }
);
this.getcaseApply(this.queryParams);
},
},
};
</script>
<style lang="scss" scoped>
.download {
a {
.uploadlink{
border: none;
color: #2092c7;
}
}
}
::v-deep .el-dialog {
width: 800px;
background: #ffffff;
border-radius: 20px;
}
.endbutton {
width: 154px;
height: 37px;
background: #0072ff;
border-radius: 19px;
span {
width: 96px;
height: 15px;
font-size: 16px;
font-family: Microsoft YaHei;
font-weight: 400;
color: #ffffff;
}
}
.endbutton1 {
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,208 +0,0 @@
<template>
<div>
<!-- 立案申请弹框 -->
<el-dialog
title="案件压缩"
:visible="openCompressedPackages"
width="600px"
append-to-body
@close="cancel"
center
>
<el-form ref="form" :model="form" :rules="rules" label-width="150px">
<el-row>
<!-- <el-col :span="16">
<el-form-item label="申请人姓名:" prop="applyName">
<el-input v-model="form.jobName" placeholder="请输入姓名" />
</el-form-item>
</el-col>-->
<el-col :span="15">
<div class="download" style="">
<span> 下载: </span>
<a href="#">
<el-button class="uploadlink" @click="downloadTemplate">案件压缩导入模板</el-button>
</a>
</div>
</el-col>
<el-col :span="15">
<div style="margin:10px 0;font-size:12px;color:grey">
<span>
提示:请将多个excel文件压缩成zip格式后上传
</span>
</div>
</el-col>
<!-- <el-col :span="12">
<el-form-item label="立案申请书:" prop="applybook"> </el-form-item>
</el-col>
<el-col :span="12"> </el-col> -->
</el-row>
<el-row>
<el-form-item :span="24" label="案件压缩包上传:" prop="upload">
<el-upload
class="upload-demo"
ref="uploadZipBatch"
:limit="1"
accept=".zip"
:headers="upload.headers"
:action="upload.url"
: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>
<!-- <el-button size="small" type="primary">点击上传</el-button> -->
<div slot="tip" class="el-upload__tip">
支持zip格式文件
</div>
</el-upload>
</el-form-item>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm" class="endbutton"><span>确 定</span></el-button>
<el-button @click="cancel" class="endbutton1"><span>取 消</span></el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { importTemplate } from "@/api/caseAccess/caseEntry";
import { getToken } from "@/utils/auth";
export default {
props: ["openCompressedPackages","getcaseApply","queryParams"],
data() {
return {
// key: value,
form: {},
fileList: [],
rules: {
upload: [
{ required: true, message: "案件压缩包不能为空", trigger: "blur" },
],
},
// 案件压缩导入
upload: {
// 是否显示弹出层(用户导入)
open: false,
// 弹出层标题(用户导入)
title: "",
// 是否禁用上传
isUploading: false,
// 是否更新已经存在的用户数据
// updateSupport: 0,
// 设置上传的请求头部
headers: { Authorization: "Bearer " + getToken() },
// 上传的地址
url: process.env.VUE_APP_BASE_API + "/caseApplication/uploadCaseZipFile",
},
};
},
methods: {
submitForm() {
this.$refs.uploadZipBatch.submit();
},
// 取消
cancel() {
this.$emit("cancelCompreess");
},
handleRemove(file, fileList) {},
handlePreview(file) {},
handleExceed(files, fileList) {
this.$message.warning(
`当前限制选择 1个文件,本次选择了 ${files.length} `
);
},
beforeRemove(file, fileList) {
return this.$confirm(`确定移除 ${file.name}?`);
},
// 下载模板 importTemplate
downloadTemplate() {
// console.log("下载模板");
this.download(
"caseApplication/uploadCaseZipFile",
{},
`case_batch_${new Date().getTime()}.xlsx`
);
},
// 文件上传中处理
handleFileUploadProgress(event, file, fileList) {
this.upload.isUploading = true;
},
// 文件上传成功处理
handleFileSuccess(response, file, fileList) {
// this.upload.open = false;
this.$emit("cancelCompreess");
this.upload.isUploading = false;
this.$refs.uploadZipBatch.clearFiles();
if(response.code ==200){
this.$alert(
"<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" +
response.msg +
"</div>",
"导入结果",
{ dangerouslyUseHTMLString: true }
)
}else{
this.$alert(
"<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" +
"导入压缩失败" +
"</div>",
"导入结果",
{ dangerouslyUseHTMLString: true }
)
}
this.getcaseApply(this.queryParams);
},
},
};
</script>
<style lang="scss" scoped>
.download {
a {
.uploadlink{
border: none;
color: #2092c7;
}
}
}
::v-deep .el-dialog {
width: 800px;
background: #ffffff;
border-radius: 20px;
}
.endbutton {
width: 154px;
height: 37px;
background: #0072ff;
border-radius: 19px;
span {
width: 96px;
height: 15px;
font-size: 16px;
font-family: Microsoft YaHei;
font-weight: 400;
color: #ffffff;
}
}
.endbutton1 {
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>
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -1,113 +0,0 @@
<template>
<div>
<el-dialog
title="案件日志"
:visible="showcaseLog"
@close="cancel"
center
:distroy-on-close="true"
>
<div class="loading" v-if="flagLoading">
<i class="el-icon-loading"></i>
</div>
<div v-else>
<div class="noData" v-if="noData">暂无数据!</div>
<el-timeline v-else>
<el-timeline-item
v-for="(activity, index) in activities"
:key="index"
:timestamp="(index + 1).toString()"
placement="top"
>
<p>{{ activity.content }}</p>
</el-timeline-item>
</el-timeline>
</div>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel" class="endbutton1"
><span>取 消</span></el-button
>
</div>
</el-dialog>
</div>
</template>
<script>
export default {
props: ["showcaseLog", "flagLoading", "caselogDataArr"],
data() {
return {
reverse: true,
activities: [],
noData: false,
};
},
watch: {
caselogDataArr: {
handler(val) {
if (val && val.length > 0) {
this.noData = false;
this.activities = val;
this.activities.forEach((item) => {
item.content = item.content;
});
} else {
this.noData = true;
}
},
},
},
methods: {
cancel() {
this.$emit("cancelcaseLog");
},
},
};
</script>
<style lang="scss" scoped>
::v-deep .el-dialog__body {
height: 500px !important;
overflow: auto !important;
}
::v-deep .el-dialog {
width: 800px;
background: #ffffff;
border-radius: 20px;
}
.endbutton1 {
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;
}
}
.loading {
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
.el-icon-loading {
font-size: 50px;
}
}
.noData {
width: 100%;
height: 400px;
font-size: 30px;
font-weight: 700;
color: #959595;
display: flex;
justify-content: center;
align-items: center;
}
</style>
@@ -1,117 +0,0 @@
<template>
<div>
<!-- 选择仲裁方式页面 -->
<el-dialog
title="审核仲裁方式"
:visible="showchoosetrialmethod"
width="500px"
@close="cancel"
:destroy-on-close="true"
>
<el-descriptions>
<el-descriptions-item label="当前仲裁方式:">
<el-tag size="small">{{
choosetrialmethodata.arbitratMethodName
}}</el-tag>
</el-descriptions-item>
</el-descriptions>
<!-- <div class="radiobox">
<el-radio-group v-model="radio">
<el-radio :label="0">拒绝开庭方式</el-radio>
<el-radio :label="1">同意开庭方式</el-radio>
</el-radio-group>
</div> -->
<!-- <div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm" class="endbutton"
><span>提 交</span></el-button
>
<el-button @click="cancel" class="endbutton1"
><span> 取 消</span></el-button
>
</div> -->
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm(1)" class="endbutton"
><span>同 意</span></el-button
>
<el-button class="endbutton1" @click="submitForm(0)"
><span>拒 绝</span></el-button
>
</div>
</el-dialog>
</div>
</template>
<script>
import { arbitrateMethod } from "@/api/caseManagement/caseManagement.js";
export default {
name: "showchoosetrialmethodDialog",
props: ["showchoosetrialmethod", "choosetrialmethodata", "queryParams"],
data() {
return {};
},
methods: {
// 审核仲裁方式 arbitrateMethod
submitForm(val) {
let paramsdata = {
opinion: val,
};
let id = {
id: this.choosetrialmethodata.id,
};
arbitrateMethod(paramsdata,id)
.then((res) => {
this.$modal.msgSuccess("提交成功");
this.cancel();
this.$emit("getcaseApply", this.queryParams);
})
.catch((err) => {});
},
cancel() {
this.$emit("cancelshowchoosetrialMethod");
},
},
};
</script>
<style lang="scss" scoped>
.radiobox {
margin-left: 5%;
}
::v-deep .el-dialog {
width: 800px;
background: #ffffff;
border-radius: 20px;
}
.endbutton {
width: 124px;
height: 37px;
background: #0072ff;
border-radius: 19px;
span {
width: 32px;
height: 15px;
font-size: 16px;
font-family: Microsoft YaHei;
font-weight: 400;
color: #ffffff;
// line-height: 48px;
}
}
.endbutton1 {
width: 124px;
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,233 +0,0 @@
<template>
<div>
<!-- 组庭确认页面 -->
<el-dialog
title="组庭确认"
:visible="showcourtReview"
@close="cancel"
:destroy-on-close="true"
center
>
<el-form ref="courtReviewform" :model="courtReviewform">
<el-form-item label="是否同意组庭:">
<el-radio-group v-model="isAgreePendTral">
<el-radio :label="1">是</el-radio>
<el-radio :label="0">否</el-radio>
</el-radio-group>
</el-form-item>
<!-- </el-form> -->
<el-tag type="warning" v-if="noArbitrator"
>当前案件未指定仲裁员,请先指定仲裁员!</el-tag
>
<div style="display: inline-flex; margin: 1% 9%">
<div v-if="isAgreePendTral == 0">请选择仲裁员</div>
<div v-if="isAgreePendTral == 1 && form.arbitratorName">
当前案件仲裁员
</div>
</div>
<div v-if="isAgreePendTral == 1" class="nowarbitrator">
<el-tag size="medium">
{{ form.arbitratorName }}
</el-tag>
</div>
<!-- <div v-if="noArbitrator || isAgreePendTral == 0"> -->
<el-form-item
label="仲裁员:"
prop="Arbitor"
v-if="noArbitrator || isAgreePendTral == 0"
:rules="[
{
required: true,
message: '仲裁员不能为空',
trigger: 'blur',
},
]"
>
<el-select
placeholder="请选择仲裁员"
@change="changeArbitor"
v-model="courtReviewform.Arbitor"
clearable
>
<el-option
v-for="item in dataList"
:key="item.value"
:label="item.nickName"
:value="item.userId"
></el-option>
</el-select>
</el-form-item>
<!-- </div> -->
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm" class="endbutton"
><span>确 定</span>
</el-button>
<el-button @click="cancel" class="endbutton1"
><span> 取 消</span></el-button
>
</div>
</el-dialog>
</div>
</template>
<script>
import { pendTralSure } from "@/api/caseManagement/caseManagement.js";
import { arbitrAtor, pendTralCheck } from "@/api/formationCourt/formationCourt";
import moment from "moment";
export default {
name: "courtReviewDialog",
props: ["showcourtReview", "form", "queryParams"],
data() {
return {
dataList: [],
hearDate: "",
courtReviewform: {
hearDate: null,
},
noArbitrator: false,
isAgreePendTral: 1,
total: 0,
queryParams1: {
pageNum: 1,
pageSize: 10,
},
paramsdata: {},
pickerOptions: {
disabledDate(time) {
return time.getTime() < Date.now() - 8.64e7;
},
},
Arbitor: "",
};
},
created() {
this.getarbitrAtor();
},
watch: {
showcourtReview(val) {
if (val) {
this.isAgreePendTral = 1;
this.courtReviewform.hearDate = null;
}
},
form: {
handler(val) {
if (val.arbitratorName == null) {
this.noArbitrator = true;
} else {
this.noArbitrator = false;
}
},
},
},
methods: {
// 获取仲裁员信息
getarbitrAtor() {
arbitrAtor({}).then((res) => {
this.dataList = res.rows;
this.total = res.total;
});
},
changeArbitor(val) {
this.arbitrators = [];
this.dataList.forEach((item) => {
if (item.userId == val) {
this.arbitrators.push({
id: item.userId,
arbitratorName: item.nickName,
});
}
});
},
submitForm() {
if (this.noArbitrator) {
this.paramsdata = {
id: this.form.id,
arbitrators: this.arbitrators,
};
} else {
if (this.isAgreePendTral == 0) {
this.paramsdata = {
isAgreePendTral: 0,
id: this.form.id,
arbitrators: this.arbitrators,
};
} else {
this.paramsdata = {
isAgreePendTral: 1,
id: this.form.id,
};
}
}
this.$refs["courtReviewform"].validate((valid) => {
if (valid) {
pendTralSure(this.paramsdata)
.then((res) => {
this.$modal.msgSuccess("确认成功");
this.cancel();
this.$emit("getcaseApply", this.queryParams);
})
.catch((err) => {});
}
});
},
cancel() {
this.$emit("cancelcourtReview");
},
},
};
</script>
<style lang="scss" scoped>
::v-deep .el-dialog {
background: #ffffff;
border-radius: 20px;
}
.el-form-item {
margin-left: 10%;
}
.endbutton {
width: 124px;
height: 37px;
background: #0072ff;
border-radius: 19px;
span {
width: 32px;
height: 15px;
font-size: 16px;
font-family: Microsoft YaHei;
font-weight: 400;
color: #ffffff;
// line-height: 48px;
}
}
.endbutton1 {
width: 124px;
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;
// line-height: 48px;
}
}
.nowarbitrator {
margin-left: 10%;
}
::v-deep .el-form-item__error {
left: 90px;
}
</style>
@@ -1,139 +0,0 @@
<template>
<div>
<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="案件状态">
<el-tag size="small">{{ evidenceData.caseStatusName }}</el-tag>
</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">
{{ item.annexName }}</div>
</el-descriptions-item>
</el-descriptions>
<div style="margin-top: 30px;">
<el-upload class="upload-demo" ref="upload" action="" :file-list="fileList" accept=".png,.jpg,.doc,.docx,.txt,.pdf"
:auto-upload="false" :http-request="uploadFile" :on-change="beforeAvatarUpload" :before-remove="beforeRemove" multiple>
<el-button type="primary"><span>选择证据</span></el-button>
</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>
</div>
</el-dialog>
</div>
</template>
<script>
import { getFileList, batchUpload } from '@/api/caseManagement/caseManagement'
import { getToken } from "@/utils/auth";
export default {
props: ["evidenceVisable", "evidenceData"],
data() {
return {
fileListData: [],
// 上传文件的列表
uploadFiles: [],
// 上传文件的个数
filesLength: 0,
info: {
annexType: 2,
},
fileList:[]
// headers: {
// Authorization: "Bearer " + getToken(),
// },
};
},
watch: {
evidenceVisable(val) {
this.fileList = []
if (val) {
this.getEvidenceList({ caseAppliId: this.evidenceData.id, annexTypeList: "2" })
}
}
},
created() {
this.info.id = this.evidenceData.id;
},
methods: {
preview(data) {
window.open(
window.location.origin + "/API" + data,
"_blank"
);
},
UploadUrl() {
return window.location.origin + "/API/evidence/upload";
},
cancel() {
this.$emit("cancelEvidence");
},
// 修改当前文件列表长度
// changeFileLength(file, fileList) {
// this.uploadFiles.push(file)
// },
// 删除文件
beforeRemove(file, fileList){
this.uploadFiles = fileList
},
// 文件上传之前处理
beforeAvatarUpload(file,fileList) {
console.log(file,fileList,"before");
this.uploadFiles = [];
// this.uploadFiles.push(file)
this.uploadFiles = fileList
},
// 用户点击上传调用
async upload() {
// 触发上传 调用配置 :http-request="uploadFile"
// 即触发 uploadFile函数
this.uploadFile()
// await this.$refs.upload.submit();
// 上传完成后执行的操作 ...
},
// 该函数还是会被调用多次
// 每次param参数传入一个文件
uploadFile() {
// 将文件加入需要上传的文件列表
// 当uploadFiles长度等于用户需要上传的文件数时进行上传
// 创建FormData上传
if (this.uploadFiles.length === 0) {
this.$message.warning('请选取文件')
return
}
let fd = new FormData()
// 将全部文件添加至FormData中
this.uploadFiles.forEach(file => {
fd.append('file', file.raw)
})
// // 将附加信息添加至FormData
fd.append("id", this.evidenceData.id)
fd.append("annexType", this.info.annexType)
// 上传文件
batchUpload(fd).then(res => {
this.$modal.msgSuccess("上传成功");
this.cancel()
})
},
// 获取案件申请人证据列表
getEvidenceList(data) {
getFileList(data).then(res => {
this.fileListData = res.data;
})
}
},
};
</script>
<style lang="scss" scoped>
.steps {
display: flex;
flex-wrap: wrap;
}
</style>
@@ -1,102 +0,0 @@
<template>
<div>
<!-- 立案审查 -->
<el-dialog
title="立案审查"
:visible="showfilingreview"
width="500px"
@close="cancel"
:destroy-on-close="true"
>
<div class="radiobox">
<el-radio-group v-model="radio">
<el-radio :label="1">同意</el-radio>
<el-radio :label="2">拒绝</el-radio>
</el-radio-group>
</div>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm" class="endbutton"
><span>提 交</span></el-button
>
<el-button @click="cancel" class="endbutton1"
><span> 取 消</span></el-button
>
</div>
</el-dialog>
</div>
</template>
<script>
import { submitCaseApplicationCheck } from "@/api/caseManagement/caseManagement.js";
export default {
name: "filingreviewDialog",
props: ["showfilingreview", "filingreviewdata", "queryParams"],
data() {
return {
radio: 1,
};
},
methods: {
submitForm() {
let paramsdata = {
agreeOrNotCheck: this.radio,
ids: [this.filingreviewdata.id],
};
submitCaseApplicationCheck(paramsdata)
.then((res) => {
this.$modal.msgSuccess("提交成功");
this.cancel();
this.$emit("getcaseApply", this.queryParams);
})
.catch((err) => {});
},
cancel() {
this.$emit("cancelFilingreview");
},
},
};
</script>
<style lang="scss" scoped>
.radiobox {
margin-left: 5%;
}
::v-deep .el-dialog {
width: 800px;
background: #ffffff;
border-radius: 20px;
}
.endbutton {
width: 124px;
height: 37px;
background: #0072ff;
border-radius: 19px;
span {
width: 32px;
height: 15px;
font-size: 16px;
font-family: Microsoft YaHei;
font-weight: 400;
color: #ffffff;
// line-height: 48px;
}
}
.endbutton1 {
width: 124px;
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,233 +0,0 @@
<template>
<div>
<!-- 组庭界面 -->
<el-dialog
title="组庭建议"
:visible="showformateCourt"
v-if="showformateCourt"
@close="cancel"
destroy-on-close
center
>
<el-form
ref="formateCourtform"
:model="formateCourtform"
label-width="110px"
label-position="left"
>
<el-form-item label="是否同意组庭:">
<el-radio-group v-model="isAgreePendTral" @change="radioValue">
<el-radio :label="1">是</el-radio>
<el-radio :label="0">否</el-radio>
</el-radio-group>
</el-form-item>
<el-tag type="warning" v-if="noArbitrator"
>当前案件未指定仲裁员,请先指定仲裁员!</el-tag
>
<p></p>
<!-- <el-form ref="form"> -->
<!-- v-if="isAgreePendTral == 0 || noArbitrator" -->
<div style="display: inline-flex; margin-bottom: 8px">
<div v-if="isAgreePendTral !== 1">请选择仲裁员</div>
<div v-if="isAgreePendTral == 1 && formateCourtData.arbitratorName">
当前案件仲裁员
</div>
</div>
<div
v-if="isAgreePendTral == 1 && formateCourtData.arbitratorName"
class="nowarbitrator"
>
<el-tag size="medium">
{{ formateCourtData.arbitratorName }}
</el-tag>
</div>
<el-form-item
label="仲裁员:"
prop="Arbitor"
v-if="noArbitrator || isAgreePendTral == 0"
:rules="[
{
required: true,
message: '仲裁员不能为空',
},
]"
>
<el-select
placeholder="请选择仲裁员"
@change="changeArbitor"
v-model="formateCourtform.Arbitor"
clearable
>
<el-option
v-for="item in dataList"
:key="item.value"
:label="item.nickName"
:value="item.userId"
></el-option>
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm" class="endbutton"
><span>确 定</span></el-button
>
<el-button @click="cancel" class="endbutton1"
><span>取 消</span></el-button
>
</div>
</el-dialog>
</div>
</template>
<script>
import { arbitrAtor, pendTralCheck } from "@/api/formationCourt/formationCourt";
export default {
props: ["showformateCourt", "formateCourtData", "queryParams"],
data() {
return {
dataList: [],
queryParams1: {
pageNum: 1,
pageSize: 10,
},
formateCourtform: {},
arbitrators: [],
isAgreePendTral: 1,
paramsdata: {},
noArbitrator: false,
Arbitor: "",
};
},
created() {
this.getarbitrAtor();
},
watch: {
showformateCourt(val){
this.Arbitor = ""
if(val){
this.isAgreePendTral = 1;
}
},
formateCourtData: {
handler(val) {
if (val.arbitratorName == null) {
this.noArbitrator = true;
} else {
this.noArbitrator = false;
}
},
},
},
methods: {
// 获取仲裁员信息
getarbitrAtor() {
arbitrAtor({}).then((res) => {
this.dataList = res.rows;
// console.log(this.dataList, "this.dataList");
});
},
changeArbitor(val) {
this.arbitrators = [];
this.dataList.forEach((item) => {
if (item.userId == val) {
this.arbitrators.push({
id: item.userId,
arbitratorName: item.nickName,
});
}
});
},
// 确认
submitForm() {
if (this.noArbitrator) {
this.paramsdata = {
id: this.formateCourtData.id,
arbitrators: this.arbitrators,
};
} else {
if (this.isAgreePendTral == 0) {
this.paramsdata = {
isAgreePendTral: 0,
id: this.formateCourtData.id,
arbitrators: this.arbitrators,
};
} else {
this.paramsdata = {
isAgreePendTral: 1,
id: this.formateCourtData.id,
};
}
}
this.$refs["formateCourtform"].validate((valid) => {
if (valid) {
pendTralCheck(this.paramsdata).then((res) => {
this.cancel();
this.$modal.msgSuccess("组庭成功");
this.$emit("getcaseApply", this.queryParams);
// 初始化页面
this.formateCourtform={}
});
}
});
},
// 取消
cancel() {
this.$emit("cancelcourtDialog");
this.arbitrators = [];
},
radioValue(val){
if(val==1){
this.formateCourtform={}
}else if(val==0){
this.formateCourtform={}
}
}
},
};
</script>
<style lang="scss" scoped>
::v-deep .el-dialog {
background: #ffffff;
border-radius: 20px;
}
.endbutton {
width: 124px;
height: 37px;
background: #0072ff;
border-radius: 19px;
span {
width: 32px;
height: 15px;
font-size: 16px;
font-family: Microsoft YaHei;
font-weight: 400;
color: #ffffff;
}
}
.endbutton1 {
width: 124px;
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;
}
}
.infoIcon {
width: 4px;
// height: 17px;
background-color: #0072ff;
margin-right: 5px;
}
.nowarbitrator {
margin-left: 4%;
}
</style>
@@ -1,415 +0,0 @@
<template>
<div>
<el-dialog :title="operateTitle" :visible="operateVisable" @close="cancel" center :distroy-on-close="true">
<el-dialog width="40%" title="缴费详情" :visible.sync="payVisible" append-to-body>
<!-- 案件总金额 -->
<h3>案件总金额:{{ form.totalFee / 100 }}</h3>
<el-descriptions :title="'订单信息' + (index + 1)" v-for="(item, index) in form.caseApplicationList"
:key="index" border>
<el-descriptions-item label="案件编号">{{
item.caseNum
}}</el-descriptions-item>
<el-descriptions-item label="申请人">{{
item.caseAppName
}}</el-descriptions-item>
<el-descriptions-item label="案件标的">{{
item.caseSubjectAmount
}}</el-descriptions-item>
<el-descriptions-item label="案件应缴费用">{{
item.feePayable
}}</el-descriptions-item>
<el-descriptions-item label="被申请人">{{
item.caseResName
}}</el-descriptions-item>
<!-- <el-descriptions-item label="申请人仲裁诉求">{{
item.arbitratClaims
}}</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-remove="handleRemove" :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">只能上传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="payTitle">{{ payMain }}</div>
<div slot="footer" class="dialog-footer">
<el-button @click="payCancel" class="endbutton"><span>取 消</span></el-button>
<el-button @click="submitUpload" type="primary" class="endbutton"><span>确认缴费</span></el-button>
</div>
</el-dialog>
<el-table v-loading="loading" :data="dataList" style="width: 100%" @selection-change="handleSelectionChange">
<el-table-column type="selection">
</el-table-column>
<el-table-column label="序号" type="index" align="center">
<template slot-scope="scope">
<span>{{
(queryParamsData.pageNum - 1) * queryParamsData.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="applicantName" :show-overflow-tooltip="true" />
<el-table-column label="案件标的" align="center" prop="caseSubjectAmount" />
<el-table-column label="仲裁方式" align="center" prop="arbitratMethodName" :show-overflow-tooltip="true" />
<!-- 仲裁员 -->
<el-table-column label="仲裁员" align="center" prop="arbitratorName" />
<!-- 开庭日期 -->
<el-table-column label="开庭日期" align="center" prop="hearDate" :show-overflow-tooltip="true" />
<el-table-column label="案件状态" align="center" prop="caseStatusName">
<template slot-scope="scope">
<el-tag type="success">{{ scope.row.caseStatusName }}</el-tag>
</template>
</el-table-column>
</el-table>
<div class="radiobox" v-if="operateStatus == 2">
<el-radio-group v-model="radio">
<el-radio :label="1">同意</el-radio>
<el-radio :label="2">拒绝</el-radio>
</el-radio-group>
</div>
<pagination v-show="total > 0" :total="total" :page.sync="queryParamsData.pageNum"
:limit.sync="queryParamsData.pageSize" @pagination="getcaseApply(queryParamsData)" />
<div slot="footer" class="dialog-footer">
<el-button @click="cancel" class="endbutton"><span>取 消</span></el-button>
<el-button @click="submitPay" type="primary" class="endbutton"
:disabled="dataList.length == 0 || batchData.length == 0"
v-if="operateStatus == 6"><span>确认缴费</span></el-button>
<el-button @click="submitBatch" type="primary" class="endbutton"
:disabled="dataList.length == 0 || batchData.length == 0" v-else><span>确 认</span></el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import {
caseApply,
submitCaseApply,
removeCaseApply,
submitCaseApplicationCheck
} from "@/api/caseAccess/caseEntry";
import { getPayDetail,confirmPayDig } from "@/api/pay/pay";
import { casePay } from "@/api/pay/pay";
import QRCode from "qrcodejs2";
import { getToken } from "@/utils/auth";
import { writtenHear } from "@/api/caseManagement/caseManagement.js";
import {
adjudicationCaseFile,
} from "@/api/awardManagement/awardManagement";
export default {
props: ["operateVisable", "operateData", "operateTitle", 'operateStatus', 'queryParams'],
data() {
return {
// 遮罩层
loading: true,
// 总条数
total: 0,
// 查询参数
queryParamsData: {
caseStatus: null,
pageNum: 1,
pageSize: 10,
},
// 表格数据
dataList: [],
batchData: [],
radio: 1,
payVisible: false,
form: {},
paySelect: 1,//支付线上/线下
headers: {
Authorization: "Bearer " + getToken(),
},
filedata: {
annexType: 8,
},
submitForm: {
payType: 1,
payOrderList: [],
caseIds:[]
},
payMain: "",
fileList: [],
};
},
watch: {
operateVisable(val) {
this.radio = 1;
if (val) {
this.getcaseApply(this.queryParamsData)
}
},
payVisible(val) {
if (val) {
this.submitForm.payOrderList = []
this.paySelect = 1;
this.fileList = [];
}
}
},
created() {
},
methods: {
UploadUrl() {
return window.location.origin + "/API/evidence/upload";
},
beforeUpload(flie, fileList) {
this.fileList = fileList;
},
handleRemove(file, fileList) {
(this.submitForm.payOrderList = []),
fileList.forEach((item) => {
console.log(item.response.data, "item");
this.submitForm.payOrderList.push({ annexId: item.response.data.annexId, annexName: item.response.data.annexName });
});
},
// 文件上传成功
handlSuccess(res, file) {
this.submitForm.payOrderList.push({
annexId: res.data.annexId,
annexName: res.data.annexName
});
},
//选择支付方式(线上,线下)
changPayType(data) {
if (data == 1) {
document.getElementById("qrcodeImg").innerHTML = "";
this.payMain = ""
}
this.submitForm.payType = data;
},
pay(val) {
if (this.form.totalFee == 0 || !this.form.totalFee) {
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.form.totalFee,
caseIds: this.batchData,
tradeType: "native",
platform: payType,
}).then((res) => {
this.paySrc = res.data.code_url;
this.qrcode(this.paySrc);
});
},
// 生成二维码
qrcode(url) {
// 前端根据 URL 生成微信支付二维码
document.getElementById("qrcodeImg").innerHTML = "";
return new QRCode("qrcodeImg", {
width: 200,
height: 200,
text: url,
colorDark: "#000",
colorLight: "#fff",
});
},
submitUpload() {
if (this.fileList.length < 1) {
this.$modal.msgError("请上传缴费凭证");
return
}
this.submitForm.caseIds = this.batchData;
console.log(this.submitForm,"LLLLLLLLLLLLLLLLLLLLLLLLLLLL");
confirmPayDig(this.submitForm).then(res => {
this.$modal.msgSuccess("成功");
this.payCancel();
this.getcaseApply(this.queryParamsData);
})
},
// 选择勾选框
handleSelectionChange(val) {
this.batchData = [];
val.forEach(item => {
this.batchData.push(item.id)
})
},
payCancel() {
this.payVisible = false;
this.payMain = "";
},
cancel() {
this.$emit("cancelOperate");
},
// 批量操作
submitBatch() {
if (this.operateStatus == 0) {
this.submitCaseApplyFn({ ids: this.batchData })
} else if (this.operateStatus == 1) {
this.removeCaseApplyFn({ ids: this.batchData })
} else if (this.operateStatus == 2) {
this.submitCaseApplicationCheckFn({ ids: this.batchData, agreeOrNotCheck: this.radio })
} else if (this.operateStatus == 3) {
this.adjudicationCaseFileFn({ ids: this.batchData })
} else if (this.operateStatus == 4) {
// this.adjudicationCaseFileFn({ ids: this.batchData })
this.writtenHearFn({ ids: this.batchData })
} else if (this.operateStatus == 5) {
// this.adjudicationCaseFileFn({ ids: this.batchData })
// this.writtenHearFn({ids: this.batchData})
}
},
// 批量缴费弹窗
submitPay() {
this.payVisible = true;
this.getPayDetailFn({ caseIds: this.batchData })
},
// 查询缴费信息
getPayDetailFn(params) {
getPayDetail(params).then(res => {
this.form = res.data;
document.getElementById("qrcodeImg").innerHTML = "";
})
},
// 批量提交
submitCaseApplyFn(data) {
submitCaseApply(data).then(res => {
this.$modal.msgSuccess("提交成功");
this.cancel();
this.$emit("getcaseApply", this.queryParams);
})
},
// 批量删除
removeCaseApplyFn(data) {
removeCaseApply(data).then(res => {
this.$modal.msgSuccess("删除成功");
this.cancel();
this.$emit("getcaseApply", this.queryParams);
})
},
// 批量立案审查
submitCaseApplicationCheckFn(data) {
submitCaseApplicationCheck(data).then(res => {
this.$modal.msgSuccess("立案审查成功");
this.cancel();
this.$emit("getcaseApply", this.queryParams);
})
},
//批量归档
adjudicationCaseFileFn(data) {
adjudicationCaseFile(data).then(res => {
this.$modal.msgSuccess("归档成功");
this.cancel();
this.$emit("getcaseApply", this.queryParams);
})
},
// 批量生成裁决书
writtenHearFn(data) {
writtenHear(data).then(res => {
this.$modal.msgSuccess("生成成功");
this.cancel();
this.$emit("getcaseApply", this.queryParams);
})
},
/** 查询列表 */
getcaseApply(val) {
this.loading = true;
if (this.operateStatus == 0) {
this.queryParamsData.caseStatus = 0
} else if (this.operateStatus == 1) {
this.queryParamsData.caseStatus = 0
} else if (this.operateStatus == 2) {
this.queryParamsData.caseStatus = 1
} else if (this.operateStatus == 3) {
this.queryParamsData.caseStatus = 16
} else if (this.operateStatus == 4) {
this.queryParamsData.caseStatus = 9
} else if (this.operateStatus == 5) {
this.queryParamsData.caseStatus = 11
} else if (this.operateStatus == 6) {
this.queryParamsData.caseStatus = 2
}
caseApply(val).then((response) => {
this.dataList = response.rows;
this.total = response.total;
this.loading = false;
});
},
},
};
</script>
<style lang="scss" scoped>
.steps {
display: flex;
flex-wrap: wrap;
}
.radiobox {
margin-top: 30px;
}
.paySelectType {
margin: 20px 0 20px 0;
}
.payupload {
display: flex;
margin-bottom: 20px;
}
.payImg {
width: 100%;
display: flex;
justify-content: center;
}
.payTitle {
margin-top: 20px;
width: 100%;
text-align: center;
}
.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;
}
}
::v-deep .el-dialog__body{
max-height: 600px;
overflow-y: scroll;
}
</style>
@@ -1,256 +0,0 @@
<template>
<div>
<el-dialog :title="payTitle" :visible="openPay" @close="payCancel" width="800px" append-to-body
:destroy-on-close="true" center>
<el-descriptions title="订单信息">
<el-descriptions-item label="案件编号">{{
form.caseNum
}}</el-descriptions-item>
<el-descriptions-item label="申请人">{{
form.applicantName
}}</el-descriptions-item>
<el-descriptions-item label="案件标的">{{
form.caseSubjectAmount
}}</el-descriptions-item>
<el-descriptions-item label="案件应缴费用">{{
form.feePayable
}}</el-descriptions-item>
<el-descriptions-item label="被申请人">{{
form.respondentName
}}</el-descriptions-item>
<el-descriptions-item label="案件状态">
<el-tag size="mini" type='danger' effect="dark">
{{ form.caseStatusName }}
</el-tag>
</el-descriptions-item>
<el-descriptions-item label="申请人仲裁诉求">{{
form.arbitratClaims
}}</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="payTitle">{{ payMain }}</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>
</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: ["openPay", "payTitle", "form", "payForm", "queryParams","payId"],
data() {
return {
// key: value
// 支付文字
payMain: "",
timer: null,
paySelect: 1,//支付线上/线下
fileList: [],
headers: {
Authorization: "Bearer " + getToken(),
},
filedata: {
annexType: 8,
},
submitForm:{
payType:1,
payOrderList:[],
caseId:null
}
};
},
methods: {
UploadUrl() {
return window.location.origin + "/API/evidence/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.data.annexId,
annexName:res.data.annexName
});
},
submitUpload() {
if (this.fileList.length < 1) {
this.$modal.msgError("请上传缴费凭证");
return
}
confirmPayDig(this.submitForm).then(res=>{
this.$modal.msgSuccess("成功");
this.payCancel()
this.$emit("getcaseApply", this.queryParams);
})
},
handleRemove(file, fileList) {
(this.submitForm.payOrderList = []),
fileList.forEach((item) => {
console.log(item.response.data,"item");
this.submitForm.payOrderList.push({ annexId:item.response.data.annexId,annexName:item.response.data.annexName });
});
},
handlePreview(file) {
console.log(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.payForm.feePayable == 0 || !this.payForm.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.payForm.feePayable * 100,
caseIds: [this.payForm.caseId],
tradeType: "native",
platform: payType,
}).then((res) => {
this.paySrc = res.data.code_url;
this.qrcode(this.paySrc);
});
},
payCancel() {
this.$emit("paycancelRow");
this.payMain = "";
},
},
watch:{
openPay(val){
if(val){
this.submitForm.payOrderList = []
this.paySelect = 1;
this.fileList = [];
this.filedata.id = this.payId;
this.submitForm.caseIds = [this.payId];
}
}
}
};
</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;
}
.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,115 +0,0 @@
<template>
<div>
<el-dialog title="修改开庭时间" :visible="timeVisable" @close="cancel" center :distroy-on-close="true">
<el-descriptions title="案件内容" :column="2" border>
<el-descriptions-item label="案件编号">{{ timeData.caseNum }}</el-descriptions-item>
<el-descriptions-item label="申请人(机构)">{{ timeData.applicantName }}</el-descriptions-item>
<el-descriptions-item label="案件标的">{{ timeData.caseSubjectAmount }}</el-descriptions-item>
<el-descriptions-item label="案件状态">
<el-tag size="small">{{ timeData.caseStatusName }}</el-tag>
</el-descriptions-item>
<el-descriptions-item label="仲裁方式">{{ timeData.arbitratMethodName }}</el-descriptions-item>
<el-descriptions-item label="开庭时间">
<el-date-picker v-model="loanStartDate" :picker-options="pickerOptions" type="datetime"
placeholder="开庭时间">
</el-date-picker>
</el-descriptions-item>
</el-descriptions>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel" class="endbutton1"><span>取 消</span></el-button>
<el-button @click="submitTime" class="endbutton1"><span>提 交</span></el-button>
</div>
</el-dialog>
</div>
</template>
<!-- hearDate -->
<script>
import { updateHeardate } from '@/api/caseManagement/caseManagement'
import { getToken } from "@/utils/auth";
import { createRoomId, reservedConference, sendRoomNoMessage } from '@/api/meeting/index'
import moment from "moment";
export default {
props: ["timeVisable", "timeData", "queryParams"],
data() {
return {
loanStartDate: "",
pickerOptions: {
disabledDate(time) {
return time.getTime() < Date.now() - 8.64e7;
}
},
roomId: null
};
},
watch: {
timeVisable(val) {
if (val) {
// this.getEvidenceList({ caseAppliId: this.timeData.id, annexTypeList: "2" })
this.loanStartDate = this.timeData.hearDate
}
}
},
created() {
},
methods: {
cancel() {
this.$emit("cancelTime");
},
// 获取房间号
async createRoomIdFn(data) {
await createRoomId(data).then(res => {
this.roomId = res.data;
})
},
// 预约会议
async reservedConferenceFn(data) {
await reservedConference(data).then(res => {
console.log(res, "PPPPPPPPPPPPPPPPPPPPPPPPP");
})
},
// 提交时间
async updateHeardateFn(data) {
await updateHeardate(data).then(res => {
this.$modal.msgSuccess("修改成功");
this.cancel();
this.$emit("getcaseApply", this.queryParams);
})
},
// 发送房间号短信
async sendRoomNoMessageFn(data) {
sendRoomNoMessage(data).then(res => {
console.log(res, "PPPPPPPPPPPPPPPPPPPPPPPPP");
})
},
async submitTime() {
this.loanStartDate = moment(
this.loanStartDate
).format("YYYY-MM-DD HH:mm:ss");
await this.createRoomIdFn({ caseId: this.timeData.id });
await this.reservedConferenceFn({
caseId: this.timeData.id,
roomId: this.roomId,
scheduleStartTime: this.loanStartDate,
})
await this.updateHeardateFn({
id: this.timeData.id,
hearDate: this.loanStartDate
})
await sendRoomNoMessageFn({
id: this.timeData.id,
roomNo: this.roomId,
scheduleStartTime: this.loanStartDate
})
}
},
};
</script>
<style lang="scss" scoped>
.steps {
display: flex;
flex-wrap: wrap;
}
</style>
@@ -1,392 +0,0 @@
<template>
<div>
<el-dialog title="开庭审理" :visible="showtrialincourt" @close="cancel" :destroy-on-close="true">
<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="申请人:" prop="applicantName">
<el-input v-model="adjudicatename.applicantName" :disabled="true" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="被申请人:" prop="respondentName">
<el-input v-model="adjudicatename.respondentName" :disabled="true" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="借款开始日期:" prop="loanStartDate">
<el-date-picker v-model="formData.loanStartDate" type="datetime" placeholder="借款开始日期" :disabled="true">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="借款结束日期:" prop="loanEndDate">
<el-date-picker v-model="formData.loanEndDate" type="datetime" placeholder="借款结束日期" :disabled="true">
</el-date-picker>
</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="caseSubjectAmount">
<el-input
v-model="formData.caseSubjectAmount"
placeholder="请输入逾期天数"
/>
</el-form-item>
</el-col> -->
<el-col :span="12">
<el-form-item label="仲裁费用:" prop="feePayable">
<el-input v-model="adjudicatename.feePayable" placeholder="请输入仲裁费用" :disabled="true" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="申请人主张欠本金:" prop="claimPrinciOwed">
<el-input v-model="formData.claimPrinciOwed" placeholder="请输入" :disabled="true" />
</el-form-item>
</el-col>
<!-- <el-col :span="12">
<el-form-item label="案件顾问:" prop="claimPrinciOwed">
<el-input v-model="formData.claimPrinciOwed" placeholder="请输入" />
</el-form-item>
</el-col> -->
<el-col :span="12">
<el-form-item label="案件状态:" prop="caseStatus">
<el-input v-model="formData.caseStatusName" placeholder="请输入" :disabled="true" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="仲裁员:" prop="arbitratorName">
<el-input v-model="adjudicatename.arbitratorName" placeholder="请输入" :disabled="true" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="开庭日期:" prop="hearDate">
<el-date-picker v-model="adjudicatename.hearDate" type="datetime" placeholder="开庭日期" :disabled="true">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<!-- <el-col :span="24">
<el-form-item label="案件资料:" prop="claimPrinciOwed">
<el-input v-model="formData.claimPrinciOwed" placeholder="请输入" />
</el-form-item>
</el-col> -->
<el-col :span="24">
<el-form-item label="申请人案件证据:">
<div v-if="applicateArr.length == 0">申请人暂未提供证据!</div>
<div v-else v-for="(item, index) in applicateArr" :key="index">
<a href="#" @click="toFile(item, index)" style="color: blue">
{{ item.annexName }}
</a>
</div>
</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, index)">{{ item.annexName }}</a>
</div>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="预约会议房间号:">
<div>{{ roomId }}</div>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="开庭时间:">
<div>{{ startTime }}</div>
</el-form-item>
</el-col>
<!-- </el-form> -->
</el-form>
<el-button @click="openmeeting" type="primary">发起会议</el-button>
<el-button @click="openArbitrationresults" type="primary" v-if="this.recordArr.length <= 0">生成庭审笔录</el-button>
<div slot="footer" class="dialog-footer">
<el-button class="endbutton" :disabled="showsubmit && recordArr.length == 0" @click="submitResults">提交</el-button>
<el-button @click="cancel" class="endbutton1"><span>关 闭</span></el-button>
</div>
</el-dialog>
<!-- <el-dialog title="庭审笔录" :visible="showArbitrationresults" @close="closeArbitrationresults" center>
<el-form ref="form2" :model="form2" label-width="150px">
<el-col :span="24">
<el-form-item label="被申请人是否缺席:" prop="appliIsAbsen" :rules="[
{
required: true,
message: '请输入',
},
]">
<el-radio-group v-model="form2.appliIsAbsen">
<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="笔录内容:" prop="responCrossOpin">
<el-input type="textarea" :autosize="{ minRows: 6 }" v-model="form2.responCrossOpin" placeholder="请输入" />
</el-form-item>
</el-col>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="submitForm" class="endbutton">
<span>确定</span></el-button>
<el-button @click="closeArbitrationresults" class="endbutton1"><span>取 消</span></el-button>
</div>
</el-dialog> -->
</div>
</template>
<script>
import { getUserProfile } from "@/api/system/user";
import {
writtenHear,
creatTrialRecord,
document,
attachListByCaseId
} from "@/api/caseManagement/caseManagement.js";
import { reserveConferenceList } from '@/api/meeting/index.js'
export default {
props: ["showtrialincourt", "adjudicatename", "form", "queryParams"],
data() {
return {
formData: {},
user: "",
userId:1,
form2: {},
applicateArr: [], //申请人案件资料
quiltArr: [], //被申请人案件资料
recordArr: [], //笔录附件
showsubmit: true, //生成庭审笔录,方可提交
annexName: "", //笔录文件名
annexPath: "", //笔录文件地址
roomId:null,
startTime:""
};
},
watch: {
showtrialincourt: {
handler(val) {
if (val) {
this.reserveConferenceListFn({caseId:this.form.id});
this.getUser();
this.formData = this.form;
this.applicateArr = [];
this.quiltArr = [];
this.recordArr = [];
setTimeout(() => {
if (this.adjudicatename.caseAttachList.length > 0) {
this.adjudicatename.caseAttachList.forEach((item) => {
// 申请人案件附件
if (item.annexType == 2) {
this.applicateArr.push({
annexName: item.annexName,
annexPath: item.annexPath,
});
}
// 被申请人案件附件
if (item.annexType == 6) {
this.quiltArr.push({
annexName: item.annexName,
annexPath: item.annexPath,
});
}
// 笔录生成附件
if (item.annexType == 7) {
this.recordArr.push({
annexName: item.annexName,
annexPath: item.annexPath,
});
}
});
}
}, 1000);
}
},
},
},
created() {
},
methods: {
// 根据案件id查询会议号
reserveConferenceListFn(data){
reserveConferenceList(data).then(res=>{
this.roomId = res.data[0].roomId;
this.startTime = res.data[0].scheduleStartTime;
})
},
// 详情显示,展示申请人案件文件
toFile(item, index) {
window.open(
window.location.origin + "/API" + this.applicateArr[index].annexPath,
"_black"
);
},
// 被申请人文件
toFile1(item, index) {
window.open(
window.location.origin + "/API" + this.quiltArr[index].annexPath,
"_black"
);
},
// 庭审笔录附件
toFile2(item, index) {
window.open(
window.location.origin + "/API" + this.recordArr[index].annexPath,
"_black"
);
},
getUser() {
getUserProfile().then((response) => {
this.user = response.data.userName;
this.userId = response.data.userId;
});
},
// 打开会议
openmeeting() {
window.open(
// `http://localhost:8081/#/home?name=${this.user}&id=${this.formData.id}&userId=${this.userId}`
`https://txroom.xayunmei.com/#/home?name=${this.user}&id=${this.formData.id}&userId=${this.userId}&roomId=${this.roomId}`
);
},
// 生成庭申笔录
openArbitrationresults() {
attachListByCaseId({
caseAppliId:this.formData.id,
annexType:7
}).then(res=>{
console.log(res,"llllllll");
if(res.data.length == 0){
this.$modal.msgSuccess("请先进行会议");
}else{
this.recordArr = res.data;
this.$modal.msgSuccess("生成成功");
}
})
},
// closeArbitrationresults() {
// this.showArbitrationresults = false;
// },
// 提交庭审笔录弹框结果
// submitForm() {
// this.$refs["form2"].validate((valid) => {
// if (valid) {
// creatTrialRecord({
// caseAppliId: this.formData.id,
// evidenDetermi: this.form2.evidenDetermi,
// factDetermi: this.form2.factDetermi,
// caseSketch: this.form2.caseSketch,
// arbitrateThink: this.form2.arbitrateThink,
// rulingFollows: this.form2.rulingFollows,
// isAbsence: this.form2.isAbsence,
// appliIsAbsen: this.form2.appliIsAbsen,
// responCrossOpin: this.form2.responCrossOpin,
// applicaCrossOpin: this.form2.applicaCrossOpin,
// responDefenOpini: this.form2.responDefenOpini,
// })
// .then((res) => {
// res.data.caseAttachList.forEach((item) => {
// if (item.annexType == 7) {
// this.recordArr.push({
// annexName: item.annexName,
// annexPath: item.annexPath,
// });
// }
// });
// this.$modal.msgSuccess("提交成功");
// this.showsubmit = false;
// this.closeArbitrationresults();
// })
// .catch((err) => { });
// }
// });
// },
cancel() {
this.$emit("canceltrialincourt");
},
// 提交开庭审理结果
submitResults() {
console.log(this.formData.id, "this.formData.id");
let id = this.formData.id;
document({
id: id,
}).then((res) => {
console.log(res, "提交开庭审理结果");
if (res.code == 200) {
this.$emit("getcaseApply", this.queryParams);
this.cancel();
}
});
},
},
};
</script>
<style lang="scss" scoped>
::v-deep .el-dialog {
width: 900px;
background: #ffffff;
border-radius: 20px;
}
.endbutton {
width: 154px;
height: 37px;
background: #488de2;
border-radius: 19px;
color: #ffffff;
span {
width: 96px;
height: 15px;
font-size: 16px;
font-family: Microsoft YaHei;
font-weight: 400;
color: #ffffff;
}
}
.endbutton1 {
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;
// }
}
.caseInfo {
font-size: 17px;
font-weight: 600;
}
</style>
@@ -1,137 +0,0 @@
<template>
<div>
<el-dialog title="上传证据目录" :visible="uploadCaseVisable" @close="cancel" center :distroy-on-close="true">
<el-upload class="upload-demo" :before-upload="beforeUpload" ref="upload" accept=".zip"
action="https://jsonplaceholder.typicode.com/posts/" :action="UploadUrl()" :headers="headers"
:data="filedata" :on-preview="handlePreview" :on-remove="handleRemove" :on-success="handleSuccess"
:file-list="fileList" :auto-upload="false">
<el-button slot="trigger" size="small" type="primary" :disabled="flagBtn">选取文件</el-button>
<el-button style="margin-left: 10px;" size="small" type="success" @click="submitUpload"
:disabled="flagBtn">上传压缩包</el-button>
<div slot="tip" class="el-upload__tip">
<div>结构示例</div>
<el-tree :data="dataTip"></el-tree>
<div>说明:1、压缩包目录结构为三级目录,
2、第2级目录名称应为“申请书”或“证据材料”。</div>
</div>
</el-upload>
<div class="title">证据目录结构</div>
<el-tree :data="data" @node-click="handleNodeClick"></el-tree>
</el-dialog>
</div>
</template>
<!-- hearDate -->
<script>
import { evidenceTree } from '@/api/caseAccess/caseEntry.js'
import { getToken } from "@/utils/auth";
export default {
props: ["uploadCaseVisable", "uploadCaseData"],
data() {
return {
fileList: [],
data: [],
headers: {
Authorization: "Bearer " + getToken(),
},
filedata: {
id: this.uploadCaseData.id
},
flagBtn: false,
dataTip: [{
label: '压缩包名称',
children: [{
label: '申请书',
children: [{
label: '申请书名称.pdf'
}]
}, {
label: '证据材料',
children: [{
label: '证据1.pdf'
}, {
label: '证据2.pdf'
}]
}]
},],
};
},
watch: {
uploadCaseVisable(val) {
if (val) {
this.evidenceTreeFn({ caseId: this.uploadCaseData.id })
}
}
},
created() {
},
methods: {
UploadUrl() {
return window.location.origin + "/API/caseApplication/uploadZipFile";
},
cancel() {
this.$emit("uploadCaseCancel");
},
submitUpload() {
this.filedata.id = this.uploadCaseData.id
this.$refs.upload.submit();
},
handleRemove(file, fileList) {
console.log(file, fileList);
},
handlePreview(file) {
console.log(file);
},
handleNodeClick(data) {
console.log(data);
let headPath = window.location.origin + "/API";
if(data.annexPath){
window.open(headPath + data.annexPath, "_blank")
}
},
// 递归替换key
setData(data) {
data.forEach((val, i) => {
val.label = val.evidenceName
this.setData(val.children)
})
},
// 获取证据目录
evidenceTreeFn(data) {
evidenceTree(data).then(res => {
this.setData(res.data);
this.data = res.data;
if (this.data.length > 0) {
this.flagBtn = true;
} else {
this.flagBtn = false;
}
})
},
handleSuccess() {
this.evidenceTreeFn({ caseId: this.uploadCaseData.id })
},
beforeUpload(file) {
console.log(file.type);
const isZip = file.type === 'application/x-zip-compressed'
if (!isZip) {
this.$message.error('只能上传zip格式的文件')
}
return isZip
}
},
};
</script>
<style lang="scss" scoped>
.title {
margin-top: 30px;
margin-bottom: 30px;
font-size: 18px;
font-weight: 600;
}
.el-upload__tip {
color: red;
}
</style>
@@ -1,66 +0,0 @@
<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 || '')"></el-step>
</el-steps>
</div>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel" class="endbutton1"><span>取 消</span></el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import {selectCaseProgress} from '@/api/caseManagement/caseManagement'
export default {
props: ["processVisable","processData"],
data() {
return {
processId:null,
pageData:{},
caseStatus:0
};
},
watch: {
processVisable(val){
if(val){
this.processId = this.processData.id;
this.selectCaseProgressFn({id:this.processId});
}
}
},
methods: {
cancel() {
this.$emit("cancelViewProcess");
},
selectCaseProgressFn(data){
selectCaseProgress(data).then(res=>{
this.pageData = res.data.data;
let allCasenode = res.data.data.allCasenode;
allCasenode.forEach((item,index) => {
if(item.caseNode==res.data.data.caseStatus){
this.caseStatus = index
}
});
})
}
},
};
</script>
<style lang="scss" scoped>
.steps{
display: flex;
flex-wrap: wrap;
}
::v-deep .el-step{
// width: 150px;
flex-basis:25% !important;
margin-right: 20px;
margin-bottom: 20px;
}
</style>
-104
View File
@@ -1,104 +0,0 @@
<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>
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
@pagination="getList(queryParams)" />
</div>
</template>
<script>
import {
emailList,
} from "@/api/deliveryRecord/deliveryRecord.js";
import { getDicts } from '@/api/system/dict/data.js'
export default {
name: "paymentList",
dicts: ["case_status"],
components: {},
data() {
return {
queryParams: {
pageNum: 1,
pageSize: 10,
},
caseStatus: [],
// 遮罩层
loading: false,
// 总条数
total: 0,
// 表格数据
form: {},
// 校验表单
rules: {},
dataList: [],
};
},
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 = "已发送"
} else {
item.sendStatus = "未发送"
}
})
this.total = response.total;
this.loading = false;
});
},
},
};
</script>
<style lang="scss" scoped></style>
-100
View File
@@ -1,100 +0,0 @@
<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>
<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 {
smsList,
} from "@/api/deliveryRecord/deliveryRecord.js";
import { getDicts } from '@/api/system/dict/data.js'
export default {
name: "paymentList",
dicts: ["case_status"],
components: { },
data() {
return {
queryParams: {
pageNum: 1,
pageSize: 10,
},
caseStatus: [],
// 遮罩层
loading: false,
// 总条数
total: 0,
// 表格数据
form: {},
// 校验表单
rules: {},
dataList: [],
};
},
created() {
getDicts("case_status").then(res => {
this.getList({caseNum:this.queryParams.caseNum},{pageNum:this.queryParams.pageNum,pageSize:this.queryParams.pageSize});
})
},
methods: {
/** 搜索按钮操作 */
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,params) {
this.loading = true;
smsList(data,params).then((response) => {
this.dataList = response.rows;
this.dataList.forEach(item=>{
if(item.sendStatus == 0){
item.sendStatus = "发送失败"
}else if(item.sendStatus == 1){
item.sendStatus = "已送达"
}else if(item.sendStatus == 2){
item.sendStatus = "已读取"
}else{
item.sendStatus = "发送失败"
}
})
this.total = response.total;
this.loading = false;
});
},
},
};
</script>
<style lang="scss" scoped></style>
@@ -1,45 +0,0 @@
<template>
<div>
<!-- 组庭审核页面 -->
<el-dialog
title="组庭审核"
:visible="showcourtReview"
width="500px"
@close="cancel"
:destroy-on-close="true"
>
<el-form>
<el-form-item label="开庭日期:">
<el-date-picker v-model="value1" type="date" placeholder="选择日期">
</el-date-picker>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
export default {
name: "courtReviewDialog",
props: ["showcourtReview"],
data() {
return {
// key: value
value1: "",
};
},
methods: {
submitForm() {},
cancel() {
this.$emit("cancelcourtReview");
},
},
};
</script>
<style lang="scss" scoped>
</style>
@@ -1,127 +0,0 @@
<template>
<div>
<!-- 组庭界面 -->
<el-dialog
title="仲裁员信息"
:visible="showformateCourt"
width="800px"
@close="cancel"
:destroy-on-close="true"
>
<!-- <el-form ref="form"> -->
<el-table
:data="dataList"
style="width: 100%"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55"> </el-table-column>
<el-table-column
label="仲裁员姓名"
align="center"
prop="arbitratorName"
:show-overflow-tooltip="true"
/>
<el-table-column
label="专业分类"
align="center"
prop="professiClassifi"
:show-overflow-tooltip="true"
/>
<el-table-column
label="当前案件数量"
align="center"
prop="currentCaseNum"
:show-overflow-tooltip="true"
/>
<el-table-column
label="已结案数量"
align="center"
prop="closedCaseNum"
:show-overflow-tooltip="true"
/>
</el-table>
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getarbitrAtor"
/>
<!-- </el-form> -->
<div slot="footer" class="dialog-footer">
<el-button
type="primary"
@click="submitForm"
:disabled="!this.arbitrators.length > 0"
>确 定</el-button
>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { arbitrAtor, pendTral } from "@/api/formationCourt/formationCourt";
export default {
props: [
"showformateCourt",
"formateCourtData",
],
data() {
return {
dataList: [],
total: 0,
queryParams: {
pageNum: 1,
pageSize: 10,
},
arbitrators: [],
};
},
created() {
this.getarbitrAtor();
},
methods: {
// 获取仲裁员信息
getarbitrAtor() {
arbitrAtor({}).then((res) => {
this.dataList = res.rows;
this.total = res.total;
});
},
// 勾选仲裁员
handleSelectionChange(val) {
this.arbitrators = [];
val.forEach((item) => {
this.arbitrators.push({
id: item.id,
arbitratorName: item.arbitratorName,
});
});
},
// 确认
submitForm() {
if (this.arbitrators.length > 0) {
let params = {
id: this.formateCourtData.id,
arbitrators: this.arbitrators,
};
pendTral(params).then((res) => {
this.cancel();
this.$modal.msgSuccess("组庭成功");
this.$emit("getformationData");
});
}
},
// 取消
cancel() {
this.$emit("cancelcourtDialog");
this.arbitrators = [];
},
},
};
</script>
<style lang="scss" scoped>
</style>
@@ -1,647 +0,0 @@
<template>
<div>
<!-- 组庭详情页面 -->
<el-dialog
title="组庭详情"
:visible="showDetails"
width="1000px"
@close="cancel"
>
<!-- 案件信息 -->
<el-form
ref="form"
:model="formData"
:rules="rules"
label-width="150px"
:disabled="true"
>
<p>案件信息:</p>
<el-divider></el-divider>
<el-row>
<el-col :span="12">
<el-form-item label="案件编号:" prop="caseNum">
<el-input
v-model="formData.caseNum"
placeholder="请输入案件编号"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="案件标的:" prop="caseSubjectAmount">
<el-input
v-model="formData.caseSubjectAmount"
placeholder="请输入案件标的"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="借款开始日期:" prop="loanStartDate">
<el-date-picker
v-model="formData.loanStartDate"
type="datetime"
placeholder="借款开始日期"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="借款结束日期:" prop="loanEndDate">
<el-date-picker
v-model="formData.loanEndDate"
type="datetime"
placeholder="借款结束日期"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="合同编号:" prop="contractNumber">
<el-input
v-model="formData.contractNumber"
placeholder="请输入"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="申请人主张欠本金:" prop="claimPrinciOwed">
<el-input
v-model="formData.claimPrinciOwed"
placeholder="请输入"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="申请人主张欠利息:" prop="claimInterestOwed">
<el-input
v-model="formData.claimInterestOwed"
placeholder="请输入"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="申请人主张违约金:" prop="claimLiquidDamag">
<el-input
v-model="formData.claimLiquidDamag"
placeholder="请输入"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="申请人案件证据资料上传:"
prop="applicantEvidence"
>
<el-upload
class="upload-demo"
action="https://jsonplaceholder.typicode.com/posts/"
:on-preview="handlePreview"
:on-remove="handleRemove"
:before-remove="beforeRemove"
multiple
:limit="3"
:on-exceed="handleExceed"
:file-list="fileList"
>
<el-button size="small" type="primary">点击上传</el-button>
<div slot="tip" class="el-upload__tip">
只能上传jpg/png文件,且不超过500kb
</div>
</el-upload>
</el-form-item>
</el-col>
<!-- 仅详情展示 -->
<el-col :span="12">
<el-form-item
label="被申请人案件证据资料上传:"
prop="respondentEvidence"
>
<el-upload
class="upload-demo"
action="https://jsonplaceholder.typicode.com/posts/"
:on-preview="handlePreview"
:on-remove="handleRemove"
:before-remove="beforeRemove"
multiple
:limit="3"
:on-exceed="handleExceed"
:file-list="fileList"
>
<el-button size="small" type="primary">点击上传</el-button>
<div slot="tip" class="el-upload__tip">
只能上传jpg/png文件,且不超过500kb
</div>
</el-upload>
</el-form-item>
</el-col>
</el-row>
</el-form>
<!-- 申请人主体信息 -->
<el-form ref="form2" :model="form2" label-width="150px" :disabled="true">
<div v-for="(item, index) in form2.paymentArr" :key="index">
<div style="display: flex; justify-content: space-between">
<p>申请人主体信息:</p>
</div>
<el-divider></el-divider>
<el-row>
<el-col :span="12">
<el-form-item
label="申请人姓名"
:prop="'paymentArr.' + index + '.name'"
:rules="[
{
required: true,
message: '申请人不能为空',
trigger: 'blur',
},
]"
>
<el-input v-model="item.name" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="身份证号:"
:prop="'paymentArr.' + index + '.identityNum'"
:rules="[
{
required: true,
message: '身份证号不能为空',
trigger: 'blur',
},
]"
>
<el-input v-model="item.identityNum" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="联系电话:"
:prop="'paymentArr.' + index + '.contactTelphone'"
:rules="[
{
required: true,
message: '联系电话不能为空',
trigger: 'blur',
},
]"
>
<el-input v-model="item.contactTelphone" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="单位地址:"
:prop="'paymentArr.' + index + '.workAddress'"
:rules="[
{
required: true,
message: '单位地址不能为空',
trigger: 'blur',
},
]"
>
<el-input v-model="item.workAddress" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="单位电话:"
:prop="'paymentArr.' + index + '.workTelphone'"
:rules="[
{
required: true,
message: '单位电话不能为空',
trigger: 'blur',
},
]"
>
<el-input v-model="item.workTelphone" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="联系地址:"
:prop="'paymentArr.' + index + '.contactAddress'"
:rules="[
{
required: true,
message: '联系地址不能为空',
trigger: 'blur',
},
]"
>
<el-input v-model="item.contactAddress" placeholder="请输入" />
</el-form-item>
</el-col>
</el-row>
<p>代理人信息:</p>
<el-row>
<el-col :span="12">
<el-form-item
label="姓名:"
:prop="'paymentArr.' + index + '.nameAgent'"
:rules="[
{
required: true,
message: '姓名不能为空',
trigger: 'blur',
},
]"
>
<el-input v-model="item.nameAgent" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="身份证号:"
:prop="'paymentArr.' + index + '.identityNumAgent'"
:rules="[
{
required: true,
message: '身份证号不能为空',
trigger: 'blur',
},
]"
>
<el-input
v-model="item.identityNumAgent"
placeholder="请输入"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="联系电话:"
:prop="'paymentArr.' + index + '.contactTelphoneAgent'"
:rules="[
{
required: true,
message: '联系电话不能为空',
trigger: 'blur',
},
]"
>
<el-input
v-model="item.contactTelphoneAgent"
placeholder="请输入"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="联系地址:"
:prop="'paymentArr.' + index + '.contactAddressAgent'"
:rules="[
{
required: true,
message: '联系地址不能为空',
trigger: 'blur',
},
]"
>
<el-input
v-model="item.contactAddressAgent"
placeholder="请输入"
/>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
<!-- 被申请人主体信息 -->
<el-form ref="form3" label-width="150px" :disabled="true" :model="form3">
<div
v-for="(itm, index) in form3.paymentArr1"
:key="index + form2.paymentArr.length"
>
<div style="display: flex; justify-content: space-between">
<p>被申请人主体信息:</p>
</div>
<el-divider></el-divider>
<el-row>
<el-col :span="12">
<el-form-item
label="被申请人姓名"
:prop="'paymentArr1.' + index + '.name'"
:rules="[
{
required: true,
message: '被申请人不能为空',
trigger: 'blur',
},
]"
>
<el-input v-model="itm.name" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="身份证号:"
:prop="'paymentArr1.' + index + '.identityNum'"
:rules="[
{
required: true,
message: '身份证号不能为空',
trigger: 'blur',
},
]"
>
<el-input v-model="itm.identityNum" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="联系电话:"
:prop="'paymentArr1.' + index + '.contactTelphone'"
:rules="[
{
required: true,
message: '联系电话不能为空',
trigger: 'blur',
},
]"
>
<el-input v-model="itm.contactTelphone" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="单位地址:"
:prop="'paymentArr1.' + index + '.workAddress'"
:rules="[
{
required: true,
message: '单位地址不能为空',
trigger: 'blur',
},
]"
>
<el-input v-model="itm.workAddress" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="单位电话:"
:prop="'paymentArr1.' + index + '.workTelphone'"
:rules="[
{
required: true,
message: '单位电话不能为空',
trigger: 'blur',
},
]"
>
<el-input v-model="itm.workTelphone" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="联系地址:"
:prop="'paymentArr1.' + index + '.contactAddress'"
:rules="[
{
required: true,
message: '联系地址不能为空',
trigger: 'blur',
},
]"
>
<el-input v-model="itm.contactAddress" placeholder="请输入" />
</el-form-item>
</el-col>
</el-row>
<p>代理人信息:</p>
<el-row>
<el-col :span="12">
<el-form-item
label="姓名:"
:prop="'paymentArr1.' + index + '.nameAgent'"
:rules="[
{
required: true,
message: '姓名不能为空',
trigger: 'blur',
},
]"
>
<el-input v-model="itm.nameAgent" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="身份证号:"
:prop="'paymentArr1.' + index + '.identityNumAgent'"
:rules="[
{
required: true,
message: '身份证号不能为空',
trigger: 'blur',
},
]"
>
<el-input v-model="itm.identityNumAgent" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="联系电话:"
:prop="'paymentArr1.' + index + '.contactTelphoneAgent'"
:rules="[
{
required: true,
message: '联系电话不能为空',
trigger: 'blur',
},
]"
>
<el-input
v-model="itm.contactTelphoneAgent"
placeholder="请输入"
/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="联系地址:"
:prop="'paymentArr1.' + index + '.contactAddressAgent'"
:rules="[
{
required: true,
message: '联系地址不能为空',
trigger: 'blur',
},
]"
>
<el-input
v-model="itm.contactAddressAgent"
placeholder="请输入"
/>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
export default {
name: "formateCourtdetailDaiog",
props: [
"formateListdata",
"showDetails",
"initpaymentArr",
"initpaymentArr1",
],
data() {
return {
formData: {},
// key: value
form2: {
paymentArr: [
{
identityType: 1,
name: "",
identityNum: "",
contactTelphone: "",
workAddress: "",
workTelphone: "",
contactAddress: "",
nameAgent: "",
contactTelphoneAgent: "",
contactAddressAgent: "",
},
],
}, //申请人主体信息
form3: {
paymentArr1: [
{
identityType: 2,
name: "",
identityNum: "",
contactTelphone: "",
workAddress: "",
workTelphone: "",
contactAddress: "",
nameAgent: "",
contactTelphoneAgent: "",
contactAddressAgent: "",
},
],
},
// 表单校验
rules: {
caseNum: [
{
required: true,
message: "案件编号不能为空",
trigger: ["change", "blur"],
},
{ min: 3, max: 5, message: "长度在 3 到 5 个字符", trigger: "blur" },
],
caseSubjectAmount: [
{
required: true,
message: "案件标的不能为空",
trigger: ["change", "blur"],
},
],
loanStartDate: [
{
required: true,
message: "借款开始日期不能为空",
trigger: "blur",
},
],
loanEndDate: [
{
required: true,
message: "借款结束日期不能为空",
trigger: "blur",
},
],
name: [
{
required: true,
message: "申请人姓名不能为空",
trigger: "blur",
},
],
contractNumber: [
{
required: true,
message: "合同编号不能为空",
trigger: "blur",
},
],
claimPrinciOwed: [
{
required: true,
message: "申请人主张欠本金不能为空",
trigger: "blur",
},
],
claimInterestOwed: [
{
required: true,
message: "申请人主张欠利息不能为空",
trigger: "blur",
},
],
Overduedays: [
{
required: true,
message: "逾期天数不能为空",
trigger: "blur",
},
],
claimLiquidDamag: [
{
required: true,
message: "申请人主张违约金不能为空",
trigger: "blur",
},
],
},
fileList: [],
};
},
watch: {
showDetails: {
handler(val) {
if (val) {
this.formData = this.formateListdata;
setTimeout(() => {
this.form2.paymentArr = this.initpaymentArr;
this.form3.paymentArr1 = this.initpaymentArr1;
}, 1000);
}
},
},
},
methods: {
cancel() {
this.$emit("cancelDetails");
},
handleRemove(file, fileList) {},
handlePreview(file) {},
handleExceed(files, fileList) {
this.$message.warning(
`当前限制选择 3 个文件,本次选择了 ${files.length} 个文件,共选择了 ${
files.length + fileList.length
} 个文件`
);
},
beforeRemove(file, fileList) {
return this.$confirm(`确定移除 ${file.name}?`);
},
},
};
</script>
<style lang="scss" scoped>
</style>
@@ -1,203 +0,0 @@
<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="formationData" 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="name"
:show-overflow-tooltip="true"
/>
<el-table-column
label="案件标的"
align="center"
prop="caseSubjectAmount"
/>
<el-table-column
label="立案日期"
align="center"
prop="registerDate"
:show-overflow-tooltip="true"
/>
<!-- 开庭日期 -->
<el-table-column
label="开庭日期"
align="center"
prop="hearDate"
:show-overflow-tooltip="true"
/>
<!-- 案件仲裁员 -->
<el-table-column
label="案件仲裁员"
align="center"
prop="caseArbitrator"
/>
<el-table-column label="案件状态" align="center" prop="caseStatus" />
<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-zoom-in"
@click="viewdetails(scope.row)"
v-hasPermi="['monitor:online:forceLogout']"
>案件详情</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-shopping-bag-1"
@click="courtConfirm(scope.row)"
v-hasPermi="['monitor:online:forceLogout']"
>组庭确认</el-button
>
<!-- <el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="deleteRow(scope.row)"
v-hasPermi="['monitor:online:forceLogout']"
>删除</el-button
> -->
</template>
</el-table-column>
</el-table>
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getcourtConfirmationData"
/>
<!-- 案件详情页面 -->
<formateCourtdetailDaiog
:showDetails="showDetails"
@cancelDetails="cancelDetails"
:formateListdata="formateListdata"
></formateCourtdetailDaiog>
</div>
</template>
<script>
import formateCourtdetailDaiog from "./components/formateCourtdetailDaiog.vue";
export default {
name: "courtConfirmationlist",
components: {
formateCourtdetailDaiog,
},
data() {
return {
// key: value
// 遮罩层
loading: true,
showDetails: false,
// 总条数
total: 0,
queryParams: {
caseNum: undefined,
pageNum: 1,
pageSize: 10,
},
formateListdata: {},
};
},
created() {
this.getcourtConfirmationData();
},
methods: {
// 搜索
handleQuery() {
this.queryParams.pageNum = 1;
this.getformationData();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
getcourtConfirmationData() {
this.loading = true;
this.formationData = [
{
caseNum: "1",
name: "hcb",
caseSubjectAmount: "3000",
registerDate: "2022-05-05 20:23:08",
hearDate: "2022-09-05 20:23:08",
caseArbitrator: "hhl",
caseStatus: "待组庭",
},
];
this.total = this.formationData.length;
this.loading = false;
},
// 详情
viewdetails(val) {
this.showDetails = true;
this.formateListdata = val;
},
// 关闭详情
cancelDetails() {
this.showDetails = false;
},
// 组庭确认
courtConfirm() {
this.$modal
.confirm("确认进行组庭确认吗?")
.then(function () {})
.then(() => {
this.$modal.msgSuccess("确认成功");
})
.catch((err) => {});
},
},
};
</script>
<style lang="scss" scoped>
</style>
@@ -1,207 +0,0 @@
<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="formationData" 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="name"
:show-overflow-tooltip="true"
/>
<el-table-column
label="案件标的"
align="center"
prop="caseSubjectAmount"
/>
<el-table-column
label="立案日期"
align="center"
prop="registerDate"
:show-overflow-tooltip="true"
/>
<!-- 开庭日期 -->
<el-table-column
label="开庭日期"
align="center"
prop="hearDate"
:show-overflow-tooltip="true"
/>
<!-- 案件仲裁员 -->
<el-table-column
label="案件仲裁员"
align="center"
prop="caseArbitrator"
/>
<el-table-column label="案件状态" align="center" prop="caseStatus" />
<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-zoom-in"
@click="viewdetails(scope.row)"
v-hasPermi="['monitor:online:forceLogout']"
>案件详情</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-shopping-bag-1"
@click="courtReview(scope.row)"
v-hasPermi="['monitor:online:forceLogout']"
>组庭审核</el-button
>
<!-- <el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="deleteRow(scope.row)"
v-hasPermi="['monitor:online:forceLogout']"
>删除</el-button
> -->
</template>
</el-table-column>
</el-table>
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getcourtConfirmationData"
/>
<!-- 案件详情页面 -->
<formateCourtdetailDaiog
:showDetails="showDetails"
@cancelDetails="cancelDetails"
:formateListdata="formateListdata"
></formateCourtdetailDaiog>
<!-- 组庭审核 -->
<courtReviewDialog
:showcourtReview="showcourtReview"
@cancelcourtReview="cancelcourtReview"
></courtReviewDialog>
</div>
</template>
<script>
import courtReviewDialog from "./components/courtReviewDialog.vue";
import formateCourtdetailDaiog from "./components/formateCourtdetailDaiog.vue";
export default {
name: "courtReviewlist",
components: {
formateCourtdetailDaiog,
courtReviewDialog,
},
data() {
return {
// key: value
// 遮罩层
loading: true,
showDetails: false,
// 总条数
total: 0,
queryParams: {
caseNum: undefined,
pageNum: 1,
pageSize: 10,
},
formateListdata: {},
showcourtReview: false, //组庭审核页面
};
},
created() {
this.getcourtConfirmationData();
},
methods: {
// 搜索
handleQuery() {
this.queryParams.pageNum = 1;
this.getformationData();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
getcourtConfirmationData() {
this.loading = true;
this.formationData = [
{
caseNum: "1",
name: "hcb",
caseSubjectAmount: "3000",
registerDate: "2022-05-05 20:23:08",
hearDate: "2022-09-05 20:23:08",
caseArbitrator: "hhl",
caseStatus: "待组庭",
},
];
this.total = this.formationData.length;
this.loading = false;
},
// 详情
viewdetails(val) {
this.showDetails = true;
this.formateListdata = val;
},
// 关闭详情
cancelDetails() {
this.showDetails = false;
},
// 组庭审核
courtReview() {
this.showcourtReview = true;
},
cancelcourtReview() {
this.showcourtReview = false;
},
},
};
</script>
<style lang="scss" scoped>
</style>
@@ -1,229 +0,0 @@
<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="formationData" 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="name"
:show-overflow-tooltip="true"
/> -->
<el-table-column
label="案件标的"
align="center"
prop="caseSubjectAmount"
/>
<!-- <el-table-column
label="立案日期"
align="center"
prop="registerDate"
:show-overflow-tooltip="true"
/> -->
<!-- 开庭日期 -->
<!-- <el-table-column
label="开庭日期"
align="center"
prop="hearDate"
:show-overflow-tooltip="true"
/> -->
<!-- 案件仲裁员 -->
<!-- <el-table-column
label="案件仲裁员"
align="center"
prop="arbitratorName"
/> -->
<el-table-column label="案件状态" align="center" prop="caseStatus" />
<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-zoom-in"
@click="viewdetails(scope.row)"
v-hasPermi="['monitor:online:forceLogout']"
>案件详情</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-shopping-bag-1"
@click="formateCourt(scope.row)"
v-hasPermi="['monitor:online:forceLogout']"
>组庭</el-button
>
<!-- <el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="deleteRow(scope.row)"
v-hasPermi="['monitor:online:forceLogout']"
>删除</el-button
> -->
</template>
</el-table-column>
</el-table>
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getformationData"
/>
<!-- 详情页面 -->
<formateCourtdetailDaiog
:showDetails="showDetails"
@cancelDetails="cancelDetails"
:formateListdata="formateListdata"
:initpaymentArr="initpaymentArr"
:initpaymentArr1="initpaymentArr1"
></formateCourtdetailDaiog>
<!-- 组庭页面 -->
<formateCourtDialog
:showformateCourt="showformateCourt"
@cancelcourtDialog="cancelcourtDialog"
:formateCourtData="formateCourtData"
@getformationData="getformationData"
></formateCourtDialog>
</div>
</template>
<script>
import { caseApply, selectCaseApply } from "@/api/caseAccess/caseEntry";
import formateCourtdetailDaiog from "./components/formateCourtdetailDaiog.vue";
import formateCourtDialog from "./components/formateCourtDialog.vue";
export default {
name: "formationCourtlist",
components: {
formateCourtdetailDaiog,
formateCourtDialog,
},
data() {
return {
// 遮罩层
loading: true,
// 总条数
total: 0,
queryParams: {
// caseNum: undefined,
caseStatus: 6,
pageNum: 1,
pageSize: 10,
},
formationData: [],
showDetails: false, //详情界面显示
formateListdata: {},
formateCourtData: {},
showformateCourt: false, //组庭界面显示
initpaymentArr:[],
initpaymentArr1:[],
};
},
created() {
this.getformationData();
},
methods: {
// 搜索
handleQuery() {
this.queryParams.pageNum = 1;
this.getformationData();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 查询列表数据
getformationData() {
this.loading = true;
caseApply(this.queryParams).then((response) => {
this.formationData = response.rows;
this.total = response.total;
this.loading = false;
});
},
// 详情
viewdetails(val) {
this.showDetails = true;
this.formateListdata = val;
this.getInfo(val);
},
// 查找主体信息数据
getInfo(row) {
const id = row.id;
selectCaseApply({ id }).then((res) => {
this.visible = true;
this.formData = res.data;
this.initpaymentArr = [];
this.initpaymentArr1 = [];
res.data.caseAffiliates.forEach((item) => {
if (item.identityType == 1) {
this.initpaymentArr.push(item);
} else {
this.initpaymentArr1.push(item);
}
});
});
},
// 关闭详情
cancelDetails() {
this.showDetails = false;
},
// 组庭
formateCourt(val) {
this.formateCourtData = val;
this.showformateCourt = true;
},
// 关闭组庭页面
cancelcourtDialog() {
this.showformateCourt = false;
},
},
};
</script>
<style lang="scss" scoped>
</style>
+60 -246
View File
@@ -1,279 +1,93 @@
<template> <template>
<div class="app-container home"> <div class="app-container home">
<div class="header"> <el-row :gutter="20">
<div class="iconTitle"></div> <el-col :sm="24" :lg="24">
<div class="headerMain">我的待办事项</div> 智慧仲裁
</div> </el-col>
<div class="homeMain"> </el-row>
<div class="cardList" v-hasPermi="['home:caseApply']" @click="pushPage(0)"> <el-row :gutter="20">
<div class="badge">{{ dataCount.caseApply }}</div> <el-col :sm="24" :lg="12" style="padding-left: 20px">
<div class="cardMain"> <h2>智慧仲裁后台管理框架</h2>
<img class="iconImg" src="@/assets/images/daishencha.png" alt=""> </el-col>
</div> </el-row>
<div class="cardMain"> <el-divider />
<div class="imgTitle">待立案申请</div>
</div>
</div>
<div class="cardList" v-hasPermi="['home:caseApplyCheck']" @click="pushPage(1)">
<div class="badge">{{ dataCount.caseApplyCheck }}</div>
<div class="cardMain">
<img class="iconImg" src="@/assets/images/daishencha.png" alt="">
</div>
<div class="cardMain">
<div class="imgTitle">待立案审查</div>
</div>
</div>
<div class="cardList" v-hasPermi="['home:caseApplyPay']" @click="pushPage(2)">
<div class="badge">{{ dataCount.caseApplyPay }}</div>
<div class="cardMain">
<img class="iconImg" src="@/assets/images/daishencha.png" alt="">
</div>
<div class="cardMain">
<div class="imgTitle">待缴费</div>
</div>
</div>
<div class="cardList" v-hasPermi="['home:caseApplyPayCheck']" @click="pushPage(3)">
<div class="badge">{{ dataCount.caseApplyPayCheck }}</div>
<div class="cardMain">
<img class="iconImg" src="@/assets/images/daishencha.png" alt="">
</div>
<div class="cardMain">
<div class="imgTitle">待缴费确认</div>
</div>
</div>
<!-- <div class="cardList" v-hasPermi="['home:caseApplyEvidence']" @click="pushPage(4)">
<div class="badge">{{ dataCount.caseApplyEvidence }}</div>
<div class="cardMain">
<img class="iconImg" src="@/assets/images/daishencha.png" alt="">
</div>
<div class="cardMain">
<div class="imgTitle">待案件质证</div>
</div>
</div> -->
<div class="cardList" v-hasPermi="['home:caseApplyGroupCheck']" @click="pushPage(5)">
<div class="badge">{{ dataCount.caseApplyGroupCheck }}</div>
<div class="cardMain">
<img class="iconImg" src="@/assets/images/daishencha.png" alt="">
</div>
<div class="cardMain">
<div class="imgTitle">待组庭审核</div>
</div>
</div>
<div class="cardList" v-hasPermi="['home:caseApplyGroupConfirm']" @click="pushPage(6)">
<div class="badge">{{ dataCount.caseApplyGroupConfirm }}</div>
<div class="cardMain">
<img class="iconImg" src="@/assets/images/daishencha.png" alt="">
</div>
<div class="cardMain">
<div class="imgTitle">待组庭确定</div>
</div>
</div>
<div class="cardList" v-hasPermi="['home:caseApplyArbitrateWay']" @click="pushPage(7)">
<div class="badge">{{ dataCount.caseApplyArbitrateWay }}</div>
<div class="cardMain">
<img class="iconImg" src="@/assets/images/daishencha.png" alt="">
</div>
<div class="cardMain">
<div class="imgTitle">待审核仲裁方式</div>
</div>
</div>
<div class="cardList" v-hasPermi="['home:caseModifyHearDate']" @click="pushPage(31)">
<div class="badge">{{ dataCount.updateOnlineHearDate }}</div>
<div class="cardMain">
<img class="iconImg" src="@/assets/images/daishencha.png" alt="">
</div>
<div class="cardMain">
<div class="imgTitle">待确认开庭时间</div>
</div>
</div>
<div class="cardList" v-hasPermi="['home:caseApplyGroupOnline']" @click="pushPage(8)">
<div class="badge">{{ dataCount.caseApplyGroupOnline }}</div>
<div class="cardMain">
<img class="iconImg" src="@/assets/images/daishencha.png" alt="">
</div>
<div class="cardMain">
<div class="imgTitle">待开庭审理</div>
</div>
</div>
<div class="cardList" v-hasPermi="['home:caseApplyGroupOffline']" @click="pushPage(9)">
<div class="badge">{{ dataCount.caseApplyGroupOffline }}</div>
<div class="cardMain">
<img class="iconImg" src="@/assets/images/daishencha.png" alt="">
</div>
<div class="cardMain">
<div class="imgTitle">待书面审理</div>
</div>
</div>
<div class="cardList" v-hasPermi="['home:caseApplyAwardCheck']" @click="pushPage(11)">
<div class="badge">{{ dataCount.caseApplyAwardCheck }}</div>
<div class="cardMain">
<img class="iconImg" src="@/assets/images/daishencha.png" alt="">
</div>
<div class="cardMain">
<div class="imgTitle">待核验仲裁文书</div>
</div>
</div>
<div class="cardList" v-hasPermi="['home:caseApplyAwardConfirm']" @click="pushPage(12)">
<div class="badge">{{ dataCount.caseApplyAwardConfirm }}</div>
<div class="cardMain">
<img class="iconImg" src="@/assets/images/daishencha.png" alt="">
</div>
<div class="cardMain">
<div class="imgTitle">待审核仲裁文书</div>
</div>
</div>
<div class="cardList" v-hasPermi="['home:caseApplyAwardSignature']" @click="pushPage(13)">
<div class="badge">{{ dataCount.caseApplyAwardSign }}</div>
<div class="cardMain">
<img class="iconImg" src="@/assets/images/daishencha.png" alt="">
</div>
<div class="cardMain">
<div class="imgTitle">待仲裁文书签名</div>
</div>
</div>
<div class="cardList" v-hasPermi="['home:caseApplyAwardSignature']" @click="pushPage(14)">
<div class="badge">{{ dataCount.caseApplyAwardSeal }}</div>
<div class="cardMain">
<img class="iconImg" src="@/assets/images/daishencha.png" alt="">
</div>
<div class="cardMain">
<div class="imgTitle">待仲裁文书用印</div>
</div>
</div>
<div class="cardList" v-hasPermi="['home:caseApplyAwardSend']" @click="pushPage(15)">
<div class="badge">{{ dataCount.caseApplyAwardSend }}</div>
<div class="cardMain">
<img class="iconImg" src="@/assets/images/daishencha.png" alt="">
</div>
<div class="cardMain">
<div class="imgTitle">待仲裁文书送达</div>
</div>
</div>
<div class="cardList" v-hasPermi="['home:caseApplyStored']" @click="pushPage(16)">
<div class="badge">{{ dataCount.caseApplyStored }}</div>
<div class="cardMain">
<img class="iconImg" src="@/assets/images/daishencha.png" alt="">
</div>
<div class="cardMain">
<div class="imgTitle">待案件归档</div>
</div>
</div>
</div>
</div> </div>
</template> </template>
<script> <script>
import {
toDoCount
} from "@/api/home.js";
export default { export default {
name: "Index", name: "Index",
data() { data() {
return { return {
dataCount: {
}
}; };
}, },
methods: { methods: {
// 获取数字角标数量 goTarget(href) {
getToDoCount() { window.open(href, "_blank");
toDoCount().then(res => {
this.dataCount = res.data;
})
},
// 点击代办案件按钮
pushPage(status) {
if (status == 0 || status == 1 || status == 2 || status == 5 || status == 6 || status == 7 || status == 31 || status == 8 || status == 9) {
this.$router.push({ name: 'CaseManagement/caseList', params: { status: status } })
} else if (status == 11 || status == 12 || status == 13 || status == 14 || status == 15 || status == 16) {
this.$router.push({ name: 'AwardManagement/listofAwards', params: { status: status } })
} else if (status == 3){
this.$router.push({ name: 'PaymentManagement/paymentList', params: { status: status } })
}
} }
// goTarget(href) {
// window.open(href, "_blank");
// }
},
created() {
this.getToDoCount()
} }
}; };
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
.home { .home {
blockquote {
padding: 10px 20px;
margin: 0 0 20px;
font-size: 17.5px;
border-left: 5px solid #eee;
}
hr {
margin-top: 20px;
margin-bottom: 20px;
border: 0;
border-top: 1px solid #eee;
}
.col-item {
margin-bottom: 20px;
}
ul {
padding: 0;
margin: 0;
}
font-family: "open sans", "Helvetica Neue", Helvetica, Arial, sans-serif; font-family: "open sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
font-size: 13px; font-size: 13px;
color: #676a6c; color: #676a6c;
overflow-x: hidden; overflow-x: hidden;
background-color: #f1f1f1;
height: 100vh;
.header { ul {
width: 100%; list-style-type: none;
height: 80px; }
display: flex;
align-items: center;
.iconTitle { h4 {
width: 5px; margin-top: 0px;
height: 25px; }
background-color: #0f5c9b;
margin-right: 25px;
}
.headerMain { h2 {
font-size: 20px; margin-top: 10px;
font-size: 26px;
font-weight: 100;
}
p {
margin-top: 10px;
b {
font-weight: 700;
} }
} }
.homeMain { .update-log {
width: 100%; ol {
display: flex; display: block;
flex-wrap: wrap; list-style-type: decimal;
margin-block-start: 1em;
// justify-content: space-between; margin-block-end: 1em;
.cardList { margin-inline-start: 0;
width: 14%; margin-inline-end: 0;
height: 200px; padding-inline-start: 40px;
border-radius: 30px;
background-color: #ffffff;
position: relative;
margin-right: 30px;
margin-bottom: 30px;
.badge {
width: 50px;
height: 30px;
text-align: center;
line-height: 30px;
font-size: 18px;
font-weight: 500;
color: #e32a4f;
border-radius: 10px 30px 10px 30px;
background-color: #05baf1;
position: absolute;
right: 0;
}
.cardMain {
width: 100%;
display: flex;
justify-content: center;
margin-top: 20px;
.iconImg {
width: 100px;
height: 110px;
}
.imgTitle {
font-size: 20px;
font-weight: 600;
}
}
} }
} }
} }
+5 -5
View File
@@ -1,7 +1,7 @@
<template> <template>
<div class="login"> <div class="login">
<el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form"> <el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form">
<h3 class="title">智慧仲裁系统</h3> <h3 class="title">智慧仲裁后台管理系统</h3>
<el-form-item prop="username"> <el-form-item prop="username">
<el-input <el-input
v-model="loginForm.username" v-model="loginForm.username"
@@ -56,7 +56,7 @@
</el-form> </el-form>
<!-- 底部 --> <!-- 底部 -->
<div class="el-login-footer"> <div class="el-login-footer">
<span>Copyright © 2023 乙巢(上海)企业管理服务有限公司</span> <span>Copyright © 2018-2023 Smart arbitration.vip All Rights Reserved.</span>
</div> </div>
</div> </div>
</template> </template>
@@ -72,8 +72,8 @@ export default {
return { return {
codeUrl: "", codeUrl: "",
loginForm: { loginForm: {
username: "", username: "admin",
password: "", password: "admin123",
rememberMe: false, rememberMe: false,
code: "", code: "",
uuid: "" uuid: ""
@@ -161,7 +161,7 @@ export default {
justify-content: center; justify-content: center;
align-items: center; align-items: center;
height: 100%; height: 100%;
background-image: url("../assets/images/loginbg.jpg"); background-image: url("../assets/images/login-background.jpg");
background-size: cover; background-size: cover;
} }
.title { .title {
@@ -1,124 +0,0 @@
<template>
<div>
<el-dialog :title="title" :visible="operateVisable" v-if="operateVisable" @close="cancel" width="600px" center
:distroy-on-close="true">
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="130px" class="demo-ruleForm">
<el-form-item label="机构名称" prop="identifyName">
<el-input v-model="ruleForm.identifyName"></el-input>
</el-form-item>
<el-form-item label="机构邮箱" prop="identifyEmail">
<el-input v-model="ruleForm.identifyEmail"></el-input>
</el-form-item>
<!-- <el-form-item label="经办人姓名" prop="operName">
<el-input v-model="ruleForm.operName"></el-input>
</el-form-item>
<el-form-item label="经办人用户名" prop="operUserName">
<el-input v-model="ruleForm.operUserName"></el-input>
</el-form-item>
<el-form-item label="经办人手机号" prop="operPhone">
<el-input v-model="ruleForm.operPhone"></el-input>
</el-form-item> -->
<el-form-item label="机构信用代码" prop="creditCode">
<el-input v-model="ruleForm.creditCode"></el-input>
</el-form-item>
<el-form-item label="法人姓名" prop="legalPerName">
<el-input v-model="ruleForm.legalPerName"></el-input>
</el-form-item>
<el-form-item label="法人手机号" prop="legalPerPhone">
<el-input v-model="ruleForm.legalPerPhone"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel" class="endbutton"><span>取 消</span></el-button>
<el-button type="primary" @click="submitForm" class="endbutton"><span>确认</span></el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import {
insert,
} from "@/api/officialSeal/officialSeal.js";
import { listUser } from '@/api/system/user.js'
export default {
props: ["operateVisable", "queryParams"],
data() {
return {
title: "新增机构",
ruleForm: {},
rules: {
identifyName: [
{ required: true, message: '请输入机构名称', trigger: 'blur' },
],
// operName: [
// { required: true, message: '请输入经办人姓名', trigger: 'blur' },
// ],
// operPhone: [
// { required: true, message: '请输入经办人手机号', trigger: 'blur' },
// { pattern: /^[1][3,4,5,6,7,8,9][0-9]{9}$/, message: '请输入正确的手机号码', trigger: 'blur', },
// ],
creditCode: [
{ required: true, message: '请输入机构信用代码', trigger: 'blur' },
],
legalPerName: [
{ required: true, message: '请输入法人姓名', trigger: 'blur' },
],
legalPerPhone: [
{ required: true, message: '请输入法人手机号', trigger: 'blur' },
{ pattern: /^[1][3,4,5,6,7,8,9][0-9]{9}$/, message: '请输入正确的手机号码', trigger: 'blur', },
],
// operUserName: [
// { required: true, message: '请输入经办人用户名', trigger: 'blur' },
// ],
identifyEmail: [
{ required: true, message: '请输入邮箱', trigger: 'blur' },
{ type: 'email', message: '请输入正确的邮箱地址', trigger: 'blur' }
]
}
};
},
watch: {
operateVisable(val) {
if (val) {
}
},
},
created() {
},
methods: {
// 新增部门
insertFn(data) {
insert(data).then(res => {
this.$modal.msgSuccess("新增成功!");
this.$emit("cancelFilingreview");
this.$emit('getList', this.queryParams);
})
},
// 提交form表单
submitForm() {
this.$refs['ruleForm'].validate((valid) => {
if (valid) {
this.insertFn(this.ruleForm)
}
});
},
cancel() {
this.$emit("cancelFilingreview");
},
},
};
</script>
<style lang="scss" scoped>
.steps {
display: flex;
flex-wrap: wrap;
}
.radiobox {
margin-top: 30px;
}
</style>
@@ -1,123 +0,0 @@
<template>
<div>
<el-dialog title="新增模板" :visible="uploadVisable" v-if="uploadVisable" @close="cancel" width="600px" center>
<el-form :model="ruleForm" label-position="left" :rules="rules" ref="ruleForm" label-width="90px"
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-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="机构名称" 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">
</el-option>
</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>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel" class="endbutton"><span>取 消</span></el-button>
<el-button type="primary" @click="submitUpload" class="endbutton"><span>确认</span></el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { getToken } from "@/utils/auth";
import {
deptIdentifyList,
} from "@/api/officialSeal/officialSeal.js";
export default {
props: ["uploadVisable", "uploadData", "queryParams"],
dicts: ["template_type"],
data() {
return {
fileList: [],
data: [],
tempList: [],
isImg:false,
headers: {
Authorization: "Bearer " + getToken(),
},
filedata: {},
flagBtn: false,
ruleForm: {},
rules: {
temName: [
{ required: true, message: '请输入模板名称', trigger: 'blur' },
],
temType: [
{ required: true, message: '请输入模板名称', trigger: 'blur' },
],
identifyId: [
{ required: true, message: '请输入模板名称', trigger: 'blur' },
]
}
};
},
watch: {
uploadVisable(val) {
if (val) {
let queryParams = {
pageNum: 1,
pageSize: 10000000000000000000000,
};
deptIdentifyList(queryParams).then(res => {
this.tempList = res.rows;
})
this.ruleForm = {}
}
}
},
created() {
},
methods: {
cancel() {
this.$emit("cancelUpload");
},
handleChange(file, fileList) {
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格式的文件')
}
}
});
},
handleRemove(file, fileList) {
console.log(file, fileList);
},
beforeUpload(file) {
// debugger
// this.isImg = file.type === '.doc' || '.docx'
},
handleSuccess() {
this.$message.success('上传成功');
this.$emit("cancelUpload");
this.$emit('getList', this.queryParams);
}
},
};
</script>
<style lang="scss" scoped></style>
@@ -1,127 +0,0 @@
<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"
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-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="当前模板">
<span style="color: #0e5ce3;cursor:pointer" @click="openUrl(editData.temOrigPath)">{{ editData.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>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel" class="endbutton"><span>取 消</span></el-button>
<el-button type="primary" @click="submitUpload" class="endbutton"><span>确认</span></el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { getToken } from "@/utils/auth";
import { updateTemplate } from "@/api/officialSeal/officialSeal"
export default {
props: ["editVisable", "editData", "queryParams"],
dicts: ["template_type"],
data() {
return {
fileList: [],
data: [],
headers: {
Authorization: "Bearer " + getToken(),
},
isImg: true,
filedata: {},
flagBtn: false,
ruleForm: {},
rules: {
temName: [
{ required: true, message: '请输入模板名称', trigger: 'blur' },
],
temType: [
{ required: true, message: '请输入模板名称', trigger: 'blur' },
],
}
};
},
watch: {
editData(val) {
if (val) {
this.ruleForm = val;
this.fileList = [];
this.ruleForm.temType = this.ruleForm.temType + '';
}
}
},
created() {
},
methods: {
// 打开链接
openUrl(urlTemp) {
let headPath = window.location.origin + "/API/";
window.open(headPath + urlTemp);
},
cancel() {
this.$emit("cancelEdit");
},
handleChange(file, fileList) {
this.isImg = file.type === '.doc' || '.docx';
this.fileList = fileList;
},
UploadUrl() {
return window.location.origin + "/API/deptIdentify/updateTemplate";
},
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);
})
}
}
});
},
handleRemove(file, fileList) {
console.log(file, fileList);
},
beforeUpload(file) {
// this.isImg = file.type === '.doc' || '.docx'
},
handleSuccess() {
this.$message.success('修改成功');
this.$emit("cancelEdit");
this.$emit('getList', this.queryParams);
}
},
};
</script>
<style lang="scss" scoped></style>
@@ -1,112 +0,0 @@
<template>
<div>
<el-dialog :title="title" :visible="editVisable" v-if="editVisable" @close="cancel" width="600px" center
:distroy-on-close="true">
<el-form :model="editForm" :rules="rules" ref="editForm" label-width="130px" class="demo-editForm">
<el-form-item label="机构名称" prop="identifyName">
<el-input v-model="editForm.identifyName"></el-input>
</el-form-item>
<el-form-item label="机构邮箱" prop="identifyEmail">
<el-input v-model="editForm.identifyEmail"></el-input>
</el-form-item>
<el-form-item label="机构信用代码" prop="creditCode">
<el-input v-model="editForm.creditCode"></el-input>
</el-form-item>
<el-form-item label="法人姓名" prop="legalPerName">
<el-input v-model="editForm.legalPerName"></el-input>
</el-form-item>
<el-form-item label="法人手机号" prop="legalPerPhone">
<el-input v-model="editForm.legalPerPhone"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel" class="endbutton"><span>取 消</span></el-button>
<el-button type="primary" @click="submitForm" class="endbutton"><span>确认</span></el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import {
sealUpdate
} from "@/api/officialSeal/officialSeal.js";
export default {
props: ["editVisable","editData","queryParams"],
data() {
return {
title: "修改机构",
editForm: {},
rules: {
identifyName: [
{ required: true, message: '请输入机构名称', trigger: 'blur' },
],
creditCode: [
{ required: true, message: '请输入机构信用代码', trigger: 'blur' },
],
legalPerName: [
{ required: true, message: '请输入法人姓名', trigger: 'blur' },
],
legalPerPhone: [
{ required: true, message: '请输入法人手机号', trigger: 'blur' },
{ pattern: /^[1][3,4,5,6,7,8,9][0-9]{9}$/, message: '请输入正确的手机号码', trigger: 'blur', },
],
// operUserName: [
// { required: true, message: '请输入经办人用户名', trigger: 'blur' },
// ],
identifyEmail: [
{ required: true, message: '请输入邮箱', trigger: 'blur' },
{ type: 'email', message: '请输入正确的邮箱地址', trigger: 'blur' }
]
}
};
},
watch: {
editVisable(val) {
if (val) {
this.editForm = this.editData;
}
}
},
created() {
},
methods: {
// 编辑
sealUpdateFn(data) {
sealUpdate(data).then(res => {
this.$modal.msgSuccess("修改成功!");
this.$emit("cancelEdit");
this.$emit('getList',this.queryParams);
})
},
// 提交form表单
submitForm() {
this.$refs['editForm'].validate((valid) => {
if (valid) {
this.sealUpdateFn({
identifyName:this.editForm.identifyName,
operName:this.editForm.operName,
operPhone:this.editForm.operPhone,
id:this.editForm.id,
})
}
});
},
cancel() {
this.$emit("cancelEdit");
},
},
};
</script>
<style lang="scss" scoped>
.steps {
display: flex;
flex-wrap: wrap;
}
.radiobox {
margin-top: 30px;
}
</style>
@@ -1,117 +0,0 @@
<template>
<div>
<el-dialog title="公章列表" :visible="sealVisable" @close="cancel" width="800px" center :distroy-on-close="true">
<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="sealName"
:show-overflow-tooltip="true"></el-table-column>
<el-table-column label="印章图片" align="center" prop="annexPath">
<template slot-scope="scope">
<el-image style="width: 40px; height: 40px;" :src="imgUrl + scope.row.annexPath"
:preview-src-list="[imgUrl + scope.row.annexPath]">
</el-image>
<!-- <span>{{ imgUrl + scope.row.annexPath }}</span> -->
</template>
</el-table-column>
<el-table-column label="是否启用" align="center" prop="sealStatus">
<template slot-scope="scope">
<el-tag type="success" v-if="scope.row.isUse == 1">已启用</el-tag>
<el-tag type="info"
v-if="(scope.row.isUse == 0 || scope.row.isUse == null) && scope.row.sealStatus !== 0">未启用</el-tag>
<el-tag type="danger" v-if="scope.row.sealStatus == 0">审核中</el-tag>
</template>
</el-table-column>
<el-table-column label="操作" align="center">
<template slot-scope="scope">
<el-button size="mini" @click="isUseChange(scope.row.id, 1)" type="text" icon="el-icon-thumb"
v-if="(scope.row.isUse == 0 || scope.row.isUse == null) && scope.row.sealStatus !== 0">启用</el-button>
<el-button size="mini" @click="isUseChange(scope.row.id, 0)" type="text" icon="el-icon-thumb"
v-if="scope.row.isUse == 1">禁用</el-button>
</template>
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize" @pagination="sealListFn(queryParams)" />
</el-dialog>
</div>
</template>
<script>
import {
sealList,
updateSealLockStatus
} from "@/api/officialSeal/officialSeal.js";
export default {
props: ["sealVisable", "sealData"],
data() {
return {
loading: false,
srcList: [],
queryParams: {
pageNum: 1,
pageSize: 10,
},
dataList: [
],
total: 0,
imgUrl: ""
};
},
watch: {
sealVisable(val) {
if (val) {
this.queryParams.id = this.sealData.id;
this.sealListFn(this.queryParams)
}
}
},
created() {
this.UploadUrl()
},
methods: {
UploadUrl() {
this.imgUrl = window.location.origin + '/API';
},
// 查询列表数据
sealListFn(data) {
this.loading = true;
sealList(data).then(res => {
this.dataList = res.rows;
this.total = res.total;
this.loading = false;
})
},
// 更新公章状态
updateSealLockStatusFn(data) {
updateSealLockStatus(data).then(res => {
this.$message.success('更新状态成功');
this.sealListFn(this.queryParams);
})
},
// 启用或者禁用公章
isUseChange(id, type) {
let params = {
id: id,
isUse: type
}
this.$modal
.confirm("是否更改状态")
.then((res) => {
this.updateSealLockStatusFn(params);
})
},
cancel() {
this.$emit("cancelSeal");
},
},
};
</script>
<style lang="scss" scoped></style>
@@ -1,128 +0,0 @@
<template>
<div>
<el-dialog title="上传公章" :visible="uploadVisable" v-if="uploadVisable" @close="cancel" width="600px" center>
<el-form :model="ruleForm" label-position="left" :rules="rules" ref="ruleForm" label-width="90px"
class="demo-ruleForm">
<el-form-item label="印章名称" prop="sealName">
<el-input v-model="ruleForm.sealName"></el-input>
</el-form-item>
</el-form>
<el-upload class="avatar-uploader" accept="image/png" :before-upload="beforeUpload" :on-success="handleSuccess" ref="upload"
:action="UploadUrl()" :headers="headers" :data="filedata" :on-remove="handleRemove"
:on-change="handleChange" :show-file-list="false" :file-list="fileList" :auto-upload="false">
<img v-if="imageUrl" :src="imageUrl" class="avatar">
<i v-else class="el-icon-plus avatar-uploader-icon"></i>
</el-upload>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel" class="endbutton"><span>取 消</span></el-button>
<el-button type="primary" @click="submitUpload" class="endbutton"><span>确认</span></el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { getToken } from "@/utils/auth";
export default {
props: ["uploadVisable", "uploadData"],
data() {
return {
fileList: [],
data: [],
headers: {
Authorization: "Bearer " + getToken(),
},
filedata: {
id: this.uploadData.id
},
flagBtn: false,
imageUrl: "",
ruleForm: {},
rules: {
sealName: [
{ required: true, message: '请输入印章名称', trigger: 'blur' },
],
}
};
},
watch: {
uploadVisable(val) {
if (val) {
this.imageUrl = "",
this.ruleForm = {}
}
}
},
created() {
},
methods: {
cancel() {
this.$emit("cancelUpload");
},
handleChange(file, fileList) {
this.imageUrl = URL.createObjectURL(file.raw);
},
UploadUrl() {
return window.location.origin + "/API/deptIdentify/sealUpload";
},
submitUpload() {
this.$refs['ruleForm'].validate((valid) => {
if (valid) {
this.filedata.id = this.uploadData.id;
this.filedata.sealName = this.ruleForm.sealName;
this.$refs.upload.submit();
}
});
},
handleRemove(file, fileList) {
console.log(file, fileList);
},
beforeUpload(file) {
const isImg = file.type === 'image/png'
if (!isImg) {
this.$message.error('只能上传图片格式的文件')
}
return isImg
},
handleSuccess(response) {
if (response.code == 200) {
this.$message.success('上传成功');
this.cancel()
} else {
this.$message.error(response.msg);
}
}
},
};
</script>
<style lang="scss" scoped>
::v-deep .avatar-uploader .el-upload {
width: 178px;
height: 178px;
border: 1px dashed #d9d9d9;
border-radius: 6px;
cursor: pointer;
margin-left: 90px;
}
::v-deep .avatar-uploader .el-upload:hover {
border-color: #409EFF;
}
::v-deep .avatar-uploader-icon {
font-size: 28px;
color: #8c939d;
width: 178px;
height: 178px;
line-height: 178px;
text-align: center;
}
::v-deep .avatar {
width: 178px;
height: 178px;
display: block;
}
</style>
-280
View File
@@ -1,280 +0,0 @@
<template>
<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="addInstitution">新增部门</el-button>
<!-- v-hasPermi="['caseManagement:list:add']" -->
</el-col>
</el-row>
<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="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" />
<el-table-column label="认证状态" align="center" prop="identifyStatus" :show-overflow-tooltip="true" />
<el-table-column label="是否启用" align="center" prop="isUse"></el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" @click="DeptIndefiUrl(scope.row)" type="text" icon="el-icon-thumb"
v-if="scope.row.identifyStatus == '未认证'">认证</el-button>
<el-button size="mini" @click="changeStatus(scope.row)" type="text" icon="el-icon-thumb"
v-if="scope.row.isUse == '未启用' && scope.row.identifyStatus == '已认证'">启用</el-button>
<el-button size="mini" @click="uploadSeal(scope.row)" type="text"
v-if="scope.row.identifyStatus == '已认证'" icon="el-icon-upload2">上传公章</el-button>
<el-button size="mini" @click="sealManage(scope.row)" type="text"
v-if="scope.row.identifyStatus == '已认证'" icon="el-icon-upload2">公章管理</el-button>
<el-button size="mini" @click="sealDelete(scope.row)" v-if="scope.row.identifyStatus == '未认证'"
type="text" icon="el-icon-delete">删除</el-button>
<el-button size="mini" @click="eidtSeal(scope.row)" type="text" v-if="scope.row.identifyStatus == '未认证'"
icon="el-icon-edit">修改</el-button>
<el-button size="mini" @click="selectUser(scope.row)" type="text"
v-if="scope.row.identifyStatus == '未认证'" icon="el-icon-edit">选择经办人</el-button>
</template>
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
@pagination="getList(queryParams)" />
<addInstitution :operateVisable="operateVisable" @cancelFilingreview="cancelFilingreview" :queryParams="queryParams"
@getList="getList">
</addInstitution>
<uploadSeal :uploadVisable="uploadVisable" @cancelUpload="cancelUpload" :queryParams="queryParams"
:uploadData="uploadData" @getList="getList">
</uploadSeal>
<sealManage :sealVisable="sealVisable" @cancelSeal="cancelSeal" :queryParams="queryParams" :sealData="sealData">
</sealManage>
<eidtInstitution :editVisable="editVisable" @cancelEdit="cancelEdit" :queryParams="queryParams" @getList="getList"
:editData="editData"></eidtInstitution>
<el-dialog title="选择经办人" :visible.sync="selectVisible" width="600px" @close="selectClose">
<el-form :model="slectFrom" :rules="rules" ref="slectFrom" label-width="80px">
<el-form-item label="经办人" prop="id">
<el-select v-model="slectFrom.id" clearable placeholder="请选择">
<el-option v-for="item in userList" :key="item.userId" :label="item.nickName" :value="item.userId">
</el-option>
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="selectClose" class="endbutton"><span>取 消</span></el-button>
<el-button type="primary" @click="submitUser" class="endbutton"><span>确认</span></el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import {
deptIdentifyList,
enableDept,
selectDeptIndefiUrl,
deleteSeal,
selectPostUserByDeptId,
bindHandler
} from "@/api/officialSeal/officialSeal.js";
import addInstitution from "./components/addInstitution";
import uploadSeal from "./components/uploadSeal";
import sealManage from "./components/sealManage";
import eidtInstitution from "./components/eidtInstitution";
export default {
name: "paymentList",
components: {
addInstitution,
uploadSeal,
sealManage,
eidtInstitution
},
data() {
return {
queryParams: {
pageNum: 1,
pageSize: 10,
},
// 遮罩层
loading: false,
// 总条数
total: 0,
// 表格数据
form: {},
// 校验表单
rules: {},
dataList: [1],
operateVisable: false,//新增弹窗
uploadVisable: false,//上传弹窗
sealVisable: false,//公章列表弹窗
uploadData: {},
sealData: {},
editVisable: false,
editData: {},
selectVisible: false,
slectFrom: {},
userList: [],
templateId: null,
rules: {
id: [
{ required: true, message: '请选择经办人', trigger: 'blur' },
]
}
};
},
created() {
this.getList(this.queryParams)
},
methods: {
// 选择经办人
selectUser(row) {
this.selectVisible = true;
this.templateId = row.id;
selectPostUserByDeptId({ id: row.id }).then(res => {
this.userList = res.data;
if (row.userId) {
this.slectFrom.id = row.userId;
} else {
this.slectFrom = {};
}
})
},
// 确认经办人
submitUser() {
this.$refs['slectFrom'].validate((valid) => {
if (valid) {
bindHandler({ id: this.templateId, userId: this.slectFrom.id }).then(res => {
this.$modal.msgSuccess("选择成功");
this.selectVisible = false;
this.getList(this.queryParams);
})
}
})
},
selectClose() {
this.selectVisible = false;
},
// 删除
sealDelete(row) {
this.$modal
.confirm("是否更改状态")
.then((res) => {
this.deleteSealFn({ id: row.id })
})
},
// 删除接口
deleteSealFn(data) {
deleteSeal(data).then(res => {
this.$modal.msgSuccess("删除成功!");
this.getList(this.queryParams);
})
},
// 公章管理
sealManage(row) {
this.sealVisable = true;
this.sealData = row;
},
cancelSeal() {
this.sealVisable = false;
},
// 上传公章
uploadSeal(row) {
this.uploadVisable = true;
this.uploadData = row;
},
closeUploadSeal(){
this.uploadVisable = false
},
cancelFilingreview() {
this.operateVisable = false;
},
cancelUpload() {
this.uploadVisable = false;
},
// 新增部门
addInstitution() {
this.operateVisable = true;
},
// 编辑
eidtSeal(row) {
this.editVisable = true;
this.editData = row;
},
cancelEdit() {
this.editVisable = false;
},
// 启用认证按钮
changeStatus(row) {
this.$modal.confirm('是否进行启用?')
.then(function () {
})
.then(() => {
enableDept({ id: row.id }).then(res => {
this.$modal.msgSuccess("启用成功!");
this.getList(this.queryParams);
})
})
.catch(function () {
});
},
// 认证按钮
DeptIndefiUrl(row) {
if (!row.operName || !row.legalPerPhone) {
this.$modal.msgError("当前没有经办人 ,无法认证!!");
return
}
this.$modal.confirm('是否认证?')
.then(function () {
selectDeptIndefiUrl({ id: row.id }).then(res => {
let url = res.data.identifyUrl;
window.open(url)
})
})
.then(() => {
// this.$modal.msgSuccess("认证成功!");
// this.getList(this.queryParams);
})
.catch(function () {
});
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList(this.queryParams);
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 查询列表数据
getList(parms) {
this.loading = true;
deptIdentifyList(parms).then((response) => {
this.dataList = response.rows;
this.total = response.total;
this.loading = false;
this.dataList.forEach(item => {
if (item.identifyStatus == 0 || item.identifyStatus == null) {
item.identifyStatus = '未认证'
} else if (item.identifyStatus == 2) {
item.identifyStatus = '认证中'
} else if (item.identifyStatus == 1) {
item.identifyStatus = '已认证'
}
if (item.isUse == 0 || item.isUse == null) {
item.isUse = '未启用'
} else {
item.isUse = '已启用'
}
})
});
},
},
};
</script>
<style lang="scss" scoped></style>
@@ -1,153 +0,0 @@
<template>
<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>
<!-- v-hasPermi="['caseManagement:list:add']" -->
</el-col>
</el-row>
<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="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>
<el-button size="mini" @click="eidtTemplate(scope.row)" type="text" icon="el-icon-edit">修改模板</el-button>
</template>
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
@pagination="getList(queryParams)" />
<addTemplate :uploadVisable="uploadVisable" @cancelUpload="cancelUpload" :uploadData="uploadData" @getList="getList" :queryParams="queryParams">
</addTemplate>
<sealManage :sealVisable="sealVisable" @cancelSeal="cancelSeal" :sealData="sealData">
</sealManage>
<editTemplate :editVisable="editVisable" @cancelEdit="cancelEdit" @getList="getList" :editData="editData" :queryParams="queryParams"></editTemplate>
</div>
</template>
<script>
import {
getTemplate,
deleteTemplate
} from "@/api/officialSeal/officialSeal.js";
import addInstitution from "./components/addInstitution";
import addTemplate from "./components/addTemplate";
import sealManage from "./components/sealManage";
import editTemplate from "./components/editTemplate";
export default {
name: "paymentList",
components: {
addInstitution,
addTemplate,
sealManage,
editTemplate
},
data() {
return {
queryParams: {
pageNum: 1,
pageSize: 10,
},
// 遮罩层
loading: false,
// 总条数
total: 0,
// 表格数据
form: {},
// 校验表单
rules: {},
dataList: [],
operateVisable: false,//新增弹窗
uploadVisable: false,//上传弹窗
sealVisable: false,//公章列表弹窗
uploadData: {},
sealData: {},
editVisable:false,
editData:{}
};
},
created() {
this.getList(this.queryParams)
},
methods: {
// 删除
deleteTemplate(row) {
this.$modal
.confirm("是否删除")
.then((res) => {
this.deleteSealFn({ id: row.id })
})
},
// 删除接口
deleteSealFn(data) {
deleteTemplate(data).then(res => {
this.$modal.msgSuccess("删除成功!");
this.getList(this.queryParams);
})
},
cancelSeal() {
this.sealVisable = false;
},
// 新增模板
addtemplate(row) {
this.uploadVisable = true;
this.uploadData = row;
},
cancelUpload() {
this.uploadVisable = false;
},
// 编辑
eidtTemplate(row) {
this.editVisable = true;
this.editData = row;
},
cancelEdit() {
this.editVisable = false;
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList(this.queryParams);
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 查询列表数据
getList(parms) {
this.loading = true;
getTemplate(parms).then((response) => {
this.dataList = response.rows;
this.total = response.total;
this.loading = false;
console.log(this.dataList,"LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL");
// this.dataList.forEach(item => {
// if (item.identifyStatus == 0 || item.identifyStatus == null) {
// item.identifyStatus = '未认证'
// } else {
// item.identifyStatus = '已认证'
// }
// if (item.isUse == 0 || item.isUse == null) {
// item.isUse = '未启用'
// } else {
// item.isUse = '已启用'
// }
// })
});
},
},
};
</script>
<style lang="scss" scoped></style>
+88 -93
View File
@@ -20,47 +20,46 @@
<span>{{ (pageNum - 1) * pageSize + scope.$index + 1 }}</span> <span>{{ (pageNum - 1) * pageSize + scope.$index + 1 }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="案件编号" align="center" prop="caseNum" :show-overflow-tooltip="true" /> <el-table-column label="申请人名称" align="center" prop="name" :show-overflow-tooltip="true" />
<el-table-column label="案件标的" align="center" prop="caseSubjectAmount" :show-overflow-tooltip="true" /> <el-table-column label="案件数量" align="center" prop="casesNumber" :show-overflow-tooltip="true" />
<el-table-column label="立案日期" align="center" prop="registerDate" /> <el-table-column label="标的总金额" align="center" prop="totalAmount" />
<el-table-column label="仲裁方式" align="center" prop="arbitratMethodName" :show-overflow-tooltip="true" /> <el-table-column label="提交日期" align="center" prop="date" :show-overflow-tooltip="true" />
<el-table-column label="案件状态" align="center" prop="caseStatusName" /> <el-table-column label="提交人" align="center" prop="presenter" :show-overflow-tooltip="true" />
<el-table-column label="状态" align="center" prop="state" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-view" @click="confirmation(scope.row)" <el-button size="mini" type="text" icon="el-icon-download" @click="confirmation(scope.row)"
v-hasPermi="['monitor:online:forceLogout']" style="margin-right: 10px;">查看缴费清单</el-button> v-hasPermi="['monitor:online:forceLogout']">查看缴费清单</el-button>
<el-popconfirm title="是否确认缴费" @confirm="payStatus(scope.row)"> <el-button size="mini" type="text" icon="el-icon-bank-card" @click="confirmation(scope.row)"
<el-button slot="reference" size="mini" type="text" icon="el-icon-bank-card" v-hasPermi="['monitor:online:forceLogout']">缴费确认</el-button>
v-hasPermi="['monitor:online:forceLogout']">缴费确认</el-button>
</el-popconfirm>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<el-dialog :title="title" :visible.sync="open" width="800px" append-to-body> <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="150px" :disabled="true"> <el-form ref="form" :model="form" :rules="rules" label-width="150px" :disabled="true">
<el-form-item label="案件编号:" prop="caseNum"> <el-form-item label="案件编号:" prop="caseNumber">
<el-input v-model="form.caseNum" placeholder="" /> <el-input v-model="form.caseNumber" placeholder="请输入岗位名称" />
</el-form-item> </el-form-item>
<el-form-item label="申请人:" prop="applicant"> <el-form-item label="申请人:" prop="applicant">
<el-input v-model="form.applicant" placeholder="" /> <el-input v-model="form.applicant" placeholder="请输入编码名称" />
</el-form-item> </el-form-item>
<el-form-item label="案件标的:" prop="caseSubjectAmount"> <el-form-item label="案件标的:" prop="caseIdentifying">
<el-input-number v-model="form.caseSubjectAmount" controls-position="right" :min="0" /> <el-input-number v-model="form.caseIdentifying" controls-position="right" :min="0" />
</el-form-item> </el-form-item>
<el-form-item label="案件应缴费用:" prop="feePayable"> <el-form-item label="案件应缴费用:" prop="feePayable">
<el-input-number v-model="form.feePayable" controls-position="right" :min="0" /> <el-input-number v-model="form.feePayable" controls-position="right" :min="0" />
</el-form-item> </el-form-item>
<el-form-item label="案件实缴费用:" prop="paidExpenses"> <el-form-item label="案件实缴费用:" prop="actualPayment">
<el-input-number v-model="form.paidExpenses" controls-position="right" :min="0" /> <el-input-number v-model="form.actualPayment" controls-position="right" :min="0" />
</el-form-item> </el-form-item>
<el-form-item label="被申请人:" prop="respondent"> <el-form-item label="被申请人:" prop="respondent">
<el-input v-model="form.Respondent" placeholder="" /> <el-input v-model="form.Respondent" placeholder="请输入编码名称" />
</el-form-item> </el-form-item>
<el-form-item label="申请人仲裁诉求:" prop="arbitratClaims"> <el-form-item label="申请人仲裁诉求:" prop="appeal">
<el-input v-model="form.arbitratClaims" placeholder="" /> <el-input v-model="form.appeal" placeholder="请输入编码名称" />
</el-form-item> </el-form-item>
<el-form-item label="案件状态:" prop="caseStatusName"> <el-form-item label="案件状态:" prop="state">
<el-input v-model="form.caseStatusName" placeholder="" /> <el-input v-model="form.state" placeholder="请输入编码名称" />
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
@@ -73,7 +72,7 @@
</template> </template>
<script> <script>
import { caseApplicationList, caseApplicationDetail,confirmPay } from "@/api/pay/pay"; import { list, forceLogout } from "@/api/monitor/online";
export default { export default {
name: "payList", name: "payList",
@@ -89,94 +88,93 @@ export default {
pageSize: 10, pageSize: 10,
// 弹出层标题 // 弹出层标题
title: "", title: "",
payTitle: "",
// 是否显示弹出层 // 是否显示弹出层
open: false, open: false,
openPay: false,
// 查询参数 // 查询参数
queryParams: { queryParams: {
caseStatus: 2, ipaddr: undefined,
pageNum: 1, userName: undefined
pageSize: 10
}, },
// 弹出层内容 // 弹出层内容
form: {}, form: {
caseNumber:'111',
applicant:'韩超勃',
caseIdentifying:10000,
feePayable:1000,
actualPayment:980,
Respondent:'黄海龙',
appeal:'杀人放火',
state:'已缴费',
},
// 校验表单 // 校验表单
rules: { rules: {
// postName: [ postName: [
// { required: true, message: "岗位名称不能为空", trigger: "blur" } { required: true, message: "岗位名称不能为空", trigger: "blur" }
// ], ],
// postCode: [ postCode: [
// { required: true, message: "岗位编码不能为空", trigger: "blur" } { required: true, message: "岗位编码不能为空", trigger: "blur" }
// ], ],
// postSort: [ postSort: [
// { required: true, message: "岗位顺序不能为空", trigger: "blur" } { required: true, message: "岗位顺序不能为空", trigger: "blur" }
// ] ]
}, },
dataList: [] dataList: [
{
name: '黄海龙',
casesNumber: 1,
totalAmount: '1000',
date: '2016-05-02',
presenter: '韩超勃',
state: "待缴费"
}, {
name: '黄海龙',
casesNumber: 1,
totalAmount: '1000',
date: '2016-05-02',
presenter: '韩超勃',
state: "待缴费"
}, {
name: '黄海龙',
casesNumber: 2,
totalAmount: '1000',
date: '2016-05-02',
presenter: '韩超勃',
state: "待缴费"
}, {
name: '黄海龙',
casesNumber: 3,
totalAmount: '1000',
date: '2016-05-02',
presenter: '韩超勃',
state: "待缴费"
}
]
}; };
}, },
created() { created() {
this.getList(); // this.getList();
}, },
methods: { methods: {
// 取消按钮 // 取消按钮
cancel() { cancel() {
this.open = false; this.open = false;
}, },
payCancel() { /** 新增按钮操作 */
this.openPay = false; confirmation() {
}, debugger
/** 查看缴费清单 */
confirmation(val) {
this.getDetail({ id: val.id })
this.open = true; this.open = true;
this.title = "缴费清单"; this.title = "缴费确认";
},
payStatus(val) {
this.confirmPayFn({ id: val.id })
this.payTitle = "缴费确认";
// console.log(")))))))))))))))))))))))))", val);
}, },
// 提交表单 // 提交表单
submitForm() { }, submitForm(){},
/** 查询案件列表 */ /** 查询登录日志列表 */
getList() { getList() {
this.loading = true; // this.loading = true;
caseApplicationList(this.queryParams).then(response => { // list(this.queryParams).then(response => {
this.dataList = response.rows; // this.list = response.rows;
this.dataList.forEach(item => { // this.total = response.total;
if (item.caseStatus == 2) { // this.loading = false;
item.caseStatusName = '待缴费确认' // });
}
if (item.arbitratMethod == "1") {
item.arbitratMethodName = '视频仲裁'
} else if (item.arbitratMethod == "2") {
item.arbitratMethodName = '书面仲裁'
}
});
this.total = response.total;
this.loading = false;
});
},
/** 查询详情 */
getDetail(parms) {
caseApplicationDetail(parms).then(res => {
if (res.data.caseStatus == 2) {
res.data.caseStatusName = '待缴费确认'
}
this.form = res.data;
})
},
// 确认缴费
confirmPayFn(parms){
confirmPay(parms).then(res=>{
this.$message({
message: '确认成功',
type: 'success'
});
})
this.getList();
}, },
/** 搜索按钮操作 */ /** 搜索按钮操作 */
handleQuery() { handleQuery() {
@@ -191,8 +189,5 @@ export default {
} }
}; };
</script> </script>
<style scoped lang="scss">
</style>
+90 -176
View File
@@ -20,47 +20,46 @@
<span>{{ (pageNum - 1) * pageSize + scope.$index + 1 }}</span> <span>{{ (pageNum - 1) * pageSize + scope.$index + 1 }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="案件编号" align="center" prop="caseNum" :show-overflow-tooltip="true" /> <el-table-column label="申请人名称" align="center" prop="name" :show-overflow-tooltip="true" />
<el-table-column label="案件标的" align="center" prop="caseSubjectAmount" :show-overflow-tooltip="true" /> <el-table-column label="案件数量" align="center" prop="casesNumber" :show-overflow-tooltip="true" />
<el-table-column label="立案日期" align="center" prop="registerDate" /> <el-table-column label="标的总金额" align="center" prop="totalAmount" />
<el-table-column label="仲裁方式" align="center" prop="arbitratMethodName" :show-overflow-tooltip="true" /> <el-table-column label="提交日期" align="center" prop="date" :show-overflow-tooltip="true" />
<el-table-column label="案件状态" align="center" prop="caseStatusName" /> <el-table-column label="提交人" align="center" prop="presenter" :show-overflow-tooltip="true" />
<el-table-column label="状态" align="center" prop="state" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-view" @click="confirmation(scope.row)" <el-button size="mini" type="text" icon="el-icon-download" @click="confirmation(scope.row)"
v-hasPermi="['monitor:online:forceLogout']" style="margin-right: 10px;">查看缴费清单</el-button> v-hasPermi="['monitor:online:forceLogout']">查看缴费清单</el-button>
<el-popconfirm title="是否确认缴费" @confirm="payStatus(scope.row)"> <el-button size="mini" type="text" icon="el-icon-bank-card" @click="confirmation(scope.row)"
<el-button slot="reference" size="mini" type="text" icon="el-icon-bank-card" v-hasPermi="['monitor:online:forceLogout']">缴费</el-button>
v-hasPermi="['monitor:online:forceLogout']">缴费</el-button>
</el-popconfirm>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<el-dialog :title="title" :visible.sync="open" width="800px" append-to-body> <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="150px" :disabled="true"> <el-form ref="form" :model="form" :rules="rules" label-width="150px" :disabled="true">
<el-form-item label="案件编号:" prop="caseNum"> <el-form-item label="案件编号:" prop="caseNumber">
<el-input v-model="form.caseNum" placeholder="" /> <el-input v-model="form.caseNumber" placeholder="请输入岗位名称" />
</el-form-item> </el-form-item>
<el-form-item label="申请人:" prop="applicant"> <el-form-item label="申请人:" prop="applicant">
<el-input v-model="form.applicant" placeholder="" /> <el-input v-model="form.applicant" placeholder="请输入编码名称" />
</el-form-item> </el-form-item>
<el-form-item label="案件标的:" prop="caseSubjectAmount"> <el-form-item label="案件标的:" prop="caseIdentifying">
<el-input-number v-model="form.caseSubjectAmount" controls-position="right" :min="0" /> <el-input-number v-model="form.caseIdentifying" controls-position="right" :min="0" />
</el-form-item> </el-form-item>
<el-form-item label="案件应缴费用:" prop="feePayable"> <el-form-item label="案件应缴费用:" prop="feePayable">
<el-input-number v-model="form.feePayable" controls-position="right" :min="0" /> <el-input-number v-model="form.feePayable" controls-position="right" :min="0" />
</el-form-item> </el-form-item>
<el-form-item label="案件实缴费用:" prop="paidExpenses"> <el-form-item label="案件实缴费用:" prop="actualPayment">
<el-input-number v-model="form.paidExpenses" controls-position="right" :min="0" /> <el-input-number v-model="form.actualPayment" controls-position="right" :min="0" />
</el-form-item> </el-form-item>
<el-form-item label="被申请人:" prop="respondent"> <el-form-item label="被申请人:" prop="respondent">
<el-input v-model="form.Respondent" placeholder="" /> <el-input v-model="form.Respondent" placeholder="请输入编码名称" />
</el-form-item> </el-form-item>
<el-form-item label="申请人仲裁诉求:" prop="arbitratClaims"> <el-form-item label="申请人仲裁诉求:" prop="appeal">
<el-input v-model="form.arbitratClaims" placeholder="" /> <el-input v-model="form.appeal" placeholder="请输入编码名称" />
</el-form-item> </el-form-item>
<el-form-item label="案件状态:" prop="caseStatusName"> <el-form-item label="案件状态:" prop="state">
<el-input v-model="form.caseStatusName" placeholder="" /> <el-input v-model="form.state" placeholder="请输入编码名称" />
</el-form-item> </el-form-item>
</el-form> </el-form>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
@@ -68,42 +67,17 @@
<el-button @click="cancel">取 消</el-button> <el-button @click="cancel">取 消</el-button>
</div> </div>
</el-dialog> </el-dialog>
<el-dialog :title="payTitle" :visible.sync="openPay" v-if="openPay" width="800px" append-to-body> <pagination v-show="total > 0" :total="total" :page.sync="pageNum" :limit.sync="pageSize" />
<el-descriptions title="订单信息">
<el-descriptions-item label="案件编号:">{{ form.caseNum }}</el-descriptions-item>
<el-descriptions-item label="申请人:">{{ form.applicant }}</el-descriptions-item>
<el-descriptions-item label="案件标的:">{{ form.caseSubjectAmount }}</el-descriptions-item>
<el-descriptions-item label="案件应缴费用:">{{ form.feePayable }}</el-descriptions-item>
<el-descriptions-item label="被申请人:">{{ form.respondent }}</el-descriptions-item>
<el-descriptions-item label="申请人仲裁诉求:">{{ form.arbitratClaims }}</el-descriptions-item>
<el-descriptions-item label="案件状态:">{{ form.caseStatusName }}</el-descriptions-item>
</el-descriptions>
<div class="payType">
<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="payTitle">{{ payMain }}</div>
<div slot="footer" class="dialog-footer">
<el-button @click="payCancel">取 消</el-button>
</div>
</el-dialog>
<pagination v-show="total > 0" :total="total" :page.sync="pageNum" :limit.sync="pageSize" @pagination="getList" />
</div> </div>
</template> </template>
<script> <script>
import { caseApplicationList, caseApplicationDetail, casePay } from "@/api/pay/pay"; import { list, forceLogout } from "@/api/monitor/online";
import QRCode from 'qrcodejs2';
export default { export default {
name: "payList", name: "payList",
data() { data() {
return { return {
// 付款二维码
paySrc: "",
// 遮罩层 // 遮罩层
loading: false, loading: false,
// 总条数 // 总条数
@@ -114,124 +88,93 @@ export default {
pageSize: 10, pageSize: 10,
// 弹出层标题 // 弹出层标题
title: "", title: "",
payTitle: "",
// 是否显示弹出层 // 是否显示弹出层
open: false, open: false,
openPay: false,
// 查询参数 // 查询参数
queryParams: { queryParams: {
caseStatus: 2, ipaddr: undefined,
pageNum: 1, userName: undefined
pageSize: 10
}, },
// 弹出层内容 // 弹出层内容
form: {}, form: {
caseNumber:'111',
applicant:'韩超勃',
caseIdentifying:10000,
feePayable:1000,
actualPayment:980,
Respondent:'黄海龙',
appeal:'杀人放火',
state:'已缴费',
},
// 校验表单 // 校验表单
rules: { rules: {
postName: [
{ required: true, message: "岗位名称不能为空", trigger: "blur" }
],
postCode: [
{ required: true, message: "岗位编码不能为空", trigger: "blur" }
],
postSort: [
{ required: true, message: "岗位顺序不能为空", trigger: "blur" }
]
}, },
dataList: [], dataList: [
// 支付文字 {
payMain: "", name: '黄海龙',
// 支付元素显示 casesNumber: 1,
payFlag: false, totalAmount: '1000',
// 案件id,案件实付金额 date: '2016-05-02',
payForm: {} presenter: '韩超勃',
state: "待缴费"
}, {
name: '黄海龙',
casesNumber: 1,
totalAmount: '1000',
date: '2016-05-02',
presenter: '韩超勃',
state: "待缴费"
}, {
name: '黄海龙',
casesNumber: 2,
totalAmount: '1000',
date: '2016-05-02',
presenter: '韩超勃',
state: "待缴费"
}, {
name: '黄海龙',
casesNumber: 3,
totalAmount: '1000',
date: '2016-05-02',
presenter: '韩超勃',
state: "待缴费"
}
]
}; };
}, },
created() { created() {
this.getList(); // this.getList();
}, },
methods: { methods: {
// 生成二维码
qrcode(url) { // 前端根据 URL 生成微信支付二维码
document.getElementById("qrcodeImg").innerHTML = "";
return new QRCode('qrcodeImg', {
width: 200,
height: 200,
text: url,
colorDark: '#000',
colorLight: '#fff'
});
},
// 取消按钮 // 取消按钮
cancel() { cancel() {
this.open = false; this.open = false;
}, },
payCancel() { /** 新增按钮操作 */
this.openPay = false; confirmation() {
}, debugger
/** 查看缴费清单 */
confirmation(val) {
this.getDetail({ id: val.id })
this.open = true; this.open = true;
this.title = "缴费清单"; this.title = "缴费确认";
},
payStatus(val) {
this.getDetail({ id: val.id })
this.openPay = true;
this.payMain = "";
this.payTitle = "缴费确认";
// console.log(")))))))))))))))))))))))))", val);
}, },
// 提交表单 // 提交表单
submitForm() { }, submitForm(){},
/** 查询案件列表 */ /** 查询登录日志列表 */
getList() { getList() {
this.loading = true; // this.loading = true;
caseApplicationList(this.queryParams).then(response => { // list(this.queryParams).then(response => {
this.dataList = response.rows; // this.list = response.rows;
this.dataList.forEach(item => { // this.total = response.total;
if (item.caseStatus == 1) { // this.loading = false;
item.caseStatusName = '待缴费' // });
}
if (item.arbitratMethod == "1") {
item.arbitratMethodName = '视频仲裁'
} else if (item.arbitratMethod == "2") {
item.arbitratMethodName = '书面仲裁'
}
});
this.total = response.total;
this.loading = false;
});
},
/** 查询详情 */
getDetail(parms) {
caseApplicationDetail(parms).then(res => {
if (res.data.caseStatus == 1) {
res.data.caseStatusName = '待缴费'
}
this.form = res.data;
this.payForm.feePayable = res.data.feePayable;
this.payForm.caseId = res.data.id
})
},
// 支付
pay(val) {
if (this.payForm.feePayable == 0 || !this.payForm.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.payForm.feePayable * 100,
caseId: this.payForm.caseId,
tradeType: "native",
platform: payType
}).then(res => {
this.paySrc = res.data.code_url
this.qrcode(this.paySrc)
})
}, },
/** 搜索按钮操作 */ /** 搜索按钮操作 */
handleQuery() { handleQuery() {
@@ -246,34 +189,5 @@ export default {
} }
}; };
</script> </script>
<style scoped lang="scss">
.payType {
height: 80px;
line-height: 80px;
.icon-weixinzhifu {
font-size: 24px;
color: #27a56f;
margin-right: 15px;
}
.icon-zhifubao {
font-size: 24px;
color: #1d76cc;
}
}
.payImg {
width: 100%;
display: flex;
justify-content: center;
}
.payTitle {
margin-top: 20px;
width: 100%;
text-align: center;
}
</style>
@@ -1,133 +0,0 @@
<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-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.applicantName" placeholder="" />
</el-form-item>
<el-form-item label="缴费金额:" prop="feePayable">
<el-input v-model="form.feePayable" />
</el-form-item>
<!-- <el-form-item label="缴费截图:" prop="respondent">
<el-input v-model="form.Respondent" placeholder="" />
</el-form-item> -->
<el-form-item label="案件状态:" prop="caseStatusName">
<!-- <el-input v-model="form.caseStatusName" placeholder="" /> -->
<el-tag>{{ form.caseStatusName }}</el-tag>
</el-form-item>
<el-form-item label="支付状态:" prop="paymentStatusName">
<!-- <el-input v-model="form.paymentStatusName" placeholder="" /> -->
<el-tag effect="dark" type="success">
{{ form.paymentStatusName }}
</el-tag>
</el-form-item>
<el-form-item label="缴费凭证:" prop="caseStatusName">
<div style="color: #104fad;cursor:pointer" v-for="(item, index) in form.payOrderList" :key="index" @click="preview(item.annexPath)">
{{ item.annexName }}
</div>
<!-- <el-tag>{{ form.caseStatusName }}</el-tag> -->
</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 @click="cancel" class="endbutton1">取 消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { confirmPay } from "@/api/pay/pay";
export default {
props: ["openDialog", "title", "flag", "detailform", "getList"],
data() {
return {
// key: value
form: {},
srcList: []
};
},
watch: {
detailform: {
handler(val) {
if (val) {
this.form = val;
}
},
},
},
methods: {
preview(data) {
window.open(
window.location.origin + "/API" + data,
"_blank"
);
},
// 确认缴费
submitForm() {
confirmPay({ id: this.form.id }).then((res) => {
this.$message({
message: "确认成功",
type: "success",
});
if (res.code == 200) {
this.getList();
}
});
this.cancel();
},
cancel() {
this.$emit("cancelpaymentdetails");
},
},
};
</script>
<style lang="scss" scoped>
::v-deep .el-dialog {
width: 50%;
background: #ffffff;
border-radius: 20px;
}
.endbutton {
width: 124px;
height: 37px;
background: #0072ff;
border-radius: 19px;
span {
width: 32px;
height: 15px;
font-size: 16px;
font-family: Microsoft YaHei;
font-weight: 400;
color: #ffffff;
// line-height: 48px;
}
}
.endbutton1 {
width: 124px;
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>
-219
View File
@@ -1,219 +0,0 @@
<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 label="案件状态" prop="caseStatus">
<el-select :disabled="caseStatusType" v-model="queryParams.caseStatus" placeholder="请选择案件状态" clearable @keyup.enter.native="handleQuery">
<el-option v-for="dict in caseStatus" :key="dict.dictSort" :label="dict.dictLabel"
:value="dict.dictSort"></el-option>
</el-select>
</el-form-item>
<el-form-item label="是否完成" prop="selectCaseStatus">
<el-select v-model="queryParams.selectCaseStatus" placeholder="请选择状态" clearable @keyup.enter.native="handleQuery">
<el-option v-for="dict in selectCaseStatusList" :key="dict.value" :label="dict.label"
:value="dict.value"></el-option>
</el-select>
</el-form-item>
<!-- <el-form-item label="立案日期" prop="registerDate">
<el-date-picker
v-model="queryParams.registerDate"
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>
<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="caseSubjectAmount" />
<el-table-column label="立案日期" align="center" prop="registerDate" :show-overflow-tooltip="true" />
<!-- 缴费人 -->
<!-- <el-table-column label="缴费人" align="center" prop="caseArbitrator" /> -->
<el-table-column label="案件状态" align="center" prop="caseStatusName">
<template slot-scope="scope">
<el-tag type="warning">{{ scope.row.caseStatusName }}</el-tag>
</template>
</el-table-column>
<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-zoom-in" @click="paymentconfirmationRow(scope.row)"
v-if="checkPermi(['paymentManagement:list:payconfirm']) && btnStatus">缴费确认</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="viewpaymentformRow(scope.row)"
v-hasPermi="['paymentManagement:list:detail']">查看缴费单</el-button>
</template>
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
@pagination="getList" />
<!-- 缴费确认数据详情 -->
<paymentdetailsDialog :openDialog="openDialog" :detailform="detailform" :title="title" :flag="flag" :getList="getList"
@cancelpaymentdetails="cancelpaymentdetails"></paymentdetailsDialog>
</div>
</template>
<script>
import {
caseApplicationList,
selectCaseApplicationConfirm,
casePay,
} from "@/api/pay/pay";
import paymentdetailsDialog from "./components/paymentdetailsDialog.vue";
import { getDicts } from '@/api/system/dict/data.js'
export default {
name: "paymentList",
// dicts: ["case_status"],
components: { paymentdetailsDialog },
data() {
return {
queryParams: {
caseNum: undefined,
pageNum: 1,
caseStatusList: [3],
registerDate: "",
pageSize: 10,
},
// 付款二维码
paySrc: "",
// 遮罩层
loading: false,
// 总条数
total: 0,
// 表格数据
list: [],
pageNum: 1,
pageSize: 10,
// 弹出层标题
title: "",
payTitle: "",
// 是否显示弹出层
open: false,
openPay: false,
// 弹出层内容
form: {},
// 校验表单
rules: {},
dataList: [],
// 支付文字
payMain: "",
// 支付元素显示
payFlag: false,
// 案件id,案件实付金额
payForm: {},
detailform: {}, //缴费详情数据
openDialog: false, //缴费详情数据弹框
flag: null,
caseStatus: [],
selectCaseStatusList: [
{
label: "待办案件",
value: 0
},
{
label: "已办案件",
value: 1
}
],
caseStatusType:false,
btnStatus:true,
};
},
created() {
getDicts("case_status").then(res => {
this.caseStatus = res.data;
let params = this.$route.params.status;
if (params >= 0) {
this.queryParams.caseStatus = params;
}
this.getList();
})
},
methods: {
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
if (this.queryParams.selectCaseStatus == 1) {
this.queryParams.caseStatus = null;
this.caseStatusType = true;
this.btnStatus = false;
} else if (this.queryParams.selectCaseStatus == 0) {
this.caseStatusType = false;
this.btnStatus = true;
}
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
// 查询列表数据
getList() {
this.loading = true;
caseApplicationList(this.queryParams).then((response) => {
this.dataList = response.rows;
this.dataList.forEach((item) => {
if (item.caseStatus == 1) {
item.caseStatusName = "待缴费";
}
if (item.arbitratMethod == "1") {
item.arbitratMethodName = "视频仲裁";
} else if (item.arbitratMethod == "2") {
item.arbitratMethodName = "书面仲裁";
}
});
this.total = response.total;
this.loading = false;
});
},
// 缴费确认
paymentconfirmationRow(row) {
// console.log("缴费确认", row);
this.getDetail({ id: row.id });
this.openDialog = true;
this.title = "缴费确认";
this.flag = 0;
this.detailform = {}
},
// 查看缴费单
viewpaymentformRow(row) {
// console.log("查看缴费单", row);
this.getDetail({ id: row.id });
this.openDialog = true;
this.title = "缴费单详情";
this.flag = 1;
this.detailform = {}
},
// 关闭弹窗
cancelpaymentdetails() {
this.openDialog = false;
},
/** 查询详情 */
getDetail(parms) {
selectCaseApplicationConfirm(parms).then((res) => {
// console.log(res,'resesrrsrrsrrsrsr');
// if (res.data.caseStatus == 2) {
// res.data.caseStatusName = "待缴费确认";
// }
this.detailform = res.data;
});
},
},
};
</script>
<style lang="scss" scoped></style>
+2 -2
View File
@@ -1,7 +1,7 @@
<template> <template>
<div class="register"> <div class="register">
<el-form ref="registerForm" :model="registerForm" :rules="registerRules" class="register-form"> <el-form ref="registerForm" :model="registerForm" :rules="registerRules" class="register-form">
<h3 class="title">智慧仲裁系统</h3> <h3 class="title">智慧仲裁后台管理系统</h3>
<el-form-item prop="username"> <el-form-item prop="username">
<el-input v-model="registerForm.username" type="text" auto-complete="off" placeholder="账号"> <el-input v-model="registerForm.username" type="text" 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" />
@@ -61,7 +61,7 @@
</el-form> </el-form>
<!-- 底部 --> <!-- 底部 -->
<div class="el-register-footer"> <div class="el-register-footer">
<span>Copyright © 2023 乙巢(上海)企业管理服务有限公司</span> <span>Copyright © 2018-2023 Smart arbitration.vip All Rights Reserved.</span>
</div> </div>
</div> </div>
</template> </template>
+68 -59
View File
@@ -2,12 +2,21 @@
<div class="app-container"> <div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch">
<el-form-item label="部门名称" prop="deptName"> <el-form-item label="部门名称" prop="deptName">
<el-input v-model="queryParams.deptName" placeholder="请输入部门名称" clearable @keyup.enter.native="handleQuery" /> <el-input
v-model="queryParams.deptName"
placeholder="请输入部门名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item> </el-form-item>
<el-form-item label="状态" prop="status"> <el-form-item label="状态" prop="status">
<el-select v-model="queryParams.status" placeholder="部门状态" clearable> <el-select v-model="queryParams.status" placeholder="部门状态" clearable>
<el-option v-for="dict in dict.type.sys_normal_disable" :key="dict.value" :label="dict.label" <el-option
:value="dict.value" /> v-for="dict in dict.type.sys_normal_disable"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
@@ -18,22 +27,40 @@
<el-row :gutter="10" class="mb8"> <el-row :gutter="10" class="mb8">
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd(1)" <el-button
v-hasPermi="['system:dept:add']">新增</el-button> type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['system:dept:add']"
>新增</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="info" plain icon="el-icon-sort" size="mini" @click="toggleExpandAll">展开/折叠</el-button> <el-button
type="info"
plain
icon="el-icon-sort"
size="mini"
@click="toggleExpandAll"
>展开/折叠</el-button>
</el-col> </el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row> </el-row>
<el-table v-if="refreshTable" v-loading="loading" :data="deptList" row-key="deptId" :default-expand-all="isExpandAll" <el-table
:tree-props="{ children: 'children', hasChildren: 'hasChildren' }"> v-if="refreshTable"
v-loading="loading"
:data="deptList"
row-key="deptId"
:default-expand-all="isExpandAll"
:tree-props="{children: 'children', hasChildren: 'hasChildren'}"
>
<el-table-column prop="deptName" label="部门名称" width="260"></el-table-column> <el-table-column prop="deptName" label="部门名称" width="260"></el-table-column>
<el-table-column prop="orderNum" label="排序" width="200"></el-table-column> <el-table-column prop="orderNum" label="排序" width="200"></el-table-column>
<el-table-column prop="status" label="状态" width="100"> <el-table-column prop="status" label="状态" width="100">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status" /> <dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status"/>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="创建时间" align="center" prop="createTime" width="200"> <el-table-column label="创建时间" align="center" prop="createTime" width="200">
@@ -43,12 +70,28 @@
</el-table-column> </el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" <el-button
v-hasPermi="['system:dept:edit']">修改</el-button> size="mini"
<el-button size="mini" type="text" icon="el-icon-plus" @click="handleAdd(scope.row)" type="text"
v-hasPermi="['system:dept:add']">新增</el-button> icon="el-icon-edit"
<el-button v-if="scope.row.parentId != 0" size="mini" type="text" icon="el-icon-delete" @click="handleUpdate(scope.row)"
@click="handleDelete(scope.row)" v-hasPermi="['system:dept:remove']">删除</el-button> v-hasPermi="['system:dept:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-plus"
@click="handleAdd(scope.row)"
v-hasPermi="['system:dept:add']"
>新增</el-button>
<el-button
v-if="scope.row.parentId != 0"
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['system:dept:remove']"
>删除</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@@ -57,12 +100,7 @@
<el-dialog :title="title" :visible.sync="open" width="600px" append-to-body> <el-dialog :title="title" :visible.sync="open" width="600px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-row> <el-row>
<!-- <el-col :span="24" v-if="form.parentId !== 0"> <el-col :span="24" v-if="form.parentId !== 0">
<el-form-item label="上级部门" prop="parentId">
<treeselect v-model="form.parentId" :options="deptOptions" :normalizer="normalizer" placeholder="选择上级部门" />
</el-form-item>
</el-col> -->
<el-col :span="24" v-if="flag">
<el-form-item label="上级部门" prop="parentId"> <el-form-item label="上级部门" prop="parentId">
<treeselect v-model="form.parentId" :options="deptOptions" :normalizer="normalizer" placeholder="选择上级部门" /> <treeselect v-model="form.parentId" :options="deptOptions" :normalizer="normalizer" placeholder="选择上级部门" />
</el-form-item> </el-form-item>
@@ -98,26 +136,14 @@
<el-input v-model="form.email" placeholder="请输入邮箱" maxlength="50" /> <el-input v-model="form.email" placeholder="请输入邮箱" maxlength="50" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<!-- <el-col :span="12">
<el-form-item label="部门类型" prop="deptType">
<el-input v-model="form.deptType" placeholder="请输入部门编码" maxlength="50" />
</el-form-item>
</el-col> -->
<el-col :span="12">
<el-form-item label="部门类型" prop="deptType">
<el-select v-model="form.deptType" placeholder="请选择部门类型">
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="部门状态"> <el-form-item label="部门状态">
<el-radio-group v-model="form.status"> <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-radio-group>
</el-form-item> </el-form-item>
</el-col> </el-col>
@@ -142,7 +168,6 @@ export default {
components: { Treeselect }, components: { Treeselect },
data() { data() {
return { return {
flag: false,
// 遮罩层 // 遮罩层
loading: true, loading: true,
// 显示搜索条件 // 显示搜索条件
@@ -174,9 +199,6 @@ export default {
deptName: [ deptName: [
{ required: true, message: "部门名称不能为空", trigger: "blur" } { required: true, message: "部门名称不能为空", trigger: "blur" }
], ],
deptType: [
{ required: true, message: "部门类型不能为空", trigger: "blur" }
],
orderNum: [ orderNum: [
{ required: true, message: "显示排序不能为空", trigger: "blur" } { required: true, message: "显示排序不能为空", trigger: "blur" }
], ],
@@ -194,14 +216,7 @@ export default {
trigger: "blur" trigger: "blur"
} }
] ]
}, }
options: [{
value: 1,
label: '仲裁机构'
}, {
value: 2,
label: '金融公司'
},],
}; };
}, },
created() { created() {
@@ -257,12 +272,6 @@ export default {
}, },
/** 新增按钮操作 */ /** 新增按钮操作 */
handleAdd(row) { handleAdd(row) {
console.log(row, "LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL");
if (row == 1) {
this.flag = false;
} else {
this.flag = true;
}
this.reset(); this.reset();
if (row != undefined) { if (row != undefined) {
this.form.parentId = row.deptId; this.form.parentId = row.deptId;
@@ -298,7 +307,7 @@ export default {
}); });
}, },
/** 提交按钮 */ /** 提交按钮 */
submitForm: function () { submitForm: function() {
this.$refs["form"].validate(valid => { this.$refs["form"].validate(valid => {
if (valid) { if (valid) {
if (this.form.deptId != undefined) { if (this.form.deptId != undefined) {
@@ -319,12 +328,12 @@ export default {
}, },
/** 删除按钮操作 */ /** 删除按钮操作 */
handleDelete(row) { handleDelete(row) {
this.$modal.confirm('是否确认删除名称为"' + row.deptName + '"的数据项?').then(function () { this.$modal.confirm('是否确认删除名称为"' + row.deptName + '"的数据项?').then(function() {
return delDept(row.deptId); return delDept(row.deptId);
}).then(() => { }).then(() => {
this.getList(); this.getList();
this.$modal.msgSuccess("删除成功"); this.$modal.msgSuccess("删除成功");
}).catch(() => { }); }).catch(() => {});
} }
} }
}; };
+192 -106
View File
@@ -4,35 +4,75 @@
<!--部门数据--> <!--部门数据-->
<el-col :span="4" :xs="24"> <el-col :span="4" :xs="24">
<div class="head-container"> <div class="head-container">
<el-input v-model="deptName" placeholder="请输入部门名称" clearable size="small" prefix-icon="el-icon-search" <el-input
style="margin-bottom: 20px" /> v-model="deptName"
placeholder="请输入部门名称"
clearable
size="small"
prefix-icon="el-icon-search"
style="margin-bottom: 20px"
/>
</div> </div>
<div class="head-container"> <div class="head-container">
<el-tree :data="deptOptions" :props="defaultProps" :expand-on-click-node="false" <el-tree
:filter-node-method="filterNode" ref="tree" node-key="id" default-expand-all highlight-current :data="deptOptions"
@node-click="handleNodeClick" /> :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> </div>
</el-col> </el-col>
<!--用户数据--> <!--用户数据-->
<el-col :span="20" :xs="24"> <el-col :span="20" :xs="24">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="用户名称" prop="userName"> <el-form-item label="用户名称" prop="userName">
<el-input v-model="queryParams.userName" placeholder="请输入用户名称" clearable style="width: 240px" <el-input
@keyup.enter.native="handleQuery" /> v-model="queryParams.userName"
placeholder="请输入用户名称"
clearable
style="width: 240px"
@keyup.enter.native="handleQuery"
/>
</el-form-item> </el-form-item>
<el-form-item label="手机号码" prop="phonenumber"> <el-form-item label="手机号码" prop="phonenumber">
<el-input v-model="queryParams.phonenumber" placeholder="请输入手机号码" clearable style="width: 240px" <el-input
@keyup.enter.native="handleQuery" /> v-model="queryParams.phonenumber"
placeholder="请输入手机号码"
clearable
style="width: 240px"
@keyup.enter.native="handleQuery"
/>
</el-form-item> </el-form-item>
<el-form-item label="状态" prop="status"> <el-form-item label="状态" prop="status">
<el-select v-model="queryParams.status" placeholder="用户状态" clearable style="width: 240px"> <el-select
<el-option v-for="dict in dict.type.sys_normal_disable" :key="dict.value" :label="dict.label" v-model="queryParams.status"
:value="dict.value" /> 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-select>
</el-form-item> </el-form-item>
<el-form-item label="创建时间"> <el-form-item label="创建时间">
<el-date-picker v-model="dateRange" style="width: 240px" value-format="yyyy-MM-dd" type="daterange" <el-date-picker
range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"></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-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
@@ -42,24 +82,56 @@
<el-row :gutter="10" class="mb8"> <el-row :gutter="10" class="mb8">
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd" <el-button
v-hasPermi="['system:user:add']">新增</el-button> type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['system:user:add']"
>新增</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate" <el-button
v-hasPermi="['system:user:edit']">修改</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>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="danger" plain icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete" <el-button
v-hasPermi="['system:user:remove']">删除</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>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="info" plain icon="el-icon-upload2" size="mini" @click="handleImport" <el-button
v-hasPermi="['system:user:import']">导入</el-button> type="info"
plain
icon="el-icon-upload2"
size="mini"
@click="handleImport"
v-hasPermi="['system:user:import']"
>导入</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" <el-button
v-hasPermi="['system:user:export']">导出</el-button> type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['system:user:export']"
>导出</el-button>
</el-col> </el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList" :columns="columns"></right-toolbar> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList" :columns="columns"></right-toolbar>
</el-row> </el-row>
@@ -67,18 +139,18 @@
<el-table v-loading="loading" :data="userList" @selection-change="handleSelectionChange"> <el-table v-loading="loading" :data="userList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="50" align="center" /> <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="userId" prop="userId" v-if="columns[0].visible" />
<el-table-column label="用户名称" align="center" key="userName" prop="userName" v-if="columns[1].visible" <el-table-column label="用户名称" align="center" key="userName" prop="userName" v-if="columns[1].visible" :show-overflow-tooltip="true" />
: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="nickName" prop="nickName" v-if="columns[2].visible" <el-table-column label="部门" align="center" key="deptName" prop="dept.deptName" v-if="columns[3].visible" :show-overflow-tooltip="true" />
: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="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"> <el-table-column label="状态" align="center" key="status" v-if="columns[5].visible">
<template slot-scope="scope"> <template slot-scope="scope">
<el-switch v-model="scope.row.status" active-value="0" inactive-value="1" <el-switch
@change="handleStatusChange(scope.row)"></el-switch> v-model="scope.row.status"
active-value="0"
inactive-value="1"
@change="handleStatusChange(scope.row)"
></el-switch>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="创建时间" align="center" prop="createTime" v-if="columns[6].visible" width="160"> <el-table-column label="创建时间" align="center" prop="createTime" v-if="columns[6].visible" width="160">
@@ -86,14 +158,28 @@
<span>{{ parseTime(scope.row.createTime) }}</span> <span>{{ parseTime(scope.row.createTime) }}</span>
</template> </template>
</el-table-column> </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"> <template slot-scope="scope" v-if="scope.row.userId !== 1">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" <el-button
v-hasPermi="['system:user:edit']">修改</el-button> size="mini"
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" type="text"
v-hasPermi="['system:user:remove']">删除</el-button> icon="el-icon-edit"
<el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)" @click="handleUpdate(scope.row)"
v-hasPermi="['system:user:resetPwd', 'system:user:edit']"> 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-button size="mini" type="text" icon="el-icon-d-arrow-right">更多</el-button>
<el-dropdown-menu slot="dropdown"> <el-dropdown-menu slot="dropdown">
<el-dropdown-item command="handleResetPwd" icon="el-icon-key" <el-dropdown-item command="handleResetPwd" icon="el-icon-key"
@@ -106,8 +192,13 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" <pagination
@pagination="getList" /> v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</el-col> </el-col>
</el-row> </el-row>
@@ -146,7 +237,7 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item v-if="form.userId == undefined" label="用户密码" prop="password"> <el-form-item v-if="form.userId == undefined" label="用户密码" prop="password">
<el-input v-model="form.password" placeholder="请输入用户密码" type="password" maxlength="20" show-password /> <el-input v-model="form.password" placeholder="请输入用户密码" type="password" maxlength="20" show-password/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@@ -154,16 +245,23 @@
<el-col :span="12"> <el-col :span="12">
<el-form-item label="用户性别"> <el-form-item label="用户性别">
<el-select v-model="form.sex" placeholder="请选择性别"> <el-select v-model="form.sex" placeholder="请选择性别">
<el-option v-for="dict in dict.type.sys_user_sex" :key="dict.value" :label="dict.label" <el-option
:value="dict.value"></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-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="状态"> <el-form-item label="状态">
<el-radio-group v-model="form.status"> <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-radio-group>
</el-form-item> </el-form-item>
</el-col> </el-col>
@@ -172,27 +270,30 @@
<el-col :span="12"> <el-col :span="12">
<el-form-item label="岗位"> <el-form-item label="岗位">
<el-select v-model="form.postIds" multiple placeholder="请选择岗位"> <el-select v-model="form.postIds" multiple placeholder="请选择岗位">
<el-option v-for="item in postOptions" :key="item.postId" :label="item.postName" :value="item.postId" <el-option
:disabled="item.status == 1"></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-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="角色"> <el-form-item label="角色">
<el-select v-model="form.roleIds" multiple placeholder="请选择角色"> <el-select v-model="form.roleIds" multiple placeholder="请选择角色">
<el-option v-for="item in roleOptions" :key="item.roleId" :label="item.roleName" :value="item.roleId" <el-option
:disabled="item.status == 1"></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-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row>
<el-col :span="24">
<el-form-item label="身份证号码" prop="idCard">
<el-input v-model="form.idCard" placeholder="请输入身份证号码"/>
</el-form-item>
</el-col>
</el-row>
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="备注"> <el-form-item label="备注">
@@ -209,9 +310,18 @@
<!-- 用户导入对话框 --> <!-- 用户导入对话框 -->
<el-dialog :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body> <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" <el-upload
:action="upload.url + '?updateSupport=' + upload.updateSupport" :disabled="upload.isUploading" ref="upload"
:on-progress="handleFileUploadProgress" :on-success="handleFileSuccess" :auto-upload="false" drag> :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> <i class="el-icon-upload"></i>
<div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div> <div class="el-upload__text">将文件拖到此处,或<em>点击上传</em></div>
<div class="el-upload__tip text-center" slot="tip"> <div class="el-upload__tip text-center" slot="tip">
@@ -219,8 +329,7 @@
<el-checkbox v-model="upload.updateSupport" /> 是否更新已经存在的用户数据 <el-checkbox v-model="upload.updateSupport" /> 是否更新已经存在的用户数据
</div> </div>
<span>仅允许导入xls、xlsx格式文件。</span> <span>仅允许导入xls、xlsx格式文件。</span>
<el-link type="primary" :underline="false" style="font-size:12px;vertical-align: baseline;" <el-link type="primary" :underline="false" style="font-size:12px;vertical-align: baseline;" @click="importTemplate">下载模板</el-link>
@click="importTemplate">下载模板</el-link>
</div> </div>
</el-upload> </el-upload>
<div slot="footer" class="dialog-footer"> <div slot="footer" class="dialog-footer">
@@ -327,11 +436,6 @@ export default {
{ min: 5, max: 20, message: '用户密码长度必须介于 5 和 20 之间', trigger: 'blur' } { min: 5, max: 20, message: '用户密码长度必须介于 5 和 20 之间', trigger: 'blur' }
], ],
email: [ email: [
{
required: true,
message: '邮箱不能为空',
trigger: 'blur',
},
{ {
type: "email", type: "email",
message: "请输入正确的邮箱地址", message: "请输入正确的邮箱地址",
@@ -340,28 +444,10 @@ export default {
], ],
phonenumber: [ phonenumber: [
{ {
required: true, pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
message: '联系电话不能为空', message: "请输入正确的手机号码",
trigger: 'blur', trigger: "blur"
}, }
{
pattern: /^[1][3,4,5,6,7,8,9][0-9]{9}$/,
message: '请输入正确的手机号码',
trigger: 'blur',
},
],
idCard: [
{
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',
},
] ]
} }
}; };
@@ -384,10 +470,10 @@ export default {
getList() { getList() {
this.loading = true; this.loading = true;
listUser(this.addDateRange(this.queryParams, this.dateRange)).then(response => { listUser(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
this.userList = response.rows; this.userList = response.rows;
this.total = response.total; this.total = response.total;
this.loading = false; this.loading = false;
} }
); );
}, },
/** 查询部门下拉树结构 */ /** 查询部门下拉树结构 */
@@ -409,11 +495,11 @@ export default {
// 用户状态修改 // 用户状态修改
handleStatusChange(row) { handleStatusChange(row) {
let text = row.status === "0" ? "启用" : "停用"; let text = row.status === "0" ? "启用" : "停用";
this.$modal.confirm('确认要"' + text + '""' + row.userName + '"用户吗?').then(function () { this.$modal.confirm('确认要"' + text + '""' + row.userName + '"用户吗?').then(function() {
return changeUserStatus(row.userId, row.status); return changeUserStatus(row.userId, row.status);
}).then(() => { }).then(() => {
this.$modal.msgSuccess(text + "成功"); this.$modal.msgSuccess(text + "成功");
}).catch(function () { }).catch(function() {
row.status = row.status === "0" ? "1" : "0"; row.status = row.status === "0" ? "1" : "0";
}); });
}, },
@@ -480,7 +566,7 @@ export default {
this.roleOptions = response.roles; this.roleOptions = response.roles;
this.open = true; this.open = true;
this.title = "添加用户"; this.title = "添加用户";
// this.form.password = this.initPassword; this.form.password = this.initPassword;
}); });
}, },
/** 修改按钮操作 */ /** 修改按钮操作 */
@@ -507,18 +593,18 @@ export default {
inputPattern: /^.{5,20}$/, inputPattern: /^.{5,20}$/,
inputErrorMessage: "用户密码长度必须介于 5 和 20 之间" inputErrorMessage: "用户密码长度必须介于 5 和 20 之间"
}).then(({ value }) => { }).then(({ value }) => {
resetUserPwd(row.userId, value).then(response => { resetUserPwd(row.userId, value).then(response => {
this.$modal.msgSuccess("修改成功,新密码是:" + value); this.$modal.msgSuccess("修改成功,新密码是:" + value);
}); });
}).catch(() => { }); }).catch(() => {});
}, },
/** 分配角色操作 */ /** 分配角色操作 */
handleAuthRole: function (row) { handleAuthRole: function(row) {
const userId = row.userId; const userId = row.userId;
this.$router.push("/system/user-auth/role/" + userId); this.$router.push("/system/user-auth/role/" + userId);
}, },
/** 提交按钮 */ /** 提交按钮 */
submitForm: function () { submitForm: function() {
this.$refs["form"].validate(valid => { this.$refs["form"].validate(valid => {
if (valid) { if (valid) {
if (this.form.userId != undefined) { if (this.form.userId != undefined) {
@@ -540,12 +626,12 @@ export default {
/** 删除按钮操作 */ /** 删除按钮操作 */
handleDelete(row) { handleDelete(row) {
const userIds = row.userId || this.ids; const userIds = row.userId || this.ids;
this.$modal.confirm('是否确认删除用户编号为"' + userIds + '"的数据项?').then(function () { this.$modal.confirm('是否确认删除用户编号为"' + userIds + '"的数据项?').then(function() {
return delUser(userIds); return delUser(userIds);
}).then(() => { }).then(() => {
this.getList(); this.getList();
this.$modal.msgSuccess("删除成功"); this.$modal.msgSuccess("删除成功");
}).catch(() => { }); }).catch(() => {});
}, },
/** 导出按钮操作 */ /** 导出按钮操作 */
handleExport() { handleExport() {
+5 -10
View File
@@ -11,12 +11,7 @@ const name = process.env.VUE_APP_TITLE || '智慧仲裁管理系统' // 网页
const port = process.env.port || process.env.npm_config_port || 80 // 端口 const port = process.env.port || process.env.npm_config_port || 80 // 端口
const API = 'http://121.40.189.20:9001' //生产 // vue.config.js 配置说明
// const API = 'http://121.40.189.20:8001' //测试
// const API = 'http://192.168.3.18:9001' //B
// const API = 'http://192.168.3.77:9001' //Q
// vue.config.js 配置说明
//官方vue.config.js 参考文档 https://cli.vuejs.org/zh/config/#css-loaderoptions //官方vue.config.js 参考文档 https://cli.vuejs.org/zh/config/#css-loaderoptions
// 这里只列一部分,具体配置参考文档 // 这里只列一部分,具体配置参考文档
module.exports = { module.exports = {
@@ -38,11 +33,11 @@ module.exports = {
port: port, port: port,
open: true, open: true,
proxy: { proxy: {
// detail: https://cli.vuejs.org/config/#devserver-proxy // detail: https://cli.vuejs.org/config/#devserver-proxy
// http://121.40.189.20:9001/
// http://192.168.3.77:8080
[process.env.VUE_APP_BASE_API]: { [process.env.VUE_APP_BASE_API]: {
// target: `http://192.168.3.77:8080`, target: `http://121.40.189.20:9001`,
// target: `http://121.40.189.20:9001`,
target: API,
changeOrigin: true, changeOrigin: true,
pathRewrite: { pathRewrite: {
['^' + process.env.VUE_APP_BASE_API]: '' ['^' + process.env.VUE_APP_BASE_API]: ''