<template>
|
<div class="apply-info" v-if="serialNo || tempSerialNo ">
|
<CommForm
|
:inline="true"
|
:list="tempFormList"
|
ref="basicForm"
|
title="核对结果"
|
@updateValue="updateValue"
|
:formValues="formValues"
|
:formRules="formRules"
|
:formType="formType"
|
></CommForm>
|
</div>
|
</template>
|
<script>
|
import { mapState } from 'vuex'
|
import CommForm from '@/components/CommForm'
|
|
import voucherDetailCheck from '@/controller/voucherDetailCheck' // 核对
|
|
export default {
|
components: {
|
CommForm
|
},
|
props: {
|
conf: {
|
type: Object,
|
default: () => ({})
|
}
|
},
|
data() {
|
return {
|
info: {},
|
query: {},
|
formList: [],
|
model: null,
|
isShowDialog: false,
|
isCheck: true
|
}
|
},
|
created() {
|
this.init()
|
},
|
methods: {
|
init() {
|
const { serialNo } = this
|
// console.log(serialNo)
|
let { query } = this.$route
|
query = {
|
...query,
|
serialNo
|
}
|
this.query = query
|
let model = voucherDetailCheck(query)
|
this.model = model
|
// this.model = queryCustomerInfoChange()
|
// this.checkModel = voucherDetailCheck()
|
this.getDetail()
|
},
|
async getDetail() {
|
const { query, model, basicInfo, serialNo } = this
|
const { command, isApplyPhase } = query
|
// if (isApplyPhase === 1) {
|
// this.formList = model.getFormList(command)
|
// }
|
// if (isApplyPhase === 2) {
|
if (serialNo) {
|
// const info = await submitModel.request({
|
// serialNo
|
// })
|
// if (isApplyPhase === 1) {
|
// this.formList = model.getFormList(basicInfo)
|
// } else {
|
// const info = await detailsModel.request({
|
// serialNo
|
// })
|
// this.formList = model.getFormList(info)
|
// }
|
// 无论字段在页面展不展示都需要对数据进行计算
|
// 财务差额
|
basicInfo.financialBalance = Math.abs(
|
basicInfo.coreMoney * 1 - basicInfo.checkMoney * 1
|
).toFixed(2)
|
// 财务本金损失差额
|
basicInfo.lossBalanceMoney = Math.abs(
|
basicInfo.coreLossMoney * 1 - basicInfo.checkLossMoney * 1
|
).toFixed(2)
|
this.formList = model.getFormList(basicInfo)
|
// 只对页面展示的数据进行计算
|
// const { formList } = this
|
// const financialBalanceIndex = formList.findIndex(
|
// item => item.name === 'financialBalance'
|
// )
|
// const coreMoneyIndex = formList.findIndex(
|
// item => item.name === 'coreMoney'
|
// )
|
// const checkMoneyIndex = formList.findIndex(
|
// item => item.name === 'checkMoney'
|
// )
|
// const lossBalanceMoneyIndex = formList.findIndex(
|
// item => item.name === 'lossBalanceMoney'
|
// )
|
// const lossMoneyIndex = formList.findIndex(
|
// item => item.name === 'lossMoney'
|
// )
|
// const revokeMoneyIndex = formList.findIndex(
|
// item => item.name === 'revokeMoney'
|
// )
|
// if (financialBalanceIndex > -1) {
|
// if (checkMoneyIndex > -1) {
|
// this.formList[financialBalanceIndex].value = Math.abs(
|
// formList[checkMoneyIndex].value * 1 -
|
// formList[coreMoneyIndex].value * 1
|
// ).toFixed(2)
|
// } else {
|
// this.formList[financialBalanceIndex].value = formList[coreMoneyIndex].value
|
// }
|
// this.formList[financialBalanceIndex].attrs = ['readonly']
|
// }
|
// if (lossBalanceMoneyIndex > -1) {
|
// this.formList[lossBalanceMoneyIndex].value = Math.abs(
|
// formList[revokeMoneyIndex].value * 1 -
|
// formList[lossMoneyIndex].value * 1
|
// ).toFixed(2)
|
// this.formList[lossBalanceMoneyIndex].attrs = ['readonly']
|
// }
|
} else {
|
this.formList = []
|
}
|
// }
|
},
|
|
// 更新表单数据
|
updateValue(index, info) {
|
const { formList } = this
|
if (isNaN(index)) {
|
// index is name
|
index = formList.findIndex(({ name }) => name === index)
|
}
|
if (!isNaN(index) && index > -1) {
|
const preInfo = formList[index]
|
this.$set(formList, index, { ...preInfo, ...info })
|
}
|
}
|
},
|
computed: {
|
// 表单值信息
|
formValues() {
|
const { model, formList } = this
|
if (model) {
|
return model.getFormValues(formList)
|
}
|
return {}
|
},
|
formRules() {
|
const { model, formList } = this
|
if (model) {
|
return model.getFormRules(formList)
|
}
|
return {}
|
},
|
tempFormList() {
|
const { isCheck, formList } = this
|
if (isCheck) {
|
return formList
|
} else {
|
formList.map(item => {
|
if (item.type === 'select' || item.type === 'daterange') {
|
item.attrs = [...item.attrs, 'disabled']
|
} else {
|
if (item.attrs) {
|
item.attrs =
|
item.attrs.indexOf('readonly') > -1
|
? item.attrs
|
: [...item.attrs, 'readonly']
|
} else {
|
item.attrs = ['readonly']
|
}
|
}
|
})
|
return formList
|
}
|
},
|
tempSerialNo() {
|
const { query } = this.$route
|
const { serialNo } = query
|
if (serialNo) {
|
return true
|
} else {
|
return false
|
}
|
},
|
formType() {
|
const { query } = this.$route
|
const { isApplyPhase } = query
|
if (isApplyPhase === '2') {
|
return 'text'
|
} else {
|
return ''
|
}
|
},
|
// isShow() {
|
// const { query } = this.$route
|
// const { serialNo }
|
// return true
|
// },
|
...mapState({
|
serialNo: state => state.financialModule.serialNo,
|
basicInfo: state => state.financialModule.basicInfo
|
})
|
},
|
watch: {
|
$route() {
|
const { transLogSerialno } = this.$route.query
|
if (transLogSerialno) {
|
this.init()
|
}
|
},
|
serialNo(val) {
|
if (val) {
|
this.init()
|
}
|
}
|
}
|
}
|
</script>
|
<style lang="postcss" scoped>
|
.apply-info {
|
}
|
.tab-form-buttons {
|
display: flex;
|
justify-content: center;
|
padding: 20px 0 30px 0;
|
& p {
|
margin: 0 40px 0 0;
|
}
|
& p:last-child {
|
margin-right: 0;
|
}
|
}
|
</style>
|