diff --git a/java-mall-app-shop-admin/.hbuilderx/launch.json b/java-mall-app-shop-admin/.hbuilderx/launch.json
index 131b491..007bebb 100644
--- a/java-mall-app-shop-admin/.hbuilderx/launch.json
+++ b/java-mall-app-shop-admin/.hbuilderx/launch.json
@@ -4,20 +4,24 @@
"version" : "0.0",
"configurations" : [
{
- "app-plus" : {
- "launchtype" : "remote"
- },
- "default" : {
- "launchtype" : "local"
- },
- "h5" : {
- "launchtype" : "local"
- },
- "mp-weixin" : {
- "launchtype" : "local"
- },
- "provider" : "aliyun",
- "type" : "uniCloud"
+ "app-plus" :
+ {
+ "launchtype" : "remote"
+ },
+ "default" :
+ {
+ "launchtype" : "local"
+ },
+ "h5" :
+ {
+ "launchtype" : "local"
+ },
+ "mp-weixin" :
+ {
+ "launchtype" : "local"
+ },
+ "provider" : "aliyun",
+ "type" : "uniCloud"
},
{
"playground" : "custom",
diff --git a/java-mall-app-shop-admin/App.vue b/java-mall-app-shop-admin/App.vue
index d5ba577..a8fff47 100644
--- a/java-mall-app-shop-admin/App.vue
+++ b/java-mall-app-shop-admin/App.vue
@@ -32,7 +32,7 @@ export default {
},
onShow: function () {
this.globalData.isAppActive = true;
-
+ webSocketManager.closeAllGlobalConnections();
setTimeout(() => {
if (this.userInfo && Object.keys(this.userInfo).length > 0) {
this.connectSocket(this.userInfo);
diff --git a/java-mall-app-shop-admin/api/order.js b/java-mall-app-shop-admin/api/order.js
index 5ea888a..02e426b 100644
--- a/java-mall-app-shop-admin/api/order.js
+++ b/java-mall-app-shop-admin/api/order.js
@@ -115,6 +115,36 @@ export function GetSalesReturnOrderPass(params) {
});
}
+export function GetInitiativeOrderRefund(params) {
+ return http({
+ url: "/shop/shop-order-return/mch/order/doRefund",
+ method: "post",
+ data: params,
+ baseURL: config.adminApi,
+ });
+}
+
+/**
+ * 拣货完成
+ * @author Seven
+ * @data 2025-3-28
+ * @param {
+ * order_id : "DD-20241206-13"
+ * store_id : 3
+ * }
+ * @returns { }
+ * @see https://mall.gpxscs.cn/api/admin/shop/shop-order-info/picking/completed
+ */
+
+export function GetOrderPicking(params) {
+ return http({
+ url: "/shop/shop-order-info/picking/completed",
+ method: "post",
+ params,
+ baseURL: config.adminApi,
+ });
+}
+
/**
* 获取订单列表 模拟数据
**/
diff --git a/java-mall-app-shop-admin/api/warehouse/commodity.js b/java-mall-app-shop-admin/api/warehouse/commodity.js
index 7616cf0..e7a834c 100644
--- a/java-mall-app-shop-admin/api/warehouse/commodity.js
+++ b/java-mall-app-shop-admin/api/warehouse/commodity.js
@@ -12,15 +12,15 @@ import config from "../../config/config";
* @see https://mall.gpxscs.cn/api/admin/shop/shop-product-base/saveProduct
*/
-export function UpdateCommodityInfo(params) {
+export function UpdateCommodityInfo(data) {
return http({
url: "/shop/shop-product-base/saveProduct",
method: "post",
baseURL: config.adminApi,
headers: {
- "content-type": "application/x-www-form-urlencoded;charset=UTF-8",
+ "Content-Type": "application/x-www-form-urlencoded;charset=UTF-8",
},
- params,
+ data,
});
}
@@ -42,10 +42,7 @@ export function UpdateCommodityPriceAndQuantity(params) {
url: "/shop/shop-product-item/editQuantity",
method: "post",
baseURL: config.adminApi,
- headers: {
- "content-type": "application/x-www-form-urlencoded;charset=UTF-8",
- },
- params,
+ data: params,
});
}
diff --git a/java-mall-app-shop-admin/components/tui-select/tui-select.vue b/java-mall-app-shop-admin/components/tui-select/tui-select.vue
new file mode 100644
index 0000000..f948ab9
--- /dev/null
+++ b/java-mall-app-shop-admin/components/tui-select/tui-select.vue
@@ -0,0 +1,537 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{model[textField]}}
+
+
+
+
+
+
+
+
+ {{btnText}}
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/java-mall-app-shop-admin/manifest.json b/java-mall-app-shop-admin/manifest.json
index 04364a9..fdd1549 100644
--- a/java-mall-app-shop-admin/manifest.json
+++ b/java-mall-app-shop-admin/manifest.json
@@ -23,7 +23,8 @@
"Camera" : {},
"Record" : {},
"VideoPlayer" : {},
- "UIWebview" : {}
+ "UIWebview" : {},
+ "Push" : {}
},
/* 应用发布信息 */
"distribute" : {
@@ -62,7 +63,15 @@
},
/* SDK配置 */
"sdkConfigs" : {
- "maps" : {}
+ "maps" : {},
+ "push" : {
+ "unipush" : {
+ "version" : "2",
+ "offline" : false,
+ "appid": "rQxaGAKl7t83KlTubAaKC3",
+ "appkey": "QSElTn6ttq5nmrIZtFhCT"
+ }
+ }
},
"icons" : {
"android" : {
diff --git a/java-mall-app-shop-admin/package-lock.json b/java-mall-app-shop-admin/package-lock.json
index 9149d91..90dbde2 100644
--- a/java-mall-app-shop-admin/package-lock.json
+++ b/java-mall-app-shop-admin/package-lock.json
@@ -7,7 +7,8 @@
"dependencies": {
"axios": "^0.27.2",
"axios-adapter-uniapp": "^0.1.4",
- "lodash": "^4.17.21"
+ "lodash": "^4.17.21",
+ "qs": "^6.14.0"
},
"devDependencies": {
"sass": "^1.80.6",
@@ -345,6 +346,33 @@
"node": ">=8"
}
},
+ "node_modules/call-bind-apply-helpers": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz",
+ "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/call-bound": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz",
+ "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==",
+ "dependencies": {
+ "call-bind-apply-helpers": "^1.0.2",
+ "get-intrinsic": "^1.3.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/chokidar": {
"version": "4.0.1",
"resolved": "https://mirrors.tencent.com/npm/chokidar/-/chokidar-4.0.1.tgz",
@@ -392,6 +420,46 @@
"node": ">=0.10"
}
},
+ "node_modules/dunder-proto": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
+ "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==",
+ "dependencies": {
+ "call-bind-apply-helpers": "^1.0.1",
+ "es-errors": "^1.3.0",
+ "gopd": "^1.2.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/es-define-property": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz",
+ "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/es-errors": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
+ "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/es-object-atoms": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz",
+ "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==",
+ "dependencies": {
+ "es-errors": "^1.3.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
"node_modules/fill-range": {
"version": "7.1.1",
"resolved": "https://mirrors.tencent.com/npm/fill-range/-/fill-range-7.1.1.tgz",
@@ -437,6 +505,82 @@
"node": ">= 6"
}
},
+ "node_modules/function-bind": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
+ "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/get-intrinsic": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
+ "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
+ "dependencies": {
+ "call-bind-apply-helpers": "^1.0.2",
+ "es-define-property": "^1.0.1",
+ "es-errors": "^1.3.0",
+ "es-object-atoms": "^1.1.1",
+ "function-bind": "^1.1.2",
+ "get-proto": "^1.0.1",
+ "gopd": "^1.2.0",
+ "has-symbols": "^1.1.0",
+ "hasown": "^2.0.2",
+ "math-intrinsics": "^1.1.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/get-proto": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz",
+ "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==",
+ "dependencies": {
+ "dunder-proto": "^1.0.1",
+ "es-object-atoms": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/gopd": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
+ "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/has-symbols": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz",
+ "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/hasown": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
+ "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
+ "dependencies": {
+ "function-bind": "^1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
"node_modules/immutable": {
"version": "4.3.7",
"resolved": "https://mirrors.tencent.com/npm/immutable/-/immutable-4.3.7.tgz",
@@ -482,6 +626,14 @@
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
"license": "MIT"
},
+ "node_modules/math-intrinsics": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
+ "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
"node_modules/micromatch": {
"version": "4.0.8",
"resolved": "https://mirrors.tencent.com/npm/micromatch/-/micromatch-4.0.8.tgz",
@@ -528,6 +680,17 @@
"dev": true,
"optional": true
},
+ "node_modules/object-inspect": {
+ "version": "1.13.4",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz",
+ "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/picomatch": {
"version": "2.3.1",
"resolved": "https://mirrors.tencent.com/npm/picomatch/-/picomatch-2.3.1.tgz",
@@ -541,6 +704,20 @@
"url": "https://github.com/sponsors/jonschlinkert"
}
},
+ "node_modules/qs": {
+ "version": "6.14.0",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz",
+ "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==",
+ "dependencies": {
+ "side-channel": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=0.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/readdirp": {
"version": "4.0.2",
"resolved": "https://mirrors.tencent.com/npm/readdirp/-/readdirp-4.0.2.tgz",
@@ -614,6 +791,74 @@
}
}
},
+ "node_modules/side-channel": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz",
+ "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "object-inspect": "^1.13.3",
+ "side-channel-list": "^1.0.0",
+ "side-channel-map": "^1.0.1",
+ "side-channel-weakmap": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/side-channel-list": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz",
+ "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "object-inspect": "^1.13.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/side-channel-map": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz",
+ "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==",
+ "dependencies": {
+ "call-bound": "^1.0.2",
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.5",
+ "object-inspect": "^1.13.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/side-channel-weakmap": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz",
+ "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==",
+ "dependencies": {
+ "call-bound": "^1.0.2",
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.5",
+ "object-inspect": "^1.13.3",
+ "side-channel-map": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/source-map-js": {
"version": "1.2.1",
"resolved": "https://mirrors.tencent.com/npm/source-map-js/-/source-map-js-1.2.1.tgz",
@@ -787,6 +1032,24 @@
"fill-range": "^7.1.1"
}
},
+ "call-bind-apply-helpers": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz",
+ "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==",
+ "requires": {
+ "es-errors": "^1.3.0",
+ "function-bind": "^1.1.2"
+ }
+ },
+ "call-bound": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz",
+ "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==",
+ "requires": {
+ "call-bind-apply-helpers": "^1.0.2",
+ "get-intrinsic": "^1.3.0"
+ }
+ },
"chokidar": {
"version": "4.0.1",
"resolved": "https://mirrors.tencent.com/npm/chokidar/-/chokidar-4.0.1.tgz",
@@ -816,6 +1079,34 @@
"dev": true,
"optional": true
},
+ "dunder-proto": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
+ "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==",
+ "requires": {
+ "call-bind-apply-helpers": "^1.0.1",
+ "es-errors": "^1.3.0",
+ "gopd": "^1.2.0"
+ }
+ },
+ "es-define-property": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz",
+ "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g=="
+ },
+ "es-errors": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
+ "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw=="
+ },
+ "es-object-atoms": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz",
+ "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==",
+ "requires": {
+ "es-errors": "^1.3.0"
+ }
+ },
"fill-range": {
"version": "7.1.1",
"resolved": "https://mirrors.tencent.com/npm/fill-range/-/fill-range-7.1.1.tgz",
@@ -841,6 +1132,55 @@
"mime-types": "^2.1.12"
}
},
+ "function-bind": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
+ "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA=="
+ },
+ "get-intrinsic": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
+ "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
+ "requires": {
+ "call-bind-apply-helpers": "^1.0.2",
+ "es-define-property": "^1.0.1",
+ "es-errors": "^1.3.0",
+ "es-object-atoms": "^1.1.1",
+ "function-bind": "^1.1.2",
+ "get-proto": "^1.0.1",
+ "gopd": "^1.2.0",
+ "has-symbols": "^1.1.0",
+ "hasown": "^2.0.2",
+ "math-intrinsics": "^1.1.0"
+ }
+ },
+ "get-proto": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz",
+ "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==",
+ "requires": {
+ "dunder-proto": "^1.0.1",
+ "es-object-atoms": "^1.0.0"
+ }
+ },
+ "gopd": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
+ "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg=="
+ },
+ "has-symbols": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz",
+ "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ=="
+ },
+ "hasown": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
+ "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
+ "requires": {
+ "function-bind": "^1.1.2"
+ }
+ },
"immutable": {
"version": "4.3.7",
"resolved": "https://mirrors.tencent.com/npm/immutable/-/immutable-4.3.7.tgz",
@@ -876,6 +1216,11 @@
"resolved": "http://npm.ifengqun.com:4873/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
},
+ "math-intrinsics": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
+ "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g=="
+ },
"micromatch": {
"version": "4.0.8",
"resolved": "https://mirrors.tencent.com/npm/micromatch/-/micromatch-4.0.8.tgz",
@@ -913,6 +1258,11 @@
"dev": true,
"optional": true
},
+ "object-inspect": {
+ "version": "1.13.4",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz",
+ "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew=="
+ },
"picomatch": {
"version": "2.3.1",
"resolved": "https://mirrors.tencent.com/npm/picomatch/-/picomatch-2.3.1.tgz",
@@ -920,6 +1270,14 @@
"dev": true,
"optional": true
},
+ "qs": {
+ "version": "6.14.0",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz",
+ "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==",
+ "requires": {
+ "side-channel": "^1.1.0"
+ }
+ },
"readdirp": {
"version": "4.0.2",
"resolved": "https://mirrors.tencent.com/npm/readdirp/-/readdirp-4.0.2.tgz",
@@ -947,6 +1305,50 @@
"neo-async": "^2.6.2"
}
},
+ "side-channel": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz",
+ "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==",
+ "requires": {
+ "es-errors": "^1.3.0",
+ "object-inspect": "^1.13.3",
+ "side-channel-list": "^1.0.0",
+ "side-channel-map": "^1.0.1",
+ "side-channel-weakmap": "^1.0.2"
+ }
+ },
+ "side-channel-list": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz",
+ "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==",
+ "requires": {
+ "es-errors": "^1.3.0",
+ "object-inspect": "^1.13.3"
+ }
+ },
+ "side-channel-map": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz",
+ "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==",
+ "requires": {
+ "call-bound": "^1.0.2",
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.5",
+ "object-inspect": "^1.13.3"
+ }
+ },
+ "side-channel-weakmap": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz",
+ "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==",
+ "requires": {
+ "call-bound": "^1.0.2",
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.5",
+ "object-inspect": "^1.13.3",
+ "side-channel-map": "^1.0.1"
+ }
+ },
"source-map-js": {
"version": "1.2.1",
"resolved": "https://mirrors.tencent.com/npm/source-map-js/-/source-map-js-1.2.1.tgz",
diff --git a/java-mall-app-shop-admin/package.json b/java-mall-app-shop-admin/package.json
index 754f56c..3bd1174 100644
--- a/java-mall-app-shop-admin/package.json
+++ b/java-mall-app-shop-admin/package.json
@@ -6,6 +6,7 @@
"dependencies": {
"axios": "^0.27.2",
"axios-adapter-uniapp": "^0.1.4",
- "lodash": "^4.17.21"
+ "lodash": "^4.17.21",
+ "qs": "^6.14.0"
}
}
diff --git a/java-mall-app-shop-admin/pages/audit/checkAudit.vue b/java-mall-app-shop-admin/pages/audit/checkAudit.vue
index 35397b9..1d16e11 100644
--- a/java-mall-app-shop-admin/pages/audit/checkAudit.vue
+++ b/java-mall-app-shop-admin/pages/audit/checkAudit.vue
@@ -257,7 +257,13 @@
申请时间:{{ auditInfo.created_at }}
-
+
-
+
- 本店停业中,不会自动恢复营业。
+
+ 本店停业中,不会自动恢复营业。
+
+
+ 本店目前正常营业中。
+
diff --git a/java-mall-app-shop-admin/pages/order/order.vue b/java-mall-app-shop-admin/pages/order/order.vue
index 68139b2..660fa98 100644
--- a/java-mall-app-shop-admin/pages/order/order.vue
+++ b/java-mall-app-shop-admin/pages/order/order.vue
@@ -122,7 +122,7 @@
#
-
{{ item.orderNum }}
-
+
{{ sfFormatStatus(item.order_state_id) }}
@@ -163,9 +163,16 @@
拣货中
- 已用时 03:54
+
+ {{ getRemainingTime(item.arrival_time) }}
+
- 拣货完成
+
+ 拣货完成
+
@@ -174,17 +181,17 @@
{{ item.order_pickup_num_str }}
-
+
{{ item.order_items.length || 0 }}
-
- 件商品
+
+ 件商品
{{ group.item_name || 0 }}
条码
-
+
{{ group.item_barcode || 0 }}
-
+
规格
-
+
{{ group.specification || 0 }}
-
+
- X
-
- {{ group.order_item_quantity || 0 }}
-
+
+ X
+
+ {{ group.order_item_quantity || 0 }}
+
+
¥{{ group.order_item_amount || 0 }}
@@ -238,14 +247,14 @@
style="color: #333333; font-weight: 700"
>
商家活动支付
-
+
-
+
¥{{ item.order_discount_amount }}
@@ -257,14 +266,14 @@
style="color: #333333; font-weight: 700"
>
平台服务费
-
+
-
+
¥{{ item.platform_fee }}
@@ -274,40 +283,47 @@
style="color: #333333; font-weight: 700"
>
配送费用
-
+
-
+
¥{{ item.order_shipping_fee }}
-
+
-
+
+
+ 取消订单
+
+
+
+ 部分退款
+
+
{{ item.showRefundOrderInfo ? "收起订单" : "展开订单" }}
- {{ item.orderNum }}
+ {{ item.order_pickup_num }}
@@ -950,13 +966,219 @@
:hairline="true"
:plain="true"
shape="circle"
- @click="handerRetrunOrder()"
+ @click="getInitiativeOrderRefund()"
>
确认
+
+
+
+
@@ -969,6 +1191,8 @@ import {
GetSalesReturnOrderDetails,
GetSalesReturnOrderNoPass,
GetSalesReturnOrderPass,
+ GetInitiativeOrderRefund,
+ GetOrderPicking,
} from "../../api/order";
import { mapState } from "vuex";
import { GetAuditInfo } from "../../api/audit";
@@ -979,6 +1203,7 @@ import tabbar from "@/components/tabbar/tabbar.vue";
import tuiGallery from "@/components/tui-gallery/tui-gallery.vue";
import tuiRadio from "@/components/tui-radio/tui-radio.vue";
import tuiRadioGroup from "@/components/tui-radio-group/tui-radio-group.vue";
+import tuiSelect from "@/components/tui-select/tui-select.vue";
export default {
components: {
tuiTabs,
@@ -989,6 +1214,7 @@ export default {
tuiGallery,
tuiRadio,
tuiRadioGroup,
+ tuiSelect,
},
data() {
return {
@@ -1199,6 +1425,28 @@ export default {
],
retrunOrderMsg: "",
currReturnId: "",
+ currOrderItem: {
+ order_items: [],
+ },
+ isCancelOrder: false,
+ showCancelOrderPopup: false,
+ showPartOrderRefundPopup: false,
+ form: {
+ reason: "",
+ },
+ rules: {
+ reason: [
+ {
+ required: true,
+ message: "请输入取消订单原因",
+ // 可以单个或者同时写两个触发验证方式
+ trigger: ["change", "blur"],
+ },
+ ],
+ },
+ commodityCheckBoxList: [],
+ refreshInterval: null, // 全局定时器
+ showOrderPickingPopup: false,
};
},
computed: {
@@ -1234,6 +1482,19 @@ export default {
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;
@@ -1265,7 +1526,6 @@ export default {
this.showOrderLoading = true;
}
-
this.params = {
storeId: this.dashboardInfo.store_info.store_id,
keyword: this.keyword,
@@ -1296,7 +1556,10 @@ export default {
}
if (this.orderInfo.order_count) {
- this.tabs[0].num = this.orderInfo.order_count.same_city_order_count; // 同城订单总数
+ this.tabs[0].num =
+ this.orderInfo.order_count.same_city_order.progress_count +
+ this.orderInfo.order_count.same_city_order.overtime_count +
+ this.orderInfo.order_count.same_city_order.refund_count; // 同城订单总数
// this.tabs[2].num = this.orderInfo.order_count.logistics_order_count; // 物流订单总数
// this.tabs[3].num = this.orderInfo.order_count.all_order_count; //所有订单总数
@@ -1328,6 +1591,21 @@ export default {
this.loadingDownOnlinData = false;
// uni.stopPullDownRefresh();
},
+ getRemainingTime(arrivalTime) {
+ if (!arrivalTime) return "时间未设定";
+
+ const now = Date.now();
+ const remainingMs = arrivalTime - now;
+
+ if (remainingMs <= 0) return "已超时";
+
+ // 计算分钟和秒
+ const minutes = Math.floor(remainingMs / (1000 * 60));
+ const seconds = Math.floor((remainingMs % (1000 * 60)) / 1000);
+
+ // 格式化为 MM:SS(补零)
+ return `${minutes}:${seconds.toString().padStart(2, "0")}`;
+ },
handelSalesReturnSearch(item) {
if (item.value == this.salesReturnBtnSearchAcitve) return;
this.pageNum = 1;
@@ -1607,7 +1885,93 @@ export default {
this.getSalesReturnOrderList();
}
}
- this.showReturnOrderPopup = false;
+ },
+ handerShowCancelOrder(item) {
+ this.currOrderItem = JSON.parse(JSON.stringify(item));
+ this.showCancelOrderPopup = true;
+ this.isCancelOrder = true;
+ },
+ handerShowPartOrderRefund(item) {
+ let _item = JSON.parse(JSON.stringify(item));
+
+ _item.order_items.forEach((group) => {
+ group.order_item_quantity_2 = group.order_item_quantity;
+ });
+
+ this.currOrderItem = _item;
+
+ 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;
+ });
+ },
+ handerShowOrderPickingPopup(item) {
+ this.currOrderItem = item;
+ this.showOrderPickingPopup = true;
+ },
+ async getOrderPicking(item) {
+ let params = {
+ order_id: this.currOrderItem.order_id,
+ store_id: this.currOrderItem.store_info.store_id,
+ };
+
+ let res = await GetOrderPicking(params);
+ if (res && res.status == 200) {
+ this.showOrderPickingPopup = false;
+ uni.$u.toast("操作成功");
+ }
+ this.showOrderPickingPopup = false;
},
},
};
@@ -2072,6 +2436,123 @@ export default {
}
}
+ .part-order-refund-popup {
+ ::v-deep.u-popup__content {
+ border-top-left-radius: 16rpx;
+ border-top-right-radius: 16rpx;
+ }
+
+ ::v-deep.u-fade-enter-to {
+ z-index: 10079 !important;
+ }
+
+ .part-order-refund-popup-content {
+ .part-order-refund-popup-title {
+ padding: 40rpx;
+ text-align: center;
+ font-weight: bold;
+ }
+
+ .affirm-popup-form {
+ padding: 20rpx 60rpx;
+ }
+
+ .radio-list {
+ .commodity-info-item {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ padding: 0 28rpx;
+
+ .commodity-info-box {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+
+ .commodity-info-img {
+ margin-right: 20rpx;
+ width: 120rpx;
+ height: 120rpx;
+ }
+ }
+ }
+ }
+ }
+
+ .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;
+ }
+ }
+ }
+
+ .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);
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 b0f28ff..063e18a 100644
--- a/java-mall-app-shop-admin/pages/warehouse/manage/productList.vue
+++ b/java-mall-app-shop-admin/pages/warehouse/manage/productList.vue
@@ -236,6 +236,9 @@
v-if="currSpecificationList.length > 0"
>
+
{
- 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]; // 确保是数组格式
}
- });
+ const specItemMap = [];
- this.currSpecificationList = this.selectCommodisItems
- .map((item) => {
- try {
- // 解析规格数据(兼容字符串和对象)
- const itemSpec =
- typeof item.item_spec === "string"
- ? JSON.parse(item.item_spec)
- : item.item_spec;
+ productSpec.forEach((specGroup) => {
+ if (specGroup.item && Array.isArray(specGroup.item)) {
+ specGroup.item.forEach((item) => {
+ specItemMap.push(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 (Array.isArray(itemSpec) && itemSpec.length > 0) {
- const firstSpec = itemSpec[0];
+ 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 (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),
- // 保留原始数据(调试用)
- };
+ 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_quantity_2: "",
+ },
+ ];
+ }
this.showBottomPopup = true;
+ console.log(this.currSpecificationList);
}
},
async getProductCategoryTree() {
@@ -722,8 +734,15 @@ export default {
url: "../../news/search/search",
});
},
- async updateCommodityPriceAndQuantity(item) {
- let params = {};
+ async updateCommodityPriceAndQuantity() {
+ 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_quantity_2 || item.item_unit_price,
+ };
+ });
let res = await UpdateCommodityPriceAndQuantity(params);
if (res && res.status) {
@@ -731,6 +750,8 @@ export default {
message: "修改成功",
type: "succeed",
duration: 1000,
+ zIndex: 12000,
+ position: "top",
});
// 静默更新数组
@@ -1218,6 +1239,13 @@ page {
border-top-right-radius: 16rpx;
}
+ .productList-price-popup-tips {
+ padding: 20rpx;
+ text-align: center;
+ background: #fff;
+ color: red;
+ }
+
.select-commodity-price-list {
background: #f8f8f8;
}
diff --git a/java-mall-app-shop-admin/static/mp3/您有新的小发同城订单.MP3 b/java-mall-app-shop-admin/static/mp3/您有新的小发同城订单.MP3
new file mode 100644
index 0000000..8738b7d
Binary files /dev/null and b/java-mall-app-shop-admin/static/mp3/您有新的小发同城订单.MP3 differ
diff --git a/java-mall-app-shop-admin/static/mp3/您有新的消息,请尽快回复.MP3 b/java-mall-app-shop-admin/static/mp3/您有新的消息,请尽快回复.MP3
new file mode 100644
index 0000000..3f04d08
Binary files /dev/null and b/java-mall-app-shop-admin/static/mp3/您有新的消息,请尽快回复.MP3 differ
diff --git a/java-mall-app-shop-admin/static/mp3/您有新的预约订单.MP3 b/java-mall-app-shop-admin/static/mp3/您有新的预约订单.MP3
new file mode 100644
index 0000000..1ea6fe2
Binary files /dev/null and b/java-mall-app-shop-admin/static/mp3/您有新的预约订单.MP3 differ
diff --git a/java-mall-app-shop-admin/static/mp3/您有订单快超时了.MP3 b/java-mall-app-shop-admin/static/mp3/您有订单快超时了.MP3
new file mode 100644
index 0000000..eba7d80
Binary files /dev/null and b/java-mall-app-shop-admin/static/mp3/您有订单快超时了.MP3 differ
diff --git a/java-mall-app-shop-admin/static/mp3/您有退货订单,请注意查看.MP3 b/java-mall-app-shop-admin/static/mp3/您有退货订单,请注意查看.MP3
new file mode 100644
index 0000000..3f15280
Binary files /dev/null and b/java-mall-app-shop-admin/static/mp3/您有退货订单,请注意查看.MP3 differ
diff --git a/java-mall-app-shop-admin/static/mp3/您有部分退款订单,请注意查看.MP3 b/java-mall-app-shop-admin/static/mp3/您有部分退款订单,请注意查看.MP3
new file mode 100644
index 0000000..fa0f4d5
Binary files /dev/null and b/java-mall-app-shop-admin/static/mp3/您有部分退款订单,请注意查看.MP3 differ
diff --git a/java-mall-app-shop-admin/static/mp3/您的预约订单快到时间了.MP3 b/java-mall-app-shop-admin/static/mp3/您的预约订单快到时间了.MP3
new file mode 100644
index 0000000..d099cbc
Binary files /dev/null and b/java-mall-app-shop-admin/static/mp3/您的预约订单快到时间了.MP3 differ
diff --git a/java-mall-app-shop-admin/utils/http.js b/java-mall-app-shop-admin/utils/http.js
index 55d669e..e2cf3dd 100644
--- a/java-mall-app-shop-admin/utils/http.js
+++ b/java-mall-app-shop-admin/utils/http.js
@@ -2,6 +2,7 @@ import axios from "axios";
import config from "../config/config";
import axiosAdapterUniapp from "axios-adapter-uniapp";
import $store from "../store/index";
+import qs from "qs";
const service = axios.create({
baseURL: config.baseApi, // url = base url + request url
@@ -19,6 +20,13 @@ service.interceptors.request.use(
if (uni.getStorageSync("ukey")) {
config.headers["Authorization"] = "Bearer " + uni.getStorageSync("ukey");
}
+ if (
+ config.data &&
+ config.headers["Content-Type"] ===
+ "application/x-www-form-urlencoded;charset=UTF-8"
+ ) {
+ config.data = qs.stringify(config.data);
+ }
return config;
},
@@ -34,7 +42,7 @@ service.interceptors.response.use(
(response) => {
const res = response.data;
- if (res.status == 250) {
+ if (res && res.status == 250) {
uni.$u.toast(`提示:${res.msg}`);
// uni.showToast({
@@ -44,7 +52,9 @@ service.interceptors.response.use(
// });
}
- if (res.code == 30) {
+ console.log(res);
+
+ if (res && res.code == 30) {
uni.$u.toast(`token已经过期需要重新登录`);
// uni.showToast({