UI及业务

This commit is contained in:
liuxi 2024-12-23 17:14:52 +08:00
parent ca3980f307
commit 5e8f28ccc5
4 changed files with 261 additions and 13 deletions

View File

@ -99,14 +99,6 @@
<el-table-column prop="B" label="约定还款金额" show-overflow-tooltip ></el-table-column>
<el-table-column prop="C" label="约定还款时间" show-overflow-tooltip ></el-table-column>
<el-table-column prop="D" label="备注信息" show-overflow-tooltip ></el-table-column>
<el-table-column label="操作" width="170">
<template slot-scope="scope">
<div class="flex-row align-items-center">
<el-button size="mini" @click="handleCaseAllocation(scope)">编辑</el-button>
<el-button size="mini" @click="handleCaseAllocation(scope)">删除</el-button>
</div>
</template>
</el-table-column>
</el-table>
</el-tab-pane>
<el-tab-pane>
@ -217,8 +209,6 @@
<el-table-column label="操作" width="230">
<template slot-scope="scope">
<div class="flex-row align-items-center">
<el-button size="mini" @click="handleCaseAllocation(scope)">上传</el-button>
<el-button size="mini" @click="handleCaseAllocation(scope)">删除</el-button>
<el-button size="mini" @click="handleCaseAllocation(scope)">查看</el-button>
</div>
</template>

View File

