Procházet zdrojové kódy

uas手机版
通用表单bug

RaoMeng před 5 roky
rodič
revize
54ef466829

+ 55 - 29
uas-office-web/uas-mobile/src/utils/common/form.request.js

@@ -71,18 +71,28 @@ export function getBillGroup (groupItem, groupIndex, isDetail) {
       // billModel.childIndex = filedIndex
       billModel.appwidth = fieldItem.appwidth
       billModel.length = fieldItem.length
-      billModel.isdefault = true || fieldItem.isdefault
+      billModel.isdefault = fieldItem.isdefault
       billModel.caption = fieldItem.caption
       billModel.type = fieldItem.type//前端类型
       billModel.sourcetype = fieldItem.sourcetype//字段原类型
       billModel.readOnly = (fieldItem.readOnly || isDetail) ? 'T' : 'F'
       billModel.field = fieldItem.field
+      billModel.logicType = fieldItem.logicType
+      billModel.allowBlank = (fieldItem.allowBlank || isDetail) ? 'T' : 'F'
+
       billModel.value = fieldItem.value
       billModel.display = fieldItem.display
       billModel.defValue = fieldItem.defValue
-      billModel.logicType = fieldItem.logicType
-      billModel.allowBlank = (fieldItem.allowBlank || isDetail) ? 'T' : 'F'
       billModel.localDatas = fieldItem.localDatas
+      if (isObjEmpty(billModel.value) &&
+        !isObjEmpty(billModel.defValue, billModel.localDatas)) {
+        billModel.localDatas.forEach(item => {
+          if (item.display === billModel.defValue) {
+            billModel.value = item.value
+            billModel.display = item.display
+          }
+        })
+      }
 
       if (billModel.isdefault) {
         showBillFields.push(billModel)
@@ -105,35 +115,13 @@ export function getBillGroup (groupItem, groupIndex, isDetail) {
  */
 export function getFormAndGrid (billGroupModelList) {
   if (!isObjEmpty(billGroupModelList)) {
-    let formFields = [], gridGroupFields = []
-    for (let i = 0; i < billGroupModelList.length; i++) {
-      let billGroup = billGroupModelList[i]
-      if (isObjNull(billGroup)) {
-        continue
-      }
-      if (billGroup.isForm) {
-        if (!isObjEmpty(billGroup.showBillFields)) {
-          formFields = formFields.concat(billGroup.showBillFields)
-        }
-        if (!isObjEmpty(billGroup.hideBillFields)) {
-          formFields = formFields.concat(billGroup.hideBillFields)
-        }
-      } else {
-        let gridFields = []
-        if (!isObjEmpty(billGroup.showBillFields)) {
-          gridFields = gridFields.concat(billGroup.showBillFields)
-        }
-        if (!isObjEmpty(billGroup.hideBillFields)) {
-          gridFields = gridFields.concat(billGroup.hideBillFields)
-        }
-        gridGroupFields.push(gridFields)
-      }
-    }
-    let formStore = analysisForm(formFields)
+    const fields = analysisFields(billGroupModelList)
+
+    let formStore = analysisForm(fields.formFields)
     if (isObjNull(formStore)) {
       return
     }
-    let gridStoreList = analysisGrid(gridGroupFields)
+    let gridStoreList = analysisGrid(fields.gridGroupFields)
     if (isObjNull(gridStoreList)) {
       return
     }
@@ -141,10 +129,48 @@ export function getFormAndGrid (billGroupModelList) {
     return {
       form: formStore,
       grid: gridStoreList,
+      formFields: fields.formFields,
+      gridFields: fields.gridGroupFields,
     }
   }
 }
 
+/**
+ * 返回主表与从表字段配置列表
+ * @param billGroupModelList
+ * @returns {{formFields: [], gridGroupFields: []}}
+ */
+function analysisFields (billGroupModelList) {
+  let formFields = [], gridGroupFields = []
+  for (let i = 0; i < billGroupModelList.length; i++) {
+    let billGroup = billGroupModelList[i]
+    if (isObjNull(billGroup)) {
+      continue
+    }
+    if (billGroup.isForm) {
+      if (!isObjEmpty(billGroup.showBillFields)) {
+        formFields = formFields.concat(billGroup.showBillFields)
+      }
+      if (!isObjEmpty(billGroup.hideBillFields)) {
+        formFields = formFields.concat(billGroup.hideBillFields)
+      }
+    } else {
+      let gridFields = []
+      if (!isObjEmpty(billGroup.showBillFields)) {
+        gridFields = gridFields.concat(billGroup.showBillFields)
+      }
+      if (!isObjEmpty(billGroup.hideBillFields)) {
+        gridFields = gridFields.concat(billGroup.hideBillFields)
+      }
+      gridGroupFields.push(gridFields)
+    }
+  }
+  return {
+    formFields,
+    gridGroupFields,
+  }
+}
+
 /**
  * 判断主表字段必填情况,拼接主表字段
  * @param formFields