feat:新增地图模块,用于查找附近设备场地
This commit is contained in:
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
File diff suppressed because one or more lines are too long
@@ -1,6 +1,8 @@
|
||||
{
|
||||
"navigationBarTitleText": "附近场地",
|
||||
"usingComponents": {
|
||||
"uv-notice-bar": "../../node-modules/@climblee/uv-ui/components/uv-notice-bar/uv-notice-bar",
|
||||
"uv-icon": "../../node-modules/@climblee/uv-ui/components/uv-icon/uv-icon",
|
||||
"map-component": "../../components/MapComponent"
|
||||
}
|
||||
}
|
||||
+1
-1
@@ -1 +1 @@
|
||||
<view class="container data-v-ef66b09a"><map-component wx:if="{{a}}" class="r data-v-ef66b09a" u-r="mapRef" bindrelocate="{{c}}" bindscan="{{d}}" bindshowList="{{e}}" bindmarkerTap="{{f}}" bindmapCenterChange="{{g}}" u-i="ef66b09a-0" bind:__l="__l" u-p="{{h}}"/><view wx:if="{{i}}" class="map-loading-placeholder data-v-ef66b09a"><view class="loading-content data-v-ef66b09a"><view class="loading-spinner data-v-ef66b09a"></view><text class="data-v-ef66b09a">正在获取位置信息...</text></view></view><view wx:if="{{j}}" class="location-popup data-v-ef66b09a"><view class="popup-mask data-v-ef66b09a" bindtap="{{k}}"></view><view class="{{['location-sheet', 'data-v-ef66b09a', t && 'expanded']}}"><view class="sheet-handle data-v-ef66b09a" bindtap="{{l}}"><view class="handle-bar data-v-ef66b09a"></view></view><view class="sheet-header data-v-ef66b09a"><text class="sheet-title data-v-ef66b09a">附近场地 ({{m}})</text><view class="close-btn data-v-ef66b09a" bindtap="{{o}}"><image class="close-icon data-v-ef66b09a" src="{{n}}" mode="aspectFit"/></view></view><scroll-view class="sheet-content data-v-ef66b09a" scroll-y="true"><view wx:for="{{p}}" wx:for-item="item" wx:key="k" class="position-item data-v-ef66b09a" bindtap="{{item.l}}"><view class="position-info data-v-ef66b09a"><view class="position-name data-v-ef66b09a">{{item.a}}</view><view class="position-desc data-v-ef66b09a">{{item.b}}</view><view class="position-location data-v-ef66b09a"><image class="location-icon-small data-v-ef66b09a" src="{{q}}" mode="aspectFit"/><text class="data-v-ef66b09a">{{item.c}}</text></view><view wx:if="{{item.d}}" class="position-time data-v-ef66b09a"><text class="data-v-ef66b09a">营业时间:{{item.e}}</text></view></view><view class="position-actions data-v-ef66b09a"><view wx:if="{{item.f}}" class="distance-info data-v-ef66b09a"><text class="data-v-ef66b09a">{{item.g}}km</text></view><view class="{{['status-tag', 'data-v-ef66b09a', item.i]}}"><text class="data-v-ef66b09a">{{item.h}}</text></view><view class="nav-btn data-v-ef66b09a" catchtap="{{item.j}}"><text class="data-v-ef66b09a">导航</text></view></view></view><view wx:if="{{r}}" class="empty-state data-v-ef66b09a"><image class="empty-icon data-v-ef66b09a" src="{{s}}" mode="aspectFit"/><text class="empty-text data-v-ef66b09a">暂无附近场地</text></view></scroll-view></view></view><view wx:if="{{v}}" class="loading-overlay data-v-ef66b09a"><view class="loading-content data-v-ef66b09a"><view class="loading-spinner data-v-ef66b09a"></view><text class="data-v-ef66b09a">正在获取场地信息...</text></view></view><view wx:if="{{w}}" class="phone-auth-popup data-v-ef66b09a"><view class="popup-mask data-v-ef66b09a" catchtap="{{x}}"></view><view class="popup-content data-v-ef66b09a"><view class="popup-header data-v-ef66b09a"><text class="popup-title data-v-ef66b09a">授权获取手机号</text></view><view class="popup-body data-v-ef66b09a"><view class="auth-desc data-v-ef66b09a"><text class="data-v-ef66b09a">为了提供更好的服务和紧急联系,需要授权获取您的手机号</text></view><button class="auth-btn data-v-ef66b09a" open-type="getPhoneNumber" bindgetphonenumber="{{y}}"><text class="data-v-ef66b09a">一键获取手机号</text></button><view class="auth-cancel data-v-ef66b09a" bindtap="{{z}}"><text class="data-v-ef66b09a">暂不授权</text></view></view></view></view></view>
|
||||
<view class="container data-v-d45cdca7"><view class="header-section data-v-d45cdca7"><view class="logo-container data-v-d45cdca7"><image class="logo-image data-v-d45cdca7" src="{{a}}" mode="aspectFit"/><text class="app-name data-v-d45cdca7">共享风扇</text></view><uv-notice-bar wx:if="{{b}}" class="data-v-d45cdca7" u-i="d45cdca7-0" bind:__l="__l" u-p="{{b}}"></uv-notice-bar></view><map-component wx:if="{{c}}" class="r data-v-d45cdca7" u-r="mapRef" bindrelocate="{{e}}" bindscan="{{f}}" bindshowList="{{g}}" bindmarkerTap="{{h}}" bindmapCenterChange="{{i}}" u-i="d45cdca7-1" bind:__l="__l" u-p="{{j}}"/><view class="steps-guide data-v-d45cdca7"><view class="guide-header data-v-d45cdca7"><text class="guide-title data-v-d45cdca7">使用指南</text></view><view class="steps-container data-v-d45cdca7"><view wx:for="{{k}}" wx:for-item="step" wx:key="d" class="step-item data-v-d45cdca7"><view class="step-number data-v-d45cdca7">{{step.a}}</view><view class="step-content data-v-d45cdca7"><text class="step-title data-v-d45cdca7">{{step.b}}</text><text class="step-desc data-v-d45cdca7">{{step.c}}</text></view></view></view></view><view wx:if="{{l}}" class="map-loading-placeholder data-v-d45cdca7"><view class="loading-content data-v-d45cdca7"><view class="loading-spinner data-v-d45cdca7"></view><text class="data-v-d45cdca7">正在获取位置信息...</text></view></view><view wx:if="{{m}}" class="location-popup data-v-d45cdca7"><view class="popup-mask data-v-d45cdca7" bindtap="{{n}}"></view><view class="{{['location-sheet', 'data-v-d45cdca7', v && 'expanded']}}"><view class="sheet-header data-v-d45cdca7"><text class="sheet-title data-v-d45cdca7">附近设备场地 ({{o}})</text><view class="close-btn data-v-d45cdca7" bindtap="{{q}}"><uv-icon wx:if="{{p}}" class="data-v-d45cdca7" u-i="d45cdca7-2" bind:__l="__l" u-p="{{p}}"></uv-icon></view></view><scroll-view class="sheet-content data-v-d45cdca7" scroll-y="true"><view wx:for="{{r}}" wx:for-item="item" wx:key="k" class="position-item data-v-d45cdca7" bindtap="{{item.l}}"><view class="position-info data-v-d45cdca7"><view class="position-name data-v-d45cdca7">{{item.a}}</view><view class="{{['status-tag', 'data-v-d45cdca7', item.c]}}"><text class="data-v-d45cdca7">{{item.b}}</text></view><view wx:if="{{item.d}}" class="position-time data-v-d45cdca7"><text class="data-v-d45cdca7">营业时间:{{item.e}}</text></view></view><view class="position-actions data-v-d45cdca7"><view wx:if="{{item.f}}" class="distance-info data-v-d45cdca7"><text class="data-v-d45cdca7">{{item.g}}</text></view><view class="{{['status-tag', 'data-v-d45cdca7', item.i]}}"><text class="data-v-d45cdca7">{{item.h}}</text></view><view class="nav-btn data-v-d45cdca7" catchtap="{{item.j}}"><text class="data-v-d45cdca7">导航</text></view></view></view><view wx:if="{{s}}" class="empty-state data-v-d45cdca7"><image class="empty-icon data-v-d45cdca7" src="{{t}}" mode="aspectFit"/><text class="empty-text data-v-d45cdca7">附近5公里内暂无设备</text></view></scroll-view></view></view><view wx:if="{{w}}" class="loading-overlay data-v-d45cdca7"><view class="loading-content data-v-d45cdca7"><view class="loading-spinner data-v-d45cdca7"></view><text class="data-v-d45cdca7">正在获取场地信息...</text></view></view><view wx:if="{{x}}" class="phone-auth-popup data-v-d45cdca7"><view class="popup-mask data-v-d45cdca7" catchtap="{{y}}"></view><view class="popup-content data-v-d45cdca7"><view class="popup-header data-v-d45cdca7"><text class="popup-title data-v-d45cdca7">授权获取手机号</text></view><view class="popup-body data-v-d45cdca7"><view class="auth-desc data-v-d45cdca7"><text class="data-v-d45cdca7">为了提供更好的服务和紧急联系,需要授权获取您的手机号</text></view><button class="auth-btn data-v-d45cdca7" open-type="getPhoneNumber" bindgetphonenumber="{{z}}"><text class="data-v-d45cdca7">一键获取手机号</text></button><view class="auth-cancel data-v-d45cdca7" bindtap="{{A}}"><text class="data-v-d45cdca7">暂不授权</text></view></view></view></view></view>
|
||||
+1
-1
File diff suppressed because one or more lines are too long
+1
-1
@@ -1 +1 @@
|
||||
"use strict";const e=require("../../common/vendor.js"),a=require("../../common/assets.js"),o=require("../../util/index.js");if(!Array){e.resolveComponent("uni-icons")()}const n={__name:"index",setup(n){const t=e.ref({}),r=e.ref("0.00"),i=e.ref(""),s=e.ref(null),d=e.ref(!1);e.onMounted((()=>{l()}));const l=async()=>{try{if(!e.index.getStorageSync("token"))return void(await o.wxLogin());const a=await o.getUserInfo();console.log("User info response:",a),200==a.code&&(a.data.openId&&(i.value=a.data.openId,e.index.setStorageSync("openId",a.data.openId)),t.value={nickName:a.data.nickname,phone:a.data.phone,avatar:a.data.iconUrl,isAdmin:a.data.isAdmin},e.index.setStorageSync("userInfo",t.value),r.value=a.data.balanceAmount||"0.00")}catch(a){console.error("获取用户信息失败:",a),e.index.showToast({title:"获取用户信息失败",icon:"none"})}},c=a=>{e.index.navigateTo({url:a})},p=()=>{c("/pages/deposit/index")},u=()=>{t.value||v()},v=()=>{s.value&&(s.value.open(),d.value=!0)};return(o,n)=>{return e.e({a:t.value.avatar},t.value.avatar?{b:t.value.avatar}:{c:a._imports_0$1},{d:t.value.isAdmin},(t.value.isAdmin,{}),{e:t.value},t.value?{f:e.t(t.value.nickName),g:e.t(t.value.phone?(i=t.value.phone,i?i.replace(/(\d{3})\d{4}(\d{4})/,"$1****$2"):""):"未绑定手机号")}:{},{h:e.p({type:"right",size:"16",color:"#999"}),i:e.o(u),j:e.t(r.value),k:e.o(p),l:a._imports_1,m:e.p({type:"right",size:"16",color:"#999"}),n:e.o((e=>c("/pages/order/index"))),o:a._imports_2,p:e.p({type:"right",size:"16",color:"#999"}),q:e.o((e=>c("/pages/feedback/index"))),r:a._imports_3,s:e.p({type:"right",size:"16",color:"#999"}),t:e.o((e=>c("/pages/help/index")))});var i}}},t=e._export_sfc(n,[["__scopeId","data-v-6fbc3933"]]);wx.createPage(t);
|
||||
"use strict";const e=require("../../common/vendor.js"),a=require("../../common/assets.js"),o=require("../../util/index.js");if(!Array){e.resolveComponent("uni-icons")()}const n={__name:"index",setup(n){const t=e.ref({}),r=e.ref("0.00"),i=e.ref(""),s=e.ref(null),d=e.ref(!1);e.onMounted((()=>{l()}));const l=async()=>{try{if(!e.index.getStorageSync("token"))return void(await o.wxLogin());const a=await o.getUserInfo();console.log("User info response:",a),200==a.code&&(a.data.openId&&(i.value=a.data.openId,e.index.setStorageSync("openId",a.data.openId)),t.value={nickName:a.data.nickname,phone:a.data.phone,avatar:a.data.iconUrl,isAdmin:a.data.isAdmin},e.index.setStorageSync("userInfo",t.value),r.value=a.data.balanceAmount||"0.00")}catch(a){console.error("获取用户信息失败:",a),e.index.showToast({title:"获取用户信息失败",icon:"none"})}},c=a=>{e.index.navigateTo({url:a})},p=()=>{c("/pages/deposit/index")},u=()=>{t.value||v()},v=()=>{s.value&&(s.value.open(),d.value=!0)};return(o,n)=>{return e.e({a:t.value.avatar},t.value.avatar?{b:t.value.avatar}:{c:a._imports_0$2},{d:t.value.isAdmin},(t.value.isAdmin,{}),{e:t.value},t.value?{f:e.t(t.value.nickName),g:e.t(t.value.phone?(i=t.value.phone,i?i.replace(/(\d{3})\d{4}(\d{4})/,"$1****$2"):""):"未绑定手机号")}:{},{h:e.p({type:"right",size:"16",color:"#999"}),i:e.o(u),j:e.t(r.value),k:e.o(p),l:a._imports_1,m:e.p({type:"right",size:"16",color:"#999"}),n:e.o((e=>c("/pages/order/index"))),o:a._imports_2,p:e.p({type:"right",size:"16",color:"#999"}),q:e.o((e=>c("/pages/feedback/index"))),r:a._imports_3,s:e.p({type:"right",size:"16",color:"#999"}),t:e.o((e=>c("/pages/help/index")))});var i}}},t=e._export_sfc(n,[["__scopeId","data-v-6fbc3933"]]);wx.createPage(t);
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
"use strict";const e=require("../../common/vendor.js"),a=require("../../common/assets.js"),t=require("../../config/user.js"),r={__name:"details",setup(r){const n=e.ref(""),o=e.ref({}),i=e.computed((()=>{switch(o.value.orderStatus){case"waiting_for_payment":return"待支付";case"in_used":default:return"使用中";case"used_done":return"已完成";case"order_cancelled":return"已取消"}}));e.onLoad((async a=>{a&&a.orderId?(n.value=a.orderId,await u()):(e.index.showToast({title:"订单信息不存在",icon:"none"}),setTimeout((()=>{e.index.navigateBack()}),1500))}));const u=async()=>{try{e.index.showLoading({title:"加载中"});const a=await t.queryById(n.value);if(200!==a.code||!a.data)throw new Error("获取订单详情失败");o.value=a.data,o.value.createTime&&(o.value.createTime=s(new Date(o.value.createTime))),o.value.startTime&&(o.value.startTime=s(new Date(o.value.startTime))),o.value.endTime&&(o.value.endTime=s(new Date(o.value.endTime))),e.index.hideLoading()}catch(a){e.index.hideLoading(),e.index.showToast({title:a.message||"获取订单详情失败",icon:"none"})}},s=e=>`${e.getFullYear()}-${(e.getMonth()+1).toString().padStart(2,"0")}-${e.getDate().toString().padStart(2,"0")} ${e.getHours().toString().padStart(2,"0")}:${e.getMinutes().toString().padStart(2,"0")}`,d=e=>{if(!e)return"";const a=parseInt(e);if(a<60)return`${a}分钟`;{const e=Math.floor(a/60),t=a%60;return t>0?`${e}小时${t}分钟`:`${e}小时`}};return(t,r)=>e.e({a:e.t(i.value),b:e.t(o.value.orderNo||"-"),c:e.t(o.value.deviceNo||"-"),d:"wx_score_pay"===o.value.payWay},"wx_score_pay"===o.value.payWay?{e:a._imports_0$2}:{},{f:e.t(o.value.startTime||"-"),g:o.value.endTime},o.value.endTime?{h:e.t(o.value.endTime)}:{},{i:o.value.phone},o.value.phone?{j:e.t(o.value.phone)}:{},{k:o.value.depositAmount},o.value.depositAmount?{l:e.t(o.value.depositAmount)}:{},{m:o.value.packageTime&&o.value.packagePrice},o.value.packageTime&&o.value.packagePrice?{n:e.t(o.value.packagePrice),o:e.t(d(o.value.packageTime))}:{},{p:e.t(o.value.payAmount||0)})}},n=e._export_sfc(r,[["__scopeId","data-v-f9b4f795"]]);wx.createPage(n);
|
||||
"use strict";const e=require("../../common/vendor.js"),a=require("../../common/assets.js"),t=require("../../config/user.js"),r={__name:"details",setup(r){const n=e.ref(""),o=e.ref({}),i=e.computed((()=>{switch(o.value.orderStatus){case"waiting_for_payment":return"待支付";case"in_used":default:return"使用中";case"used_done":return"已完成";case"order_cancelled":return"已取消"}}));e.onLoad((async a=>{a&&a.orderId?(n.value=a.orderId,await u()):(e.index.showToast({title:"订单信息不存在",icon:"none"}),setTimeout((()=>{e.index.navigateBack()}),1500))}));const u=async()=>{try{e.index.showLoading({title:"加载中"});const a=await t.queryById(n.value);if(200!==a.code||!a.data)throw new Error("获取订单详情失败");o.value=a.data,o.value.createTime&&(o.value.createTime=s(new Date(o.value.createTime))),o.value.startTime&&(o.value.startTime=s(new Date(o.value.startTime))),o.value.endTime&&(o.value.endTime=s(new Date(o.value.endTime))),e.index.hideLoading()}catch(a){e.index.hideLoading(),e.index.showToast({title:a.message||"获取订单详情失败",icon:"none"})}},s=e=>`${e.getFullYear()}-${(e.getMonth()+1).toString().padStart(2,"0")}-${e.getDate().toString().padStart(2,"0")} ${e.getHours().toString().padStart(2,"0")}:${e.getMinutes().toString().padStart(2,"0")}`,d=e=>{if(!e)return"";const a=parseInt(e);if(a<60)return`${a}分钟`;{const e=Math.floor(a/60),t=a%60;return t>0?`${e}小时${t}分钟`:`${e}小时`}};return(t,r)=>e.e({a:e.t(i.value),b:e.t(o.value.orderNo||"-"),c:e.t(o.value.deviceNo||"-"),d:"wx_score_pay"===o.value.payWay},"wx_score_pay"===o.value.payWay?{e:a._imports_0$3}:{},{f:e.t(o.value.startTime||"-"),g:o.value.endTime},o.value.endTime?{h:e.t(o.value.endTime)}:{},{i:o.value.phone},o.value.phone?{j:e.t(o.value.phone)}:{},{k:o.value.depositAmount},o.value.depositAmount?{l:e.t(o.value.depositAmount)}:{},{m:o.value.packageTime&&o.value.packagePrice},o.value.packageTime&&o.value.packagePrice?{n:e.t(o.value.packagePrice),o:e.t(d(o.value.packageTime))}:{},{p:e.t(o.value.payAmount||0)})}},n=e._export_sfc(r,[["__scopeId","data-v-f9b4f795"]]);wx.createPage(n);
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
"use strict";const e=require("../../common/vendor.js"),t=require("../../common/assets.js"),a=require("../../config/user.js"),s=require("../../config/url.js"),r={__name:"index",setup(r){const o=e.ref(0),n=e.ref([]),d=e.reactive({0:{text:"待支付",class:"status-waiting"},1:{text:"使用中",class:"status-using"},2:{text:"已完成",class:"status-finished"},3:{text:"已取消",class:"status-cancelled"},waiting_for_payment:{text:"待支付",class:"status-waiting"},in_used:{text:"使用中",class:"status-using"},used_done:{text:"已完成",class:"status-finished"},order_cancelled:{text:"已取消",class:"status-cancelled"}}),i=e.reactive([{text:"全部",status:[]},{text:"待付款",status:["waiting_for_payment"]},{text:"使用中",status:["in_used"]},{text:"已完成",status:["used_done"]},{text:"已取消",status:["order_cancelled"]}]);e.onLoad((async e=>{if(e&&e.orderId)try{const t=await a.queryById(e.orderId);if(200===t.code&&t.data){const e=t.data,a=e.startTime||e.createTime||"",s={orderNo:e.orderId,status:e.orderStatus,deviceId:e.deviceNo,payWay:e.payWay,startTime:a,endTime:e.endTime||"",amount:e.payAmount||e.actualDeviceAmount||"0.00"};n.value=[s,...n.value];const r=i.findIndex((t=>t.status.includes(e.orderStatus)));-1!==r&&c(r)}}catch(t){console.error("获取订单详情失败:",t)}await u()}));const c=async e=>{o.value=e;const t=i[e].status[0];await u(t)},u=async t=>{try{null!=t&&(t={orderStatus:t});const e=await a.getOrderList(t);200===e.code&&e.data&&e.data.records&&(n.value=e.data.records.map((e=>{const t=e.startTime||e.createTime||"";return{orderNo:e.orderNo,orderId:e.orderId,orderStatus:e.orderStatus,deviceId:e.deviceNo,payWay:e.payWay,startTime:t,endTime:e.endTime||"",amount:e.payAmount||e.actualDeviceAmount||"0.00"}})))}catch(s){console.error("获取订单列表失败:",s),e.index.showToast({title:"获取订单列表失败",icon:"none"})}};return(r,l)=>e.e({a:e.f(i,((t,a,s)=>({a:e.t(t.text),b:a,c:o.value===a?1:"",d:e.o((e=>c(a)),a)}))),b:0===n.value.length},(n.value.length,{}),{c:e.f(n.value,((r,n,c)=>{var l,m;return e.e({a:e.t(r.orderNo),b:e.t(null==(l=d[r.orderStatus])?void 0:l.text),c:e.n(null==(m=d[r.orderStatus])?void 0:m.class),d:e.t(r.deviceId),e:"wx_score_pay"==r.payWay},"wx_score_pay"==r.payWay?{f:t._imports_0$2}:{},{g:e.t(r.startTime),h:e.t(r.endTime||"-"),i:e.t(r.amount),j:"waiting_for_payment"===r.status||"waiting_for_payment"===r.orderStatus},"waiting_for_payment"===r.status||"waiting_for_payment"===r.orderStatus?{k:e.o((t=>(async t=>{try{e.index.showLoading({title:"处理中"});const r=await e.index.request({url:`${s.URL||"http://127.0.0.1:8080"}/app/wx-payment/create/${t.orderNo}`,method:"GET",header:{Authorization:"Bearer "+e.index.getStorageSync("token"),Clientid:e.index.getStorageSync("client_id")}});if(200!==r.statusCode||200!==r.data.code)throw new Error(r.data.msg||"创建支付订单失败");{const s=r.data.data;await e.index.requestPayment({...s,success:async()=>{e.index.showToast({title:"支付成功",icon:"success"});try{await a.updateUserBalance(t.orderId||t.orderNo)}catch(s){console.warn("更新用户余额失败:",s)}await u(i[o.value].status)},fail:e=>{throw console.error("支付失败:",e),new Error("支付失败,请重试")}})}e.index.hideLoading()}catch(r){e.index.hideLoading(),e.index.showToast({title:r.message||"支付失败",icon:"none"})}})(r)),n)}:{},{l:"waiting_for_payment"===r.status||"waiting_for_payment"===r.orderStatus},"waiting_for_payment"===r.status||"waiting_for_payment"===r.orderStatus?{m:e.o((t=>(async t=>{try{e.index.showModal({title:"确认取消",content:"确定要取消此订单吗?",success:async s=>{if(s.confirm){e.index.showLoading({title:"处理中"});const s=await a.cancelOrder({orderId:t.orderNo});if(!s)throw new Error(s.msg||"取消订单失败");e.index.hideLoading(),e.index.showToast({title:"订单已取消",icon:"success"}),await u()}}})}catch(s){e.index.hideLoading(),e.index.showToast({title:s.message||"取消订单失败",icon:"none"})}})(r)),n)}:{},{n:"in_used"==r.status||"in_used"==r.orderStatus},"in_used"==r.status||"in_used"==r.orderStatus?{o:e.o((t=>{return a=r.deviceId,s=r.orderId,console.log(s),void e.index.navigateTo({url:`/pages/return/index?deviceId=${a}&orderId=${s}`});var a,s}),n)}:{},{p:e.o((t=>(t=>{e.index.navigateTo({url:`/pages/order/details?orderId=${t.orderId||t.orderNo}`})})(r)),n),q:n})}))})}},o=e._export_sfc(r,[["__scopeId","data-v-57aa6fd9"]]);wx.createPage(o);
|
||||
"use strict";const e=require("../../common/vendor.js"),t=require("../../common/assets.js"),a=require("../../config/user.js"),s=require("../../config/url.js"),r={__name:"index",setup(r){const o=e.ref(0),n=e.ref([]),d=e.reactive({0:{text:"待支付",class:"status-waiting"},1:{text:"使用中",class:"status-using"},2:{text:"已完成",class:"status-finished"},3:{text:"已取消",class:"status-cancelled"},waiting_for_payment:{text:"待支付",class:"status-waiting"},in_used:{text:"使用中",class:"status-using"},used_done:{text:"已完成",class:"status-finished"},order_cancelled:{text:"已取消",class:"status-cancelled"}}),i=e.reactive([{text:"全部",status:[]},{text:"待付款",status:["waiting_for_payment"]},{text:"使用中",status:["in_used"]},{text:"已完成",status:["used_done"]},{text:"已取消",status:["order_cancelled"]}]);e.onLoad((async e=>{if(e&&e.orderId)try{const t=await a.queryById(e.orderId);if(200===t.code&&t.data){const e=t.data,a=e.startTime||e.createTime||"",s={orderNo:e.orderId,status:e.orderStatus,deviceId:e.deviceNo,payWay:e.payWay,startTime:a,endTime:e.endTime||"",amount:e.payAmount||e.actualDeviceAmount||"0.00"};n.value=[s,...n.value];const r=i.findIndex((t=>t.status.includes(e.orderStatus)));-1!==r&&c(r)}}catch(t){console.error("获取订单详情失败:",t)}await u()}));const c=async e=>{o.value=e;const t=i[e].status[0];await u(t)},u=async t=>{try{null!=t&&(t={orderStatus:t});const e=await a.getOrderList(t);200===e.code&&e.data&&e.data.records&&(n.value=e.data.records.map((e=>{const t=e.startTime||e.createTime||"";return{orderNo:e.orderNo,orderId:e.orderId,orderStatus:e.orderStatus,deviceId:e.deviceNo,payWay:e.payWay,startTime:t,endTime:e.endTime||"",amount:e.payAmount||e.actualDeviceAmount||"0.00"}})))}catch(s){console.error("获取订单列表失败:",s),e.index.showToast({title:"获取订单列表失败",icon:"none"})}};return(r,l)=>e.e({a:e.f(i,((t,a,s)=>({a:e.t(t.text),b:a,c:o.value===a?1:"",d:e.o((e=>c(a)),a)}))),b:0===n.value.length},(n.value.length,{}),{c:e.f(n.value,((r,n,c)=>{var l,m;return e.e({a:e.t(r.orderNo),b:e.t(null==(l=d[r.orderStatus])?void 0:l.text),c:e.n(null==(m=d[r.orderStatus])?void 0:m.class),d:e.t(r.deviceId),e:"wx_score_pay"==r.payWay},"wx_score_pay"==r.payWay?{f:t._imports_0$3}:{},{g:e.t(r.startTime),h:e.t(r.endTime||"-"),i:e.t(r.amount),j:"waiting_for_payment"===r.status||"waiting_for_payment"===r.orderStatus},"waiting_for_payment"===r.status||"waiting_for_payment"===r.orderStatus?{k:e.o((t=>(async t=>{try{e.index.showLoading({title:"处理中"});const r=await e.index.request({url:`${s.URL||"http://127.0.0.1:8080"}/app/wx-payment/create/${t.orderNo}`,method:"GET",header:{Authorization:"Bearer "+e.index.getStorageSync("token"),Clientid:e.index.getStorageSync("client_id")}});if(200!==r.statusCode||200!==r.data.code)throw new Error(r.data.msg||"创建支付订单失败");{const s=r.data.data;await e.index.requestPayment({...s,success:async()=>{e.index.showToast({title:"支付成功",icon:"success"});try{await a.updateUserBalance(t.orderId||t.orderNo)}catch(s){console.warn("更新用户余额失败:",s)}await u(i[o.value].status)},fail:e=>{throw console.error("支付失败:",e),new Error("支付失败,请重试")}})}e.index.hideLoading()}catch(r){e.index.hideLoading(),e.index.showToast({title:r.message||"支付失败",icon:"none"})}})(r)),n)}:{},{l:"waiting_for_payment"===r.status||"waiting_for_payment"===r.orderStatus},"waiting_for_payment"===r.status||"waiting_for_payment"===r.orderStatus?{m:e.o((t=>(async t=>{try{e.index.showModal({title:"确认取消",content:"确定要取消此订单吗?",success:async s=>{if(s.confirm){e.index.showLoading({title:"处理中"});const s=await a.cancelOrder({orderId:t.orderNo});if(!s)throw new Error(s.msg||"取消订单失败");e.index.hideLoading(),e.index.showToast({title:"订单已取消",icon:"success"}),await u()}}})}catch(s){e.index.hideLoading(),e.index.showToast({title:s.message||"取消订单失败",icon:"none"})}})(r)),n)}:{},{n:"in_used"==r.status||"in_used"==r.orderStatus},"in_used"==r.status||"in_used"==r.orderStatus?{o:e.o((t=>{return a=r.deviceId,s=r.orderId,console.log(s),void e.index.navigateTo({url:`/pages/return/index?deviceId=${a}&orderId=${s}`});var a,s}),n)}:{},{p:e.o((t=>(t=>{e.index.navigateTo({url:`/pages/order/details?orderId=${t.orderId||t.orderNo}`})})(r)),n),q:n})}))})}},o=e._export_sfc(r,[["__scopeId","data-v-57aa6fd9"]]);wx.createPage(o);
|
||||
|
||||
+1
-1
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user