<!--
|
* @Author: your name
|
* @Date: 2019-10-21 15:40:58
|
* @LastEditTime: 2019-10-23 13:59:57
|
* @LastEditors: your name
|
* @Description: In User Settings Edit
|
* @FilePath: /e:\Demo\cts-web\src\views\area\partner\update\ApplyInfo.vue
|
-->
|
<template>
|
<div class="dataBack" v-loading="loading">
|
<el-form label-position="right" :model="form" v-show="!loading" ref="form">
|
<el-row>
|
<p class="title">基本信息</p>
|
<el-col :md="12" :lg="8">
|
<el-form-item label="申请编号">
|
<el-input v-model="form.serialno" readonly></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :md="12" :lg="8">
|
<el-form-item label="申请人姓名">
|
<el-input v-model="form.inputusername" readonly></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :md="12" :lg="8">
|
<el-form-item label="申请人工号">
|
<el-input v-model="form.inputuser" readonly></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :md="12" :lg="8">
|
<el-form-item label="申请人直属机构">
|
<el-input v-model="form.inputorgname" readonly></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :md="12" :lg="8">
|
<el-form-item label="申请人所属一级内部机构">
|
<el-input v-model="form.refereefirstinternallevel" readonly></el-input>
|
</el-form-item>
|
</el-col>
|
<el-col :md="12" :lg="8">
|
<el-form-item label="申请时间">
|
<el-input v-model="form.inputdate" readonly></el-input>
|
</el-form-item>
|
</el-col>
|
</el-row>
|
<el-row>
|
<p class="title">开通产品信息</p>
|
<product-table></product-table>
|
</el-row>
|
<el-form label-position="right" :model="creditFrom" v-show="!loading" ref="creditFrom">
|
<el-row>
|
<p class="title" style="margin-top:0">授信信息</p>
|
<parter-input-fixed :config.sync="creditFrom.depositsum" @valueToFixed="valueToFixed"></parter-input-fixed>
|
</el-row>
|
</el-form>
|
</el-form>
|
</div>
|
</template>
|
|
<script>
|
import { qryChannelApplyInfoRequest, addChannelDepositsum, saveChannelDepositsum } from '@/api/area/partner'
|
import ProductTable from './components/ProductTable'
|
import ParterInput from './components/ParterInput'
|
import ParterInputFixed from './components/ParterInputFixed'
|
import { mapState } from 'vuex'
|
|
import { communal } from '@/views/area/mixins'
|
export default {
|
components: { ParterInput, ProductTable, ParterInputFixed },
|
props: ['nextChange'],
|
mixins: [ communal ],
|
data: function() {
|
return {
|
loading: true,
|
form: {
|
serialno: '',
|
inputusername: '',
|
inputuser: '',
|
inputorgname: '',
|
refereefirstinternallevel: '',
|
inputdate: ''
|
},
|
creditFrom: {
|
depositsum: ''
|
},
|
oldForm: {},
|
nextChangeCopy: null
|
}
|
},
|
created() {
|
this.initForm()
|
this.initCreditFrom()
|
},
|
computed: {
|
...mapState({
|
partnerParams: state => state.risk.partnerParams
|
})
|
},
|
watch: {
|
'creditFrom.depositsum': function(val) {
|
// console.log(val)
|
// 不可编辑时
|
if (!val.writeAble && val.value) {
|
let valCount = val.value * 1
|
this.creditFrom.depositsum.value = valCount.toFixed(2).toString()
|
this.oldForm.depositsum.value = valCount.toFixed(2).toString()
|
}
|
}
|
},
|
methods: {
|
// 初始化表单
|
async initForm() {
|
this.nextChangeCopy = this.nextChange
|
let params = {
|
serialno: this.partnerParams.serialno,
|
objectno: this.partnerParams.objectno,
|
objectType: this.partnerParams.objectType,
|
ftserialno: this.partnerParams.ftserialno
|
}
|
let res = await qryChannelApplyInfoRequest(params)
|
this._.merge(this.form, res.result)
|
this.loading = false
|
},
|
async initCreditFrom() {
|
let params = {
|
objectType: this.partnerParams.objectType,
|
serialno: this.partnerParams.serialno
|
}
|
let res = await addChannelDepositsum(params)
|
this._.merge(this.creditFrom, res.result)
|
Object.assign(this.oldForm, res.result)
|
// this.nextChange = false
|
},
|
// 表单提交
|
handleSubmit() {
|
this.$refs['creditFrom'].validate(valid => {
|
if (valid) {
|
let params = {
|
depositsum: this.creditFrom.depositsum.value,
|
ischeck: true,
|
serialno: this.partnerParams.serialno,
|
}
|
saveChannelDepositsum(params).then(res => {
|
if (res.code === '00') {
|
// this.$message.success('提交成功!')
|
this.oldForm = Object.assign(this.oldForm, this.creditFrom)
|
this.$emit('handleNextPage', true)
|
}
|
})
|
} else {
|
this.$message.warning('当前页面存在必填项未录入或数据录入错误,请检查!')
|
return false
|
}
|
})
|
},
|
// 保存草稿
|
async handleSaveDarft(submitSave) {
|
let params = {
|
depositsum: this.creditFrom.depositsum.value,
|
ischeck: false,
|
serialno: this.partnerParams.serialno,
|
}
|
let res = await saveChannelDepositsum(params)
|
if (res.code === '00') {
|
if (!submitSave) {
|
this.$message.success('保存成功!')
|
this.oldForm = Object.assign(this.oldForm, this.creditFrom)
|
}
|
}
|
},
|
// 保存
|
handleSave() {
|
this.$refs['creditFrom'].validate(valid => {
|
if (valid) {
|
let params = {
|
depositsum: this.creditFrom.depositsum.value,
|
ischeck: true,
|
serialno: this.partnerParams.serialno,
|
}
|
saveChannelDepositsum(params).then(res => {
|
if (res.code === '00') {
|
this.$message.success('保存成功')
|
this.oldForm = Object.assign(this.oldForm, this.creditFrom)
|
this.nextChangeCopy = false
|
// this.$emit('handleNextPage', true)
|
}
|
})
|
} else {
|
this.$message.warning('当前页面存在必填项未录入或数据录入错误,请检查!')
|
return false
|
}
|
})
|
},
|
valueToFixed(value) {
|
const { depositsum } = this.creditFrom
|
// 可编辑并且是数字
|
if (depositsum.writeAble && value !== '') {
|
if (!isNaN(value)) {
|
this.creditFrom.depositsum.value = this.formatMoney(value)
|
} else {
|
this.$message.warning('非法输入,请输入正确的金额!')
|
this.creditFrom.depositsum.value = ''
|
// this.oldForm.depositsum.value = ''
|
}
|
}
|
}
|
},
|
// 离开路由前
|
beforeRouteLeave (to, from, next) {
|
// console.log(this.creditFrom)
|
// console.log(this.oldForm)
|
if (this.nextChangeCopy) {
|
for (const key in this.oldForm) {
|
if (this.oldForm.hasOwnProperty(key)) {
|
if (this.oldForm[key].value != this.creditFrom[key].value) {
|
this.$confirm(`当前页面有未保存的数据,是否放弃保存`, '提示', {
|
confirmButtonText: '是',
|
cancelButtonText: '否',
|
customClass: 'par_messages_box',
|
confirmButtonClass: 'par_messages_box_confirm',
|
cancelButtonClass: 'par_messages_box_cancel',
|
center: true
|
})
|
.then(() => {
|
next()
|
})
|
.catch(() => {
|
this.$emit('notNext')
|
})
|
return
|
}
|
}
|
}
|
}
|
next();
|
}
|
|
}
|
</script>
|
|
<style lang="stylus" >
|
.par_messages_box.el-message-box--center
|
width 458px
|
height 173px
|
.el-message-box__header
|
padding-top 40px
|
.el-message-box__title
|
// font-family PingFangSC-Medium,PingFangSC
|
font-size 18px
|
font-width bold
|
height 25px
|
line-height 25px
|
.el-message-box__headerbtn
|
top 20px
|
right 20px
|
background rgba(245,245,245,1)
|
.el-message-box__content
|
.el-message-box__message
|
p
|
height 20px
|
line-height 20px
|
font-size 14px
|
font-weight 400
|
color rgba(101,101,101,1)
|
// font-family PingFangSC-Medium,PingFangSC
|
.el-message-box__btns
|
padding-top 30px
|
.par_messages_box_confirm
|
margin-left 40px
|
background-color rgba(0,129,240,1)
|
border-radius 4px
|
color rgba(255,255,255,1)
|
.par_messages_box_cancel
|
border-radius 4px
|
border:1px solid rgba(204,204,204,1)
|
color rgba(85,85,85,1)
|
.par_messages_box_cancel,.par_messages_box_confirm
|
padding 0
|
width 120px
|
height 30px
|
span
|
font-size 14px
|
height 20px
|
font-weight 400
|
line-height 20px
|
</style>
|