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

This commit was merged in pull request #4.
This commit is contained in:
2024-01-09 19:22:00 +08:00
committed by Gitea
30 changed files with 7981 additions and 4 deletions
+5 -2
View File
@@ -1,8 +1,8 @@
{
"name": "ruoyi",
"version": "3.8.6",
"description": "调解系统",
"author": "若依",
"description": "智慧仲裁管理系统",
"author": "智慧仲裁",
"license": "MIT",
"scripts": {
"dev": "vue-cli-service serve",
@@ -48,13 +48,16 @@
"js-beautify": "1.13.0",
"js-cookie": "3.0.1",
"jsencrypt": "3.0.0-rc.1",
"moment": "^2.29.4",
"nprogress": "0.2.0",
"qrcodejs2": "0.0.2",
"quill": "1.3.7",
"screenfull": "5.0.2",
"sortablejs": "1.10.2",
"vue": "2.6.12",
"vue-count-to": "1.0.13",
"vue-cropper": "0.5.5",
"vue-esign": "^1.1.4",
"vue-meta": "2.4.0",
"vue-router": "3.4.9",
"vuedraggable": "2.24.3",
+141
View File
@@ -0,0 +1,141 @@
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
})
}
// 仲裁员审核裁决书
export function arbitratorCheckArbitrateRecord(data) {
return request({
url: '/caseApplication/arbitrator/checkArbitrateRecord',
method: 'post',
data: data
})
}
+114
View File
@@ -0,0 +1,114 @@
import request from '@/utils/request'
// 查询案件录入列表
export function caseApply(data) {
return request({
url: '/caseApplication/list',
method: 'get',
params: data
})
}
//批量查询案件签名
export function pageSignAdjudicate(data) {
return request({
url: '/adjudication/pageSignAdjudicate',
method: 'get',
params: data
})
}
// 批量签名提交
export function selectBatchSignUrl(data) {
return request({
url: '/adjudication/selectBatchSignUrl',
method: 'post',
data: data
})
}
// 批量签名提交
export function selectBatchSealUrl(data) {
return request({
url: '/adjudication/selectBatchSealUrl',
method: 'post',
data: 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 editCaseApplicationDefineval(data) {
return request({
url: '/caseApplication/editCaseApplicationDefineval',
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,
});
}
+148
View File
@@ -0,0 +1,148 @@
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 creatTrialRecordnew(data) {
return request({
url: "/caseApplication/creatTrialRecordnew",
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,
})
}
+18
View File
@@ -0,0 +1,18 @@
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
})
}
+34
View File
@@ -0,0 +1,34 @@
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
})
}
+77
View File
@@ -0,0 +1,77 @@
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
})
}
+937
View File
@@ -0,0 +1,937 @@
<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.dictValue" :label="dict.dictLabel"
:value="dict.dictValue"></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(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-button type="primary" plain icon="el-icon-plus" size="mini"
@click="batchConfirmation"
v-hasPermi="['caseManagement:list:batchConfirma']"
>
批量缴费确认
</el-button> -->
</el-col>
<!-- <el-col :span="24" style="margin-top:10px;">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="batchSignatures"
v-hasPermi="['caseManagement:list:signature']"
>
批量签名
</el-button>
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="batchPrintings"
v-hasPermi="['caseManagement:list:officialSeal']"
>
批量用印
</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-tickets" @click="evidenceListS(scope.row)" >证据清单</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 && checkPermi(['caseManagement:list:timer'])"
@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" :columnValues="columnValues"></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>
<!-- 证据清单 -->
<evidenceList :evidenceListD ="evidenceListD" @cancelevidenceList="cancelevidenceList" :caseAttachListR ="caseAttachListR"></evidenceList>
<!-- 批量缴费确认 -->
<batchConfirmationPaymen @batchOperate="batchOperate" :batchVisable="batchVisable"></batchConfirmationPaymen>
<!-- 批量签名 -->
<batchSignature :signatureVisable="signatureVisable" @signatureOperate="signatureOperate"></batchSignature>
<!-- 批量用印 -->
<batchPrinting :printingVisable="printingVisable" @printingOperate="printingOperate"></batchPrinting>
</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 evidenceList from './components/evidenceList.vue'
import batchConfirmationPaymen from './components/batchConfirmationPaymen.vue'
import batchSignature from './components/batchSignature.vue'
import batchPrinting from './components/batchPrinting.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,
evidenceList,
batchConfirmationPaymen,
batchSignature,
batchPrinting
},
data() {
return {
// 遮罩层
loading: true,
// 总条数
total: 0,
isapply: "申请人:",
// 表格数据
dataList: [],
// 抓取数据
columnValues:[],
// 审核修改抓取数据
// afterColumnValues:[],
// 查询参数
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, //案件日志弹框显示
evidenceListD:false,//证据清单弹框显示
caseAttachListR:[], //证据清单
flagLoading: true, //案件日志弹框loading
caselogDataArr: [],
options: [], //机构数据
payId: null,
caseStatus: [],
processData: {},
timeVisable: false,
timeData: {},
operateVisable: false,
batchVisable:false,
signatureVisable:false,//批量签名
printingVisable: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;
}
// console.log(this.$route.params.batchNumber)
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;
},
batchOperate(){
this.batchVisable = false;
},
printingOperate(){
this.printingVisable = false;
},
uploadCaseCancel() {
this.uploadCaseVisable = false;
},
signatureOperate(){
this.signatureVisable = false;
},
// 上传证据目录弹窗
uploadCase(row) {
this.uploadCaseData = row;
this.uploadCaseVisable = true;
},
// 批量缴费
batchConfirmation(){
this.batchVisable = true;
},
// 批量签名
batchSignatures(){
this.signatureVisable = true;
},
// 批量用印
batchPrintings(){
this.printingVisable = 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);
},
// 证据清单
evidenceListS(row){
this.evidenceListD = true;
this.getInfo(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;
},
// 关闭案件详情
cancelevidenceList(){
this.evidenceListD = 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;
console.log(this.form)
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.afterColumnValues = res.data.afterCase.columnValues
// console.log(this.afterColumnValues+"8888888888")
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;
console.log(row)
this.showformateCourt = true;
},
cancelcourtReview() {
this.showcourtReview = false;
},
// 选择开庭方式改为审核仲裁方式
choosetrialmethodRow(row) {
// console.log(row, "审核仲裁方式");
this.choosetrialmethodata = row;
console.log(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.caseAttachListR = res.data.caseAttachList;
// 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,
};
console.log(res)
this.initpaymentArr = [];
this.initpaymentArr1 = [];
res.data.caseAffiliates.forEach((item) => {
if (item.identityType == 1) {
this.initpaymentArr.push(item);
} else {
this.initpaymentArr1.push(item);
}
});
this.columnValues = res.data.columnValues;
this.caseAttachList = res.data.caseAttachList;
// console.log(this.caseAttachList,"caseAttachList")
this.form.requestRule = res.data.requestRule;
this.form.properPreser = res.data.properPreser;
this.form.facts =res.data.facts;
this.form.applicantIsWrittenHear = 1
});
},
// 删除
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(97, 224, 23);
}
</style>
@@ -0,0 +1,365 @@
<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>
@@ -0,0 +1,150 @@
<template>
<div>
<!-- 批量确认缴费 -->
<el-dialog title="批量确认缴费" width="65%" :visible="batchVisable" @close="cancel" center :distroy-on-close="true">
<el-table v-loading="loading" style="width: 100%" :data="dataList" @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="案件编号" width="180" prop="caseNum" align="center" :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="仲裁员" prop="arbitratorName" align="center" />
<!-- 开庭日期 -->
<el-table-column label="开庭日期" prop="hearDate" align="center" :show-overflow-tooltip="true" />
<el-table-column label="案件状态" prop="caseStatusName" align="center">
<template slot-scope="scope">
<el-tag type="success">{{ scope.row.caseStatusName }}</el-tag>
</template>
</el-table-column>
</el-table>
<pagination :total="total" :page.sync="queryParamsData.pageNum"
:limit.sync="queryParamsData.pageSize" @pagination="getBatchComfirmation(queryParamsData)" />
<div slot="footer" class="dialog-footer">
<el-button @click="cancel" class="endbutton"><span>取 消</span></el-button>
<el-button type="primary" class="endbutton" :disabled="dataList.length == 0 || batchData.length == 0" @click="submitPay"><span>确认缴费</span></el-button>
</div>
<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 slot="footer" class="dialog-footer">
<el-button @click="payCancel" class="endbutton"><span>取 消</span></el-button>
<el-button type="primary" class="endbutton" @click="submitUpload"><span>确认缴费</span></el-button>
</div>
</el-dialog>
</el-dialog>
</div>
</template>
<script>
import {caseApply} from '@/api/caseAccess/caseEntry'
import { getPayDetail,confirmPay} from "@/api/pay/pay";
export default {
props:["batchVisable"],
data() {
return {
// 遮罩层
loading: true,
// 总条数
total:0,
// 查询参数
queryParamsData: {
caseStatus: 3,
pageNum: 1,
pageSize: 10,
},
// 表格数据
dataList: [],
batchData: [],
payVisible: false,
form: {},
submitForm: {
ids:[]
},
}
},
watch: {
batchVisable(val) {
if (val) {
this.getBatchComfirmation(this.queryParamsData)
}
}
},
created(){
this.getBatchComfirmation(this.queryParamsData)
},
methods:{
// 查询列表
getBatchComfirmation(val){
this.loading = true;
caseApply(val).then(res=>{
this.dataList = res.rows
this.total = res.total;
this.loading = false;
})
},
// 选择勾选框
handleSelectionChange(val) {
this.batchData = [];
val.forEach(item => {
this.batchData.push(item.id)
})
},
// 批量缴费弹窗
submitPay() {
this.payVisible = true;
this.getPayDetailFn({ caseIds: this.batchData })
},
// 查询缴费信息
getPayDetailFn(params) {
getPayDetail(params).then(res => {
console.log(res)
this.form = res.data;
})
},
payCancel() {
this.payVisible = false;
},
submitUpload() {
this.submitForm.ids = this.batchData;
console.log(this.submitForm)
confirmPay(this.submitForm).then(res => {
this.$modal.msgSuccess("成功");
this.payCancel();
this.getBatchComfirmation(this.queryParamsData);
})
},
cancel() {
this.$emit("batchOperate");
},
}
}
</script>
@@ -0,0 +1,194 @@
<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 { pageSignAdjudicate } 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>
@@ -0,0 +1,158 @@
<template>
<!-- 批量用印 -->
<div>
<el-dialog title="批量用印" width="60%" :visible="printingVisable" @close="cancel" center :distroy-on-close="true">
<!-- 查询机构信息 -->
<el-form ref="courtReviewform" :model="courtReviewform">
<el-form-item
label="查询机构:"
prop="Arbitor"
:rules="[
{
required: true,
message: '查询机构不能为空',
trigger: 'blur',
},
]"
>
<el-select
placeholder="请选择查询机构"
@change="changeArbitor"
v-model="courtReviewform.Arbitor"
clearable
>
<el-option
v-for="item in atoDataList"
:key="item.id"
:label="item.identifyName"
:value="item.operPhone"
></el-option>
</el-select>
</el-form-item>
</el-form>
<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="案件编号" prop="caseNum" align="center" :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>
<pagination :total="total" :page.sync="queryParamsData.pageNum"
:limit.sync="queryParamsData.pageSize" />
<div slot="footer" class="dialog-footer">
<el-button @click="cancel" class="endbutton"><span>取 消</span></el-button>
<el-button type="primary" class="endbutton" :disabled="dataList.length == 0 || batchData.length == 0" @click="confirmSeals"><span>确认用印</span></el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import {selectBatchSealUrl,pageSignAdjudicate} from '@/api/caseAccess/caseEntry'
import {deptIdentifyList} from '@/api/officialSeal/officialSeal'
export default {
props:["printingVisable"],
data() {
return {
// 遮罩层
loading: true,
// 总条数
total:0,
// 查询参数
queryParamsData: {
caseStatus: 14,
pageNum: 1,
pageSize: 10,
},
// 表格数据
dataList: [],
batchData: [],
atoDataList:[],
courtReviewform: {},
Arbitor: "",
paramsdata:{
ids:[],
psnAccount:""
},
}
},
watch: {
printingVisable(val) {
if (val) {
this.getBatchPrinting(this.queryParamsData)
}
}
},
created(){
this.getBatchPrinting(this.queryParamsData)
this.getarbitrAtor()
},
methods:{
// 列表查询
getBatchPrinting(val){
this.loading = true;
pageSignAdjudicate(val).then(res=>{
this.dataList = res.rows
this.total = res.total;
this.loading = false;
})
},
// 选择勾选框
handleSelectionChange(val){
this.batchData = [];
val.forEach(item => {
this.batchData.push(item.signFlowId)
this.paramsdata.ids = this.batchData
})
},
// 查询机构信息
getarbitrAtor() {
this.atoDataList =[]
deptIdentifyList({}).then((res) => {
console.log(res)
this.atoDataList = res.rows;
// this.total = res.total;
});
},
// 下拉获取电话号码
changeArbitor(val){
this.paramsdata.psnAccount = val
},
// 确认用印
confirmSeals(){
this.$refs["courtReviewform"].validate((valid) => {
if (valid) {
selectBatchSealUrl(this.paramsdata).then((res) => {
this.$modal.msgSuccess("确认成功");
this.cancel();
this.getBatchPrinting(this.queryParamsData)
window.open(res.data.signUrl)
// this.$emit("getcaseApply", this.queryParams);
})
.catch((err) => {});
}
});
},
cancel() {
this.$emit("printingOperate");
},
}
}
</script>
@@ -0,0 +1,164 @@
<template>
<div>
<!-- 批量签名 -->
<el-dialog title="批量签名" width="60%" :visible="signatureVisable" @close="cancel" center :distroy-on-close="true">
<el-form ref="courtReviewform" :model="courtReviewform">
<el-form-item
label="仲裁员:"
prop="Arbitor"
:rules="[
{
required: true,
message: '仲裁员不能为空',
trigger: 'blur',
},
]"
>
<el-select
placeholder="请选择仲裁员"
@change="changeArbitor"
v-model="courtReviewform.Arbitor"
clearable
>
<el-option
v-for="item in atoDataList"
:key="item.value"
:label="item.nickName"
:value="item.phonenumber"
></el-option>
</el-select>
</el-form-item>
</el-form>
<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="案件编号" prop="caseNum" align="center" :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>
<pagination :total="total" :page.sync="queryParamsData.pageNum"
:limit.sync="queryParamsData.pageSize" @pagination="getBatchComfirmation(queryParamsData)"/>
<div slot="footer" class="dialog-footer">
<el-button @click="cancel" class="endbutton"><span>取 消</span></el-button>
<el-button
type="primary"
class="endbutton"
:disabled="dataList.length == 0 || batchData.length == 0"
@click="witnessing"><span>确认签名</span></el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import {selectBatchSignUrl,pageSignAdjudicate} from '@/api/caseAccess/caseEntry'
import { arbitrAtor} from "@/api/formationCourt/formationCourt";
export default {
props:["signatureVisable"],
data() {
return {
// 遮罩层
loading: true,
// 总条数
total:0,
// 查询参数
queryParamsData: {
caseStatus: 13,//待定
pageNum: 1,
pageSize: 10,
},
// 表格数据
dataList: [],
batchData: [],
atoDataList:[],
courtReviewform: {},
Arbitor: "",
paramsdata:{
ids:[],
psnAccount:""
},
}
},
watch: {
signatureVisable(val) {
if (val) {
this.getBatchSignation(this.queryParamsData)
}
}
},
created(){
this.getBatchSignation(this.queryParamsData)
this.getarbitrAtor()
},
methods:{
// 列表查询
getBatchSignation(val){
this.loading = true;
pageSignAdjudicate(val).then(res=>{
this.dataList = res.rows
this.total = res.total;
this.loading = false;
})
},
// 选择勾选框
handleSelectionChange(val){
this.batchData = [];
val.forEach(item => {
this.batchData.push(item.signFlowId)
this.paramsdata.ids = this.batchData
})
},
// 获取仲裁员信息
getarbitrAtor() {
this.atoDataList =[]
arbitrAtor({}).then((res) => {
this.atoDataList = res.rows;
// this.total = res.total;
});
},
changeArbitor(val) {
this.paramsdata.psnAccount =val
},
// 确认签名
witnessing(){
this.$refs["courtReviewform"].validate((valid) => {
if (valid) {
console.log(this.paramsdata)
selectBatchSignUrl(this.paramsdata).then((res) => {
this.$modal.msgSuccess("确认成功");
this.cancel();
this.getBatchSignation(this.queryParamsData)
window.open(res.data.signUrl)
// this.$emit("getcaseApply", this.queryParams);
})
.catch((err) => {});
}
});
},
cancel() {
this.$emit("signatureOperate");
},
}
}
</script>
@@ -0,0 +1,233 @@
<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" :data="paramsData" 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-form-item :span="24" label="裁决书模板" prop="templateId">
<el-select v-model="form.templateId" placeholder="请选择">
<el-option v-for="dict in templateList" :key="dict.id" :label="dict.temName" :value="dict.id"></el-option>
</el-select>
</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 {
getTemplate,
} from "@/api/officialSeal/officialSeal.js";
import { getToken } from "@/utils/auth";
export default {
props: ["openCompressedPackages", "getcaseApply", "queryParams"],
data() {
return {
// key: value,
form: {},
fileList: [],
templateList: [],
rules: {
// upload: [
// { required: true, message: "案件压缩包不能为空", trigger: "blur" },
// ],
templateId: [
{ required: true, message: "裁决书模板不能为空", trigger: "blur" },
],
},
paramsData:{
// templateId:this.form.templateId
},
// 案件压缩导入
upload: {
// 是否显示弹出层(用户导入)
open: false,
// 弹出层标题(用户导入)
title: "",
// 是否禁用上传
isUploading: false,
// 是否更新已经存在的用户数据
// updateSupport: 0,
// 设置上传的请求头部
headers: { Authorization: "Bearer " + getToken() },
// 上传的地址
url: process.env.VUE_APP_BASE_API + "/caseApplication/uploadCaseZipFile",
},
};
},
watch: {
openCompressedPackages(val) {
if (val) {
this.form = {}
this.getTemplateFn({
pageNum: 1,
pageSize: 10000000,
})
}
},
},
methods: {
submitForm() {
this.paramsData.templateId = this.form.templateId;
this.$refs["form"].validate((valid) => {
if (valid) {
this.$refs.uploadZipBatch.submit();
}
})
},
// 获取裁决书模板
getTemplateFn(data) {
getTemplate(data).then(res => {
console.log(res.rows, "KKKKKKKKKKKKKKKKKKKKKKK");
this.templateList = res.rows;
})
},
// 取消
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
@@ -0,0 +1,113 @@
<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>
@@ -0,0 +1,166 @@
<template>
<div>
<!-- 选择仲裁方式页面 -->
<el-dialog
title="审核仲裁方式"
:visible="showchoosetrialmethod"
width="500px"
@close="cancel"
:destroy-on-close="true"
>
<div v-show="choosetrialmethodata.arbitraMethodIssame==1">
<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>
</div>
<div v-show="choosetrialmethodata.arbitraMethodIssame==2">
<el-descriptions>
<el-descriptions-item label="当前案件开庭方式">{{choosetrialmethodata.arbitratMethodIllustrate}}</el-descriptions-item>
</el-descriptions>
<el-form :model="form" :rules="rules" ref="form">
<el-form-item label="选择开庭方式" prop="arbitratMethod">
<el-radio-group v-model="form.arbitratMethod">
<el-radio :label=2>书面审理</el-radio>
<el-radio :label=1>开庭审理</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="determine(2)">确定</el-button>
<el-button @click="cancel">取消</el-button>
</el-form-item>
</el-form>
</div>
</el-dialog>
</div>
</template>
<script>
import { arbitrateMethod } from "@/api/caseManagement/caseManagement.js";
export default {
name: "showchoosetrialmethodDialog",
props: ["showchoosetrialmethod", "choosetrialmethodata", "queryParams"],
data() {
return {
form:{},
rules:{
arbitratMethod: [
{ required: true, message: '请选择开庭方式', trigger: 'change' }
]
}
};
},
methods: {
// 审核仲裁方式 arbitrateMethod
submitForm(val) {
let paramsdata = {
opinion: val
};
let id = {
id: this.choosetrialmethodata.id,
arbitratMethod:this.choosetrialmethodata.arbitratMethod
};
arbitrateMethod(paramsdata,id)
.then((res) => {
this.$modal.msgSuccess("提交成功");
this.cancel();
this.$emit("getcaseApply", this.queryParams);
})
.catch((err) => {});
},
determine(val){
this.$refs["form"].validate((valid) => {
if (valid) {
let paramsdata = {
opinion: val,
arbitratMethod:this.form.arbitratMethod
};
let id = {
id: this.choosetrialmethodata.id,
};
arbitrateMethod(paramsdata,id)
.then((res) => {
this.$modal.msgSuccess("提交成功");
this.cancel();
this.$emit("getcaseApply", this.queryParams);
})
.catch((err) => {});
} else {
return false;
}
});
},
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>
@@ -0,0 +1,233 @@
<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.nickNameAndNum"
: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>
@@ -0,0 +1,139 @@
<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>
@@ -0,0 +1,100 @@
<template>
<div>
<el-dialog
title="证据清单"
:visible="evidenceListD"
:caseAttachListR = "caseAttachListR"
@close="cancel"
center
:distroy-on-close="true"
>
<div class="loading" v-if ="flagLoading">
<i class="el-icon-loading"></i>
</div>
<div>申请人证据清单:</div>
<div v-for="item in this.caseAttachListR" style="margin-top:10px;">
<el-link target="_blank" type="primary" v-if="item.annexType == 2" :href="fileURL+item.annexPath">{{item.annexName}}</el-link>
</div>
<div style="margin-top:30px;;">被申请人证据清单:</div>
<div v-for="item in this.caseAttachListR" style="margin-top:10px;">
<el-link target="_blank" type="primary" v-if="item.annexType == 6" :href="fileURL+item.annexPath">{{item.annexName}}</el-link>
</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: ["evidenceListD", "flagLoading", "caseAttachListR"],
data() {
return {
fileURL: window.location.origin + "/API",
myData:[]
};
},
created(){
// 获取组件传值监听
// this.$watch('caseAttachListR',(newVal)=>{
// this.myData = newVal;
// console.log(this.myData)
// })
},
methods: {
cancel() {
this.$emit("cancelevidenceList");
}
},
};
</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>
@@ -0,0 +1,117 @@
<template>
<div>
<!-- 立案审查 -->
<el-dialog title="立案审查" :visible="showfilingreview" width="500px" @close="cancel" :destroy-on-close="true">
<div class="radiobox">
<el-radio-group v-model="radio" style="margin-bottom: 20px;">
<el-radio :label="1">同意</el-radio>
<el-radio :label="2">拒绝</el-radio>
</el-radio-group>
<el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px">
<!-- TODO -->
<el-form-item label="拒绝原因" prop="caseCheckReject" v-if="radio == 2">
<el-input type="textarea" :rows="2" placeholder="请输入拒绝原因" v-model="ruleForm.caseCheckReject"></el-input>
</el-form-item>
</el-form>
</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,
ruleForm: {},
rules: {
caseCheckReject: [
{
required: true,
message: "拒绝原因不能为空",
trigger: "blur",
},
],
}
};
},
methods: {
submitForm() {
this.$refs["ruleForm"].validate((valid) => {
if (valid) {
let paramsdata = {
agreeOrNotCheck: this.radio,
ids: [this.filingreviewdata.id],
caseCheckReject:this.ruleForm.caseCheckReject
};
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>
@@ -0,0 +1,234 @@
<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.nickNameAndNum"
: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){
console.log(this.formateCourtData)
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>
@@ -0,0 +1,415 @@
<template>
<div>
<el-dialog :title="operateTitle" width="65%" :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="案件编号" width="180" 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>
@@ -0,0 +1,259 @@
<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-item label="案件理由">{{
form.facts
}}</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>
@@ -0,0 +1,116 @@
<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() -1 * 24 * 3600 * 1000; // 禁用超过当前时间的日期
},
selectableRange: `${new Date()}- 23:59:59`,//这
},
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 this.sendRoomNoMessageFn({
id: this.timeData.id,
roomNo: this.roomId,
scheduleStartTime: this.loanStartDate
})
}
},
};
</script>
<style lang="scss" scoped>
.steps {
display: flex;
flex-wrap: wrap;
}
</style>
@@ -0,0 +1,604 @@
<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 style="margin-top:20px;width:250px">
<el-upload
class="upload-demo"
ref="fileupload"
accept=".doc,.docx"
:action="UploadUrl()"
:on-success="handlSuccess"
:on-remove="handleRemove"
:on-preview="handlePreview"
:before-remove="beforeRemove"
:headers="headers"
:data="filedata"
multiple
:limit="3"
:on-exceed="handleExceed"
:before-upload="beforeAvatarUpload"
:file-list="fileList"
>
<el-button type="primary">上传案件笔录</el-button>
<div slot="tip" class="el-upload__tip">
文件支持上传.doc,docx文件
</div>
</el-upload>
</div>
<div slot="footer" class="dialog-footer">
<el-button class="endbutton" :disabled="(showsubmit && recordArr.length == 0) || form2.isAbsence==1" @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="12">
<el-form-item label="申请人是否缺席:" prop="isAbsence" :rules="[
{
required: true,
message: '请输入',
},
]">
<el-radio-group v-model="form2.isAbsence">
<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="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="isAbsence" :rules="[
{
required: true,
message: '请输入',
},
]">
<el-radio-group v-model="form2.isAbsence">
<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="respondentOpinion">
<el-input type="textarea" :autosize="{ minRows: 6 }" v-model="form2.respondentOpinion" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="申请人对上述材料的质证意见" prop="applicantOpinion">
<el-input type="textarea" :autosize="{ minRows: 6 }" v-model="form2.applicantOpinion" placeholder="请输入" />
</el-form-item>
</el-col>
<!-- <el-col :span="24">
<el-form-item label="查明本案事实" prop="caseFacts">
<el-input type="textarea" :autosize="{ minRows: 6 }" v-model="form2.caseFacts" placeholder="请输入" />
</el-form-item>
</el-col> -->
<!-- <el-col :span="24">
<el-form-item label="本案争议焦点" prop="caseFocus">
<el-input type="textarea" :autosize="{ minRows: 6 }" v-model="form2.caseFocus" placeholder="请输入" />
</el-form-item>
</el-col> -->
<!-- <el-col :span="12">
<el-form-item label="被申请人质证意见:" prop="responCrossOpin" :rules="[
{
required: true,
message: '请输入',
trigger: 'blur',
},
]">
<el-input type="textarea" v-model="form2.responCrossOpin" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="申请人质证意见:" prop="applicaCrossOpin" :rules="[
{
required: true,
message: '请输入',
trigger: 'blur',
},
]">
<el-input type="textarea" v-model="form2.applicaCrossOpin" placeholder="请输入" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="被申请人的答辩意见:" prop="responDefenOpini" :rules="[
{
required: true,
message: '请输入',
trigger: 'blur',
},
]">
<el-input type="textarea" v-model="form2.responDefenOpini" placeholder="请输入" />
</el-form-item>
</el-col>
<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 @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 { getToken } from "@/utils/auth";
import { getUserProfile } from "@/api/system/user";
import {
writtenHear,
creatTrialRecord,
creatTrialRecordnew,
document,
} from "@/api/caseManagement/caseManagement.js";
import { reserveConferenceList } from '@/api/meeting/index.js'
export default {
props: ["showtrialincourt", "adjudicatename", "form", "queryParams"],
data() {
return {
formData: {},
headers: {
Authorization: "Bearer " + getToken(),
},
filedata: {
annexType: 7,
id:0
},
upLife:'',
user: "",
userId: 1,
showArbitrationresults: false,
form2: {
isAbsence:0,
appliIsAbsen:0
},
applicateArr: [], //申请人案件资料
quiltArr: [], //被申请人案件资料
recordArr: [], //笔录附件
showsubmit: true, //生成庭审笔录,方可提交
annexName: "", //笔录文件名
annexPath: "", //笔录文件地址
roomId:null,
startTime:"",
fileList:[]
};
},
watch: {
showtrialincourt: {
handler(val) {
if (val) {
this.reserveConferenceListFn({caseId:this.form.id});
this.getUser();
this.formData = this.form;
console.log(this.formData)
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() {
this.showArbitrationresults = true;
},
closeArbitrationresults() {
this.showArbitrationresults = false;
},
// 提交庭审笔录弹框结果
submitForm() {
this.$refs["form2"].validate((valid) => {
if (valid) {
creatTrialRecordnew({
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,
isAbsence: this.form2.isAbsence,
appliIsAbsen: this.form2.appliIsAbsen,
respondentOpinion: this.form2.respondentOpinion,
applicantOpinion: this.form2.applicantOpinion,
// caseFacts: this.form2.caseFacts,
// caseFocus: this.form2.caseFocus
})
.then((res) => {
// console.log(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();
console.log(this.form2)
this.form2.respondentOpinion ="";
this.form2.applicantOpinion = "";
})
.catch((err) => { });
}
});
},
cancel() {
this.$emit("canceltrialincourt");
},
// 提交开庭审理结果
submitResults() {
if(this.fileList.length==0){
this.$message({
showClose: true,
message: '请先上传案件笔录',
type:'warning'
});
}else{
let id = this.formData.id;
document({
id: id,
}).then((res) => {
if (res.code == 200) {
this.$emit("getcaseApply", this.queryParams);
this.cancel();
this.fileList =[]
}
});
}
},
// 上传庭审笔录
UploadUrl() {
return window.location.origin + "/API/evidence/uploadRecord";
},
// 文件上传成功
handlSuccess(res, file) {
this.fileList.push(file)
},
// 文件列表移除文件时的钩子
handleRemove(file, fileList) {
},
handlePreview(file) {
},
// 删除文件之前的钩子,参数为上传的文件和文件列表,若返回 false 或者返回 Promise 且被 reject,则停止删除。
beforeRemove(file, fileList) {
return this.$confirm(`确定移除 ${file.name}?`);
},
// 文件超出个数限制时的钩子
handleExceed(files, fileList) {
this.$message.warning(
`当前限制选择 3 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length
} 个文件`
);
},
beforeAvatarUpload(file){
this.filedata.id =this.formData.id
}
},
};
</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>
@@ -0,0 +1,137 @@
<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>
@@ -0,0 +1,67 @@
<template>
<div>
<el-dialog title="案件流程" :visible="processVisable" @close="cancel" center :distroy-on-close="true">
<div>
<el-steps class="steps" :active="caseStatus">
<el-step :title="item.caseNodeName || item.content" v-for="(item,index) in pageData.allCasenode" :key="index" :description="(item.createNickName || '') + (item.caseNodeTime || '')+(item.nextRoleName || '')"></el-step>
</el-steps>
</div>
<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;
console.log(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>
+2 -2
View File
@@ -12,8 +12,8 @@ const name = process.env.VUE_APP_TITLE || '调解系统' // 网页标题
const port = process.env.port || process.env.npm_config_port || 80 // 端口
// const API = 'http://121.40.189.20:9001' //生产
const API = 'http://121.40.189.20:6001' //测试
// const API = 'http://192.168.3.18:8001' //B
// const API = 'http://121.40.189.20:6001' //测试
const API = 'http://192.168.3.18:6001' //B
// const API = 'http://192.168.3.77:9001' //Q