From a52f8c508d08014d1a153cfc02e12b5fc185a3a4 Mon Sep 17 00:00:00 2001 From: k94314517 <8417338+k94314517@user.noreply.gitee.com> Date: 星期四, 11 七月 2024 15:28:59 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- admin/src/components/business/OperaNewsWindow.vue | 172 ++++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 110 insertions(+), 62 deletions(-) diff --git a/admin/src/components/business/OperaNewsWindow.vue b/admin/src/components/business/OperaNewsWindow.vue index 9db6ae7..548f327 100644 --- a/admin/src/components/business/OperaNewsWindow.vue +++ b/admin/src/components/business/OperaNewsWindow.vue @@ -1,102 +1,82 @@ <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: '璇烽�夋嫨闄勪欢绫诲瀷' }] } } }, @@ -105,6 +85,74 @@ 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> -- Gitblit v1.9.3