人物画像

This commit is contained in:
liuxi 2025-01-08 18:23:21 +08:00
parent 38e1bc3215
commit 42da96030b
6 changed files with 23488 additions and 3951 deletions

27116
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -17,7 +17,7 @@
<el-col :span="6">
<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.pkgName" placeholder="请选择案件包"
<el-select v-model="queryParam.pkgId" placeholder="请选择案件包"
class="width100" >
<el-option
v-for="item in CasepackageList"
@ -52,27 +52,27 @@
<div class="height-56 flex-row align-items-center justify-content-between">
<div class="f22 color-text-primary">列表</div>
<div class="flex-row">
<el-button size="small" type="primary" @click="handleImport">导入案件</el-button>
<el-button size="small" @click="handleAddForm">导出错误案件</el-button>
<el-button size="small" type="primary" @click="handleImport">增量导入案件</el-button>
<el-button size="small" @click="handleExport">导出错误案件</el-button>
<el-button size="small" @click="handleDelete">清空错误案件</el-button>
</div>
</div>
<div >
<el-table :data="tableData" :height="`${contentHeight}`"
<el-table :data="tableData" :height="`${contentHeight}`" style="width: 100%"
@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 v-for="(item,index) in Error_headers" :key="index"
:prop="item.fieldKey" :label="item.name" show-overflow-tooltip min-width="180" ></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="channel" label="被申请人手机号码" show-overflow-tooltip ></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="assignTotal" label="合同名称" show-overflow-tooltip ></el-table-column>
<el-table-column prop="assignTotal" label="委托时逾期天数" show-overflow-tooltip ></el-table-column>
<!-- <el-table-column prop="assignTotal" label="合同名称" show-overflow-tooltip ></el-table-column> -->
<el-table-column prop="assignTotal" label="当前逾期金额" show-overflow-tooltip ></el-table-column>
<el-table-column prop="assignTotal" label="当前逾期金额" show-overflow-tooltip ></el-table-column> -->
</el-table>
</div>
@ -96,7 +96,6 @@
</template>
<script>
import cpkapi from "@/services/casePackageManagement";
import api from "@/services/casePackageManagement";
export default {
components: {
importPackageDialog: () => import('./components/importPackageDialog'),//
@ -113,6 +112,7 @@ import api from "@/services/casePackageManagement";
financialProductsTypeOptions:[],//
departmentOptions:[],//
queryParam: {
pkgId:'',
pkgName:'',//
entrustingAgencyName: '',//
endTime: '',//
@ -130,23 +130,20 @@ import api from "@/services/casePackageManagement";
addCaseDialog:null,//
editCaseDrawer:null,//
CasepackageList:[],
Error_headers:[],
}
},
created() {
this.getCasepkgList()
this.getCaseInfoList(1)
},
computed:{
// drawer
contentHeight(){
let oh = document.documentElement.clientHeight;
if(this.showSearch){
return oh-56-48-366-32
return oh-56-348
}else{
return oh-56-48-175-32
}
}
},
methods: {
@ -158,118 +155,52 @@ import api from "@/services/casePackageManagement";
cpkapi.getCasePkgQuery({current:1,size:500}).then(res => {
if (!res.code) {
this.CasepackageList = res.records;
if(this.CasepackageList.length > 0){
this.queryParam.pkgId = this.CasepackageList[0].id
}
this.getCasepkgError_headers()
}
})
},
//
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
//
getCasepkgError_headers(){
cpkapi.postcase_pkg_error_headers({id:this.queryParam.pkgId}).then(res => {
if (!res.code) {
this.Error_headers = res;
}
api.deleteCaseBatch(data).then((res) => {
this.$message.success("成功");
this.getCaseInfoList(1)
});
}).catch(() => {});
this.getCaseInfoList()
})
},
//
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 => {
cpkapi.postcase_pkg_error_page(this.queryParam).then(res => {
if (!res.code) {
this.tableData = res.records;
this.total = res.total;
}
})
},
handleToggleSearch() {
this.showSearch = !this.showSearch
//
handleImport(){
this.importCaseDialog={
title:'增量导入案件',
}
},
//
handleExport(){
if(!this.$clickThrottle()) { return }//
cpkapi.postcase_pkg_error_down(this.queryParam).then(res => {
this.$util.downloadFileByBlob(res, '错误案件列表.xlsx')
})
},
handleDelete(){
},
//
hanldeReset() {
@ -288,71 +219,6 @@ import api from "@/services/casePackageManagement";
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>

View File

@ -577,7 +577,6 @@ export default {
eventDialog: {caseId: this.$route.query.caseId},
leftActive: 1,
rightActive: 1,
fileList: [],
mediationRecord: [],//
baseInfo: {},//
@ -690,13 +689,11 @@ export default {
return {cardNo: datacardno.substring(0, len), phone: dataphone.substring(0, len)};
},
//
getCaseInfoById() {
async getCaseInfoById() {
let _that = this
api.getCaseInfoById(this.caseId).then(res => {
console.log(res, 'res')
await api.getCaseInfoById(this.caseId).then(res => {
if (!res.code) {
this.baseInfo = res
//
// console.log('',res.caseFileEntityList)
let caseFileEntityList = []

View File

@ -342,28 +342,28 @@
<script>
import chinalist from 'china-location/dist/location.json';
import ChinaLocation from 'china-location';
import caseMaterial from "@/services/caseMaterial";
import { forEach } from 'lodash';
import api from "@/services/caseManagement";
export default {
components: {
uploadFile: () => import('@/components/uploadFile.vue'),//
},
props: {
eventDialog: {
type: Object,
caseId: {
type: String,
default: () => {
return {}
return ''
},
},
},
data() {
return {
debtorEntityList:[],
portraitInfo:{},
initlocation: null,
provinces: [],
rightActive: 1,
debtorProfiles:[],
};
},
computed: {
@ -393,7 +393,8 @@ export default {
},
mounted() {
this.initlocation = new ChinaLocation(chinalist);
this.getCaseInfoById()
},
methods: {
loadOptions(node, resolve) {
@ -430,36 +431,39 @@ export default {
}
}, 100);
},
daysAfterDate() {
console.log(this.mrObj.timeType,'timeType')
//
let currentDate = new Date();
//
const nextDate = currentDate
currentDate.setDate(currentDate.getDate() + this.mrObj.timeType)
const year = nextDate.getFullYear();
const month = (nextDate.getMonth() + 1).toString().padStart(2, '0');
const day = nextDate.getDate().toString().padStart(2, '0');
this.mrObj.nextDate = year +'-'+ month +'-'+ day;
},
handleUploadFile(fileList){
// console.log('',fileList)
fileList = JSON.parse(JSON.stringify(fileList))
this.fileList = fileList.map((item,i) => {
return {
url: item.url,
fileName: item.fileName,
previewUrl:item.previewUrl,
objectName: item.objectName
//
getCaseInfoById() {
let _that = this
api.getCaseInfoById(this.caseId).then(res => {
if (!res.code) {
this.debtorEntityList = res.debtorEntityList
}
this.getdebtorProfile()
})
this.repaymentObj.url = this.fileList.length?this.fileList[0].fileName : '';
this.repaymentObj.name = this.fileList.length?this.fileList[0].objectName : '';
},
handleClose() {
this.$emit('update:visiblemediatRecord', false)
//
getdebtorProfile(){
api.debtorProfile_labels({}).then(res => {
if (!res.code) {
this.debtorProfiles = res;
}
})
//
let debtorId = ''
let debtors = this.debtorEntityList.find(item =>{ return item.role == 'DEBTOR'})
if(debtors != undefined)
{
debtorId = debtors.id
}
api.debtorProfile_getByDebtorId(debtorId).then(res => {
if (!res.code) {
// this.debtorProfiles = res;
}
})
},
handleSubmit() {
if(!this.$clickThrottle()) { return }//
console.log(this.mrObj,'this.mrObj')

View File

@ -258,6 +258,19 @@ const caseManagementApi = {
return service.service.post(`${apiAdmin}cases/caseInfo/updateAssistMediator`, data)
},
// 人物画像-查询当前债务人画像信息
debtorProfile_getByDebtorId: data => {
return service.service.get(`${apiAdmin}api/portrait/debtorProfile/getByDebtorId?id=${data}`)
},
// 人物画像-编辑债务人的画像信息
debtorProfile_edit: data => {
return service.service.post(`${apiAdmin}api/portrait/debtorProfile/edit`, data)
},
// 人物画像-标签列表
debtorProfile_labels: data => {
return service.service.post(`${apiAdmin}api/portrait/debtorProfile/labels`, data)
},
//========================end::案件管理======================================
}

View File

@ -36,6 +36,21 @@ const caseManagementApi = {
},
// 错误的案件记录标头
postcase_pkg_error_headers: data => {
return service.service.post(`${apiMediate}case_pkg/imports/error/headers`, data)
},
// 错误的案件记录
postcase_pkg_error_page: data => {
return service.service.post(`${apiMediate}case_pkg/imports/error/page`, data)
},
// 错误的案件记录导出excel
postcase_pkg_error_down: data => {
return service.service.post(`${apiMediate}case_pkg/imports/error/down`, data)
},
//========================end::案件包管理======================================
}