适配批发插件基础调试

master
Devil 2021-10-07 22:16:34 +08:00
parent 5094cfd4b6
commit 040fdcdbdb
2 changed files with 95 additions and 62 deletions

View File

@ -61,7 +61,7 @@
},
//
request_url: 'https://d1.shopxo.vip/',
//request_url: 'http://shopxo.com/',
request_url: 'http://shopxo.com/',
//
static_url: 'https://dev.shopxo.vip/',
//

View File

@ -328,7 +328,7 @@
<view class="title fl">购买数量</view>
<view class="number-content tc oh radius">
<view @tap="goods_buy_number_event" class="number-submit tc cr-gray fl" data-type="0">-</view>
<input @blur="goods_buy_number_blur" class="tc cr-gray fl" type="number" :value="temp_buy_number">
<input @blur="goods_buy_number_blur" class="tc cr-gray fl" type="number" :value="buy_number">
<view @tap="goods_buy_number_event" class="number-submit tc cr-gray fl" data-type="1">+</view>
</view>
</view>
@ -457,7 +457,7 @@
goods_specifications_choose: [],
goods_content_app: [],
popup_status: false,
temp_buy_number: 1,
buy_number: 1,
buy_event_type: 'buy',
buy_button: {},
goods_spec_base_price: 0,
@ -689,7 +689,7 @@
goods_specifications_choose: data.goods.specifications.choose ||
[],
goods_content_app: data.goods.content_app || [],
temp_buy_number: data.goods.buy_min_number || 1,
buy_number: data.goods.buy_min_number || 1,
nav_favor_button_info: {
"text": (data.goods.is_favor == 1 ? '已' : '') + '收藏',
"status": data.goods.is_favor
@ -958,7 +958,7 @@
method: 'POST',
data: {
"goods_id": this.goods.id,
"stock": this.temp_buy_number,
"stock": this.buy_number,
"spec": JSON.stringify(spec)
},
dataType: 'json',
@ -1015,7 +1015,7 @@
this.setData({
goods_specifications_choose: temp_data,
goods_spec_base_images: temp_images,
temp_buy_number: this.goods.buy_min_number || 1,
//buy_number: this.goods.buy_min_number || 1,
});
//
@ -1079,7 +1079,8 @@
},
dataType: 'json',
success: (res) => {
if (res.data.code == 0) {
if (res.data.code == 0) {
var spec_type = res.data.data.spec_type;
var spec_count = spec.length;
var index = spec_count > 0 ? spec_count : 0;
if (index < sku_count) {
@ -1089,8 +1090,8 @@
temp_data[i]['value'][k]['is_dont'] = '';
var temp_value = temp_data[i]['value'][k]['name'];
var temp_status = false;
for (var t in res.data.data) {
if (res.data.data[t] == temp_value) {
for (var t in spec_type) {
if (spec_type[t] == temp_value) {
temp_status = true;
break;
}
@ -1118,27 +1119,13 @@
},
//
get_goods_specifications_detail() {
//
var temp_data = this.goods_specifications_choose;
var sku_count = temp_data.length;
var active_count = 0;
get_goods_specifications_detail() {
//
var spec = [];
for (var i in temp_data) {
for (var k in temp_data[i]['value']) {
if ((temp_data[i]['value'][k]['is_active'] || null) != null) {
active_count++;
spec.push({
"type": temp_data[i]['name'],
"value": temp_data[i]['value'][k]['name']
});
break;
}
}
}
var spec = this.goods_selected_spec();
//
var sku_count = this.goods_specifications_choose.length;
var active_count = spec.length;
if (spec.length <= 0 || active_count < sku_count) {
this.setData({
goods_spec_base_price: this.goods.price,
@ -1154,16 +1141,13 @@
method: 'POST',
data: {
"id": this.goods.id,
"spec": JSON.stringify(spec)
"spec": JSON.stringify(spec),
"stock": this.buy_number,
},
dataType: 'json',
success: res => {
if (res.data.code == 0) {
this.setData({
goods_spec_base_price: res.data.data.price,
goods_spec_base_original_price: res.data.data.original_price,
goods_spec_base_inventory: res.data.data.inventory
});
if (res.data.code == 0) {
this.goods_spec_detail_back_handle(res.data.data);
} else {
app.globalData.showToast(res.data.msg);
}
@ -1172,56 +1156,105 @@
app.globalData.showToast("服务器请求出错");
}
});
},
//
goods_selected_spec() {
var spec = [];
var temp_data = this.goods_specifications_choose;
for (var i in temp_data) {
for (var k in temp_data[i]['value']) {
if ((temp_data[i]['value'][k]['is_active'] || null) != null) {
spec.push({
"type": temp_data[i]['name'],
"value": temp_data[i]['value'][k]['name']
});
break;
}
}
}
return spec;
},
//
goods_spec_detail_back_handle(data) {
var spec_base = data.spec_base;
var data = {
goods_spec_base_price: spec_base.price,
goods_spec_base_original_price: spec_base.original_price,
goods_spec_base_inventory: spec_base.inventory,
};
//
if(this.buy_number > spec_base.inventory) {
data['buy_number'] = spec_base.inventory;
}
this.setData(data);
},
//
goods_buy_number_blur(e) {
var buy_number = parseInt(e.detail.value) || 1;
this.setData({
temp_buy_number: buy_number
});
this.goods_buy_number_func(buy_number);
var number = parseInt(e.detail.value) || 1;
if(isNaN(number)) {
number = this.goods.buy_min_number || 1;
}
this.goods_buy_number_func(number);
},
//
goods_buy_number_event(e) {
var type = parseInt(e.currentTarget.dataset.type) || 0;
var temp_buy_number = parseInt(this.temp_buy_number);
if (type == 0) {
var buy_number = temp_buy_number - 1;
} else {
var buy_number = temp_buy_number + 1;
}
this.goods_buy_number_func(buy_number);
var temp_number = parseInt(this.buy_number);
var number = (type == 0) ? (temp_number - 1) : (temp_number + 1);
this.goods_buy_number_func(number);
},
//
goods_buy_number_func(buy_number) {
goods_buy_number_func(number) {
var buy_min_number = parseInt(this.goods.buy_min_number) || 1;
var buy_max_number = parseInt(this.goods.buy_max_number) || 0;
var inventory = parseInt(this.goods_spec_base_inventory);
var inventory_unit = this.goods.inventory_unit;
if (buy_number < buy_min_number) {
buy_number = buy_min_number;
if (buy_min_number > 1) {
app.globalData.showToast('起购' + buy_min_number + inventory_unit);
}
if (number < buy_min_number) {
number = buy_min_number;
app.globalData.showToast('起购' + buy_min_number + inventory_unit);
}
if (buy_max_number > 0 && buy_number > buy_max_number) {
buy_number = buy_max_number;
if (buy_max_number > 0 && number > buy_max_number) {
number = buy_max_number;
app.globalData.showToast('限购' + buy_max_number + inventory_unit);
}
if (buy_number > inventory) {
buy_number = inventory;
if (number > inventory) {
number = inventory;
app.globalData.showToast('库存数量' + inventory + inventory_unit);
}
}
this.setData({
temp_buy_number: buy_number
buy_number: number
});
//
uni.request({
url: app.globalData.get_request_url('stock', 'goods'),
method: 'POST',
data: {
"id": this.goods.id,
"spec": this.goods_selected_spec(),
"stock": this.buy_number,
},
dataType: 'json',
success: res => {
if (res.data.code == 0) {
this.goods_spec_detail_back_handle(res.data.data);
} else {
app.globalData.showToast(res.data.msg);
}
},
fail: () => {
app.globalData.showToast("服务器请求出错");
}
});
},
@ -1268,7 +1301,7 @@
var data = {
"buy_type": "goods",
"goods_id": this.goods.id,
"stock": this.temp_buy_number,
"stock": this.buy_number,
"spec": JSON.stringify(spec)
};
uni.navigateTo({