Compare commits

...

5 Commits

  1. 41
      components/cart-choose/cart-choose.vue
  2. 47
      components/goods-list/goods-list.vue
  3. 35
      components/pick-regions/pick-regions.vue
  4. 1
      pages.json
  5. 5
      pages/tabBar/classify/classify.css
  6. 25
      pages/tabBar/classify/classify.vue
  7. 27
      pages/tabBar/user/user.vue
  8. 2
      pages/user/order_list/order_list.vue
  9. 18
      physical-merchants/address/addNewAddress/addNewAddress.vue
  10. 10
      physical-merchants/address/address.vue
  11. 54
      physical-merchants/classify/cart/cart.vue
  12. 8
      physical-merchants/classify/goods-search/goods-search.vue
  13. 17
      physical-merchants/classify/goodsDetail/goodsDetail.vue
  14. 95
      physical-merchants/classify/order/orderDetail.vue
  15. 23
      physical-merchants/classify/order/pay.vue
  16. 2
      physical-merchants/classify/order/paymentResult.vue
  17. 11
      physical-merchants/classify/order/trackNode/trackNode.vue
  18. 70
      physical-merchants/classify/order/wuliuPupup/wuliuPupup.vue
  19. 16
      physical-merchants/settleAccounts/detail-popup/detail-popup.vue
  20. 44
      physical-merchants/settleAccounts/settleAccounts.vue
  21. 4
      uni_modules/uni-number-box/components/uni-number-box/uni-number-box.vue

