| | |
| | | @confirm="confirm" |
| | | > |
| | | <el-form :model="form" ref="form" label-width="130px" label-suffix=":" :rules="rules" inline> |
| | | <el-form-item label="资讯标题" prop="name"> |
| | | <el-input v-model="form.name" placeholder="请输入资讯标题" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="资讯分类" prop="labelId"> |
| | | <el-select |
| | | v-model="form.labelId" |
| | | placeholder="请选择资讯分类" |
| | | filterable |
| | | clearable |
| | | > |
| | | <el-option v-for="item in labels" :key="item.id" :value="item.id" :label="item.name" /> |
| | | </el-select> |
| | | <!-- <el-input v-model="form.labelId" placeholder="请输入选择" v-trim/> --> |
| | | <el-form-item label="标题" prop="name"> |
| | | <el-input v-model="form.name" placeholder="请输入标题" v-trim/> |
| | | </el-form-item> |
| | | <el-form-item label="资讯封面图" prop="imgurlfull"> |
| | | <UploadAvatarImage |
| | | :file="{ 'imgurlfull': form.imgurlfull, 'imgurl': form.imgurl }" |
| | | @uploadSuccess="uploadAvatarSuccess" |
| | | @uploadEnd="isUploading=false" |
| | | @uploadBegin="isUploading = true" |
| | | :file="{ 'imgurlfull': form.imgurlfull, 'imgurl': form.imgurl }" |
| | | @uploadSuccess="uploadAvatarSuccess" |
| | | :uploadData="{folder:'activity'}" |
| | | @uploadEnd="isUploading=false" |
| | | @uploadBegin="isUploading = true" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="关联店铺" prop="shopId"> |
| | | <el-form-item label="所属分类" prop="labelId"> |
| | | <el-select |
| | | v-model="form.shopId" |
| | | placeholder="请输入店铺名称,再选择" |
| | | v-model="form.labelId" |
| | | placeholder="请选择所属分类" |
| | | filterable |
| | | remote |
| | | reserve-keyword |
| | | :remote-method="remoteMethod" |
| | | :loading="searchLoading" |
| | | clearable |
| | | > |
| | | <el-option |
| | | v-for="item in shops" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value"> |
| | | </el-option> |
| | | <el-option v-for="item in labels()" :key="item.id" :value="item.id" :label="item.name" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="详情" prop="content"> |
| | | <RichEditor :content="{ content : form.content}" @edit="form.content=$event" /> |
| | | <el-form-item label="所属品牌" prop="brandId"> |
| | | <el-select |
| | | v-model="form.brandId" |
| | | placeholder="请选择所属品牌" |
| | | filterable |
| | | clearable |
| | | > |
| | | <el-option v-for="item in brands()" :key="item.id" :value="item.id" :label="item.name" /> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="内容类型" prop="contentType" > |
| | | <el-radio-group v-model="form.contentType"> |
| | | <el-radio :label="0" value="0">富文本</el-radio> |
| | | <el-radio :label="1" value="1">外链</el-radio> |
| | | </el-radio-group> |
| | | </el-form-item> |
| | | <el-form-item label="详情" prop="content" required> |
| | | <el-input v-if="form.contentType == 1" v-model="form.content" placeholder="请输入外链地址" v-trim/> |
| | | <RichEditor v-else :richData="form.content" :styleEditor="styleEditor" @getWangedditor="getWangedditor" :readonly="false"/> |
| | | </el-form-item> |
| | | </el-form> |
| | | </GlobalWindow> |
| | |
| | | import RichEditor from '@/components/common/RichEditor' |
| | | import UploadAvatarImage from '@/components/common/UploadAvatarImage' |
| | | |
| | | import { fetchList as shopList } from '@/api/business/shop' |
| | | import { fetchList as shopList } from '@/api/business/shop' |
| | | |
| | | export default { |
| | | name: 'OperaActivityWindow', |
| | |
| | | components: { GlobalWindow, RichEditor, UploadAvatarImage }, |
| | | data () { |
| | | return { |
| | | styleEditor: 'border: 1px solid #ccc;display: inline-block;height:500px;', |
| | | isUploading: false, |
| | | searchLoading: false, |
| | | shops: [], |
| | |
| | | labelId: '', |
| | | imgurlfull: null, |
| | | imgurl: null, |
| | | shopId: '', |
| | | brandId: '', |
| | | content: '', |
| | | contentType: 0, |
| | | type: 3 //资讯 |
| | | }, |
| | | labels: [ |
| | | { name: 'a', id: 1 }, |
| | | { name: 'b', id: 2 }, |
| | | { name: 'c', id: 3 }, |
| | | ], |
| | | // 验证规则 |
| | | rules: { |
| | | name: [ |
| | | { required: true, message: '请输入资讯标题', tigger: 'blur' } |
| | | { required: true, message: '请输入标题', tigger: 'blur' } |
| | | ], |
| | | content: [ |
| | | { required: true, message: '请输入内容', tigger: 'blur' } |
| | | ], |
| | | contentType: [ |
| | | { required: true, message: '请选择内容类型' } |
| | | ], |
| | | labelId: [ |
| | | { required: true, message: '请选择资讯分类', tigger: 'change' } |
| | | { required: true, message: '请选择所属分类' } |
| | | ], |
| | | brandId: [ |
| | | { required: true, message: '请选择所属品牌' } |
| | | ], |
| | | imgurlfull: [ |
| | | { required: true, message: '请上传资讯主图', tigger: 'change' } |
| | | { required: true, message: '请上传资讯主图' } |
| | | ], |
| | | } |
| | | } |
| | | }, |
| | | inject: ['labels', 'brands'], |
| | | created () { |
| | | this.config({ |
| | | api: '/business/activity', |
| | |
| | | this.form.imgurl = file.imgurl; |
| | | this.form.imgurlfull = file.imgurlfull; |
| | | }, |
| | | remoteMethod(query) { |
| | | if (query !== '') { |
| | | this.searchLoading = true |
| | | shopList({ |
| | | capacity: 999, |
| | | model: { |
| | | name: query |
| | | } |
| | | }) |
| | | .then(res => { |
| | | this.shops = res.records |
| | | }) |
| | | .finally(() => { |
| | | this.searchLoading = false |
| | | }) |
| | | } |
| | | getWangedditor(val){ |
| | | this.form.content =val |
| | | } |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | | |