From 9d9745e6c2662b89212466e0dc061beef6805465 Mon Sep 17 00:00:00 2001 From: qijq <624811160@qq.com> Date: Tue, 5 Aug 2025 11:56:55 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E8=AE=A2=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- java-mall-app-shop-admin/api/order.js | 24 +- .../components/tui-tabs.vue | 694 +++---- .../pages/order/components/OrderItem.vue | 1071 +++++++++-- .../order/components/retrunOrderItem.vue | 1128 ++++++++++++ .../pages/order/order.vue | 1625 ++++------------- .../warehouse/manage/addAndEditProduct.vue | 5 +- .../pages/warehouse/manage/batchSearch.vue | 1 - .../pages/warehouse/manage/productList.vue | 4 +- .../warehouse/manage/productListSearch.vue | 130 +- .../static/font/iconfont.css | 4 + .../static/font/iconfont.ttf | Bin 12692 -> 12844 bytes .../static/font/iconfont.woff | Bin 8084 -> 8200 bytes .../static/font/iconfont.woff2 | Bin 6880 -> 6972 bytes java-mall-app-shop-admin/utils/http.js | 2 - 14 files changed, 2802 insertions(+), 1886 deletions(-) create mode 100644 java-mall-app-shop-admin/pages/order/components/retrunOrderItem.vue diff --git a/java-mall-app-shop-admin/api/order.js b/java-mall-app-shop-admin/api/order.js index 02e426b..3a3603f 100644 --- a/java-mall-app-shop-admin/api/order.js +++ b/java-mall-app-shop-admin/api/order.js @@ -72,7 +72,7 @@ export function GetSalesReturnOrderDetails(params) { } /** - * 退货订单不通过 + * 退货订单拒绝退款 * @author Seven * @data 2025-3-28 * @param { @@ -93,7 +93,7 @@ export function GetSalesReturnOrderNoPass(params) { } /** - * 退货订单不通过 + * 退货订单同意退款 * @author Seven * @data 2025-3-28 * @param { @@ -124,6 +124,26 @@ export function GetInitiativeOrderRefund(params) { }); } +/** + * 催单 + * @author Seven + * @data 2025-3-28 + * @param { + * order_id : "DD-20241206-13" + * } + * @returns { } + * @see https://mall.gpxscs.cn/api/admin/shop/shop-order-info/picking/completed + */ + +export function GetExpediteSFOrder(params) { + return http({ + url: "/shop/sf-express/reminder-order", + method: "post", + params, + baseURL: config.apiMobile, + }); +} + /** * 拣货完成 * @author Seven diff --git a/java-mall-app-shop-admin/components/tui-tabs.vue b/java-mall-app-shop-admin/components/tui-tabs.vue index 11a4821..55c1af2 100644 --- a/java-mall-app-shop-admin/components/tui-tabs.vue +++ b/java-mall-app-shop-admin/components/tui-tabs.vue @@ -1,346 +1,382 @@ \ No newline at end of file +.tui-badge__dot { + position: absolute; + height: 16rpx; + width: 16rpx; + border-radius: 50%; + right: -10rpx; + top: -10rpx; + z-index: 4; +} + diff --git a/java-mall-app-shop-admin/pages/order/components/OrderItem.vue b/java-mall-app-shop-admin/pages/order/components/OrderItem.vue index 318c582..7a5b73e 100644 --- a/java-mall-app-shop-admin/pages/order/components/OrderItem.vue +++ b/java-mall-app-shop-admin/pages/order/components/OrderItem.vue @@ -1,261 +1,757 @@ @@ -1208,6 +347,7 @@ import tuiRadioGroup from "@/components/tui-radio-group/tui-radio-group.vue"; import tuiSelect from "@/components/tui-select/tui-select.vue"; import OrderItem from "./components/OrderItem.vue"; +import retrunOrderItem from "./components/retrunOrderItem.vue"; export default { components: { tuiTabs, @@ -1219,7 +359,8 @@ export default { tuiRadio, tuiRadioGroup, tuiSelect, - OrderItem, + OrderItem, + retrunOrderItem, }, data() { return { @@ -1452,6 +593,8 @@ export default { commodityCheckBoxList: [], refreshInterval: null, // 全局定时器 showOrderPickingPopup: false, + isRefreshing: false, + showScreenPopup: false, }; }, computed: { @@ -1483,32 +626,9 @@ export default { }, onPullDownRefresh() { this.pageNum = 1; - this.pageSize = 10; this.keyword = ""; this.getOrderList(); }, - mounted() { - // 每1秒刷新一次数据(触发界面更新) - this.refreshInterval = setInterval(() => { - this.$forceUpdate(); // 强制更新视图 - }, 1000); - }, - - beforeDestroy() { - // 组件销毁时清除定时器 - if (this.refreshInterval) { - clearInterval(this.refreshInterval); - } - }, - // onReachBottom() { - // clearTimeout(this.time); - // this.loadingDownOnlinData = true; - // this.time = setTimeout(() => { - // this.pageNum = this.pageNum + 1; - // this.getOrderList(); - // }, 500); - // }, - methods: { async getOrderList() { let accountDashboard = uni.getStorageSync("accountDashboard"); @@ -1579,6 +699,7 @@ export default { if (res.data.order_page_list.records.length <= 0) { this.showOrderLoading = false; this.isNoOnlineOrder = true; + this.isRefreshing = false; return; } @@ -1587,6 +708,21 @@ export default { if (item) { item.orderNum = index + 1; item.showRefundOrderInfo = false; + item.sf_order_info = { + sf_order_id: "", + operator_name: "", + operator_phone: "", + rider_lng: "", + rider_lat: "", + order_status: "", + status_desc: "", + cancel_code: "", + cancel_reason: "", + push_time: "", + h5_url: "", + feed: [], + ...item.sf_order_info, + }; } return item; }); @@ -1594,8 +730,26 @@ export default { this.showOrderLoading = false; this.loadingDownOnlinData = false; + this.isRefreshing = false; // uni.stopPullDownRefresh(); }, + handleRefresh() { + this.isRefreshing = true; + + this.pageNum = 1; + this.isNoOnlineOrder = false; + this.loadingDownOnlinData = false; + this.isDownNoOrderData = false; + + this.isNoSalesReturnOrderData = false; + this.loadingDownSalesReturnData = false; + this.isDownNoSalesReturnData = false; + if (this.currentTab2 == 2) { + this.getSalesReturnOrderList(); + } else { + this.getOrderList(); + } + }, getRemainingTime(arrivalTime) { if (!arrivalTime) return "时间未设定"; @@ -1613,14 +767,8 @@ export default { }, handelSalesReturnSearch(item) { if (item.value == this.salesReturnBtnSearchAcitve) return; - this.pageNum = 1; - this.pageSize = 10; - this.salesReturnBtnSearchAcitve = item.value; - this.loadingDownSalesReturnData = false; - this.isNoSalesReturnOrderData = false; - this.isDownNoSalesReturnData = false; - this.getSalesReturnOrderList(item.value); + this.salesReturnBtnSearchAcitve = item.value; }, async getSalesReturnOrderList(returnStateId = 3105) { if (this.loadingDownSalesReturnData) { @@ -1629,9 +777,12 @@ export default { this.showOrderLoading = true; } + console.log(this.keyword); + let params = { pageNum: this.pageNum, pageSize: this.pageSize, + order_id: this.keyword, return_state_id: returnStateId, }; @@ -1657,6 +808,7 @@ export default { if (res.data.items <= 0) { this.showOrderLoading = false; this.isNoSalesReturnOrderData = true; + this.isRefreshing = false; return; } @@ -1673,6 +825,7 @@ export default { } this.showOrderLoading = false; this.loadingDownSalesReturnData = false; + this.isRefreshing = false; }, async getSalesReturnOrderDetails(item, index) { let params = { @@ -1692,22 +845,16 @@ export default { } }, - showRefundOrderInfo(item, index) { + handerShowRefundOrderInfo(showRefundOrderInfo, index) { if (this.currentTab2 == 2) { - if (!item.showRefundOrderInfo) { - this.getSalesReturnOrderDetails(item, index); - } - this.$set(this.salesReturnOrderList, index, { - ...item, - showRefundOrderInfo: !item.showRefundOrderInfo, + ...this.salesReturnOrderList[index], + showRefundOrderInfo: showRefundOrderInfo, }); - } - - if (this.currentTab2 != 2) { + } else { this.$set(this.orderInfo.order_page_list.records, index, { - ...item, - showRefundOrderInfo: !item.showRefundOrderInfo, + ...this.orderInfo.order_page_list.records[index], + showRefundOrderInfo: showRefundOrderInfo, }); } }, @@ -1743,51 +890,7 @@ export default { handerCloseReturnOrderPopup() { this.showReturnOrderPopup = false; }, - makePhone(phone) { - // #ifdef H5 - uni.showToast({ - title: "H5环境不支持", - icon: "none", - }); - // #endif - // #ifdef APP-PLUS - uni.makePhoneCall({ - phoneNumber: phone, - success: function () { - console.log("拨打电话成功"); - }, - fail: function () { - console.log("拨打电话失败"); - }, - }); - // #endif - }, - sfFormatStatus(id) { - let label = ""; - this.sfStatus.forEach((item) => { - if (item.id == id) { - label = item.label; - } - }); - - return label; - }, - handlerShowImg(imgList) { - this.showImg = true; - const _imgList = imgList.map((item) => { - return { - src: item, - desc: "", - }; - }); - - this.showImgList = _imgList; - console.log(this.showImgList); - }, - hideImg() { - this.showImg = false; - }, formatTime(time) { let date = new Date(time); let hours = String(date.getHours()).padStart(2, "0"); @@ -1797,7 +900,6 @@ export default { handleTab(e) { this.currentTab = e.index; this.pageNum = 1; - this.pageSize = 10; this.keyword = ""; this.isNoOnlineOrder = false; this.getOrderList(); @@ -1806,7 +908,6 @@ export default { this.currentTab2 = e.index; this.pageNum = 1; - this.pageSize = 10; this.keyword = ""; this.isNoOnlineOrder = false; this.loadingDownOnlinData = false; @@ -1824,10 +925,14 @@ export default { }, searchOrder() { this.pageNum = 1; - this.pageSize = 10; + this.keyword = ""; setTimeout(() => { - this.getOrderList(); + if (this.currentTab2 == 2) { + this.getSalesReturnOrderList(); + } else { + this.getOrderList(); + } }, 600); }, scrolltolower() { @@ -1851,45 +956,9 @@ export default { handleShowDropDown() { this.showDropdown = !this.showDropdown; }, - handelOpenReturnOrderPopup(item, type) { - this.showReturnOrderPopup = true; - this.returnOrderType = type; - this.currReturnId = item.return_id; - }, - handelRaddio(e) { - this.radioOrderType = e.detail.value; - }, - async handerRetrunOrder() { - if (this.returnOrderType == "noPass") { - let params = { - return_id: this.currReturnId, - return_store_message: this.retrunOrderMsg, - }; - - let res = await GetSalesReturnOrderNoPass(params); - if (res && res.status == 200) { - this.currReturnId = ""; - this.retrunOrderMsg = ""; - this.getSalesReturnOrderList(); - } - } else { - let params = { - return_flag: this.radioOrderType, - return_id: this.currReturnId, - return_store_message: this.retrunOrderMsg, - }; - - if (this.radioOrderType == 1) { - params.receiving_address = 2; - } - - let res = await GetSalesReturnOrderPass(params); - if (res && res.status == 200) { - this.currReturnId = ""; - this.retrunOrderMsg = ""; - this.getSalesReturnOrderList(); - } - } + handerCancelOrder() { + this.pageNum = 1; + this.getOrderList(); }, handerShowCancelOrder(item) { this.currOrderItem = JSON.parse(JSON.stringify(item)); @@ -1908,62 +977,17 @@ export default { this.showPartOrderRefundPopup = true; this.isCancelOrder = false; }, - getInitiativeOrderRefund() { - var params = { - order_id: this.currOrderItem.order_id, - reason: this.form.reason, - }; - - if (!this.isCancelOrder) { - if (this.commodityCheckBoxList.length <= 0) { - this.$refs.uToast.show({ - message: "请先选择你要退的商品", - type: "error", - duration: 1000, - zIndex: 12000, - position: "top", - }); - return; - } - const matchedItems = this.currOrderItem.order_items.filter((item) => - this.commodityCheckBoxList.includes(item.item_id) - ); - - params.order_return_vo = { - order_id: this.currOrderItem.order_id, - return_items: matchedItems.map((item) => { - return { - order_item_id: item.item_id, - return_item_num: item.order_item_quantity, - return_refund_amount: - item.order_item_quantity * item.item_unit_price, - }; - }), - }; - } - - this.$refs.uForm.validate().then(async (valid) => { - let res = await GetInitiativeOrderRefund(params); - if (res && res.status == 200) { - this.showCancelOrderPopup = false; - this.showPartOrderRefundPopup = false; - if (!this.isCancelOrder) { - uni.$u.toast("部分订单退款成功"); - } else { - uni.$u.toast("取消订单成功"); - } - this.form.reason = ""; - this.pageNum = 1; - this.commodityCheckBoxList = []; - this.getOrderList(); - } - this.showCancelOrderPopup = false; - this.showPartOrderRefundPopup = false; - }); + handerRefreshSalesReturnOrderList() { + this.getSalesReturnOrderList(); }, - handerShowOrderPickingPopup(item) { - this.currOrderItem = item; - this.showOrderPickingPopup = true; + + handerRetrunOrderScreen() { + this.pageNum = 1; + this.loadingDownSalesReturnData = false; + this.isNoSalesReturnOrderData = false; + this.isDownNoSalesReturnData = false; + this.getSalesReturnOrderList(this.salesReturnBtnSearchAcitve); + this.showScreenPopup = false; }, async getOrderPicking(item) { let params = { @@ -1978,6 +1002,33 @@ export default { } this.showOrderPickingPopup = false; }, + toServices() { + let item = { + user_friend_id: 36, + user_id: 10001, + friend_id: 10001, + friend_note: "", + user_friend_addtime: "2025-05-09 10:03:33", + friend_state: 2, + friend_invite: 2, + username: "系统客服", + avatar: + "https://media-mall-prod-1259811287.cos.ap-guangzhou.myqcloud.com/media/media/plantform/20250307/c4cab676e06a49b282c2cbbe481f0fa1.png", + sign: "", + level_name: "v1", + user_nickname: "系统客服", + user_avatar: + "https://media-mall-prod-1259811287.cos.ap-guangzhou.myqcloud.com/media/media/plantform/20250307/c4cab676e06a49b282c2cbbe481f0fa1.png", + user_sign: "", + user_level_name: "v1", + rid: 2, + id: 776395489, + }; + + uni.navigateTo({ + url: `/pages/IM/IMmsgContent?item=${JSON.stringify(item)}`, + }); + }, }, }; @@ -1986,22 +1037,33 @@ export default { @import "@/styles/variables.scss"; .index-container { // overflow: hidden; - background: #eeeff3; + background: #f9f9f9; min-height: 100vh; .shop-info { display: flex; align-items: center; - padding: 40rpx; - padding-top: 20rpx; - background: #fff; + padding: 28rpx 32rpx; .shop-logo-img { - width: 90rpx; - height: 90rpx; + width: 64rpx; + height: 64rpx; background-image: url("../../static/logo.jpg"); background-size: 100% 100%; border-radius: 50%; } + + .search { + margin: 0 44rpx !important; + + ::v-deep.u-search__content { + height: 38px !important; + } + + ::v-deep.u-search__content__input { + font-size: 12px; + } + } + .shop-name { margin-left: 20rpx; font-weight: bold; @@ -2015,8 +1077,9 @@ export default { } .tab-content { - padding-bottom: 20rpx; - background: #fff; + padding: 0 20rpx; + padding-bottom: 16rpx; + border-bottom: 1px solid #eeeeee; // ::v-deep .tui-tabs-title { // font-size: 36rpx !important; // } @@ -2026,17 +1089,29 @@ export default { } .tab2-content { - background: #fff; + display: flex; + align-items: center; + justify-content: space-between; + margin: 30rpx 0; + ::v-deep .tui-tabs-slider { background: #ffecf2 !important; - border: 2rpx solid #fe411b; + // border: 2rpx solid #fe411b; bottom: 48% !important; } + + ::v-deep.tabs-2 { + left: -10px; + } + ::v-deep .tui-tabs-item { - line-height: 60rpx; + margin: 0 10rpx; + height: 32px !important; + line-height: 32px !important; + background: #fff; .tui-tabs-title { - color: #333 !important; + color: rgba(34, 34, 34, 1) !important; } &.tui__tab_current { .tui-tabs-title { @@ -2044,6 +1119,16 @@ export default { } } } + + .screen-content { + display: flex; + flex-flow: column; + align-items: center; + font-size: 24rpx; + text-align: center; + margin-right: 32rpx; + color: $base-color; + } } .sales-return-img-title { @@ -2093,19 +1178,24 @@ export default { .active { // background: $base-color; - color: #fe411b; + color: $base-color; + + &::after { + border: 1px solid $base-color; + } } } .order-info-content { + margin: 28rpx 24rpx; border-radius: 8rpx; .uni-swiper-list { - height: calc(100vh - 320px); + height: calc(100vh - 250px); } .uni-swiper-return-list { - height: calc(100vh - 350px); + height: calc(100vh - 250px); } .order-msg-tips { @@ -2425,9 +1515,43 @@ export default { font-size: 28rpx; } + .screen-popup { + .screen-popup-content { + width: 100%; + + .screen-popup-title { + margin: 36rpx; + text-align: center; + font-weight: bold; + font-size: 36rpx; + } + + .popup-btn-list { + display: flex; + margin: 50rpx; + + .btn-item { + width: 46%; + height: 80rpx; + border-color: #909193; + + &::after { + border: none; + } + } + + .btn-item-2 { + background: $base-color; + color: #fff; + border: none; + } + } + } + } + .no-data { .no-data-bg { - margin: auto; + margin: 23% auto; margin-bottom: 0; width: 480rpx; height: 480rpx; @@ -2506,58 +1630,6 @@ export default { } } - .affirm-popup { - ::v-deep.u-popup__content { - border-radius: 16rpx; - } - - ::v-deep.u-fade-enter-to { - z-index: 10076 !important; - } - - .affirm-popup-content { - width: 600rpx; - - .affirm-popup-title { - padding: 60rpx 0 20rpx; - text-align: center; - font-size: 28rpx; - font-weight: bold; - } - - .affirm-popup-tips { - padding: 0 32rpx; - font-size: 28rpx; - text-align: center; - } - - .u-form { - padding: 0 60rpx; - } - - .popup-btn-list { - display: flex; - margin: 50rpx; - - .btn-item { - width: 46%; - height: 64rpx; - border-color: #909193; - - &::after { - border: none; - } - } - - .btn-item-2 { - background: $base-color; - color: #fff; - border: none; - } - } - } - } - .tui-animation { display: inline-block; transform: rotate(0deg); @@ -2575,72 +1647,5 @@ export default { .retrun-state-name { color: $base-color; } - - .return-order-popup { - .return-order-popup-content { - width: 600rpx; - min-height: 600rpx; - - .title { - margin: 36rpx; - text-align: center; - font-weight: bold; - font-size: 36rpx; - } - - .radio-content { - display: flex; - justify-content: space-between; - align-items: center; - margin: 60rpx 40rpx 40rpx; - - .radio-type-name { - font-weight: 500; - } - - .radio-list { - flex: 1; - .radio-group { - display: flex; - align-items: center; - justify-content: space-around; - line-height: 40rpx; - - .radio-name { - margin-left: 8rpx; - } - } - } - } - - .popup-textarea { - margin: 28rpx; - .textarea { - border: 1px solid #eeeff3; - } - } - - .popup-btn-list { - display: flex; - margin: 50rpx; - - .btn-item { - width: 46%; - height: 80rpx; - border-color: #909193; - - &::after { - border: none; - } - } - - .btn-item-2 { - background: $base-color; - color: #fff; - border: none; - } - } - } - } } diff --git a/java-mall-app-shop-admin/pages/warehouse/manage/addAndEditProduct.vue b/java-mall-app-shop-admin/pages/warehouse/manage/addAndEditProduct.vue index 7caf3d3..2cdc5b9 100644 --- a/java-mall-app-shop-admin/pages/warehouse/manage/addAndEditProduct.vue +++ b/java-mall-app-shop-admin/pages/warehouse/manage/addAndEditProduct.vue @@ -234,7 +234,7 @@ > - 共{{ specificationInfoList.length }}个规格 + 共{{ specificationInfoList.length || 1 }}个规格 @@ -748,6 +748,9 @@ export default { return item; // 如果没有匹配项,返回原 item }); + if (this.specificationInfoList.length == 0) { + debugger; + } console.log(this.specificationInfoList); } catch (e) { console.error("解析productSpec失败:", e); diff --git a/java-mall-app-shop-admin/pages/warehouse/manage/batchSearch.vue b/java-mall-app-shop-admin/pages/warehouse/manage/batchSearch.vue index aadc1a8..753ebf4 100644 --- a/java-mall-app-shop-admin/pages/warehouse/manage/batchSearch.vue +++ b/java-mall-app-shop-admin/pages/warehouse/manage/batchSearch.vue @@ -359,7 +359,6 @@ export default { } else { this.loadingCommodityData = true; } - if (this.isRefreshing) { this.pageNum = 1; this.isNoCommodityData = false; diff --git a/java-mall-app-shop-admin/pages/warehouse/manage/productList.vue b/java-mall-app-shop-admin/pages/warehouse/manage/productList.vue index 063e18a..f0d1e21 100644 --- a/java-mall-app-shop-admin/pages/warehouse/manage/productList.vue +++ b/java-mall-app-shop-admin/pages/warehouse/manage/productList.vue @@ -521,7 +521,7 @@ export default { item_quantity: item.itemQuantity, item_quantity_2: "", item_unit_price: item.product_unit_price, - item_quantity_2: "", + item_unit_price_2: "", }, ]; } @@ -740,7 +740,7 @@ export default { item_id: item.item_id, product_id: item.product_id, item_quantity: item.item_quantity_2 || item.item_quantity, - item_unit_price: item.item_quantity_2 || item.item_unit_price, + item_unit_price: item.item_unit_price_2 || item.item_unit_price, }; }); diff --git a/java-mall-app-shop-admin/pages/warehouse/manage/productListSearch.vue b/java-mall-app-shop-admin/pages/warehouse/manage/productListSearch.vue index 72de1ea..29c5e8b 100644 --- a/java-mall-app-shop-admin/pages/warehouse/manage/productListSearch.vue +++ b/java-mall-app-shop-admin/pages/warehouse/manage/productListSearch.vue @@ -342,6 +342,7 @@ export default { productItem: {}, isAdd: true, selectCommodisItems: [], + inputSearch: "", }; }, computed: {}, @@ -409,60 +410,71 @@ export default { // 1. 解析产品规格模板 let productSpec = JSON.parse(JSON.stringify(item.product_spec)); - - productSpec = JSON.parse(productSpec); - if (!Array.isArray(productSpec)) { - productSpec = [productSpec]; // 确保是数组格式 - } - - const specItemMap = []; - - productSpec.forEach((specGroup) => { - if (specGroup.item && Array.isArray(specGroup.item)) { - specGroup.item.forEach((item) => { - specItemMap.push(item.id); - }); + if (productSpec.length > 0) { + productSpec = JSON.parse(productSpec); + if (!Array.isArray(productSpec)) { + productSpec = [productSpec]; // 确保是数组格式 } - }); - this.currSpecificationList = this.selectCommodisItems - .map((item) => { - try { - // 解析规格数据(兼容字符串和对象) - const itemSpec = - typeof item.item_spec === "string" - ? JSON.parse(item.item_spec) - : item.item_spec; + const specItemMap = []; - if (Array.isArray(itemSpec) && itemSpec.length > 0) { - const firstSpec = itemSpec[0]; + productSpec.forEach((specGroup) => { + if (specGroup.item && Array.isArray(specGroup.item)) { + specGroup.item.forEach((item) => { + specItemMap.push(item.id); + }); + } + }); - // 匹配规格逻辑 - if (firstSpec.item && firstSpec.item.id) { - const matchedSpec = specItemMap.find( - (id) => id == firstSpec.item.id - ); + this.currSpecificationList = this.selectCommodisItems + .map((item) => { + try { + // 解析规格数据(兼容字符串和对象) + const itemSpec = + typeof item.item_spec === "string" + ? JSON.parse(item.item_spec) + : item.item_spec; - if (matchedSpec) { - return { - ...item, - spec_item_id: matchedSpec, - item_is_default: Boolean(item.item_is_default), - // 保留原始数据(调试用) - }; + if (Array.isArray(itemSpec) && itemSpec.length > 0) { + const firstSpec = itemSpec[0]; + + // 匹配规格逻辑 + if (firstSpec.item && firstSpec.item.id) { + const matchedSpec = specItemMap.find( + (id) => id == firstSpec.item.id + ); + + if (matchedSpec) { + return { + ...item, + spec_item_id: matchedSpec, + item_is_default: Boolean(item.item_is_default), + // 保留原始数据(调试用) + }; + } } } + } catch (e) { + console.error(`处理商品 ${item.item_id} 时出错:`, e); } - } catch (e) { - console.error(`处理商品 ${item.item_id} 时出错:`, e); - } - }) - .filter((item) => item != undefined); - console.log(this.currSpecificationList); + }) + .filter((item) => item != undefined); + } else { + this.currSpecificationList = [ + { + ...item, + item_quantity: item.itemQuantity, + item_quantity_2: "", + item_unit_price: item.product_unit_price, + item_unit_price_2: "", + }, + ]; + } this.showBottomPopup = true; + console.log(this.currSpecificationList); } }, - async getProductList(inputSearch) { + async getProductList() { if (this.loadingDownCommodityData) { this.loadingCommodityData = false; } else { @@ -484,9 +496,9 @@ export default { openCount: true, }; - if (inputSearch) { + if (this.inputSearch) { this.pageNum = 1; - params.product_name = inputSearch; + params.product_name = this.inputSearch; } let res = await GetProductList(params); @@ -660,30 +672,26 @@ export default { }); }, async updateCommodityPriceAndQuantity(item) { - let params = {}; - + let params = this.currSpecificationList.map((item) => { + return { + item_id: item.item_id, + product_id: item.product_id, + item_quantity: item.item_quantity_2 || item.item_quantity, + item_unit_price: item.item_unit_price_2 || item.item_unit_price, + }; + }); + debugger; let res = await UpdateCommodityPriceAndQuantity(params); if (res && res.status) { + this.showBottomPopup = false; + this.$refs.uToast.show({ message: "修改成功", type: "succeed", duration: 1000, }); - // 静默更新数组 - let listParams = { - kind_id: "1201,1202,1203", - pageNum: 9999, - pageSize: this.pageSize, - product_state_id: this.currProductStateId, - category_id: this.currCategoryId, - openCount: true, - }; - - let result = await GetProductList(listParams); - if (result && result.status == 200) { - this.commodityList = res.data.items; - } + await this.getProductList(); } this.showBottomPopup = false; }, diff --git a/java-mall-app-shop-admin/static/font/iconfont.css b/java-mall-app-shop-admin/static/font/iconfont.css index 9334887..04f70fd 100644 --- a/java-mall-app-shop-admin/static/font/iconfont.css +++ b/java-mall-app-shop-admin/static/font/iconfont.css @@ -21,6 +21,10 @@ -moz-osx-font-smoothing: grayscale; } +.custom-icon-a-Frame3:before { + content: "\e60c"; +} + .custom-icon-jianhao_fangxing:before { content: "\e728"; } diff --git a/java-mall-app-shop-admin/static/font/iconfont.ttf b/java-mall-app-shop-admin/static/font/iconfont.ttf index 64e537e74175c6571d724021b38976e95c73b916..d1f5ec0e26fc1eea24cc3d32b2ea6a84dadadc23 100644 GIT binary patch delta 1131 zcmZ{jOGs2v7{~wT-kCcy-g!9cXk%t-K1R(HdxvF2M2m-jr#scvFmdi1fOlj~4;KRUUhZR*RQB`@4BoBJ z{sh!C=eK*0cBaOL9~A@6Q_kD^QiJ`fRdJ{m@l|#t)z`iAd2$A5U_9$m|Iy>2fuW6` zxY|8eO-ECjs+z(5yvgvb)OsRU4 z`L2fRlM8dGHrNZJ!JA-srU8C*(tGVksA%wy%v zy!ANgk2)Q;8bH`-7!kq@HH-~m)*7mS*aqr>&@2s=LA(ZPgg6GOh4>8A4WTC*W&oiQ zO`6F-^a9c5NyNYeA^Kv%R3T9VlZNQvgy}=_4KxCx_sBvrwHylL>?V=qA4ySV&B5FtDVU+G1dF@tHz2EHi$cGU$S{ZNdp$!?-F@*R5RZ zvNdZDc#@tW?=dGm;oIt)@ZSs!1it26boaXB!9?(J=wWzG_-tf*|eov@+Te zeGr|`JDvABe;qHRq-@qcV=D?}ZfaGlDlaNrqSh7_I1%NnuvSM`)z~Z4CbhD>xl}nm z+lg8A@zHsV#@qLV+>xBZd^a%Tx0>Bp&>9KGT+2TbP+fHub8{7SvvtM6n77@d+yYmv u54);05RZjIv3Owqi5tG}_uWaTL}sLMXHeC`pK924jQ{qP_kT2ASAPJu+2}I> delta 978 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 H@1R!z->18| delta 7514 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 aU{*95RX}f5`3nwhy9DPJ*(Om00002jY&Ylt diff --git a/java-mall-app-shop-admin/utils/http.js b/java-mall-app-shop-admin/utils/http.js index e2cf3dd..6f72125 100644 --- a/java-mall-app-shop-admin/utils/http.js +++ b/java-mall-app-shop-admin/utils/http.js @@ -52,8 +52,6 @@ service.interceptors.response.use( // }); } - console.log(res); - if (res && res.code == 30) { uni.$u.toast(`token已经过期需要重新登录`);