From b2d360d9113b6955287108ca9e90d76a1f3c1419 Mon Sep 17 00:00:00 2001
From: liukangdong <898885815@qq.com>
Date: 星期日, 29 九月 2024 15:05:11 +0800
Subject: [PATCH] Merge branch 'master' of http://139.186.142.91:10010/r/productDev/zbomyoujia
---
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..633c667 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="spokesman" @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="spokesman" @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