Commit f9191db2 authored by 潘永坪's avatar 潘永坪

支付页面开发

parent 1bcd755c
...@@ -17,7 +17,8 @@ ...@@ -17,7 +17,8 @@
} }
</script> </script>
<style> <style lang="scss">
@import "uview-ui/index.scss";
/* /*
1.页面背景颜色#f7f7f7 1.页面背景颜色#f7f7f7
2.分隔线颜色#DBDBDB 2.分隔线颜色#DBDBDB
......
<template>
<!----------------适用于订单选择券的时候展示券列表-------------------------->
<u-action-sheet v-model="show">
<div>
<div class="middle" v-if="couponList.usableCouponList&&couponList.usableCouponList.length>0">
<div v-for="(item,index) of couponList.usableCouponList" :key="index">
<label>
<p>
{{item.couponName}}
<input type="radio" name="coupon" :value="item" v-model="chooseCoupon" @change="hideCoupon()"/>
</p>
<p>
{{item.couponRule}}
</p>
<p>
{{item.useStartDate}}-{{item.useEndDate}}
<span>
<i>¥</i>{{item.savedMoney.toFixed(2)}}
</span>
</p>
</label>
</div>
</div>
<div style="padding-top: 1.5rem;text-align: center;" v-if="couponList.usableCouponList&&couponList.usableCouponList.length==0">
空空如也...
</div>
</div>
<div>
<div class="middle" v-if="couponList.unusableCouponList&&couponList.unusableCouponList.length>0">
<div v-for="(item,index) of couponList.unusableCouponList" :key="index">
<p>
{{item.couponName}}
</p>
<p>
{{item.couponRule}}
<span>
<i>¥</i>{{item.savedMoney.toFixed(2)}}
</span>
</p>
<p>
{{item.useStartDate}}-{{item.useEndDate}}
</p>
</div>
</div>
<div style="padding-top: 1.5rem;text-align: center;" v-if="couponList.unusableCouponList&&couponList.unusableCouponList.length==0">
空空如也...
</div>
</div>
</u-action-sheet>
</template>
<script>
export default{
props:["couponData","chooseCouponObj"],
watch: {
couponData:{//
handler(newValue, oldValue){
if(newValue){
this.couponList=this.couponData
}
},
deep:false,
immediate:false
},
chooseCouponObj:{//
handler(newValue, oldValue){
if(newValue){
this.chooseCoupon=this.chooseCouponObj
}
},
deep:false,
immediate:false
},
},
data(){
return{
show:false,//控制弹窗显示隐藏
active:0,//控制选项卡默认显示第几个
couponList:"",//券列表
chooseCoupon:"",//选中的劵
}
},
methods:{
showCoupon(){//----------------------------------------展示弹窗
this.show=true
},
hideCoupon(){//--------------------------------------- 隐藏弹窗
this.show=false
this.$emit("couponChoose",this.chooseCoupon)
},
cancelCoupon(){//------------------------------------取消选中优惠券
this.chooseCoupon=""
this.show=false
this.$emit("couponChoose",this.chooseCoupon)
}
}
}
</script>
<style scoped="scoped">
.middle{padding:0.24rem;}
.middle div{background: #FFFFFF;padding: 0.24rem;border-radius: 0.1rem;}
.middle div:not(:first-child){margin-top: 0.2rem;}
.middle div p:not(:first-child){margin-top: 0.2rem;}
.middle div p{display: flex;justify-content: space-between;}
.middle div p:first-child{font-weight: bold;}
.middle div p:nth-child(2){font-size: 0.24rem;}
.middle div p:last-child{color: #666666;font-size: 0.24rem;}
.middle p span{color:#f9690e;font-size: 0.3rem;font-weight: bolder;}
.middle p span i{font-size: 0.24rem;font-weight: 400;}
</style>
import Vue from 'vue' import Vue from 'vue'
import App from './App' import App from './App'
import uView from 'uview-ui'
import request from 'common/request.js' import request from 'common/request.js'
import "./common/icon/iconfont.css" import "./common/icon/iconfont.css"
Vue.prototype.$request = request Vue.prototype.$request = request
Vue.use(uView)
Vue.config.productionTip = false
Vue.config.productionTip = false
App.mpType = 'app' App.mpType = 'app'
const app = new Vue({ const app = new Vue({
...App ...App
}) })
......
...@@ -44,6 +44,9 @@ ...@@ -44,6 +44,9 @@
"ios" : {}, "ios" : {},
/* SDK配置 */ /* SDK配置 */
"sdkConfigs" : {} "sdkConfigs" : {}
},
"uniStatistics" : {
"enable" : true
} }
}, },
/* 快应用特有相关 */ /* 快应用特有相关 */
...@@ -62,22 +65,42 @@ ...@@ -62,22 +65,42 @@
"scope.userLocation" : { "scope.userLocation" : {
"desc" : "请点击确定" "desc" : "请点击确定"
} }
},
"uniStatistics" : {
"enable" : true
} }
}, },
"mp-alipay" : { "mp-alipay" : {
"usingComponents" : true "usingComponents" : true,
"uniStatistics" : {
"enable" : true
}
}, },
"mp-baidu" : { "mp-baidu" : {
"usingComponents" : true "usingComponents" : true,
"uniStatistics" : {
"enable" : true
}
}, },
"mp-toutiao" : { "mp-toutiao" : {
"usingComponents" : true "usingComponents" : true,
"uniStatistics" : {
"enable" : true
}
}, },
"uniStatistics" : { "uniStatistics" : {
"enable" : false "enable" : true
}, },
"h5" : { "h5" : {
"title" : "uni-pdtravel", "title" : "uni-pdtravel",
"domain" : "www.baidu.com" "domain" : "www.baidu.com",
"uniStatistics" : {
"enable" : true
}
},
"mp-qq" : {
"uniStatistics" : {
"enable" : true
}
} }
} }
...@@ -59,5 +59,12 @@ ...@@ -59,5 +59,12 @@
"query": "" //启动参数,在页面的onLoad函数里面得到 "query": "" //启动参数,在页面的onLoad函数里面得到
} }
] ]
},
"easycom": {
// 下载安装的方式需要前面的"@/",npm安装的方式无需"@/"
// 下载安装方式
"^u-(.*)": "@/uview-ui/components/u-$1/u-$1.vue"
// npm安装方式
// "^u-(.*)": "uview-ui/components/u-$1/u-$1.vue"
} }
} }
\ No newline at end of file
...@@ -65,11 +65,11 @@ ...@@ -65,11 +65,11 @@
</text> </text>
</view> </view>
<view class="mainview"> <view class="mainview">
<image src="../../static/img/orderPayment/weixin.png" style="width:70rpx;height:62rpx;" /> <image src="@/static/img/orderPayment/weixin.png" style="width:70rpx;height:62rpx;" />
<view> <view>
微信支付 微信支付
</view> </view>
<image src="../../static/img/orderPayment/input.png" style="width:32rpx;height: 32rpx;" /> <image src="@/static/img/orderPayment/input.png" style="width:32rpx;height: 32rpx;" />
</view> </view>
</view> </view>
</view> </view>
...@@ -162,7 +162,6 @@ ...@@ -162,7 +162,6 @@
if (this.errorMessage) { if (this.errorMessage) {
uni.showToast({ uni.showToast({
title:this.errorMessage, title:this.errorMessage,
duration:2000,
icon:"none" icon:"none"
}) })
return return
...@@ -186,7 +185,6 @@ ...@@ -186,7 +185,6 @@
fail: function (err) { fail: function (err) {
uni.showToast({ uni.showToast({
title:err.errMsg, title:err.errMsg,
duration:2000,
icon:"none" icon:"none"
}) })
} }
...@@ -197,7 +195,7 @@ ...@@ -197,7 +195,7 @@
</script> </script>
<style> <style>
.bigBox{height: 100%;background: #fafafc;} .bigBox{height: 100%;background: #fafafc;}
.middle{padding: 30rpx 24rpx 0 24rpx;} .middle{padding: 30rpx 24rpx 0 24rpx;}
.main{padding: 10rpx 24rpx 20rpx 24rpx;background: #FFFFFF;border-radius: 20rpx;box-shadow: 0 0 15rpx #e6e6e8;} .main{padding: 10rpx 24rpx 20rpx 24rpx;background: #FFFFFF;border-radius: 20rpx;box-shadow: 0 0 15rpx #e6e6e8;}
.product{border-bottom: 1px solid #e5e5e5;padding: 25rpx 0;} .product{border-bottom: 1px solid #e5e5e5;padding: 25rpx 0;}
......
...@@ -15,15 +15,40 @@ ...@@ -15,15 +15,40 @@
<text></text> <text></text>
</view> </view>
</view> </view>
<view class="topCoupon"> <!-- -----------------------------有可用优惠券,并且未选中----------------------------------------------------- -->
<view class="middle1Coupon" v-if="couponData.usableCouponList&&couponData.usableCouponList.length>0&&chooseCouponObj==''" @click="showCoupon()">
<view class="couponLeft">
<text></text>
<text>{{couponData.usableCouponList[0].couponName}}</text>
</view>
<view class="couponRight">
<text>未选优惠券</text>
<text class="iconfont icon-you" style="font-size:32rpx;"></text>
</view>
</view>
<!-- -----------------------------有可用优惠券----------------------------------------------------- -->
<view class="topCoupon" v-if="chooseCouponObj!=''" @click="showCoupon()">
<view class="couponLeft"> <view class="couponLeft">
<text></text> <text></text>
<text>胖丁9折券</text> <text>{{chooseCouponObj.couponName}}</text>
</view> </view>
<view class="couponRight"> <view class="couponRight">
<text>-</text> <text>-</text>
<text>5.68</text> <text>{{chooseCouponObj.savedMoney.toFixed(2)}}</text>
<text class="iconfont icon-you" style="font-size:32rpx;"></text>
</view>
</view>
<!-- -----------------------------------------------可用优惠券条件--------------------------------------- -->
<view class="topCoupon" v-if="ableConpon!=''" @click="showCoupon()">
<view class="couponLeft">
<text></text>
<text>{{ableConpon.couponName}}</text>
</view>
<view class="couponRight">
<text>{{ableConpon.couponRule}}</text>
<text class="iconfont icon-you" style="font-size:32rpx;"></text> <text class="iconfont icon-you" style="font-size:32rpx;"></text>
</view> </view>
</view> </view>
...@@ -60,17 +85,24 @@ ...@@ -60,17 +85,24 @@
<view class="rightOne" @click="clickEnter()" ref="enter"> <view class="rightOne" @click="clickEnter()" ref="enter">
<text class="iconfont icon-im_huige" style="font-size:70rpx;"></text> <text class="iconfont icon-im_huige" style="font-size:70rpx;"></text>
</view> </view>
<view class="rightTwo" ref="pay"> <view class="rightTwo" ref="pay" @click="clickPay()">
<view>立即</view> <view>立即</view>
<view>支付</view> <view>支付</view>
</view> </view>
</view> </view>
</view> </view>
<!-------------------------------------------券弹窗------------------------------>
<orderCoupon :couponData="couponData" ref="orderCoupon" @couponChoose="couponChoose" :chooseCouponObj="chooseCouponObj"></orderCoupon>
</view> </view>
</template> </template>
<script> <script>
import orderCoupon from "@/components/orderCoupon.vue"
export default { export default {
components:{
orderCoupon
},
data() { data() {
return { return {
buyMoney:"", //输入金额 buyMoney:"", //输入金额
...@@ -82,6 +114,11 @@ ...@@ -82,6 +114,11 @@
timeStamp: "", //时间戳 timeStamp: "", //时间戳
nonceStr: "", //随机字符串 nonceStr: "", //随机字符串
package: "", //订单详情扩展字符串 package: "", //订单详情扩展字符串
flag: "", //setTimeout函数
couponData: "", //所有劵数据
chooseCouponObj: "", //默认选中最优价格优惠券
ableConpon: "", //没有可用优惠券时,达到一定条件可用,显示达到的条件
orderSource:8,//1公众号平台、2公众号组合页面1、3公众号组合页面2、4胖丁伙伴app、5第三方自助机、6第三方票房窗口、7平台快捷买单、8扫码支付
} }
}, },
onLoad(option) { onLoad(option) {
...@@ -92,21 +129,36 @@ ...@@ -92,21 +129,36 @@
} else { //小商家没有merchantId } else { //小商家没有merchantId
this.initTwo() this.initTwo()
} }
this.initCoupon()
}, },
methods: { methods: {
clickNum(i) {//--------------------------------------------------------输入数字 clickNum(i) {//---------------------------------------------------------------------输入数字
this.buyMoney += i this.buyMoney += i
this.$refs[i].$el.style.background="#dddddd" this.$refs[i].$el.style.background="#dddddd"
setTimeout(()=>{ setTimeout(()=>{
this.$refs[i].$el.style.background="" this.$refs[i].$el.style.background=""
},200) },200)
clearTimeout(this.flag)
this.flag = setTimeout(()=>{
this.initCoupon()
}, 1500)
}, },
clickEnter(){//--------------------------------------------------------退格 clickEnter(){//---------------------------------------------------------------------退格
this.buyMoney = this.buyMoney.substr(0, this.buyMoney.length - 1) this.buyMoney = this.buyMoney.substr(0, this.buyMoney.length - 1)
this.$refs.enter.$el.style.background="#dddddd" this.$refs.enter.$el.style.background="#dddddd"
setTimeout(()=>{ setTimeout(()=>{
this.$refs.enter.$el.style.background="" this.$refs.enter.$el.style.background=""
},200) },200)
clearTimeout(this.flag)
this.flag = setTimeout(()=>{
this.initCoupon()
}, 1500)
},
couponChoose(data) { //---------------------------------------------------------------子组件券选择之后触发的事件
this.chooseCouponObj = data
},
showCoupon() { //---------------------------------------------------------------------展示券列表
this.$refs.orderCoupon.showCoupon()
}, },
init() { //---------------------------------------------------------------------------初始化获取商家名称,大商家 init() { //---------------------------------------------------------------------------初始化获取商家名称,大商家
let data = { let data = {
...@@ -126,7 +178,7 @@ ...@@ -126,7 +178,7 @@
} }
}) })
}, },
initTwo() { //-------------------------------------------------------------------------初始化获取商家名称,没有merchantId的小商家 initTwo() { //--------------------------------------------------------------------------初始化获取商家名称,没有merchantId的小商家
let data = { let data = {
"id": this.companyId, "id": this.companyId,
} }
...@@ -143,35 +195,34 @@ ...@@ -143,35 +195,34 @@
} }
}) })
}, },
initCoupon() { //----------------------------------------------------------------------加载优惠券 initCoupon() { //-------------------------------------------------------------------------加载优惠券
let savedMoneyList = [] let savedMoneyList = []
this.chooseCouponObj = "" this.chooseCouponObj = ""
this.ableConpon = "" this.ableConpon = ""
let data = { let data = {
userId:this.userId, //userId
money:parseFloat(this.buyMoney)||0, //订单总价,不算券,和现金红包 money:parseFloat(this.buyMoney)||0, //订单总价,不算券,和现金红包
merchantId:this.merchantId, //商户Id merchantId:this.merchantId, //商户Id
companyId:this.companyId,//公司Id companyId:this.companyId,//公司Id
orderSource:this.orderSource,//订单来源 8扫码支付 orderSource:this.orderSource,//订单来源 8扫码支付
openid:this.openId, openid:uni.getStorageSync("openid")
} }
axios.post(this.httpUrl + "wechatUser/myPage/usableCouponList?token="+this.token,data).then((res) => { this.$request("wechatUser/myPage/usableCouponList",data).then((res) => {
if (res.data.code == "00") { if (res.code == "00") {
this.couponList = res.data.data this.couponList = res.data
if (res.data.data.usableCouponList.length > 0) { if (res.data.usableCouponList.length > 0) {
res.data.data.usableCouponList.forEach((item) => { //获取最优券 res.data.usableCouponList.forEach((item) => { //获取最优券
savedMoneyList.push(item.savedMoney) savedMoneyList.push(item.savedMoney)
}) })
let maxMoney = Math.max.apply(null, savedMoneyList) let maxMoney = Math.max.apply(null, savedMoneyList)
let index = res.data.data.usableCouponList.findIndex((item) => { let index = res.data.usableCouponList.findIndex((item) => {
return maxMoney == item.savedMoney return maxMoney == item.savedMoney
}) })
if(index>-1){ if(index>-1){
this.chooseCouponObj = res.data.data.usableCouponList[index] this.chooseCouponObj = res.data.usableCouponList[index]
} }
} else { } else {
if (res.data.data.unusableCouponList.length > 0) { if (res.data.unusableCouponList.length > 0) {
res.data.data.unusableCouponList.forEach((item, i) => { //没有可用优惠券,有达到条件可以用的优惠券,先显示条件,达到条件时显示可用优惠券 res.data.unusableCouponList.forEach((item, i) => { //没有可用优惠券,有达到条件可以用的优惠券,先显示条件,达到条件时显示可用优惠券
if (item.isProduct == 1) { if (item.isProduct == 1) {
this.ableConpon = item this.ableConpon = item
} }
...@@ -181,6 +232,82 @@ ...@@ -181,6 +232,82 @@
} }
}) })
}, },
clickPay(){//---------------------------------------------------------------点击立即支付,获取支付需要的参数
if (!parseFloat(this.buyMoney)) {
return
}
let couponList = []
if (this.chooseCouponObj != '') {
couponList = [ //券列表
{
couponId: this.chooseCouponObj.couponId, //券id
couponPrice: this.chooseCouponObj.savedMoney, //券价格
isMerchant: this.chooseCouponObj.createSource, //是否是商户的券
myCouponId: this.chooseCouponObj.id, //领取人编号
couponType:this.chooseCouponObj.couponType//券类型
}
]
}
let data = {
companyId: this.companyId,
merchantId: this.merchantId,
userId:uni.getStorageSync("openid"),
orderMoney: parseFloat(this.buyMoney),
payType: this.payType, //支付类型,
orderSource:this.orderSource,//订单来源 8扫码支付
couponList,//券列表
}
this.$refs.pay.$el.style.cssText="background:#cccccc;"
this.$request("orderc/order/codePay", data).then((res) => {
setTimeout(() => {
this.$refs.pay.$el.style.cssText="background:#1dce2e;"
},1000)
if(res.code=="00") {
if (res.data.errorMessage) {
uni.showToast({
title:res.data.errorMessage,
icon:"none"
})
return
}
//微信入参
this.signType = res.data.signType
this.paySign = res.data.sign
this.timeStamp = res.data.timestamp
this.nonceStr = res.data.noncestr
this.package = res.data.package
this.goPay()
} else {
uni.showToast({
title:res.message,
icon:"none"
})
}
}).catch((err) => {
this.$refs.pay.$el.style.cssText="background:#1dce2e;"
})
},
goPay(){//------------------------------------------------------------------------------去支付
uni.requestPayment({
provider: 'wxpay',
timeStamp:this.timeStamp,
nonceStr:this.nonceStr,
package:this.package,
signType:this.signType,
paySign:this.paySign,
success: function (res) {
uni.redirectTo({
url:"../paySuccess/paySuccess"
})
},
fail: function (err) {
uni.showToast({
title:err.errMsg,
icon:"none"
})
}
})
}
}, },
watch: { watch: {
buyMoney(val, oldVal) { buyMoney(val, oldVal) {
......
@import "uview-ui/theme.scss";
/** /**
* 这里是uni-app内置的常用样式变量 * 这里是uni-app内置的常用样式变量
* *
......
...@@ -18,6 +18,9 @@ ...@@ -18,6 +18,9 @@
"desc": "请点击确定" "desc": "请点击确定"
} }
}, },
"uniStatistics": {
"enable": true
},
"usingComponents": {}, "usingComponents": {},
"sitemapLocation": "sitemap.json" "sitemapLocation": "sitemap.json"
} }
\ No newline at end of file
This diff is collapsed.
...@@ -55,6 +55,11 @@ ...@@ -55,6 +55,11 @@
/******/ // The module cache /******/ // The module cache
/******/ var installedModules = {}; /******/ var installedModules = {};
/******/ /******/
/******/ // object to store loaded CSS chunks
/******/ var installedCssChunks = {
/******/ "common/runtime": 0
/******/ }
/******/
/******/ // object to store loaded and loading chunks /******/ // object to store loaded and loading chunks
/******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched /******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched
/******/ // Promise = chunk loading, 0 = chunk loaded /******/ // Promise = chunk loading, 0 = chunk loaded
...@@ -64,6 +69,11 @@ ...@@ -64,6 +69,11 @@
/******/ /******/
/******/ var deferredModules = []; /******/ var deferredModules = [];
/******/ /******/
/******/ // script path function
/******/ function jsonpScriptSrc(chunkId) {
/******/ return __webpack_require__.p + "" + chunkId + ".js"
/******/ }
/******/
/******/ // The require function /******/ // The require function
/******/ function __webpack_require__(moduleId) { /******/ function __webpack_require__(moduleId) {
/******/ /******/
...@@ -88,6 +98,108 @@ ...@@ -88,6 +98,108 @@
/******/ return module.exports; /******/ return module.exports;
/******/ } /******/ }
/******/ /******/
/******/ // This file contains only the entry chunk.
/******/ // The chunk loading function for additional chunks
/******/ __webpack_require__.e = function requireEnsure(chunkId) {
/******/ var promises = [];
/******/
/******/
/******/ // mini-css-extract-plugin CSS loading
/******/ var cssChunks = {"components/orderCoupon":1,"uview-ui/components/u-action-sheet/u-action-sheet":1,"uview-ui/components/u-popup/u-popup":1,"uview-ui/components/u-icon/u-icon":1,"uview-ui/components/u-mask/u-mask":1};
/******/ if(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);
/******/ else if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {
/******/ promises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {
/******/ var href = "" + ({"components/orderCoupon":"components/orderCoupon","uview-ui/components/u-action-sheet/u-action-sheet":"uview-ui/components/u-action-sheet/u-action-sheet","uview-ui/components/u-popup/u-popup":"uview-ui/components/u-popup/u-popup","uview-ui/components/u-icon/u-icon":"uview-ui/components/u-icon/u-icon","uview-ui/components/u-mask/u-mask":"uview-ui/components/u-mask/u-mask"}[chunkId]||chunkId) + ".wxss";
/******/ var fullhref = __webpack_require__.p + href;
/******/ var existingLinkTags = document.getElementsByTagName("link");
/******/ for(var i = 0; i < existingLinkTags.length; i++) {
/******/ var tag = existingLinkTags[i];
/******/ var dataHref = tag.getAttribute("data-href") || tag.getAttribute("href");
/******/ if(tag.rel === "stylesheet" && (dataHref === href || dataHref === fullhref)) return resolve();
/******/ }
/******/ var existingStyleTags = document.getElementsByTagName("style");
/******/ for(var i = 0; i < existingStyleTags.length; i++) {
/******/ var tag = existingStyleTags[i];
/******/ var dataHref = tag.getAttribute("data-href");
/******/ if(dataHref === href || dataHref === fullhref) return resolve();
/******/ }
/******/ var linkTag = document.createElement("link");
/******/ linkTag.rel = "stylesheet";
/******/ linkTag.type = "text/css";
/******/ linkTag.onload = resolve;
/******/ linkTag.onerror = function(event) {
/******/ var request = event && event.target && event.target.src || fullhref;
/******/ var err = new Error("Loading CSS chunk " + chunkId + " failed.\n(" + request + ")");
/******/ err.code = "CSS_CHUNK_LOAD_FAILED";
/******/ err.request = request;
/******/ delete installedCssChunks[chunkId]
/******/ linkTag.parentNode.removeChild(linkTag)
/******/ reject(err);
/******/ };
/******/ linkTag.href = fullhref;
/******/
/******/ var head = document.getElementsByTagName("head")[0];
/******/ head.appendChild(linkTag);
/******/ }).then(function() {
/******/ installedCssChunks[chunkId] = 0;
/******/ }));
/******/ }
/******/
/******/ // JSONP chunk loading for javascript
/******/
/******/ var installedChunkData = installedChunks[chunkId];
/******/ if(installedChunkData !== 0) { // 0 means "already installed".
/******/
/******/ // a Promise means "currently loading".
/******/ if(installedChunkData) {
/******/ promises.push(installedChunkData[2]);
/******/ } else {
/******/ // setup Promise in chunk cache
/******/ var promise = new Promise(function(resolve, reject) {
/******/ installedChunkData = installedChunks[chunkId] = [resolve, reject];
/******/ });
/******/ promises.push(installedChunkData[2] = promise);
/******/
/******/ // start chunk loading
/******/ var script = document.createElement('script');
/******/ var onScriptComplete;
/******/
/******/ script.charset = 'utf-8';
/******/ script.timeout = 120;
/******/ if (__webpack_require__.nc) {
/******/ script.setAttribute("nonce", __webpack_require__.nc);
/******/ }
/******/ script.src = jsonpScriptSrc(chunkId);
/******/
/******/ // create error before stack unwound to get useful stacktrace later
/******/ var error = new Error();
/******/ onScriptComplete = function (event) {
/******/ // avoid mem leaks in IE.
/******/ script.onerror = script.onload = null;
/******/ clearTimeout(timeout);
/******/ var chunk = installedChunks[chunkId];
/******/ if(chunk !== 0) {
/******/ if(chunk) {
/******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type);
/******/ var realSrc = event && event.target && event.target.src;
/******/ error.message = 'Loading chunk ' + chunkId + ' failed.\n(' + errorType + ': ' + realSrc + ')';
/******/ error.name = 'ChunkLoadError';
/******/ error.type = errorType;
/******/ error.request = realSrc;
/******/ chunk[1](error);
/******/ }
/******/ installedChunks[chunkId] = undefined;
/******/ }
/******/ };
/******/ var timeout = setTimeout(function(){
/******/ onScriptComplete({ type: 'timeout', target: script });
/******/ }, 120000);
/******/ script.onerror = script.onload = onScriptComplete;
/******/ document.head.appendChild(script);
/******/ }
/******/ }
/******/ return Promise.all(promises);
/******/ };
/******/ /******/
/******/ // expose the modules object (__webpack_modules__) /******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules; /******/ __webpack_require__.m = modules;
...@@ -141,6 +253,9 @@ ...@@ -141,6 +253,9 @@
/******/ // __webpack_public_path__ /******/ // __webpack_public_path__
/******/ __webpack_require__.p = "/"; /******/ __webpack_require__.p = "/";
/******/ /******/
/******/ // on error function for async loading
/******/ __webpack_require__.oe = function(err) { console.error(err); throw err; };
/******/
/******/ var jsonpArray = global["webpackJsonp"] = global["webpackJsonp"] || []; /******/ var jsonpArray = global["webpackJsonp"] = global["webpackJsonp"] || [];
/******/ var oldJsonpFunction = jsonpArray.push.bind(jsonpArray); /******/ var oldJsonpFunction = jsonpArray.push.bind(jsonpArray);
/******/ jsonpArray.push = webpackJsonpCallback; /******/ jsonpArray.push = webpackJsonpCallback;
......
This diff is collapsed.
{
"usingComponents": {
"u-action-sheet": "/uview-ui/components/u-action-sheet/u-action-sheet"
},
"component": true
}
\ No newline at end of file
<u-action-sheet bind:input="__e" vue-id="91856606-1" value="{{show}}" data-event-opts="{{[['^input',[['__set_model',['','show','$event',[]]]]]]}}" class="data-v-cae34dae" bind:__l="__l" vue-slots="{{['default']}}"><view class="_div data-v-cae34dae"><block wx:if="{{couponList.usableCouponList&&couponList.usableCouponList.length>0}}"><view class="middle _div data-v-cae34dae"><block wx:for="{{$root.l0}}" wx:for-item="item" wx:for-index="index" wx:key="index"><view class="_div data-v-cae34dae"><label class="data-v-cae34dae"><view class="_p data-v-cae34dae">{{''+item.$orig.couponName+''}}<input type="radio" name="coupon" data-event-opts="{{[['change',[['e0',['$event']],['hideCoupon']]]]}}" data-event-params="{{({item})}}" value="{{item.$orig}}" checked="{{_q(chooseCoupon,item.$orig)}}" bindchange="__e" class="data-v-cae34dae"/></view><view class="_p data-v-cae34dae">{{''+item.$orig.couponRule+''}}</view><view class="_p data-v-cae34dae">{{''+item.$orig.useStartDate+"-"+item.$orig.useEndDate+''}}<label class="_span data-v-cae34dae"><view class="_i data-v-cae34dae">¥</view>{{item.g0+''}}</label></view></label></view></block></view></block><block wx:if="{{couponList.usableCouponList&&couponList.usableCouponList.length==0}}"><view style="padding-top:1.5rem;text-align:center;" class="_div data-v-cae34dae">空空如也...</view></block></view><view class="_div data-v-cae34dae"><block wx:if="{{couponList.unusableCouponList&&couponList.unusableCouponList.length>0}}"><view class="middle _div data-v-cae34dae"><block wx:for="{{$root.l1}}" wx:for-item="item" wx:for-index="index" wx:key="index"><view class="_div data-v-cae34dae"><view class="_p data-v-cae34dae">{{''+item.$orig.couponName+''}}</view><view class="_p data-v-cae34dae">{{''+item.$orig.couponRule+''}}<label class="_span data-v-cae34dae"><view class="_i data-v-cae34dae">¥</view>{{item.g1+''}}</label></view><view class="_p data-v-cae34dae">{{''+item.$orig.useStartDate+"-"+item.$orig.useEndDate+''}}</view></view></block></view></block><block wx:if="{{couponList.unusableCouponList&&couponList.unusableCouponList.length==0}}"><view style="padding-top:1.5rem;text-align:center;" class="_div data-v-cae34dae">空空如也...</view></block></view></u-action-sheet>
\ No newline at end of file
.middle.data-v-cae34dae{padding:0.24rem;}
.middle ._div.data-v-cae34dae{background: #FFFFFF;padding: 0.24rem;border-radius: 0.1rem;}
.middle ._div.data-v-cae34dae:not(:first-child){margin-top: 0.2rem;}
.middle ._div ._p.data-v-cae34dae:not(:first-child){margin-top: 0.2rem;}
.middle ._div ._p.data-v-cae34dae{display: -webkit-box;display: -webkit-flex;display: flex;-webkit-box-pack: justify;-webkit-justify-content: space-between;justify-content: space-between;}
.middle ._div ._p.data-v-cae34dae:first-child{font-weight: bold;}
.middle ._div ._p.data-v-cae34dae:nth-child(2){font-size: 0.24rem;}
.middle ._div ._p.data-v-cae34dae:last-child{color: #666666;font-size: 0.24rem;}
.middle ._p ._span.data-v-cae34dae{color:#f9690e;font-size: 0.3rem;font-weight: bolder;}
.middle ._p ._span ._i.data-v-cae34dae{font-size: 0.24rem;font-weight: 400;}
<view><view hidden="{{!(bodyShow)}}" class="middle"><view class="main"><block wx:for="{{orderList}}" wx:for-item="item" wx:for-index="__i0__" wx:key="id"><block wx:if="{{orderList!=''}}"><view class="product"><view><text>{{''+item.merchantName+"("+item.productName+')'}}</text><text><text style="font-size:24rpx;">¥</text>{{item.unitPrice+''}}<text>x</text>{{''+item.orderNum}}<view class="_br"></view><block wx:if="{{item.depositReceived}}"><text style="margin-top:15rpx;font-size:22rpx;display:inline-block;color:#f45803;">{{"押金:"+item.depositReceived}}</text></block></text></view><block wx:if="{{item.pdDiscountMoney}}"><view class="coupon"><text>券</text><text><text style="font-size:24rpx;">-¥</text>{{item.pdDiscountMoney+''}}</text></view></block></view></block></block><block wx:if="{{orderList==''}}"><view class="product"><view><text>{{''+merchantName+"("+productName+')'}}</text><text style="text-align:right;"><view style="font-size:24rpx;" class="_small">¥</view>{{unitPrice+''}}<text>x</text>{{''+orderNum}}<view class="_br"></view><block wx:if="{{depositReceived}}"><text style="margin-top:15rpx;font-size:22rpx;display:inline-block;color:#f45803;">{{"押金:"+depositReceived}}</text></block></text></view><block wx:if="{{pdDiscountMoney}}"><view class="coupon"><text>券</text><text><text style="font-size:24rpx;">-¥</text>{{pdDiscountMoney+''}}</text></view></block></view></block><view class="mainP3"><text>实际支付</text><text><text><text style="font-size:28rpx;">¥</text>{{pdOrderMoney+''}}</text></text></view><view class="mainview"><image style="width:70rpx;height:62rpx;" src="../../static/img/orderPayment/weixin.png"></image><view>微信支付</view><image style="width:32rpx;height:32rpx;" src="../../static/img/orderPayment/input.png"></image></view></view></view><view hidden="{{!(bodyShow)}}" class="bottom"><view class="bottomFirst"><text>实付款</text><text><text>¥</text>{{pdOrderMoney+''}}</text></view><view class="bottomLast"><text href="tel:400-072-0368"></text><text data-event-opts="{{[['tap',[['goPay']]]]}}" style="{{'background:'+(background)+';'}}" bindtap="__e">去支付</text></view></view></view> <view><view hidden="{{!(bodyShow)}}" class="middle"><view class="main"><block wx:for="{{orderList}}" wx:for-item="item" wx:for-index="__i0__" wx:key="id"><block wx:if="{{orderList!=''}}"><view class="product"><view><text>{{''+item.merchantName+"("+item.productName+')'}}</text><text><text style="font-size:24rpx;">¥</text>{{item.unitPrice+''}}<text>x</text>{{''+item.orderNum}}<view class="_br"></view><block wx:if="{{item.depositReceived}}"><text style="margin-top:15rpx;font-size:22rpx;display:inline-block;color:#f45803;">{{"押金:"+item.depositReceived}}</text></block></text></view><block wx:if="{{item.pdDiscountMoney}}"><view class="coupon"><text>券</text><text><text style="font-size:24rpx;">-¥</text>{{item.pdDiscountMoney+''}}</text></view></block></view></block></block><block wx:if="{{orderList==''}}"><view class="product"><view><text>{{''+merchantName+"("+productName+')'}}</text><text style="text-align:right;"><view style="font-size:24rpx;" class="_small">¥</view>{{unitPrice+''}}<text>x</text>{{''+orderNum}}<view class="_br"></view><block wx:if="{{depositReceived}}"><text style="margin-top:15rpx;font-size:22rpx;display:inline-block;color:#f45803;">{{"押金:"+depositReceived}}</text></block></text></view><block wx:if="{{pdDiscountMoney}}"><view class="coupon"><text>券</text><text><text style="font-size:24rpx;">-¥</text>{{pdDiscountMoney+''}}</text></view></block></view></block><view class="mainP3"><text>实际支付</text><text><text><text style="font-size:28rpx;">¥</text>{{pdOrderMoney+''}}</text></text></view><view class="mainview"><image style="width:70rpx;height:62rpx;" src="/static/img/orderPayment/weixin.png"></image><view>微信支付</view><image style="width:32rpx;height:32rpx;" src="/static/img/orderPayment/input.png"></image></view></view></view><view hidden="{{!(bodyShow)}}" class="bottom"><view class="bottomFirst"><text>实付款</text><text><text>¥</text>{{pdOrderMoney+''}}</text></view><view class="bottomLast"><text href="tel:400-072-0368"></text><text data-event-opts="{{[['tap',[['goPay']]]]}}" style="{{'background:'+(background)+';'}}" bindtap="__e">去支付</text></view></view></view>
\ No newline at end of file \ No newline at end of file
{ {
"navigationBarTitleText": "订单支付", "navigationBarTitleText": "订单支付",
"enablePullDownRefresh": false, "enablePullDownRefresh": false,
"usingComponents": {} "usingComponents": {
"order-coupon": "/components/orderCoupon"
}
} }
\ No newline at end of file
...@@ -12,6 +12,12 @@ ...@@ -12,6 +12,12 @@
}, },
"miniprogram": { "miniprogram": {
"list": [ "list": [
{
"name": "pages",
"pathName": "pages/index/index",
"query": "",
"scene": null
},
{ {
"name": "pages/ourPayment/ourPayment", "name": "pages/ourPayment/ourPayment",
"pathName": "pages/ourPayment/ourPayment", "pathName": "pages/ourPayment/ourPayment",
......
<text data-event-opts="{{[['tap',[['_onClick',['$event']]]]]}}" class="{{['uni-icons data-v-a2e81f6e',customIcons,customIcons?type:'']}}" style="{{'color:'+(color)+';'+('font-size:'+(size+'px')+';')}}" bindtap="__e">{{icons[type]}}</text>
\ No newline at end of file
{
"usingComponents": {
"u-popup": "/uview-ui/components/u-popup/u-popup"
},
"component": true
}
\ No newline at end of file
<u-popup vue-id="430f7e86-1" mode="bottom" border-radius="{{borderRadius}}" popup="{{false}}" maskCloseAble="{{maskCloseAble}}" length="auto" safeAreaInsetBottom="{{safeAreaInsetBottom}}" z-index="{{uZIndex}}" value="{{value}}" data-event-opts="{{[['^close',[['popupClose']]],['^input',[['__set_model',['','value','$event',[]]]]]]}}" bind:close="__e" bind:input="__e" class="data-v-6f495b00" bind:__l="__l" vue-slots="{{['default']}}"><block wx:if="{{tips.text}}"><view class="u-tips u-border-bottom data-v-6f495b00" style="{{$root.s0}}">{{''+tips.text+''}}</view></block><block wx:for="{{$root.l0}}" wx:for-item="item" wx:for-index="index" wx:key="index"><block class="data-v-6f495b00"><view class="{{['u-action-sheet-item u-line-1 data-v-6f495b00',index<list.length-1?'u-border-bottom':'']}}" style="{{item.s1}}" hover-stay-time="{{150}}" data-event-opts="{{[['touchmove',[['',['$event']]]],['tap',[['itemClick',[index]]]]]}}" catchtouchmove="__e" bindtap="__e"><text class="data-v-6f495b00">{{item.$orig.text}}</text><block wx:if="{{item.$orig.subText}}"><text class="u-action-sheet-item__subtext u-line-1 data-v-6f495b00">{{item.$orig.subText}}</text></block></view></block></block><block wx:if="{{cancelBtn}}"><view class="u-gab data-v-6f495b00"></view></block><block wx:if="{{cancelBtn}}"><view class="u-actionsheet-cancel u-action-sheet-item data-v-6f495b00" hover-class="u-hover-class" hover-stay-time="{{150}}" data-event-opts="{{[['touchmove',[['',['$event']]]],['tap',[['close',['$event']]]]]}}" catchtouchmove="__e" bindtap="__e">{{cancelText}}</view></block></u-popup>
\ No newline at end of file
<block wx:if="{{show}}"><view class="{{['u-badge data-v-2b1712d8',isDot?'u-badge-dot':'',size=='mini'?'u-badge-mini':'',type?'u-badge--bg--'+type:'']}}" style="{{$root.s0}}">{{''+showText+''}}</view></block>
\ No newline at end of file
{
"usingComponents": {},
"component": true
}
\ No newline at end of file
<view data-event-opts="{{[['tap',[['click',['$event']]]]]}}" class="{{['u-icon data-v-6e20bb40','u-icon--'+labelPos]}}" style="{{$root.s0}}" bindtap="__e"><block wx:if="{{isImg}}"><image class="u-icon__img data-v-6e20bb40" style="{{$root.s1}}" src="{{name}}" mode="{{imgMode}}"></image></block><block wx:else><text class="{{['u-icon__icon data-v-6e20bb40',customClass]}}" style="{{$root.s2}}" hover-class="{{hoverClass}}" data-event-opts="{{[['touchstart',[['touchstart',['$event']]]]]}}" bindtouchstart="__e"><block wx:if="{{showDecimalIcon}}"><text class="{{['u-icon__decimal data-v-6e20bb40',decimalIconClass]}}" style="{{$root.s3}}" hover-class="{{hoverClass}}"></text></block></text></block><block wx:if="{{label!==''}}"><text class="u-icon__label data-v-6e20bb40" style="{{'color:'+(labelColor)+';'+('font-size:'+($root.g0)+';')+('margin-left:'+(labelPos=='right'?$root.g1:0)+';')+('margin-top:'+(labelPos=='bottom'?$root.g2:0)+';')+('margin-right:'+(labelPos=='left'?$root.g3:0)+';')+('margin-bottom:'+(labelPos=='top'?$root.g4:0)+';')}}">{{label+''}}</text></block></view>
\ No newline at end of file
{
"usingComponents": {},
"component": true
}
\ No newline at end of file
<view class="{{['u-mask data-v-4bfa3b00',(zoom)?'u-mask-zoom':'',(show)?'u-mask-show':'']}}" style="{{$root.s0}}" hover-stop-propagation="{{true}}" data-event-opts="{{[['tap',[['click',['$event']]]],['touchmove',[['e0',['$event']]]]]}}" bindtap="__e" catchtouchmove="__e"><slot></slot></view>
\ No newline at end of file
{
"usingComponents": {
"u-badge": "/uview-ui/components/u-badge/u-badge"
},
"component": true
}
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment