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/receiptManagement/index.vue | 25 +++++-------
src/pages/inventoryManagement/issueManagement/index.vue | 21 +++++-----
src/pages/inventoryManagement/stockManagement/index.vue | 20 +++++----
src/pages/inventoryManagement/dispatchLog/index.vue | 37 ++++++++++--------
4 files changed, 54 insertions(+), 49 deletions(-)
diff --git a/src/pages/inventoryManagement/dispatchLog/index.vue b/src/pages/inventoryManagement/dispatchLog/index.vue
index 3d53a41..2d04156 100644
--- a/src/pages/inventoryManagement/dispatchLog/index.vue
+++ b/src/pages/inventoryManagement/dispatchLog/index.vue
@@ -4,13 +4,8 @@
<view class="search-section">
<view class="search-bar">
<view class="search-input">
- <up-input
- class="search-text"
- placeholder="璇疯緭鍏ヤ骇鍝佸悕绉版悳绱�"
- v-model="productCategoryValue"
- @change="reloadPage"
- clearable
- />
+ <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>
@@ -58,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>
@@ -70,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">
@@ -106,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>
@@ -121,7 +119,7 @@
<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 productCategoryValue = ref('')
@@ -142,7 +140,11 @@
const goBack = () => {
uni.navigateBack()
}
-
+const previewImg = (url) => {
+ uni.previewImage({
+ urls: [url]
+ })
+}
// 鍒嗛〉鐩稿叧
const pageParams = reactive({
size: 10,
@@ -175,7 +177,7 @@
contentList.value = []
getList()
}
-const deleteGoods = async (goods) => {
+const deleteGoods = async (goods) => {
uni.showModal({
title: '鎻愮ず',
content: '纭畾瑕佸垹闄よ鍟嗗搧鐨勫嚭搴撳彴璐﹀悧锛�',
@@ -184,7 +186,7 @@
uni.showLoading({
title: '鍒犻櫎涓�...'
})
- let params = {ids:[goods.id]}
+ let params = { ids: [goods.id] }
stockmanagementDel(params).then(res => {
uni.hideLoading()
reloadPage()
@@ -202,7 +204,7 @@
}
loading.value = true
let params = pageParams
- if(productCategoryValue.value){
+ if (productCategoryValue.value) {
params.productCategory = productCategoryValue.value
}
let resp = await getListApi(params)
@@ -242,7 +244,8 @@
color: #999;
font-size: 14px;
}
-.item-box{
+
+.item-box {
box-sizing: border-box;
margin: 20rpx;
padding: 20rpx;
@@ -266,6 +269,7 @@
}
}
}
+
// 娴姩鎸夐挳鏍峰紡
.fab-button {
position: fixed;
@@ -281,5 +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
diff --git a/src/pages/inventoryManagement/issueManagement/index.vue b/src/pages/inventoryManagement/issueManagement/index.vue
index 93fb013..d64202d 100644
--- a/src/pages/inventoryManagement/issueManagement/index.vue
+++ b/src/pages/inventoryManagement/issueManagement/index.vue
@@ -4,13 +4,8 @@
<view class="search-section">
<view class="search-bar">
<view class="search-input">
- <up-input
- class="search-text"
- placeholder="璇疯緭鍏ヤ骇鍝佸悕绉版悳绱�"
- v-model="productCategoryValue"
- @change="reloadPage"
- clearable
- />
+ <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>
@@ -78,7 +73,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">
@@ -208,7 +204,7 @@
}
loading.value = true
let params = pageParams
- if(productCategoryValue.value){
+ if (productCategoryValue.value) {
params.productCategory = productCategoryValue.value
}
let resp = await getListApi(params)
@@ -219,8 +215,12 @@
return
}
contentList.value = [...contentList.value, ...resp.data.records]
- console.log(resp.data.records)
totalSize.value = resp.data.total
+}
+const previewImg = (url) => {
+ uni.previewImage({
+ urls: [url]
+ })
}
onReachBottom(() => {
@@ -289,5 +289,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
diff --git a/src/pages/inventoryManagement/receiptManagement/index.vue b/src/pages/inventoryManagement/receiptManagement/index.vue
index 9f913c5..d023541 100644
--- a/src/pages/inventoryManagement/receiptManagement/index.vue
+++ b/src/pages/inventoryManagement/receiptManagement/index.vue
@@ -4,13 +4,8 @@
<view class="search-section">
<view class="search-bar">
<view class="search-input">
- <up-input
- class="search-text"
- placeholder="璇疯緭鍏ヤ骇鍝佸悕绉版悳绱�"
- v-model="productCategoryValue"
- @change="reloadPage"
- clearable
- />
+ <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>
@@ -77,7 +72,8 @@
<view class="item">
<view class="label">浜у搧鍥剧墖</view>
<view class="value">
- <image class="img" :src="baseUrl + item.url" mode="aspectFill鈥�" lazy-load @click="previewImg(baseUrl + item.url)"></image>
+ <image class="img" :src="baseUrl + item.url" mode="aspectFill鈥�" lazy-load
+ @click="previewImg(baseUrl + item.url)"></image>
</view>
</view>
<view class="item">
@@ -138,7 +134,7 @@
<script setup>
import { ref, reactive, computed } from 'vue'
-import { listPage, listPageByCustom, deleteCustom,stockinDel } from '@/api/inventoryManagement/receiptManagement.js'
+import { listPage, listPageByCustom, deleteCustom, stockinDel } from '@/api/inventoryManagement/receiptManagement.js'
import { onShow, onReachBottom, onPullDownRefresh } from '@dcloudio/uni-app'
import config from '@/config'
const productCategoryValue = ref('')
@@ -206,7 +202,7 @@
getList()
}
-const previewImg = (url)=>{
+const previewImg = (url) => {
uni.previewImage({
urls: [url]
})
@@ -222,13 +218,13 @@
})
let params = {}
let deleteApi = ''
- if(tabCurrent.value == 0){
+ if (tabCurrent.value == 0) {
deleteApi = stockinDel
params = {
- ids:[goods.id],
+ ids: [goods.id],
type: 1
}
- }else{
+ } else {
deleteApi = deleteCustom
params = [goods.id]
}
@@ -251,7 +247,7 @@
}
loading.value = true
let params = pageParams
- if(productCategoryValue.value){
+ if (productCategoryValue.value) {
params.productCategory = productCategoryValue.value
}
let resp = await getListApi(params)
@@ -332,5 +328,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
diff --git a/src/pages/inventoryManagement/stockManagement/index.vue b/src/pages/inventoryManagement/stockManagement/index.vue
index 0f641d6..c1af4cb 100644
--- a/src/pages/inventoryManagement/stockManagement/index.vue
+++ b/src/pages/inventoryManagement/stockManagement/index.vue
@@ -4,13 +4,8 @@
<view class="search-section">
<view class="search-bar">
<view class="search-input">
- <up-input
- class="search-text"
- placeholder="璇疯緭鍏ヤ骇鍝佸悕绉版悳绱�"
- v-model="productCategoryValue"
- @change="reloadPage"
- clearable
- />
+ <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>
@@ -74,7 +69,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">
@@ -151,6 +147,11 @@
const goBack = () => {
uni.navigateBack()
}
+const previewImg = (url) => {
+ uni.previewImage({
+ urls: [url]
+ })
+}
// 鎵撳紑缂栬緫/鏂板
const openForm = (goods, type) => {
@@ -200,7 +201,7 @@
}
loading.value = true
let params = pageParams
- if(productCategoryValue.value){
+ if (productCategoryValue.value) {
params.productCategory = productCategoryValue.value
}
let resp = await getListApi(params)
@@ -281,5 +282,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