Explorar o código

表单编辑或修改时save流水号配置修改

wu hai 3 meses
pai
achega
12ffba9a68
Modificáronse 1 ficheiros con 22 adicións e 5 borrados
  1. 22 5
      src/mixins/generator/form.js

+ 22 - 5
src/mixins/generator/form.js

@@ -369,12 +369,29 @@ export default {
           formMethod(param)
             .then((res) => {
               //查询当前表单是否存在流水号控件
-             let allFormItem =  loopRelationList(this.formData.fields)
+              let allFormItem =  loopRelationList(this.formData.fields)
+              // 查询子表是否存在流水号控件
+              let foreignFields = this.formData.fields.filter((o) => o.__config__ && o.__config__.jnpfKey === 'table')
+              const foreignList = foreignFields.reduce((list, field) => {
+                const foreignSerialRow = field.__config__ && field.__config__.children.find(o => o.__config__.jnpfKey === 'serialNumber');
+                if (foreignSerialRow) {
+                  const incNumberRow = foreignSerialRow.serialgz.find(o => o.type === 'incNumber');
+                  if (incNumberRow) {
+                    list.push({ cubeId: field.dbLinkId, resetCycle: incNumberRow.resetCycle, startValue: incNumberRow.startValue });
+                  }
+                }
+                return list;
+              }, []);
               let serialRow = allFormItem.find((o) => o.__config__.jnpfKey === 'serialNumber')
-              if (serialRow) {
-                let incNumberRow = serialRow.serialgz.find((o) => o.type === 'incNumber')
-                let obj = { modelId: this.dataForm.id, resetCycle: incNumberRow.resetCycle, startValue: incNumberRow.startValue }
-                this.CreateSerial(obj, res.data.msg)
+              if (serialRow || foreignList.length) {
+                if (serialRow){
+                  let incNumberRow = serialRow.serialgz.find((o) => o.type === 'incNumber')
+                  let obj = { modelId: this.dataForm.id, resetCycle: incNumberRow.resetCycle, startValue: incNumberRow.startValue,foreignList }
+                  this.CreateSerial(obj, res.data.msg)
+                }else {
+                  let obj = { foreignList }
+                  this.CreateSerial(obj, res.data.msg)
+                }
               } else {
                 const locat = XEUtils.locat()
                 locat.hashQuery.id = this.dataForm.id