This commit is contained in:
weipengfei 2024-01-06 17:54:10 +08:00
parent c41e3faacd
commit fcc6a0faa9
5 changed files with 218 additions and 17 deletions

View File

@ -9,8 +9,8 @@ let httpApiThree
let wsApi
// 在打包之前请检查当前环境是否正确
// const env = 'dev'; // 开发
const env = 'prod'; // 生产
const env = 'dev'; // 开发
// const env = 'prod'; // 生产
// const env = 'prew'; // 预上线
switch (env) {

View File

@ -37,7 +37,7 @@
<!-- <navigator v-for="goods in item.list" :key="goods.cart_id"
:url='"/pages/goods_details/index?id="+goods.product.product_id' hover-class='none'
class='picTxt acea-row'> -->
<navigator v-for="goods in item.list" :key="goods.cart_id" url='' hover-class='none'
<navigator v-for="goods in item.list" :key="goods.cart_id" url='#' hover-class='none'
class='picTxt acea-row'>
<view class="checkbox" @click.stop="goodsCheck(goods,index)">
<text v-if="!goods.check" class="iconfont icon-weixuanzhong"></text>
@ -65,8 +65,10 @@
</view>
</view>
<view class='carnum acea-row row-center-wrapper'>
<view class="reduce" :class="goods.numSub ? 'on' : ''" @click.stop='subCart(goods)'>-</view>
<view class='num'>{{goods.cart_num}}</view>
<view class="reduce" :class="goods.numSub || (goods.cart_num <= goods.product.once_min_count) ? 'on' : ''" @click.stop='subCart(goods)'>-</view>
<view class='num' >
<input style="width: 80rpx;" :min="1" :max="50" v-model="goods.cart_num" @blur="inputCartNum(goods)" @input="inputNum(goods)"/>
</view>
<view class="plus" :class="goods.numAdd ? 'on' : ''" @click.stop='addCart(goods)'>+</view>
</view>
</navigator>
@ -582,14 +584,21 @@
},
//
subOrder: function(event) {
let selectValue = []
let selectValue = [];
let stockFlag = false;
this.cartList.valid.forEach(el => {
el.list.forEach(goods => {
if (goods.check) {
selectValue.push(goods.cart_id)
}
if (goods.cart_num > goods.attrValue[0].stock){
stockFlag = true;
}
})
})
if(stockFlag){
return Toast('库存不足!');
}
if (selectValue.length > 0) {
uni.navigateTo({
url: `/pages/users/order_confirm/index?product_type=98&cartId=${selectValue.join(',')}&type_id=12`
@ -656,6 +665,7 @@
//
subCart(goods) {
let status = false;
if ((goods.cart_num <= goods.product.once_min_count)) return Toast(`${goods.product.once_min_count}件起购哦`);
if (goods.cart_num < 1) status = true;
if (goods.cart_num <= 1) {
goods.cart_num = 1;
@ -684,6 +694,65 @@
}
}
},
inputNum(goods){
let cart_num = Number(goods.cart_num);
if(cart_num>+goods.productAttr.stock) {
this.$nextTick(()=>{
goods.cart_num = goods.productAttr.stock;
this.cartAllCheck('goodsCheck')
})
}
else this.cartAllCheck('goodsCheck')
// if(cart_num<+goods.product.once_min_count||goods<1) {
// this.$nextTick(()=>{
// goods.cart_num = goods.product.once_min_count;
// })
// }
},
//
inputCartNum(goods){
let status = false;
if(!goods.cart_num){
goods.product.once_min_count ? goods.cart_num = goods.product.once_min_count : goods.cart_num = 1;
return this.updateCartNum(goods);
}
if (goods.cart_num <= goods.product.once_min_count) {
goods.cart_num = goods.product.once_min_count;
this.updateCartNum(goods);
return Toast(`${goods.product.once_min_count}件起购哦`);
}
if (goods.cart_num < 1) status = true;
if (goods.cart_num <= 1) {
goods.cart_num = 1;
goods.numSub = true;
status = true;
} else {
if (false == status) {
this.updateCartNum(goods);
}
}
},
updateCartNum(goods){
changeCartNum(goods.cart_id, {
cart_num: goods.cart_num
}).then(res => {
goods.numSub = false;
goods.numAdd = false;
if (goods.cart_num <= 1) {
goods.numSub = true;
}
this.cartAllCheck('goodsCheck')
}).catch(error => {
this.$util.Tips({
title: error
});
this.$nextTick(()=>{
goods.cart_num = goods.productAttr.stock;
goods.numAdd = true;
this.cartAllCheck('goodsCheck')
})
})
},
getCartNum: function() {
let that = this;
getCartCounts({ product_type: 98, source: 11 }).then(res => {
@ -781,7 +850,7 @@
})
})
this.cartCount = totalNum
this.selectCountPrice = totalMoney
this.selectCountPrice = totalMoney > 0 ? totalMoney : '0.00'
//
this.isAllSelect = allArr.length == this.cartList.valid.length ? true : false
},

View File

@ -59,8 +59,10 @@
</view>
</view>
<view class='carnum acea-row row-center-wrapper'>
<view class="reduce" :class="goods.numSub || goods.cart_num <= goods.product.once_min_count ? 'on' : ''" @click.stop='subCart(goods)'>-</view>
<view class='num'>{{goods.cart_num}}</view>
<view class="reduce" :class="goods.numSub || (goods.cart_num <= goods.product.once_min_count) ? 'on' : ''" @click.stop='subCart(goods)'>-</view>
<view class='num' >
<input style="width: 80rpx;" v-model="goods.cart_num" @blur="inputCartNum(goods)" @input="inputNum(goods)"/>
</view>
<view class="plus" :class="goods.numAdd ? 'on' : ''" @click.stop='addCart(goods)'>+</view>
</view>
</navigator>
@ -650,7 +652,7 @@
//
subCart(goods) {
let status = false;
if (goods.cart_num <= goods.product.once_min_count) return Toast(`${goods.product.once_min_count}件起购哦`);
if ((goods.cart_num <= goods.product.once_min_count)) return Toast(`${goods.product.once_min_count}件起购哦`);
if (goods.cart_num < 1) status = true;
if (goods.cart_num <= 1) {
goods.cart_num = 1;
@ -679,6 +681,65 @@
}
}
},
inputNum(goods){
let cart_num = Number(goods.cart_num);
if(cart_num>+goods.productAttr.stock) {
this.$nextTick(()=>{
goods.cart_num = goods.productAttr.stock;
this.cartAllCheck('goodsCheck')
})
}
else this.cartAllCheck('goodsCheck')
// if(cart_num<+goods.product.once_min_count||goods<1) {
// this.$nextTick(()=>{
// goods.cart_num = goods.product.once_min_count;
// })
// }
},
//
inputCartNum(goods){
let status = false;
if(!goods.cart_num){
goods.product.once_min_count ? goods.cart_num = goods.product.once_min_count : goods.cart_num = 1;
return this.updateCartNum(goods);
}
if (goods.cart_num <= goods.product.once_min_count) {
goods.cart_num = goods.product.once_min_count;
this.updateCartNum(goods);
return Toast(`${goods.product.once_min_count}件起购哦`);
}
if (goods.cart_num < 1) status = true;
if (goods.cart_num <= 1) {
goods.cart_num = 1;
goods.numSub = true;
status = true;
} else {
if (false == status) {
this.updateCartNum(goods);
}
}
},
updateCartNum(goods){
changeCartNum(goods.cart_id, {
cart_num: goods.cart_num
}).then(res => {
goods.numSub = false;
goods.numAdd = false;
if (goods.cart_num <= 1) {
goods.numSub = true;
}
this.cartAllCheck('goodsCheck')
}).catch(error => {
this.$util.Tips({
title: error
});
this.$nextTick(()=>{
goods.cart_num = goods.productAttr.stock;
goods.numAdd = true;
this.cartAllCheck('goodsCheck')
})
})
},
getCartNum: function() {
let that = this;
getCartCounts({ product_type: 98, source: 11 }).then(res => {
@ -776,7 +837,7 @@
})
})
this.cartCount = totalNum
this.selectCountPrice = totalMoney
this.selectCountPrice = totalMoney > 0 ? totalMoney : '0.00'
//
this.isAllSelect = allArr.length == this.cartList.valid.length ? true : false
},

