xiangpei
2025-06-29 75fbfde507cd368ae3c88aa2fc434b1117bad616
Merge remote-tracking branch 'origin/dev' into dev
4个文件已修改
41 ■■■■ 已修改文件
manager/src/views/goods/goods-info/goodsDetail.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
manager/src/views/health/HealthVideoList.vue 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
manager/src/views/kitchen/kitchenVideo.vue 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
seller/src/views/goods/goods-seller/goodsOperationSec.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
manager/src/views/goods/goods-info/goodsDetail.vue
@@ -78,6 +78,8 @@
                controls
                class="player"
                :src="goods.goodsVideo"
                width="200"
                height="180"
              />
            </FormItem>
            <FormItem label="商品规格">
manager/src/views/health/HealthVideoList.vue
@@ -662,6 +662,12 @@
      this.detail = {}
      this.auditingShow = false
    },
    calculateVideoFit(width, height) {
      const videoRatio = width / height;
      // 规则2:竖屏视频(如9:16)
      if (videoRatio < 0.8) return 'cover';
      return 'contain';
    },
    // 打开审核弹窗
    openAuditing(row) {
      this.auditingShow = true
@@ -674,6 +680,13 @@
    },
    getVideoDuration(e){
      const duration = this.$refs.healthVideoInfo.duration;
      const videoWidth = this.$refs.healthVideoInfo.videoWidth;
      const videoHeight = this.$refs.healthVideoInfo.videoHeight;
      // 根据宽高比选择视频填充模式
     const fitType = this.calculateVideoFit(videoWidth, videoHeight)
      this.uploadVideoForm.videoFit = fitType
      console.log('------视频信息3------------>', videoWidth,videoHeight,fitType)
      this.uploadVideoForm.videoDuration = Math.floor(duration);
    },
    // 打开编辑弹窗
manager/src/views/kitchen/kitchenVideo.vue
@@ -252,9 +252,12 @@
        @on-selection-change="showSelect"
      >
        <template slot-scope="{ row, index }" slot="typeList">
          <div v-for="(tag, index) in row.typeList" :key="'tag' + index" style="margin-top: 5px">
            <Tag color="red">{{ tag.typeName }}</Tag>
          <div style="display: flex;flex-wrap: wrap">
            <div v-for="(tag, index) in row.typeList" :key="'tag' + index" style="margin-top: 5px">
              <Tag color="red">{{ tag.typeName }}</Tag>
            </div>
          </div>
        </template>
        <template slot-scope="{ row, index }" slot="videoFileKey">
          <div class="play-text" @click="playVideo(row.videoFileKey, row.title)">点击播放</div>
@@ -394,7 +397,7 @@
        checkKitchenType: [
          {
            required: true,
            message: '请选择厨神标签',
            message: '请选择厨神标签且不能超过5个',
            trigger: 'blur',
            validator: (rule, value, callback) => {
              console.log('验证值:-------------->', value, '类型:', typeof value);
@@ -462,7 +465,7 @@
        {
          title: "视频分类",
          key: "typeList",
          width: 180,
          width: 310,
          slot: "typeList",
        },
        {
@@ -521,6 +524,7 @@
          slot: "action",
          align: "center",
          width: 200,
          fixed: "right",
        },
      ],
      data: [], // 表单数据
@@ -581,6 +585,12 @@
      this.$set(this.uploadVideoForm, 'showCoverUrl', '');
      this.$set(this.uploadVideoForm, 'temp', new Date().getTime());
    },
    calculateVideoFit(width, height) {
      const videoRatio = width / height;
      // 规则2:竖屏视频(如9:16)
      if (videoRatio < 0.8) return 'cover';
      return 'contain';
    },
    //重新上传视频
    clearVideo() {
      this.clearCoverImage();
@@ -591,6 +601,12 @@
    },
    getVideoDuration(e){
      const duration = this.$refs.healthVideoInfo.duration;
      const videoWidth = this.$refs.healthVideoInfo.videoWidth;
      const videoHeight = this.$refs.healthVideoInfo.videoHeight;
      // 根据宽高比选择视频填充模式
      const fitType = this.calculateVideoFit(videoWidth, videoHeight)
      this.uploadVideoForm.videoFit = fitType
      console.log('------视频信息3------------>', videoWidth,videoHeight,fitType)
      this.uploadVideoForm.videoDuration = Math.floor(duration);
    },
    // 视频上架
seller/src/views/goods/goods-seller/goodsOperationSec.vue
@@ -155,7 +155,7 @@
              <div class="goods-video">
                <div v-if="baseInfoForm.goodsVideo">
                  <div>
                    <video :src="baseInfoForm.showGoodsVideo" class="video" controls style="max-width: 300px;"/>
                    <video :src="baseInfoForm.showGoodsVideo" class="video" controls style="max-width: 300px;max-height: 400px"/>
                  </div>
                </div>
                <Upload ref="upload" action="-" :format="['avi', 'wmv', 'mpeg', 'mp4', 'mov']"