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 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 200 insertions(+), 1 deletions(-) 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