|
@@ -11,6 +11,13 @@
|
|
:style="styles"
|
|
:style="styles"
|
|
:inline="inline"
|
|
:inline="inline"
|
|
>
|
|
>
|
|
|
|
+ <el-form-item v-if="back">
|
|
|
|
+ <el-row>
|
|
|
|
+ <el-col :span="24" style="text-align: right">
|
|
|
|
+ <el-button type="primary" size="mini" @click="toReturn">返回</el-button>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-row>
|
|
|
|
+ </el-form-item>
|
|
<template v-for="(item, index) in fields">
|
|
<template v-for="(item, index) in fields">
|
|
<template v-if="!loading">
|
|
<template v-if="!loading">
|
|
<el-form-item v-if="display(item)" :key="'form-field-' + index" :label="getField('label', item)" :prop="item.model" :required="item.required">
|
|
<el-form-item v-if="display(item)" :key="'form-field-' + index" :label="getField('label', item)" :prop="item.model" :required="item.required">
|
|
@@ -44,12 +51,12 @@
|
|
</template>
|
|
</template>
|
|
<template v-else-if="item.type === 'radio'">
|
|
<template v-else-if="item.type === 'radio'">
|
|
<el-radio-group v-model="form[item.model]" size="mini" v-bind="item.options">
|
|
<el-radio-group v-model="form[item.model]" size="mini" v-bind="item.options">
|
|
- <slot name="radios" v-bind="{ item, form, fieldChange }"></slot>
|
|
|
|
|
|
+ <slot :name="item.model" v-bind="{ item, form, fieldChange }"></slot>
|
|
</el-radio-group>
|
|
</el-radio-group>
|
|
</template>
|
|
</template>
|
|
<template v-else-if="item.type === 'checkbox'">
|
|
<template v-else-if="item.type === 'checkbox'">
|
|
<el-checkbox-group v-model="form[item.model]" v-bind="item.options">
|
|
<el-checkbox-group v-model="form[item.model]" v-bind="item.options">
|
|
- <slot name="checkboxs" v-bind="{ item, form, fieldChange }"></slot>
|
|
|
|
|
|
+ <slot :name="item.model" v-bind="{ item, form, fieldChange }"></slot>
|
|
</el-checkbox-group>
|
|
</el-checkbox-group>
|
|
</template>
|
|
</template>
|
|
<template v-else-if="item.type === 'select'">
|
|
<template v-else-if="item.type === 'select'">
|
|
@@ -123,6 +130,7 @@ export default {
|
|
submitText: { type: String, default: '保存' },
|
|
submitText: { type: String, default: '保存' },
|
|
inline: { type: Boolean, default: false },
|
|
inline: { type: Boolean, default: false },
|
|
reset: { type: Boolean, default: true },
|
|
reset: { type: Boolean, default: true },
|
|
|
|
+ back: null,
|
|
},
|
|
},
|
|
components: {
|
|
components: {
|
|
wangEditor,
|
|
wangEditor,
|
|
@@ -197,6 +205,10 @@ export default {
|
|
let { model, filterReturn } = item;
|
|
let { model, filterReturn } = item;
|
|
if (filterReturn) this.$emit('filterReturn', { data, model });
|
|
if (filterReturn) this.$emit('filterReturn', { data, model });
|
|
},
|
|
},
|
|
|
|
+ toReturn() {
|
|
|
|
+ if (_.isFunction(this.back)) eval(this.back)();
|
|
|
|
+ else this.$router.push(this.back);
|
|
|
|
+ },
|
|
},
|
|
},
|
|
};
|
|
};
|
|
</script>
|
|
</script>
|