|
@@ -4,10 +4,15 @@
|
|
|
<el-col :span="24" class="main">
|
|
|
<data-form :fields="fields" :data="form" :rules="rules" @save="toSave">
|
|
|
<template #options="{ item }">
|
|
|
- <template v-if="item.model === 'status'">
|
|
|
+ <template v-if="item.model === 'type_name'">
|
|
|
<el-option v-for="(i, index) in statusList" :key="index" :label="`${i.label}`" :value="i.value"></el-option>
|
|
|
</template>
|
|
|
</template>
|
|
|
+ <template #custom="{ item }">
|
|
|
+ <template v-if="item.model === 'img_url'">
|
|
|
+ <s-upload :limit="4" :data="form.img_url" type="img_url" url="/files/live/upload" @upload="uplSuc" @delete="uplDel"></s-upload>
|
|
|
+ </template>
|
|
|
+ </template>
|
|
|
</data-form>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
@@ -24,16 +29,18 @@ export default {
|
|
|
return {
|
|
|
//表单配置项
|
|
|
fields: [
|
|
|
- { label: '申请人姓名', model: 'examine_name' },
|
|
|
- { label: '商品状态', model: 'status', type: 'select' },
|
|
|
- { label: '开始时间', model: 'start_time', type: 'date' },
|
|
|
- { label: '结束时间', model: 'end_time', type: 'date' },
|
|
|
+ { label: '商品类型', model: 'type_name', type: 'select' },
|
|
|
+ { label: '商品名称', model: 'name' },
|
|
|
+ { label: '商品简介', model: 'brief', type: 'textarea' },
|
|
|
+ { label: '商品价格', model: 'money' },
|
|
|
+ { label: '商品图片', model: 'img_url', custom: true },
|
|
|
],
|
|
|
rules: {
|
|
|
- examine_name: [{ required: true, message: '请输入申请人姓名' }],
|
|
|
- start_time: [{ required: true, message: '请选择开始时间' }],
|
|
|
- end_time: [{ required: true, message: '请选择结束时间' }],
|
|
|
- status: [{ required: true, message: '请选择商品状态' }],
|
|
|
+ type_name: [{ required: true, message: '请输入商品类型' }],
|
|
|
+ name: [{ required: true, message: '请输入商品名称' }],
|
|
|
+ brief: [{ required: true, message: '请输入商品简介' }],
|
|
|
+ money: [{ required: true, message: '请输入商品价格' }],
|
|
|
+ img_url: [{ required: true, message: '请选择商品图片' }],
|
|
|
},
|
|
|
};
|
|
|
},
|
|
@@ -42,6 +49,15 @@ export default {
|
|
|
toSave({ data }) {
|
|
|
this.$emit('toSave', { data: data });
|
|
|
},
|
|
|
+ // 上传图片
|
|
|
+ uplSuc({ type, data }) {
|
|
|
+ let list = this.form[type];
|
|
|
+ this.$set(this.form, `${type}`, [...list, { name: data.name, url: data.uri }]);
|
|
|
+ },
|
|
|
+ // 删除图片
|
|
|
+ uplDel({ type, data, list }) {
|
|
|
+ this.$set(this.form, `${type}`, list);
|
|
|
+ },
|
|
|
},
|
|
|
computed: {
|
|
|
...mapState(['user']),
|