调解管理
This commit is contained in:
parent
da469d1af5
commit
807f95adc5
@ -131,6 +131,7 @@
|
|||||||
return{
|
return{
|
||||||
showInfo:false,
|
showInfo:false,
|
||||||
changePasswordVisible:false,
|
changePasswordVisible:false,
|
||||||
|
strKey: 'trydotec',
|
||||||
passwordInfo:{
|
passwordInfo:{
|
||||||
oldPwd:'',//旧密码
|
oldPwd:'',//旧密码
|
||||||
pwd:'',//新密码
|
pwd:'',//新密码
|
||||||
@ -173,10 +174,19 @@
|
|||||||
handleSubmit(){
|
handleSubmit(){
|
||||||
this.$refs.ruleForm.validate((valid) => {
|
this.$refs.ruleForm.validate((valid) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
|
|
||||||
|
// let data = {
|
||||||
|
// id:this.userInfo.id,
|
||||||
|
// ...this.passwordInfo
|
||||||
|
// }
|
||||||
|
|
||||||
let data = {
|
let data = {
|
||||||
id:this.userInfo.id,
|
id:this.userInfo.id,
|
||||||
...this.passwordInfo
|
oldPwd:this.$util.encryptByDES(this.strKey, this.passwordInfo.oldPwd),
|
||||||
|
pwd:this.passwordInfo.pwd,
|
||||||
|
confirmPwd:this.passwordInfo.confirmPwd,
|
||||||
}
|
}
|
||||||
|
|
||||||
console.log('修改密码数据===',data)
|
console.log('修改密码数据===',data)
|
||||||
this.$fetchApi.updatePassword(data).then(res => {
|
this.$fetchApi.updatePassword(data).then(res => {
|
||||||
this.$message.success("修改成功")
|
this.$message.success("修改成功")
|
||||||
|
|||||||
692
src/pages/mediation-package/components/addCaseDialog.vue
Normal file
692
src/pages/mediation-package/components/addCaseDialog.vue
Normal file
@ -0,0 +1,692 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<el-dialog
|
||||||
|
:title="addCaseDialog.title"
|
||||||
|
:visible="true"
|
||||||
|
width="880px"
|
||||||
|
append-to-body
|
||||||
|
:close-on-click-modal="false"
|
||||||
|
@close="handleClose"
|
||||||
|
>
|
||||||
|
|
||||||
|
<div >
|
||||||
|
|
||||||
|
<el-steps :active="presentStep" align-center class="mt-16">
|
||||||
|
<el-step v-for="(item,inx) in transferStep" :key="inx" :title="item.title" :description="item.description"></el-step>
|
||||||
|
</el-steps>
|
||||||
|
|
||||||
|
<!-- 基本信息 -->
|
||||||
|
<div v-if="presentStep === 1">
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<div class="height-48 line-height-48 f18 color-000 m-v-16 p-h-24">基本信息</div>
|
||||||
|
<div class="p-h-24">
|
||||||
|
<el-form ref="ruleFormBase"
|
||||||
|
:model="baseInfo"
|
||||||
|
:rules="rulesClient"
|
||||||
|
label-width="150px"
|
||||||
|
class="demo-ruleForm">
|
||||||
|
<el-row type="flex" align="middle">
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="案件包" prop="financialOrgName">
|
||||||
|
<el-select v-model="baseInfo.pkgId"
|
||||||
|
clearable placeholder="请选择案件包"
|
||||||
|
class="width100" @change="apkChange">
|
||||||
|
<el-option
|
||||||
|
v-for="item in CasepackageList"
|
||||||
|
:key="item.id"
|
||||||
|
:label="item.pkgName"
|
||||||
|
:value="item.id">
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="金融机构名称" prop="financialOrgName">
|
||||||
|
<el-input
|
||||||
|
v-model.trim="baseInfo.financialOrgName"
|
||||||
|
placeholder="请输入金融机构名称"
|
||||||
|
disabled
|
||||||
|
></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row type="flex" align="middle">
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="社会统一信用代码" prop="financialOrgCode">
|
||||||
|
<el-input
|
||||||
|
v-model.trim="baseInfo.financialOrgCode"
|
||||||
|
placeholder="请输入社会统一信用代码"
|
||||||
|
clearable
|
||||||
|
maxlength="18"
|
||||||
|
></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="案件名称" prop="caseName">
|
||||||
|
<el-input
|
||||||
|
clearable
|
||||||
|
placeholder="请输入案件名称"
|
||||||
|
v-model="baseInfo.caseName">
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
|
||||||
|
</el-row>
|
||||||
|
<el-row type="flex" align="middle">
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="案件编号" prop="caseNo">
|
||||||
|
<el-input
|
||||||
|
clearable
|
||||||
|
placeholder="请输入案件编号"
|
||||||
|
v-model="baseInfo.caseNo">
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<!-- <el-col :span="12">
|
||||||
|
<el-form-item label="金融产品类型" prop="productTypeId">
|
||||||
|
<el-select v-model="baseInfo.productTypeId"
|
||||||
|
clearable placeholder="请选择金融产品类型"
|
||||||
|
class="width100">
|
||||||
|
<el-option
|
||||||
|
v-for="item in financialProductsTypeOptions"
|
||||||
|
:key="item.code"
|
||||||
|
:label="item.codeName"
|
||||||
|
:value="item.code">
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col> -->
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="标的金额" prop="moneyAmount">
|
||||||
|
<el-input
|
||||||
|
clearable
|
||||||
|
placeholder="请输入内容"
|
||||||
|
v-model="baseInfo.moneyAmount">
|
||||||
|
<template slot="append">元</template>
|
||||||
|
</el-input>
|
||||||
|
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row type="flex" align="middle">
|
||||||
|
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="逾期次数" prop="overdueTimes">
|
||||||
|
<el-input-number v-model="baseInfo.overdueTimes" :min="0" :max="100" class="width100"></el-input-number>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="案件描述" prop="caseDescr">
|
||||||
|
<el-input
|
||||||
|
clearable
|
||||||
|
placeholder="请输入内容"
|
||||||
|
v-model="baseInfo.caseDescr">
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
|
||||||
|
</el-form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- 当事人信息 -->
|
||||||
|
<div v-else-if="presentStep === 2">
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<div class="height-48 line-height-48 f18 color-000 m-v-16 p-h-24">案件当事人</div>
|
||||||
|
<div class="p-h-24">
|
||||||
|
<div class="border-solid-lighter-1 p-h-24 mb-16">
|
||||||
|
<div class="flex-row justify-content-between height-48 line-height-48 f14 border-b-solid-lighter-1 mb-16">
|
||||||
|
<div class="color-000">申请人</div>
|
||||||
|
<div class="color-text-regular cursor-pointer" @click="handleReset">清空<i class="el-icon-close"></i></div>
|
||||||
|
</div>
|
||||||
|
<el-form ref="ruleFormCreditor"
|
||||||
|
:model="creditorInfo"
|
||||||
|
:rules="rulesClientCreditor"
|
||||||
|
label-width="150px"
|
||||||
|
class="demo-ruleForm">
|
||||||
|
<el-row type="flex" align="middle">
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="申请人名称" prop="creditorName">
|
||||||
|
<el-input
|
||||||
|
v-model.trim="creditorInfo.creditorName"
|
||||||
|
placeholder="请输入申请人名称"
|
||||||
|
clearable
|
||||||
|
></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="社会统一信用代码" prop="creditorOrgCode">
|
||||||
|
<el-input
|
||||||
|
v-model.trim="creditorInfo.creditorOrgCode"
|
||||||
|
placeholder="请输入社会统一信用代码"
|
||||||
|
clearable
|
||||||
|
maxlength="18"
|
||||||
|
></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row type="flex" align="middle">
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="法人姓名" prop="creditorLegal">
|
||||||
|
<el-input
|
||||||
|
clearable
|
||||||
|
placeholder="请输入法人姓名"
|
||||||
|
v-model="creditorInfo.creditorLegal">
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="法人身份证号" prop="creditorIdcard">
|
||||||
|
<el-input
|
||||||
|
clearable
|
||||||
|
placeholder="请输入法人身份证号"
|
||||||
|
v-model="creditorInfo.creditorIdcard"
|
||||||
|
maxlength="18">
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row type="flex" align="middle">
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="法人手机号" prop="creditorPhone">
|
||||||
|
<el-input
|
||||||
|
clearable
|
||||||
|
placeholder="请输入法人手机号"
|
||||||
|
v-model="creditorInfo.creditorPhone"
|
||||||
|
maxlength="11"
|
||||||
|
>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="公司地址" prop="creditorAddr">
|
||||||
|
<el-input
|
||||||
|
clearable
|
||||||
|
placeholder="请输入公司地址"
|
||||||
|
v-model="creditorInfo.creditorAddr">
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row type="flex" align="middle">
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="邮编" prop="creditorMail">
|
||||||
|
<el-input
|
||||||
|
clearable
|
||||||
|
placeholder="请输入邮编"
|
||||||
|
v-model="creditorInfo.creditorMail"
|
||||||
|
maxlength="6"
|
||||||
|
>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="代理人" prop="creditorAgent">
|
||||||
|
<el-input
|
||||||
|
clearable
|
||||||
|
placeholder="请输入代理人"
|
||||||
|
v-model="creditorInfo.creditorAgent">
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row type="flex" align="middle">
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="代理人手机号" prop="creditorAgentTelephone">
|
||||||
|
<el-input
|
||||||
|
clearable
|
||||||
|
placeholder="请输入代理人手机号"
|
||||||
|
v-model="creditorInfo.creditorAgentTelephone"
|
||||||
|
maxlength="11"
|
||||||
|
>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="代理人身份证号" prop="creditorAgentIdcard">
|
||||||
|
<el-input
|
||||||
|
clearable
|
||||||
|
placeholder="请输入代理人身份证号"
|
||||||
|
v-model="creditorInfo.creditorAgentIdcard"
|
||||||
|
maxlength="18">
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
|
||||||
|
</el-form>
|
||||||
|
</div>
|
||||||
|
<div class="border-solid-lighter-1 p-h-24">
|
||||||
|
<div class="flex-row justify-content-between f14 border-b-solid-lighter-1 mb-8 p-v-8 align-items-center">
|
||||||
|
<div class="color-000">被申请人</div>
|
||||||
|
<el-button size="small" type="primary" @click="handleAdd">新增被申请人<i class="el-icon-plus"></i></el-button>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div>
|
||||||
|
<el-form ref="ruleFormObligor"
|
||||||
|
:model="obligorInfoForm"
|
||||||
|
label-width="150px"
|
||||||
|
class="demo-ruleForm">
|
||||||
|
<div v-for="(item,inx) in obligorInfoForm.debtorEntityList" :key="inx">
|
||||||
|
<div class="flex-row justify-content-between align-items-center height-40 f14 mb-16">
|
||||||
|
<div class="color-text-primary">被申请人{{inx+1}}</div>
|
||||||
|
<div class="color-text-regular cursor-pointer" @click="handleRemoveDomain(item)">删除<i class="el-icon-close"></i></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<el-row type="flex" align="middle">
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="被申请人姓名" :prop="'debtorEntityList.' + inx + '.name'" :rules="{required: true, message: '请输入债权人姓名', trigger: 'blur'}">
|
||||||
|
<el-input
|
||||||
|
v-model.trim="obligorInfoForm.debtorEntityList[inx].name"
|
||||||
|
placeholder="请输入被申请人姓名"
|
||||||
|
clearable
|
||||||
|
></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="证件类型" :prop="'debtorEntityList.' + inx + '.cardTypeId'" :rules="{required: true, message: '请选择证件类型', trigger: 'blur'}">
|
||||||
|
<el-select v-model="obligorInfoForm.debtorEntityList[inx].cardTypeId"
|
||||||
|
clearable placeholder="请选择证件类型"
|
||||||
|
class="width100">
|
||||||
|
<el-option
|
||||||
|
v-for="item in idTypeOptions"
|
||||||
|
:key="item.code"
|
||||||
|
:label="item.codeName"
|
||||||
|
:value="item.code">
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row type="flex" align="middle">
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="证件号码" :prop="'debtorEntityList.' + inx + '.cardNo'"
|
||||||
|
:rules=" [
|
||||||
|
{ required: true, message: '请输入证件号', trigger: 'change',},
|
||||||
|
{ pattern: /^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/, message: '请输入正确的身份证号', trigger: ['blur', 'change']}
|
||||||
|
]">
|
||||||
|
<el-input
|
||||||
|
clearable
|
||||||
|
placeholder="请输入证件号码"
|
||||||
|
v-model="obligorInfoForm.debtorEntityList[inx].cardNo"
|
||||||
|
maxlength="18"
|
||||||
|
>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="手机号码" :prop="'debtorEntityList.' + inx + '.phone'" :rules="[
|
||||||
|
{ required: true, message: '请输入法人手机号', trigger: 'change',},
|
||||||
|
{ pattern: /^(13[0-9]{9})|(18[0-9]{9})|(14[0-9]{9})|(17[0-9]{9})|(15[0-9]{9})|(19[0-9]{9})$/, message: '请输入正确的手机号码', trigger: ['blur', 'change']}
|
||||||
|
]">
|
||||||
|
<el-input
|
||||||
|
clearable
|
||||||
|
placeholder="请输入手机号码"
|
||||||
|
v-model="obligorInfoForm.debtorEntityList[inx].phone"
|
||||||
|
maxlength="11"
|
||||||
|
>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row type="flex" align="middle">
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="地址" :prop="'debtorEntityList.' + inx + '.addr'" :rules="{ required: true, message: '请输入地址', trigger: 'change',}">
|
||||||
|
<el-input
|
||||||
|
clearable
|
||||||
|
placeholder="请输入地址"
|
||||||
|
v-model="obligorInfoForm.debtorEntityList[inx].addr">
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="邮编" :prop="'debtorEntityList.' + inx + '.mail'" :rules="{ required: true, message: '请输入邮编', trigger: 'change',}">
|
||||||
|
<el-input
|
||||||
|
clearable
|
||||||
|
placeholder="请输入邮编"
|
||||||
|
v-model="obligorInfoForm.debtorEntityList[inx].mail"
|
||||||
|
maxlength="6">
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</div>
|
||||||
|
</el-form>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- 材料上传 -->
|
||||||
|
<div v-else-if="presentStep === 3">
|
||||||
|
<div class="height-48 line-height-48 f18 color-000 m-v-16 p-h-24">证据材料</div>
|
||||||
|
<div class="p-h-24">
|
||||||
|
<upload-file-name :file-list="fileList" :max-count="20"
|
||||||
|
:show-file-name="true"
|
||||||
|
@handleUploadFile="handleUploadFile">
|
||||||
|
</upload-file-name>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- 完成 -->
|
||||||
|
<div v-else-if="presentStep === 4">
|
||||||
|
<el-result icon="success" title="案件创建完成" subTitle="案件创建完成,继续处理其他案件">
|
||||||
|
<template slot="extra">
|
||||||
|
<el-button type="primary" size="medium" @click="handleClose">好的</el-button>
|
||||||
|
</template>
|
||||||
|
</el-result>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<span slot="footer" class="dialog-footer" v-if="presentStep<5">
|
||||||
|
<el-button @click="handleClose">取消</el-button>
|
||||||
|
<el-button
|
||||||
|
v-if="presentStep > 1 "
|
||||||
|
type="primary"
|
||||||
|
@click="presentStep--">上一步</el-button>
|
||||||
|
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
v-show="presentStep<4"
|
||||||
|
@click="handleNextStep">下一步</el-button>
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
v-show="presentStep === 4"
|
||||||
|
@click="handleSubmit">确认
|
||||||
|
</el-button>
|
||||||
|
</span>
|
||||||
|
</el-dialog>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import api from "@/services/caseManagement";
|
||||||
|
import cpkapi from "@/services/casePackageManagement";
|
||||||
|
export default {
|
||||||
|
components: {
|
||||||
|
uploadFileName: () => import('@/components/uploadFileName.vue'),//上传
|
||||||
|
},
|
||||||
|
props: {
|
||||||
|
addCaseDialog: {
|
||||||
|
type: Object,
|
||||||
|
default: () => {
|
||||||
|
return {}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
const moneyAmountValidate = (rule,value,callback)=>{
|
||||||
|
if (!value){
|
||||||
|
callback(new Error('请输入标的金额'));
|
||||||
|
}else if (!/^[1-9]\d*(,\d{3})*(\.\d{1,2})?$|^0.\d{1,2}$/.test(value)){
|
||||||
|
callback(new Error('只能输入两位小数的金额!'));
|
||||||
|
}else if(!(0<parseInt(value)&&parseInt(value)<100000000)){
|
||||||
|
callback(new Error('只能输入大于1小于1亿的金额!'));
|
||||||
|
}else{
|
||||||
|
callback()
|
||||||
|
}
|
||||||
|
};
|
||||||
|
return {
|
||||||
|
|
||||||
|
transferStep:[
|
||||||
|
{id:1,title:'基本信息',description:'录入案件基本信息'},
|
||||||
|
{id:2,title:'当事人信息',description:'录入当事人信息'},
|
||||||
|
{id:3,title:'材料上传',description:'上传案件材料'},
|
||||||
|
{id:4,title:'完成',description:'完成案件创建'},
|
||||||
|
],
|
||||||
|
presentStep:1,
|
||||||
|
|
||||||
|
//-----------------------------基本信息-------------------------
|
||||||
|
baseInfo:{
|
||||||
|
pkgId:'',
|
||||||
|
financialOrgName:'',//金融机构名称
|
||||||
|
financialOrgCode:'',//社会统一信用代码
|
||||||
|
caseName:'',//案件名称
|
||||||
|
caseNo:'',//案件编号
|
||||||
|
productTypeId:'',//金融产品类型
|
||||||
|
moneyAmount:'',//标的金额
|
||||||
|
overdueTimes:0,//逾期次数
|
||||||
|
caseDescr:'',//案件描述
|
||||||
|
},
|
||||||
|
rulesClient: {
|
||||||
|
financialOrgName: [
|
||||||
|
{ required: true, message: '请输入机构名称', trigger: 'change',},
|
||||||
|
],
|
||||||
|
// financialOrgCode: [
|
||||||
|
// { required: true, message: '请输入社会统一信用代码', trigger: 'change',},
|
||||||
|
// ],
|
||||||
|
caseName: [
|
||||||
|
{ required: true, message: '请输入案件名称', trigger: 'change',},
|
||||||
|
],
|
||||||
|
caseNo: [
|
||||||
|
{ required: true, message: '请输入案件编号', trigger: 'change',},
|
||||||
|
],
|
||||||
|
// productTypeId: [
|
||||||
|
// { required: true, message: '请选择金融产品类型', trigger: 'change',},
|
||||||
|
// ],
|
||||||
|
moneyAmount: [
|
||||||
|
{ required: true, validator: moneyAmountValidate, trigger: 'change',},
|
||||||
|
],
|
||||||
|
caseDescr:[
|
||||||
|
{ required: true, message: '请输入案件描述', trigger: 'change',},
|
||||||
|
]
|
||||||
|
},
|
||||||
|
financialProductsTypeOptions:[],//金融产品类型
|
||||||
|
|
||||||
|
//----------------------------案件当事人-------------------
|
||||||
|
// 债权人
|
||||||
|
creditorInfo:{
|
||||||
|
creditorName:'',//债权人
|
||||||
|
creditorOrgCode:'',//债权人机构代码
|
||||||
|
creditorLegal:'',//法人
|
||||||
|
creditorIdcard:'',//法人身份证
|
||||||
|
creditorPhone:'',//法人手机
|
||||||
|
creditorAddr:'',//公司地址
|
||||||
|
creditorMail:'',//邮编
|
||||||
|
creditorAgent:'',//代理人
|
||||||
|
},
|
||||||
|
rulesClientCreditor: {
|
||||||
|
creditorName: [
|
||||||
|
{ required: true, message: '请输入申请人名称', trigger: 'change',},
|
||||||
|
],
|
||||||
|
creditorOrgCode: [
|
||||||
|
{ required: true, message: '请输入申请人机构代码', trigger: 'change',},
|
||||||
|
],
|
||||||
|
// creditorLegal: [
|
||||||
|
// { required: true, message: '请输入法人', trigger: 'change',},
|
||||||
|
// ],
|
||||||
|
// creditorIdcard: [
|
||||||
|
// { required: true, message: '请输入法人身份证号', trigger: 'change',},
|
||||||
|
// { pattern: /^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/, message: '请输入正确的身份证号', trigger: ['blur', 'change']}
|
||||||
|
// ],
|
||||||
|
// creditorPhone: [
|
||||||
|
// { required: true, message: '请输入法人手机号', trigger: 'change',},
|
||||||
|
// { pattern: /^(13[0-9]{9})|(18[0-9]{9})|(14[0-9]{9})|(17[0-9]{9})|(15[0-9]{9})|(19[0-9]{9})$/, message: '请输入正确的手机号码', trigger: ['blur', 'change']}
|
||||||
|
// ],
|
||||||
|
creditorAddr: [
|
||||||
|
{ required: true, message: '请输入公司地址', trigger: 'change',},
|
||||||
|
],
|
||||||
|
// creditorAgent: [
|
||||||
|
// { required: true, message: '请输入代理人', trigger: 'change',},
|
||||||
|
// ],
|
||||||
|
},
|
||||||
|
// 被申请人
|
||||||
|
idTypeOptions:[],
|
||||||
|
obligorInfoForm:{
|
||||||
|
debtorEntityList:[
|
||||||
|
{
|
||||||
|
name:'',//被申请人姓名
|
||||||
|
phone:'',//被申请人电话
|
||||||
|
cardTypeId:'',//证件类型
|
||||||
|
addr:'',//地址
|
||||||
|
cardNo:'',//证件号
|
||||||
|
mail:'',//邮编
|
||||||
|
|
||||||
|
}
|
||||||
|
],
|
||||||
|
},
|
||||||
|
|
||||||
|
obligorRulesClient:{
|
||||||
|
name: [
|
||||||
|
{ required: true, message: '请输入被申请人姓名', trigger: 'change',},
|
||||||
|
],
|
||||||
|
phone: [
|
||||||
|
{ required: true, message: '请输入法人手机号', trigger: 'change',},
|
||||||
|
{ pattern: /^(13[0-9]{9})|(18[0-9]{9})|(14[0-9]{9})|(17[0-9]{9})|(15[0-9]{9})|(19[0-9]{9})$/, message: '请输入正确的手机号码', trigger: ['blur', 'change']}
|
||||||
|
],
|
||||||
|
cardTypeId: [
|
||||||
|
{ required: true, message: '请选择证件类型', trigger: 'change',},
|
||||||
|
],
|
||||||
|
addr: [
|
||||||
|
{ required: true, message: '请输入地址', trigger: 'change',},
|
||||||
|
],
|
||||||
|
cardNo: [
|
||||||
|
{ required: true, message: '请输入证件号', trigger: 'change',},
|
||||||
|
{ pattern: /^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/, message: '请输入正确的身份证号', trigger: ['blur', 'change']}
|
||||||
|
],
|
||||||
|
mail: [
|
||||||
|
{ required: true, message: '请输入邮编', trigger: 'change',},
|
||||||
|
{ pattern: /^\d{6}$/, message: '请输入正确的邮编', trigger: ['blur', 'change']}
|
||||||
|
],
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
fileList:[],//证据材料
|
||||||
|
CasepackageList:[]
|
||||||
|
};
|
||||||
|
},
|
||||||
|
mounted () {
|
||||||
|
this.getDict();//获取金融产品类型
|
||||||
|
this.getDictIdType();
|
||||||
|
this.getCasepkgList();
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
// 案件包列表数据
|
||||||
|
getCasepkgList(){
|
||||||
|
cpkapi.getCasePkgQuery({current:1,size:500}).then(res => {
|
||||||
|
if (!res.code) {
|
||||||
|
this.CasepackageList = res.records;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
apkChange(){
|
||||||
|
|
||||||
|
let changeApk = this.CasepackageList.find(item =>{
|
||||||
|
return this.baseInfo.pkgId == item.id
|
||||||
|
})
|
||||||
|
this.baseInfo.financialOrgName = changeApk.entrustingAgencyName
|
||||||
|
this.baseInfo.financialOrgCode = changeApk.entrustingAgencyCode
|
||||||
|
},
|
||||||
|
// 获取金融产品类型
|
||||||
|
getDict(){
|
||||||
|
let data = {
|
||||||
|
type:'financial'
|
||||||
|
}
|
||||||
|
api.getDict(data).then(res => {
|
||||||
|
if (!res.code) {
|
||||||
|
this.financialProductsTypeOptions = res;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 获取证件类型
|
||||||
|
getDictIdType(){
|
||||||
|
let data = {
|
||||||
|
type:'certificates'
|
||||||
|
}
|
||||||
|
api.getDict(data).then(res => {
|
||||||
|
if (!res.code) {
|
||||||
|
this.idTypeOptions = res;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 新增
|
||||||
|
handleAdd(){
|
||||||
|
this.obligorInfoForm.debtorEntityList.push({
|
||||||
|
name:'',//被申请人姓名
|
||||||
|
phone:'',//被申请人电话
|
||||||
|
cardTypeId:'',//证件类型
|
||||||
|
addr:'',//地址
|
||||||
|
cardNo:'',//证件号
|
||||||
|
mail:'',//邮编
|
||||||
|
});
|
||||||
|
},
|
||||||
|
// 删除
|
||||||
|
handleRemoveDomain(item) {
|
||||||
|
var index = this.obligorInfoForm.debtorEntityList.indexOf(item)
|
||||||
|
if (index !== -1) {
|
||||||
|
this.obligorInfoForm.debtorEntityList.splice(index, 1)
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 清空
|
||||||
|
handleReset(){
|
||||||
|
for (let key in this.creditorInfo) {
|
||||||
|
this.creditorInfo[key] = ''
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
// 下一步
|
||||||
|
handleNextStep(){
|
||||||
|
if(this.presentStep === 1){
|
||||||
|
this.$refs.ruleFormBase.validate((valid) => {
|
||||||
|
if (valid){this.presentStep++}
|
||||||
|
})
|
||||||
|
}else if(this.presentStep === 2){
|
||||||
|
this.$refs.ruleFormCreditor.validate((valid) => {
|
||||||
|
if (valid){
|
||||||
|
this.$refs.ruleFormObligor.validate((valid) => {
|
||||||
|
if (valid){this.presentStep++}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}else{
|
||||||
|
this.presentStep++
|
||||||
|
}
|
||||||
|
},
|
||||||
|
handleSubmit(){
|
||||||
|
|
||||||
|
if(!this.$clickThrottle()) { return }//防止重复点击
|
||||||
|
|
||||||
|
let data = {
|
||||||
|
...this.baseInfo,//基本信息
|
||||||
|
...this.creditorInfo,//债权人信息
|
||||||
|
...this.obligorInfoForm,//被申请人
|
||||||
|
caseFileEntityList:this.fileList//证据材料
|
||||||
|
}
|
||||||
|
console.log('获取传给后台的信息',data)
|
||||||
|
api.addCaseInfo(data).then(res => {
|
||||||
|
this.presentStep++
|
||||||
|
this.$parent.getCaseInfoList(1)
|
||||||
|
// this.$parent.getCaseCount()
|
||||||
|
})
|
||||||
|
|
||||||
|
},
|
||||||
|
// 上传
|
||||||
|
handleUploadFile(fileList){
|
||||||
|
console.log('获取上传文件信息',fileList)
|
||||||
|
fileList = JSON.parse(JSON.stringify(fileList))
|
||||||
|
this.fileList = fileList.map((item,i) => {
|
||||||
|
return {
|
||||||
|
url: item.url,
|
||||||
|
fileName:item.fileName,
|
||||||
|
name:item.fileName
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
handleClose() {
|
||||||
|
this.$emit('update:addCaseDialog', null)
|
||||||
|
},
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style scoped lang="scss">
|
||||||
|
.dialog-content{
|
||||||
|
padding: 16px 24px;
|
||||||
|
// max-height:500px
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
||||||
392
src/pages/mediation-package/components/caseAllocationDialog.vue
Normal file
392
src/pages/mediation-package/components/caseAllocationDialog.vue
Normal file
@ -0,0 +1,392 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<el-dialog
|
||||||
|
:title="caseAllocationDialog.title"
|
||||||
|
:visible="true"
|
||||||
|
width="880px"
|
||||||
|
append-to-body
|
||||||
|
:close-on-click-modal="false"
|
||||||
|
@close="handleClose"
|
||||||
|
>
|
||||||
|
|
||||||
|
<div class="dialog-content">
|
||||||
|
<div class="pb-16">
|
||||||
|
<el-row :gutter="20" type="flex" align="middle">
|
||||||
|
<el-col :span="24">
|
||||||
|
|
||||||
|
<div class="flex-row align-items-center">
|
||||||
|
<div class="mr-8 flex-shrink-0">区域</div>
|
||||||
|
<div class="width100">
|
||||||
|
<el-select v-model="deptId"
|
||||||
|
size="medium"
|
||||||
|
clearable placeholder="请选择区域"
|
||||||
|
@change="handleChangeDept"
|
||||||
|
class="width100">
|
||||||
|
<el-option
|
||||||
|
v-for="item in departmentOptions"
|
||||||
|
:key="item.id"
|
||||||
|
:label="item.name"
|
||||||
|
:value="item.id"
|
||||||
|
class="width100"
|
||||||
|
>
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</div>
|
||||||
|
<el-scrollbar class="bor bg-color-light min-height350">
|
||||||
|
<div class="department-wrap">
|
||||||
|
<div v-for="(item,inx) in peopleList" :key="inx" class="department-wrap-list">
|
||||||
|
<div class="department-dept">
|
||||||
|
<el-checkbox v-model="checkedAll" :label="item.deptId" @change="handleCheckChange(1,inx,item,item.deptId,$event)">{{item.name}}({{item.count}}人)</el-checkbox>
|
||||||
|
</div>
|
||||||
|
<div class="flex-row justify-content-start flex-flow-wrap ">
|
||||||
|
<div v-for="(v,i) in item.values" :key="i" class="pt-16" style="flex:0 0 25%">
|
||||||
|
<el-checkbox v-model="checkedAll" :label="v.id" @change="handleCheckChange(2,inx,v,item.deptId,$event)">{{v.realName}}</el-checkbox>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</el-scrollbar>
|
||||||
|
<div class="p-v-24">
|
||||||
|
<el-form ref="ruleForm"
|
||||||
|
:model="queryParam"
|
||||||
|
:rules="rulesClient"
|
||||||
|
label-width="120px"
|
||||||
|
class="demo-ruleForm">
|
||||||
|
<el-row :gutter="20" type="flex" align="middle">
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item label="分配方式" prop="dispatchType" label-width="80px">
|
||||||
|
<template>
|
||||||
|
<el-radio v-model="queryParam.dispatchType" :label="1">平均分配</el-radio>
|
||||||
|
<el-radio v-model="queryParam.dispatchType" :label="2">调解中案件量最少</el-radio>
|
||||||
|
<el-radio v-model="queryParam.dispatchType" :label="3">当天分案量最少</el-radio>
|
||||||
|
<el-radio v-model="queryParam.dispatchType" :label="4">当月分案量最少</el-radio>
|
||||||
|
<el-radio v-model="queryParam.dispatchType" :label="5">同案由调解成功率最高</el-radio>
|
||||||
|
</template>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
|
||||||
|
</el-row>
|
||||||
|
</el-form>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<span slot="footer" class="dialog-footer">
|
||||||
|
<el-button @click="handleClose()">取消</el-button>
|
||||||
|
<el-button type="primary" @click="handleSubmit()">确认</el-button>
|
||||||
|
</span>
|
||||||
|
</el-dialog>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import api from "@/services/caseManagement";
|
||||||
|
import apipack from "@/services/casePackageManagement";
|
||||||
|
export default {
|
||||||
|
components: {
|
||||||
|
|
||||||
|
},
|
||||||
|
props: {
|
||||||
|
caseAllocationDialog: {
|
||||||
|
type: Object,
|
||||||
|
default: () => {
|
||||||
|
return {}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
deptId:[],//获取区域id集合
|
||||||
|
queryParam:{
|
||||||
|
id:'',//案件包ID
|
||||||
|
dispatchType:1,//分案方式;1,平均分配;2,调解中案件量最少;3,当天分案量最少;4,当月分案量最少;5,同案由调解成功率最高
|
||||||
|
},
|
||||||
|
userList:[],
|
||||||
|
rulesClient: {
|
||||||
|
dispatchType: [
|
||||||
|
{ required: true, message: '请选择分案方式', trigger: 'change',},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
peopleList:[
|
||||||
|
{deptId:1,name:'调解一部',count:10,
|
||||||
|
values:[
|
||||||
|
{id:1,deptId:1,realName:'张三' },
|
||||||
|
{id:2,deptId:1,realName:'张三' },
|
||||||
|
{id:3,deptId:1,realName:'张三' },
|
||||||
|
{id:4,deptId:1,realName:'张三' },
|
||||||
|
{id:5,deptId:1,realName:'里面' },
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
departmentOptions:[],//区域
|
||||||
|
checkedAll:[],
|
||||||
|
chooseChecked:[],
|
||||||
|
};
|
||||||
|
},
|
||||||
|
mounted () {
|
||||||
|
this.getDeptList();//获取区域
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
// 获取区域
|
||||||
|
getDeptList(){
|
||||||
|
let data = {
|
||||||
|
companyId: this.$store.state.userinfo.companyId,
|
||||||
|
current: 1,
|
||||||
|
size: 500,
|
||||||
|
pid:0
|
||||||
|
}
|
||||||
|
api.getDeptList(data).then(res => {
|
||||||
|
if (!res.code) {
|
||||||
|
this.departmentOptions = res.records;
|
||||||
|
this.deptId = this.departmentOptions[0].id
|
||||||
|
this.getByDeptList()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
handleChangeDept(e){
|
||||||
|
this.checkedAll=[]
|
||||||
|
this.chooseChecked=[]
|
||||||
|
this.getByDeptList()
|
||||||
|
this.peopleList=[]
|
||||||
|
|
||||||
|
},
|
||||||
|
// 根据区域id列表查看用户列表
|
||||||
|
getByDeptList(){
|
||||||
|
api.getDeptList({companyId:this.$store.state.userinfo.companyId,current:1,size:500,pid:this.deptId}).then(res => {
|
||||||
|
if (!res.code)
|
||||||
|
{
|
||||||
|
let deptList = []
|
||||||
|
res.records.forEach(item =>{
|
||||||
|
let userlist = []
|
||||||
|
api.getUserByDeptList({ids:[item.id]}).then(res => {
|
||||||
|
|
||||||
|
res.forEach(item =>{
|
||||||
|
userlist.push({
|
||||||
|
id:item.id,
|
||||||
|
realName:item.realName,
|
||||||
|
checked:false
|
||||||
|
})
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
||||||
|
deptList.push({
|
||||||
|
deptId:item.id,
|
||||||
|
name:item.name,
|
||||||
|
count:item.count,
|
||||||
|
checked:false,
|
||||||
|
values:userlist
|
||||||
|
})
|
||||||
|
})
|
||||||
|
this.peopleList = deptList
|
||||||
|
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
handleCheckChange(type,a=0,chooseItem,deptId,event){
|
||||||
|
// console.log(chooseItem,event,a,'this.peopleList')
|
||||||
|
let self = this
|
||||||
|
if(type==2){//二级菜单
|
||||||
|
let index = 0;
|
||||||
|
self.peopleList[a].values.map((item)=>{
|
||||||
|
if(self.checkedAll.indexOf(item.id)>-1){
|
||||||
|
index+=1
|
||||||
|
}
|
||||||
|
})
|
||||||
|
if(index>0){
|
||||||
|
if(self.checkedAll.indexOf(self.peopleList[a].deptId)<0){
|
||||||
|
self.checkedAll.push(self.peopleList[a].deptId)
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
if(self.checkedAll.indexOf(self.peopleList[a].deptId)>0){
|
||||||
|
self.checkedAll.splice(self.checkedAll.indexOf(self.peopleList[a].deptId),1)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if(event)
|
||||||
|
{
|
||||||
|
if(this.chooseChecked.length==0){self.chooseChecked.push({deptId:deptId,child:[]})}
|
||||||
|
this.chooseChecked.forEach((item,index) => {
|
||||||
|
let haveDeptId = self.chooseChecked.find(citem=>{
|
||||||
|
return citem.deptId===deptId
|
||||||
|
})
|
||||||
|
if(haveDeptId != undefined)
|
||||||
|
{
|
||||||
|
if(item.deptId==deptId)
|
||||||
|
{
|
||||||
|
item.child.push({deptId:deptId,id:chooseItem.id,realName:chooseItem.realName})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
self.chooseChecked.push({deptId:deptId,child:[{deptId:deptId,id:chooseItem.id,realName:chooseItem.realName}]})
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
this.chooseChecked.forEach((item,index) => {
|
||||||
|
item.child.forEach((itemchild,index) => {
|
||||||
|
if(itemchild.id==chooseItem.id)
|
||||||
|
{
|
||||||
|
item.child.splice(index,1)
|
||||||
|
}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
let childnum = this.chooseChecked.find(item=>{
|
||||||
|
return item.deptId === deptId
|
||||||
|
}).child.length;
|
||||||
|
|
||||||
|
let allchildnum = this.peopleList.find(item=>{
|
||||||
|
return item.deptId === deptId
|
||||||
|
}).values.length;
|
||||||
|
if(childnum != allchildnum)
|
||||||
|
{
|
||||||
|
if(self.checkedAll.indexOf(deptId)>-1){
|
||||||
|
self.checkedAll.splice(self.checkedAll.indexOf(deptId),1)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if(self.checkedAll.indexOf(deptId)<0){
|
||||||
|
self.checkedAll.push(deptId)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}else{
|
||||||
|
if(self.checkedAll.indexOf(self.peopleList[a].deptId)>-1){
|
||||||
|
self.peopleList[a].values.map((item)=>{
|
||||||
|
if(self.checkedAll.findIndex((n)=> n==item.id)<0){
|
||||||
|
self.checkedAll.push(item.id)
|
||||||
|
// self.checkedAll.push({id:item.id,realName:item.realName,deptId:self.peopleList[a].deptId})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}else{
|
||||||
|
self.peopleList[a].values.map((item)=>{
|
||||||
|
if(self.checkedAll.findIndex((n)=> n==item.id)>-1){
|
||||||
|
self.checkedAll.splice(self.checkedAll.findIndex((n)=> n==item.id),1)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
let haveDeptId=self.chooseChecked.find(citem=>{
|
||||||
|
return citem.deptId === deptId
|
||||||
|
})
|
||||||
|
if(event)
|
||||||
|
{
|
||||||
|
if(haveDeptId == undefined)
|
||||||
|
{
|
||||||
|
let addchild=[]
|
||||||
|
self.peopleList.forEach((item,index) => {
|
||||||
|
if(item.deptId==deptId)
|
||||||
|
{
|
||||||
|
item.values.forEach((item,index) => {
|
||||||
|
addchild.push({deptId:deptId,id:item.id,realName:item.realName})
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
self.chooseChecked.push({deptId:deptId,child:addchild})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if(haveDeptId != undefined)
|
||||||
|
{
|
||||||
|
self.chooseChecked.forEach((item,index) => {
|
||||||
|
if(item.deptId==deptId)
|
||||||
|
{
|
||||||
|
self.chooseChecked.splice(index,1)
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// console.log(this.checkedAll,self.chooseChecked,'checkedAll')
|
||||||
|
},
|
||||||
|
|
||||||
|
handleSubmit(){
|
||||||
|
if(!this.$clickThrottle()) { return }//防止重复点击
|
||||||
|
let chooseUser=[]
|
||||||
|
this.chooseChecked.forEach((item,index) => {
|
||||||
|
item.child.forEach((item,index) => {
|
||||||
|
chooseUser.push({deptId:item.deptId,id:item.id,realName:item.realName})
|
||||||
|
});
|
||||||
|
});
|
||||||
|
if(chooseUser.length == 0)
|
||||||
|
{
|
||||||
|
this.$message({
|
||||||
|
showClose: true,
|
||||||
|
message: '请先选择调解员!',
|
||||||
|
type: 'warning'
|
||||||
|
});
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
this.$refs.ruleForm.validate((valid) => {
|
||||||
|
if(valid) {
|
||||||
|
|
||||||
|
let data = {
|
||||||
|
id:this.caseAllocationDialog.ObjectInfo.id,
|
||||||
|
dispatchType:this.queryParam.dispatchType,
|
||||||
|
userList:chooseUser
|
||||||
|
}
|
||||||
|
|
||||||
|
apipack.postpkgdispatchCase(data).then(res => {
|
||||||
|
this.$message({
|
||||||
|
showClose: true,
|
||||||
|
message: '调解案件分配成功!',
|
||||||
|
type: 'success'
|
||||||
|
});
|
||||||
|
this.$parent.getCaseInfoList()
|
||||||
|
this.handleClose()
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
handleSearch(){
|
||||||
|
|
||||||
|
},
|
||||||
|
handleChangeDate(){
|
||||||
|
let planStart = new Date(this.queryParam.planStartTime);
|
||||||
|
let planEnd = new Date(this.queryParam.planEndTime);
|
||||||
|
if (planEnd < planStart) {
|
||||||
|
this.$message({
|
||||||
|
showClose: true,
|
||||||
|
message: '开始日期不能大于结束日期!',
|
||||||
|
type: 'warning'
|
||||||
|
});
|
||||||
|
this.queryParam.planEndTime=''
|
||||||
|
}
|
||||||
|
},
|
||||||
|
handleClose() {
|
||||||
|
this.$emit('update:caseAllocationDialog', null)
|
||||||
|
},
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style scoped lang="scss">
|
||||||
|
.dialog-content{
|
||||||
|
padding: 16px 24px;
|
||||||
|
max-height:500px
|
||||||
|
}
|
||||||
|
.department-wrap{
|
||||||
|
padding: 16px 24px;
|
||||||
|
max-height: 250px;
|
||||||
|
.department-wrap-list{
|
||||||
|
margin-bottom:32px;
|
||||||
|
}
|
||||||
|
.department-wrap-list:last-child{
|
||||||
|
margin-bottom:0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.min-height350{min-height: 350px;}
|
||||||
|
.department-dept ::v-deep .el-checkbox__label {color: $color-000000}
|
||||||
|
</style>
|
||||||
209
src/pages/mediation-package/components/importPackageDialog.vue
Normal file
209
src/pages/mediation-package/components/importPackageDialog.vue
Normal file
@ -0,0 +1,209 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<el-dialog
|
||||||
|
:title="importCaseDialog.title"
|
||||||
|
:visible="true"
|
||||||
|
width="580px"
|
||||||
|
append-to-body
|
||||||
|
:close-on-click-modal="false"
|
||||||
|
@close="handleClose">
|
||||||
|
|
||||||
|
|
||||||
|
<!-- 基本信息 -->
|
||||||
|
<div>
|
||||||
|
<div class="p-h-24">
|
||||||
|
<el-form ref="ruleFormBase"
|
||||||
|
:model="baseInfo"
|
||||||
|
:rules="rulesClient"
|
||||||
|
label-width="150px"
|
||||||
|
class="demo-ruleForm">
|
||||||
|
<el-row type="flex" align="middle" class="mt-16">
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item label="案件包名" prop="pkgName">
|
||||||
|
<el-input
|
||||||
|
v-model.trim="baseInfo.pkgName"
|
||||||
|
placeholder="请输入案件包名"
|
||||||
|
clearable
|
||||||
|
maxlength="25"
|
||||||
|
></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
|
||||||
|
</el-row>
|
||||||
|
<el-row type="flex" align="middle">
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item label="委案机构" prop="entrustingAgencyName">
|
||||||
|
<el-input
|
||||||
|
v-model.trim="baseInfo.entrustingAgencyName"
|
||||||
|
placeholder="请输入委案机构"
|
||||||
|
clearable
|
||||||
|
maxlength="25"
|
||||||
|
></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row type="flex" align="middle">
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item label="委案渠道" prop="channel">
|
||||||
|
<el-input
|
||||||
|
v-model.trim="baseInfo.channel"
|
||||||
|
placeholder="请输入委案渠道"
|
||||||
|
clearable
|
||||||
|
maxlength="25"
|
||||||
|
></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row type="flex" align="middle">
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item label="委案日期" prop="planStartTime">
|
||||||
|
<el-date-picker class="width100"
|
||||||
|
v-model="baseInfo.planStartTime"
|
||||||
|
type="date"
|
||||||
|
value-format="yyyy-MM-dd HH:mm:ss"
|
||||||
|
placeholder="选择委案日期">
|
||||||
|
</el-date-picker>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row type="flex" align="middle">
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item label="委案期限(月)" prop="months">
|
||||||
|
<el-input-number v-model="baseInfo.months" :min="0" :max="100" class="width100"></el-input-number>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row type="flex" align="middle">
|
||||||
|
<el-col :span="24">
|
||||||
|
<el-form-item label="上传文件" prop="fileInfo">
|
||||||
|
<upload-import :file-list="fileList" :max-count="1"
|
||||||
|
:show-file-name="true"
|
||||||
|
accept=".xls,.xlsx"
|
||||||
|
@handleUploadFile="handleUploadFile">
|
||||||
|
</upload-import>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
|
||||||
|
</el-form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<span slot="footer" class="dialog-footer">
|
||||||
|
<el-button @click="handleClose">取消</el-button>
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
@click="handleSubmit">确认导入
|
||||||
|
</el-button>
|
||||||
|
</span>
|
||||||
|
</el-dialog>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import apipk from "@/services/casePackageManagement";
|
||||||
|
export default {
|
||||||
|
components: {
|
||||||
|
uploadImport:() => import('@/components/uploadImportPackage.vue'),//导入上传
|
||||||
|
},
|
||||||
|
props: {
|
||||||
|
importCaseDialog: {
|
||||||
|
type: Object,
|
||||||
|
default: () => {
|
||||||
|
return {}
|
||||||
|
},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
baseInfo:{
|
||||||
|
pkgName:'',//案件包名
|
||||||
|
entrustingAgencyName:'',//金融机构名称
|
||||||
|
planStartTime:'',//委案时间
|
||||||
|
months:1,//委案期限
|
||||||
|
fileInfo:null,
|
||||||
|
channel:'',
|
||||||
|
|
||||||
|
},
|
||||||
|
rulesClient: {
|
||||||
|
pkgName: [
|
||||||
|
{ required: true, message: '请输入案件包名', trigger: 'change',},
|
||||||
|
],
|
||||||
|
planStartTime: [
|
||||||
|
{ required: true, message: '请输入委案时间', trigger: 'change',},
|
||||||
|
],
|
||||||
|
months: [
|
||||||
|
{ required: true, message: '请输入委案期限', trigger: 'change',},
|
||||||
|
],
|
||||||
|
channel: [
|
||||||
|
{ required: true, message: '请输入委案渠道', trigger: 'change',},
|
||||||
|
],
|
||||||
|
fileInfo: [
|
||||||
|
{ required: true, message: '请上传文件', trigger: 'change',},
|
||||||
|
],
|
||||||
|
|
||||||
|
},
|
||||||
|
financialProductsTypeOptions:[],//金融产品类型
|
||||||
|
fileList:[],//证据材料
|
||||||
|
|
||||||
|
};
|
||||||
|
},
|
||||||
|
mounted () {
|
||||||
|
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
|
||||||
|
handleSubmit(){
|
||||||
|
if(!this.$clickThrottle()) { return }//防止重复点击
|
||||||
|
|
||||||
|
this.$refs.ruleFormBase.validate((valid) => {
|
||||||
|
if (valid){
|
||||||
|
let data = {
|
||||||
|
...this.baseInfo,//基本信息
|
||||||
|
}
|
||||||
|
apipk.CasePkgimport(data).then(res => {
|
||||||
|
this.handleClose()
|
||||||
|
this.$parent.getCaseInfoList(1)
|
||||||
|
})
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
})
|
||||||
|
|
||||||
|
},
|
||||||
|
// 上传
|
||||||
|
handleUploadFile(JsonData){
|
||||||
|
|
||||||
|
console.log('获取上传文件信息',JsonData.uploadFileRes)
|
||||||
|
let fileitem = JSON.parse(JSON.stringify(JsonData.fileList))
|
||||||
|
this.fileList = fileitem.map((item,i) => {
|
||||||
|
let time = this.$util.getTimestamp()
|
||||||
|
let fileType = this.$util.getFileExtension(item.url)
|
||||||
|
let fileName = `${time}.${fileType}`
|
||||||
|
return {
|
||||||
|
url: item.url,
|
||||||
|
fileName:fileName,
|
||||||
|
}
|
||||||
|
})
|
||||||
|
if(fileitem.length == 0 ){
|
||||||
|
this.baseInfo.fileInfo = null
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
this.baseInfo.fileInfo = JsonData.uploadFileRes
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
handleClose() {
|
||||||
|
this.$emit('update:importCaseDialog', null)
|
||||||
|
},
|
||||||
|
}
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<style scoped lang="scss">
|
||||||
|
.dialog-content{
|
||||||
|
padding: 16px 24px;
|
||||||
|
// max-height:500px
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
||||||
429
src/pages/mediation-package/index.vue
Normal file
429
src/pages/mediation-package/index.vue
Normal file
@ -0,0 +1,429 @@
|
|||||||
|
<template>
|
||||||
|
<div class="layout-content-wrap">
|
||||||
|
<div class="navigation-bar flex-row mb-16">
|
||||||
|
<img src="../../assets/image/Link.png" height="22" alt="">
|
||||||
|
<a>/</a>
|
||||||
|
<a>案件包列表</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="layout-tabs-content-box background-color-fff border-radius-4">
|
||||||
|
<div class="pt-8 border-b-solid-lighter-1">
|
||||||
|
<div class="height-30 flex-row align-items-center justify-content-between mb-24">
|
||||||
|
<div class="f22 color-text-primary">筛选</div>
|
||||||
|
<div class="flex-row align-items-center color-text-regular cursor-pointer"
|
||||||
|
@click="handleToggleSearch">
|
||||||
|
<span class="f14 pr-8">{{showSearch?'展开':'收起'}}</span>
|
||||||
|
<i :class="['f14 el-icon-arrow-down transform-time-default', {
|
||||||
|
'rotate--180': showSearch
|
||||||
|
}]"></i>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<el-collapse-transition>
|
||||||
|
<div v-show="showSearch">
|
||||||
|
<el-row :gutter="56">
|
||||||
|
<el-col :span="8">
|
||||||
|
<div class="flex-row-center align-items-center height-40 mb-24">
|
||||||
|
<span class="tabs__search-criteria-title flex-shrink-0 pr-16">委案机构</span>
|
||||||
|
<el-select v-model="queryParam.entrustingAgencyName"
|
||||||
|
clearable placeholder="请选择委案机构"
|
||||||
|
@keydown.enter.native="handleSearch"
|
||||||
|
class="width100">
|
||||||
|
<el-option
|
||||||
|
v-for="item in orglist"
|
||||||
|
:key="item.entrustingAgencyName"
|
||||||
|
:label="item.entrustingAgencyName"
|
||||||
|
:value="item.entrustingAgencyName">
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</div>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<div class="flex-row-center align-items-center height-40 mb-24">
|
||||||
|
<span class="tabs__search-criteria-title flex-shrink-0 pr-16">案件包名称</span>
|
||||||
|
<el-input v-model.trim="queryParam.pkgName"
|
||||||
|
clearable placeholder="请输入案件包名称"
|
||||||
|
@keydown.enter.native="handleSearch">
|
||||||
|
</el-input>
|
||||||
|
</div>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="8">
|
||||||
|
<div class="flex-row-center align-items-center height-40 mb-24">
|
||||||
|
<span class="tabs__search-criteria-title flex-shrink-0 pr-16">案件即将到期</span>
|
||||||
|
<el-select v-model="queryParam.willEnd"
|
||||||
|
clearable placeholder="请选择案件是否即将到期"
|
||||||
|
@keydown.enter.native="handleSearch"
|
||||||
|
class="width100">
|
||||||
|
<el-option label="是" value="true"></el-option>
|
||||||
|
<el-option label="否" value="false"></el-option>
|
||||||
|
</el-select>
|
||||||
|
</div>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
|
||||||
|
<el-row :gutter="56">
|
||||||
|
<el-col :span="18">
|
||||||
|
<div class="flex-row align-items-center height-40 mb-24">
|
||||||
|
<span class="tabs__search-criteria-title flex-shrink-0 pr-16">委案时间</span>
|
||||||
|
<span :class="['f14 pr-24 cursor-pointer', i === 0 ? 'pl-8' : '',
|
||||||
|
activeUsage === item ?'color-primary' : 'color-text-regular']"
|
||||||
|
v-for="(item, i) in usageOption" :key="i"
|
||||||
|
@click="handleClickUsage(item)">{{item}}</span>
|
||||||
|
|
||||||
|
<el-date-picker
|
||||||
|
v-model="queryDate"
|
||||||
|
type="daterange"
|
||||||
|
clearable
|
||||||
|
range-separator="至"
|
||||||
|
start-placeholder="开始日期"
|
||||||
|
end-placeholder="结束日期"
|
||||||
|
@change="handleChangeDate">
|
||||||
|
</el-date-picker>
|
||||||
|
</div>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="4" :offset="2">
|
||||||
|
<div class="flex-row align-items-center justify-content-end">
|
||||||
|
<el-button @click="hanldeReset">重置</el-button>
|
||||||
|
<el-button type="primary" @click="handleSearch">搜索</el-button>
|
||||||
|
</div>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</div>
|
||||||
|
</el-collapse-transition>
|
||||||
|
</div>
|
||||||
|
<!-- table -->
|
||||||
|
<div class="pt-8">
|
||||||
|
<div class="height-56 flex-row align-items-center justify-content-between">
|
||||||
|
<div class="f22 color-text-primary">列表</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div >
|
||||||
|
<el-table :data="tableData" :height="`${contentHeight}`"
|
||||||
|
@selection-change="handleSelectionChange">
|
||||||
|
<el-table-column type="index" label="序号" width="55"></el-table-column>
|
||||||
|
<!-- <el-table-column type="selection" width="55" ></el-table-column> -->
|
||||||
|
<el-table-column prop="pkgName" label="案件包名称" show-overflow-tooltip ></el-table-column>
|
||||||
|
<el-table-column prop="entrustingAgencyName" label="委案机构" show-overflow-tooltip ></el-table-column>
|
||||||
|
<el-table-column prop="channel" label="委案渠道" show-overflow-tooltip ></el-table-column>
|
||||||
|
<el-table-column prop="planStartTime" label="委案日期" show-overflow-tooltip >
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span >{{ scope.row.planStartTime | formaDate("yyyy-MM-dd") }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="months" label="委案期限(月)" show-overflow-tooltip ></el-table-column>
|
||||||
|
<el-table-column prop="caseTotal" label="案件数量" show-overflow-tooltip ></el-table-column>
|
||||||
|
<el-table-column prop="resultStatus" label="待分案" show-overflow-tooltip >
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span >{{ scope.row.caseTotal - scope.row.assignTotal}}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="assignTotal" label="已分案" show-overflow-tooltip ></el-table-column>
|
||||||
|
<el-table-column label="操作" width="290">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<div class="flex-row align-items-center">
|
||||||
|
<el-button size="mini" @click="jumpUrl(`/case-management?dataKey=casepack&pkgId=${scope.row.id}`)">查看</el-button>
|
||||||
|
<el-button size="mini" @click="handleCaseAllocation(scope)">案件分配</el-button>
|
||||||
|
<!-- <el-button size="mini" @click="handleEdit(scope)">预设还款方案</el-button> -->
|
||||||
|
<el-button size="mini" v-if="scope.row.assignTotal == 0" @click="handleDelete(scope)">删除</el-button>
|
||||||
|
<el-button size="mini" v-if="scope.row.assignTotal > 0" @click="handleBackCase(scope)">撤回分案</el-button>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="text-center pt-16">
|
||||||
|
<el-pagination
|
||||||
|
@size-change="getCaseInfoList"
|
||||||
|
@current-change="getCaseInfoList"
|
||||||
|
:current-page="queryParam.current"
|
||||||
|
:page-size="queryParam.size"
|
||||||
|
layout="total, prev, pager, next, jumper"
|
||||||
|
:total="total">
|
||||||
|
</el-pagination>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- 导入 -->
|
||||||
|
<importPackageDialog v-if="importCaseDialog" :importCaseDialog.sync="importCaseDialog" />
|
||||||
|
<!-- 新增 -->
|
||||||
|
<addCaseDialog v-if="addCaseDialog" :addCaseDialog.sync="addCaseDialog" />
|
||||||
|
|
||||||
|
<!-- 编辑 -->
|
||||||
|
<!-- <editCaseDrawer v-if="editCaseDrawer" :editCaseDrawer.sync="editCaseDrawer"/> -->
|
||||||
|
<!-- 案件分配-->
|
||||||
|
<caseAllocationDialog v-if="caseAllocationDialog" :caseAllocationDialog.sync="caseAllocationDialog" />
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import api from "@/services/casePackageManagement";
|
||||||
|
export default {
|
||||||
|
components: {
|
||||||
|
importPackageDialog: () => import('./components/importPackageDialog'),//导入
|
||||||
|
addCaseDialog: () => import('./components/addCaseDialog'),//新增
|
||||||
|
// editCaseDrawer: () => import('./components/editCaseDrawer'),//编辑
|
||||||
|
caseAllocationDialog: () => import('./components/caseAllocationDialog'),//案件分配
|
||||||
|
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
activeName:'all',
|
||||||
|
showSearch: true,
|
||||||
|
queryDate: '',
|
||||||
|
activeUsage: '',
|
||||||
|
|
||||||
|
mediateStatusData:[],//所有案件状态枚举
|
||||||
|
financialProductsTypeOptions:[],//金融产品类型
|
||||||
|
departmentOptions:[],//区域
|
||||||
|
queryParam: {
|
||||||
|
pkgName:'',//案件包名称
|
||||||
|
entrustingAgencyName: '',//委案机构
|
||||||
|
endTime: '',//结束时间
|
||||||
|
beginTime:'',//开始时间
|
||||||
|
willEnd:'',
|
||||||
|
current:1,
|
||||||
|
size:10,
|
||||||
|
},
|
||||||
|
usageOption: ['今日','昨日', '近一周', '近一月', '近半年', '近一年'],
|
||||||
|
tableData: [],
|
||||||
|
total:0,
|
||||||
|
uniqueSelection:[],
|
||||||
|
caseAllocationDialog:null,//案件分配弹框
|
||||||
|
importCaseDialog:null,//导入
|
||||||
|
addCaseDialog:null,//新增
|
||||||
|
editCaseDrawer:null,//编辑
|
||||||
|
orglist:[],//委案机构
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
|
||||||
|
this.getOrgList()
|
||||||
|
this.getCaseInfoList(1)
|
||||||
|
},
|
||||||
|
computed:{
|
||||||
|
// 获取抽屉drawer的内容高度
|
||||||
|
contentHeight(){
|
||||||
|
let oh = document.documentElement.clientHeight;
|
||||||
|
if(this.showSearch){
|
||||||
|
return oh-56-48-366-32
|
||||||
|
|
||||||
|
}else{
|
||||||
|
return oh-56-48-175-32
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
jumpUrl (url) {
|
||||||
|
this.$router.push(url);
|
||||||
|
},
|
||||||
|
getOrgList(){
|
||||||
|
api.postorgs({current:1,size:500}).then(res => {
|
||||||
|
if (!res.code) {
|
||||||
|
this.orglist = res.records;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 导入
|
||||||
|
handleImport(){
|
||||||
|
this.importCaseDialog={
|
||||||
|
title:'批量导入案件',
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 批量删除
|
||||||
|
handleBatchDelete(){
|
||||||
|
if(this.uniqueSelection.length==0){
|
||||||
|
this.$message.warning("请先选择你要删除的列表数据");
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.$confirm("请确定是否删除这些数据?", "提示", {
|
||||||
|
confirmButtonText: "确定",
|
||||||
|
cancelButtonText: "取消",
|
||||||
|
type: "warning",
|
||||||
|
}).then(() => {
|
||||||
|
if(!this.$clickThrottle()) { return }//防止重复点击
|
||||||
|
|
||||||
|
let data = {
|
||||||
|
ids:this.uniqueSelection
|
||||||
|
}
|
||||||
|
api.deleteCaseBatch(data).then((res) => {
|
||||||
|
|
||||||
|
this.$message.success("成功");
|
||||||
|
this.getCaseInfoList(1)
|
||||||
|
|
||||||
|
});
|
||||||
|
}).catch(() => {});
|
||||||
|
},
|
||||||
|
// 单条删除
|
||||||
|
handleDelete(scope){
|
||||||
|
this.$confirm("请确定是否删除此条数据?", "提示", {
|
||||||
|
confirmButtonText: "确定",
|
||||||
|
cancelButtonText: "取消",
|
||||||
|
type: "warning",
|
||||||
|
}).then(() => {
|
||||||
|
if(!this.$clickThrottle()) { return }//防止重复点击
|
||||||
|
api.CasePkgdeleteById({id:scope.row.id}).then((res) => {
|
||||||
|
|
||||||
|
this.$message.success("删除成功");
|
||||||
|
this.getCaseInfoList(1)
|
||||||
|
|
||||||
|
});
|
||||||
|
}).catch(() => {});
|
||||||
|
},
|
||||||
|
//撤回分案
|
||||||
|
handleBackCase(scope){
|
||||||
|
this.$confirm("请确定是否撤回分案?", "提示", {
|
||||||
|
confirmButtonText: "确定",
|
||||||
|
cancelButtonText: "取消",
|
||||||
|
type: "warning",
|
||||||
|
}).then(() => {
|
||||||
|
if(!this.$clickThrottle()) { return }//防止重复点击
|
||||||
|
api.postpkgquash({id:scope.row.id}).then((res) => {
|
||||||
|
this.$message.success("撤回分案成功");
|
||||||
|
this.getCaseInfoList(1)
|
||||||
|
|
||||||
|
});
|
||||||
|
}).catch(() => {});
|
||||||
|
},
|
||||||
|
// 新增
|
||||||
|
handleAddForm(){
|
||||||
|
this.addCaseDialog={
|
||||||
|
title:'新增案件',
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 案件分配
|
||||||
|
handleCaseAllocation(scope){
|
||||||
|
if((scope.row.caseTotal - scope.row.assignTotal) <= 0)
|
||||||
|
{
|
||||||
|
this.$message({
|
||||||
|
showClose: true,
|
||||||
|
message: '该案件包没有待分配的案件!',
|
||||||
|
type: 'warning'
|
||||||
|
});
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
this.caseAllocationDialog={
|
||||||
|
title:'案件分配',
|
||||||
|
ObjectInfo:scope.row
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 编辑
|
||||||
|
handleEdit(scope){
|
||||||
|
this.editCaseDrawer={
|
||||||
|
title:'编辑案件',
|
||||||
|
data:scope.row,
|
||||||
|
currentPage:this.queryParam.current
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 列表数据
|
||||||
|
getCaseInfoList(val){
|
||||||
|
|
||||||
|
|
||||||
|
this.queryParam.planBegin = this.queryParam.beginTime
|
||||||
|
this.queryParam.planEnd = this.queryParam.endTime
|
||||||
|
this.queryParam.current = val
|
||||||
|
api.getCasePkgQuery(this.queryParam).then(res => {
|
||||||
|
if (!res.code) {
|
||||||
|
this.tableData = res.records;
|
||||||
|
this.total = res.total;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
handleToggleSearch() {
|
||||||
|
this.showSearch = !this.showSearch
|
||||||
|
},
|
||||||
|
// 重置
|
||||||
|
hanldeReset() {
|
||||||
|
for (let key in this.queryParam) {
|
||||||
|
this.queryParam[key] = ''
|
||||||
|
}
|
||||||
|
this.queryParam.current = 1
|
||||||
|
this.queryParam.size = 10
|
||||||
|
},
|
||||||
|
handleSearch() {
|
||||||
|
this.queryParam.size = 10;
|
||||||
|
this.queryParam.current = 1;
|
||||||
|
this.getCaseInfoList(1)
|
||||||
|
},
|
||||||
|
handleClickUsage(item) {
|
||||||
|
this.activeUsage = item
|
||||||
|
this.setDateFast()
|
||||||
|
},
|
||||||
|
handleChangeDate() {
|
||||||
|
this.activeUsage = ''
|
||||||
|
if(this.queryDate === null) {
|
||||||
|
this.setDateFast()
|
||||||
|
}else {
|
||||||
|
this.queryParam.beginTime = this.$util.getDayStart(this.queryDate[0])
|
||||||
|
this.queryParam.endTime = this.$util.getDayEnd(this.queryDate[1])
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
setDateFast() {
|
||||||
|
switch (this.activeUsage) {
|
||||||
|
case "今日":
|
||||||
|
let todayObj = this.$util.getToday()
|
||||||
|
this.queryParam.beginTime = todayObj.todayStart
|
||||||
|
this.queryParam.endTime = todayObj.todayEnd
|
||||||
|
break
|
||||||
|
case "昨日":
|
||||||
|
let yesterdayObj = this.$util.getYesterday()
|
||||||
|
this.queryParam.beginTime = yesterdayObj.beginTime
|
||||||
|
this.queryParam.endTime = yesterdayObj.endTime
|
||||||
|
break
|
||||||
|
case "近一周":
|
||||||
|
let rangeWeek = this.$util.getRecentWeeks()
|
||||||
|
this.queryParam.beginTime = rangeWeek.recentWeekStart
|
||||||
|
this.queryParam.endTime = rangeWeek.todayEnd
|
||||||
|
break
|
||||||
|
case "近一月":
|
||||||
|
let rangeMonth = this.$util.getRecentMonths()
|
||||||
|
this.queryParam.beginTime = rangeMonth.recentMonthStart
|
||||||
|
this.queryParam.endTime = rangeMonth.todayEnd
|
||||||
|
break
|
||||||
|
case "近半年":
|
||||||
|
let rangeMonths = this.$util.getRecentMonths(6)
|
||||||
|
console.log('近半年:', rangeMonths)
|
||||||
|
this.queryParam.beginTime = rangeMonths.recentMonthStart
|
||||||
|
this.queryParam.endTime = rangeMonths.todayEnd
|
||||||
|
break
|
||||||
|
case "近一年":
|
||||||
|
let rangeYear = this.$util.getRecentYears()
|
||||||
|
this.queryParam.beginTime = rangeYear.recentYearStart
|
||||||
|
this.queryParam.endTime = rangeYear.todayEnd
|
||||||
|
break
|
||||||
|
default:
|
||||||
|
this.queryParam.beginTime = ''
|
||||||
|
this.queryParam.endTime = ''
|
||||||
|
this.queryDate = ''
|
||||||
|
break
|
||||||
|
}
|
||||||
|
if(this.queryParam.beginTime && this.queryParam.endTime) {
|
||||||
|
this.queryDate = [this.queryParam.beginTime, this.queryParam.endTime]
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
handleSelectionChange(val){
|
||||||
|
console.log('获取val',val)
|
||||||
|
this.uniqueSelection = []
|
||||||
|
val.forEach((row)=>{
|
||||||
|
this.uniqueSelection.push(row.id)
|
||||||
|
})
|
||||||
|
console.log('uniqueSelection',this.uniqueSelection)
|
||||||
|
|
||||||
|
},
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<style scoped>
|
||||||
|
.el-badge{
|
||||||
|
top: 3px;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
Loading…
x
Reference in New Issue
Block a user