Browse Source

refactor(work/edit):主表关联数据计算

wangpx 1 year ago
parent
commit
edb680b8f2
1 changed files with 13 additions and 3 deletions
  1. 13 3
      pages/work/edit/index.vue

+ 13 - 3
pages/work/edit/index.vue

@@ -22,10 +22,10 @@
 							<!-- 金额转大写 -->
 							<uni-easyinput v-else-if="elem.elementName.endsWith('大写')" placeholder=""
 								:value="computedNumberToChineseCurrency(elem, formElements)"></uni-easyinput>
-							<!-- 主表关联重复表输入框 -->
-							<uni-easyinput v-else-if="elem.BddzText.startsWith('re:')"
+							<!-- 主表关联变量输入框 -->
+							<uni-easyinput v-else-if="elem.BddzText"
 								:type="fieldTypeDict[elem.fieldType] || 'text'"
-								:value="computedValueToRepeatingForm(elem)" placeholder=""></uni-easyinput>
+								:value="computedBddzTextValue(elem)" placeholder=""></uni-easyinput>
 							<!-- 输入框 -->
 							<uni-easyinput v-else-if="'0' == elem.type" :disabled="'0' == elem.canEdit"
 								:type="fieldTypeDict[elem.fieldType] || 'text'"
@@ -379,6 +379,16 @@ function computedNumberToChineseCurrency(item, form) {
 	const elem = form.find(elem => elem.elementName == item.BddzText.slice(3))
 	return item.defaultValue = convertToChineseCurrency(elem.defaultValue)
 }
+function computedBddzTextValue(item) {
+	const mainIndex = formElements.value.findIndex(({ elementName }) => elementName == item.BddzText.slice(3))
+	const reIndex = repeatingForm.value.elementItem.findIndex(({ elementName }) => elementName == item.BddzText)
+	if (mainIndex != -1) {
+		return item.defaultValue = formElements.value[mainIndex].defaultValue
+	}
+	if (reIndex != -1) {
+		return computedValueToRepeatingForm(item)
+	}
+}
 function computedValueToRepeatingForm(item) {
 	const index = repeatingForm.value.elementItem.findIndex(({ elementName }) => elementName.slice(3) == item.BddzText.slice(3))
 	let result = 0