@ -9,7 +9,7 @@
<el-button @click="getNextCaseById">下一个</el-button>
<span class="ipphoneimg"> IP电话</span>
<span class="smsimg">发送短信</span>
<span class="videoimg">视频预约</span>
<span class="videoimg" @click="VideoDialog={caseId:caseId}">视频预约</span>
<span class="case-send-btn">发起送达</span>
<span class="case-send-btn">发起签章</span>
@ -410,7 +410,8 @@
</div>
</div>
<!-- 视频预约 -->
<VideoReservationDialog v-if="VideoDialog" :eventDialog.sync="VideoDialog" />
</div>
</template>
@ -421,9 +422,11 @@ import api from "@/services/caseManagement";
uploadFile: () => import('@/components/uploadFile.vue'),//
RepaymentSchedule: () => import('./RepaymentSchedule.vue'),//
RepaymentCertificate: () => import('./RepaymentCertificate.vue'),//
VideoReservationDialog: () => import('./VideoReservationDialog'),//
},
data() {
return {
VideoDialog:null,
eventDialog:{caseId:this.$route.query.caseId},
leftActive:1,
rightActive:1,

View File

@ -0,0 +1,255 @@
<template>
<div>
<el-dialog title="视频预约" :visible="true" width="600px" append-to-body :close-on-click-modal="false"
@close="handleClose">
<div class="dialog-content dialog-office-batch">
<div class="pt-8">
<!-- <div class="flex-row align-items-center justify-content-between mb-16 case-batch-num">
<span>选中<a>{{eventTraDialog.caseids.length}}</a>个案件系统将对您选择的案件进行批量电子短信送达</span>
</div> -->
<el-form ref="ruleFormRepayment"
:model="videoObj"
:rules="rulesClientRule"
label-width="130px">
<el-row :gutter="56">
<el-col :span="24">
<el-form-item label="开始时间" prop="type">
<el-select v-model="repaymentObj.type" class="width100" disabled
placeholder="请选择还款方式" size="small">
<el-option
v-for="(item,index) in RepaymentOptions"
:key="index"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="持续时间" prop="type">
<el-select v-model="repaymentObj.type" class="width100" disabled
placeholder="请选择还款方式" size="small">
<el-option
v-for="(item,index) in RepaymentOptions"
:key="index"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-form-item label="" prop="type">
<el-select v-model="repaymentObj.type" class="width100" disabled
placeholder="请选择还款方式" size="small">
<el-option
v-for="(item,index) in RepaymentOptions"
:key="index"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="还款金额" prop="totalAmount">
<el-input class="inputpaddingtop2" disabled
size="small"
placeholder="请输入还款金额"
v-model="repaymentObj.totalAmount"
@input="inputChange($event)">
<template slot="append"></template>
</el-input>
</el-form-item>
<!-- 枚举备注: ALL :一次性全部回款 STAGES :全部分期 MIX :混合部分先还加分期 OTHER :其他 -->
<el-form-item v-if="repaymentObj.type == 'MIX'" label="分期前偿还金额" prop="partAmount">
<el-input class="inputpaddingtop2" disabled
size="small"
placeholder="请输入分期前偿还金额"
v-model="repaymentObj.partAmount"
@input="inputChange($event)">
<template slot="append"></template>
</el-input>
</el-form-item>
<el-form-item v-if="repaymentObj.type == 'MIX'" label="先还日期" prop="partDate">
<el-date-picker class="width100" size="small" disabled
v-model="repaymentObj.partDate"
type="date"
placeholder="选择先还日期"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd">
</el-date-picker>
</el-form-item>
<el-form-item v-if="repaymentObj.type == 'MIX'" label="分期部分金额" prop="productTypeId">
<el-input class="inputpaddingtop2"
size="small"
disabled
placeholder="分期部分金额"
v-model="repaymentObj.moneyAmount">
<template slot="append"></template>
</el-input>
</el-form-item>
<el-form-item v-if="repaymentObj.type == 'STAGES' || repaymentObj.type == 'MIX'" label="分期期数" prop="stagesNum">
<el-input
size="small" disabled
placeholder="请输入分期期数"
v-model="repaymentObj.stagesNum"
@input="inputChange($event)">
</el-input>
</el-form-item>
<el-form-item v-if="repaymentObj.type == 'STAGES' || repaymentObj.type == 'MIX'" label="每期还款金额" prop="stagesAmount">
<el-input class="inputpaddingtop2"
size="small"
disabled
placeholder="每期还款金额"
v-model="repaymentObj.stagesAmount">
<template slot="append"></template>
</el-input>
</el-form-item>
<el-form-item v-if="repaymentObj.type == 'STAGES' || repaymentObj.type == 'MIX'" label="每期还款日期" prop="stagesDay">
<el-select v-model="repaymentObj.stagesDay" class="width100" disabled
placeholder="请选择每期还款日期" size="small">
<el-option
v-for="(item, index) in 31"
:key="index"
:label="(index+1)+'日'"
:value="(index+1)">
</el-option>
</el-select>
</el-form-item>
<el-form-item v-if="repaymentObj.type == 'ALL' || repaymentObj.type == 'STAGES' || repaymentObj.type == 'MIX'" label="还款截止日期" prop="paybackDate">
<el-date-picker class="width100" size="small" disabled
v-model="repaymentObj.paybackDate"
type="date"
placeholder="选择日期"
value-format="yyyy-MM-dd"
format="yyyy-MM-dd">
</el-date-picker>
</el-form-item>
<el-form-item label="备注说明" prop="remark">
<el-input disabled
size="small"
clearable
placeholder="请输入备注说明"
v-model="repaymentObj.remark">
</el-input>
</el-form-item>
</el-form>
<el-collapse-transition>
<el-row :gutter="56">
<el-col :span="24">
<el-form-item label="" prop="type">
<el-select v-model="repaymentObj.type" class="width100" disabled
placeholder="请选择还款方式" size="small">
<el-option
v-for="(item,index) in RepaymentOptions"
:key="index"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
</el-collapse-transition>
</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";
export default {
components: {
},
props: {
eventTraDialog: {
type: Object,
default: () => {
return {}
},
},
},
data() {
return {
videoObj:{},
rulesClientRule:{
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']}
],
},
};
},
mounted () {
},
methods: {
smsChange(){
let jsonData = this.smsOptions.find(item=>{
return this.ObjectInfo.methodId == item.value
})
this.ObjectInfo.users = jsonData.users
this.ObjectInfo.content = jsonData.content
},
handleClose() {
this.$emit('update:eventTraDialog', null)
},
}
};
</script>
<style scoped lang="scss">
.dialog-office-batch{
padding: 16px 30px;
max-height:500px;
.tabs__search-criteria-title{
width: 100%;
}
.case-batch-num{
background-color: rgba(236, 238, 241, 0.8196078431);
padding: 15px 20px;
border-radius: 4px;
a{font-size: 16px;font-weight: 500;color: #C66A5B;}
}
.officelist{
background-color: rgba(236, 238, 241, 0.8196078431);
padding: 20px 20px;
.el-checkbox
{
width: 230px;
margin: 10px;
}
}
}
</style>

View File

@ -47,7 +47,7 @@ module.exports = {
},
proxy: {
"/manage-center": {
target: "http://api.mediate.dev.trydotec.com/manage-center", // 管理中心
target: "http://mediate.dev.trydotec.com/", // 管理中心
changeOrigin: true,
pathRewrite: {
"^/manage-center": "/",