From b57c81c1da4ad71edf2073c21e7cebb38123b961 Mon Sep 17 00:00:00 2001
From: peng <peng.com>
Date: 星期一, 27 十月 2025 17:08:00 +0800
Subject: [PATCH] 页面调整
---
manager/src/views/video/VideoList.vue | 333 +++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 295 insertions(+), 38 deletions(-)
diff --git a/manager/src/views/video/VideoList.vue b/manager/src/views/video/VideoList.vue
index 79c7676..8dce271 100644
--- a/manager/src/views/video/VideoList.vue
+++ b/manager/src/views/video/VideoList.vue
@@ -80,6 +80,11 @@
</FormItem>
</Col>
<Col span="12">
+ <FormItem label="鏉冮噸:" :label-width="80">
+ <InputNumber v-model="uploadVideoForm.weight" :min="0" :step="0.1" placeholder="璇疯緭鍏ユ潈閲�"></InputNumber>
+ </FormItem>
+ </Col>
+ <Col span="12">
<FormItem label="涓婁紶绫诲瀷:" :label-width="80" prpo="videoContentType">
<Select v-model="uploadVideoForm.videoContentType" style="width:200px">
<Option value="img">鍥剧墖</Option>
@@ -184,12 +189,6 @@
</Col>
</Row>
<Row :gutter="24">
- <Col span="24">
- <FormItem label="閫変腑鍟嗗搧" :label-width="80">
- </FormItem>
- </Col>
- </Row>
- <Row :gutter="24">
<Col span="12">
<FormItem label="鍟嗗搧鍒楄〃" :label-width="80">
<Input v-model="searchGoodsForm.keyword" style="width:200px" @on-change="searchGoodsList"></Input>
@@ -259,13 +258,13 @@
:title="playVideoTitle"
width="800"
:mask-closable="false"
- @close="playVideoClose"
+ @on-cancel="playVideoClose"
>
<div class="video-warp">
<video :src="playVideoUrl" autoplay controls style="width: 768px;height: 432px"/>
</div>
<div slot="footer">
- <Button type="text" @click="playVideoClose">鍏抽棴</Button>
+ <Button type="text" @click="playVideoClose">鍏抽棴1</Button>
</div>
</Modal>
@@ -322,7 +321,6 @@
</Row>
</Col>
</Row>
-
</Form-item>
<Form-item v-if="detail.videoContentType === 'img'" :label-width="0">
<div style="display: flex;flex-direction: row;flex-wrap: wrap">
@@ -431,8 +429,98 @@
<Button type="success" size="small" style="margin-right: 5px" v-else-if="row.status === '0'"
@click="videoUp(row)">涓婃灦
</Button>
+ <!-- 娣诲姞鍒犻櫎鎸夐挳 -->
+ <Button type="error" size="small" style="margin-right: 5px" v-if="row.status === '0'"
+ @click="deleteVideo(row)">鍒犻櫎
+ </Button>
+ <Button type="error" size="small" style="margin-right: 5px"
+ @click="openComment(row)">
+ 鏌ョ湅璇勮
+ </Button>
</template>
</Table>
+ <Modal
+ v-model="showVideoComment"
+ title="瑙嗛璇勮"
+ width="1000"
+ :mask-closable="false">
+ <Form :model="commentForm" ref="commentForm">
+ <Row type="flex" :gutter="16">
+ <Col>
+ <FormItem :label-width="70" label="鍐呭锛�" prop="commentContent">
+ <Input style="width: 120px"
+ v-model="commentForm.commentContent" placeholder="璇疯緭鍏ュ唴瀹�"
+ @on-clear="commentHandleSearch"
+ @on-change="commentHandleSearch"></Input>
+ </FormItem>
+ </Col>
+ <Col>
+ <FormItem :label-width="70" label="鐢ㄦ埛鏄电О锛�" prop="nickName">
+ <Input style="width: 120px" v-model="commentForm.nickName" placeholder="璇疯緭鍏ュ唴瀹�"
+ @on-clear="commentHandleSearch"
+ @on-change="commentHandleSearch"></Input>
+ </FormItem>
+ </Col>
+ <Col>
+ <FormItem :label-width="70" label="寮�濮嬫椂闂达細" prop="startTime">
+ <DatePicker
+ v-model="commentForm.startTime"
+ type="datetime"
+ placeholder="閫夋嫨寮�濮嬫椂闂�"
+ style="width: 120px"
+ @on-change="commentHandleSearch($event)"
+ @on-clear="commentHandleSearch"
+ ></DatePicker>
+ </FormItem>
+ </Col>
+ <Col>
+ <FormItem :label-width="70" label="缁撴潫鏃堕棿锛�" prop="endTime">
+ <DatePicker
+ v-model="commentForm.endTime"
+ type="datetime"
+ placeholder="閫夋嫨缁撴潫鏃堕棿"
+ style="width: 120px"
+ @on-change="commentHandleSearch($event)"
+ @on-clear="commentHandleSearch"
+ ></DatePicker>
+ </FormItem>
+ </Col>
+ </Row>
+ </Form>
+
+ <div slot="footer">
+ <Button type="text" @click="closeComment">鍏抽棴</Button>
+ </div>
+ <Table
+ :loading="commentLoading"
+ border
+ :columns="commentColumns"
+ :data="commentData"
+ ref="commentTable"
+ sortable="custom"
+ >
+ <template slot-scope="{ row, index }" slot="action">
+ <Button type="error" size="small"
+ @click="removeComment(row)">鍒犻櫎</Button>
+ </template>
+ </Table>
+ <Row type="flex" justify="end" class="page-footer">
+ <Page
+ :current="commentForm.pageNumber"
+ :total="commentTotal"
+ :page-size="commentForm.pageSize"
+ @on-change="commentChangePage"
+ @on-page-size-change="commentChangePageSize"
+ :page-size-opts="[10, 20, 50]"
+ size="small"
+ show-total
+ show-elevator
+ show-sizer
+ ></Page>
+ </Row>
+
+ </Modal>
+
<Modal
v-model="showGeneralQrCode"
title="浜岀淮鐮�"
@@ -479,9 +567,13 @@
down,
recreateIndex,
publish,
- updatePublish
+ updatePublish,
+ getCommentPage,
+ removeById,
+ deleteVideoById
} from "@/api/video";
import {getVideoTagList, recommend, videoGoodsEsPage} from "@/api/videoTag";
+import {addPrizeNum} from "@/api/activity-prize";
import {getFilePreview, getSts} from "@/api/file";
import Editor from '@/components/editor/index.vue'
import GoodsExpandRow from '@/views/video/GoodsExpandRow'
@@ -536,6 +628,50 @@
},
data() {
return {
+ commentTotal:0,
+ commentForm:{
+ commentContent:'',
+ videoId:'',
+ nikeName:'',
+ startTime:'',
+ endTime:'',
+ pageNumber:1,
+ pageSize:10
+ },
+ commentColumns:[
+ // {
+ // type: 'selection',
+ // width: 60,
+ // align: 'center'
+ // },
+ {
+ title: "鐢ㄦ埛鍚�",
+ key: "userNickname",
+ minWidth: 240,
+ tooltip: true,
+ },{
+ title: "鍐呭",
+ key: "commentContent",
+ minWidth: 240,
+ tooltip: true,
+ },{
+ title: "璇勮鏃堕棿",
+ key: "createTime",
+ minWidth: 240,
+ tooltip: true,
+ },{
+ title: "鎿嶄綔",
+ key: "action",
+ slot: "action",
+ align: "center",
+ width: 200,
+ fixed: "right"
+ }
+ ],
+ commentData:[],
+ showVideoComment:false,
+ commentLoading:false,
+
// https://myk.9village.cn/scanpage/recommend?shareType=videoRecommend&videoId=1948284811844190209
baseQRCodeUrl: this.QRcodeBaseUrl + '/scanpage/recommend',
QRCodeUrl: '',
@@ -566,8 +702,8 @@
showListImages: [],
tags: [],
fileInfo: {},
- goodsList: []
-
+ goodsList: [],
+ weight: 0 // 娣诲姞鏉冮噸瀛楁锛岄粯璁ゅ�间负0
},
videoDownForm: {
id: '',
@@ -744,6 +880,80 @@
this.getTags('')
},
methods: {
+ closeComment(){
+ this.showVideoComment = false
+ },
+ commentChangePage(page) {
+ this.commentForm.pageNumber = page
+ this.commentPage()
+ },
+
+ // 鏀瑰彉鎶ュ悕浜哄憳姣忛〉鏉℃暟
+ commentChangePageSize(pageSize) {
+ this.commentForm.pageNumber = 1
+ this.commentForm.pageSize = pageSize
+ this.commentPage()
+ },
+ commentPage(){
+ //杞崲涓哄瓧绗︿覆
+ let startTime = this.formatDate(this.commentForm.startTime);
+ let endTime = this.formatDate(this.commentForm.endTime);
+ let from = {...this.commentForm};
+ from.startTime = startTime;
+ from.endTime = endTime;
+ this.commentLoading = true;
+ getCommentPage(from).then(res =>{
+ this.commentLoading = false;
+ if (res.code === 200){
+ this.commentData = res.data;
+ this.commentData.forEach(item =>{
+ item.createTime = this.formatDate(item.createTime);
+ })
+
+ }
+ })
+ },
+ commentHandleSearch(){
+ this.commentPage();
+ },
+ removeComment(row){
+ removeById(row.id).then(res=>{
+ if (res.code === 200){
+ this.$Message.success(res.msg);
+ }else {
+ this.$Message.error(res.msg);
+ }
+ this.commentPage();
+ })
+
+ },
+ formatDate(date, format = 'yyyy-MM-dd HH:mm:ss') {
+ if (!date) return '';
+
+ const d = new Date(date);
+ if (isNaN(d.getTime())) return date; // 鏃犳晥鏃ユ湡鐩存帴杩斿洖鍘熷��
+
+ const padZero = (num) => (num < 10 ? `0${num}` : num.toString());
+
+ return format
+ .replace('yyyy', d.getFullYear())
+ .replace('MM', padZero(d.getMonth() + 1))
+ .replace('dd', padZero(d.getDate()))
+ .replace('HH', padZero(d.getHours()))
+ .replace('mm', padZero(d.getMinutes()))
+ .replace('ss', padZero(d.getSeconds()));
+ },
+ commentShowSelect(){
+ // this.selectList = selection.map(item => item.id)
+ // this.selectCount = selection.length
+ },
+ openComment(row){
+ this.$refs.commentForm.resetFields();
+ console.log(row)
+ this.commentForm.videoId = row.id;
+ this.showVideoComment = true;
+ this.commentPage();
+ },
async editVideo(row) {
// this.uploadVideoForm = {};
// this.uploadVideoForm = row;
@@ -755,13 +965,19 @@
this.videoTagList = res.data;
})
this.upLoadVideoShow = true;
- this.chooseTag = row.tagList.map(item => {
- return item.tagName
- })
+ console.log('--------------------->',row.tagList)
+ if (row.tagList){
+ this.chooseTag = row.tagList.map(item => {
+ return item.tagName
+ })
+ }
console.log('閫変腑鍒楄〃---銆�',row.goodsList)
- row.goodsList.forEach(item => {
- item.goodsSkuId = item.id
- })
+ if (row.goodsList){
+ row.goodsList.forEach(item => {
+ item.goodsSkuId = item.id
+ })
+ }
+
this.uploadVideoForm = {
id: '',
title: '',
@@ -774,23 +990,32 @@
showListImages: [],
tags: [],
fileInfo: {},
- goodsList: []
+ goodsList: [],
+ weight: 0 // 娣诲姞鏉冮噸瀛楁锛岄粯璁ゅ�间负0
}
- // 閬嶅巻宸查�夋嫨鐨勬爣绛�
- row.tagList.forEach(tag => {
- // 妫�鏌ユ爣绛炬槸鍚﹀凡瀛樺湪浜巚ideoTagList涓�
- 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
+ if (row.tagList){
+ // 閬嶅巻宸查�夋嫨鐨勬爣绛�
+ row.tagList.forEach(tag => {
+ // 妫�鏌ユ爣绛炬槸鍚﹀凡瀛樺湪浜巚ideoTagList涓�
+ const exists = this.videoTagList.some(item => item.tagName === tag.tagName);
+ // 濡傛灉涓嶅瓨鍦紝鍒欐坊鍔犲埌閫夐」鍒楄〃
+ if (!exists) {
+ this.videoTagList.push({
+ id: tag.id, // 鐢熸垚涓存椂ID
+ tagName: tag.tagName
+ });
+ }
+ });
+ }
+
+ // 淇濈暀鍘熸湁鐨剅ow鏁版嵁锛屼絾瑕佺‘淇漺eight瀛楁瀛樺湪
+ this.uploadVideoForm = Object.assign(this.uploadVideoForm, row);
+ // 纭繚weight瀛楁鏈夐粯璁ゅ��
+ if (this.uploadVideoForm.weight === undefined || this.uploadVideoForm.weight === null) {
+ this.uploadVideoForm.weight = 0;
+ }
console.log("鎵撳嵃鍊�",this.uploadVideoForm)
this.uploadVideoForm.fileInfo= {};
this.uploadVideoForm.videoImgs = JSON.parse(this.uploadVideoForm.videoImgs)
@@ -859,11 +1084,10 @@
this.upLoadVideoShow = false;
},
submitVideoUpload() {
- console.log(this.uploadVideoForm.coverUrl)
- if (this.uploadVideoForm.coverUrl === null || this.uploadVideoForm.coverUrl === undefined) {
- this.$Message.error('鏍囬涓嶈兘涓虹┖');
- return;
- }
+ // if (this.uploadVideoForm.coverUrl === null || this.uploadVideoForm.coverUrl === undefined) {
+ // this.$Message.error('灏侀潰涓嶈兘涓虹┖');
+ // return;
+ // }
this.uploadVideoForm.goodsList = this.uploadVideoForm.goodsList.filter(item => {
return item.goodsNum > 0;
})
@@ -1105,7 +1329,8 @@
showListImages: [],
tags: [],
fileInfo: {},
- goodsList: []
+ goodsList: [],
+ weight: 0 // 娣诲姞鏉冮噸瀛楁锛岄粯璁ゅ�间负0
}
recommend({
searchType: "HOT"
@@ -1192,10 +1417,20 @@
console.log(this.auditingForm, "sb")
this.$refs.auditingForm.validate((valid) => {
if (valid) {
+ let currentVideoId = this.auditingForm.id
auditingVideo(this.auditingForm).then(res => {
this.$Message.success("瀹℃牳瀹屾垚")
this.closeAuditing()
this.getDataList()
+ let param = {
+ addType:"USER_PUBLISH_EXAMINE",
+ userId:this.detail.authorId,
+ extend:""
+ }
+ param.extend = JSON.stringify({
+ videoId:currentVideoId
+ })
+ addPrizeNum(param)
})
}
})
@@ -1351,6 +1586,28 @@
this.searchGoodsForm.pageSize = v;
this.getGoodsDataList();
},
+ // 娣诲姞鍒犻櫎瑙嗛鏂规硶
+ deleteVideo(row) {
+ this.$Modal.confirm({
+ title: "鎿嶄綔纭",
+ content: "鎮ㄧ‘璁よ鍒犻櫎瑙嗛銆� " + row.title + "銆戝悧? 鍒犻櫎鍚庡皢鏃犳硶鎭㈠!",
+ loading: true,
+ onOk: () => {
+ deleteVideoById(row.id).then(res => {
+ this.$Modal.remove();
+ if (res.code === 200) {
+ this.$Message.success("瑙嗛鍒犻櫎鎴愬姛");
+ this.getDataList();
+ } else {
+ this.$Message.error(res.msg || "鍒犻櫎澶辫触");
+ }
+ }).catch(err => {
+ this.$Modal.remove();
+ this.$Message.error("鍒犻櫎澶辫触");
+ });
+ }
+ });
+ },
}
}
</script>
--
Gitblit v1.8.0