更新功能
This commit is contained in:
parent
871030f037
commit
698c297d77
|
@ -21,8 +21,8 @@
|
||||||
<view v-else class="money">
|
<view v-else class="money">
|
||||||
<view class="acea-row row-middle">
|
<view class="acea-row row-middle">
|
||||||
<view class="acea-row row-middle">
|
<view class="acea-row row-middle">
|
||||||
<text>¥</text><text class="num">{{ attr.productSelect.price }}</text>
|
<text>¥</text><text class="num">{{ attr.productSelect.procure_price }}</text>
|
||||||
<view v-if="attr.productSelect && attr.productSelect.svip_price" class="acea-row row-middle">
|
<view v-if="attr.productSelect && attr.productSelect.svip_price>0" class="acea-row row-middle">
|
||||||
<text class='vip-money'>¥{{attr.productSelect.svip_price}}</text>
|
<text class='vip-money'>¥{{attr.productSelect.svip_price}}</text>
|
||||||
<view class="vipImg">
|
<view class="vipImg">
|
||||||
<image src="/static/images/svip.png"></image>
|
<image src="/static/images/svip.png"></image>
|
||||||
|
@ -112,6 +112,7 @@
|
||||||
return {};
|
return {};
|
||||||
},
|
},
|
||||||
mounted(){
|
mounted(){
|
||||||
|
// console.log('sss',this.attr);
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
// 查看大图
|
// 查看大图
|
||||||
|
|
|
@ -0,0 +1,464 @@
|
||||||
|
<template>
|
||||||
|
<view>
|
||||||
|
<uni-popup ref="popupRef" type="bottom" @change="changeShow">
|
||||||
|
<view class="pop">
|
||||||
|
<scroll-view scroll-y class="scroll">
|
||||||
|
<view class="image">
|
||||||
|
<swiper class="swiper" :current="current" autoplay style="width: 100%;height: 100%;" @change="changeCurrent">
|
||||||
|
<block v-if="product.slider_image && product.slider_image.length>0">
|
||||||
|
<swiper-item v-for="(item,index) in product.slider_image" :key="index">
|
||||||
|
<image class="img" :src="item"></image>
|
||||||
|
</swiper-item>
|
||||||
|
</block>
|
||||||
|
<swiper-item v-else>
|
||||||
|
<image class="img" :src="datas.image||defualtImg"></image>
|
||||||
|
</swiper-item>
|
||||||
|
</swiper>
|
||||||
|
<view class="current">{{current+1}}/{{product.slider_image && product.slider_image.length||1}}</view>
|
||||||
|
<image class="close" src="@/static/images/icon/close.png" @click="close()"></image>
|
||||||
|
<view class="border"></view>
|
||||||
|
</view>
|
||||||
|
<view class="white_card">
|
||||||
|
<view class="flex flex_end">
|
||||||
|
<view class="price">¥<text class="pro">{{leftPrice}}.</text>{{rightPrice}}
|
||||||
|
</view>
|
||||||
|
<view>订货价</view>
|
||||||
|
</view>
|
||||||
|
<view class="short_name">{{datas.store_name}}</view>
|
||||||
|
<view class="flex">
|
||||||
|
<view class="shop_name">
|
||||||
|
<image class="icon" src="@/static/images/icon/short.png"></image>
|
||||||
|
<view>{{datas.merchant.mer_name}}</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<u-line></u-line>
|
||||||
|
<view class="m_title">规格选中</view>
|
||||||
|
<view class="flex">
|
||||||
|
<view class="attr" :class="{'attr_active': item==sku_key}" v-for="item in sku_key_list" :key="item" @click="sku_key = item">{{item||'默认'}}</view>
|
||||||
|
</view>
|
||||||
|
<view class="m_title num">
|
||||||
|
<view>购买数量</view>
|
||||||
|
<view class="input">
|
||||||
|
<view class="input_item sub" @click="subCartNum">-</view>
|
||||||
|
<input class="input_item input_view" v-model="cart_num" type="number" @input="inputCartNum" />
|
||||||
|
<view class="input_item plus" @click="plusCartNum">+</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view>
|
||||||
|
商品库存 <text style="margin-left: 20rpx;">{{(sku[sku_key] && sku[sku_key].stock)||change.stock}}</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</scroll-view>
|
||||||
|
<view class="button">
|
||||||
|
<view class="b_icon" @click="navgo('/pages/nongKe/supply_chain/shopping_trolley_a')">
|
||||||
|
<image src="@/static/images/icon/car.png"></image>
|
||||||
|
<view>采购车</view>
|
||||||
|
<view class="badge" v-if="goodsNum">{{goodsNum}}</view>
|
||||||
|
</view>
|
||||||
|
<view class="btn" @click.stop="$u.throttle(addcart, 1500)">加入采购清单</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</uni-popup>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import {
|
||||||
|
postCartAdd,
|
||||||
|
} from '@/api/store.js';
|
||||||
|
export default {
|
||||||
|
name: "shortPopup",
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
isShow: false, //当前是否打开弹窗
|
||||||
|
defualtImg: 'https://lihai001.oss-cn-chengdu.aliyuncs.com/uploads/20230130/00ebcfdf75684f5494c0193075055d1.png',
|
||||||
|
datas: {
|
||||||
|
image: '',
|
||||||
|
store_name: '',
|
||||||
|
merchant: {
|
||||||
|
mer_name: ''
|
||||||
|
},
|
||||||
|
price: '',
|
||||||
|
},
|
||||||
|
product: {},
|
||||||
|
attrValue: [],
|
||||||
|
sku: {}, //规格
|
||||||
|
sku_key_list: [], //规格名称列表
|
||||||
|
sku_key: '', //选中的规格名称
|
||||||
|
change: {
|
||||||
|
stock: ''
|
||||||
|
},
|
||||||
|
cart_num: 1, //购买数量
|
||||||
|
goodsNum: 0, //购物车数量
|
||||||
|
current: 0, //轮播图当前滑块
|
||||||
|
};
|
||||||
|
},
|
||||||
|
mounted() {},
|
||||||
|
computed:{
|
||||||
|
leftPrice(){
|
||||||
|
return this.sku[this.sku_key]?.procure_price?.split('.')[0]||'0';
|
||||||
|
},
|
||||||
|
rightPrice(){
|
||||||
|
return this.sku[this.sku_key]?.procure_price?.split('.')[1]||'00';
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
// 注入参数,
|
||||||
|
setDatas(datas, goodsNum) {
|
||||||
|
this.goodsNum = goodsNum;
|
||||||
|
this.datas = datas;
|
||||||
|
this.product = datas.product;
|
||||||
|
this.attrValue = datas.product?.attrValue;
|
||||||
|
this.change = this.attrValue[0];
|
||||||
|
this.cart_num = 1;
|
||||||
|
this.sku = datas.sku||{};
|
||||||
|
this.sku_key_list = Object.keys(this.sku);
|
||||||
|
this.sku_key = this.sku_key_list[0];
|
||||||
|
},
|
||||||
|
// 输入购买数量
|
||||||
|
inputCartNum(e) {
|
||||||
|
if(this.sku){
|
||||||
|
if (+e.detail.value > this.sku[this.sku_key].stock) {
|
||||||
|
uni.showToast({
|
||||||
|
icon: 'none',
|
||||||
|
title: '不能超出库存哦'
|
||||||
|
})
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.cart_num = this.sku[this.sku_key].stock;
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}else if (this.change.stock <= this.cart_num) {
|
||||||
|
uni.showToast({
|
||||||
|
icon: 'none',
|
||||||
|
title: '不能超出库存哦'
|
||||||
|
})
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.cart_num = this.change.stock;
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 减少购买数量
|
||||||
|
subCartNum() {
|
||||||
|
if (this.cart_num <= 1) {
|
||||||
|
return uni.showToast({
|
||||||
|
icon: 'none',
|
||||||
|
title: '最少要买一件哦'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
this.cart_num--;
|
||||||
|
},
|
||||||
|
// 增加购买数量
|
||||||
|
plusCartNum() {
|
||||||
|
console.log('加');
|
||||||
|
if(this.sku){
|
||||||
|
if (this.sku[this.sku_key].stock <= this.cart_num) {
|
||||||
|
return uni.showToast({
|
||||||
|
icon: 'none',
|
||||||
|
title: '不能超出库存哦'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}else if (this.change.stock <= this.cart_num) {
|
||||||
|
return uni.showToast({
|
||||||
|
icon: 'none',
|
||||||
|
title: '不能超出库存哦'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
this.cart_num++;
|
||||||
|
},
|
||||||
|
// 加入购物车
|
||||||
|
addcart() {
|
||||||
|
if (this.sku[this.sku_key]) {
|
||||||
|
if (this.cart_num > this.sku[this.sku_key].stock) return uni.showToast({
|
||||||
|
icon: 'none',
|
||||||
|
title: '不能超出库存哦'
|
||||||
|
})
|
||||||
|
let data = {
|
||||||
|
cart_num: this.cart_num,
|
||||||
|
is_new: 0,
|
||||||
|
product_attr_unique: this.sku[this.sku_key].unique,
|
||||||
|
product_id: this.datas.product_id,
|
||||||
|
product_type: this.datas.product_type,
|
||||||
|
source: 200, // 供货采购
|
||||||
|
spread_id: "",
|
||||||
|
}
|
||||||
|
let that = this
|
||||||
|
let res = postCartAdd({
|
||||||
|
...data
|
||||||
|
}).then((res, err) => {
|
||||||
|
uni.showToast({
|
||||||
|
title: "加入成功",
|
||||||
|
duration: 1000,
|
||||||
|
})
|
||||||
|
this.$emit('addCart');
|
||||||
|
this.close();
|
||||||
|
}).catch(err => {
|
||||||
|
uni.showToast({
|
||||||
|
title: err,
|
||||||
|
icon: "none",
|
||||||
|
duration: 1000,
|
||||||
|
})
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
uni.showToast({
|
||||||
|
icon: 'none',
|
||||||
|
title: '商品规格不存在'
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 滑动轮播图
|
||||||
|
changeCurrent(e){
|
||||||
|
this.current = e.detail.current;
|
||||||
|
},
|
||||||
|
navgo(url) {
|
||||||
|
uni.navigateTo({
|
||||||
|
url
|
||||||
|
})
|
||||||
|
},
|
||||||
|
open() {
|
||||||
|
this.$refs.popupRef.open();
|
||||||
|
},
|
||||||
|
close() {
|
||||||
|
this.$refs.popupRef.close();
|
||||||
|
},
|
||||||
|
changeShow(e) {
|
||||||
|
this.isShow = e.show;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
.pop {
|
||||||
|
background-color: #fff;
|
||||||
|
border-radius: 31.54rpx 31.54rpx 0rpx 0rpx;
|
||||||
|
overflow: hidden;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
.scroll{
|
||||||
|
height: calc(90vh - 150rpx);
|
||||||
|
}
|
||||||
|
|
||||||
|
.flex_end {
|
||||||
|
align-items: flex-end;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.image {
|
||||||
|
height: 750rpx;
|
||||||
|
width: 750rpx;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
.current{
|
||||||
|
position: absolute;
|
||||||
|
bottom: 70rpx;
|
||||||
|
left: 30rpx;
|
||||||
|
width: 67rpx;
|
||||||
|
height: 37rpx;
|
||||||
|
background: rgba(#333, 0.2);
|
||||||
|
border-radius: 11rpx 11rpx 11rpx 11rpx;
|
||||||
|
text-align: center;
|
||||||
|
color: #fff;
|
||||||
|
font-size: 26rpx;
|
||||||
|
font-family: PingFang SC-Regular, PingFang SC;
|
||||||
|
font-weight: 400;
|
||||||
|
}
|
||||||
|
|
||||||
|
.img {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
border-radius: 31.54rpx 31.54rpx 0rpx 0rpx;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.close {
|
||||||
|
position: absolute;
|
||||||
|
top: 30rpx;
|
||||||
|
right: 30rpx;
|
||||||
|
width: 50.82rpx;
|
||||||
|
height: 50.82rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.border {
|
||||||
|
position: absolute;
|
||||||
|
bottom: -1rpx;
|
||||||
|
left: 0;
|
||||||
|
background-color: #fff;
|
||||||
|
height: 40rpx;
|
||||||
|
width: 100%;
|
||||||
|
border-radius: 40rpx 40rpx 0 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.white_card {
|
||||||
|
border-radius: 31.54rpx 31.54rpx 0rpx 0rpx;
|
||||||
|
background-color: #fff;
|
||||||
|
margin: 0 28rpx;
|
||||||
|
padding-bottom: 30rpx;
|
||||||
|
color: #737373;
|
||||||
|
font-size: 26.29rpx;
|
||||||
|
|
||||||
|
.price {
|
||||||
|
font-size: 35rpx;
|
||||||
|
font-family: SF Pro Display-Semibold, SF Pro Display;
|
||||||
|
font-weight: 600;
|
||||||
|
color: #F84221;
|
||||||
|
padding-right: 30rpx;
|
||||||
|
|
||||||
|
.pro {
|
||||||
|
font-size: 49.07rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.short_name {
|
||||||
|
font-size: 33rpx;
|
||||||
|
font-family: PingFang SC-Semibold, PingFang SC;
|
||||||
|
font-weight: 600;
|
||||||
|
color: #333333;
|
||||||
|
}
|
||||||
|
|
||||||
|
.shop_name {
|
||||||
|
display: flex;
|
||||||
|
background: #FEF5F3;
|
||||||
|
padding: 0 16rpx;
|
||||||
|
border-radius: 26rpx 26rpx 26rpx 26rpx;
|
||||||
|
margin-top: 30rpx;
|
||||||
|
margin-bottom: 20rpx;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
.icon {
|
||||||
|
width: 31.54rpx;
|
||||||
|
height: 31.54rpx;
|
||||||
|
margin-right: 10rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.m_title {
|
||||||
|
font-size: 30rpx;
|
||||||
|
font-family: PingFang SC-Medium, PingFang SC;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #333333;
|
||||||
|
margin-top: 31rpx;
|
||||||
|
margin-bottom: 21rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.attr {
|
||||||
|
opacity: 1;
|
||||||
|
border: 1rpx solid #F84221;
|
||||||
|
color: #333333;
|
||||||
|
padding: 15rpx 30rpx;
|
||||||
|
margin-right: 20rpx;
|
||||||
|
height: 63rpx;
|
||||||
|
line-height: 60rpx;
|
||||||
|
border-radius: 63rpx;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.attr_active{
|
||||||
|
// background-color: #FEF5F3;
|
||||||
|
// color: #F84221;
|
||||||
|
background-color: #F84221;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.num {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
.input {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
height: 48rpx;
|
||||||
|
|
||||||
|
.input_item {
|
||||||
|
width: 44rpx;
|
||||||
|
height: 44rpx;
|
||||||
|
text-align: center;
|
||||||
|
line-height: 40rpx;
|
||||||
|
border: 2rpx solid #fff;
|
||||||
|
font-size: 26rpx;
|
||||||
|
color: #333;
|
||||||
|
}
|
||||||
|
|
||||||
|
.input_view {
|
||||||
|
width: 60rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sub {
|
||||||
|
border: 2rpx solid #FCB9AD;
|
||||||
|
border-radius: 7rpx 0rpx 0rpx 7rpx;
|
||||||
|
background: #FFFFFF;
|
||||||
|
font-size: 26rpx;
|
||||||
|
color: #B3B3B3;
|
||||||
|
}
|
||||||
|
|
||||||
|
.plus {
|
||||||
|
border: 2rpx solid #FCB9AD;
|
||||||
|
border-radius: 0rpx 7rpx 7rpx 0rpx;
|
||||||
|
background: #FFFFFF;
|
||||||
|
font-size: 26rpx;
|
||||||
|
color: #B3B3B3;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.button {
|
||||||
|
padding: 28rpx;
|
||||||
|
margin-bottom: 28rpx;
|
||||||
|
background-color: #fff;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-around;
|
||||||
|
padding-bottom: constant(safe-area-inset-bottom); ///兼容 IOS<11.2/
|
||||||
|
padding-bottom: env(safe-area-inset-bottom); ///兼容 IOS>11.2/
|
||||||
|
padding-bottom: constant(safe-area-inset-bottom); ///兼容 IOS<11.2/
|
||||||
|
padding-bottom: env(safe-area-inset-bottom); ///兼容 IOS>11.2/
|
||||||
|
|
||||||
|
.b_icon {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
font-size: 19rpx;
|
||||||
|
font-weight: 400;
|
||||||
|
color: #333333;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
image {
|
||||||
|
width: 50.82rpx;
|
||||||
|
height: 50.82rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.badge {
|
||||||
|
position: absolute;
|
||||||
|
top: -5rpx;
|
||||||
|
right: -10rpx;
|
||||||
|
color: #fff;
|
||||||
|
min-width: 28rpx;
|
||||||
|
height: 28rpx;
|
||||||
|
text-align: center;
|
||||||
|
line-height: 24rpx;
|
||||||
|
background: #F84221;
|
||||||
|
border-radius: 16rpx 16rpx 16rpx 16rpx;
|
||||||
|
border: 2rpx solid #FFFFFF;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn {
|
||||||
|
width: 575rpx;
|
||||||
|
height: 84rpx;
|
||||||
|
background: linear-gradient(270deg, #FF6D20 0%, #F84221 100%);
|
||||||
|
border-radius: 42rpx 42rpx 42rpx 42rpx;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
font-size: 30rpx;
|
||||||
|
font-family: PingFang SC-Medium, PingFang SC;
|
||||||
|
font-weight: 500;
|
||||||
|
color: #FFFFFF;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
8
main.js
8
main.js
|
@ -23,9 +23,17 @@ Vue.component('skeleton', skeleton)
|
||||||
Vue.component('BaseMoney', BaseMoney)
|
Vue.component('BaseMoney', BaseMoney)
|
||||||
Vue.prototype.$util = util;
|
Vue.prototype.$util = util;
|
||||||
Vue.prototype.$Cache = Cache;
|
Vue.prototype.$Cache = Cache;
|
||||||
|
Vue.prototype.$procure_price = (item)=>{
|
||||||
|
if(item.sku){
|
||||||
|
let key = Object.keys(item.sku)||[''];
|
||||||
|
return item.sku[key[0]]?.procure_price;
|
||||||
|
}
|
||||||
|
else return '无批发价';
|
||||||
|
}
|
||||||
Vue.prototype.$eventHub = new Vue();
|
Vue.prototype.$eventHub = new Vue();
|
||||||
Vue.config.productionTip = false
|
Vue.config.productionTip = false
|
||||||
Vue.prototype.$bus = new Vue();
|
Vue.prototype.$bus = new Vue();
|
||||||
|
|
||||||
// #ifdef H5
|
// #ifdef H5
|
||||||
import {
|
import {
|
||||||
parseQuery
|
parseQuery
|
||||||
|
|
|
@ -63,7 +63,7 @@
|
||||||
分享
|
分享
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view v-if="svipData && !svipData.is_svip && svipData.show_svip"
|
<!-- <view v-if="svipData && !svipData.is_svip && svipData.show_svip"
|
||||||
class="svipCon acea-row row-between-wrapper skeleton-rect" style="margin-top: 20rpx;">
|
class="svipCon acea-row row-between-wrapper skeleton-rect" style="margin-top: 20rpx;">
|
||||||
<view class="acea-row row-between-wrapper">
|
<view class="acea-row row-between-wrapper">
|
||||||
<image src="/static/images/svip_user.png"></image>
|
<image src="/static/images/svip_user.png"></image>
|
||||||
|
@ -73,7 +73,7 @@
|
||||||
立即开通
|
立即开通
|
||||||
<text class="iconfont icon-jiantou"></text>
|
<text class="iconfont icon-jiantou"></text>
|
||||||
</navigator>
|
</navigator>
|
||||||
</view>
|
</view> -->
|
||||||
<view v-if="!storeInfo.atmosphere_pic" class='integral_count skeleton-rect'>
|
<view v-if="!storeInfo.atmosphere_pic" class='integral_count skeleton-rect'>
|
||||||
<text v-if="storeInfo.max_integral > 0"
|
<text v-if="storeInfo.max_integral > 0"
|
||||||
class='integral'>积分最高可抵扣{{storeInfo.max_integral}}元</text>
|
class='integral'>积分最高可抵扣{{storeInfo.max_integral}}元</text>
|
||||||
|
|
|
@ -103,9 +103,11 @@
|
||||||
|
|
||||||
|
|
||||||
<view class="content-list">
|
<view class="content-list">
|
||||||
<view class="tools-one">
|
<view style="width: 100%;background-color: #fff;">
|
||||||
订单列表
|
<view class="tools-one">
|
||||||
<view class=""></view>
|
订单列表
|
||||||
|
<view class=""></view>
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="content-list-one" v-for="(item,u) in productList" :key="u">
|
<view class="content-list-one" v-for="(item,u) in productList" :key="u">
|
||||||
|
@ -162,15 +164,14 @@
|
||||||
<image src="@/static/images/dz.png" mode="aspectFit"></image>
|
<image src="@/static/images/dz.png" mode="aspectFit"></image>
|
||||||
</view>
|
</view>
|
||||||
<view class="order_id">
|
<view class="order_id">
|
||||||
订单编号{{item.order_sn}}
|
订单编号: {{item.order_sn}}
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="list-three-one">
|
<view class="list-three-one">
|
||||||
<view class="title-img">
|
<view class="title-img">
|
||||||
<image src="@/static/images/zb.png" mode="aspectFit"></image>
|
<image src="@/static/images/zb.png" mode="aspectFit"></image>
|
||||||
</view>
|
</view>
|
||||||
<view class="adress">{{item.real_name}} {{ item.user_phone}} {{item.user_address}}
|
<view class="adress">{{item.real_name}} {{ item.user_phone}} <br/> {{item.user_address}} </view>
|
||||||
</view>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
@ -1898,6 +1899,7 @@
|
||||||
|
|
||||||
.content-list {
|
.content-list {
|
||||||
margin-top: 70rpx;
|
margin-top: 70rpx;
|
||||||
|
background-color: #f4f7fe;
|
||||||
|
|
||||||
.tools-one {
|
.tools-one {
|
||||||
width: 133rpx;
|
width: 133rpx;
|
||||||
|
@ -1920,11 +1922,14 @@
|
||||||
|
|
||||||
.content-list-one {
|
.content-list-one {
|
||||||
padding: 25rpx 25rpx;
|
padding: 25rpx 25rpx;
|
||||||
padding-bottom: 80rpx;
|
padding-bottom: 100rpx;
|
||||||
|
margin-bottom: 10rpx;
|
||||||
|
background-color: #fff;
|
||||||
|
|
||||||
.list-one {
|
.list-one {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
.list-one_left {
|
.list-one_left {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
@ -1962,6 +1967,7 @@
|
||||||
font-size: 26rpx;
|
font-size: 26rpx;
|
||||||
font-family: PingFang SC-Regular, PingFang SC;
|
font-family: PingFang SC-Regular, PingFang SC;
|
||||||
font-weight: 400;
|
font-weight: 400;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
.list-one_right-a {
|
.list-one_right-a {
|
||||||
|
|
||||||
|
@ -2095,9 +2101,9 @@
|
||||||
|
|
||||||
.list-four {
|
.list-four {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right: 25rpx;
|
right: 25rpx;
|
||||||
|
padding-top: 20rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.list-four .btn {
|
.list-four .btn {
|
||||||
|
|
|
@ -32,8 +32,8 @@
|
||||||
</view>
|
</view>
|
||||||
<view class="right_goods_msg">
|
<view class="right_goods_msg">
|
||||||
<view class="num">
|
<view class="num">
|
||||||
<text>订货价:</text>
|
<text style="margin-right: 10rpx;">订货价:</text>
|
||||||
<text>{{' '+item.price}}</text>
|
<text>{{$procure_price(item)}}</text>
|
||||||
</view>
|
</view>
|
||||||
<!-- <view class="add_goods" @click="getGoodsDetails(item)">加入购物单</view> -->
|
<!-- <view class="add_goods" @click="getGoodsDetails(item)">加入购物单</view> -->
|
||||||
</view>
|
</view>
|
||||||
|
@ -44,6 +44,7 @@
|
||||||
<navigator class="bottom_purchase" url="./shopping_trolley_a" open-type="navigate">采购清单</navigator>
|
<navigator class="bottom_purchase" url="./shopping_trolley_a" open-type="navigate">采购清单</navigator>
|
||||||
|
|
||||||
<goodsPopup :goodsStatu="isPopupShow" @colses="isPopupShow=false" :goods_info="goodsInfo"></goodsPopup>
|
<goodsPopup :goodsStatu="isPopupShow" @colses="isPopupShow=false" :goods_info="goodsInfo"></goodsPopup>
|
||||||
|
<shortPopup ref="shortPopupRef" ></shortPopup>
|
||||||
<u-popup :show="show" @close="close">
|
<u-popup :show="show" @close="close">
|
||||||
<view>
|
<view>
|
||||||
<h3 style=" margin: 15px 5px 5px 24px;">颜色规格</h3>
|
<h3 style=" margin: 15px 5px 5px 24px;">颜色规格</h3>
|
||||||
|
@ -87,9 +88,11 @@
|
||||||
import {
|
import {
|
||||||
changeCartNum
|
changeCartNum
|
||||||
} from '@/api/order.js';
|
} from '@/api/order.js';
|
||||||
|
import shortPopup from "@/components/shortPopup.vue"
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
goodsPopup
|
goodsPopup,
|
||||||
|
shortPopup
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
@ -247,9 +250,11 @@
|
||||||
*/
|
*/
|
||||||
navToGoodsDetails(item){
|
navToGoodsDetails(item){
|
||||||
console.log(item);
|
console.log(item);
|
||||||
uni.navigateTo({
|
this.$refs.shortPopupRef.setDatas(item);
|
||||||
url: `pages/goods_details/index?id=${item.product_id}&referer=`
|
this.$refs.shortPopupRef.open();
|
||||||
})
|
// uni.navigateTo({
|
||||||
|
// url: `/pages/goods_details/index?id=${item.product_id}&referer=`
|
||||||
|
// })
|
||||||
},
|
},
|
||||||
/*
|
/*
|
||||||
* 加入购物车
|
* 加入购物车
|
||||||
|
@ -366,7 +371,8 @@
|
||||||
// title: res
|
// title: res
|
||||||
// });
|
// });
|
||||||
// });
|
// });
|
||||||
}
|
},
|
||||||
|
|
||||||
},
|
},
|
||||||
onReachBottom() {
|
onReachBottom() {
|
||||||
//如果状态为nomore 则不能在触发上拉事件
|
//如果状态为nomore 则不能在触发上拉事件
|
||||||
|
@ -374,12 +380,16 @@
|
||||||
this.infoData.page++
|
this.infoData.page++
|
||||||
this.getStoreGoodsList()
|
this.getStoreGoodsList()
|
||||||
}
|
}
|
||||||
|
|
||||||
},
|
},
|
||||||
onPullDownRefresh() {
|
onPullDownRefresh() {
|
||||||
uni.stopPullDownRefresh()
|
uni.stopPullDownRefresh()
|
||||||
},
|
},
|
||||||
|
onBackPress() {
|
||||||
|
if(this.$refs.shortPopupRef.isShow){
|
||||||
|
this.$refs.shortPopupRef.close();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
@ -528,7 +538,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.bottom_purchase {
|
.bottom_purchase {
|
||||||
z-index: 999;
|
z-index: 50;
|
||||||
position: fixed;
|
position: fixed;
|
||||||
left: 50%;
|
left: 50%;
|
||||||
bottom: 52.63rpx;
|
bottom: 52.63rpx;
|
||||||
|
|
|
@ -52,7 +52,7 @@
|
||||||
v-if="goods.product.once_max_count>0">最多{{goods.product.once_max_count}}件</text>
|
v-if="goods.product.once_max_count>0">最多{{goods.product.once_max_count}}件</text>
|
||||||
</view>
|
</view>
|
||||||
<view class='money acea-row row-middle'>
|
<view class='money acea-row row-middle'>
|
||||||
<text>¥{{goods.productAttr.price}}</text>
|
<text>¥{{goods.productAttr.procure_price}}</text>
|
||||||
<view v-if="goods.productAttr.show_svip_price" class="vipImg">
|
<view v-if="goods.productAttr.show_svip_price" class="vipImg">
|
||||||
<image src="/static/images/svip.png"></image>
|
<image src="/static/images/svip.png"></image>
|
||||||
</view>
|
</view>
|
||||||
|
@ -229,7 +229,9 @@
|
||||||
attr: {
|
attr: {
|
||||||
cartAttr: false,
|
cartAttr: false,
|
||||||
productAttr: [],
|
productAttr: [],
|
||||||
productSelect: {}
|
productSelect: {
|
||||||
|
procure_price: ''
|
||||||
|
}
|
||||||
},
|
},
|
||||||
isOpen: false, //是否打开属性组件
|
isOpen: false, //是否打开属性组件
|
||||||
source: '',
|
source: '',
|
||||||
|
@ -237,6 +239,7 @@
|
||||||
isCart: true,
|
isCart: true,
|
||||||
cart_id: '',
|
cart_id: '',
|
||||||
attrValue: '', //已选属性
|
attrValue: '', //已选属性
|
||||||
|
attrTxt: '',
|
||||||
uniqueValue: "",
|
uniqueValue: "",
|
||||||
newVal: {},
|
newVal: {},
|
||||||
goods: {},
|
goods: {},
|
||||||
|
@ -251,15 +254,7 @@
|
||||||
])),
|
])),
|
||||||
onReady() {},
|
onReady() {},
|
||||||
mounted: function() {},
|
mounted: function() {},
|
||||||
onLoad: function(options) {
|
onLoad: function(options) {},
|
||||||
let userInfo = this.$store.state.app.userInfo;
|
|
||||||
if(typeof userInfo == 'string') userInfo = JSON.parse(userInfo);
|
|
||||||
if (userInfo?.mer_info?.length == 0) {
|
|
||||||
uni.showModal({
|
|
||||||
title: '暂无商户信息'
|
|
||||||
})
|
|
||||||
}
|
|
||||||
},
|
|
||||||
onShow: function() {
|
onShow: function() {
|
||||||
let that = this
|
let that = this
|
||||||
let routes = getCurrentPages();
|
let routes = getCurrentPages();
|
||||||
|
@ -393,32 +388,6 @@
|
||||||
this.$set(this.attr, 'cartAttr', false);
|
this.$set(this.attr, 'cartAttr', false);
|
||||||
this.$set(this, 'isOpen', false);
|
this.$set(this, 'isOpen', false);
|
||||||
},
|
},
|
||||||
/*
|
|
||||||
* 更改商品属性
|
|
||||||
*/
|
|
||||||
changeCart: function(goods, id) {
|
|
||||||
let that = this;
|
|
||||||
if (that.goods == goods) {
|
|
||||||
that.isOpen = that.attr.cartAttr = true;
|
|
||||||
return
|
|
||||||
} else {
|
|
||||||
that.goods = JSON.parse((JSON.stringify(goods)));
|
|
||||||
that.currSku = goods.productAttr.sku.split(",");
|
|
||||||
that.$set(that.attr, 'productAttr', goods.attr);
|
|
||||||
// console.log(this.attr)
|
|
||||||
const sku = {}
|
|
||||||
that.attrValue = goods.productAttr.sku
|
|
||||||
that.attrImage = goods.product.image
|
|
||||||
goods.attrValue.forEach((itemn) => {
|
|
||||||
sku[itemn.sku] = itemn;
|
|
||||||
})
|
|
||||||
that.$set(that, 'productValue', sku);
|
|
||||||
let productSelect = sku[that.attrValue];
|
|
||||||
that.isOpen = that.attr.cartAttr = true;
|
|
||||||
//打开属性
|
|
||||||
that.DefaultSelect(goods)
|
|
||||||
}
|
|
||||||
},
|
|
||||||
/**
|
/**
|
||||||
* 默认选中属性
|
* 默认选中属性
|
||||||
*
|
*
|
||||||
|
@ -441,7 +410,6 @@
|
||||||
for (let i = 0; i < productAttr.length; i++) {
|
for (let i = 0; i < productAttr.length; i++) {
|
||||||
this.$set(productAttr[i], "index", value[i]);
|
this.$set(productAttr[i], "index", value[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
let productSelect = this.productValue[value.join(",")];
|
let productSelect = this.productValue[value.join(",")];
|
||||||
if (productSelect && productAttr.length) {
|
if (productSelect && productAttr.length) {
|
||||||
this.$set(
|
this.$set(
|
||||||
|
@ -452,6 +420,7 @@
|
||||||
this.$set(this.attr.productSelect, "image", productSelect.image ? productSelect.image : goods.product
|
this.$set(this.attr.productSelect, "image", productSelect.image ? productSelect.image : goods.product
|
||||||
.image);
|
.image);
|
||||||
this.$set(this.attr.productSelect, "price", productSelect.price);
|
this.$set(this.attr.productSelect, "price", productSelect.price);
|
||||||
|
this.$set(this.attr.productSelect, "procure_price", productSelect.procure_price);
|
||||||
this.$set(this.attr.productSelect, "stock", productSelect.stock);
|
this.$set(this.attr.productSelect, "stock", productSelect.stock);
|
||||||
this.$set(this.attr.productSelect, "unique", productSelect.unique);
|
this.$set(this.attr.productSelect, "unique", productSelect.unique);
|
||||||
this.$set(this.attr.productSelect, "svip_price", productSelect.svip_price);
|
this.$set(this.attr.productSelect, "svip_price", productSelect.svip_price);
|
||||||
|
@ -471,6 +440,7 @@
|
||||||
);
|
);
|
||||||
this.$set(this.attr.productSelect, "image", goods.product.image);
|
this.$set(this.attr.productSelect, "image", goods.product.image);
|
||||||
this.$set(this.attr.productSelect, "price", goods.product.price);
|
this.$set(this.attr.productSelect, "price", goods.product.price);
|
||||||
|
this.$set(this.attr.productSelect, "procure_price", goods.product.price);
|
||||||
this.$set(this.attr.productSelect, "svip_price", productSelect.svip_price);
|
this.$set(this.attr.productSelect, "svip_price", productSelect.svip_price);
|
||||||
this.$set(this.attr.productSelect, "stock", 0);
|
this.$set(this.attr.productSelect, "stock", 0);
|
||||||
this.$set(this.attr.productSelect, "unique", "");
|
this.$set(this.attr.productSelect, "unique", "");
|
||||||
|
@ -486,6 +456,7 @@
|
||||||
);
|
);
|
||||||
this.$set(this.attr.productSelect, "image", goods.product.image);
|
this.$set(this.attr.productSelect, "image", goods.product.image);
|
||||||
this.$set(this.attr.productSelect, "price", goods.product.price);
|
this.$set(this.attr.productSelect, "price", goods.product.price);
|
||||||
|
this.$set(this.attr.productSelect, "procure_price", goods.product.price);
|
||||||
this.$set(this.attr.productSelect, "svip_price", productSelect.svip_price);
|
this.$set(this.attr.productSelect, "svip_price", productSelect.svip_price);
|
||||||
this.$set(this.attr.productSelect, "stock", goods.product.stock);
|
this.$set(this.attr.productSelect, "stock", goods.product.stock);
|
||||||
this.$set(this.attr.productSelect, "unique", goods.product.unique || "");
|
this.$set(this.attr.productSelect, "unique", goods.product.unique || "");
|
||||||
|
@ -497,6 +468,7 @@
|
||||||
this.$set(this.attr.productSelect, "store_name", goods.product.store_name);
|
this.$set(this.attr.productSelect, "store_name", goods.product.store_name);
|
||||||
this.$set(this.attr.productSelect, "image", productSelect.image);
|
this.$set(this.attr.productSelect, "image", productSelect.image);
|
||||||
this.$set(this.attr.productSelect, "price", productSelect.price);
|
this.$set(this.attr.productSelect, "price", productSelect.price);
|
||||||
|
this.$set(this.attr.productSelect, "procure_price", productSelect.procure_price);
|
||||||
this.$set(this.attr.productSelect, "svip_price", productSelect.svip_price);
|
this.$set(this.attr.productSelect, "svip_price", productSelect.svip_price);
|
||||||
this.$set(this.attr.productSelect, "stock", productSelect.stock);
|
this.$set(this.attr.productSelect, "stock", productSelect.stock);
|
||||||
this.$set(this.attr.productSelect, "unique", productSelect.unique);
|
this.$set(this.attr.productSelect, "unique", productSelect.unique);
|
||||||
|
@ -511,6 +483,33 @@
|
||||||
}
|
}
|
||||||
this.goCart(productSelect);
|
this.goCart(productSelect);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 更改商品属性
|
||||||
|
*/
|
||||||
|
changeCart: function(goods, id) {
|
||||||
|
let that = this;
|
||||||
|
if (that.goods == goods) {
|
||||||
|
that.isOpen = that.attr.cartAttr = true;
|
||||||
|
return
|
||||||
|
} else {
|
||||||
|
that.goods = JSON.parse((JSON.stringify(goods)));
|
||||||
|
that.currSku = goods.productAttr.sku.split(",");
|
||||||
|
that.$set(that.attr, 'productAttr', goods.attr);
|
||||||
|
// console.log(this.attr)
|
||||||
|
const sku = {}
|
||||||
|
that.attrValue = goods.productAttr.sku
|
||||||
|
that.attrImage = goods.product.image
|
||||||
|
goods.attrValue.forEach((itemn) => {
|
||||||
|
sku[itemn.sku] = itemn;
|
||||||
|
})
|
||||||
|
that.$set(that, 'productValue', sku);
|
||||||
|
let productSelect = sku[that.attrValue];
|
||||||
|
that.isOpen = that.attr.cartAttr = true;
|
||||||
|
//打开属性
|
||||||
|
that.DefaultSelect(goods)
|
||||||
|
}
|
||||||
|
},
|
||||||
goCart(productSelect) {
|
goCart(productSelect) {
|
||||||
let that = this;
|
let that = this;
|
||||||
//如果有属性,没有选择,提示用户选择
|
//如果有属性,没有选择,提示用户选择
|
||||||
|
@ -544,6 +543,7 @@
|
||||||
if (productSelect && productSelect.stock > 0) {
|
if (productSelect && productSelect.stock > 0) {
|
||||||
this.$set(this.attr.productSelect, "image", productSelect.image ? productSelect.image : this.attrImage);
|
this.$set(this.attr.productSelect, "image", productSelect.image ? productSelect.image : this.attrImage);
|
||||||
this.$set(this.attr.productSelect, "price", productSelect.price);
|
this.$set(this.attr.productSelect, "price", productSelect.price);
|
||||||
|
this.$set(this.attr.productSelect, "procure_price", productSelect.procure_price);
|
||||||
this.$set(this.attr.productSelect, "stock", productSelect.stock);
|
this.$set(this.attr.productSelect, "stock", productSelect.stock);
|
||||||
this.$set(this.attr.productSelect, "unique", productSelect.unique);
|
this.$set(this.attr.productSelect, "unique", productSelect.unique);
|
||||||
this.$set(this, "uniqueValue", productSelect.unique);
|
this.$set(this, "uniqueValue", productSelect.unique);
|
||||||
|
@ -552,6 +552,7 @@
|
||||||
} else {
|
} else {
|
||||||
this.$set(this.attr.productSelect, "image", productSelect.image ? productSelect.image : this.attrImage);
|
this.$set(this.attr.productSelect, "image", productSelect.image ? productSelect.image : this.attrImage);
|
||||||
this.$set(this.attr.productSelect, "price", productSelect.price);
|
this.$set(this.attr.productSelect, "price", productSelect.price);
|
||||||
|
this.$set(this.attr.productSelect, "procure_price", productSelect.procure_price);
|
||||||
this.$set(this.attr.productSelect, "stock", 0);
|
this.$set(this.attr.productSelect, "stock", 0);
|
||||||
this.$set(this.attr.productSelect, "unique", "");
|
this.$set(this.attr.productSelect, "unique", "");
|
||||||
this.$set(this.attr.productSelect, "cart_num", 0);
|
this.$set(this.attr.productSelect, "cart_num", 0);
|
||||||
|
@ -768,7 +769,7 @@
|
||||||
// 总金额 //总数
|
// 总金额 //总数
|
||||||
el.list.forEach(e => {
|
el.list.forEach(e => {
|
||||||
if (e.check) {
|
if (e.check) {
|
||||||
totalMoney = this.$util.$h.Add(totalMoney, this.$util.$h.Mul(e.productAttr.price, e.cart_num))
|
totalMoney = this.$util.$h.Add(totalMoney, this.$util.$h.Mul(e.productAttr.procure_price, e.cart_num))
|
||||||
totalNum += e.cart_num
|
totalNum += e.cart_num
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
@ -1232,6 +1233,8 @@
|
||||||
background-color: #fafafa;
|
background-color: #fafafa;
|
||||||
position: fixed;
|
position: fixed;
|
||||||
padding: 0 30rpx;
|
padding: 0 30rpx;
|
||||||
|
padding-bottom: constant(safe-area-inset-bottom);
|
||||||
|
padding-bottom: env(safe-area-inset-bottom);
|
||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
border-top: 1px solid #eee;
|
border-top: 1px solid #eee;
|
||||||
bottom: var(--window-bottom, 0);
|
bottom: var(--window-bottom, 0);
|
||||||
|
|
|
@ -52,7 +52,7 @@
|
||||||
v-if="goods.product.once_max_count>0">最多{{goods.product.once_max_count}}件</text>
|
v-if="goods.product.once_max_count>0">最多{{goods.product.once_max_count}}件</text>
|
||||||
</view>
|
</view>
|
||||||
<view class='money acea-row row-middle'>
|
<view class='money acea-row row-middle'>
|
||||||
<text>¥{{goods.productAttr.price}}</text>
|
<text>¥{{goods.productAttr.procure_price}}</text>
|
||||||
<view v-if="goods.productAttr.show_svip_price" class="vipImg">
|
<view v-if="goods.productAttr.show_svip_price" class="vipImg">
|
||||||
<image src="/static/images/svip.png"></image>
|
<image src="/static/images/svip.png"></image>
|
||||||
</view>
|
</view>
|
||||||
|
@ -229,7 +229,9 @@
|
||||||
attr: {
|
attr: {
|
||||||
cartAttr: false,
|
cartAttr: false,
|
||||||
productAttr: [],
|
productAttr: [],
|
||||||
productSelect: {}
|
productSelect: {
|
||||||
|
procure_price: ''
|
||||||
|
}
|
||||||
},
|
},
|
||||||
isOpen: false, //是否打开属性组件
|
isOpen: false, //是否打开属性组件
|
||||||
source: '',
|
source: '',
|
||||||
|
@ -237,6 +239,7 @@
|
||||||
isCart: true,
|
isCart: true,
|
||||||
cart_id: '',
|
cart_id: '',
|
||||||
attrValue: '', //已选属性
|
attrValue: '', //已选属性
|
||||||
|
attrTxt: '',
|
||||||
uniqueValue: "",
|
uniqueValue: "",
|
||||||
newVal: {},
|
newVal: {},
|
||||||
goods: {},
|
goods: {},
|
||||||
|
@ -385,32 +388,6 @@
|
||||||
this.$set(this.attr, 'cartAttr', false);
|
this.$set(this.attr, 'cartAttr', false);
|
||||||
this.$set(this, 'isOpen', false);
|
this.$set(this, 'isOpen', false);
|
||||||
},
|
},
|
||||||
/*
|
|
||||||
* 更改商品属性
|
|
||||||
*/
|
|
||||||
changeCart: function(goods, id) {
|
|
||||||
let that = this;
|
|
||||||
if (that.goods == goods) {
|
|
||||||
that.isOpen = that.attr.cartAttr = true;
|
|
||||||
return
|
|
||||||
} else {
|
|
||||||
that.goods = JSON.parse((JSON.stringify(goods)));
|
|
||||||
that.currSku = goods.productAttr.sku.split(",");
|
|
||||||
that.$set(that.attr, 'productAttr', goods.attr);
|
|
||||||
// console.log(this.attr)
|
|
||||||
const sku = {}
|
|
||||||
that.attrValue = goods.productAttr.sku
|
|
||||||
that.attrImage = goods.product.image
|
|
||||||
goods.attrValue.forEach((itemn) => {
|
|
||||||
sku[itemn.sku] = itemn;
|
|
||||||
})
|
|
||||||
that.$set(that, 'productValue', sku);
|
|
||||||
let productSelect = sku[that.attrValue];
|
|
||||||
that.isOpen = that.attr.cartAttr = true;
|
|
||||||
//打开属性
|
|
||||||
that.DefaultSelect(goods)
|
|
||||||
}
|
|
||||||
},
|
|
||||||
/**
|
/**
|
||||||
* 默认选中属性
|
* 默认选中属性
|
||||||
*
|
*
|
||||||
|
@ -433,7 +410,6 @@
|
||||||
for (let i = 0; i < productAttr.length; i++) {
|
for (let i = 0; i < productAttr.length; i++) {
|
||||||
this.$set(productAttr[i], "index", value[i]);
|
this.$set(productAttr[i], "index", value[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
let productSelect = this.productValue[value.join(",")];
|
let productSelect = this.productValue[value.join(",")];
|
||||||
if (productSelect && productAttr.length) {
|
if (productSelect && productAttr.length) {
|
||||||
this.$set(
|
this.$set(
|
||||||
|
@ -444,6 +420,7 @@
|
||||||
this.$set(this.attr.productSelect, "image", productSelect.image ? productSelect.image : goods.product
|
this.$set(this.attr.productSelect, "image", productSelect.image ? productSelect.image : goods.product
|
||||||
.image);
|
.image);
|
||||||
this.$set(this.attr.productSelect, "price", productSelect.price);
|
this.$set(this.attr.productSelect, "price", productSelect.price);
|
||||||
|
this.$set(this.attr.productSelect, "procure_price", productSelect.procure_price);
|
||||||
this.$set(this.attr.productSelect, "stock", productSelect.stock);
|
this.$set(this.attr.productSelect, "stock", productSelect.stock);
|
||||||
this.$set(this.attr.productSelect, "unique", productSelect.unique);
|
this.$set(this.attr.productSelect, "unique", productSelect.unique);
|
||||||
this.$set(this.attr.productSelect, "svip_price", productSelect.svip_price);
|
this.$set(this.attr.productSelect, "svip_price", productSelect.svip_price);
|
||||||
|
@ -463,6 +440,7 @@
|
||||||
);
|
);
|
||||||
this.$set(this.attr.productSelect, "image", goods.product.image);
|
this.$set(this.attr.productSelect, "image", goods.product.image);
|
||||||
this.$set(this.attr.productSelect, "price", goods.product.price);
|
this.$set(this.attr.productSelect, "price", goods.product.price);
|
||||||
|
this.$set(this.attr.productSelect, "procure_price", goods.product.price);
|
||||||
this.$set(this.attr.productSelect, "svip_price", productSelect.svip_price);
|
this.$set(this.attr.productSelect, "svip_price", productSelect.svip_price);
|
||||||
this.$set(this.attr.productSelect, "stock", 0);
|
this.$set(this.attr.productSelect, "stock", 0);
|
||||||
this.$set(this.attr.productSelect, "unique", "");
|
this.$set(this.attr.productSelect, "unique", "");
|
||||||
|
@ -478,6 +456,7 @@
|
||||||
);
|
);
|
||||||
this.$set(this.attr.productSelect, "image", goods.product.image);
|
this.$set(this.attr.productSelect, "image", goods.product.image);
|
||||||
this.$set(this.attr.productSelect, "price", goods.product.price);
|
this.$set(this.attr.productSelect, "price", goods.product.price);
|
||||||
|
this.$set(this.attr.productSelect, "procure_price", goods.product.price);
|
||||||
this.$set(this.attr.productSelect, "svip_price", productSelect.svip_price);
|
this.$set(this.attr.productSelect, "svip_price", productSelect.svip_price);
|
||||||
this.$set(this.attr.productSelect, "stock", goods.product.stock);
|
this.$set(this.attr.productSelect, "stock", goods.product.stock);
|
||||||
this.$set(this.attr.productSelect, "unique", goods.product.unique || "");
|
this.$set(this.attr.productSelect, "unique", goods.product.unique || "");
|
||||||
|
@ -489,6 +468,7 @@
|
||||||
this.$set(this.attr.productSelect, "store_name", goods.product.store_name);
|
this.$set(this.attr.productSelect, "store_name", goods.product.store_name);
|
||||||
this.$set(this.attr.productSelect, "image", productSelect.image);
|
this.$set(this.attr.productSelect, "image", productSelect.image);
|
||||||
this.$set(this.attr.productSelect, "price", productSelect.price);
|
this.$set(this.attr.productSelect, "price", productSelect.price);
|
||||||
|
this.$set(this.attr.productSelect, "procure_price", productSelect.procure_price);
|
||||||
this.$set(this.attr.productSelect, "svip_price", productSelect.svip_price);
|
this.$set(this.attr.productSelect, "svip_price", productSelect.svip_price);
|
||||||
this.$set(this.attr.productSelect, "stock", productSelect.stock);
|
this.$set(this.attr.productSelect, "stock", productSelect.stock);
|
||||||
this.$set(this.attr.productSelect, "unique", productSelect.unique);
|
this.$set(this.attr.productSelect, "unique", productSelect.unique);
|
||||||
|
@ -503,6 +483,33 @@
|
||||||
}
|
}
|
||||||
this.goCart(productSelect);
|
this.goCart(productSelect);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
/*
|
||||||
|
* 更改商品属性
|
||||||
|
*/
|
||||||
|
changeCart: function(goods, id) {
|
||||||
|
let that = this;
|
||||||
|
if (that.goods == goods) {
|
||||||
|
that.isOpen = that.attr.cartAttr = true;
|
||||||
|
return
|
||||||
|
} else {
|
||||||
|
that.goods = JSON.parse((JSON.stringify(goods)));
|
||||||
|
that.currSku = goods.productAttr.sku.split(",");
|
||||||
|
that.$set(that.attr, 'productAttr', goods.attr);
|
||||||
|
// console.log(this.attr)
|
||||||
|
const sku = {}
|
||||||
|
that.attrValue = goods.productAttr.sku
|
||||||
|
that.attrImage = goods.product.image
|
||||||
|
goods.attrValue.forEach((itemn) => {
|
||||||
|
sku[itemn.sku] = itemn;
|
||||||
|
})
|
||||||
|
that.$set(that, 'productValue', sku);
|
||||||
|
let productSelect = sku[that.attrValue];
|
||||||
|
that.isOpen = that.attr.cartAttr = true;
|
||||||
|
//打开属性
|
||||||
|
that.DefaultSelect(goods)
|
||||||
|
}
|
||||||
|
},
|
||||||
goCart(productSelect) {
|
goCart(productSelect) {
|
||||||
let that = this;
|
let that = this;
|
||||||
//如果有属性,没有选择,提示用户选择
|
//如果有属性,没有选择,提示用户选择
|
||||||
|
@ -536,6 +543,7 @@
|
||||||
if (productSelect && productSelect.stock > 0) {
|
if (productSelect && productSelect.stock > 0) {
|
||||||
this.$set(this.attr.productSelect, "image", productSelect.image ? productSelect.image : this.attrImage);
|
this.$set(this.attr.productSelect, "image", productSelect.image ? productSelect.image : this.attrImage);
|
||||||
this.$set(this.attr.productSelect, "price", productSelect.price);
|
this.$set(this.attr.productSelect, "price", productSelect.price);
|
||||||
|
this.$set(this.attr.productSelect, "procure_price", productSelect.procure_price);
|
||||||
this.$set(this.attr.productSelect, "stock", productSelect.stock);
|
this.$set(this.attr.productSelect, "stock", productSelect.stock);
|
||||||
this.$set(this.attr.productSelect, "unique", productSelect.unique);
|
this.$set(this.attr.productSelect, "unique", productSelect.unique);
|
||||||
this.$set(this, "uniqueValue", productSelect.unique);
|
this.$set(this, "uniqueValue", productSelect.unique);
|
||||||
|
@ -544,6 +552,7 @@
|
||||||
} else {
|
} else {
|
||||||
this.$set(this.attr.productSelect, "image", productSelect.image ? productSelect.image : this.attrImage);
|
this.$set(this.attr.productSelect, "image", productSelect.image ? productSelect.image : this.attrImage);
|
||||||
this.$set(this.attr.productSelect, "price", productSelect.price);
|
this.$set(this.attr.productSelect, "price", productSelect.price);
|
||||||
|
this.$set(this.attr.productSelect, "procure_price", productSelect.procure_price);
|
||||||
this.$set(this.attr.productSelect, "stock", 0);
|
this.$set(this.attr.productSelect, "stock", 0);
|
||||||
this.$set(this.attr.productSelect, "unique", "");
|
this.$set(this.attr.productSelect, "unique", "");
|
||||||
this.$set(this.attr.productSelect, "cart_num", 0);
|
this.$set(this.attr.productSelect, "cart_num", 0);
|
||||||
|
@ -760,7 +769,7 @@
|
||||||
// 总金额 //总数
|
// 总金额 //总数
|
||||||
el.list.forEach(e => {
|
el.list.forEach(e => {
|
||||||
if (e.check) {
|
if (e.check) {
|
||||||
totalMoney = this.$util.$h.Add(totalMoney, this.$util.$h.Mul(e.productAttr.price, e.cart_num))
|
totalMoney = this.$util.$h.Add(totalMoney, this.$util.$h.Mul(e.productAttr.procure_price, e.cart_num))
|
||||||
totalNum += e.cart_num
|
totalNum += e.cart_num
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
|
@ -76,8 +76,6 @@
|
||||||
<u--image :showLoading="true" src="/static/images/GXSC/DH.png" width="33.85rpx"
|
<u--image :showLoading="true" src="/static/images/GXSC/DH.png" width="33.85rpx"
|
||||||
height="33.85rpx"></u--image>
|
height="33.85rpx"></u--image>
|
||||||
<text> {{item.service_phone}}</text>
|
<text> {{item.service_phone}}</text>
|
||||||
</view>
|
|
||||||
<view class="li" style="align-items: center;">
|
|
||||||
<u--image :showLoading="true" src="/static/images/GXSC/SJ.png" width="33.85rpx"
|
<u--image :showLoading="true" src="/static/images/GXSC/SJ.png" width="33.85rpx"
|
||||||
height="33.85rpx"></u--image>
|
height="33.85rpx"></u--image>
|
||||||
<text>{{item.mer_take_time[0]}}-{{item.mer_take_time[1]}}</text>
|
<text>{{item.mer_take_time[0]}}-{{item.mer_take_time[1]}}</text>
|
||||||
|
|
|
@ -40,10 +40,10 @@
|
||||||
moreThanFlag: true,
|
moreThanFlag: true,
|
||||||
formList: [{
|
formList: [{
|
||||||
id: 1,
|
id: 1,
|
||||||
label: '售价',
|
label: '零售价',
|
||||||
type: 'digit',
|
type: 'digit',
|
||||||
model: 'price',
|
model: 'price',
|
||||||
holder: '请填写售价',
|
holder: '请填写零售价',
|
||||||
require: true,
|
require: true,
|
||||||
}, {
|
}, {
|
||||||
id: 10,
|
id: 10,
|
||||||
|
@ -61,14 +61,6 @@
|
||||||
model: 'cost',
|
model: 'cost',
|
||||||
require: true,
|
require: true,
|
||||||
},
|
},
|
||||||
{
|
|
||||||
id: 3,
|
|
||||||
label: '批发价',
|
|
||||||
type: 'digit',
|
|
||||||
holder: '请填写批发价',
|
|
||||||
model: 'ot_price',
|
|
||||||
require: true,
|
|
||||||
}
|
|
||||||
],
|
],
|
||||||
moreThanList: [{
|
moreThanList: [{
|
||||||
id: 6,
|
id: 6,
|
||||||
|
@ -157,6 +149,20 @@
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
this.singleSpecification.bar_code = this.$props.bar_code + '';
|
this.singleSpecification.bar_code = this.$props.bar_code + '';
|
||||||
|
let userInfo = this.$store.state.app.userInfo;
|
||||||
|
if(typeof userInfo == 'string') userInfo = JSON.parse(userInfo);
|
||||||
|
// 市级供应链才需填写批发价
|
||||||
|
if(userInfo.mer_info?.type_code=="TypeSupplyChain"){
|
||||||
|
this.formList.unshift({
|
||||||
|
id: 3,
|
||||||
|
label: '批发价',
|
||||||
|
type: 'digit',
|
||||||
|
holder: '请填写批发价',
|
||||||
|
model: 'procure_price',
|
||||||
|
require: true,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
// if (!this.$props.product_id) {
|
// if (!this.$props.product_id) {
|
||||||
// this.formList.push({
|
// this.formList.push({
|
||||||
// id: 10,
|
// id: 10,
|
||||||
|
@ -179,7 +185,9 @@
|
||||||
spliceMoreThan() {
|
spliceMoreThan() {
|
||||||
this.moreThanFlag = true;
|
this.moreThanFlag = true;
|
||||||
// this.formList.splice(!this.$props.product_id ? 2 : 1, this.formList.length);
|
// this.formList.splice(!this.$props.product_id ? 2 : 1, this.formList.length);
|
||||||
this.formList.splice(4, this.formList.length);
|
if(this.$store.state.app?.userInfo?.mer_info?.type_code=="TypeSupplyChain")
|
||||||
|
this.formList.splice(4, this.formList.length);
|
||||||
|
else this.formList.splice(3, this.formList.length);
|
||||||
},
|
},
|
||||||
input(val) {
|
input(val) {
|
||||||
this.singleSpecification = val
|
this.singleSpecification = val
|
||||||
|
|
|
@ -263,16 +263,18 @@
|
||||||
Object.keys(info).forEach(key=>{
|
Object.keys(info).forEach(key=>{
|
||||||
postData[key]=info[key];
|
postData[key]=info[key];
|
||||||
})
|
})
|
||||||
postData.stock = postData.attrValue[0]?.stock;
|
postData.stock = postData?.attrValue[0]?.stock||0;
|
||||||
// console.log(postData);
|
// console.log(postData);
|
||||||
if(!postData.store_name||postData.store_name?.trim().length<=0)return Toast('请输入商品名称');
|
if(!postData.store_name||postData.store_name?.trim().length<=0)return Toast('请输入商品名称');
|
||||||
if(!postData.imageList||postData.imageList?.length<2)return Toast('请上传2张以上商品图片');
|
if(!postData.imageList||postData.imageList?.length<2)return Toast('请上传2张以上商品图片');
|
||||||
if(!postData.cate_name||postData.cate_name?.trim().length<=0)return Toast('请选择平台分类');
|
if(!postData.cate_name||postData.cate_name?.trim().length<=0)return Toast('请选择平台分类');
|
||||||
if(!postData.unit_name||postData.unit_name?.trim().length<=0)return Toast('请输入商品单位');
|
if(!postData.unit_name||postData.unit_name?.trim().length<=0)return Toast('请输入商品单位');
|
||||||
if(!postData.attrValue[0]?.price||postData.attrValue[0]?.price<0)return Toast('价格不能小于0');
|
let userInfo = this.$store.state.app.userInfo;
|
||||||
|
if(typeof userInfo == 'string')userInfo= JSON.parse(userInfo);
|
||||||
|
if(userInfo?.mer_info?.type_code=="TypeSupplyChain" && (!postData.attrValue[0]?.procure_price||postData.attrValue[0]?.procure_price<=0) )return Toast('批发价不能小于0');
|
||||||
|
if(!postData.attrValue[0]?.price||postData.attrValue[0]?.price<=0)return Toast('零售价不能小于0');
|
||||||
if(!postData.stock||postData.stock<0)return Toast('库存不能小于0');
|
if(!postData.stock||postData.stock<0)return Toast('库存不能小于0');
|
||||||
if(!postData.attrValue[0]?.cost||postData.attrValue[0]?.cost<0)return Toast('成本价不能小于0');
|
if(!postData.attrValue[0]?.cost||postData.attrValue[0]?.cost<=0)return Toast('成本价不能小于0');
|
||||||
if(!postData.attrValue[0]?.ot_price||postData.attrValue[0]?.ot_price<0)return Toast('批发价不能小于0');
|
|
||||||
// if(!postData.content.title||postData.content.title?.trim().length<=0)return Toast('请输入商品详情');
|
// if(!postData.content.title||postData.content.title?.trim().length<=0)return Toast('请输入商品详情');
|
||||||
// if(!postData.content.image||postData.content.image?.length<=0)return Toast('请上传商品图片');
|
// if(!postData.content.image||postData.content.image?.length<=0)return Toast('请上传商品图片');
|
||||||
// return Toast('通过');
|
// return Toast('通过');
|
||||||
|
|
|
@ -1027,7 +1027,8 @@
|
||||||
address_id: address_id,
|
address_id: address_id,
|
||||||
takes: that.take,
|
takes: that.take,
|
||||||
use_coupon: that.subCoupon,
|
use_coupon: that.subCoupon,
|
||||||
use_integral: that.use_integral
|
use_integral: that.use_integral,
|
||||||
|
// source: 0
|
||||||
}).then(res => {
|
}).then(res => {
|
||||||
// 默认选中
|
// 默认选中
|
||||||
that.product_type=res.data.order_type
|
that.product_type=res.data.order_type
|
||||||
|
@ -1043,7 +1044,7 @@
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
that.subCoupon['0'] = []
|
that.subCoupon['0'] = []
|
||||||
if (res.data.platformCoupon.length > 0) {
|
if (res.data?.platformCoupon?.length > 0) {
|
||||||
res.data.platformCoupon.forEach(el => {
|
res.data.platformCoupon.forEach(el => {
|
||||||
if (el.checked) {
|
if (el.checked) {
|
||||||
that.subCoupon[el.mer_id] = []
|
that.subCoupon[el.mer_id] = []
|
||||||
|
@ -1103,6 +1104,7 @@
|
||||||
})
|
})
|
||||||
uni.hideLoading();
|
uni.hideLoading();
|
||||||
}).catch(err => {
|
}).catch(err => {
|
||||||
|
console.log('err', err);
|
||||||
return this.$util.Tips({
|
return this.$util.Tips({
|
||||||
title: err
|
title: err
|
||||||
}, {
|
}, {
|
||||||
|
|
Binary file not shown.
After Width: | Height: | Size: 391 B |
Binary file not shown.
After Width: | Height: | Size: 1.5 KiB |
Binary file not shown.
After Width: | Height: | Size: 2.3 KiB |
Binary file not shown.
After Width: | Height: | Size: 1.2 KiB |
Binary file not shown.
After Width: | Height: | Size: 1.1 KiB |
Loading…
Reference in New Issue