|
- const config = require('../../config/config.js')
- const Http = require('../../utils/HttpBasics.js')
- const app = getApp();
- Page({
- data: {
- recentlyList: [],
- Switch: true,
- todayTimer: '',
- todayMoney: '',
- money: '',
- loading: false,
- flag: true,
- submitText: '应收0元',
- submitDisabled: false,
- timeCount: 0,
- showDetailIf: false,
- discount: null,
- message: null,
- val: '',
- haveData: '',
- },
- hideKey() {
- this.setData({
- flag: false
- })
- },
- search() {
- this.setData({
- flag: true
- })
- },
- countChange(e) {
- console.log(e)
- let a = [];
- a = e.detail.value.split('.');
- if (a.length > 1) {
- a[1] = a[1].substring(0, 2)
- }
- this.setData({
- val: a.join('.')
- })
- if (this.data.val.split('.')[0] && Number(this.data.val) > 0.01) {
- if (this.data.discountRate != '暂无折扣') {
- let submitText = (this.data.val * this.data.discountRate / 10).toFixed(2)
- this.setData({
- submitText: "应收" + submitText + '元',
- money: submitText
- })
- console.log(this.data.submitText)
- } else {
- this.setData({
- submitText: "应收" + this.data.val + '元',
- money: this.data.val
- })
- }
- }
- if (this.data.val == 0 || this.data.val == '') {
- this.setData({
- submitText: "应收0元",
- submitDisabled: false
- })
- }
- },
- searchDetail() {
- wx.redirectTo({
- url: '../record/list/index',
- })
- },
- //扫码支付
- submit(e) {
- let _this = this;
- if (_this.data.val.split('.')[0] && Number(_this.data.val) > 0.01 && Number(_this.data.val) <= 10000000) {
- wx.scanCode({
- onlyFromCamera: true,
- success(res) {
- let postData = {
- authCode: res.result,
- totalFee: _this.data.money
- }
- wx.showLoading({
- title: '收款中',
- })
- if (res.result) {
- _this.orderCreate(_this, postData)
- } else {
- console.log(333)
- }
- }
- })
- } else {
- wx.showToast({
- title: '请输入有效金额',
- icon: "none"
- })
- }
-
- },
- // 刷卡支付订单
- orderCreate(_this, postData) {
- Http.post({
- url: config.api.orderCreate,
- data: postData
- })
- .then(res => {
- let postData = {
- payOrderId: res.data.payOrderId,
- orderId: res.data.orderId
- }
- _this.orderQuery(_this, postData)
- })
- .catch(err => {
- console.log(err);
- let postData = {
- payOrderId: err.data.payOrderId,
- orderId: err.data.orderId
- }
- if (err.data.err_code == 'USERPAYING') {
- console.log(err.data.err_code)
- setTimeout(function () {
- _this.orderQuery(_this, postData);
- // 调用超过三次
- _this.setData({
- timeCount: _this.data.timeCount + 1
- })
- }, 3000);
- } else if (err.data.err_code == 'SYSTEMERROR' || err.data.err_code == 'BANKERROR') {
- setTimeout(function () {
- _this.orderQuery(_this, postData);
- // 调用超过三次
- _this.setData({
- timeCount: _this.data.timeCount + 1
- })
- }, 1000);
- } else {
- _this.orderReverse(_this, postData)
- wx.showModal({
- title: '提示',
- content: err.message,
- showCancel: false
- })
- }
- });
- },
- // 查询刷卡支付订单
- orderQuery(_this, postData) {
- Http.post({
- url: config.api.orderQuery,
- data: postData
- })
- .then(res => {
- console.log(666)
- wx.showModal({
- title: '支付信息',
- content: '付款成功',
- showCancel: false,
- success: function (res) {
- if (res.confirm) {
- wx.reLaunch({
- url: '/pages/main/main',
- })
- }
- }
- })
- })
- .catch(err => {
- console.log(err)
- if (err.data.trade_state == 'USERPAYING') {
- if (_this.data.timeCount < 10) {
- setTimeout(function () {
- _this.orderQuery(_this, postData);
- // USERPAYING状态下, 且不超过30秒时继续调用查询
- _this.setData({
- timeCount: _this.data.timeCount + 1
- })
- }, 3000);
- } else {
- _this.orderReverse(_this, postData)
- }
- } else if (err.data.trade_state == 'BANKERROR') {
- setTimeout(function () {
- _this.orderQuery(_this, postData);
- }, 5000)
- } else if (err.data.trade_state == 'SYSTEMERROR') {
- setTimeout(function () {
- _this.orderQuery(_this, postData);
- }, 3000);
- } else {
- _this.orderReverse(_this, postData)
- wx.showModal({
- title: '提示',
- content: err.message,
- showCancel: false
- })
- }
- });
- },
- // 撤销刷卡支付订单
- orderReverse(_this, postData) {
- wx.hideLoading()
- Http.post({
- url: config.api.orderReverse,
- data: postData
- })
- .then(res => {
- console.log(666)
- wx.showModal({
- title: '提示',
- content: err.message,
- showCancel: false,
- success: function (res) {
- console.log(res);
- if (res.cancel) {
- console.log("cancle")
- //点击取消,默认隐藏弹框
- } else {
- console.log("yes")
- this.setData({
- submitText: '扫码收款',
- submitDisabled: false,
- timeCount: 0,
- // loading:true
- })
- }
- },
- fail: function (res) {
- console.log("fail")
- }, //接口调用失败的回调函数
- complete: function (res) { }, //接口调用结束的回调函数(调用成功、失败都会执行)
- })
-
- })
- .catch(err => { });
- },
- /**
- * 生命周期函数--监听页面加载
- */
- onLoad: function (options) {
- console.log(options, 'options')
- this.setData({
- message: options,
- discountRate: options.discountRate
- })
- },
- /**
- * 生命周期函数--监听页面显示
- */
- onShow: function (options) {
- let that = this;
- app.globalData.userInfo().then(res => {
- console.log(res)
- that.setData({
- userInfo: res
- })
- if (res && res.merchant_id) {
- that.findAccountById(res);
- that.findJurisdiction()
- }
- })
- },
- /**
- * 查询是否有修改账户权限
- */
- findJurisdiction() {
- Http.get({
- url: config.api.permitModifiy,
- }).then(res => {
- console.log(res)
- /**
- * data:true
- * 如有:显示
- * 没有;不显示
- */
- if (res && res.data == true) {
- this.setData({
- haveData: true,
- })
- } else {
- this.setData({
- haveData: false,
- })
- }
- }).catch(error => {
- console.log(error)
- })
- },
- /**
- * 查询收款账户状态
- */
- findAccountById(response) {
- let that = this;
- Http.get({
- url: config.api.findAccountById,
- data: {
- id: response.merchant_id
- }
- }).then(res => {
- /**
- * receiverAccount
- * 如有:已设置收款账户
- * 没有;未设置收款账户
- */
- if (res && res.data && res.data.receiver) {
- that.setData({
- receiverAccount: res.data.receiver.receiverAccount
- })
- } else {
- wx.showModal({
- title: '提醒',
- content: '您暂未配置收款账户,请配置',
- showCancel: false,
- success: function (res) {
- if (res.confirm) {
- if (that.data.haveData == true) {
- wx.navigateTo({
- url: `/pages/accountManagement/index?merchant_id=${response.merchant_id}&merchant_name=${response.merchant_name}`,
- })
- } else {
-
- wx.switchTab({
- url: '/pages/main/main',
- })
- }
- }
- }
- })
- }
- }).catch(error => {
- console.log(error)
- })
- }
- })
|