peng
6 天以前 7f072a3fed7882989b676c6775dd67a88feddc39
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;
@@ -755,13 +954,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: '',
@@ -778,18 +983,21 @@
      }
      // 遍历已选择的标签
      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
          });
        }
      });
      if (row.tagList){
        // 遍历已选择的标签
        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
      console.log("打印值",this.uploadVideoForm)
      this.uploadVideoForm.fileInfo= {};