Merge branch 'master' into 1-6-dev

# Conflicts:
#	.gitignore
#	pages/goods/refuel-confirm/refuel-confirm.vue
#	pages/order/confirmation.vue
#	pages/tabBar/home/home.vue
#	pages/user/order_details/order_details.vue
1.解决冲突
yj-dev
杨杰 2 years ago
commit 00bfc75650
  1. 1
      .gitignore
  2. 12
      Utils/Api.js
  3. 73
      pages/goods/externalCoupon/externalCoupon.vue
  4. 170
      pages/goods/refuel-confirm/refuel-confirm.vue
  5. 66
      pages/order/confirmation.vue
  6. 4
      pages/tabBar/category/category.vue
  7. 1
      pages/tabBar/home/home.vue
  8. 4
      pages/tabBar/user/user.vue
  9. 31
      pages/user/order_details/order_details.vue
  10. 2
      subPages/coupon-packge-details/coupon-packge-details.vue
  11. 6
      subPages/lottery/lottery.vue

1
.gitignore vendored

@ -1,3 +1,4 @@
unpackage/ unpackage/
.hbuilderx/launch.json .hbuilderx/launch.json
node_modules node_modules
.idea

@ -277,6 +277,12 @@ export const getDetailByCardNo = params => {
export const getUserCardList = params => { export const getUserCardList = params => {
return POST('GET', `${base}/highUserCard/getUserCardList`, params).then(res => res.data); return POST('GET', `${base}/highUserCard/getUserCardList`, params).then(res => res.data);
} }
//根据油卡查询车牌列表
export const getCardListByCardNo = params => {
return POST('GET', `${base}/fleetOilCard/getCardListByCardNo`, params).then(res => res.data);
}
// 根据手机号获取汇联通工会卡列表 // 根据手机号获取汇联通工会卡列表
export const getHuiLianTongCardByPhone = params => { export const getHuiLianTongCardByPhone = params => {
return POST('GET', `${base}/highUserCard/getHuiLianTongCardByPhone`, params).then(res => res.data); return POST('GET', `${base}/highUserCard/getHuiLianTongCardByPhone`, params).then(res => res.data);
@ -301,6 +307,12 @@ export const getHuiLianTongCardConsume = params => {
export const hltUnionCardPay = params => { export const hltUnionCardPay = params => {
return POST('POST', `${base}/order/hltUnionCardPay`, params).then(res => res.data); return POST('POST', `${base}/order/hltUnionCardPay`, params).then(res => res.data);
} }
//车队油卡支付
export const fleetOilCardPay = params => {
return POST('POST', `${base}/order/fleetOilCardPay`, params).then(res => res.data);
}
//绑定卡包 //绑定卡包
export const bindHuiLianTongCard = params => { export const bindHuiLianTongCard = params => {
return POST('POST', `${base}/highUserCard/bindCard`, params).then(res => res.data); return POST('POST', `${base}/highUserCard/bindCard`, params).then(res => res.data);

@ -16,46 +16,14 @@
<view class="line1 mart15"></view> <view class="line1 mart15"></view>
<button class="coupne-btn width60w mart20 marb20" v-if="userInfo == 1" lang="zh_CN" <button class="coupne-btn width60w mart20 marb20" v-if="userInfo == 1" lang="zh_CN"
@click="jumpres">点击领取</button> @click="jumpres">点击领取</button>
<button class="coupne-btn width60w mart20 marb20" <button class="coupne-btn width60w mart20 marb20" style="background-color: red;"
v-if="userInfo != 1 && couponsDetails.highDiscountAgentCode.status == 1 && couponsDetails.highDiscount.usingRange != 5" v-if="userInfo != 1 && couponsDetails.highDiscountAgentCode.status == 1"
@click="receiveDiscount">点击领取</button> @click="receiveDiscount">点击领取</button>
<button class="coupne-btn width60w mart20 marb20" <button class="coupne-btn width60w mart20 marb20" style="background-color: #f6f6f6;"
v-if="userInfo != 1 && couponsDetails.highDiscountAgentCode.status == 1 && couponsDetails.highDiscount.usingRange == 5" v-if="userInfo != 1 && couponsDetails.highDiscountAgentCode.status != 1"
@click="receiveDiscount">点击领取</button> @click="receiveDiscount">点击领取</button>
<view class="alijus width90 mart20" <view class="width90 mart10 fcor666">去使用</view>
v-if="userInfo != 1 && couponsDetails.highDiscountAgentCode.status != 1 && couponsDetails.highDiscount.usingRange == 5"> <view v-if="minecoupones == '' " class="mart60 fotct font14 fcor666">
<!-- <wx-open-launch-weapp style="width: 40%;margin-right: 5%;" id="launch-btn" username="gh_5fb54244cdbb">
<script type="text/wxtag-template">
<style>
.btn {
padding: 12px;
}
.download {
color: #ffffff;
background: #0083f5;
width:100%;
height:100%;
align-items: center;
justify-content: center;
font-size: 16px;
}
</style>
<button class="download btn" style="height:50px;width:100%;border:none;">立即使用</button>
</script>
</wx-open-launch-weapp> -->
<view class="width40" style="margin-right: 5%;" @click="useDiscount">
<view class="width100 btnno fotct font16 backcor008">立即使用</view>
</view>
<view class="width40" style="margin-left: 5%;" @click="jumpCounlist">
<view class="width100 btnno fotct font16 backcor008">立即查看</view>
</view>
</view>
<view class="width90 mart10 fcor666" v-if="couponsDetails.highDiscount.usingRange != 5">去使用</view>
<view v-if="minecoupones == '' && couponsDetails.highDiscount.usingRange != 5"
class="mart60 fotct font14 fcor666">
<image mode="widthFix" style="width: 70vw;" :src="imagewxUrl+imgadres"></image> <image mode="widthFix" style="width: 70vw;" :src="imagewxUrl+imgadres"></image>
</view> </view>
<view class="width90 mart30" v-if="couponsDetails.highDiscount.usingRange == 5"> <view class="width90 mart30" v-if="couponsDetails.highDiscount.usingRange == 5">
@ -68,7 +36,7 @@
</view> </view>
<view class="product-list mart20 width90" v-if="couponsDetails.highDiscount.usingRange != 5"> <view class="product-list mart20 width90" v-if="couponsDetails.highDiscount.usingRange != 5">
<view class="product" v-for="product in minecoupones" :key="product.id" <view class="product" v-for="product in minecoupones" :key="product.id"
@tap="toGoods(product.highCoupon.id)"> @tap="toGoods(product.highCoupon.id,product.highCoupon.couponSource)">
<image mode="widthFix" :src="imageUrl+product.highCoupon.couponImg"></image> <image mode="widthFix" :src="imageUrl+product.highCoupon.couponImg"></image>
<view class="name">{{ product.highCoupon.couponName }}</view> <view class="name">{{ product.highCoupon.couponName }}</view>
<view class="info" v-if="product.highCoupon.payType == 1"> <view class="info" v-if="product.highCoupon.payType == 1">
@ -389,11 +357,29 @@
}); });
}, },
// //
toGoods(e) { toGoods(e, item) {
if (app.globalData.userInfo) { if (app.globalData.userInfo) {
uni.navigateTo({ if (app.globalData.openId) {
url: '../../order/confirmation?id=' + e if (item == 4) {
}) uni.showToast({
icon: 'none',
title: '系统维护中,暂时无法购买',
duration: 2000
})
} else {
uni.navigateTo({
url: '../../order/confirmation?id=' + e
})
}
} else {
uni.showToast({
icon: 'none',
title: '网络异常,请稍后重试',
duration: 2000
})
}
} else { } else {
uni.showToast({ uni.showToast({
icon: 'none', icon: 'none',
@ -512,7 +498,6 @@
} }
.coupne-btn { .coupne-btn {
background-color: red;
color: #FFFFFF; color: #FFFFFF;
} }

@ -182,6 +182,48 @@
<radio :checked="paytype=='3'" @click="changeRiado()" color="#0083f5" /> <radio :checked="paytype=='3'" @click="changeRiado()" color="#0083f5" />
</view> </view>
</view> </view>
</view> -->
<view class="line1" v-if="oilUserCardlist"></view>
<view class="heightl60 paddleft10 fcor666 width100 backcorfff" v-if="oilUserCardlist"
@tap="paytype='fleettruck'">
<view class="width60 flleft font14">
车队油卡<text class="font14 fcor666 margle">余额: {{oilUserNoPrice}}</text>
</view>
<view class="flright width30 fotct" v-if="isUse">
<radio :checked="paytype=='fleettruck'" color="#0083f5" />
</view>
</view>
<view v-if="paytype=='fleettruck'">
<view class="heightl60 paddleft10 fcor333 fontwig6 font16 width100 backcorfff">车队油卡列表</view>
<view class="line1"></view>
<view class="heightl60 paddleft10 fcor666 width100 backcorfff" v-for="(item,index) in oilUserCardlist"
:key="index">
<view class="width60 flleft font14">
{{item.cardNo}}({{item.contactName}})
</view>
<view class="flright width30 fotct">
<radio :checked="oilUserno==item.cardNo" @click="changeRiado1(item)" color="#0083f5" />
</view>
</view>
<view class="username">
<view class="namecont font15">车牌号</view>
<input style="width: 70%;" placeholder="输入车牌号" class="font15" v-model="cardNoNumber">
<!-- <view class="date text1" >{{cardNoNumber}}</view> -->
<!-- </view> -->
<picker mode="selector" style="width: 20%;" :range="UserCard" range-key="carLicensePlate"
@change="bindUserCard">
<view class="date text1"
style="color: white;position: absolute;margin-top: -2px;min-width: 100px;">
11111{{cardNoNumber}}</view>
</picker>
<image class="flright" style="width: 15px;height: 15px;" src="../../../static/img/downj.png">
</image>
</view>
</view>
</view> </view>
<view class="width100 mart15 fcor333 font16 fontwig6 paddleft10">重要说明</view> <view class="width100 mart15 fcor333 font16 fontwig6 paddleft10">重要说明</view>
@ -248,6 +290,10 @@
oilPriceDiscountCompute, oilPriceDiscountCompute,
getRebateIntegral, getRebateIntegral,
getThirdPartyByDetail getThirdPartyByDetail
getRebateIntegral,
getUserCardList,
fleetOilCardPay,
getCardListByCardNo
} from '../../../Utils/Api.js'; } from '../../../Utils/Api.js';
import ssPaymentPassword from '../../../components/sanshui-payment-password/index.vue'; import ssPaymentPassword from '../../../components/sanshui-payment-password/index.vue';
import wybPopup from '../../../components/wyb-popup/wyb-popup.vue'; import wybPopup from '../../../components/wyb-popup/wyb-popup.vue';
@ -289,6 +335,13 @@
Integrastu: 1, // Integrastu: 1, //
paytypeList: [], // paytypeList: [], //
identificationCode: '', // identificationCode: '', //
Integrastu: 1, //
oilUserCardlist: '', //
oilUserno: '', //
contactName: '', //
oilUserNoPrice: '', //
UserCard: '', //
cardNoNumber: '', //
} }
}, },
onLoad(e) { onLoad(e) {
@ -308,6 +361,7 @@
this.priceValue[1] = 0; this.priceValue[1] = 0;
this.reload(); this.reload();
this.calculatepayPrice(); this.calculatepayPrice();
this.getUserCardList();
}, },
methods: { methods: {
@ -360,6 +414,40 @@
} }
}); });
}, },
//
getUserCardList() {
let datas = {
type: 3
}
getUserCardList(datas).then(res => {
if (res.return_code == '000000' && res.return_data !='') {
this.oilUserCardlist = res.return_data;
this.oilUserno = res.return_data[0].cardNo;
this.contactName = res.return_data[0].contactName;
this.oilUserNoPrice = res.return_data[0].balance;
this.getCardListByCardNo(res.return_data[0].cardNo);
}
});
},
//
getCardListByCardNo(item) {
let datas = {
cardNo: item
}
getCardListByCardNo(datas).then(res => {
if (res.return_code == '000000' && res.return_data != '') {
this.UserCard = res.return_data;
this.cardNoNumber = res.return_data[0].carLicensePlate;
} else {
this.UserCard = '';
this.cardNoNumber = '';
}
});
},
//
bindUserCard(e) {
this.cardNoNumber = this.UserCard[e.target.value].carLicensePlate;
},
// //
getRebateIntegral() { getRebateIntegral() {
if (!this.payPrice) { if (!this.payPrice) {
@ -598,6 +686,38 @@
}) })
return; return;
} }
if (this.paytype == 'fleettruck') {
let params = {
"orderId": this.orderNo,
"password": this.PaymentPassword,
"cardNo": this.oilUserno,
"carLicensePlate": this.cardNoNumber,
}
fleetOilCardPay(params).then(res => {
uni.hideLoading();
if (res.return_code == '000000') {
uni.showToast({
title: '支付成功'
})
uni.reLaunch({
url: '/pages/goods/refuel-succes/refuel-succes?id=' + this.orderNo
});
return;
}
if (res.return_code == '102130') {
uni.navigateTo({
url: '../../login/updatePas/updatePas'
})
return;
}
uni.showToast({
title: res.return_msg,
icon: 'none'
})
})
return;
}
// if (this.paytype == 'jifen') { // if (this.paytype == 'jifen') {
// let params = { // let params = {
@ -723,6 +843,13 @@
}) })
}, },
//
changeRiado1(item) {
this.oilUserno = item.cardNo;
this.contactName = item.contactName;
this.oilUserNoPrice = item.balance;
this.getCardListByCardNo(item.cardNo);
},
// //
changeRiado() { changeRiado() {
// if (!this.user.isSetHltCard && this.paytype == 'gonghuika') { // if (!this.user.isSetHltCard && this.paytype == 'gonghuika') {
@ -786,8 +913,28 @@
} }
if (this.orderNo) { if (this.orderNo) {
this.wechatPay(); this.wechatPay();
// if (this.orderNo) {
// this.orderToPay();
// return;
// }
if (this.paytype == 'fleettruck') {
let that = this;
uni.showModal({
title: '温馨提示',
content: '是否使用当前 ' + that.contactName + ' 车队油卡',
success: function(res) {
if (res.confirm) {
that.addorders();
}
}
})
return; return;
} }
this.addorders();
},
//
addorders() {
uni.showLoading({ uni.showLoading({
title: '提交订单中...' title: '提交订单中...'
}) })
@ -928,6 +1075,15 @@
that.$refs.paymentPassword.modalFun('show'); that.$refs.paymentPassword.modalFun('show');
} }
if (that.paytype == 'fleettruck') {
if (!that.user.isSetPayPwd) {
uni.navigateTo({
url: '../../login/updatePas/updatePas'
})
return;
}
that.$refs.paymentPassword.modalFun('show');
}
if (that.paytype == 'oilcard') { if (that.paytype == 'oilcard') {
if (!that.user.isSetPayPwd) { if (!that.user.isSetPayPwd) {
uni.navigateTo({ uni.navigateTo({
@ -1131,4 +1287,18 @@
// margin-left: 10px; // margin-left: 10px;
} }
} }
.username {
width: calc(100% - 100upx);
height: 100upx;
display: flex;
align-items: center;
border-bottom: 1px solid #f6f6f6;
padding: 8upx 20upx;
.namecont {
color: #666666;
width: 28%;
}
}
</style> </style>

@ -99,6 +99,23 @@
<view class="width40 flleft fcor666 font15 fontwig6 text1 alijusstart" style="padding-left: 2%;"> <view class="width40 flleft fcor666 font15 fontwig6 text1 alijusstart" style="padding-left: 2%;">
<image src="../../static/img/rebate.png" mode="widthFix" style="width: 25px;"></image> <image src="../../static/img/rebate.png" mode="widthFix" style="width: 25px;"></image>
<text>下单返积分</text> <text>下单返积分</text>
<view class="height50 width100 backcorfff" @tap="paytype='weixin'"
v-if="couponList.payType == 1 || couponList.payType==3 ">
<view class="width50 flleft fcor333 font16" style="padding-left: 4%;">
微信支付
</view>
<view class="width40 flright fotrt paddtright10 font15 fontwig6 fcor666 alijun"
style="align-items: center;">
<radio :checked="paytype=='weixin'" color="#0083f5" />
</view>
</view>
<view class="width94 line1 mart5 marb5" v-if="couponList.payType == 1 || couponList.payType==3"></view>
<view class="height50 width100 backcorfff"
v-if="couponList.payType == 1 || couponList.payType == 2 || couponList.payType==3"
@tap="paytype='jinbi'">
<view class="width70 flleft fcor333 font16 text1" style="padding-left: 4%;">
积分支付<text class="font14 fcor666 margle">可用积分: {{user.gold}}</text>
</view> </view>
<view class="width50 flright fotrt paddtright10 font15 colore95 alijun" v-if="Integrastu == 1" <view class="width50 flright fotrt paddtright10 font15 colore95 alijun" v-if="Integrastu == 1"
style="align-items: center;"> style="align-items: center;">
@ -122,6 +139,25 @@
v-if="couponList.payType == 1 || couponList.payType == 2 || couponList.payType==3">积分充值</text> --> v-if="couponList.payType == 1 || couponList.payType == 2 || couponList.payType==3">积分充值</text> -->
</view> </view>
</view> </view>
<view class="width94 line1 mart5 marb5"
v-if="couponList.payType == 1 || couponList.payType == 2 || couponList.payType==3"></view>
<view class="height50 width100 backcorfff" @tap="paytype='gonghuika'" v-if="couponList.payType== 4">
<view class="width70 flleft fcor333 font16 text1" style="padding-left: 4%;">
汇联通工会卡<text class="font14 fcor666 margle">可用余额: {{tongCardPrice}}</text>
</view>
<view class="width20 flright fotrt paddtright10 font15 fontwig6 fcor666 alijun"
style="align-items: center;">
<radio :checked="paytype=='gonghuika'" @click="changeRiado()" color="#0083f5" />
</view>
</view>
</view>
<!-- <view class="width94 comorder mart10">
<view class="height50 width100 backcorfff">
<view class="width80p flleft fcor333 fontwig6 font14" style="padding-left: 4%;">
<text style="color: #0083F5;">条约协议</text>点击立即支付即代表同意
<!-- <view class="width94 line1 mart5 marb5"></view> --> <!-- <view class="width94 line1 mart5 marb5"></view> -->
<view class="width100" v-for="(item,index) in paytypeList" :key="index"> <view class="width100" v-for="(item,index) in paytypeList" :key="index">
<view class="width94 line1 mart5 marb5" v-if="item == 2"></view> <view class="width94 line1 mart5 marb5" v-if="item == 2"></view>
@ -222,7 +258,7 @@
radioStatus: true, radioStatus: true,
memDiscountId: '', memDiscountId: '',
user: '', user: '',
paytype: '', paytype: 'weixin',
PaymentPassword: '', PaymentPassword: '',
orderId: '', orderId: '',
jumpType: '', jumpType: '',
@ -242,6 +278,10 @@
rechargeDes: '', // rechargeDes: '', //
rebateIntegral: '', // rebateIntegral: '', //
Integrastu: 1 // Integrastu: 1 //
identificationCode: '', //
contactPepole: '', //
contactPhone: '', //
contactAddress: '' //
}; };
}, },
onLoad(option) { onLoad(option) {
@ -256,7 +296,7 @@
}, },
onShow() { onShow() {
let that = this; let that = this;
that.paytype = ''; // that.paytype = '';
that.user = app.globalData.userInfo; that.user = app.globalData.userInfo;
that.findUser(); that.findUser();
}, },
@ -571,6 +611,13 @@
"payGold": this.priceValue[1], "payGold": this.priceValue[1],
"promoteCode": this.identificationCode, "promoteCode": this.identificationCode,
memDiscountId: this.memDiscountId memDiscountId: this.memDiscountId
"storeId": this.storeId
}],
"postData": {
"address": this.contactAddress,
"user": this.contactPepole,
"phone": this.contactPhone
}
} }
create(goods).then(res => { create(goods).then(res => {
uni.hideLoading(); uni.hideLoading();
@ -835,8 +882,16 @@
}); });
} }
}, },
cancel: function(r) {}, cancel: function(r) {
fail: function(res) {} uni.navigateBack({
})
},
fail: function(res) {
uni.navigateBack({
})
}
}); });
}); });
@ -846,6 +901,9 @@
title: '支付失败了', title: '支付失败了',
duration: 4000 duration: 4000
}); });
uni.navigateBack({
})
}); });
}, },

