Quellcode durchsuchen

显示金额大写

HD_wangm vor 5 Monaten
Ursprung
Commit
af02feb36a
3 geänderte Dateien mit 20 neuen und 9 gelöschten Zeilen
  1. 7 4
      pages/process/detail/index.vue
  2. 10 5
      pages/work/edit/index.vue
  3. 3 0
      utils/ygoa.js

+ 7 - 4
pages/process/detail/index.vue

@@ -24,7 +24,7 @@
 										:disabled="true"></uni-easyinput>
 									<!-- 金额转大写 -->
 									<uni-easyinput v-else-if="elem.elementName.endsWith('大写')" placeholder=""
-										:value="computedNumberToChineseCurrency(elem, formElements)"></uni-easyinput>
+										:value="computedNumberToChineseCurrency(elem, formElements)" :disabled="true"></uni-easyinput>
 									<!-- 主表关联变量输入框 -->
 									<!-- 数值输入框 -->
 									<uni-easyinput v-else-if="'1' == elem.fieldType && elem.BddzText" type="digit"
@@ -787,9 +787,12 @@
 	}
 	// 生成人民币大写
 	function computedNumberToChineseCurrency(item, form) {
-		const elem = form.find(elem => elem.elementName == item.BddzText.slice(3))
-		if (elem.defaultValue) {
-			return item.defaultValue = convertToChineseCurrency(elem.defaultValue)
+		const elem = form.find(elem => !elem.elementName.endsWith('大写') && (elem.BddzText == item.BddzText || elem.elementName == item.BddzText.slice(3)))
+		if(elem != null) {
+			console.log("大写转换")
+			return item.defaultValue = convertToChineseCurrency(elem.defaultValue);
+		} else {
+			return '';
 		}
 	}
 	// 按照公式统计数据

+ 10 - 5
pages/work/edit/index.vue

@@ -22,7 +22,7 @@
 								:disabled="true"></uni-easyinput>
 							<!-- 金额转大写 -->
 							<uni-easyinput v-else-if="elem.elementName.endsWith('大写')" placeholder=""
-								:value="computedNumberToChineseCurrency(elem, formElements)"></uni-easyinput>
+								:value="computedNumberToChineseCurrency(elem, formElements)" :disabled="true" ></uni-easyinput>
 							<!-- 主表关联变量输入框 -->
 							<!-- 数值输入框 -->
 							<uni-easyinput v-else-if="'1' == elem.fieldType && elem.BddzText" type="digit"
@@ -227,7 +227,7 @@ const hideArr=['冲','借款','借款单号','结余','申请日期']
 function initProcessForm() {
 	getProcessForm(userStore.user, processInfo).then(({ returnParams }) => {
 		returnParams.formElements.forEach(element => {
-			if (element.elementName.endsWith('大写') || hideArr.includes(element.elementName)) {
+			if (hideArr.includes(element.elementName)) {
 				element.type = "8";
 			}
 		});
@@ -484,8 +484,12 @@ function setTimeRange(e) {
 }
 // 生成人民币大写
 function computedNumberToChineseCurrency(item, form) {
-	const elem = form.find(elem => elem.elementName == item.BddzText.slice(3))
-	return item.defaultValue = convertToChineseCurrency(elem.defaultValue)
+	const elem = form.find(elem => !elem.elementName.endsWith('大写') && (elem.BddzText == item.BddzText || elem.elementName == item.BddzText.slice(3)))
+	if(elem != null) {
+		return item.defaultValue = convertToChineseCurrency(elem.defaultValue);
+	} else {
+		return '';
+	}
 }
 function computedBddzTextValue(item) {
 	const mainIndex = formElements.value.findIndex(({ elementName }) => elementName == item.BddzText.slice(3))
@@ -497,6 +501,7 @@ function computedBddzTextValue(item) {
 		return computedValueToRepeatingForm(item)
 	}
 }
+//合计金额计算
 function computedValueToRepeatingForm(item) {
 	const index = repeatingForm.value.elementItem.findIndex(({ elementName }) => elementName.slice(3) == item.BddzText.slice(3))
 	let result = 0
@@ -1086,4 +1091,4 @@ function submitProcess() { // 提交表单
 		}
 	}
 }
-</style>
+</style>

+ 3 - 0
utils/ygoa.js

@@ -4,6 +4,9 @@ import $modal from '@/plugins/modal.js'
 const userStore=useUserStore();
 
 export function convertToChineseCurrency(amount) {
+	if(!amount) {
+		return "";
+	}
     if (amount === "0" || amount === 0) {
         return "零元整";
     }