From 0451f58eb0c03972c8b0a34c97610ac675a6bee6 Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期四, 14 八月 2025 14:48:16 +0800
Subject: [PATCH] 评论删除
---
manager/src/views/video/VideoList.vue | 201 ++++++++++++++++++++++++++++++++++++++++++++++++++
manager/src/api/video.js | 13 +++
2 files changed, 213 insertions(+), 1 deletions(-)
diff --git a/manager/src/api/video.js b/manager/src/api/video.js
index ba0ca82..265a401 100644
--- a/manager/src/api/video.js
+++ b/manager/src/api/video.js
@@ -119,3 +119,16 @@
data: params
})
}
+export const getCommentPage=(params) =>{
+ return service({
+ url:"/lmk/videoComment",
+ method:"GET",
+ params:params
+ })
+}
+export const removeById=(params) =>{
+ return service({
+ url:"/lmk/videoComment/"+params,
+ method:"DELETE",
+ })
+}
diff --git a/manager/src/views/video/VideoList.vue b/manager/src/views/video/VideoList.vue
index 79c7676..ef36837 100644
--- a/manager/src/views/video/VideoList.vue
+++ b/manager/src/views/video/VideoList.vue
@@ -431,8 +431,97 @@
<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"
+ @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="closeVideoDown">鍏抽棴</Button>
+ <Button type="primary" @click="videoDown">纭</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>
+ <div slot="footer">
+
+ </div>
+ </Modal>
+
<Modal
v-model="showGeneralQrCode"
title="浜岀淮鐮�"
@@ -479,7 +568,9 @@
down,
recreateIndex,
publish,
- updatePublish
+ updatePublish,
+ getCommentPage,
+ removeById
} from "@/api/video";
import {getVideoTagList, recommend, videoGoodsEsPage} from "@/api/videoTag";
import {getFilePreview, getSts} from "@/api/file";
@@ -536,6 +627,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: '',
@@ -744,6 +879,70 @@
this.getTags('')
},
methods: {
+ commentChangePage(page) {
+ this.commentForm.pageNumber = page
+ this.commentPage()
+ },
+
+ // 鏀瑰彉鎶ュ悕浜哄憳姣忛〉鏉℃暟
+ commentChangePageSize(pageSize) {
+ this.commentForm.pageNumber = 1
+ this.commentForm.pageSize = pageSize
+ this.commentPage()
+ },
+ commentPage(){
+ this.commentLoading = true;
+ getCommentPage(this.commentForm).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){
+ console.log(row)
+ this.commentForm.videoId = row.id;
+ this.showVideoComment = true;
+ this.commentPage();
+ },
async editVideo(row) {
// this.uploadVideoForm = {};
// this.uploadVideoForm = row;
--
Gitblit v1.8.0