From 09438ebed7ea57eabda17b517ab295f2ea462ec3 Mon Sep 17 00:00:00 2001 From: jia <1451658316@qq.com> Date: Tue, 2 Jan 2024 10:01:19 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/utils/util.ts | 137 +++++++++++------- src/views/InvoicingRequests/detail.vue | 2 +- src/views/InvoicingRequests/edit.vue | 45 ++++-- src/views/acceptance_bill/detail.vue | 8 +- src/views/administrative_payments/detail.vue | 4 +- .../detail.vue | 4 +- src/views/bid_bidding_decision/detail.vue | 2 +- src/views/bid_buy_bidding_document/detail.vue | 2 +- .../detail.vue | 2 +- src/views/bid_result/detail.vue | 2 +- src/views/bidbbond/detail.vue | 2 +- src/views/expense_reimbursement/detail.vue | 4 +- src/views/finance_payment_apply/detail.vue | 4 +- src/views/finance_payment_apply/edit.vue | 8 +- src/views/finance_payment_plan/detail.vue | 4 +- src/views/finance_payment_plan/edit.vue | 6 +- src/views/finance_receipt_record/detail.vue | 4 +- src/views/finance_receipt_record/edit.vue | 8 +- src/views/finance_refund_record/detail.vue | 2 +- src/views/finance_refund_record/edit.vue | 8 +- .../expense_reimbursement/detail.vue | 4 +- .../procurement_contract_change/detail.vue | 4 +- src/views/recordsPayment/detail.vue | 2 +- src/views/refund/detail.vue | 2 +- src/views/refund/edit.vue | 10 +- src/views/refundbidDeposit/detail.vue | 2 +- src/views/remittance/detail.vue | 2 +- src/views/remittance/edit.vue | 6 +- src/views/safety_accident/detail.vue | 2 +- src/views/safety_check/detail.vue | 2 +- src/views/safety_emergency_plan/detail.vue | 2 +- src/views/safety_evaluate/detail.vue | 2 +- src/views/safety_event/detail.vue | 2 +- src/views/safety_hazard/detail.vue | 2 +- src/views/safety_modify/detail.vue | 2 +- src/views/safety_product_month/detail.vue | 2 +- src/views/safety_rehearsal/detail.vue | 2 +- src/views/safety_supervise/detail.vue | 2 +- .../detail.vue | 4 +- src/views/transfer_bill/detail.vue | 8 +- 40 files changed, 183 insertions(+), 139 deletions(-) diff --git a/src/utils/util.ts b/src/utils/util.ts index 398d462..d2e1959 100644 --- a/src/utils/util.ts +++ b/src/utils/util.ts @@ -166,59 +166,90 @@ export const getNonDuplicateID = (length = 8) => { * @params num */ - - export const toChinesNum = (value: any) => { - - const chineseChars = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖']; - const chineseUnits = ['', '拾', '佰', '仟', '万', '亿']; - const chineseCurrencies = ['元', '角', '分']; - - const integerPart = Math.floor(value); - const decimalPart = Math.round((value - integerPart) * 100); - - const convertPart = (num: number): string => { - if (num === 0) { - return ''; +export const toChinesNum = (money: any) => { + // 汉字的数字 + const cnNums = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'] + // 基本单位 + const cnIntRadice = ['', '拾', '佰', '仟'] + // 对应整数部分扩展单位 + const cnIntUnits = ['', '万', '亿', '兆'] + // 对应小数部分单位 + const cnDecUnits = ['角', '分', '毫', '厘'] + // 整数金额时后面跟的字符 + const cnInteger = '整' + // 整型完以后的单位 + const cnIntLast = '元' + // 最大处理的数字 + const maxNum = 999999999999999.9999 + // 金额整数部分 + let integerNum + // 金额小数部分 + let decimalNum + // 输出的中文金额字符串 + let chineseStr = '' + // 分离金额后用的数组,预定义 + let parts + if (money == '') { + return '' } - - let partStr = ''; - let hasZero = false; - let unitIndex = 0; - - while (num > 0) { - const digit = num % 10; - if (digit !== 0) { - partStr = chineseChars[digit] + chineseUnits[unitIndex] + partStr; - hasZero = false; - } else { - if (!hasZero && unitIndex !== 0) { - partStr = chineseChars[0] + partStr; - hasZero = true; + money = parseFloat(money) + if (money >= maxNum) { + // 超出最大处理数字 + return '' + } + if (money == 0) { + chineseStr = cnNums[0] + cnIntLast + cnInteger + return chineseStr + } + // 转换为字符串 + money = money.toString() + if (money.indexOf('.') == -1) { + integerNum = money + decimalNum = '' + } else { + parts = money.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 + chineseStr += cnNums[parseInt(n)] + cnIntRadice[m] + } + if (m == 0 && zeroCount < 4) { + chineseStr += cnIntUnits[q] + } } - } - num = Math.floor(num / 10); - unitIndex++; + chineseStr += cnIntLast } - - return partStr; - }; - - let result = ''; - - // 转换整数部分 - if (integerPart === 0) { - result = chineseChars[0] + chineseCurrencies[0]; - } else { - result = convertPart(integerPart) + chineseCurrencies[0]; - } - - // 转换小数部分 - if (decimalPart > 0) { - result += convertPart(Math.floor(decimalPart / 10)) + chineseCurrencies[1]; - result += convertPart(decimalPart % 10) + chineseCurrencies[2]; - } else { - result += chineseChars[0] + chineseCurrencies[1] + chineseChars[0] + chineseCurrencies[2]; - } - - return result; - } \ No newline at end of file + // 小数部分 + 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 + } + return chineseStr +} diff --git a/src/views/InvoicingRequests/detail.vue b/src/views/InvoicingRequests/detail.vue index 1bf2e38..2d9d7e8 100644 --- a/src/views/InvoicingRequests/detail.vue +++ b/src/views/InvoicingRequests/detail.vue @@ -30,7 +30,7 @@ - {{ formData.contract.contract_code }} + {{ formData.contract ? formData.contract.contract_code : '暂无数据' }} diff --git a/src/views/InvoicingRequests/edit.vue b/src/views/InvoicingRequests/edit.vue index 152956a..e80c0b6 100644 --- a/src/views/InvoicingRequests/edit.vue +++ b/src/views/InvoicingRequests/edit.vue @@ -24,30 +24,30 @@ - - - - - - - - - - - - - + + - + + + + + + + + + + + + - + @@ -81,7 +81,7 @@ - + @@ -226,6 +226,7 @@ import customDialog from '@/components/custom-dialog/index.vue' import type { FormInstance } from 'element-plus' import Popup from '@/components/popup/index.vue' +import { toChinesNum } from "@/utils/util"; import salescontractDialog from '@/components/salescontract/index.vue' import { apiinvoiceapplyAdd, apiinvoiceapplyEdit, apiinvoiceapplyDetail } from '@/api/InvoicingRequests' import { getAllProjectTypes } from '@/api/projecttype' @@ -273,6 +274,7 @@ const checkPhone = (rule: any, value: any, callback: (arg0: Error) => any) => { } } + const userEmail = (rule: any, value: string, callback: (arg0: Error | undefined) => void) => { // const mailReg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/ @@ -288,6 +290,13 @@ const userEmail = (rule: any, value: string, callback: (arg0: Error | undefined) } }; +//监听输入 +const amountinput = (e) => { + // console.log(e) + if (e && e > 0) { + formData.invoicing_amount_daxie = toChinesNum(e) + } +} // 删除上传的文件 const delFileFn = (index: number) => { formDataannex.splice(index, 1) @@ -316,6 +325,7 @@ const customEvent1 = (e: any) => { project_code.value = e.project_code; contract_name.value = e.contract_name; contract_no.value = e.contract_code + project_amount.value = e.amount showDialog1.value = false; }; @@ -385,6 +395,9 @@ const setFormData = async (data: Record) => { formData[key] = data[key] } } + if (formData.invoicing_amount) { + toChinesNum(formData.invoicing_amount) + } custom_name.value = data.custom.name project_name.value = data.contract_name; project_code.value = data.contract_code diff --git a/src/views/acceptance_bill/detail.vue b/src/views/acceptance_bill/detail.vue index 4e73ddd..193edf9 100644 --- a/src/views/acceptance_bill/detail.vue +++ b/src/views/acceptance_bill/detail.vue @@ -7,27 +7,27 @@ - {{ formData.contract.contract_code }} + {{ formData.contract ? formData.contract.contract_code : '暂无数据' }} - {{ formData.project.name + {{ formData.project ? formData.project.name : '暂无数据' }} - {{ formData.project.project_code }} + {{ formData.project ? formData.project.project_code : '暂无数据' }} - {{ formData.contract.contract_name + {{ formData.contract ? formData.contract.contract_name : '暂无数据' }} diff --git a/src/views/administrative_payments/detail.vue b/src/views/administrative_payments/detail.vue index fd1f3ad..01a9fd0 100644 --- a/src/views/administrative_payments/detail.vue +++ b/src/views/administrative_payments/detail.vue @@ -7,14 +7,14 @@ - {{ formData.contract.contract_no }} + {{ formData.contract ? formData.contract.contract_no : '暂无数据' }} - {{ formData.contract.contract_name + {{ formData.contract ? formData.contract.contract_name : '暂无数据' }} diff --git a/src/views/administrative_ticket_collection/detail.vue b/src/views/administrative_ticket_collection/detail.vue index 5f6bfd7..eb7709d 100644 --- a/src/views/administrative_ticket_collection/detail.vue +++ b/src/views/administrative_ticket_collection/detail.vue @@ -7,14 +7,14 @@ - {{ formData.contract.contract_no }} + {{ formData.contract ? formData.contract.contract_no : '暂无数据' }} - {{ formData.contract.contract_name + {{ formData.contract ? formData.contract.contract_name : '暂无数据' }} diff --git a/src/views/bid_bidding_decision/detail.vue b/src/views/bid_bidding_decision/detail.vue index 8c06588..98052e8 100644 --- a/src/views/bid_bidding_decision/detail.vue +++ b/src/views/bid_bidding_decision/detail.vue @@ -21,7 +21,7 @@ - {{ formData.project.project_code }} + {{ formData.project ? formData.project.project_code : '暂无数据' }} diff --git a/src/views/bid_buy_bidding_document/detail.vue b/src/views/bid_buy_bidding_document/detail.vue index fb9e79c..41b2d57 100644 --- a/src/views/bid_buy_bidding_document/detail.vue +++ b/src/views/bid_buy_bidding_document/detail.vue @@ -21,7 +21,7 @@ - {{ formData.project.project_code }} + {{ formData.project ? formData.project.project_code : '暂无数据' }} diff --git a/src/views/bid_document_examination_detail/detail.vue b/src/views/bid_document_examination_detail/detail.vue index 7a9d618..d51da47 100644 --- a/src/views/bid_document_examination_detail/detail.vue +++ b/src/views/bid_document_examination_detail/detail.vue @@ -21,7 +21,7 @@ - {{ formData.project.project_code }} + {{ formData.project ? formData.project.project_code : '暂无数据' }} diff --git a/src/views/bid_result/detail.vue b/src/views/bid_result/detail.vue index 6d21669..8c852c2 100644 --- a/src/views/bid_result/detail.vue +++ b/src/views/bid_result/detail.vue @@ -22,7 +22,7 @@ - {{ formData.project.project_code }} + {{ formData.project ? formData.project.project_code : '暂无数据' }} diff --git a/src/views/bidbbond/detail.vue b/src/views/bidbbond/detail.vue index b1880b4..95194d4 100644 --- a/src/views/bidbbond/detail.vue +++ b/src/views/bidbbond/detail.vue @@ -14,7 +14,7 @@ - {{ formData.project.name + {{ formData.project ? formData.project.name : '暂无数据' }} diff --git a/src/views/expense_reimbursement/detail.vue b/src/views/expense_reimbursement/detail.vue index fd1f3ad..01a9fd0 100644 --- a/src/views/expense_reimbursement/detail.vue +++ b/src/views/expense_reimbursement/detail.vue @@ -7,14 +7,14 @@ - {{ formData.contract.contract_no }} + {{ formData.contract ? formData.contract.contract_no : '暂无数据' }} - {{ formData.contract.contract_name + {{ formData.contract ? formData.contract.contract_name : '暂无数据' }} diff --git a/src/views/finance_payment_apply/detail.vue b/src/views/finance_payment_apply/detail.vue index a58c117..fa89ec8 100644 --- a/src/views/finance_payment_apply/detail.vue +++ b/src/views/finance_payment_apply/detail.vue @@ -7,14 +7,14 @@ - {{ formData.contract.contract_no }} + {{ formData.contract ? formData.contract.contract_no : '暂无数据' }} - {{ formData.project.name + {{ formData.project ? formData.project.name : '暂无数据' }} diff --git a/src/views/finance_payment_apply/edit.vue b/src/views/finance_payment_apply/edit.vue index b564b04..80cb2c3 100644 --- a/src/views/finance_payment_apply/edit.vue +++ b/src/views/finance_payment_apply/edit.vue @@ -25,22 +25,22 @@ - + - + - + - + diff --git a/src/views/finance_payment_plan/detail.vue b/src/views/finance_payment_plan/detail.vue index b98fe75..e5cc02e 100644 --- a/src/views/finance_payment_plan/detail.vue +++ b/src/views/finance_payment_plan/detail.vue @@ -7,14 +7,14 @@ - {{ formData.contract.contract_no }} + {{ formData.contract ? formData.contract.contract_no : '暂无数据' }} - {{ formData.project.name + {{ formData.project ? formData.project.name : '暂无数据' }} diff --git a/src/views/finance_payment_plan/edit.vue b/src/views/finance_payment_plan/edit.vue index 8a381ee..2274e4f 100644 --- a/src/views/finance_payment_plan/edit.vue +++ b/src/views/finance_payment_plan/edit.vue @@ -20,18 +20,18 @@ - + - + - + diff --git a/src/views/finance_receipt_record/detail.vue b/src/views/finance_receipt_record/detail.vue index 1338a64..6563e99 100644 --- a/src/views/finance_receipt_record/detail.vue +++ b/src/views/finance_receipt_record/detail.vue @@ -7,14 +7,14 @@ - {{ formData.contract.contract_no }} + {{ formData.contract ? formData.contract.contract_no : '暂无数据' }} - {{ formData.contract.contract_name + {{ formData.contract ? formData.contract.contract_name : '暂无数据' }} diff --git a/src/views/finance_receipt_record/edit.vue b/src/views/finance_receipt_record/edit.vue index fc772cd..e387373 100644 --- a/src/views/finance_receipt_record/edit.vue +++ b/src/views/finance_receipt_record/edit.vue @@ -18,23 +18,23 @@ - + - + - + - + diff --git a/src/views/finance_refund_record/detail.vue b/src/views/finance_refund_record/detail.vue index 0eb085d..d9060ed 100644 --- a/src/views/finance_refund_record/detail.vue +++ b/src/views/finance_refund_record/detail.vue @@ -14,7 +14,7 @@ - {{ formData.project.name + {{ formData.project ? formData.project.name : '暂无数据' }} diff --git a/src/views/finance_refund_record/edit.vue b/src/views/finance_refund_record/edit.vue index 533804d..6afbbb3 100644 --- a/src/views/finance_refund_record/edit.vue +++ b/src/views/finance_refund_record/edit.vue @@ -24,23 +24,23 @@ - + - + - + - + diff --git a/src/views/financialManagement/expense_reimbursement/detail.vue b/src/views/financialManagement/expense_reimbursement/detail.vue index fd1f3ad..01a9fd0 100644 --- a/src/views/financialManagement/expense_reimbursement/detail.vue +++ b/src/views/financialManagement/expense_reimbursement/detail.vue @@ -7,14 +7,14 @@ - {{ formData.contract.contract_no }} + {{ formData.contract ? formData.contract.contract_no : '暂无数据' }} - {{ formData.contract.contract_name + {{ formData.contract ? formData.contract.contract_name : '暂无数据' }} diff --git a/src/views/procurement_contract_change/detail.vue b/src/views/procurement_contract_change/detail.vue index b5ceef7..b769cf1 100644 --- a/src/views/procurement_contract_change/detail.vue +++ b/src/views/procurement_contract_change/detail.vue @@ -28,13 +28,13 @@ - {{ formData.project.name + {{ formData.project ? formData.project.name : '暂无数据' }} - {{ formData.project.project_code }} + {{ formData.project ? formData.project.project_code : '暂无数据' }} diff --git a/src/views/recordsPayment/detail.vue b/src/views/recordsPayment/detail.vue index 704a48c..52fc9fd 100644 --- a/src/views/recordsPayment/detail.vue +++ b/src/views/recordsPayment/detail.vue @@ -14,7 +14,7 @@ - {{ formData.project.name + {{ formData.project ? formData.project.name : '暂无数据' }} diff --git a/src/views/refund/detail.vue b/src/views/refund/detail.vue index a5e7a98..041cb0b 100644 --- a/src/views/refund/detail.vue +++ b/src/views/refund/detail.vue @@ -14,7 +14,7 @@ - {{ formData.project.name + {{ formData.project ? formData.project.name : '暂无数据' }} diff --git a/src/views/refund/edit.vue b/src/views/refund/edit.vue index aa0567c..444a0e1 100644 --- a/src/views/refund/edit.vue +++ b/src/views/refund/edit.vue @@ -25,23 +25,23 @@ - + - + - + - + @@ -56,7 +56,7 @@ - + diff --git a/src/views/refundbidDeposit/detail.vue b/src/views/refundbidDeposit/detail.vue index 0cfc5e6..464e329 100644 --- a/src/views/refundbidDeposit/detail.vue +++ b/src/views/refundbidDeposit/detail.vue @@ -10,7 +10,7 @@ - {{ formData.project.name + {{ formData.project ? formData.project.name : '暂无数据' }} diff --git a/src/views/remittance/detail.vue b/src/views/remittance/detail.vue index 8e67493..b5dd319 100644 --- a/src/views/remittance/detail.vue +++ b/src/views/remittance/detail.vue @@ -19,7 +19,7 @@ - {{ formData.project.name + {{ formData.project ? formData.project.name : '暂无数据' }} diff --git a/src/views/remittance/edit.vue b/src/views/remittance/edit.vue index 022e260..536b57c 100644 --- a/src/views/remittance/edit.vue +++ b/src/views/remittance/edit.vue @@ -14,12 +14,12 @@ - + - - + + diff --git a/src/views/safety_accident/detail.vue b/src/views/safety_accident/detail.vue index a5e7a98..041cb0b 100644 --- a/src/views/safety_accident/detail.vue +++ b/src/views/safety_accident/detail.vue @@ -14,7 +14,7 @@ - {{ formData.project.name + {{ formData.project ? formData.project.name : '暂无数据' }} diff --git a/src/views/safety_check/detail.vue b/src/views/safety_check/detail.vue index a5e7a98..041cb0b 100644 --- a/src/views/safety_check/detail.vue +++ b/src/views/safety_check/detail.vue @@ -14,7 +14,7 @@ - {{ formData.project.name + {{ formData.project ? formData.project.name : '暂无数据' }} diff --git a/src/views/safety_emergency_plan/detail.vue b/src/views/safety_emergency_plan/detail.vue index a5e7a98..041cb0b 100644 --- a/src/views/safety_emergency_plan/detail.vue +++ b/src/views/safety_emergency_plan/detail.vue @@ -14,7 +14,7 @@ - {{ formData.project.name + {{ formData.project ? formData.project.name : '暂无数据' }} diff --git a/src/views/safety_evaluate/detail.vue b/src/views/safety_evaluate/detail.vue index a5e7a98..041cb0b 100644 --- a/src/views/safety_evaluate/detail.vue +++ b/src/views/safety_evaluate/detail.vue @@ -14,7 +14,7 @@ - {{ formData.project.name + {{ formData.project ? formData.project.name : '暂无数据' }} diff --git a/src/views/safety_event/detail.vue b/src/views/safety_event/detail.vue index a5e7a98..041cb0b 100644 --- a/src/views/safety_event/detail.vue +++ b/src/views/safety_event/detail.vue @@ -14,7 +14,7 @@ - {{ formData.project.name + {{ formData.project ? formData.project.name : '暂无数据' }} diff --git a/src/views/safety_hazard/detail.vue b/src/views/safety_hazard/detail.vue index a5e7a98..041cb0b 100644 --- a/src/views/safety_hazard/detail.vue +++ b/src/views/safety_hazard/detail.vue @@ -14,7 +14,7 @@ - {{ formData.project.name + {{ formData.project ? formData.project.name : '暂无数据' }} diff --git a/src/views/safety_modify/detail.vue b/src/views/safety_modify/detail.vue index a5e7a98..041cb0b 100644 --- a/src/views/safety_modify/detail.vue +++ b/src/views/safety_modify/detail.vue @@ -14,7 +14,7 @@ - {{ formData.project.name + {{ formData.project ? formData.project.name : '暂无数据' }} diff --git a/src/views/safety_product_month/detail.vue b/src/views/safety_product_month/detail.vue index a5e7a98..041cb0b 100644 --- a/src/views/safety_product_month/detail.vue +++ b/src/views/safety_product_month/detail.vue @@ -14,7 +14,7 @@ - {{ formData.project.name + {{ formData.project ? formData.project.name : '暂无数据' }} diff --git a/src/views/safety_rehearsal/detail.vue b/src/views/safety_rehearsal/detail.vue index a5e7a98..041cb0b 100644 --- a/src/views/safety_rehearsal/detail.vue +++ b/src/views/safety_rehearsal/detail.vue @@ -14,7 +14,7 @@ - {{ formData.project.name + {{ formData.project ? formData.project.name : '暂无数据' }} diff --git a/src/views/safety_supervise/detail.vue b/src/views/safety_supervise/detail.vue index a5e7a98..041cb0b 100644 --- a/src/views/safety_supervise/detail.vue +++ b/src/views/safety_supervise/detail.vue @@ -14,7 +14,7 @@ - {{ formData.project.name + {{ formData.project ? formData.project.name : '暂无数据' }} diff --git a/src/views/subcontracting_contract_negotiation/detail.vue b/src/views/subcontracting_contract_negotiation/detail.vue index b53fc2d..791ecd8 100644 --- a/src/views/subcontracting_contract_negotiation/detail.vue +++ b/src/views/subcontracting_contract_negotiation/detail.vue @@ -12,7 +12,7 @@ - {{ formData.project.project_code }} + {{ formData.project ? formData.project.project_code : '暂无数据' }} @@ -22,7 +22,7 @@ - {{ formData.contract.contract_no }} + {{ formData.contract ? formData.contract.contract_no : '暂无数据' }} diff --git a/src/views/transfer_bill/detail.vue b/src/views/transfer_bill/detail.vue index 59d3cf0..2675f80 100644 --- a/src/views/transfer_bill/detail.vue +++ b/src/views/transfer_bill/detail.vue @@ -30,27 +30,27 @@ - {{ formData.contract.contract_no }} + {{ formData.contract ? formData.contract.contract_no : '暂无数据' }} - {{ formData.project.name + {{ formData.project ? formData.project.name : '暂无数据' }} - {{ formData.project.project_code }} + {{ formData.project ? formData.project.project_code : '暂无数据' }} - {{ formData.contract.contract_name + {{ formData.contract ? formData.contract.contract_name : '暂无数据' }}