From be80b22a4a0fcd33e1b17ebdb86eba91cc7de4d2 Mon Sep 17 00:00:00 2001
From: peng <peng.com>
Date: 星期三, 02 七月 2025 18:59:06 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev' into dev

---
 pages/video/video-edit.vue |   54 ++++++++++++++++++++++++++++++------------------------
 1 files changed, 30 insertions(+), 24 deletions(-)

diff --git a/pages/video/video-edit.vue b/pages/video/video-edit.vue
index 1b51fe7..66fcb5d 100644
--- a/pages/video/video-edit.vue
+++ b/pages/video/video-edit.vue
@@ -1,5 +1,5 @@
 <template>
-  <view class="publish-container">
+  <view class="publish-container" :style="{height: windowHeight - marginBottom - 50 + 'px'}">
 	<u-popup v-model="fileTypeShow" mode="bottom"  round="20" height="35%">
 		<view style="width: 100%;height:100%;display: flex;flex-direction: column;justify-content: center;align-items: center;">
 			<view>璇烽�夋嫨瑕佸彂甯冪殑绫诲瀷</view>
@@ -75,7 +75,7 @@
               @input="searchTags"
             ></u-input>
             <!-- 宸查�夎瘽棰樺睍绀� -->
-            <view class="tags-display" v-if="formData.tags.length > 0">
+            <view class="tags-display" v-show="formData.tags.length > 0">
               <my-tag
                 v-for="(tag, index) in formData.tags"
                 :key="index"
@@ -85,12 +85,12 @@
                 @close="removeTag(index)"
               />
             </view>
-            <text class="tags-count" v-if="formData.tags.length > 0">
+            <text class="tags-count" v-show="formData.tags.length > 0">
               宸查�� {{ formData.tags.length }}/5
             </text>
           </view>
 		  <!-- 璇濋鎺ㄨ崘 -->
-		  <view class="hot-topics" v-if="showTopicRecommendations">
+		  <view class="hot-topics" v-show="showTopicRecommendations">
 		    <text class="section-title">{{ tagInput ? '鎺ㄨ崘璇濋' : '鐑棬璇濋' }}</text>
 		    <view class="topic-list">
 		      <my-tag
@@ -125,14 +125,14 @@
               ></u-icon>
             </u-input>
             <view class="goods-preview" @click="chooseGoods" v-for="goods in selectedGoodsList" :key="goods.id">
-              <image :src="goods.thumbnail" class="goods-image"></image>
+              <image :src="endpoint + '/' + goods.thumbnail" class="goods-image"></image>
               <view class="goods-info">
                 <text class="goods-name">{{ goods.goodsName }}</text>
 				<view style="display: flex;">
 					<view class="goods-price" style="flex: 1;">楼{{ goods.price }}</view>
 					<view @click.stop="() => {}" style="flex: 1;display: flex;justify-content: center;align-items: center;">
 						<view style="width: 90rpx">鏁伴噺锛�</view>
-						<uni-number-box v-model="goods.goodsNum" :min="0"/>
+						<uni-number-box v-model="goods.goodsNum" :min="1"/>
 					</view>
 				</view>
               </view>
@@ -183,7 +183,7 @@
             :key="goods.id"
             @click="selectGoods(goods, index)"
           >
-            <image :src="goods.thumbnail" class="goods-image"></image>
+            <image :src="endpoint + '/' + goods.thumbnail" class="goods-image"></image>
             <view class="goods-info">
               <text class="goods-name">{{ goods.goodsName }}</text>
               <text class="goods-price">楼{{ goods.price }}</text>
@@ -240,7 +240,7 @@
 	  goodsQuery: {
 		keyword: '',
 		searchFromSelfStore: false, // 鏄惁鏄煡璇㈣嚜瀹跺簵閾哄晢鍝�
-		pageNumber: 1,
+		pageNumber: 0,
 		pageSize: 5
 	  },
       formData: {
@@ -250,7 +250,6 @@
 		videoFileKey: '',
 		videoDuration: 0,
 		videoFit: 'cover',
-        goodsId: '',
         videoContentType: 'video',
         videoImgs: [],
         tags: [],
@@ -267,7 +266,9 @@
         ]
       },
 	  screenWidth: 375,
