From c1e567ddda7f65651179a8a73ca849b07b066b14 Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期四, 19 六月 2025 19:58:42 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev

---
 manager/src/views/video/VideoList.vue |   90 ++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 84 insertions(+), 6 deletions(-)

diff --git a/manager/src/views/video/VideoList.vue b/manager/src/views/video/VideoList.vue
index b704db2..f017ac9 100644
--- a/manager/src/views/video/VideoList.vue
+++ b/manager/src/views/video/VideoList.vue
@@ -72,7 +72,7 @@
       <Modal
         v-model="auditingShow"
         title="瑙嗛瀹℃牳"
-        width="800"
+        width="1200"
         :loading="auditingLoading"
         :mask-closable="false"
       >
@@ -92,8 +92,45 @@
               </div>
             </div>
           </Form-item>
-          <Form-item class="video-warp" :label-width="0">
-            <video :src="detail.videoUrl" autoplay controls style="width: 768px;height: 432px"/>
+          <Form-item v-if="detail.videoContentType === 'video'" label="瑙嗛鏃堕暱锛�" :label-width="72">
+            <div>{{formatSeconds(detail.videoDuration)}}</div>
+          </Form-item>
+          <Form-item v-if="detail.videoContentType === 'img'" label="鍥剧墖寮犳暟锛�" :label-width="72">
+            <div>{{detail.imgs.length}}</div>
+          </Form-item>
+          <Form-item v-if="detail.videoContentType === 'video'" class="video-warp" :label-width="0">
+            <Row>
+              <Col span="11">
+                <video :src="detail.videoUrl" autoplay controls style="width: 500px;height: 300px"/>
+              </Col>
+              <Col span="13" style="max-height: 300px;overflow-y: scroll">
+                <Row v-for="goods in detail.goodsList" :key="goods.goodsId" style="width: 100%">
+                  <Row style="width:100%;align-items: center">
+                    <Col span="6">
+                      <img :src="goods.thumbnail" style="width: 100px;height: 100px"/>
+                    </Col>
+                    <Col span="10">
+                      <p>鍟嗗搧鍚嶇О: {{ goods.goodsName }}</p>
+                    </Col>
+                    <Col span="4">
+                      <p>鍟嗗搧鍗曚环: 锟{ goods.price }}</p>
+                    </Col>
+                    <Col span="4">
+                      <p>鍟嗗搧鏁伴噺: {{ goods.goodsNum }}</p>
+                    </Col>
+                  </Row>
+                </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">
+              <div v-for="img in detail.imgs" :key="img" class="img-warp">
+                <img :src="img" class="image">
+              </div>
+            </div>
+
           </Form-item>
           <Form-item label="瀹℃牳缁撴灉锛�" :label-width="100" prop="result">
             <RadioGroup v-model="auditingForm.result">
@@ -151,6 +188,9 @@
         <template slot-scope="{ row, index }" slot="videoFileKey">
           <div class="play-text" @click="playVideo(row.videoFileKey, row.title)">鐐瑰嚮鎾斁</div>
         </template>
+        <template slot-scope="{ row, index }" slot="videoDuration">
+          <div>{{formatSeconds(row.videoDuration)}}</div>
+        </template>
         <template slot-scope="{ row, index }" slot="recommend">
           <i-switch v-model="row.recommend" :before-change="() => handleBeforeChange(row)" true-color="#13ce66"/>
         </template>
@@ -187,9 +227,10 @@
 import {getVideoTagList} from "@/api/videoTag";
 import {getFilePreview} from "@/api/file";
 import Editor from '@/components/editor/index.vue'
+import GoodsExpandRow from '@/views/video/GoodsExpandRow'
 export default {
   name: "VideoList",
-  components: {Editor},
+  components: {Editor,GoodsExpandRow},
   data() {
     return {
       videoDownForm: {
@@ -260,6 +301,17 @@
           align: 'center'
         },
         {
+          width: 60,
+          type: 'expand',
+          render: (h, params) => {
+            return h(GoodsExpandRow, {
+              props: {
+                goodsList: params.row.goodsList
+              }
+            })
+          }
+        },
+        {
           title: "鏍囬",
           key: "title",
           minWidth: 240,
@@ -282,6 +334,13 @@
           key: "videoFileKey",
           width: 170,
           slot: "videoFileKey"
+        },
+        {
+          title: "鏃堕暱",
+          key: "videoDuration",
+          width: 80,
+          align: 'center',
+          slot: "videoDuration",
         },
         {
           title: "鎾斁閲�",
@@ -339,6 +398,18 @@
     this.getTags('')
   },
   methods: {
+    // 绉掕浆x鍒唜绉�
+    formatSeconds(seconds) {
+      if (isNaN(seconds) || seconds < 0) return '0绉�';
+
+      const mins = Math.floor(seconds / 60);
+      const secs = seconds % 60;
+
+      if (mins === 0) return `${secs}绉抈;
+      if (secs === 0) return `${mins}鍒哷;
+
+      return `${mins}鍒�${secs}绉抈;
+    },
     // 鑾峰彇鏍囩鍒楄〃
     getTags(tagName) {
       let params = {
@@ -541,11 +612,18 @@
   cursor: pointer;
 }
 .video-warp {
-  width: 786px;
-  height: 432px;
+  width: 100%;
+  height: 350px;
 }
 .data-item {
   display: flex;
   align-items: center;
 }
+.img-warp {
+  padding: 10px;
+}
+.image {
+  width: 150px;
+  height: 200px;
+}
 </style>

--
Gitblit v1.8.0