|
|
|
|
@ -54,110 +54,118 @@ export default {
|
|
|
|
|
(() => {
|
|
|
|
|
let dom = [];
|
|
|
|
|
this.formInfo.filter(i => i.form_show).forEach((i, index) => {
|
|
|
|
|
dom.push(
|
|
|
|
|
h(
|
|
|
|
|
"el-form-item",
|
|
|
|
|
{
|
|
|
|
|
ref: `elFormItem${i.field}`,
|
|
|
|
|
style: {
|
|
|
|
|
width: "100%",
|
|
|
|
|
},
|
|
|
|
|
props: {
|
|
|
|
|
label: i.name,
|
|
|
|
|
prop: i.field,
|
|
|
|
|
required:
|
|
|
|
|
i.validation instanceof Array
|
|
|
|
|
? !!i.validation.find((i) => i === "required")
|
|
|
|
|
: false,
|
|
|
|
|
if (
|
|
|
|
|
!/\/manage\/rule/.test(this.$route.fullPath) &&
|
|
|
|
|
!!["nianfen", "bianhao", "wenjian"].find(
|
|
|
|
|
(j) => j === i.field
|
|
|
|
|
)
|
|
|
|
|
) {
|
|
|
|
|
} else {
|
|
|
|
|
dom.push(
|
|
|
|
|
h(
|
|
|
|
|
"el-form-item",
|
|
|
|
|
{
|
|
|
|
|
ref: `elFormItem${i.field}`,
|
|
|
|
|
style: {
|
|
|
|
|
width: "100%",
|
|
|
|
|
},
|
|
|
|
|
props: {
|
|
|
|
|
label: i.name,
|
|
|
|
|
prop: i.field,
|
|
|
|
|
required:
|
|
|
|
|
i.validation instanceof Array
|
|
|
|
|
? !!i.validation.find((i) => i === "required")
|
|
|
|
|
: false,
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
this.$scopedSlots[i.field]
|
|
|
|
|
? this.$scopedSlots[i.field]({ fieldInfo: i, form: this.form, file: this.file })
|
|
|
|
|
: [
|
|
|
|
|
h(
|
|
|
|
|
domMap.get(i.edit_input),
|
|
|
|
|
{
|
|
|
|
|
ref: `elEdit_${i.field}`,
|
|
|
|
|
style: {
|
|
|
|
|
width: "100%",
|
|
|
|
|
},
|
|
|
|
|
props: {
|
|
|
|
|
...addPropsMap.get(i.edit_input),
|
|
|
|
|
...this.extraProps(i),
|
|
|
|
|
placeholder: i.help,
|
|
|
|
|
value: this.form[i.field],
|
|
|
|
|
},
|
|
|
|
|
attrs: {
|
|
|
|
|
placeholder: i.help || `请填写${i.name}`,
|
|
|
|
|
},
|
|
|
|
|
on: {
|
|
|
|
|
[this.getEventType(i.edit_input)]: (e) => {
|
|
|
|
|
if (i.field) {
|
|
|
|
|
this.form[i.field] = e;
|
|
|
|
|
this.form = Object.assign({}, this.form);
|
|
|
|
|
}
|
|
|
|
|
this.$scopedSlots[i.field]
|
|
|
|
|
? this.$scopedSlots[i.field]({ fieldInfo: i, form: this.form, file: this.file })
|
|
|
|
|
: [
|
|
|
|
|
h(
|
|
|
|
|
domMap.get(i.edit_input),
|
|
|
|
|
{
|
|
|
|
|
ref: `elEdit_${i.field}`,
|
|
|
|
|
style: {
|
|
|
|
|
width: "100%",
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
scopedSlots:
|
|
|
|
|
i.edit_input === "file" ||
|
|
|
|
|
i.edit_input === "files"
|
|
|
|
|
? {
|
|
|
|
|
file: (scope) => {
|
|
|
|
|
let { file } = scope;
|
|
|
|
|
return [
|
|
|
|
|
h("div", {}, [
|
|
|
|
|
h("i", {
|
|
|
|
|
class: {
|
|
|
|
|
"el-icon-circle-check":
|
|
|
|
|
file.status === "success",
|
|
|
|
|
"el-icon-loading":
|
|
|
|
|
file.status === "uploading",
|
|
|
|
|
},
|
|
|
|
|
style: {
|
|
|
|
|
color:
|
|
|
|
|
file.status === "success"
|
|
|
|
|
? "green"
|
|
|
|
|
: "",
|
|
|
|
|
},
|
|
|
|
|
}),
|
|
|
|
|
h(
|
|
|
|
|
"a",
|
|
|
|
|
{
|
|
|
|
|
attrs: {
|
|
|
|
|
href: file.url,
|
|
|
|
|
download: file.name,
|
|
|
|
|
},
|
|
|
|
|
props: {
|
|
|
|
|
...addPropsMap.get(i.edit_input),
|
|
|
|
|
...this.extraProps(i),
|
|
|
|
|
placeholder: i.help,
|
|
|
|
|
value: this.form[i.field],
|
|
|
|
|
},
|
|
|
|
|
attrs: {
|
|
|
|
|
placeholder: i.help || `请填写${i.name}`,
|
|
|
|
|
},
|
|
|
|
|
on: {
|
|
|
|
|
[this.getEventType(i.edit_input)]: (e) => {
|
|
|
|
|
if (i.field) {
|
|
|
|
|
this.form[i.field] = e;
|
|
|
|
|
this.form = Object.assign({}, this.form);
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
scopedSlots:
|
|
|
|
|
i.edit_input === "file" ||
|
|
|
|
|
i.edit_input === "files"
|
|
|
|
|
? {
|
|
|
|
|
file: (scope) => {
|
|
|
|
|
let { file } = scope;
|
|
|
|
|
return [
|
|
|
|
|
h("div", {}, [
|
|
|
|
|
h("i", {
|
|
|
|
|
class: {
|
|
|
|
|
"uploaded-a":
|
|
|
|
|
"el-icon-circle-check":
|
|
|
|
|
file.status === "success",
|
|
|
|
|
"el-icon-loading":
|
|
|
|
|
file.status === "uploading",
|
|
|
|
|
},
|
|
|
|
|
style: {
|
|
|
|
|
'padding': '0 4px'
|
|
|
|
|
color:
|
|
|
|
|
file.status === "success"
|
|
|
|
|
? "green"
|
|
|
|
|
: "",
|
|
|
|
|
},
|
|
|
|
|
}),
|
|
|
|
|
h(
|
|
|
|
|
"a",
|
|
|
|
|
{
|
|
|
|
|
attrs: {
|
|
|
|
|
href: file.url,
|
|
|
|
|
download: file.name,
|
|
|
|
|
},
|
|
|
|
|
class: {
|
|
|
|
|
"uploaded-a":
|
|
|
|
|
file.status === "success",
|
|
|
|
|
},
|
|
|
|
|
style: {
|
|
|
|
|
'padding': '0 4px'
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
file.name
|
|
|
|
|
),
|
|
|
|
|
]),
|
|
|
|
|
h("i", {
|
|
|
|
|
class: "el-icon-close",
|
|
|
|
|
on: {
|
|
|
|
|
["click"]: () =>
|
|
|
|
|
this.fileRemoveHandler(
|
|
|
|
|
file,
|
|
|
|
|
i.field
|
|
|
|
|
),
|
|
|
|
|
},
|
|
|
|
|
file.name
|
|
|
|
|
),
|
|
|
|
|
]),
|
|
|
|
|
h("i", {
|
|
|
|
|
class: "el-icon-close",
|
|
|
|
|
on: {
|
|
|
|
|
["click"]: () =>
|
|
|
|
|
this.fileRemoveHandler(
|
|
|
|
|
file,
|
|
|
|
|
i.field
|
|
|
|
|
),
|
|
|
|
|
},
|
|
|
|
|
}),
|
|
|
|
|
];
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
: "",
|
|
|
|
|
},
|
|
|
|
|
this.optionsRender(h, i)
|
|
|
|
|
),
|
|
|
|
|
]
|
|
|
|
|
)
|
|
|
|
|
);
|
|
|
|
|
}),
|
|
|
|
|
];
|
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
: "",
|
|
|
|
|
},
|
|
|
|
|
this.optionsRender(h, i)
|
|
|
|
|
),
|
|
|
|
|
]
|
|
|
|
|
)
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
return dom;
|
|
|
|
|
})()
|
|
|
|
|
|