123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219 |
- <template>
- <div>
- <common @asynCallBack="asynCallBack"></common>
- <top-header :pageTitle="pageTitle" ></top-header>
- <div class="mui-content vongi-qingjiadt margin60">
- <div class="vongi-cashier">
- <img :src="detail.goodsPic" alt="">
- <div class="vongi-cashier-text">
- <div class="vongi-text-tit">
- <h3 class="flew-sp ellipsis">
- {{detail.goodsName}}</h3>
- <p class="ellipsis">{{detail.goodsDesc}}</p>
- </div>
-
- <h3 class="flew-sp">¥{{detail.totalFee}}<p>×1</p></h3>
- </div>
- </div>
- <form class="mui-input-group">
- <div class="mui-input-row">
- <label>购买者姓名</label>
- <span>{{detail.name}}</span>
- </div>
- <div class="mui-input-row">
- <label>支付订单号</label>
- <span>{{detail.outOrderNo}}</span>
- </div>
- <div class="mui-input-row">
- <label>合计金额</label>
- <span style="color:#ED6A0C">¥{{detail.totalFee}}</span>
- </div>
- </form>
- <div class="mui-content-padded"><h5>支付方式</h5></div>
- <form class="mui-input-group margin10">
- <div class="mui-input-row mui-radio">
- <label>微信支付</label>
- <input name="radio1" type="radio" value="1" v-model="paytypeindex" >
- </div>
- <div class="mui-input-row mui-radio">
- <label>支付宝支付</label>
- <input name="radio1" type="radio" value="2" v-model="paytypeindex">
- </div>
- </form>
- <div class="vongi-qingjiadt vongi-editme">
- <form class="mui-input-group">
-
- <div class="mui-input-row">
- <label>推广人</label>
- <input type="number" class="mui-input-clear" placeholder="请输入推广人编号,没有可不填" v-model="paycode">
- </div>
-
- </form>
- </div>
- <div class="vongi-cashier-btn-row">
- <div class="vongi-cashier-btn-white">
- <span>合计:¥{{detail.totalFee}}</span>
- <div class="vongi-cashier-btn" @click="submit">支付</div>
- </div>
- </div>
- </div>
- <img id="qrcode">
- <loading :visible="isLoading"></loading>
- </div>
- </template>
- <script>
- import * as API_Pay from '$project/apis/payment'
- import Common from '$project/components/Common.vue'
- import Loading from '$project/components/Loading.vue'
- import TopHeader from '$project/components/TopHeader.vue'
- require('$project/assets/js/mui.picker.min.js');
- import QRCode from 'qrcodejs2'
- import {
- mapGetters,
- mapMutations
- } from 'vuex'
- import {
- wxPayJs
- } from '$project/utils/wxpay'
- import {
- convertCanvasToImage,
- currentTimeStamp,
- parseUnixTime
- } from '$project/utils'
- export default {
- name: 'MasterLivePay',
- components: {
- Common,
- Loading,
- TopHeader
- },
- data() {
- return {
- pageTitle: '收银台',
- paytypeindex:"1",
- paycode:'',
- paytype:"微信支付",
- qrCodeImg:"",
- isLoading: false,
- detail:{}
- }
- },
- created() {
- this.detail=this.$route.query;
- console.log(this.detail);
- if(this.detail.goodsPic=="null"){
- this.detail.goodsPic=null;
- } },
- methods: {
- selectPay() {
- var picker = new mui.PopPicker();
- picker.setData([{
- text: "微信支付",
- value: '1'
- }
- ,
- {
- text: "支付宝扫码",
- value: '2'
- }
- // ,
- // {
- // text: "现场支付",
- // value: '0'
- // }
- ]);
- picker.show((selectItems) => {
- this.paytypeindex=selectItems[0].value;
- this.paytype=selectItems[0].text;
- });
- },
- //提交表单
- submit() {
- this.isLoading=true;
- if(this.paytypeindex=="1"){
- API_Pay.wxJsapiPay(this.detail.id,this.paycode).then(data=>{
- //公共页面
- data.url=window.location.href.split("#")[0]+"/#/master/live/paySuccess";
- this.isLoading=false;
- wxPayJs(data)
- }).catch(error => {
- this.isLoading = false;
- mui.toast(error);
- })
- }else if(this.paytypeindex=="2"){
- API_Pay.tradePrecreatePay(this.detail.id,this.paycode).then(url=>{
- this.isLoading = false;
- let qrcode = new QRCode('qrcode', {
- width: 200,
- height: 200,
- text: url,
- correctLevel: QRCode.CorrectLevel.M,
- })
- var canvas = document.getElementsByTagName('canvas')[0];
- this.qrCodeImg = convertCanvasToImage(canvas);
- var btnArray = ['关闭',"支付成功?"];
- var _this=this
- mui.confirm('<img src="'+this.qrCodeImg+'" >',
- '请使用支付宝扫码', btnArray, function(e) {
- if (e.index == 1) {
- _this.$router.push({
- name: 'MasterLiveInfo',
- })
- }
- })
- }).catch(error => {
- this.isLoading = false;
- mui.toast(error);
- })
- }
- },asynCallBack(){},
- },
- mounted() {
- },
- destroyed() {
- },
- computed: {
- ...mapGetters({
- openId: 'wx_openid',
- token: 'token',
- person_data: 'person_data',
- person_popedom: 'person_popedom',
- })
- }
- }
- </script>
- <style scoped src="$project/assets/css/pension.css"></style>
- <style scoped src="$project/assets/css/xpwyfyy.css"></style>
- <style src="$project/assets/css/iconfont.css"></style>
- <style>
- </style>
|