diff --git a/src/assets/style/common.scss b/src/assets/style/common.scss index 0bba821..045c905 100644 --- a/src/assets/style/common.scss +++ b/src/assets/style/common.scss @@ -173,6 +173,19 @@ html{ .padding-0{ padding: 0 !important; } +.pt-6{ + padding-top: 6px; +} +.pb-6{ + padding-bottom: 6px; +} +.pr-6{ + padding-right: 6px; +} +.pl-6{ + padding-left: 6px; +} + .pt-8{ padding-top: $size8; } @@ -474,6 +487,10 @@ html{ height: $height138; } +.line-height-20{ + line-height: 20px; +} + .line-height-30{ line-height: $height30; } diff --git a/src/components/dialogPreview.vue b/src/components/dialogPreview.vue new file mode 100644 index 0000000..590170d --- /dev/null +++ b/src/components/dialogPreview.vue @@ -0,0 +1,69 @@ + + + + \ No newline at end of file diff --git a/src/components/pdfPreview.vue b/src/components/pdfPreview.vue new file mode 100644 index 0000000..f8ef663 --- /dev/null +++ b/src/components/pdfPreview.vue @@ -0,0 +1,64 @@ + + + diff --git a/src/components/svg-viewer.vue b/src/components/svg-viewer.vue new file mode 100644 index 0000000..229e55c --- /dev/null +++ b/src/components/svg-viewer.vue @@ -0,0 +1,44 @@ + + + + + diff --git a/src/components/uploadFile copy.vue b/src/components/uploadFile copy.vue new file mode 100644 index 0000000..59c4611 --- /dev/null +++ b/src/components/uploadFile copy.vue @@ -0,0 +1,330 @@ + + + + + \ No newline at end of file diff --git a/src/components/uploadFile.vue b/src/components/uploadFile.vue index f558304..b8fd4c3 100644 --- a/src/components/uploadFile.vue +++ b/src/components/uploadFile.vue @@ -1,253 +1,354 @@ + + + - \ No newline at end of file + } + \ No newline at end of file diff --git a/src/components/videoPreview.vue b/src/components/videoPreview.vue new file mode 100644 index 0000000..52059ca --- /dev/null +++ b/src/components/videoPreview.vue @@ -0,0 +1,62 @@ + + + \ No newline at end of file diff --git a/src/pages/event-tracing/components/CallDialog.vue b/src/pages/event-tracing/components/CallDialog.vue index 6da4ae2..da3bf1f 100644 --- a/src/pages/event-tracing/components/CallDialog.vue +++ b/src/pages/event-tracing/components/CallDialog.vue @@ -49,7 +49,7 @@
- + diff --git a/src/pages/event-tracing/components/officeDeliveryDialog.vue b/src/pages/event-tracing/components/officeDeliveryDialog.vue index 2b32e4b..95df752 100644 --- a/src/pages/event-tracing/components/officeDeliveryDialog.vue +++ b/src/pages/event-tracing/components/officeDeliveryDialog.vue @@ -62,7 +62,7 @@ - + diff --git a/src/pages/event-tracing/components/officeDialog.vue b/src/pages/event-tracing/components/officeDialog.vue index 9a10a80..ffa1479 100644 --- a/src/pages/event-tracing/components/officeDialog.vue +++ b/src/pages/event-tracing/components/officeDialog.vue @@ -62,7 +62,7 @@ - + diff --git a/src/pages/event-tracing/components/officeSealDialog.vue b/src/pages/event-tracing/components/officeSealDialog.vue index 6da59ab..38d90e3 100644 --- a/src/pages/event-tracing/components/officeSealDialog.vue +++ b/src/pages/event-tracing/components/officeSealDialog.vue @@ -62,7 +62,7 @@ - + diff --git a/src/pages/event-tracing/components/officeWriteDialog.vue b/src/pages/event-tracing/components/officeWriteDialog.vue index f867b8b..2f667dd 100644 --- a/src/pages/event-tracing/components/officeWriteDialog.vue +++ b/src/pages/event-tracing/components/officeWriteDialog.vue @@ -62,7 +62,7 @@ - + diff --git a/src/pages/event-tracing/components/repaymentDialog.vue b/src/pages/event-tracing/components/repaymentDialog.vue index a8744e6..748f635 100644 --- a/src/pages/event-tracing/components/repaymentDialog.vue +++ b/src/pages/event-tracing/components/repaymentDialog.vue @@ -58,17 +58,17 @@
- + - - - - - - - + + + + + + + @@ -77,7 +77,7 @@ - + - +
diff --git a/src/pages/event-tracing/dtraceDetail/smsDialogDetail.vue b/src/pages/event-tracing/dtraceDetail/smsDialogDetail.vue index 59bceff..44b3ac2 100644 --- a/src/pages/event-tracing/dtraceDetail/smsDialogDetail.vue +++ b/src/pages/event-tracing/dtraceDetail/smsDialogDetail.vue @@ -60,7 +60,7 @@ - + diff --git a/src/pages/mediation-page/components/LayoutContent.vue b/src/pages/mediation-page/components/LayoutContent.vue index c766785..2350939 100644 --- a/src/pages/mediation-page/components/LayoutContent.vue +++ b/src/pages/mediation-page/components/LayoutContent.vue @@ -33,27 +33,27 @@ - + 案件信息 - + 联系人 - + 案件材料 - + - 还款方案 + 案件文书 - + 还款计划 - + 还款凭证 @@ -61,7 +61,7 @@
-
+
基本信息
@@ -104,8 +104,103 @@
+
+
+ 联系人信息 + 添加联系人 +
+
+ + +
+ + +
+ + +
+ +
+ +
+ +
-
@@ -271,9 +366,12 @@ import api from "@/services/caseManagement"; export default { components: { uploadFile: () => import('@/components/uploadFile.vue'),//上传 + RepaymentSchedule: () => import('./RepaymentSchedule.vue'),//还款计划 + RepaymentCertificate: () => import('./RepaymentCertificate.vue'),//还款凭证 }, data() { return { + eventDialog:{caseId:this.$route.query.caseId}, leftActive:1, rightActive:1, fileList:[], @@ -281,6 +379,46 @@ import api from "@/services/caseManagement"; baseInfo:{},//基本信息 obligorInfo:[],//债务人信息 caseId:'',//案件id + // 联系人 + contactAddObj:{}, + contactAddFlag:false, + contactObj:{}, + contactUpdate:false, + relationOptions:[{label:'本人',value:'本人'},{label:'父母',value:'父母'},{label:'配偶',value:'配偶'}, + {label:'子女',value:'子女'},{label:'其他',value:'其他'},{label:'朋友',value:'朋友'},{label:'兄弟',value:'兄弟'}, + {label:'同事',value:'同事'},{label:'同学',value:'同学'}], + // 还款计划 + repaymentObj:{ + type:'ALL' + }, + RepaymentOptions:[{label:'一次性还款',value:'ALL'},{label:'全部分期',value:'STAGES'},{label:'部分先还加分期',value:'MIX'},{label:'其他',value:'OTHER'}], + rulesClientRepayment:{ + type: [ + { required: true, message: '请选择还款方式', trigger: 'change',}, + ], + totalAmount: [ + { required: true, message: '请输入还款金额', trigger: 'change',}, + { pattern: /^[1-9]\d*(,\d{3})*(\.\d{1,2})?$|^0.\d{1,2}$/, message: '请输入2位小数金额', trigger: ['blur', 'change']} + ], + paybackDate: [ + { required: true, message: '请选择还款截止日期', trigger: 'change',}, + ], + stagesDay: [ + { required: true, message: '请选择每期还款日期', trigger: 'change',}, + ], + partAmount: [ + { required: true, message: '请输入分期前偿还金额 ', trigger: 'change',}, + { pattern: /^[1-9]\d*(,\d{3})*(\.\d{1,2})?$|^0.\d{1,2}$/, message: '请输入2位小数金额', trigger: ['blur', 'change']} + ], + partDate: [ + { required: true, message: '请选择分期前偿还日期', trigger: 'change',}, + ], + stagesNum: [ + { required: true, message: '请输入分期期数', trigger: 'change',}, + { pattern: /^[1-9]\d*$/, message: '只能输入正整数', trigger: ['blur', 'change']} + ], + }, + }; }, computed:{ @@ -399,6 +537,14 @@ import api from "@/services/caseManagement"; this.$message.error(e.msg || e) } }, + handleSubmitRepayment(){ + this.$refs.ruleFormRepayment.validate((valid) => { + if (valid){ + console.log(1111) + + } + }) + }, handleBack(){ // this.$route.query.sourcePage == 'mediationManagement' this.$router.push('/mediation-management') @@ -569,9 +715,7 @@ import api from "@/services/caseManagement"; } } - .case-detail-des{ - - } + } diff --git a/src/pages/mediation-page/components/RepaymentCertificate.vue b/src/pages/mediation-page/components/RepaymentCertificate.vue new file mode 100644 index 0000000..76b79d8 --- /dev/null +++ b/src/pages/mediation-page/components/RepaymentCertificate.vue @@ -0,0 +1,238 @@ + + + diff --git a/src/pages/mediation-page/components/RepaymentSchedule.vue b/src/pages/mediation-page/components/RepaymentSchedule.vue new file mode 100644 index 0000000..ba2f15a --- /dev/null +++ b/src/pages/mediation-page/components/RepaymentSchedule.vue @@ -0,0 +1,328 @@ + + + diff --git a/src/pages/workbench/case-manage/index.vue b/src/pages/workbench/case-manage/index.vue index 853747c..e1fec8f 100644 --- a/src/pages/workbench/case-manage/index.vue +++ b/src/pages/workbench/case-manage/index.vue @@ -82,39 +82,41 @@
-
-
- {{item.pkgName}} - 查看详情 > + +
+
+ {{item.pkgName}} + 查看详情 > +
+
+ {{item.entrustingAgencyName}} + 委案日期:{{item.planStartTime | formaDate('yyyy-MM-dd')}} +
+
+ +

{{item.caseTotal}}

+ 案件总量 +
+ +

{{item.assignTotal}}

+ 已分案件数 +
+ +

{{item.caseTotal - item.assignTotal}}

+ 待分案件数 +
+ +

{{item.months}}个月

+ 委案期限 +
+
+
+ 案件分配 + + 删除 +
-
- {{item.entrustingAgencyName}} - 委案日期:{{item.planStartTime | formaDate('yyyy-MM-dd')}} -
-
- -

{{item.caseTotal}}

- 案件总量 -
- -

{{item.assignTotal}}

- 已分案件数 -
- -

{{item.caseTotal - item.assignTotal}}

- 待分案件数 -
- -

{{item.months}}个月

- 委案期限 -
-
-
- 案件分配 - - 删除 -
-
+
@@ -156,28 +158,28 @@
@@ -225,7 +227,40 @@ importCaseDialog:null,//导入 myEcharts: null, - traceData:{}, + traceData:{ + "smsTrackingCount": { + "total": 0, + "failed": 0 + }, + "intelligentCallTrackingCount": { + "total": 0, + "failed": 0 + }, + "repaymentRecordTrackingCount": { + "total": 0, + "failed": 0 + }, + "documentSignatureTrackingCount": { + "total": 1, + "failed": 0 + }, + "documentDeliveryTrackingCount": { + "total": 0, + "failed": 0 + }, + "electronicSealTrackingCount": { + "total": 0, + "failed": 0 + }, + "documentGenerationTrackingCount": { + "total": 0, + "failed": 0 + }, + "videoAppointmentTrackingCount": { + "total": 0, + "failed": 0 + } + }, }; }, @@ -238,6 +273,12 @@ let oh = document.documentElement.clientHeight; return oh-66 + }, + // 获取抽屉drawer的内容高度 + leftContentHeight(){ + let oh = document.documentElement.clientHeight; + return oh-256 + } }, mounted(){ diff --git a/src/pages/workbench/index.vue b/src/pages/workbench/index.vue index e33dea3..c60ee1a 100644 --- a/src/pages/workbench/index.vue +++ b/src/pages/workbench/index.vue @@ -82,39 +82,41 @@
-
-
- {{item.pkgName}} - 查看详情 > + +
+
+ {{item.pkgName}} + 查看详情 > +
+
+ {{item.entrustingAgencyName}} + 委案日期:{{item.planStartTime | formaDate('yyyy-MM-dd')}} +
+
+ +

{{item.caseTotal}}

+ 案件总量 +
+ +

{{item.assignTotal}}

+ 已分案件数 +
+ +

{{item.caseTotal - item.assignTotal}}

+ 待分案件数 +
+ +

{{item.months}}个月

+ 委案期限 +
+
+
+ 案件分配 + + 删除 +
-
- {{item.entrustingAgencyName}} - 委案日期:{{item.planStartTime | formaDate('yyyy-MM-dd')}} -
-
- -

{{item.caseTotal}}

- 案件总量 -
- -

{{item.assignTotal}}

- 已分案件数 -
- -

{{item.caseTotal - item.assignTotal}}

- 待分案件数 -
- -

{{item.months}}个月

- 委案期限 -
-
-
- 案件分配 - - 删除 -
-
+
@@ -156,28 +158,28 @@
@@ -225,6 +227,40 @@ importCaseDialog:null,//导入 myEcharts: null, + traceData:{ + "smsTrackingCount": { + "total": 0, + "failed": 0 + }, + "intelligentCallTrackingCount": { + "total": 0, + "failed": 0 + }, + "repaymentRecordTrackingCount": { + "total": 0, + "failed": 0 + }, + "documentSignatureTrackingCount": { + "total": 1, + "failed": 0 + }, + "documentDeliveryTrackingCount": { + "total": 0, + "failed": 0 + }, + "electronicSealTrackingCount": { + "total": 0, + "failed": 0 + }, + "documentGenerationTrackingCount": { + "total": 0, + "failed": 0 + }, + "videoAppointmentTrackingCount": { + "total": 0, + "failed": 0 + } + }, }; }, @@ -237,7 +273,13 @@ let oh = document.documentElement.clientHeight; return oh-66 - } + }, + // 获取抽屉drawer的内容高度 + leftContentHeight(){ + let oh = document.documentElement.clientHeight; + return oh-256 + + } }, mounted(){ this.getCaseapkList() @@ -282,7 +324,7 @@ getstatistic_trace(){ workApi.statistic_trace({current:1,size:100}).then(res => { if (!res.code) { - this.tableData = res.records; + this.traceData = res; } }) }, diff --git a/src/services/caseManagement.js b/src/services/caseManagement.js index 6facd75..0c7c211 100644 --- a/src/services/caseManagement.js +++ b/src/services/caseManagement.js @@ -100,6 +100,24 @@ const caseManagementApi = { return service.service.post(`${apiMediate}cases/caseInfo/getNextCaseById`, data) }, + // 回款计划列表,没有分页 + getcase_payback_planlist: data => { + return service.service.post(`${apiMediate}api/case_payback_plan/list`, data) + }, + // 新增回款计划 + getcase_payback_save: data => { + return service.service.post(`${apiMediate}api/case_payback_plan/save`, data) + }, + + // 还款凭证列表 + gettraceProof_list: data => { + return service.service.post(`${apiMediate}api/trace/traceProof/list`, data) + }, + // 上传还款凭证 + gettraceProof_create: data => { + return service.service.post(`${apiMediate}api/trace/traceProof/create`, data) + }, +