@ -57,7 +57,7 @@
<!-- 数量分类 -->
<view class="choose-bottom-title paddbotm10 fontwig6 font14 mart15 choose-num">
<view class="">购买数量</view>
<uni-number-box v-model="chooseNumber" :min="1" :max="specificationList[chooseIndex].stock || 9999999" @noMoreLess="noMoreLess" @change="changeNumValue" />
<uni-number-box v-model="chooseNumber" :disabled="specificationList[chooseIndex].stock==0" :min="1" :max="specificationList[chooseIndex].stock || 9999999" @noMoreLess="noMoreLess" @noMore="noMore" @change="changeNumValue" />
</view>
</view>
@ -114,7 +114,9 @@
props:{
specificationList:{
type:Array,
default:[],
default() {
return []
},
},
// 0,1
status:{
@ -123,29 +125,31 @@
},
goodsDetail:{
type:Object,
default:{}
default() {
return {}
}
}
},
watch:{
specificationList:{
handler(n,o){
this.chooseNumber = 1;
this.isAllFailure = false;
this.chooseIndex = 0;
for(let i=0;i<n.length;i++){
if(n[i].stock>0){
this.chooseIndex = i;
// console.log(this.chooseIndex,"this.chooseIndex")
return
}
// if(i == n.length-1){
// this.isAllFailure = true;
// this.chooseIndex = 0
// }
}
},
deep:true,
immediate: true, //
}
},
components:{
@ -191,7 +195,14 @@
noMoreLess(){
uni.showToast({
icon: 'none',
title: "低于最少购买件数",
title: "低于最少购买数量",
duration: 1000
});
},
noMore(){
uni.showToast({
icon: 'none',
title: "超出最大购买数量",
duration: 1000
});
},
@ -207,7 +218,7 @@
insertShoppingCart(params).then(async res=>{
let title ;
if (res.return_code == '000000') {
title = res.return_data;
title = "加入购物车成功";
this.$emit("refreshCartNum")
}else{
@ -252,11 +263,13 @@
// this.$emit("close")
},
//
//change
select(index){
this.chooseIndex = index;
if(this.chooseNumber>this.specificationList[this.chooseIndex].stock){
this.chooseNumber = this.specificationList[this.chooseIndex].stock
if(this.specificationList[this.chooseIndex].stock==0){
this.chooseNumber = 0;
}else{
this.chooseNumber = 1;
}
},

@ -1,10 +1,11 @@
<template>
<view style="height: 100%;">
<!-- perspective: 1000; -->
<scroll-view v-if="typeList=='classify'" class="scroll-view goods-list" :scroll-top="scrollTop" @scroll="handleScroll" :scroll-y="true"
:lower-threshold="lowerThreshold" @scrolltolower="handleScrolltolower" @touchstart="handleTouchStart"
@touchmove.stop.prevent="handleTouchMove" @touchend="handleTouchEnd" @touch.stop>
<!-- @touchmove.stop.prevent -->
<scroll-view v-if="typeList=='classify'" class="scroll-view goods-list" :scroll-top="scrollTop"
@scroll="handleScroll" scroll-y="true" :lower-threshold="lowerThreshold"
@scrolltolower="handleScrolltolower" @touchstart="handleTouchStart"
@touchmove.stop.prevent="handleTouchMove" @touchend="handleTouchEnd">
<!-- @touchmove.stop.prevent @touch.stop -->
<view class="scroll-content1" :style="[scrollContentStyle]">
<!-- 下拉 -->
<view class="pull-down-view">
@ -75,10 +76,10 @@
<!--search-List -->
<scroll-view v-if="typeList=='goodsSearch'" :scroll-y="true" class="ht-auto goods-list"
@scroll="handleScroll" :scroll-top="scrollTop" @scrolltolower="scroll_lower" lower-threshold="30">
<scroll-view v-if="typeList=='goodsSearch'" scroll-y="true" class="ht-auto goods-list" @scroll="handleScroll"
:scroll-top="scrollTop" @scrolltolower="scroll_lower" lower-threshold="30">
<!-- <view class="right-content-actual pr bs" :style="'padding-bottom:'+paddBottom+'px;'"> -->
<view v-if="(propData || null) != null && propData.length > 0" >
<view v-if="(propData || null) != null && propData.length > 0">
<view v-for="(item, index) in propData" :key="index">
<view @click="goGoodsDetail(item.id)" class="goods-item bs">
@ -129,7 +130,7 @@
</view>
</view>
<!-- 选择类别 -->
<wybPopup ref="popup" type="bottom" height="500" width="500" scrollY="true" radius="6" :showCloseIcon="true">
<wybPopup ref="popup" zIndex="999" type="bottom" height="500" width="500" :scrollY="true" radius="6" :showCloseIcon="true">
<cart-choose @refreshCartNum="refreshCartNum" :specificationList="specificationList" @close="close">
</cart-choose>
@ -155,8 +156,8 @@
imageUrl: app.globalData.imgUrl, //
imagewxUrl: app.globalData.imageWxImg,
imgadres: 'goods_default_pages.png',
scrollTop:0,
currentScrollTop:0,
scrollTop: 0,
currentScrollTop: 0,
// start
refresherThreshold: 50,
lowerThreshold: 50,
@ -205,7 +206,9 @@
props: {
propData: {
type: Array,
default: null
default () {
return []
}
},
paddBottom: {
type: Number,
@ -213,18 +216,22 @@
},
pageData: {
type: Object,
default: {
default() {
return {
pageStart: 1,
pageNum: 0,
allData: 0
}
}
},
selectObject: {
type: Object,
default: {
default(){
return {
selectIndex: 0,
length: 0
}
}
},
typeList: {
type: String,
@ -261,8 +268,8 @@
pullUpHeight,
pullingUp
} = this;
style.transform = pullingDown&&!pullingUp ? `translateY(${pullDownHeight}px)` : `translateY(0px)`;
style.transition = pullingDown&&!pullingUp ? `transform .1s linear` :
style.transform = pullingDown && !pullingUp ? `translateY(${pullDownHeight}px)` : `translateY(0px)`;
style.transition = pullingDown && !pullingUp ? `transform .1s linear` :
`transform 0.3s cubic-bezier(0.19,1.64,0.42,0.72)`;
return style;
},
@ -314,13 +321,14 @@
let params = {
goodsId: id
};
console.log(params)
// console.log(params)
findGoodsSkuByGoodsId(params).then(res => {
if (res.return_code == '000000') {
if (res.return_data && res.return_data.length > 0) {
this.specificationList = res.return_data;
this.$refs.popup.show();
// console.log(this.specificationList)
} else {
this.specificationList = [];
}
@ -486,14 +494,16 @@
width: 35px;
height: 35px;
color: #3DA7E7 !important;
.font40{
.font40 {
font-size: 35px !important;
color: #F0AD4E;
}
}
.searchCart{
.searchCart {
bottom: 27px !important;
right: 30px !important;
}
@ -636,6 +646,7 @@
.scroll-content1 {
width: 100%;
padding-bottom: 40px;
// position: relative;
// height: inherit;
.empty-view {

@ -80,7 +80,7 @@
if(region.join('')!==oldRegion.join('')){
this.handleDefaultRegion(region)
}
}else if(region&&region.length == 6){
}else if(region){ //&&region.length == 6
this.handleDefaultRegion(region)
}else{
console.log(region)
@ -108,7 +108,7 @@
},
methods: {
handleColumnChange(e){
// console.log(e);
// console.log(e,"change");
this.isInitMultiArray = false;
const that = this;
let col = e.detail.column;
@ -117,14 +117,18 @@
try{
switch(col){
case 0:
that.multiIndex[1]=0;
that.multiIndex[2]=0;
if(this.CHINA_REGIONS[that.multiIndex[0]].childs.length==0){
that.cityArr = that.districtArr = [this.CHINA_REGIONS[that.multiIndex[0]]]
break;
}
that.cityArr = this.CHINA_REGIONS[that.multiIndex[0]].childs
that.districtArr = this.CHINA_REGIONS[that.multiIndex[0]].childs[that.multiIndex[1]].childs
break;
case 1:
that.multiIndex[2]=0;
that.districtArr = this.CHINA_REGIONS[that.multiIndex[0]].childs[that.multiIndex[1]].childs
break;
case 2:
@ -145,24 +149,45 @@
this.$emit('getRegion',address)
},
handleDefaultRegion(region){
// console.log(region)
const isCode = !Array.isArray(region)
this.isInitMultiArray = false;
let children = this.CHINA_REGIONS
for(let i=0;i<3;i++){
for(let j=0;j<children.length;j++){
let condition = isCode?String(children[j].code).slice(0,(i+1)*2)==region.slice(0,(i+1)*2):children[j].name.includes(region[i]);
// console.log(String(children[j].code).slice(0,(i+1)*2),region.slice(0,(i+1)*2))
let condition;
if(i==2){
condition = isCode?String(children[j].code).slice(0)==region.slice(0):children[j].name.includes(region[i]);
// console.log(String(children[j].code).slice(0),region.slice(0))
}else{
condition = isCode?String(children[j].code).slice(0,(i+1)*2)==region.slice(0,(i+1)*2):children[j].name.includes(region[i]);
}
if(condition){
//
// console.log(i,j,children.length-1);
// children = children[j].childs;
if(children[j].childs&&children[j].childs.length>0){
children = children[j].childs;
}else{
let arr = [];
arr.push(children[j]);
children =arr;
}
if(i==0){
this.cityArr = children
}else if(i==1){
this.districtArr = children
}
this.$set(this.multiIndex,i,j)
// console.log(this.multiIndex);
break;
}else{
//

@ -1183,6 +1183,7 @@
"path": "classify/order/paymentResult",
"style": {
"navigationBarTextStyle": "white",
"navigationBarBackgroundColor": "#3da7e7",
"backgroundColorTop": "#3da7e7",
"navigationBarTitleText": "支付结果",

@ -91,11 +91,12 @@
width: 100%;
}
.top-nav {
height: 150rpx;
top: 0;
/* top: 0;
left: 0;
z-index: 2;
z-index: 2; */
}
.top-nav .icon-content {

@ -1,6 +1,5 @@
<template>
<view class="" style="height: 100vh;overflow: hidden;background: linear-gradient(to bottom, #3DA7E7, #FFFFFF ) no-repeat;background-size: 100% calc(50px + 150rpx)
">
<view class="classify-contain" >
<!-- 搜索框 -->
<block >
<view class="nav-search jianbian" @click="toSearch">
@ -15,13 +14,13 @@
>
</skeleton> -->
<view v-if="category_list.length > 0" class="category-content pr " :style="'height:calc(100vh - '+(60)+'px);'">
<view v-if="category_list.length > 0" class="category-content pr " :style="'height:calc(100% - '+(60)+'px);'">
<!-- 商品列表模式 -->
<block >
<!-- 一级导航 -->
<view class="top-nav scroll-view-horizontal">
<scroll-view :scroll-x="true" >
<scroll-view style="height: 100%;" scroll-x="true" @touchmove.stop>
<block v-for="(item, index) in category_list" :key="index">
<view :class="' item dis-inline-block ' + (nav_active_index == index ? 'active-class ' : '')" :data-index="index" :data-itemtwoindex="0" @click="nav_event">
<view :class="'icon-content circle br ' + (nav_active_index == index ? 'active-border' : '')">
@ -39,7 +38,7 @@
<!-- 二级导航 -->
<view class="left-nav ">
<scroll-view :scroll-y="true" :scroll-top="scrollTop" class="ht-auto">
<scroll-view scroll-y="true" :scroll-top="scrollTop" class="ht-auto">
<view class="left-content-actual bs tc ">
<block v-if="(data_content || null) != null && (data_content.children || null) != null && data_content.children.length > 0">
@ -369,6 +368,16 @@
@import url("./classify.css");
.classify-contain{
height: calc(100vh - var(--window-bottom));
overflow: hidden;
background: linear-gradient(to bottom, #3DA7E7, #FFFFFF ) no-repeat;
background-size: 100% calc(61px + 150rpx);
}
.gouwuche {
position: absolute;
bottom: 10px;
@ -394,9 +403,9 @@
/*
*/
.item-img{
height: 40rpx;
width:40rpx;
margin-right: 12rpx;
height: 20px;
width:20px;
margin-right: 6px;
}
.spinner {

@ -285,9 +285,15 @@
url: '',
text: '客服',
img: '../../../static/img/user/user13.png'
},
{
url:"/physical-merchants/address/address",
text: '我的地址',
img: '../../../static/img/adresw.png'
}
]
return;
}
this.czList = [{
url: '/pages/goods/recording/recording',
@ -302,6 +308,11 @@
url: '',
text: '客服',
img: '../../../static/img/user/user13.png'
},
{
url:"/physical-merchants/address/address",
text: '我的地址',
img: '../../../static/img/adresw.png'
}
]
// #endif
@ -326,6 +337,11 @@
url: '',
text: '客服',
img: '../../../static/img/user/user13.png'
},
{
url:"/physical-merchants/address/address",
text: '我的地址',
img: '../../../static/img/adresw.png'
}
]
return;
@ -349,6 +365,11 @@
url: '',
text: '客服',
img: '../../../static/img/user/user13.png'
},
{
url:"/physical-merchants/address/address",
text: '我的地址',
img: '../../../static/img/adresw.png'
}
]
// #endif
@ -647,7 +668,7 @@
.user {
width: 96%;
padding: 0 4%;
padding: 0 0 0 4%;
display: flex;
align-items: center;
// position: relative;
@ -729,10 +750,10 @@
.list {
display: flex;
padding-bottom: 10upx;
flex-wrap: wrap;
.box {
width: 25%;
margin-bottom: 10px;
.img {
width: 100%;
display: flex;

@ -703,7 +703,7 @@
.list {
width: 94%;
margin: 0 auto;
overflow: auto;
.onorder {
width: 100%;
height: 50vw;

@ -68,7 +68,7 @@
<text class="font18">设为默认地址</text>
</view>
<view class="bottom-fixed padding-main">
<view class="bottom-fixed ">
<button class="btn " type="default" form-type="submit">保存</button>
</view>
</view>
@ -333,10 +333,10 @@
.bottom-fixed {
position: fixed;
left: 0;
bottom: 0;
left: 10%;
bottom:var(--window-bottom);
border: none;
width: 100%;
width: 80%;
box-sizing: border-box;
z-index: 2;
.btn{
@ -352,8 +352,8 @@
.page-bottom-fixed {
height: 100vh;
padding-bottom: 80px;
height: calc(100vh - var(--window-top));
padding-bottom: 100px;
box-sizing: border-box;
}
@ -371,8 +371,10 @@
border-radius: 0;
box-sizing: border-box;
font-size: 18px;
height: 30px;
line-height: 30px;
// height: 30px;
// min-height: 60px;
// line-height: 30px;
// padding: 8px 0;
}
}

@ -7,7 +7,7 @@
<view v-for="(item,index) in addressList" @click="chooseAddress(item)" :key="item.id"
class="border-8r paading10 backcolorfff marb10">
<view class="user-msg border-b paddbotm5">
<view class=" mart3 ">
<view class=" mart3 fontwig6">
<text class="address-name">{{item.consignee}}</text>
<text class=" margle10 ">{{item.phone}}</text>
</view>
@ -19,7 +19,7 @@
<view class="user-handle mart10">
<view class="handle-left">
<!-- <radio :checked="item.whetherDefault" style="transform:scale(0.7)" :value="item.id" color="#FF1A34" /> -->
<radio @click.stop :checked="selectId == item.id" style="transform:scale(1.1)" :value="item.id"
<radio @click.stop :checked="selectId == item.id" style="transform:scale(1.1)" :value="item.id+''"
color="#FF1A34" />
<text class=" margle">默认地址</text>
</view>
@ -246,11 +246,11 @@
}
.user-address {
height: 100vh;
height: calc(100vh - var(--window-top));
overflow: hidden;
.address-contain {
height: calc(100vh - 80px);
height: calc(100% - 100px);
width: calc(100% - 20px);
}
@ -290,7 +290,7 @@
//
.address-btn {
position: absolute;
bottom: 0;
bottom:var(--window-bottom);
left: 0;
right: 0;
display: flex;

@ -10,12 +10,12 @@
<!-- :disabled="item.loseEfficacy" -->
<uni-swipe-action-item :auto-close="autoClose" :right-options="swipe_options"
@click.stop="swipe_opt_event($event,item.id)" @change="swipe_change($event, item.id)">
@click="swipe_opt_event($event,item.id)" @change="swipe_change($event, item.id)">
<view class="cart-container2">
<checkbox-group @change="checkClick(item)">
<checkbox @click.stop class="mycheck checkContainer" :disabled="!isEdit&&item.loseEfficacy" color="#FFC71E"
:value="item.id" :checked="item.whetherCheck" />
value="item.id" :checked="item.whetherCheck" />
</checkbox-group>
<view class="cart-detail">
<view class="cart-img">
@ -71,27 +71,27 @@
</view>
<view class="cart-tool bg-white">
<view class="select-all">
<view class="cart-tool bg-white font16">
<view class="select-all dis-flex height100">
<checkbox-group @change="checkAllClick">
<label>
<label class="dis-flex">
<!-- :disabled="cartList.length == 0" -->
<checkbox class="mycheck" color="#FFC71E" :value="allCheck.value"
:checked="allCheck.whetherCheck" style="transform: scale(1.1);"/>
<text class="paddleft5 fcor777">全选</text>
<view class="paddleft5 fcor777">全选</view>
</label>
<!-- -->
</checkbox-group>
<text v-if="!isEdit" class="paddleft5 fcorred " @click="editDelete">编辑</text>
<text v-if="isEdit" class="icon-ymt delete paddleft5 fcorred" @click="deleteCart"></text>
<view v-if="!isEdit" class="paddleft5 fcorred " @click="editDelete">编辑</view>
<view v-if="isEdit" class="icon-ymt delete paddleft5 fcorred font16" @click="deleteCart">删除</view>
</view>
<text v-if="isEdit" class="tool-right paddleft5 fcorred " @click="editDelete">退出编辑</text>
<view v-if="isEdit" class="tool-right paddleft5 fcorred " @click="editDelete">退出编辑</view>
<view v-if="!isEdit" class="tool-right ">
<view class="tool-jiesuan marRight10 ">
<view class="tool-jiesuan marRight10 dis-flex">
<!-- <text v-if="priceOrigin > 0" class="fcor666 margle10 marRight10 font14 text-lt">¥{{priceOrigin}}</text> -->
合计:<text v-if="priceAll>0" class="fcorred font20">¥{{priceAll | numFormat}}</text>
<text>合计:</text> <text v-if="priceAll>0" class="fcorred font20">¥{{priceAll | numFormat}}</text>
<text v-if="priceAll==0" class="fcorred">¥{{priceAll}}</text>
</view>
@ -425,16 +425,11 @@
content: '确定把该商品移除购物车吗?',
success: function(res) {
if (res.confirm) {
console.log('用户点击确定,要删除的id', ids);
// console.log(',id', ids);
let params = {
ids: ids
};
uni.showLoading({
title: '加载中',
mask:true,
});
deleteShoppingCart(params).then(res => {
uni.hideLoading();
let title;
if (res.return_code == '000000') {
title = res.return_data;
@ -475,24 +470,12 @@
}
goodsEditNum(params).then(res => {
if (res.return_code == '000000') {
// uni.showToast({
// title: res.return_data,
// icon: 'none',
// duration: 2000
// })
} else {
//
// this.cartList.map(item=>{
// if(item.id == id){
// item.num = 1;
// }
// })
//
this.initData();
if (res.return_code == '000000') {
} else {
//
uni.showToast({
title: res.return_msg,
icon: 'none',
@ -500,6 +483,8 @@
})
}
//
this.initData();
})
@ -543,7 +528,7 @@
}
.cart-container {
height: 100vh;
height:calc(100vh - var(--window-top)) ;
padding: 10px 20rpx 0px;
box-sizing: border-box;
position: relative;
@ -648,7 +633,8 @@
//
.cart-tool {
position: absolute;
bottom: 0;
// bottom: 0;
bottom:var(--window-bottom);
left: 0;
right: 0;
box-sizing: border-box;

@ -1,6 +1,6 @@
<template>
<view class="backcor9" style="height: 100vh;overflow: hidden;">
<view class="search-container">
<!-- <view class="backcor9" style="height: 100vh;overflow: hidden;"> -->
<view class="search-container backcor9">
<!-- 搜索框 -->
<block>
<view class="nav-search jianbian">
@ -18,7 +18,7 @@
</view>
</view>
<!-- </view> -->
</template>
<script>
@ -136,7 +136,7 @@
.search-list {
height: calc(100vh - 80px);
height: calc(100vh - 80px - var(--window-top));
// padding: 20rpx;
}
}

@ -1,7 +1,7 @@
<template>
<view class="">
<!-- 商品主图轮播 -->
<view class="swiper-box">
<view class="swiper-box" v-if="goodsDetail.bannerImg">
<swiper circular="true" :autoplay="false" style="height: 288px;" @change="swiperChange">
<swiper-item class="fotct" v-for="(swiper,index) in goodsDetail.bannerImg" :key="index">
<image mode="heightFix" style="height: 100%;" :src="swiper" @click="perImage(index,goodsDetail.bannerImg)"></image>
@ -29,7 +29,7 @@
<view class=" ">
选择
</view>
<view class="color999 ">
<view class="color999 font14">
规格
</view>
<view class="icon-ymt to-right"></view>
@ -39,7 +39,7 @@
<view class=" ">
保障
</view>
<view class="color999 ">
<view class="color999 font14">
破损包赔 · 假一赔四 · 退货运费险
</view>
<view class="icon-ymt to-right"></view>
@ -60,11 +60,11 @@
</view> -->
<!-- 详情 -->
<view class="goods-desc-img br tc marb10 colorccc">
<view class="font13 goods-desc-img br tc marb10 colorccc">
商品详情
</view>
<view style="font-size: 0;" >
<image mode="widthFix" class="width100" v-for="(item,index) in goodsDetail.detailImg" :key="key"
<image mode="widthFix" class="width100" v-for="(item,index) in goodsDetail.detailImg" :key="index"
:src="item" @click="perImage(index,goodsDetail.detailImg)">
</image>
</view>
@ -89,14 +89,14 @@
<!-- 选择类别 -->
<wybPopup ref="popup" height="500" type="bottom" width="500" scrollY="true" radius="6" :showCloseIcon="true">
<wybPopup ref="popup" zIndex="999" height="500" type="bottom" width="500" :scrollY="true" radius="6" :showCloseIcon="true">
<cart-choose :goodsDetail="goodsDetail" :status="status" @refreshCartNum="refreshCartNum"
:specificationList="specificationList" @close="close"></cart-choose>
</wybPopup>
<!-- 保障 -->
<wybPopup ref="popup2" type="bottom" width="500" scrollY="true" radius="6" :showCloseIcon="true">
<wybPopup ref="popup2" type="bottom" width="500" :scrollY="true" radius="6" :showCloseIcon="true">
<view class="choose-detail baozhang-detail">
@ -202,7 +202,7 @@
goodsId: 0,
goodsDetail: null,
goodsDetail: {},
specificationList: [],
// 0,12
@ -581,6 +581,7 @@
.parameter {
display: flex;
justify-content: space-between;
align-items: center;
border-bottom: 1px solid #F6F6F6;
}

@ -12,7 +12,7 @@
</view>
</view>
<!-- 其他 -->
<view v-if="recinfo.orderStatus != 1" v-else class="order-de-title pd-main">
<view v-if="recinfo.orderStatus != 1" class="order-de-title pd-main">
<view class="font22 fcor333">
{{typeText[recinfo.orderStatus]}}
</view>
@ -21,7 +21,7 @@
</view>
</view>
<view class=" marb10 backcorfff height50 fcor333 font15 border-8r">
<view v-if="recinfo.orderStatus != 1" class=" marb10 backcorfff height50 fcor333 font15 border-8r">
<view class="width94">感谢您信任嗨森逛欢迎再次消费</view>
</view>
@ -40,7 +40,7 @@
<view class=" pd-main backcolorfff border-8r">
<!-- 商品信息 -->
<view v-for="(item,index) in goodsList" :key="index" class="marb10 flex-center-sp">
<view v-for="(item,index) in goodsList" :key="index" class="paddbotm10 flex-center-sp">
<view class="">
<image class="st-img" :src="imageUrl+item.goodsImg" mode="aspectFill"></image>
</view>
@ -63,7 +63,7 @@
还有{{goodsList2.length}}种商品<text class="icon-ymt to-down"></text>
</view>
<block v-if="moreThanThree">
<view v-for="(item,index) in goodsList2" :key="index" class="marb10 flex-center-sp">
<view v-for="(item,index) in goodsList2" :key="index" class="paddbotm10 flex-center-sp">
<view class="">
<image class="st-img" :src="imageUrl+item.goodsImg" mode="aspectFill"></image>
</view>
@ -90,12 +90,6 @@
<view class="">商品金额</view>
<view class="fontwig6"><text class="paddtright5">¥</text>{{goodsPrice | numFormat}}</view>
</view>
<!-- 优惠券 -->
<view class="flex-center-sp pd-tb10">
<view class="">优惠券</view>
<view class="fontwig6 fcorred">-<text class="paddtright5">¥</text>{{recinfo.deductionCouponPrice}}
</view>
</view>
<!-- 运费 -->
<view class="flex-center-sp pd-tb10">
@ -103,14 +97,25 @@
<!-- <text class="icon-ymt question fcor666 font16 paddleft5"></text> -->
</view>
<view class="fontwig6">
<text class="fcor666 fcorred">¥{{recinfo.goodsOrder.freightPrice || 0}}</text>
<view v-if="recinfo.goodsOrder" >
<text class="paddtright5">¥</text>{{recinfo.goodsOrder.freightPrice || 0}}
</view>
</view>
</view>
<!-- 优惠券 -->
<view class="flex-center-sp pd-tb10">
<view class="">优惠券</view>
<view class="fontwig6 fcorred">-<text class="paddtright5">¥</text>{{recinfo.deductionCouponPrice}}
</view>
</view>
<!-- 积分 -->
<view class="flex-center-sp pd-tb10">
<view class="">积分</view>
<view class="">积分抵扣</view>
<view class="fontwig6 fcorred">-<text class="paddtright5">¥</text>{{(recinfo.payGold / 100).toFixed(2)}}
</view>
</view>
@ -123,7 +128,12 @@
<view class="tr fontwig6 pd-tb10">
<!-- <text class="paddtright10">已优惠<text class="fcorred">¥ 12.01</text></text> -->
<view v-if="recinfo.orderStatus == 1 ||recinfo.orderStatus == 5 " class="dis-flex flex-end">商品总金额<text class="margle10 font22">¥{{recinfo.payPrice | numFormat}}</text> </view>
<view v-else class="dis-flex flex-end">实付 <text class="font22 margle10">¥{{recinfo.payRealPrice}}</text></view>
<view v-else class="dis-flex flex-end">
实付
<view class="font22">
<text class=" margle10 paddtright5">¥</text>{{recinfo.payRealPrice}}
</view>
</view>
</view>
@ -154,8 +164,8 @@
<!-- 收货信息 -->
<view v-if="recinfo.goodsDeliveryAddress" class="flex-center-sp pd-tb10 bordert">
<view class="fcor666 align-fs width80px">收货信息</view>
<view class="flex-1 tr">
<view class=" align-fs width80px">收货信息</view>
<view class="fcor666 flex-1 tr font16">
<view class=" ">
{{recinfo.goodsDeliveryAddress.regionName +' '+recinfo.goodsDeliveryAddress.address}}</view>
<view class=" ">{{recinfo.goodsDeliveryAddress.consignee +' '+recinfo.goodsDeliveryAddress.phone}}
@ -164,42 +174,42 @@
</view>
<!-- 物流信息 -->
<view class="flex-center-sp pd-tb10 ">
<view class="fcor666 width80px">物流信息</view>
<view class=" " @click="checkWuliu">
<view class=" width80px">物流信息</view>
<view class="fcor666 font16 " @click="checkWuliu">
查看物流信息<text class="icon-ymt to-right fcor666 font16 paddleft5"></text>
</view>
</view>
<!-- 订单编号 -->
<view class="flex-center-sp pd-tb10 ">
<view class="fcor666 width80px">订单编号</view>
<view class=" flex-center-sp">
<view class=" width80px">订单编号</view>
<view class="fcor666 flex-center-sp font16">
<text class="tr flex-1">{{orderId}}</text>
<text class=" margle10 font12 copy-num fcor666" @click="copyText(orderId)">复制</text>
</view>
</view>
<!-- 下单时间 -->
<view class="flex-center-sp pd-tb10 ">
<view class="fcor666 width80px">下单时间</view>
<view class=" ">
<view class=" width80px">下单时间</view>
<view class="font16 fcor666">
{{recinfo.createTime | formatDate('-')}}
</view>
</view>
<!-- 支付方式 -->
<view class="flex-center-sp pd-tb10 ">
<view class="fcor666 width80px">支付方式</view>
<view class=" ">
<view class=" fotrt fcor333" v-if="recinfo.payType == 1">支付宝</view>
<view class=" fotrt fcor333" v-if="recinfo.payType == 2">微信支付</view>
<view class=" fotrt fcor333" v-if="recinfo.payType == 3">积分兑换</view>
<view class=" fotrt fcor333" v-if="recinfo.payType == 4">汇联通工会卡</view>
<view class=" fotrt fcor333" v-if="recinfo.payType == 5">银联</view>
<view class=" width80px">支付方式</view>
<view class="font16 fcor666">
<view class=" fotrt " v-if="recinfo.payType == 1">支付宝</view>
<view class=" fotrt " v-if="recinfo.payType == 2">微信支付</view>
<view class=" fotrt " v-if="recinfo.payType == 3">积分兑换</view>
<view class=" fotrt " v-if="recinfo.payType == 4">汇联通工会卡</view>
<view class=" fotrt " v-if="recinfo.payType == 5">银联</view>
</view>
</view>
<!-- 备注 -->
<view class="flex-center-sp pd-tb10 ">
<view class="fcor666 width80px">备注</view>
<view class="fcor666 font13 ">
{{recinfo.remarks || "数据"}}
<view class=" width80px">备注</view>
<view class="fcor666 font16 ">
{{recinfo.remarks || "无"}}
</view>
</view>
</view>
@ -208,8 +218,8 @@
<!-- 收货信息 -->
<view v-if="recinfo.goodsDeliveryAddress" class="flex-center-sp pd-tb10 bordert">
<view class="fcor666 align-fs width80px">收货信息</view>
<view class="flex-1 tr">
<view class=" align-fs width80px">收货信息</view>
<view class="flex-1 tr fcor666 font16">
<view class=" ">
{{recinfo.goodsDeliveryAddress.regionName +' '+recinfo.goodsDeliveryAddress.address}}</view>
<view class=" ">{{recinfo.goodsDeliveryAddress.consignee +' '+recinfo.goodsDeliveryAddress.phone}}
@ -218,24 +228,24 @@
</view>
<!-- 订单编号 -->
<view class="flex-center-sp pd-tb10 ">
<view class="fcor666 width80px">订单编号</view>
<view class=" flex-center-sp">
<view class=" width80px">订单编号</view>
<view class="fcor666 flex-center-sp font16">
<text class="tr flex-1">{{orderId}}</text>
<text class=" margle10 font12 copy-num fcor666" @click="copyText(orderId)">复制</text>
</view>
</view>
<!-- 下单时间 -->
<view class="flex-center-sp pd-tb10 ">
<view class="fcor666 width80px">下单时间</view>
<view class=" ">
<view class=" width80px ">下单时间</view>
<view class="font16 fcor666">
{{recinfo.createTime | formatDate('-')}}
</view>
</view>
<!-- 备注 -->
<view class="flex-center-sp pd-tb10 ">
<view class="fcor666 width80px ">备注</view>
<view class="fcor666 font13 ">
{{recinfo.remarks || "数据"}}
<view class=" width80px ">备注</view>
<view class="fcor666 font13 font16">
{{recinfo.remarks || "无"}}
</view>
</view>
</view>
@ -578,7 +588,7 @@
}
.width80px {
width: 80px;
// width: 80px;
}
.flex-center-sp {
@ -664,7 +674,8 @@
align-items: center;
border-top: 1px solid #f6f6f6;
position: fixed;
bottom: 0;
// bottom: 0;
bottom:var(--window-bottom);
right: 0;
left: 0;

@ -60,7 +60,7 @@
</view>
<view class="btn-contain backcolorfff">
<view class="btn-edit fotct fcorfff font18" @click="payMoney()">确认支付<text class="paddleft5">¥{{payPrice}}</text>
<view class="btn-edit fotct fcorfff font18" @click="payMoney()">确认支付<text class="paddleft5">¥{{payPrice | numFormat}}</text>
</view>
</view>
@ -104,6 +104,8 @@
PaymentPassword: '',
noClick:true,//
}
},
@ -257,7 +259,20 @@
})
return;
}
if(this.noClick){
this.noClick = false;
setTimeout(()=>{
this.noClick = true;
},2000)
}else{
return
}
if (that.paytype == '2') {
// console.log(app.globalData)
// #ifdef H5
let params = {
"orderNo": that.orderNo,
@ -272,6 +287,7 @@
"openIdType": 1
}
// #endif
console.log(params)
wechatPay(params).then(res => {
if (res.return_code == '000000') {
// #ifdef MP
@ -497,7 +513,8 @@
}
.pay-syt {
height:calc(100vh - 60px);
height:calc(100vh - 70px - var(--window-top));
box-sizing: border-box;
overflow: auto;
}
@ -525,6 +542,6 @@
border-radius: 25px;
line-height: 50px;
background-color: #EA3E44;
margin-bottom: 10px;
// margin-bottom: 10px;
}
</style>

@ -98,7 +98,7 @@
<style lang="scss" scoped>
.pay-suc{
height: 100vh;
height:calc(100vh - var(--window-top)) ;
// background: url('@/physical-merchants/static/img/bgimg.jpg') no-repeat ;
// background-color: rgba(40, 116, 204, 0.8);
background: linear-gradient(to bottom, #3da7e7, #FFFFFF) no-repeat;

@ -8,6 +8,7 @@
<view class="node-tag"></view>
</view>
</view>
<view class="line-container" :style="{height: isMainNode?'142rpx':'88rpx', paddingTop: isMainNode?'22rpx':'8rpx'}">
<view v-if="!isFirst" class="line" :style="{height: isMainNode?'120rpx':'80rpx'}"></view>
</view>
@ -66,15 +67,15 @@ export default {
computed: {
nodeIconUrl () {
if (this.nodeData.logisticsStatus === 'WAIT_ACCEPT') { //
return this.isNewest ? '../../../static/img/wuliu/ic-paied.png' : '../../../static/img/wuliu/ic-paied-G.png'
return this.isNewest ? '/physical-merchants/static/img/wuliu/ic-paied.png' : '/physical-merchants/static/img/wuliu/ic-paied-G.png'
} else if (this.nodeData.logisticsStatus === 'ACCEPT') { //
return this.isNewest ? '../../../static/img/wuliu/ic-pacakaging.png' : '../../../static/img/wuliu/ic-pacakaging-G.png'
return this.isNewest ? '/physical-merchants/static/img/wuliu/ic-pacakaging.png' : '/physical-merchants/static/img/wuliu/ic-pacakaging-G.png'
} else if (this.nodeData.logisticsStatus === 'DELIVERING') { //
return this.isNewest ? '../../../static/img/wuliu/ic-sending.png' : '../../../static/img/wuliu/ic-sending-G.png'
return this.isNewest ? '/physical-merchants/static/img/wuliu/ic-sending.png' : '/physical-merchants/static/img/wuliu/ic-sending-G.png'
} else if (this.nodeData.logisticsStatus === 'SIGN'|| this.nodeData.logisticsStatus === 'AGENT_SIGN') { // ,
return this.isNewest ? '../../../static/img/wuliu/ic-delivering.png' : '../../../static/img/wuliu/ic-delivering-G.png'
return this.isNewest ? '/physical-merchants/static/img/wuliu/ic-delivering.png' : '/physical-merchants/static/img/wuliu/ic-delivering-G.png'
}else if (this.nodeData.logisticsStatus === 'FAILED') { //
return this.isNewest ? '../../../static/img/wuliu/ic-package-failed.png' : '../../../static/img/wuliu/ic-package-failed-G.png'
return this.isNewest ? '/physical-merchants/static/img/wuliu/ic-package-failed.png' : '/physical-merchants/static/img/wuliu/ic-package-failed-G.png'
}
},
acceptStationFixed () {

@ -1,5 +1,5 @@
<template>
<wybPopup ref="popup" type="bottom" width="500" height="500" scrollY="true" radius="0" :showCloseIcon="true">
<wybPopup ref="popup" zIndex="999" type="bottom" width="500" height="500" :scrollY="true" radius="0" :showCloseIcon="true">
<view class="pd-main wuliupop backcor9">
<view class="pop-title fontwig6"><text>物流信息</text></view>
<view class="pd-main backcolorfff border-8r font14">
@ -39,6 +39,7 @@
data () {
return {
tracesData:{},
phoneNumber:[],
/* [
{
acceptStation: '包裹已被吴亦发同学签收', //
@ -179,6 +180,22 @@
}
return item2.time - item.time;
})
/* */
let mobile = /(1[0-9]{10})|([0-9]{3,4})?[0-9]{7,8}/g; //
let phone = [];
this.tracesData.logisticsTraceDetails.map(item=>{
//
// if(item.logisticsStatus == 'SIGN'||item.logisticsStatus == 'DELIVERING'){
let num = item.desc.replace(/\s|[(]|[)]|[(]|[)]|[-]*/g, ''); //
if(num.match(mobile)){
phone.push((num.match(mobile)))
}
// }
})
this.phoneNumber =phone.flat(Infinity);
// console.log(this.phoneNumber, phone)
/* */
}else{
uni.showToast({
title: res.return_msg,
@ -214,13 +231,42 @@
},
//
callPhone(){
uni.showModal({
title: '',
content: '4006780738',
success: function(res) {
if (res.confirm) {
// uni.showModal({
// title: '',
// content: '4006780738',
// success: function(res) {
// if (res.confirm) {
// uni.makePhoneCall({
// phoneNumber: '4006780738', //
// success: function(e) {
// console.log(e);
// },
// fail: function(e) {
// console.log(e);
// }
// })
// }
// }
// })
if(this.phoneNumber.length==0){
uni.showToast({
title:"暂无可拨打电话号码",
icon:'none'
})
return
}
//
this.phoneNumber = [...new Set(this.phoneNumber)];
let that = this;
uni.showActionSheet({
itemList: that.phoneNumber,
success: function (res) {
// console.log('' + (res.tapIndex + 1) + '');
uni.makePhoneCall({
phoneNumber: '4006780738', //
phoneNumber:String(that.phoneNumber[res.tapIndex]), //
success: function(e) {
console.log(e);
},
@ -229,9 +275,14 @@
}
})
},
fail: function (res) {
// console.log("");
}
}
})
});
},
@ -262,6 +313,7 @@
top:0;
left: 0;
right: 0;
z-index: 999;
background-color: #f6f6f6;
}
</style>

@ -1,7 +1,7 @@
<template>
<!-- 选择类别 -->
<wybPopup ref="popup" @hide="hide" type="bottom" height="500" width="500" scrollY="true" radius="0" :showCloseIcon="true">
<wybPopup ref="popup" @hide="hide" type="bottom" height="500" width="500" :scrollY="true" radius="0" :showCloseIcon="true">
<!-- 货品 -->
<view v-if="keywords == 'goods'" class="pop-contain pd-main">
<view class="pop-title fontwig6"><text>商品列表</text></view>
@ -139,7 +139,7 @@
不使用优惠券
</view>
<view class="">
<radio class="radio-ca" :checked="yhqType == 0" :value="0" color="#FF1A34" />
<radio class="radio-ca" :checked="yhqType == 0" value="0" color="#FF1A34" />
</view>
</view>
@ -162,14 +162,14 @@
</view>
<view class="" v-if="item.discountCondition<=totalPrice">
<radio class="radio-ca" :checked="yhqType == item.id" :value="item.id" color="#FF1A34" />
<radio class="radio-ca" :checked="yhqType == item.id" :value="item.id+''" color="#FF1A34" />
</view>
</view>
<view v-if="item.discountCondition>totalPrice&&item.discountType == 1" class="paddtop10 mart10 border-t font14">
<view class="fotred fontwig6 ">不可用原因</view>
<view class="fcor666">
使用门槛为{{item.discountCondition}}还差{{item.discountCondition-totalPrice}}元才能使用
使用门槛为{{item.discountCondition}}还差{{ parseFloat((item.discountCondition-totalPrice).toFixed(2)) }}元才能使用
</view>
</view>
</view>
@ -194,9 +194,7 @@
keywords: '',
//
// yhqId: [
// 111, 222, 333, 444
// ],
//
goodsList: [],//
@ -271,11 +269,11 @@
this.keywords = str;
if (str == 'goods') {
this.yhqId = yhqID;
console.log(this.yhqId,"this.yhqId")
// console.log(this.yhqId,"this.yhqId")
this.goodsList = data;
} else if (str == 'freight') {
this.postPrice = data;
console.log(this.postPrice, "obj")
// console.log(this.postPrice, "obj")
}else if(str == 'coupon'){
this.discountList =data.discountList//
this.totalPrice =data.totalPrice //

@ -45,8 +45,9 @@
</view>
</scroll-view>
<view class="fix-soon fcor666">
{{getNumberAll}}<text class="icon-ymt to-right font14 fcor666"></text>
<view class="fix-soon font16 fcor666">
<text class="verc">{{getNumberAll}}</text>
<text class="icon-ymt verc to-right font14 fcor666"></text>
</view>
</view>
</view>
@ -62,15 +63,15 @@
</view>
<view class="settle-msg">
<view class="settle-title marb5">
<text class="flex-1">{{goodsList[0].title}}</text>
<text class="flex-1 font18">{{goodsList[0].title}}</text>
<view class="font14 fcor666">{{getNumberAll}}</view>
</view>
<view v-if="yhqId == 0" class="settle-title">
<text >¥{{goodsList[0].price}}</text>
<text class="font16">¥{{goodsList[0].price}}</text>
<text class="font14 fcor666">×{{goodsList[0].num}}</text>
</view>
<view v-else class="settle-title">
<text>¥{{goodsList[0].originalPrice}}</text>
<text class="font16">¥{{goodsList[0].originalPrice}}</text>
<text class="font14 fcor666">×{{goodsList[0].num}}</text>
</view>
@ -130,7 +131,7 @@
<!-- 积分抵现 -->
<view class="container-price select-address border-bt" v-if="isShowjf">
<view class="address-left ">
<text @click="showPopup('integral')">积分抵
<text @click="showPopup('integral')">积分抵
<text class="icon-ymt question font16 paddleft5 fcor666"></text>
</text>
<!-- <view class="font14 fcor666" >当前积分{{availIntegal}}</view> -->
@ -181,7 +182,7 @@
<!-- 底部结算按钮 -->
<view class="tool-contain">
<view v-if="addressDetail" class="adressConfirm">
<view v-if="addressDetail" class="adressConfirm font16">
送至: {{addressDetail.regionName+" "+addressDetail.address}}
</view>
<view class="tool-right backcolorfff">
@ -243,7 +244,8 @@
isShowjf:true,//
PaymentPassword: 0,
noClick:true,//
noClick:true,//
}
},
components: {
@ -398,7 +400,7 @@
uni.$on('address',(addressDetail)=>{
this.addressDetail = addressDetail;
this.getRegiFreight(addressDetail);
console.log(addressDetail,"监听")
})
},
@ -637,17 +639,6 @@
// ,
settleAccount() {
if(this.noClick){
this.noClick = false;
setTimeout(()=>{
this.noClick = true;
},2000)
}else{
return
}
if (!this.addressDetail&&!this.haveAddress) {
uni.showToast({
title: '请选择地址',
@ -657,6 +648,15 @@
return
}
if(this.noClick){
this.noClick = false;
setTimeout(()=>{
this.noClick = true;
},2000)
}else{
return
}
//0
if (this.priceSettle == 0) {
//
@ -814,7 +814,7 @@
.settleAccounts {
box-sizing: border-box;
padding-bottom: 140px;
padding-bottom: 155px;
}
//
@ -876,7 +876,7 @@
//
.tool-contain {
position: fixed;
bottom: 0;
bottom:var(--window-bottom);
left: 0;
right: 0;
z-index: 10;

@ -100,6 +100,7 @@
return;
}
if (value > (this.max * scale)) {
value = this.max * scale
}
}
@ -107,6 +108,7 @@
if (type === "plus") {
value += step;
if (value > (this.max * scale)) {
this.$emit("noMore")
return;
}
if (value < (this.min * scale)) {
@ -139,8 +141,10 @@
}
value = +value;
if (value > this.max) {
this.$emit("noMore")
value = this.max;
} else if (value < this.min) {
this.$emit("noMoreLess")
value = this.min;
}
const scale = this._getDecimalScale();

Loading…
Cancel
Save