From b303b6945a139153688e86635346a621fe0c29b3 Mon Sep 17 00:00:00 2001 From: zxl <763096477@qq.com> Date: 星期四, 17 七月 2025 18:07:18 +0800 Subject: [PATCH] 新增店员修改名称 --- pages/video/video-edit.vue | 59 ++++++++++++++++++++++++++++++++++------------------------- 1 files changed, 34 insertions(+), 25 deletions(-) diff --git a/pages/video/video-edit.vue b/pages/video/video-edit.vue index 1b51fe7..1cbdbaa 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,8 +665,11 @@ 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}}); - updateVideo(this.formData).then(res => { + this.formData["goodsList"] = this.selectedGoodsList.map(item => {return {goodsId: item.goodsId, goodsSkuId: item.id, goodsNum: item.goodsNum}}); + if (this.formData.videoContentType === 'img') { + this.formData.videoImgs = JSON.parse(this.formData.videoImgs) + } + updateVideo(this.formData).then(res => { uni.showToast({ title: '瑙嗛宸叉彁浜ゅ鏍竳', icon: 'success' @@ -673,10 +681,10 @@ this.tagInput = ''; this.recommendedTags = []; - // TODO 鍏堣烦棣栭〉,鍚庨潰璺虫垜鐨勮棰戦〉闈� + // 璺虫垜鐨勮棰戦〉闈� setTimeout(() => { - uni.switchTab({ - url: '/pages/tabbar/index/home' + uni.navigateBack({ + delta: 1 }); }, 1500); }) @@ -705,7 +713,6 @@ cover: '', videoFit: 'cover', videoDuration: 0, - goodsId: '', videoContentType: 'video', videoImgs: [], tags: [], @@ -721,7 +728,7 @@ <style scoped> .publish-container { padding: 10px; - padding-bottom: 120rpx; + overflow-y: scroll; } .upload-section { @@ -837,6 +844,7 @@ flex-wrap: wrap; margin-top: 15rpx; line-height: 22px; + height: 80rpx; } .hot-topics { @@ -844,8 +852,8 @@ flex-direction: column; margin-top: 15rpx; margin-bottom: 15rpx; + height: 46rpx; } - .section-title { font-size: 12px; color: #999; @@ -868,6 +876,7 @@ left: 20rpx; right: 20rpx; */ margin-top: 40rpx; + margin-bottom: 150rpx; } .goods-picker { -- Gitblit v1.8.0