|
@@ -136,7 +136,7 @@
|
|
|
<table class="table table-striped table-bordered" align="center" valign="center">
|
|
|
<tr>
|
|
|
<td class="column" colspan="2" style="border-top: none;width: 15%;">大写总金额:</td>
|
|
|
- <td class="column" colspan="2" style="text-align: left;border-top: none;width: 40%;"></td>
|
|
|
+ <td class="column" colspan="2" style="text-align: left;border-top: none;width: 40%;">{{chineseStr}}</td>
|
|
|
<td class="column" style="border-top: none; width: 15%;">小写总金额:</td>
|
|
|
<td class="column" colspan="3" style="border-top: none;text-align: left;width: 30%;">{{formList.fMoney}}</td>
|
|
|
</tr>
|
|
@@ -184,6 +184,7 @@ export default {
|
|
|
},
|
|
|
addOrUpdateVisib: false,
|
|
|
addOrUpdateVisible: false,
|
|
|
+ chineseStr:0,
|
|
|
total: 0,
|
|
|
formDataList: {
|
|
|
fBilltype: 'XS',
|
|
@@ -770,6 +771,97 @@ export default {
|
|
|
this.fCompany(2)
|
|
|
},
|
|
|
methods: {
|
|
|
+ toChies(amount) { //形参
|
|
|
+ // 汉字的数字
|
|
|
+ const cnNums = ["零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"];
|
|
|
+ // 基本单位
|
|
|
+ const cnIntRadice = ["", "拾", "佰", "仟"];
|
|
|
+ // 对应整数部分扩展单位
|
|
|
+ const cnIntUnits = ["", "万", "亿", "兆"];
|
|
|
+ // 对应小数部分单位
|
|
|
+ const cnDecUnits = ["角", "分"];
|
|
|
+ // 整数金额时后面跟的字符
|
|
|
+ const cnInteger = "整";
|
|
|
+ // 整型完以后的单位
|
|
|
+ const cnIntLast = "元";
|
|
|
+ // 最大处理的数字
|
|
|
+ const maxNum = 9999999999999999.99;
|
|
|
+ // 金额整数部分
|
|
|
+ let integerNum;
|
|
|
+ // 金额小数部分
|
|
|
+ let decimalNum;
|
|
|
+ // 输出的中文金额字符串
|
|
|
+ let chineseStr = "";
|
|
|
+ // 分离金额后用的数组,预定义
|
|
|
+ let parts;
|
|
|
+ if (amount === "") {
|
|
|
+ return "";
|
|
|
+ }
|
|
|
+ amount = parseFloat(amount);
|
|
|
+ if (amount >= maxNum) {
|
|
|
+ // 超出最大处理数字
|
|
|
+ return "";
|
|
|
+ }
|
|
|
+ if (amount === 0) {
|
|
|
+ chineseStr = cnNums[0] + cnIntLast + cnInteger;
|
|
|
+ return chineseStr;
|
|
|
+ }
|
|
|
+ // 转换为字符串
|
|
|
+ amount = amount.toString();
|
|
|
+ if (amount.indexOf(".") === -1) {
|
|
|
+ integerNum = amount;
|
|
|
+
|
|
|
+ decimalNum = "";
|
|
|
+ } else {
|
|
|
+ parts = amount.split(".");
|
|
|
+ integerNum = parts[0];
|
|
|
+ decimalNum = parts[1].substr(0, 4);
|
|
|
+ }
|
|
|
+ // 获取整型部分转换
|
|
|
+ if (parseInt(integerNum, 10) > 0) {
|
|
|
+ let zeroCount = 0;
|
|
|
+ const IntLen = integerNum.length;
|
|
|
+ for (let i = 0; i < IntLen; i++) {
|
|
|
+ const n = integerNum.substr(i, 1);
|
|
|
+ const p = IntLen - i - 1;
|
|
|
+ const q = p / 4;
|
|
|
+ const m = p % 4;
|
|
|
+ if (n === "0") {
|
|
|
+ zeroCount++;
|
|
|
+ } else {
|
|
|
+ if (zeroCount > 0) {
|
|
|
+ chineseStr += cnNums[0];
|
|
|
+ }
|
|
|
+ // 归零
|
|
|
+ zeroCount = 0;
|
|
|
+ //alert(cnNums[parseInt(n)])
|
|
|
+ chineseStr += cnNums[parseInt(n)] + cnIntRadice[m];
|
|
|
+ }
|
|
|
+ if (m === 0 && zeroCount < 4) {
|
|
|
+ chineseStr += cnIntUnits[q];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ chineseStr += cnIntLast;
|
|
|
+ }
|
|
|
+ // 小数部分
|
|
|
+ if (decimalNum !== "") {
|
|
|
+ const decLen = decimalNum.length;
|
|
|
+ for (let i = 0; i < decLen; i++) {
|
|
|
+ const n = decimalNum.substr(i, 1);
|
|
|
+ if (n !== "0") {
|
|
|
+ chineseStr += cnNums[Number(n)] + cnDecUnits[i];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if (chineseStr === "") {
|
|
|
+ chineseStr += cnNums[0] + cnIntLast + cnInteger;
|
|
|
+ } else if (decimalNum === "") {
|
|
|
+ chineseStr += cnInteger;
|
|
|
+ }
|
|
|
+ // console.log(chineseStr)
|
|
|
+ this.chineseStr = chineseStr
|
|
|
+ // return chineseStr;
|
|
|
+ },
|
|
|
change(scope) {
|
|
|
for (let item in this.contentList) {
|
|
|
for (let li in this.listData.fFeeid) {
|
|
@@ -889,8 +981,8 @@ export default {
|
|
|
// this.waitFor = true
|
|
|
} else {
|
|
|
// this.waitFor = true
|
|
|
- this.purchaseList.columnList = this.contentStyle
|
|
|
- this.setRowList = this.contentStyle
|
|
|
+ this.$set(this.purchaseList,'columnList',this.$options.data().contentStyle)
|
|
|
+ this.setRowList = this.$options.data().contentStyle
|
|
|
}
|
|
|
this.pageDisplay = false
|
|
|
this.isItHidden = false
|
|
@@ -903,9 +995,8 @@ export default {
|
|
|
this.queryList.columnList = this.queryList.columnList.filter((e) => e.checked == 0)
|
|
|
// this.waitFor = true
|
|
|
} else {
|
|
|
- // this.waitFor = true
|
|
|
- this.queryList.columnList = this.listStyle
|
|
|
- this.setRowList = this.listStyle
|
|
|
+ this.$set(this.queryList,'columnList',this.$options.data().listStyle)
|
|
|
+ this.setRowList = this.$options.data().listStyle
|
|
|
}
|
|
|
this.pageDisplay = true
|
|
|
this.isItHidden = true
|
|
@@ -1279,8 +1370,7 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- console.log('11111')
|
|
|
+ this.toChies(this.$refs.avatar.form.fMoney)
|
|
|
if (!this.$refs.avatar.form.fId){
|
|
|
this.$message.error('未保存,不允许打印');
|
|
|
}else if (this.$refs.avatar.form.fBillstatus >= 4){
|