View File

@ -59,8 +59,10 @@
</view>
</view>
<view class='carnum acea-row row-center-wrapper'>
<view class="reduce" :class="goods.numSub || goods.cart_num <= goods.product.once_min_count ? 'on' : ''" @click.stop='subCart(goods)'>-</view>
<view class='num'>{{goods.cart_num}}</view>
<view class="reduce" :class="goods.numSub || (goods.cart_num <= goods.product.once_min_count) ? 'on' : ''" @click.stop='subCart(goods)'>-</view>
<view class='num' >
<input style="width: 80rpx;" v-model="goods.cart_num" @blur="inputCartNum(goods)" @input="inputNum(goods)"/>
</view>
<view class="plus" :class="goods.numAdd ? 'on' : ''" @click.stop='addCart(goods)'>+</view>
</view>
</navigator>
@ -652,7 +654,7 @@
//
subCart(goods) {
let status = false;
if (goods.cart_num <= goods.product.once_min_count) return Toast(`${goods.product.once_min_count}件起购哦`);
if ((goods.cart_num <= goods.product.once_min_count)) return Toast(`${goods.product.once_min_count}件起购哦`);
if (goods.cart_num < 1) status = true;
if (goods.cart_num <= 1) {
goods.cart_num = 1;
@ -681,6 +683,65 @@
}
}
},
inputNum(goods){
let cart_num = Number(goods.cart_num);
if(cart_num>+goods.productAttr.stock) {
this.$nextTick(()=>{
goods.cart_num = goods.productAttr.stock;
this.cartAllCheck('goodsCheck')
})
}
else this.cartAllCheck('goodsCheck')
// if(cart_num<+goods.product.once_min_count||goods<1) {
// this.$nextTick(()=>{
// goods.cart_num = goods.product.once_min_count;
// })
// }
},
//
inputCartNum(goods){
let status = false;
if(!goods.cart_num){
goods.product.once_min_count ? goods.cart_num = goods.product.once_min_count : goods.cart_num = 1;
return this.updateCartNum(goods);
}
if (goods.cart_num <= goods.product.once_min_count) {
goods.cart_num = goods.product.once_min_count;
this.updateCartNum(goods);
return Toast(`${goods.product.once_min_count}件起购哦`);
}
if (goods.cart_num < 1) status = true;
if (goods.cart_num <= 1) {
goods.cart_num = 1;
goods.numSub = true;
status = true;
} else {
if (false == status) {
this.updateCartNum(goods);
}
}
},
updateCartNum(goods){
changeCartNum(goods.cart_id, {
cart_num: goods.cart_num
}).then(res => {
goods.numSub = false;
goods.numAdd = false;
if (goods.cart_num <= 1) {
goods.numSub = true;
}
this.cartAllCheck('goodsCheck')
}).catch(error => {
this.$util.Tips({
title: error
});
this.$nextTick(()=>{
goods.cart_num = goods.productAttr.stock;
goods.numAdd = true;
this.cartAllCheck('goodsCheck')
})
})
},
getCartNum: function() {
let that = this;
getCartCounts({
@ -784,7 +845,7 @@
})
})
this.cartCount = totalNum
this.selectCountPrice = totalMoney
this.selectCountPrice = totalMoney > 0 ? totalMoney : '0.00'
//
this.isAllSelect = allArr.length == this.cartList.valid.length ? true : false
},

