element表单设置合并且数字金额为大写

编程入门 行业动态 更新时间:2024-10-27 00:27:21

element<a href=https://www.elefans.com/category/jswz/34/1771263.html style=表单设置合并且数字金额为大写"/>

element表单设置合并且数字金额为大写

 

<el-tableid="gy-table":data="billDetailsData"bordershow-summary:summary-method="getSummaries"style="width: 100%"
><el-table-column prop="name" label="项目1" min-width="100" /><el-table-column prop="lastReading" label="项目2" /><el-table-column prop="currentReading" label="项目3" /><el-table-column prop="actualUsage" label="项目4" /><el-table-column prop="unitPrice" label="项目5" /><el-table-column prop="monthMoney" label="项目6" /><el-table-column prop="lateFee" label="项目7" /><el-table-column prop="realTotalMoney" label="项目8" />
</el-table>
watch: {billDetailsData: {async handler() {await this.$nextTick(() => {const tds = document.querySelectorAll('#gy-table .el-table__footer-wrapper tr>td')tds[1].innerText = chineseNumber(tds[7].innerText)tds[1].colSpan = 3tds[1].style.textAlign = 'center'tds[2].style.display = 'none'tds[3].style.display = 'none'})}}
},
methods: {getSummaries(param) {const { columns, data } = paramconst sums = []columns.forEach((column, index) => {if (index === 0) {sums[index] = '总价'return}if (index === 4) {sums[index] = '小写'return}const values = data.map(item => Number(item[column.property]))if (!values.every(value => isNaN(value))) {sums[index] = values.reduce((prev, curr) => {const value = Number(curr)if (!isNaN(value)) {return (Number(prev) + Number(curr)).toFixed(2)} else {return (Number(prev)).toFixed(2)}}, 0)// sums[index] += ' 元';} else {sums[index] = 'N/A'}})return sums
},

小写转大写chineseNumber方法

// 引入
import { chineseNumber } from '@/utils/utils'// 封装utils.js
export function chineseNumber(Num) {// 判断如果传递进来的不是字符的话转换为字符if (typeof Num === 'number') {Num = Num.toString()}Num = Num.replace(/,/g, '') // 替换tomoney()中的“,”Num = Num.replace(/ /g, '') // 替换tomoney()中的空格Num = Num.replace(/¥/g, '') // 替换掉可能出现的¥字符if (isNaN(Num)) { // 验证输入的字符是否为数字// alert("请检查小写金额是否正确");// return "";}// 字符处理完毕后开始转换,采用前后两部分分别转换var part = String(Num).split('.')var newchar = ''// 小数点前进行转化for (var i = part[0].length - 1; i >= 0; i--) {if (part[0].length > 10) {// return "";// 若数量超过拾亿单位,提示}var convert = ''var perchar = part[0].charAt(i)switch (perchar) {case '0':convert = '零' + convertbreakcase '1':convert = '壹' + convertbreakcase '2':convert = '贰' + convertbreakcase '3':convert = '叁' + convertbreakcase '4':convert = '肆' + convertbreakcase '5':convert = '伍' + convertbreakcase '6':convert = '陆' + convertbreakcase '7':convert = '柒' + convertbreakcase '8':convert = '捌' + convertbreakcase '9':convert = '玖' + convertbreak}switch (part[0].length - i - 1) {case 0:convert = convert + '元'breakcase 1:if (perchar !== 0) convert = convert + '拾'breakcase 2:if (perchar !== 0) convert = convert + '佰'breakcase 3:if (perchar !== 0) convert = convert + '仟'breakcase 4:convert = convert + '万'breakcase 5:if (perchar !== 0) convert = convert + '拾'breakcase 6:if (perchar !== 0) convert = convert + '佰'breakcase 7:if (perchar !== 0) convert = convert + '仟'breakcase 8:convert = convert + '亿'breakcase 9:convert = convert + '拾'break}newchar = convert + newchar}// 小数点之后进行转化if (Num.indexOf('.') !== -1) {if (part[1].length > 2) {// alert("小数点之后只能保留两位,系统将自动截断");part[1] = part[1].substr(0, 2)}for (i = 0; i < part[1].length; i++) {convert = ''perchar = part[1].charAt(i)switch (perchar) {case '0':convert = '零' + convertbreakcase '1':convert = '壹' + convertbreakcase '2':convert = '贰' + convertbreakcase '3':convert = '叁' + convertbreakcase '4':convert = '肆' + convertbreakcase '5':convert = '伍' + convertbreakcase '6':convert = '陆' + convertbreakcase '7':convert = '柒' + convertbreakcase '8':convert = '捌' + convertbreakcase '9':convert = '玖' + convertbreak}if (i === 0) convert = convert + '角'if (i === 1) convert = convert + '分'newchar = newchar + convert}}// 替换所有无用汉字while (newchar.search('零零') !== -1) { newchar = newchar.replace('零零', '零') }newchar = newchar.replace('零亿', '亿')newchar = newchar.replace('亿万', '亿')newchar = newchar.replace('零万', '万')newchar = newchar.replace('零元', '元')newchar = newchar.replace('零角', '')newchar = newchar.replace('零分', '')if (newchar.charAt(newchar.length - 1) === '元') {newchar = newchar + '整'}return newchar
}

更多推荐

element表单设置合并且数字金额为大写

本文发布于:2024-03-07 17:01:13,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1718386.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:表单   金额   数字   element

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!