|
@@ -0,0 +1,260 @@
|
|
|
+// pages/historyOrderAfter/historyOrderAfter.js
|
|
|
+Page({
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 页面的初始数据
|
|
|
+ */
|
|
|
+ data: {
|
|
|
+ date:'',
|
|
|
+ startDate:'',
|
|
|
+ endDate:'',
|
|
|
+ orders:[
|
|
|
+ {
|
|
|
+ buttonMessage1:'',
|
|
|
+ buttonColor1:'',
|
|
|
+ buttonMessage2:'',
|
|
|
+ buttonColor2:'',
|
|
|
+ order:{
|
|
|
+ oilName:"92#",
|
|
|
+ nozzleNum:'5',
|
|
|
+ volume:'20.0',
|
|
|
+ amount:'46.8',
|
|
|
+ date:'2024-11-24',
|
|
|
+ time:'09:08',
|
|
|
+ status:'已授权'
|
|
|
+ },
|
|
|
+ statusColor:'#838282',
|
|
|
+ countdown:'60'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ buttonMessage1:'取消订单',
|
|
|
+ buttonColor1:'#838282',
|
|
|
+ buttonMessage2:'重新授权',
|
|
|
+ buttonColor2:'#d17067',
|
|
|
+ order:{
|
|
|
+ oilName:"0#",
|
|
|
+ nozzleNum:'6',
|
|
|
+ volume:'21.0',
|
|
|
+ amount:'42.8',
|
|
|
+ date:'2024-11-24',
|
|
|
+ time:'09:08',
|
|
|
+ status:'已失效'
|
|
|
+ },
|
|
|
+ statusColor:'#838282',
|
|
|
+ countdown:''
|
|
|
+ },
|
|
|
+ {
|
|
|
+ buttonMessage1:'',
|
|
|
+ buttonColor1:'',
|
|
|
+ buttonMessage2:'重新支付',
|
|
|
+ buttonColor2:'#d17067',
|
|
|
+ order:{
|
|
|
+ oilName:"0#",
|
|
|
+ nozzleNum:'6',
|
|
|
+ volume:'21.0',
|
|
|
+ amount:'42.8',
|
|
|
+ date:'2024-11-24',
|
|
|
+ time:'09:08',
|
|
|
+ status:'支付失败'
|
|
|
+ },
|
|
|
+ statusColor:'#d17067',
|
|
|
+ countdown:''
|
|
|
+ },
|
|
|
+ {
|
|
|
+ buttonMessage1:'',
|
|
|
+ buttonColor1:'',
|
|
|
+ buttonMessage2:'重新支付',
|
|
|
+ buttonColor2:'#d17067',
|
|
|
+ order:{
|
|
|
+ oilName:"0#",
|
|
|
+ nozzleNum:'6',
|
|
|
+ volume:'21.0',
|
|
|
+ amount:'42.8',
|
|
|
+ date:'2024-11-24',
|
|
|
+ time:'09:08',
|
|
|
+ status:'支付失败'
|
|
|
+ },
|
|
|
+ statusColor:'#d17067',
|
|
|
+ countdown:''
|
|
|
+ },
|
|
|
+ {
|
|
|
+ buttonMessage1:'',
|
|
|
+ buttonColor1:'',
|
|
|
+ buttonMessage2:'重新支付',
|
|
|
+ buttonColor2:'#d17067',
|
|
|
+ order:{
|
|
|
+ oilName:"0#",
|
|
|
+ nozzleNum:'6',
|
|
|
+ volume:'21.0',
|
|
|
+ amount:'42.8',
|
|
|
+ date:'2024-11-24',
|
|
|
+ time:'09:08',
|
|
|
+ status:'支付失败'
|
|
|
+ },
|
|
|
+ statusColor:'#d17067',
|
|
|
+ countdown:''
|
|
|
+ },
|
|
|
+ {
|
|
|
+ buttonMessage1:'',
|
|
|
+ buttonColor1:'',
|
|
|
+ buttonMessage2:'重新支付',
|
|
|
+ buttonColor2:'#d17067',
|
|
|
+ order:{
|
|
|
+ oilName:"0#",
|
|
|
+ nozzleNum:'6',
|
|
|
+ volume:'21.0',
|
|
|
+ amount:'42.8',
|
|
|
+ date:'2024-11-24',
|
|
|
+ time:'09:08',
|
|
|
+ status:'支付失败'
|
|
|
+ },
|
|
|
+ statusColor:'#d17067',
|
|
|
+ countdown:''
|
|
|
+ },
|
|
|
+ ]
|
|
|
+ },
|
|
|
+
|
|
|
+ /** 获取当前日期 */
|
|
|
+ getNowDate(){
|
|
|
+ const date = new Date(); // 获取当前日期
|
|
|
+ const year = date.getFullYear(); // 获取年份
|
|
|
+ const month = String(date.getMonth() + 1).padStart(2, '0'); // 获取月份,补零
|
|
|
+ const day = String(date.getDate()).padStart(2, '0'); // 获取日期,补零
|
|
|
+
|
|
|
+ return `${year}-${month}-${day}`; // 拼接成 yyyy-MM-dd 格式
|
|
|
+ },
|
|
|
+ /** 获取上个月日期 */
|
|
|
+ getLastMouthDate(){
|
|
|
+ const currentDate = new Date(); // 获取当前日期
|
|
|
+ const year = currentDate.getFullYear(); // 当前年份
|
|
|
+ const month = currentDate.getMonth(); // 当前月份(0-11)
|
|
|
+ const day = currentDate.getDate(); // 当前日期
|
|
|
+
|
|
|
+ // 计算一个月前的日期
|
|
|
+ const oneMonthAgoDate = new Date(year, month - 1, day);
|
|
|
+
|
|
|
+ // 处理跨年问题(如果当前月份是 1 月,month - 1 会是 0,即上一年的 12 月)
|
|
|
+ // 无需额外处理,Date 对象会自动处理
|
|
|
+
|
|
|
+ // 格式化日期为 YYYY-MM-DD
|
|
|
+ const formattedDate = `${oneMonthAgoDate.getFullYear()}-${String(oneMonthAgoDate.getMonth() + 1).padStart(2, '0')}-${String(oneMonthAgoDate.getDate()).padStart(2, '0')}`;
|
|
|
+
|
|
|
+ return formattedDate;
|
|
|
+ },
|
|
|
+
|
|
|
+ /** 计算倒计时,倒计时结束后发起取消授权 */
|
|
|
+ startCountdow(){
|
|
|
+ this.timer = setInterval(() => {
|
|
|
+ const countDownZeroOrders = []
|
|
|
+ const orders = this.data.orders.map(order => {
|
|
|
+ if(order.countdown && order.countdown != '0') {
|
|
|
+ const currentCountDown = (Number(order.countdown) - 1);
|
|
|
+ order.countdown = currentCountDown.toString();
|
|
|
+ if(currentCountDown <= 0) countDownZeroOrders.push(order)
|
|
|
+ }
|
|
|
+ return order
|
|
|
+ })
|
|
|
+
|
|
|
+ this.setData({
|
|
|
+ orders:orders
|
|
|
+ })
|
|
|
+ this.toUnAnthorization(countDownZeroOrders)
|
|
|
+ },1000);
|
|
|
+ },
|
|
|
+
|
|
|
+ /** 结束倒计时 */
|
|
|
+ endCountDown(){
|
|
|
+ if(this.timer) {
|
|
|
+ clearInterval(this.timer)
|
|
|
+ this.timer = null
|
|
|
+ }
|
|
|
+ },
|
|
|
+ /** 发送取消授权 */
|
|
|
+ toUnAnthorization(orders) {
|
|
|
+ console.log(orders)
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * 生命周期函数--监听页面加载
|
|
|
+ */
|
|
|
+ onLoad(options) {
|
|
|
+ const today = this.getNowDate();
|
|
|
+ const lastMouthDay = this.getLastMouthDate();
|
|
|
+ this.setData({
|
|
|
+ date:today,
|
|
|
+ startDate:today,
|
|
|
+ endDate:lastMouthDay
|
|
|
+ });
|
|
|
+
|
|
|
+ this.startCountdow();
|
|
|
+ },
|
|
|
+
|
|
|
+ onUnload(){
|
|
|
+ this.endCountDown()
|
|
|
+ },
|
|
|
+ /**
|
|
|
+ * 生命周期函数--监听页面初次渲染完成
|
|
|
+ */
|
|
|
+ onReady() {
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 生命周期函数--监听页面显示
|
|
|
+ */
|
|
|
+ onShow() {
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 生命周期函数--监听页面隐藏
|
|
|
+ */
|
|
|
+ onHide() {
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 生命周期函数--监听页面卸载
|
|
|
+ */
|
|
|
+ onUnload() {
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 页面相关事件处理函数--监听用户下拉动作
|
|
|
+ */
|
|
|
+ onPullDownRefresh() {
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 页面上拉触底事件的处理函数
|
|
|
+ */
|
|
|
+ onReachBottom() {
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 用户点击右上角分享
|
|
|
+ */
|
|
|
+ onShareAppMessage() {
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+ /** 日期选择器选择时间 */
|
|
|
+ bindDateChange(date) {
|
|
|
+ this.setData({
|
|
|
+ date: date.detail.value
|
|
|
+ });
|
|
|
+ console.log(date)
|
|
|
+ },
|
|
|
+
|
|
|
+ /** 组件按钮一点击事件 */
|
|
|
+ onOrderButtonClick1(event){
|
|
|
+ console.log(event)
|
|
|
+ },
|
|
|
+
|
|
|
+ /** 组件按钮二点击事件 */
|
|
|
+ onOrderButtonClick2(event){
|
|
|
+ console.log(event)
|
|
|
+ },
|
|
|
+})
|