orders.js 3.7 KB

1
  1. "use strict";const e=require("../../common/vendor.js"),t=require("../../common/assets.js"),a=require("../../api/order.js"),n=require("../../api/message.js"),o={__name:"orders",setup(o){const i=e.ref("all"),s=[{name:"全部",key:"all"},{name:"待支付",key:"unpaid"},{name:"已支付",key:"paid"}],r=e.ref(!1),u=e.ref([]),l=e.ref(!1),d=e.ref(null),c=e.ref(!1);e.onMounted((()=>{y()})),e.onPullDownRefresh((async()=>{await y(),e.index.stopPullDownRefresh()}));const y=async()=>{r.value=!0;try{const t=e.index.getStorageSync("userInfo");if(!t||!t.studentId)return void e.index.showToast({title:"请先登录",icon:"none"});const n=await a.listOrder({buyerId:t.studentId,buyerType:2});n&&n.rows&&(u.value=n.rows.map((e=>{const t=p(e.orderStatus,e.payStatus);return{...e,id:e.id,orderNo:e.orderNo,statusKey:t.key,statusText:t.text,jobName:e.productName||e.remark||"测评服务",company:e.sellerName||"审计之家",price:e.totalAmount||"0.00",isDeposit:2===e.orderType,createTime:m(e.createTime)}})))}catch(t){console.error("获取订单列表失败:",t),e.index.showToast({title:"获取订单失败",icon:"none"})}finally{r.value=!1}},p=(e,t)=>4===e?{key:"refunded",text:"已退款"}:2===e?{key:"partial_refund",text:"部分退款"}:1===t||2===t?1===e?{key:"paid",text:"已完成"}:{key:"paid",text:"已支付"}:0!==e||0!==t&&null!==t?{key:"unknown",text:"未知状态"}:{key:"unpaid",text:"待支付"},v=e.computed((()=>"all"===i.value?u.value:u.value.filter((e=>e.statusKey===i.value)))),m=e=>{if(!e)return"--";const t=new Date(e);return`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")} ${String(t.getHours()).padStart(2,"0")}:${String(t.getMinutes()).padStart(2,"0")}`},g=async()=>{if(d.value&&!c.value){c.value=!0;try{const t=(e.index.getStorageSync("userInfo")||{}).studentId;if(!t)return void e.index.showToast({title:"请先登录",icon:"none"});const a=d.value.businessId;if(!a)return void e.index.showToast({title:"该订单暂不支持在线支付",icon:"none"});const o=await n.createWxPayOrder(a,t);if(200!==o.code&&0!==o.code)return void e.index.showToast({title:o.msg||"创建支付订单失败",icon:"none"});if(l.value=!1,o.data&&o.data.wechatPayParams){const t=o.data.wechatPayParams;e.index.showLoading({title:"发起微信支付..."}),e.index.requestPayment({provider:"wxpay",timeStamp:t.timeStamp,nonceStr:t.nonceStr,package:t.package,signType:t.signType||"RSA",paySign:t.paySign,success:t=>{e.index.hideLoading(),e.index.showToast({title:"支付成功",icon:"success"}),setTimeout((()=>{y()}),1e3)},fail:t=>{e.index.hideLoading(),t.errMsg&&t.errMsg.includes("cancel")?e.index.showToast({title:"已取消支付",icon:"none"}):e.index.showToast({title:"支付失败,请重试",icon:"none"})}})}else e.index.showToast({title:"支付参数异常",icon:"none"})}catch(t){console.error("支付异常:",t),e.index.showToast({title:"支付异常,请重试",icon:"none"})}finally{c.value=!1}}};return(a,n)=>{var o,u;return e.e({a:e.f(s,((t,a,n)=>({a:e.t(t.name),b:t.key,c:e.n(i.value===t.key?"active":""),d:e.o((e=>i.value=t.key),t.key)}))),b:e.f(v.value,((t,a,n)=>e.e({a:e.t(t.orderNo),b:e.t(t.statusText),c:e.n(t.statusKey),d:e.t(t.jobName),e:e.t(t.company),f:e.t(t.price),g:e.t(t.createTime),h:t.isDeposit},(t.isDeposit,{}),{i:"unpaid"===t.statusKey},"unpaid"===t.statusKey?{j:e.o((e=>(e=>{d.value=e,l.value=!0})(t)),a)}:(t.statusKey,{}),{k:"paid"===t.statusKey,l:a}))),c:0===v.value.length&&!r.value},0!==v.value.length||r.value?{}:{d:t._imports_0$1},{e:v.value.length>0},(v.value.length,{}),{f:l.value},l.value?{g:e.t(null==(o=d.value)?void 0:o.jobName),h:e.t(null==(u=d.value)?void 0:u.price),i:e.o((e=>l.value=!1)),j:e.o(g),k:c.value,l:e.o((()=>{}))}:{})}}},i=e._export_sfc(o,[["__scopeId","data-v-9f634c2d"]]);wx.createPage(i);