<template>
|
<div class="refund" v-loading="loading" element-loading-background="transparent">
|
<el-form :model="form" :rules="rules" ref="form" label-width="110px" inline size="small">
|
<el-form-item label="申请编号">
|
<el-input v-model="form.applyserialno" disabled></el-input>
|
</el-form-item>
|
<el-form-item label="产品名称">
|
<el-input v-model="refunds.productName" disabled></el-input>
|
</el-form-item>
|
<el-form-item label="客户名称">
|
<el-input v-model="refunds.customerName" disabled></el-input>
|
</el-form-item>
|
<el-form-item label="仍需结算支付差额">
|
<el-input v-model="form.stillpaybalance" disabled></el-input>
|
</el-form-item>
|
<el-form-item label="退款金额">
|
<el-input v-model="form.refundamt" disabled></el-input>
|
</el-form-item>
|
<el-form-item label="退款日期" prop="refunddate">
|
<el-date-picker
|
v-model="form.refunddate"
|
type="date"
|
format="yyyy/MM/dd"
|
value-format="yyyy/MM/dd"
|
size="small"
|
placeholder="选择日期"
|
></el-date-picker>
|
</el-form-item>
|
<el-form-item label="线下退款账户类型" prop="settlebank">
|
<el-select
|
v-model="form.settlebank"
|
value-key="itemno"
|
clearable
|
filterable
|
placeholder="请选择"
|
@change="selOfflinePutoutBank"
|
>
|
<el-option
|
v-for="item in offlinePutoutBankList"
|
:key="item.itemno"
|
:label="item.itemname"
|
:value="item"
|
></el-option>
|
</el-select>
|
</el-form-item>
|
<el-form-item label="线下退款账号">
|
<el-input v-model="form.settleacctno" disabled></el-input>
|
</el-form-item>
|
<el-form-item label="线下退款账户名称">
|
<el-input v-model="form.settleacctsname" disabled></el-input>
|
</el-form-item>
|
</el-form>
|
<div class="btn">
|
<el-button size="medium" plain @click="cancel">取消</el-button>
|
<el-button size="medium" type="primary" @click="confirm('form')">确认</el-button>
|
</div>
|
</div>
|
</template>
|
<script>
|
import {
|
getDictionaryList,
|
refundConfirm
|
} from '@comprehensive/serve/public'
|
export default {
|
props: ['refunds'],
|
data () {
|
return {
|
form:{},
|
rules:{
|
refunddate:[
|
{ required: true, message: '请输入退款日期', trigger: 'change' }
|
],
|
settlebank:[
|
{ required: true, message: '请输入线下退款账户类型', trigger: 'blur' }
|
]
|
},
|
offlinePutoutBankList:[],
|
loading:false,
|
}
|
},
|
async created () {
|
this.form.applyserialno = this.refunds.serialNo
|
this.form.stillpaybalance = this.refunds.stillpaybalance
|
this.form.refundamt = this.refunds.stillpaybalance
|
this.offlinePutoutBankList = await this.qryDictionaryList('PutOutAccountType')
|
},
|
methods: {
|
selOfflinePutoutBank(val){
|
this.form.settlebankno = val.itemno
|
this.form.settlebankname = val.itemname
|
this.form.settleacctno = val.attribute1
|
this.form.settleacctsname = val.attribute3
|
},
|
// 字典
|
qryDictionaryList(code) {
|
return new Promise(resolve => {
|
getDictionaryList({
|
codeNo: code
|
}).then(res => {
|
resolve(res.result);
|
});
|
});
|
},
|
cancel(){
|
this.$emit('close',false)
|
},
|
confirm(formName){
|
this.$refs[formName].validate( async valid=>{
|
if(valid){
|
this.loading = true
|
const res = await refundConfirm(this.form)
|
if(res.code == '00'){
|
this.$message.success('退款确认成功')
|
this.$emit('close',false)
|
}
|
this.loading = false
|
}
|
})
|
}
|
}
|
}
|
</script>
|
<style lang="stylus">
|
.refund
|
.el-form
|
display: flex
|
justify-content: flex-start
|
flex-wrap: wrap
|
.el-form-item
|
display: table
|
width:50%
|
box-sizing border-box
|
padding-right 30px
|
margin: 0 0 24px 0
|
.el-form-item__label
|
display: table-cell
|
color: #888
|
line-height 16px
|
.el-form-item__content
|
width 220px
|
.el-date-editor
|
width: auto
|
.el-select
|
display: block
|
.btn
|
margin-top 20px
|
text-align center
|
.el-button
|
width: 120px;
|
font-size: 14px;
|
line-height: 20px;
|
padding: 5px 0;
|
</style>
|