From e6d72c439e54ae561ab905a2bf92f3d6a2f01054 Mon Sep 17 00:00:00 2001
From: 周宾 <2802492122@qq.com>
Date: 星期一, 29 十二月 2025 11:07:48 +0800
Subject: [PATCH] 天津双奇点-仓储物流模块-自定义产品列表增加产品图片预览功能

---
 src/pages/inventoryManagement/dispatchLog/index.vue |   48 ++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 38 insertions(+), 10 deletions(-)

diff --git a/src/pages/inventoryManagement/dispatchLog/index.vue b/src/pages/inventoryManagement/dispatchLog/index.vue
index 14a7ed1..2d04156 100644
--- a/src/pages/inventoryManagement/dispatchLog/index.vue
+++ b/src/pages/inventoryManagement/dispatchLog/index.vue
@@ -1,6 +1,17 @@
 <template>
 	<view>
 		<PageHeader title="鍑哄簱鍙拌处" @back="goBack" />
+		<view class="search-section">
+			<view class="search-bar">
+				<view class="search-input">
+					<up-input class="search-text" placeholder="璇疯緭鍏ヤ骇鍝佸悕绉版悳绱�" v-model="productCategoryValue"
+						@change="reloadPage" clearable />
+				</view>
+				<view class="filter-button" @click="reloadPage">
+					<up-icon name="search" size="24" color="#999"></up-icon>
+				</view>
+			</view>
+		</view>
 		<view class="tabs">
 			<uni-segmented-control :current="tabCurrent" :values="tabItems" @clickItem="switchTab" />
 		</view>
@@ -42,7 +53,8 @@
 							<view class="value">{{ item.createBy }}</view>
 						</view>
 						<view class="item" style="justify-content: flex-end;">
-							<button class="mini-btn" type="warn" size="mini" style="margin-left: 0;margin-right: 0;" @click="deleteGoods(item)">鍒犻櫎</button>
+							<button class="mini-btn" type="warn" size="mini" style="margin-left: 0;margin-right: 0;"
+								@click="deleteGoods(item)">鍒犻櫎</button>
 						</view>
 					</view>
 				</block>
@@ -54,7 +66,8 @@
 						<view class="item">
 							<view class="label">浜у搧鍥剧墖</view>
 							<view class="value">
-								<image class="img" :src="baseUrl + item.url" mode="aspectFill鈥�" lazy-load></image>
+								<image class="img" :src="baseUrl + item.url" mode="aspectFill鈥�" lazy-load
+									@click="previewImg(baseUrl + item.url)"></image>
 							</view>
 						</view>
 						<view class="item">
@@ -90,7 +103,8 @@
 							<view class="value">{{ item.createBy }}</view>
 						</view>
 						<view class="item" style="justify-content: flex-end;">
-							<button class="mini-btn" type="warn" size="mini" style="margin-left: 0;margin-right: 0;" @click="deleteGoods(item)">鍒犻櫎</button>
+							<button class="mini-btn" type="warn" size="mini" style="margin-left: 0;margin-right: 0;"
+								@click="deleteGoods(item)">鍒犻櫎</button>
 						</view>
 					</view>
 				</block>
@@ -105,10 +119,11 @@
 
 <script setup>
 import { ref, reactive, computed } from 'vue'
-import { listPage, listPageByCustom,stockmanagementDel } from '@/api/inventoryManagement/dispatchLog.js'
+import { listPage, listPageByCustom, stockmanagementDel } from '@/api/inventoryManagement/dispatchLog.js'
 import { onShow, onReachBottom, onPullDownRefresh } from '@dcloudio/uni-app'
 import config from '@/config'
-const baseUrl = config.baseUrl
+const productCategoryValue = ref('')
+const baseUrl = config.imgUrl
 // tab鐩稿叧
 const tabItems = reactive(['閲囪喘鍑哄簱', '鎴愬搧鍑哄簱'])
 const tabCurrent = ref(0)
@@ -117,6 +132,7 @@
 	if (tabCurrent.value !== e.currentIndex) {
 		tabCurrent.value = e.currentIndex
 	}
+	productCategoryValue.value = ''
 	reloadPage()
 }
 
@@ -124,7 +140,11 @@
 const goBack = () => {
 	uni.navigateBack()
 }
-
+const previewImg = (url) => {
+	uni.previewImage({
+		urls: [url]
+	})
+}
 // 鍒嗛〉鐩稿叧
 const pageParams = reactive({
 	size: 10,
@@ -157,7 +177,7 @@
 	contentList.value = []
 	getList()
 }
-const deleteGoods = async (goods) => { 
+const deleteGoods = async (goods) => {
 	uni.showModal({
 		title: '鎻愮ず',
 		content: '纭畾瑕佸垹闄よ鍟嗗搧鐨勫嚭搴撳彴璐﹀悧锛�',
@@ -166,7 +186,7 @@
 				uni.showLoading({
 					title: '鍒犻櫎涓�...'
 				})
-				let params = {ids:[goods.id]}
+				let params = { ids: [goods.id] }
 				stockmanagementDel(params).then(res => {
 					uni.hideLoading()
 					reloadPage()
@@ -183,7 +203,11 @@
 		getListApi = listPage
 	}
 	loading.value = true
-	let resp = await getListApi(pageParams)
+	let params = pageParams
+	if (productCategoryValue.value) {
+		params.productCategory = productCategoryValue.value
+	}
+	let resp = await getListApi(params)
 	loading.value = false
 	if (resp.code != 200 || !resp.data) {
 		contentList.value = []
@@ -220,7 +244,8 @@
 	color: #999;
 	font-size: 14px;
 }
-.item-box{
+
+.item-box {
 	box-sizing: border-box;
 	margin: 20rpx;
 	padding: 20rpx;
@@ -244,6 +269,7 @@
 		}
 	}
 }
+
 // 娴姩鎸夐挳鏍峰紡
 .fab-button {
 	position: fixed;
@@ -259,4 +285,6 @@
 	box-shadow: 0 4px 16px rgba(41, 121, 255, 0.3);
 	z-index: 1000;
 }
+
+@import '@/styles/sales-common.scss';
 </style>
\ No newline at end of file

--
Gitblit v1.9.3