diff --git a/src/pages.json b/src/pages.json
index 6800ebc..6407ae3 100644
--- a/src/pages.json
+++ b/src/pages.json
@@ -1017,6 +1017,13 @@
"style" : {
"navigationBarTitleText": "商品分类"
}
+ },
+ {
+ "path": "pages/shopping_cart",
+ "style" : {
+ "navigationBarTitleText": "购物车",
+ "enablePullDownRefresh": true
+ }
}
]
}
diff --git a/src/subpackage/mall/components/index_search_bar.vue b/src/subpackage/mall/components/index_search_bar.vue
index bbdb18f..9f44ad1 100644
--- a/src/subpackage/mall/components/index_search_bar.vue
+++ b/src/subpackage/mall/components/index_search_bar.vue
@@ -5,7 +5,7 @@
搜索
-
+
{{ cartNUmShow }}
@@ -29,7 +29,8 @@ export default {
let { cartNum } = this;
if(!isNaN(cartNum))return cartNum > 99 ? 99 : cartNum;
return 0;
- }
+ },
+
}
}
diff --git a/src/subpackage/mall/components/specification_modal.vue b/src/subpackage/mall/components/specification_modal.vue
index ec86f91..93ff1c4 100644
--- a/src/subpackage/mall/components/specification_modal.vue
+++ b/src/subpackage/mall/components/specification_modal.vue
@@ -233,10 +233,7 @@ export default {
})
.catch(err => {
hideLoad();
- showModal({
- title: '提示',
- content: err.message || '操作失败!'
- })
+ showModal({ content: err.message || '操作失败!' });
console.warn('subpackage mall components specification goodsCartAdd err --->', err);
})
},
diff --git a/src/subpackage/mall/js/api.js b/src/subpackage/mall/js/api.js
index 2007d32..abf5d11 100644
--- a/src/subpackage/mall/js/api.js
+++ b/src/subpackage/mall/js/api.js
@@ -10,6 +10,9 @@ export const MALL_API = {
goodsComment:`${ORIGIN}/shop2/goodsComment`, //商品评价列表
goodsList:`${ORIGIN}/shop2/goodsList`, //商品列表
goodsCateList:`${ORIGIN}/shop2/goodsCateList`, // 商品分类列表
+ goodsCartNumsEdit:`${ORIGIN}/shop2/goodsCartNumsEdit`, //购物车 - 修改数量
+ goodsCartDel:`${ORIGIN}/shop2/goodsCartDel`, //购物车 - 删除商品
+ goodsCartSettlement:`${ORIGIN}/shop2/goodsCartSettlement`, //购物车 - 去结算
}
export default { ORIGIN, MALL_API };
\ No newline at end of file
diff --git a/src/subpackage/mall/js/handle.js b/src/subpackage/mall/js/handle.js
index 1c6013a..1a6c91c 100644
--- a/src/subpackage/mall/js/handle.js
+++ b/src/subpackage/mall/js/handle.js
@@ -1,5 +1,6 @@
import { MALL_API } from "./api";
import server from "./server";
+import { accAdd, accMul } from "@/utils/calculate.js";
// 购物车商品列表
export function goodsCartList(brand_id){
@@ -16,10 +17,27 @@ export function goodsCartList(brand_id){
return ({
totalList: _ls,
validList: _ls.filter(item => item.product_invalid === 0),
- invalidList: _ls.filter(item => item.product_invalid === 0),
+ invalidList: _ls.filter(item => item.product_invalid === 1),
});
}else{
return Promise.reject(_data);
}
})
+}
+
+// 获取商品列表价格信息
+export function getPayInfoForGoodsList(array){
+ if(!array.length)return ({ num: 0, str: '0.00' });
+ let _priceNum = array.reduce((total, item) => {
+ let _unitPrice = 0;
+ if(item?.product_spec_multi === 0)_unitPrice = item?.product_spec_single_info?.price ?? 0;
+ if(item?.product_spec_multi === 1)_unitPrice = item?.product_spec_multi_info?.price ?? 0;
+ let _price = accMul((item?.product_nums ?? 0), _unitPrice);
+ return accAdd(total, _price);
+ }, 0);
+ return ({
+ num: _priceNum,
+ // 需要支付的类目,四舍五入违法
+ str: _priceNum.toFixed(3).slice(0, -1),
+ })
}
\ No newline at end of file
diff --git a/src/subpackage/mall/pages/classify.vue b/src/subpackage/mall/pages/classify.vue
index 21b8ec3..7060f7b 100644
--- a/src/subpackage/mall/pages/classify.vue
+++ b/src/subpackage/mall/pages/classify.vue
@@ -1,7 +1,7 @@
-
+
@@ -66,7 +66,7 @@
+
diff --git a/src/subpackage/mall/static/images/selected2.png b/src/subpackage/mall/static/images/selected2.png
new file mode 100644
index 0000000..6832c3f
Binary files /dev/null and b/src/subpackage/mall/static/images/selected2.png differ
diff --git a/src/subpackage/mall/static/images/useless.png b/src/subpackage/mall/static/images/useless.png
new file mode 100644
index 0000000..2c850f1
Binary files /dev/null and b/src/subpackage/mall/static/images/useless.png differ
diff --git a/src/utils/calculate.js b/src/utils/calculate.js
new file mode 100644
index 0000000..2559635
--- /dev/null
+++ b/src/utils/calculate.js
@@ -0,0 +1,76 @@
+/**
+ * 加法函数
+ * @param {number} arg1 数字1
+ * @param {number} arg2 数字2
+ * @returns {number} 返回两数相加的结果
+ * */
+export function accAdd(arg1, arg2) {
+ var r1, r2, m, c;
+ try { r1 = arg1.toString().split(".")[1].length; }catch (e) { r1 = 0 };
+ try { r2 = arg2.toString().split(".")[1].length }catch (e) { r2 = 0 };
+ c = Math.abs(r1 - r2);
+ m = Math.pow(10, Math.max(r1, r2));
+ if (c > 0) {
+ var cm = Math.pow(10, c);
+ if (r1 > r2) {
+ arg1 = Number(arg1.toString().replace(".", ""));
+ arg2 = Number(arg2.toString().replace(".", "")) * cm;
+ }else {
+ arg1 = Number(arg1.toString().replace(".", "")) * cm;
+ arg2 = Number(arg2.toString().replace(".", ""));
+ }
+ }else {
+ arg1 = Number(arg1.toString().replace(".", ""));
+ arg2 = Number(arg2.toString().replace(".", ""));
+ }
+ return (arg1 + arg2) / m;
+}
+
+/**
+ * 减法函数
+ * @param {number} arg1 数字1
+ * @param {number} arg2 数字2
+ * @returns {number} 返回两数相减的结果
+ *
+*/
+export function accSub(arg1, arg2) {
+ var r1, r2, m, n;
+ try { r1 = arg1.toString().split(".")[1].length }catch (e) { r1 = 0 };
+ try { r2 = arg2.toString().split(".")[1].length }catch (e) { r2 = 0 };
+
+ m = Math.pow(10, Math.max(r1, r2)); //last modify by deeka //动态控制精度长度
+ n = (r1 >= r2) ? r1 : r2;
+ return ((arg1 * m - arg2 * m) / m).toFixed(n);
+}
+
+/**
+ * 乘法函数
+ * @param {number} arg1 数字1
+ * @param {number} arg2 数字2
+ * @returns {number} 返回两数相乘的结果
+ *
+*/
+export function accMul(arg1, arg2) {
+ var m = 0, s1 = arg1.toString(), s2 = arg2.toString();
+ try { m += s1.split(".")[1].length }catch (e) { };
+ try { m += s2.split(".")[1].length }catch (e) { };
+
+ return Number(s1.replace(".", "")) * Number(s2.replace(".", "")) / Math.pow(10, m);
+}
+
+/**
+ * 除法函数
+ * @param {number} arg1 数字1
+ * @param {number} arg2 数字2
+ * @returns {number} 返回两数相除的结果
+ *
+*/
+export function accDiv(arg1, arg2) {
+ var t1 = 0, t2 = 0, r1, r2;
+ try { t1 = arg1.toString().split(".")[1].length }catch (e) { }
+ try { t2 = arg2.toString().split(".")[1].length }catch (e) { }
+
+ r1 = Number(arg1.toString().replace(".", ""));
+ r2 = Number(arg2.toString().replace(".", ""));
+ return (r1 / r2) * Math.pow(10, t2 - t1);
+}
\ No newline at end of file
diff --git a/src/utils/util.js b/src/utils/util.js
index 145beb5..c60ac1b 100644
--- a/src/utils/util.js
+++ b/src/utils/util.js
@@ -261,34 +261,6 @@ export function getSceneQuery(scene){
return queryObj;
}
-// 格式化聊天内容
-// export function formatContent(str = ''){
-// let reg = /\[[\u4e00-\u9fa5_a-zA-Z0-9]{1,}\]/gi;
-// let strArr = str.split(reg) || [];
-// let emojiArr = str.match(reg) || [];
-// let contentList = [];
-// strArr.forEach(ele=>{
-// if(ele)contentList.push({
-// type:'txt',
-// content:ele
-// });
-// if(!!emojiArr.length){
-// let iconKey = emojiArr.splice(0,1)[0];
-// if(emojiMap[iconKey]){
-// contentList.push({
-// type:'icon',
-// src:`${emojiUrl}${emojiMap[iconKey]}`
-// })
-// }else{
-// contentList.push({
-// type:'txt',
-// content:iconKey
-// });
-// }
-// }
-// });
-// return contentList
-// }
//获取地址栏里(URL)传递的参数
function getUrlQuery(key,url){
var _url = decodeURI(url).split('?a=1').join(''); //剪切'?a=1'安卓兼容,再获取参数
@@ -405,10 +377,6 @@ export function $_emit(name, data){
})
}
-function getFilterJson(obj){
- return obj
-}
-
function order_pay_type_txt(status = ''){
let _obj = {
0: '微信支付',
@@ -419,6 +387,10 @@ function order_pay_type_txt(status = ''){
return _obj[status] || '-'
}
+export function checkBothArrIsEqual(arr1 = [], arr2 = []){
+ return arr1.length === arr2.length && arr1.every(item => arr2.includes(item));
+}
+
export default {
formatTime,
formatNumber,
@@ -451,5 +423,6 @@ export default {
isProfile,
$_once,
$_emit,
- order_pay_type_txt
+ order_pay_type_txt,
+ checkBothArrIsEqual, // 判断两个数组是否相等
}