|  |  |  | 
|---|
|  |  |  | <template> | 
|---|
|  |  |  | <GlobalWindow | 
|---|
|  |  |  | :title="title" | 
|---|
|  |  |  | width="60%" | 
|---|
|  |  |  | :visible.sync="visible" | 
|---|
|  |  |  | :confirm-working="isWorking" | 
|---|
|  |  |  | @confirm="confirm" | 
|---|
|  |  |  | > | 
|---|
|  |  |  | <el-form :model="form" ref="form" :rules="rules"> | 
|---|
|  |  |  | <el-form-item label="创建人编码" prop="creator"> | 
|---|
|  |  |  | <el-input v-model="form.creator" placeholder="请输入创建人编码" v-trim/> | 
|---|
|  |  |  | <el-form-item label="文案" prop="title" required> | 
|---|
|  |  |  | <el-input type="textarea" v-model="form.title" placeholder="请输入标题" v-trim maxlength="200"/> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item label="创建时间" prop="createDate"> | 
|---|
|  |  |  | <el-date-picker v-model="form.createDate" value-format="yyyy-MM-dd" placeholder="请输入创建时间"></el-date-picker> | 
|---|
|  |  |  | <el-form-item label="发布时间" prop="publishDate" required> | 
|---|
|  |  |  | <el-date-picker | 
|---|
|  |  |  | v-model="form.publishDate" | 
|---|
|  |  |  | type="datetime" | 
|---|
|  |  |  | value-format="yyyy-MM-dd HH:mm:ss" | 
|---|
|  |  |  | format="yyyy-MM-dd HH:mm:ss" | 
|---|
|  |  |  | placeholder="选择时间"> | 
|---|
|  |  |  | </el-date-picker> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item label="更新人编码" prop="editor"> | 
|---|
|  |  |  | <el-input v-model="form.editor" placeholder="请输入更新人编码" v-trim/> | 
|---|
|  |  |  | <el-form-item label="状态" prop="status" required> | 
|---|
|  |  |  | <el-radio-group v-model="form.status"  > | 
|---|
|  |  |  | <el-radio :label="0" >展示</el-radio> | 
|---|
|  |  |  | <el-radio :label="1">不展示</el-radio> | 
|---|
|  |  |  | </el-radio-group> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item label="更新时间" prop="editDate"> | 
|---|
|  |  |  | <el-date-picker v-model="form.editDate" value-format="yyyy-MM-dd" placeholder="请输入更新时间"></el-date-picker> | 
|---|
|  |  |  | <el-form-item label="附件类型" prop="fileType" required> | 
|---|
|  |  |  | <el-radio-group v-model="form.fileType"  > | 
|---|
|  |  |  | <el-radio :label="0" >图片</el-radio> | 
|---|
|  |  |  | <el-radio :label="1">视频</el-radio> | 
|---|
|  |  |  | </el-radio-group> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item label="是否删除0否 1是" prop="isdeleted"> | 
|---|
|  |  |  | <el-input v-model="form.isdeleted" placeholder="请输入是否删除0否 1是" v-trim/> | 
|---|
|  |  |  | <el-form-item label="图集上传 (最多9张)"    v-if="form.fileType !=1"> | 
|---|
|  |  |  | <upload width="100px" height="100px" :max-length="9" @dele="delFile" :list="fileImgList" accept=".png,.jpg,.jpeg" folder="news" @loading="loading = true" @success="fileResult($event)" /> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item label="备注" prop="remark"> | 
|---|
|  |  |  | <el-input v-model="form.remark" placeholder="请输入备注" v-trim/> | 
|---|
|  |  |  | <el-form-item label="视频上传(单个)"    v-if="form.fileType === 1"> | 
|---|
|  |  |  | <upload width="100px" height="100px" :max-length="1"   @dele="delFile" :list="fileVideoList" accept=".mp4" folder="news" @loading="loading = true" @success="fileResult($event)" /> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item label="标题" prop="title"> | 
|---|
|  |  |  | <el-input v-model="form.title" placeholder="请输入标题" v-trim/> | 
|---|
|  |  |  | <el-form-item label="排序码(升序)" prop="sortnum"> | 
|---|
|  |  |  | <el-input   v-model="form.sortnum"   type="number"  placeholder="请输入排序码" v-trim/> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item label="副标题" prop="subTitle"> | 
|---|
|  |  |  | <el-input v-model="form.subTitle" placeholder="请输入副标题" v-trim/> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item label="排序码" prop="sortnum"> | 
|---|
|  |  |  | <el-input v-model="form.sortnum" placeholder="请输入排序码" v-trim/> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item label="内容" prop="content"> | 
|---|
|  |  |  | <el-input v-model="form.content" placeholder="请输入内容" v-trim/> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item label="跳转类型 0富文本 1外链" prop="linkType"> | 
|---|
|  |  |  | <el-input v-model="form.linkType" placeholder="请输入跳转类型 0富文本 1外链" v-trim/> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item label="状态 0展示 1不展示" prop="status"> | 
|---|
|  |  |  | <el-input v-model="form.status" placeholder="请输入状态 0展示 1不展示" v-trim/> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item label="浏览量" prop="lookNum"> | 
|---|
|  |  |  | <el-input v-model="form.lookNum" placeholder="请输入浏览量" v-trim/> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item label="下载量" prop="donwloadNum"> | 
|---|
|  |  |  | <el-input v-model="form.donwloadNum" placeholder="请输入下载量" v-trim/> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item label="最近发布时间" prop="publishDate"> | 
|---|
|  |  |  | <el-date-picker v-model="form.publishDate" value-format="yyyy-MM-dd" placeholder="请输入最近发布时间"></el-date-picker> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item label="最近发布人人编码(关联system_user)" prop="publishUserid"> | 
|---|
|  |  |  | <el-input v-model="form.publishUserid" placeholder="请输入最近发布人人编码(关联system_user)" v-trim/> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item label="最近发布备注" prop="publishInfo"> | 
|---|
|  |  |  | <el-input v-model="form.publishInfo" placeholder="请输入最近发布备注" v-trim/> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | <el-form-item label="素材类型 0推广资讯 1定制服务" prop="type"> | 
|---|
|  |  |  | <el-input v-model="form.type" placeholder="请输入素材类型 0推广资讯 1定制服务" v-trim/> | 
|---|
|  |  |  | <el-form-item label="备注" prop="publishInfo"> | 
|---|
|  |  |  | <el-input  type="textarea" v-model="form.publishInfo" placeholder="请输入发布备注" v-trim/> | 
|---|
|  |  |  | </el-form-item> | 
|---|
|  |  |  | </el-form> | 
|---|
|  |  |  | </GlobalWindow> | 
|---|
|  |  |  | </template> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <script> | 
|---|
|  |  |  | import BaseOpera from '@/components/base/BaseOpera' | 
|---|
|  |  |  | import GlobalWindow from '@/components/common/GlobalWindow' | 
|---|
|  |  |  | import upload from '@/components/common/upload' | 
|---|
|  |  |  | export default { | 
|---|
|  |  |  | name: 'OperaNewsWindow', | 
|---|
|  |  |  | extends: BaseOpera, | 
|---|
|  |  |  | components: { GlobalWindow }, | 
|---|
|  |  |  | components: { GlobalWindow, upload }, | 
|---|
|  |  |  | data () { | 
|---|
|  |  |  | return { | 
|---|
|  |  |  | // 表单数据 | 
|---|
|  |  |  | loading: false, | 
|---|
|  |  |  | form: { | 
|---|
|  |  |  | id: null, | 
|---|
|  |  |  | creator: '', | 
|---|
|  |  |  | createDate: '', | 
|---|
|  |  |  | editor: '', | 
|---|
|  |  |  | editDate: '', | 
|---|
|  |  |  | isdeleted: '', | 
|---|
|  |  |  | remark: '', | 
|---|
|  |  |  | title: '', | 
|---|
|  |  |  | subTitle: '', | 
|---|
|  |  |  | sortnum: '', | 
|---|
|  |  |  | content: '', | 
|---|
|  |  |  | linkType: '', | 
|---|
|  |  |  | status: '', | 
|---|
|  |  |  | lookNum: '', | 
|---|
|  |  |  | donwloadNum: '', | 
|---|
|  |  |  | status: 0, | 
|---|
|  |  |  | publishDate: '', | 
|---|
|  |  |  | publishUserid: '', | 
|---|
|  |  |  | publishInfo: '', | 
|---|
|  |  |  | type: '' | 
|---|
|  |  |  | fileList: [], | 
|---|
|  |  |  | fileType: 0, | 
|---|
|  |  |  | type: 0 | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | fileImgList: [], | 
|---|
|  |  |  | fileVideoList: [], | 
|---|
|  |  |  | // 验证规则 | 
|---|
|  |  |  | rules: { | 
|---|
|  |  |  | title: [{ required: true, message: '请输入文案' }], | 
|---|
|  |  |  | publishDate: [{ required: true, message: '请选择发布时间' }], | 
|---|
|  |  |  | status: [{ required: true, message: '请选择状态' }], | 
|---|
|  |  |  | fileType: [{ required: true, message: '请选择附件类型' }] | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | 
|---|
|  |  |  | api: '/business/news', | 
|---|
|  |  |  | 'field.id': 'id' | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | methods: { | 
|---|
|  |  |  | open (title, target) { | 
|---|
|  |  |  | this.title = title | 
|---|
|  |  |  | this.visible = true | 
|---|
|  |  |  | this.form.fileList = [] | 
|---|
|  |  |  | this.fileImgList= [] | 
|---|
|  |  |  | this.fileVideoList = [] | 
|---|
|  |  |  | // 新建 | 
|---|
|  |  |  | if (target == null) { | 
|---|
|  |  |  | this.$nextTick(() => { | 
|---|
|  |  |  | this.$refs.form.resetFields() | 
|---|
|  |  |  | this.form[this.configData['field.id']] = null | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | return | 
|---|
|  |  |  | } | 
|---|
|  |  |  | // 编辑 | 
|---|
|  |  |  | this.$nextTick(() => { | 
|---|
|  |  |  | for (const key in this.form) { | 
|---|
|  |  |  | this.form[key] = target[key] | 
|---|
|  |  |  | } | 
|---|
|  |  |  | this.form.fileType = target.fileType || 0 | 
|---|
|  |  |  | const files = target.fileList || [] | 
|---|
|  |  |  | if(target.fileType === 1){ | 
|---|
|  |  |  | if(files.length>0){ | 
|---|
|  |  |  | this.fileVideoList.push(files[0]) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }else { | 
|---|
|  |  |  | files.forEach(item => { | 
|---|
|  |  |  | this.fileImgList.push(item) | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | getWangedditor (val) { | 
|---|
|  |  |  | this.form.content = val | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | delFile (index) { | 
|---|
|  |  |  | if(this.form.fileType === 1){ | 
|---|
|  |  |  | this.fileVideoList.splice(index, 1) | 
|---|
|  |  |  | this.form.fileList =this.fileVideoList | 
|---|
|  |  |  | }else{ | 
|---|
|  |  |  | this.fileImgList.splice(index, 1) | 
|---|
|  |  |  | this.form.fileList =this.fileImgList | 
|---|
|  |  |  | } | 
|---|
|  |  |  | }, | 
|---|
|  |  |  | fileResult (e) { | 
|---|
|  |  |  | if(this.form.fileType === 1){ | 
|---|
|  |  |  | this.fileVideoList = this.fileVideoList||[] | 
|---|
|  |  |  | this.fileVideoList.push({ | 
|---|
|  |  |  | fileurlFull: e.url, | 
|---|
|  |  |  | fileurl: e.imgaddr, | 
|---|
|  |  |  | name: e.originname, | 
|---|
|  |  |  | type: e.type | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | this.form.fileList =this.fileVideoList | 
|---|
|  |  |  | }else{ | 
|---|
|  |  |  | this.fileImgList = this.fileImgList||[] | 
|---|
|  |  |  | this.fileImgList.push({ | 
|---|
|  |  |  | fileurlFull: e.url, | 
|---|
|  |  |  | fileurl: e.imgaddr, | 
|---|
|  |  |  | name: e.originname, | 
|---|
|  |  |  | type: e.type | 
|---|
|  |  |  | }) | 
|---|
|  |  |  | this.form.fileList =this.fileImgList | 
|---|
|  |  |  | } | 
|---|
|  |  |  | console.log(this.form.fileList) | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | } | 
|---|
|  |  |  | </script> | 
|---|