View File

@ -150,6 +150,13 @@
placeholder="填写关键字" /></view>
</view>
</view>
<view class="input_content">
<view class="input_content_keyword">
<view class="input_content_keyword_label">最少购买件数</view>
<view class="input_content_keyword_value"><input v-model="setFormData.once_min_count" type="number" value=""
placeholder="不限量" /></view>
</view>
</view>
<view class="radio">
<view class="radio_label ">送货方式</view>
<checkbox-group class="select_group flex_start">
@ -242,7 +249,8 @@
delivery_way: [1, 2], // 1 2
delivery_free: '1', // 0 1
temp_id: '', // ID
tempName: '' //
tempName: '' ,//
once_min_count: '', //
},
platformClassificationData: [], //
merchantClassification: [], //
@ -382,7 +390,8 @@
delivery_way: [], // 1 2
delivery_free: '0', // 0 1
temp_id: '', // ID
tempName: '' //
tempName: '' ,//
once_min_count: '', //
};
productDetail(this.merId, this.product_id).then(async (res) => {
this.showCommodity = true;
@ -403,6 +412,7 @@
this.setFormData.brand_name = editGoodsDetils.brand ? editGoodsDetils.brand.brand_name : '';
if (res.data.content && typeof res.data.content == 'string') res.data.content = JSON.parse(res.data
.content);
this.setFormData.once_min_count <= 0 ? this.setFormData.once_min_count = '' : null;
//
this.$nextTick(() => {
this.$refs.commodityRef.setDatas({