Files
JMApp/pages/singleStart/singleStart.js
XiaoMo 30e8122c21 feat(单次洗车): 实现单次洗车功能并优化界面样式
- 新增单次洗车页面,包含金额选择、协议勾选和注意事项
- 调整首页扫码启动按钮为单次启动和余额启动双按钮
- 优化单次洗车页面样式和交互逻辑
- 移除首页单次消费弹窗及相关逻辑
2026-01-03 22:12:29 +08:00

127 lines
4.2 KiB
JavaScript

var e = getApp(), t = require("../../utils/login.js");
Page({
data: {
banner: [],
list: [],
loading: !1,
message: "",
selectItemID: null,
approve: !0,
protocol: {
url: "",
name: "聚美汽服购买协议"
},
isSubmit: !1
},
onLoad: function () {
this.getAgentConfig();
},
getAgentConfig: function () {
var a = this;
if (a.data.loading) return !1;
a.setData({ loading: !0 });
var payload = {
number: e.globalData.deviceData.number || e.globalData.devicecode || "",
agentid: e.globalData.deviceData.agentid || "",
method: "POST"
};
t.request('/miniprogram/single/getAgentConfig', payload, !0).then(function (res) {
a.setData({ loading: !1 });
if (res.code != 200) {
a.setData({
list: [],
message: res.message || "加载失败"
});
return;
}
var list = (res.data || []).map(function (x, idx) {
x.selected = idx === 0;
return x;
});
a.setData({
list: list,
selectItemID: list.length ? list[0].id : null,
message: ""
});
}).catch(function () {
a.setData({
loading: !1,
list: [],
message: "网络异常,请稍后重试"
});
});
},
selectItem: function (n) {
var id = n.currentTarget.dataset.id;
var list = (this.data.list || []).map(function (x) {
x.selected = x.id == id;
return x;
});
this.setData({ selectItemID: id, list: list });
},
tobuyNow: function () {
if (!this.data.approve) return wx.showToast({
title: "请勾选同意相关条款",
icon: "none"
}), !1;
if (!this.data.selectItemID || this.data.isSubmit) return wx.showToast({
title: "请选择单次洗车金额~",
icon: "none"
}), !1;
var i = this, sel = (this.data.list || []).find(function (x) { return x.id == i.data.selectItemID; });
if (!sel || !sel.token) return wx.showToast({
title: "请选择有效档位~",
icon: "none"
}), !1;
this.setData({ isSubmit: !0 }), wx.showLoading({ title: "" });
t.request('/miniprogram/single/create', {
token: sel.token,
method: "POST"
}, !0).then(function (res) {
wx.hideLoading(), i.setData({ isSubmit: !1 });
if (200 != res.code) return wx.showModal({
title: "提示",
content: res.message || "下单失败"
}), !1;
var p = res.data.result || {};
var orderid = res.data.orderid || p.orderid || "";
wx.requestPayment({
timeStamp: p.timeStamp,
nonceStr: p.nonceStr,
package: p.package,
signType: p.signType,
paySign: p.paySign,
success: function () {
if (orderid) {
t.request('/miniprogram/single/notify', {
orderid: orderid,
method: "POST"
}, !0).then(function () {
wx.redirectTo({
url: "/pages/washing/washing"
});
}).catch(function () {
wx.redirectTo({
url: "/pages/washing/washing"
});
});
} else {
wx.redirectTo({
url: "/pages/washing/washing"
});
}
}
});
}).catch(function () {
wx.hideLoading(), i.setData({ isSubmit: !1 });
});
},
change: function (t) {
var i = t.detail.value.length;
this.setData({
approve: 1 == i
});
}
});