| | |
| | | align-items: center;justify-content: flex-start;border: 1px solid gray;margin-top: 10px; |
| | | padding: 10px;border-radius: 20px"> |
| | | <div> |
| | | <img :src="endpoint+'/'+item.thumbnail" style="width: 80px;height: 80px"> |
| | | <img :src="item.thumbnail.includes('http') ? item.thumbnail : endpoint + '/' + item.thumbnail" |
| | | style="width: 80px;height: 80px"> |
| | | </div> |
| | | <div style="display: flex;flex-direction: column;margin-left: 20px"> |
| | | <div style="font-size: 1.5em;font-weight: bold">{{ item.goodsName }}</div> |
| | | <div style="color: #ff6f6f;display: flex;align-content: center;justify-content: flex-start"> |
| | | <div> ¥{{ item.price }}</div> |
| | | <div style="margin-left: 10px"> |
| | | <InputNumber v-model="item.goodsNum" :min="0" :max="99" controls-outside @on-change="changeGoodsNum(item.goodsSkuId,index,item.goodsNum)" |
| | | <InputNumber v-model="item.goodsNum" :min="0" :max="99" controls-outside |
| | | @on-change="changeGoodsNum(item.goodsSkuId,index,item.goodsNum)" |
| | | style="vertical-align: center;width: 100px"></InputNumber> |
| | | </div> |
| | | </div> |
| | |
| | | <Button type="primary" size="small" style="margin-right: 5px" v-if="row.status === '99'" |
| | | @click="openAuditing(row)">审核 |
| | | </Button> |
| | | <!-- <Button type="primary" size="small" style="margin-right: 5px"--> |
| | | <!-- @click="editVideo(row)">编辑--> |
| | | <!-- </Button>--> |
| | | <Button type="primary" size="small" style="margin-right: 5px" |
| | | @click="editVideo(row)">编辑 |
| | | </Button> |
| | | <Button type="error" size="small" style="margin-right: 5px" v-if="row.status === '1'" |
| | | @click="openVideoDown(row)">下架 |
| | | </Button> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import {getVideos, recommendSet, getVideoById, auditingVideo, up, down, recreateIndex,publish} from "@/api/video"; |
| | | import { |
| | | getVideos, |
| | | recommendSet, |
| | | getVideoById, |
| | | auditingVideo, |
| | | up, |
| | | down, |
| | | recreateIndex, |
| | | publish, |
| | | updatePublish |
| | | } from "@/api/video"; |
| | | import {getVideoTagList, recommend, videoGoodsEsPage} from "@/api/videoTag"; |
| | | import {getFilePreview, getSts} from "@/api/file"; |
| | | import Editor from '@/components/editor/index.vue' |
| | |
| | | } |
| | | }, |
| | | chooseTag(newValue, oldValue) { |
| | | console.log('触发新值变化',newValue); |
| | | this.uploadVideoForm.tags = newValue.map(item => { |
| | | const findTag = this.videoTagList.find(tagItem => { |
| | | return tagItem.tagName === item |
| | |
| | | slot: "action", |
| | | align: "center", |
| | | width: 200, |
| | | fixed: "right" |
| | | }, |
| | | ], |
| | | goodsData: [], |
| | |
| | | this.getTags('') |
| | | }, |
| | | methods: { |
| | | editVideo(row){ |
| | | async editVideo(row) { |
| | | // this.uploadVideoForm = {}; |
| | | // this.uploadVideoForm = row; |
| | | // this.showUploadVideoShow = true; |
| | | console.log('------------------->编辑',JSON.stringify(row)); |
| | | this.upLoadVideoShow = true; |
| | | this.videoTagList = [] |
| | | this.chooseTag = row.tagList |
| | | await recommend({ |
| | | searchType: "HOT" |
| | | }).then(res => { |
| | | this.videoTagList = res.data; |
| | | }) |
| | | this.upLoadVideoShow = true; |
| | | this.chooseTag = row.tagList.map(item => { |
| | | return item.tagName |
| | | }) |
| | | console.log('选中列表---》',row.goodsList) |
| | | row.goodsList.forEach(item => { |
| | | item.goodsSkuId = item.id |
| | | }) |
| | | this.uploadVideoForm = { |
| | | id: '', |
| | | title: '', |
| | |
| | | fileInfo: {}, |
| | | goodsList: [] |
| | | } |
| | | |
| | | |
| | | // 遍历已选择的标签 |
| | | row.tagList.forEach(tag => { |
| | | // 检查标签是否已存在于videoTagList中 |
| | | const exists = this.videoTagList.some(item => item.tagName === tag.tagName); |
| | | // 如果不存在,则添加到选项列表 |
| | | if (!exists) { |
| | | this.videoTagList.push({ |
| | | id: tag.id, // 生成临时ID |
| | | tagName: tag.tagName |
| | | }); |
| | | } |
| | | }); |
| | | this.uploadVideoForm = row |
| | | recommend({ |
| | | searchType: "HOT" |
| | | }).then(res => { |
| | | this.videoTagList = res.data; |
| | | this.uploadVideoForm.fileInfo= {}; |
| | | this.uploadVideoForm.videoImgs = JSON.parse(this.uploadVideoForm.videoImgs) |
| | | const sts = await getSts(); |
| | | if (this.uploadVideoForm.videoContentType === 'video') { |
| | | this.uploadVideoForm.showVideoUrl = sts.data.endpoint + '/' + this.uploadVideoForm.videoFileKey |
| | | if (this.uploadVideoForm.coverUrl !== '' && this.uploadVideoForm.coverUrl != null) { |
| | | this.uploadVideoForm.showCoverUrl = sts.data.endpoint + '/' + this.uploadVideoForm.coverUrl |
| | | } |
| | | } else if (this.uploadVideoForm.videoContentType === 'img') { |
| | | this.uploadVideoForm.showListImages = this.uploadVideoForm.videoImgs.map(item => { |
| | | return sts.data.endpoint + '/' + item |
| | | }) |
| | | } |
| | | |
| | | this.searchGoodsList(); |
| | | }, |
| | | closeGeneralQrCode(){ |
| | |
| | | return; |
| | | } |
| | | } |
| | | console.log('提交表单--------------->', this.uploadVideoForm) |
| | | if (this.uploadVideoForm.id) { |
| | | updatePublish(this.uploadVideoForm).then(response => { |
| | | if (response.code == 200) { |
| | | this.$Message.success("视频修改成功"); |
| | | this.upLoadVideoShow = false; |
| | | this.getDataList(); |
| | | } |
| | | }).then(error => { |
| | | this.$Message.success(error); |
| | | }) |
| | | |
| | | } else { |
| | | publish(this.uploadVideoForm).then(response => { |
| | | if (response.code == 200) { |
| | | this.$Message.success("视频发布成功"); |
| | |
| | | }).then(error=>{ |
| | | this.$Message.success(error); |
| | | }) |
| | | } |
| | | |
| | | }, |
| | | //todo 后续可能会使用预留 |
| | | createVideoTag(e) { |
| | | console.log('------------>',e) |
| | | }, |
| | | handleRemove(file) { |
| | | const fileList2 = this.uploadVideoForm.showListImages; |