|
|
|
|
@ -15,7 +15,7 @@ import { flowList } from "@/api/flow";
|
|
|
|
|
* @param {Boolean} pReadable
|
|
|
|
|
* @return {VNode} 主表单包含el-form-item 子表单表单组件
|
|
|
|
|
**/
|
|
|
|
|
export default function formBuilder(device, info, h, row, pWrite = false,pReadable = false) {
|
|
|
|
|
export default function formBuilder(device, info, h, row, pWrite = false,pReadable = false,pname) {
|
|
|
|
|
let formItem;
|
|
|
|
|
//下拉选项
|
|
|
|
|
let options = [];
|
|
|
|
|
@ -1002,6 +1002,12 @@ export default function formBuilder(device, info, h, row, pWrite = false,pReadab
|
|
|
|
|
}
|
|
|
|
|
if (device === "mobile") {
|
|
|
|
|
if (info._writeable || pWrite) {
|
|
|
|
|
let myRules = []
|
|
|
|
|
if (row && this.subRules && this.subRules[`${pname}_rules`] && this.subRules[`${pname}_rules`][info.name]) {
|
|
|
|
|
myRules = this.subRules[`${pname}_rules`][info.name]
|
|
|
|
|
} else {
|
|
|
|
|
myRules = this.rules[info.name]
|
|
|
|
|
}
|
|
|
|
|
switch (info.type) {
|
|
|
|
|
case "text":
|
|
|
|
|
formItem = h(formBuilderMap(device).get(info.type), {
|
|
|
|
|
@ -1011,8 +1017,19 @@ export default function formBuilder(device, info, h, row, pWrite = false,pReadab
|
|
|
|
|
value: row ? row[info.name] : this.form[info.name],
|
|
|
|
|
clearable: true,
|
|
|
|
|
placeholder: info.help_text,
|
|
|
|
|
rules: this.rules[info.name],
|
|
|
|
|
required: !!this.rules[info.name]?.find(j => j.required)
|
|
|
|
|
rules: myRules.map(rule => {
|
|
|
|
|
if (rule.hasOwnProperty('required')) {
|
|
|
|
|
return rule
|
|
|
|
|
} else if (rule.hasOwnProperty('pattern')) {
|
|
|
|
|
return {
|
|
|
|
|
pattern: rule.pattern,
|
|
|
|
|
message: rule.message
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
return rule
|
|
|
|
|
}
|
|
|
|
|
}),
|
|
|
|
|
required: !!myRules?.find(j => j.required)
|
|
|
|
|
},
|
|
|
|
|
attrs: {
|
|
|
|
|
placeholder: info.help_text,
|
|
|
|
|
@ -1037,7 +1054,7 @@ export default function formBuilder(device, info, h, row, pWrite = false,pReadab
|
|
|
|
|
clearable: true,
|
|
|
|
|
placeholder: info.help_text,
|
|
|
|
|
rules: this.rules[info.name],
|
|
|
|
|
required: !!this.rules[info.name]?.find(j => j.required)
|
|
|
|
|
required: !!myRules?.find(j => j.required)
|
|
|
|
|
},
|
|
|
|
|
attrs: {
|
|
|
|
|
placeholder: info.help_text,
|
|
|
|
|
@ -1063,7 +1080,7 @@ export default function formBuilder(device, info, h, row, pWrite = false,pReadab
|
|
|
|
|
clearable: true,
|
|
|
|
|
placeholder: info.help_text,
|
|
|
|
|
rules: this.rules[info.name],
|
|
|
|
|
required: !!this.rules[info.name]?.find(j => j.required)
|
|
|
|
|
required: !!myRules?.find(j => j.required)
|
|
|
|
|
},
|
|
|
|
|
attrs: {
|
|
|
|
|
placeholder: info.help_text,
|
|
|
|
|
@ -1089,7 +1106,7 @@ export default function formBuilder(device, info, h, row, pWrite = false,pReadab
|
|
|
|
|
clearable: true,
|
|
|
|
|
placeholder: info.help_text,
|
|
|
|
|
rules: this.rules[info.name],
|
|
|
|
|
required: !!this.rules[info.name]?.find(j => j.required)
|
|
|
|
|
required: !!myRules?.find(j => j.required)
|
|
|
|
|
},
|
|
|
|
|
attrs: {
|
|
|
|
|
for: info.name
|
|
|
|
|
@ -1119,7 +1136,7 @@ export default function formBuilder(device, info, h, row, pWrite = false,pReadab
|
|
|
|
|
clearable: true,
|
|
|
|
|
placeholder: info.help_text,
|
|
|
|
|
rules: this.rules[info.name],
|
|
|
|
|
required: !!this.rules[info.name]?.find(j => j.required)
|
|
|
|
|
required: !!myRules?.find(j => j.required)
|
|
|
|
|
},
|
|
|
|
|
attrs: {
|
|
|
|
|
for: info.name
|
|
|
|
|
@ -1154,7 +1171,7 @@ export default function formBuilder(device, info, h, row, pWrite = false,pReadab
|
|
|
|
|
clearable: true,
|
|
|
|
|
placeholder: info.help_text,
|
|
|
|
|
rules: this.rules[info.name],
|
|
|
|
|
required: !!this.rules[info.name]?.find(j => j.required)
|
|
|
|
|
required: !!myRules?.find(j => j.required)
|
|
|
|
|
},
|
|
|
|
|
attrs: {
|
|
|
|
|
for: info.name
|
|
|
|
|
@ -1180,7 +1197,7 @@ export default function formBuilder(device, info, h, row, pWrite = false,pReadab
|
|
|
|
|
props: {
|
|
|
|
|
title: info.label,
|
|
|
|
|
rules: this.rules[info.name],
|
|
|
|
|
required: !!this.rules[info.name]?.find(j => j.required)
|
|
|
|
|
required: !!myRules?.find(j => j.required)
|
|
|
|
|
},
|
|
|
|
|
attrs: {
|
|
|
|
|
for: info.name
|
|
|
|
|
@ -1342,7 +1359,7 @@ export default function formBuilder(device, info, h, row, pWrite = false,pReadab
|
|
|
|
|
clearable: true,
|
|
|
|
|
placeholder: info.help_text,
|
|
|
|
|
rules: this.rules[info.name],
|
|
|
|
|
required: !!this.rules[info.name]?.find(j => j.required)
|
|
|
|
|
required: !!myRules?.find(j => j.required)
|
|
|
|
|
},
|
|
|
|
|
attrs: {
|
|
|
|
|
for: info.name
|
|
|
|
|
@ -1420,7 +1437,7 @@ export default function formBuilder(device, info, h, row, pWrite = false,pReadab
|
|
|
|
|
h(
|
|
|
|
|
"van-form",
|
|
|
|
|
{
|
|
|
|
|
ref: "vanForm",
|
|
|
|
|
ref: "subVanForm-"+sIndex,
|
|
|
|
|
props: {
|
|
|
|
|
"scroll-to-error": true,
|
|
|
|
|
},
|
|
|
|
|
@ -1438,6 +1455,8 @@ export default function formBuilder(device, info, h, row, pWrite = false,pReadab
|
|
|
|
|
h,
|
|
|
|
|
sForm,
|
|
|
|
|
info._writeable,
|
|
|
|
|
null,
|
|
|
|
|
info.name
|
|
|
|
|
)
|
|
|
|
|
)
|
|
|
|
|
),
|
|
|
|
|
@ -1576,6 +1595,7 @@ export default function formBuilder(device, info, h, row, pWrite = false,pReadab
|
|
|
|
|
h(
|
|
|
|
|
"van-form",
|
|
|
|
|
{
|
|
|
|
|
ref: "subVanForm",
|
|
|
|
|
props: {
|
|
|
|
|
"scroll-to-error": true,
|
|
|
|
|
},
|
|
|
|
|
|