@ -280,9 +280,11 @@
}, },
// //
playPhone() { playPhone() {
let cont = "本服务由惠兑礼品提供\n400-678-738";
let content = cont.replace(/<br>/g,"\n");
uni.showModal({ uni.showModal({
title: '客服', title: '客服',
content: '4006780738', content: content,
success: function(res) { success: function(res) {
if (res.confirm) { if (res.confirm) {
uni.makePhoneCall({ uni.makePhoneCall({

@ -427,7 +427,6 @@
that.findByLatAndLng(res.longitude, res.latitude); that.findByLatAndLng(res.longitude, res.latitude);
}, },
fail: (err) => { fail: (err) => {
uni.hideLoading();
if (err.errCode == 2) { if (err.errCode == 2) {
uni.showToast({ uni.showToast({
title: '请开启系统定位', title: '请开启系统定位',

@ -480,10 +480,12 @@
}) })
} }
// #ifdef H5 // #ifdef H5
let cont = "本服务由惠兑礼品提供\n400-678-738";
let content = cont.replace(/<br>/g,"\n");
if (item == '客服') { if (item == '客服') {
uni.showModal({ uni.showModal({
title: '客服', title: '客服',
content: '4006780738', content: content,
success: function(res) { success: function(res) {
if (res.confirm) { if (res.confirm) {
uni.makePhoneCall({ uni.makePhoneCall({

@ -319,6 +319,30 @@
{{recinfo.refusalRefundContent}} {{recinfo.refusalRefundContent}}
</view> </view>
</view> </view>
<view class="row" v-if="materialData">
<view class="left">
联系人 :
</view>
<view class="right">
{{materialData.user}}
</view>
</view>
<view class="row" v-if="materialData">
<view class="left">
联系电话 :
</view>
<view class="right">
{{materialData.phone}}
</view>
</view>
<view class="row" v-if="materialData">
<view class="left">
联系地址 :
</view>
<view class="right">
{{materialData.address}}
</view>
</view>
<view class="row" v-if="recinfo.finishTime"> <view class="row" v-if="recinfo.finishTime">
<view class="left"> <view class="left">
完成时间 : 完成时间 :
@ -480,6 +504,8 @@
6: '退款中', 6: '退款中',
7: '退款失败' 7: '退款失败'
}, },
preByOrderInfo: '',
materialData: '' //
}; };
}, },
@ -563,6 +589,11 @@
uni.hideLoading(); uni.hideLoading();
if (res.return_code == '000000') { if (res.return_code == '000000') {
this.oilList = res.return_data; this.oilList = res.return_data;
if (res.return_data.remarks) {
this.materialData = JSON.parse(res.return_data.remarks);
}
} else {
uni.hideLoading()
} }
}) })
}, },

@ -19,7 +19,7 @@
</view> </view>
<!-- 商品主图轮播 --> <!-- 商品主图轮播 -->
<view class="swiper-box"> <view class="swiper-box">
<swiper circular="true" autoplay="true" @change="swiperChange"> <swiper circular="true" autoplay="true" style="height: 188px;" @change="swiperChange">
<swiper-item v-for="(swiper,index) in swiperList" :key="index"> <swiper-item v-for="(swiper,index) in swiperList" :key="index">
<image mode="widthFix" :src="imageUrl+swiper" @click="perImage(swiper)"></image> <image mode="widthFix" :src="imageUrl+swiper" @click="perImage(swiper)"></image>
</swiper-item> </swiper-item>

@ -193,6 +193,7 @@
couponId: this.couponId couponId: this.couponId
} }
getActivityByCoupon(params).then(res => { getActivityByCoupon(params).then(res => {
uni.hideLoading();
if (res.return_code == '000000') { if (res.return_code == '000000') {
let prizeLists = res.return_data.activityAward; let prizeLists = res.return_data.activityAward;
this.activityId = res.return_data.activityInfo.id; this.activityId = res.return_data.activityInfo.id;
@ -287,7 +288,10 @@
}, },
onLoad(options) { onLoad(options) {
this.couponId = options.id this.couponId = options.id
this.handleInitCanvas() // this.handleInitCanvas();
},
onShow() {
this.handleInitCanvas();
}, },
onUnload() { onUnload() {
uni.hideLoading() uni.hideLoading()

Loading…
Cancel
Save