-	  gap: 10 // 鍥剧墖闂磋窛
+	  gap: 10, // 鍥剧墖闂磋窛
+	  windowHeight: 0,
+	  marginBottom: 0
     };
   },
   computed: {
@@ -291,7 +292,9 @@
     // 鑾峰彇灞忓箷瀹藉害
 	const systemInfo = uni.getSystemInfoSync()
 	this.screenWidth = systemInfo.windowWidth
-	this.goodsQuery.pageNumber = 1
+	this.windowHeight = systemInfo.windowHeight
+	this.marginBottom = uni.getSystemInfoSync().safeAreaInsets.bottom
+	this.goodsQuery.pageNumber = 0
 	this.goodsQuery.pageSize = 10
 	this.getVideoGoodsByEs()
 	
@@ -306,7 +309,7 @@
 	  		  getVideoDetail(id).then(res => {
 	  			  this.videoInfo.cover = res.data.data.coverUrl
 	  			  this.videoInfo.url = res.data.data.videoUrl
-				  this.formData.videoImgs = res.data.data.imgs
+				  this.formData.videoImgs = res.data.data.videoImgs
 				  this.formData.videoContentType = res.data.data.videoContentType
 	  			  this.formData.cover = res.data.data.coverFileKey
 	  			  this.formData.id = res.data.data.id
@@ -316,6 +319,9 @@
 	  			  this.formData.videoDuration = res.data.data.videoDuration
 	  			  this.selectedGoodsList = res.data.data.goodsList
 	  			  this.formData.tags = res.data.data.tags
+				  if (this.formData.videoContentType === 'img') {
+					  this.videoPreviewImgs = res.data.data.imgs
+				  }
 				  this.showUploadProgress = false
 	  			  console.log("瑙嗛璇︽儏", this.formData);
 	  		  })
@@ -331,7 +337,7 @@
 	  },
 	  // 澶勭悊鍟嗗搧鎼滅储鍊�
 	  handlerGoodsSearch() {
-		  this.goodsQuery.pageNumber = 1
+		  this.goodsQuery.pageNumber = 0
 		  this.goodsQuery.pageSize = 10
 		  this.getVideoGoodsByEs()
 	  },
@@ -339,7 +345,7 @@
 	  async getVideoGoodsByEs() {
 		getVideoGoodsList(this.goodsQuery).then(res => {
 			
-			if(this.goodsQuery.pageNumber === 1) {
+			if(this.goodsQuery.pageNumber === 0) {
 				this.goodsList = res.data.data
 			} else {
 				this.goodsList = [
@@ -565,10 +571,9 @@
     // 閫夋嫨鍟嗗搧
     chooseGoods() {
 	  if(this.selectedGoodsList.length > 0) {
-	  		  const selectedGoodsIds = new Set(this.selectedGoodsList.map(i => i.goodsId));
-			  console.log(selectedGoodsIds, "mimade");
+	  		  const selectedGoodsSkuIds = new Set(this.selectedGoodsList.map(i => i.id));
 	  		  this.goodsList?.forEach(goods => {
-	  		      this.$set(goods, 'selected', selectedGoodsIds.has(goods.goodsId));
+	  		      this.$set(goods, 'selected', selectedGoodsSkuIds.has(goods.id));
 	  		    });
 	  }
       this.showGoodsPicker = true;
@@ -660,7 +665,7 @@
         if (valid && this.canPublish) {
           this.loading = true;
           this.formData.fileInfo = this.videoInfo;
-		  this.formData["goodsList"] = this.selectedGoodsList.map(item => {return {goodsId: item.goodsId, goodsNum: item.goodsNum}});
+		  this.formData["goodsList"] = this.selectedGoodsList.map(item => {return {goodsId: item.goodsId, goodsSkuId: item.id, goodsNum: item.goodsNum}});
           updateVideo(this.formData).then(res => {
 			  uni.showToast({
 			    title: '瑙嗛宸叉彁浜ゅ鏍竳',
@@ -673,10 +678,10 @@
 			  this.tagInput = '';
 			  this.recommendedTags = [];
 
-			  // TODO 鍏堣烦棣栭〉,鍚庨潰璺虫垜鐨勮棰戦〉闈�
+			  // 璺虫垜鐨勮棰戦〉闈�
 			  setTimeout(() => {
-			    uni.switchTab({
-			    	url: '/pages/tabbar/index/home'
+			    uni.navigateBack({
+			    	delta: 1
 			    });
 			  }, 1500);
 		  })
@@ -705,7 +710,6 @@
 		  cover: '',
 		  videoFit: 'cover',
 		  videoDuration: 0,
-		  goodsId: '',
 		  videoContentType: 'video',
 		  videoImgs: [],
 		  tags: [],
@@ -721,7 +725,7 @@
 <style scoped>
 .publish-container {
   padding: 10px;
-  padding-bottom: 120rpx;
+  overflow-y: scroll;
 }
 
 .upload-section {
@@ -837,6 +841,7 @@
   flex-wrap: wrap;
   margin-top: 15rpx;
   line-height: 22px;
+  height: 80rpx;
 }
 
 .hot-topics {
@@ -844,8 +849,8 @@
 	flex-direction: column;
 	margin-top: 15rpx;
 	margin-bottom: 15rpx;
+	height: 46rpx;
 }
-
 .section-title {
   font-size: 12px;
   color: #999;
@@ -868,6 +873,7 @@
   left: 20rpx;
   right: 20rpx; */
   margin-top: 40rpx;
+  margin-bottom: 150rpx;
 }
 
 .goods-picker {

--
Gitblit v1.8.0