根据数字显示中文汉字
<div class="money">
<div class="left">
<span>合计</span>
<br>
<span>金额</span>
</div>
<div class="nums">
<span class="unit">{{payDetail.moneyArr[0]}} 仟</span>
<span class="unit">{{payDetail.moneyArr[1]}} 佰</span>
<span class="unit">{{payDetail.moneyArr[2]}} 拾</span>
<span class="unit">{{payDetail.moneyArr[3]}} 万</span>
<span class="unit">{{payDetail.moneyArr[4]}} 仟</span>
<span class="unit">{{payDetail.moneyArr[5]}} 佰</span>
<span class="unit">{{payDetail.moneyArr[6]}} 拾</span>
<span class="unit">{{payDetail.moneyArr[7]}} 元</span>
<span class="unit">{{payDetail.moneyArr[8]}} 角</span>
<span class="unit">{{payDetail.moneyArr[9]}} 分</span>
</div>
<div class="right">
¥<span class="underline">{{Number(payDetail.payAmount||0).toFixed(2)}}</span>元
</div>
</div>
data() {
return {
modalShow: false,
id: '',
payDetail: {
paymentOrderNo: '',
payAmount: '',
accountName: '',
bank: '',
accountNumber: '',
billDateStart: '',
billDateEnd: '',
applyTime: '',
applicant: '',
settlementType: '',
remarks: '',
moneyArr: []
}
}
},
created() {
console.log(this.$route.query)
this.init()
},
methods: {
async init() {
let id = this.$route.query.id
if (!id) return
this.$Spin.show()
try {
let res = await getPaymentOrder({ id })
this.payDetail = res.data.result || {}
this.payDetail.moneyArr = this.convertCurrency(Number(this.payDetail.payAmount))
} catch (error) {
console.log(error)
this.$Message.error('网络异常')
} finally {
this.$Spin.hide()
}
},
convertCurrency(money) {
console.log(this.payDetail.payAmount)
var cnNums = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖']
var maxNum = 99999999999999.99
if (!money) { return '' }
money = parseFloat(money)
if (money >= maxNum) {
return ''
}
money = Number(money).toFixed(2)
let arr = Array.from(money).filter(item => item !== '.').map(item => cnNums[item])
console.log(arr)
let len = arr.length
if (len < 10) {
for (let i = 0; i < 10 - len; i++) {
arr.unshift('零')
}
}
console.log(arr)
return arr
},
doPrint() {
window.print()
}
}