- 修复BCryptPasswordEncoder密码验证问题 - 实现密码设置提示弹窗功能(仅对无密码用户显示一次) - 优化修改密码逻辑和验证流程 - 更新Welcome页面背景样式 - 清理临时SQL文件和测试代码 - 移动数据库备份文件到database/backups目录 - 删除不必要的MD文档和临时文件
2 lines
11 KiB
JavaScript
2 lines
11 KiB
JavaScript
import{aA as ge,aB as be,c as I,r as g,l as ye,m as ke,al as $,z as d,A as i,B as l,R as t,J as u,u as v,P as n,M as b,O as y,K as $e,aj as Ce,I as Ee,Q as O,a4 as W,D as w}from"./vue-vendor-164775a6.js";import{_ as De}from"./logo-admin-5be797ff.js";import{_ as Y}from"./avatar-default-20a1956c.js";import{E as C,a as j,g as Pe,u as J,s as we,f as L,h as Ae,j as Ie,k as Se,e as Ne,c as K,w as Te,l as Me,m as Oe}from"./element-plus-83a396df.js";import{e as Le,f as Re,g as Ve,h as Ue}from"./orders-4c59cdb2.js";import{_ as Be,L as Fe}from"./index-467ea2ad.js";import"./utils-edfcd65b.js";const ze={class:"admin-orders"},Ge={class:"sidebar"},He={class:"nav-menu"},We={class:"nav-item active"},Ye={class:"sidebar-footer"},je={class:"online-users"},Je={class:"highlight"},Ke={class:"system-uptime"},Qe={class:"highlight"},qe={class:"main-content"},Xe={class:"top-header"},Ze={class:"search-bar"},xe=["placeholder"],el={class:"header-actions"},ll={class:"user-avatar"},tl={class:"order-content"},al={class:"content-header"},sl={key:0,class:"selection-info"},nl={class:"table-toolbar"},ol={class:"toolbar-left"},rl={class:"toolbar-right"},ul={class:"table-container"},dl={class:"order-table"},il={class:"checkbox-col"},cl=["checked"],vl={class:"checkbox-col"},pl=["checked","onChange"],ml={key:0},hl={key:1},_l={key:2},fl={key:3,class:"text-muted"},gl={class:"pagination-container"},bl={class:"pagination"},yl=["onClick"],kl={__name:"AdminOrders",setup($l){const _=ge(),Q=be(),f=I(()=>Q.path.includes("/admin/")),R=g(!1),m=g([]),S=g(""),p=g([]),h=g(1),V=g(10),E=g(0),N=g("0/500"),T=g("加载中..."),D=ye({status:"",type:"",search:""}),q=()=>{_.push("/admin/dashboard")},X=()=>{_.push("/member-management")},Z=()=>{_.push("/api-management")},x=()=>{_.push("/generate-task-record")},ee=()=>{_.push("/system-settings")},U=()=>{_.push("/profile")},le=()=>{_.push("/works")},te=e=>{e==="exitAdmin"&&_.push("/profile")},ae=e=>({PENDING:"pending",CONFIRMED:"confirmed",PAID:"paid",PROCESSING:"processing",SHIPPED:"shipped",DELIVERED:"delivered",COMPLETED:"completed",CANCELLED:"cancelled",REFUNDED:"refunded"})[e]||"",se=e=>({PENDING:"待支付",CONFIRMED:"已确认",PAID:"已支付",PROCESSING:"处理中",SHIPPED:"已发货",DELIVERED:"已送达",COMPLETED:"已完成",CANCELLED:"已取消",REFUNDED:"已退款"})[e]||e,ne=e=>new Date(e).toLocaleDateString("zh-CN",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"}),B=I(()=>m.value.length>0&&p.value.length===m.value.length),k=I(()=>Math.ceil(E.value/V.value)),oe=I(()=>{const e=[],a=k.value,s=h.value;if(a<=7)for(let r=1;r<=a;r++)e.push(r);else if(s<=3)for(let r=1;r<=5;r++)e.push(r);else if(s>=a-2)for(let r=a-4;r<=a;r++)e.push(r);else for(let r=s-2;r<=s+2;r++)e.push(r);return e}),re=()=>{B.value?p.value=[]:p.value=[...m.value]},ue=e=>{const a=p.value.findIndex(s=>s.id===e.id);a>-1?p.value.splice(a,1):p.value.push(e)},de=()=>{h.value>1&&(h.value--,P())},ie=()=>{h.value<k.value&&(h.value++,P())},F=e=>{h.value=e,P()},ce=e=>{_.push(`/orders/${e.id}`)},ve=async e=>{try{await j.confirm(`确定要删除订单 ${e.orderNumber||e.id} 吗?`,"确认删除",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}),await Ue(e.id);const a=m.value.findIndex(s=>s.id===e.id);a>-1&&(m.value.splice(a,1),E.value--),C.success("删除成功")}catch(a){a!=="cancel"&&(console.error("删除失败:",a),C.error("删除失败"))}},pe=async()=>{if(p.value.length===0){C.warning("请先选择要删除的订单");return}try{await j.confirm(`确定要删除选中的 ${p.value.length} 个订单吗?`,"批量删除",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"});const e=p.value.map(a=>a.id);await Le(e),m.value=m.value.filter(a=>!e.includes(a.id)),E.value-=e.length,p.value=[],C.success("批量删除成功")}catch(e){e!=="cancel"&&(console.error("批量删除失败:",e),C.error("批量删除失败"))}},P=async()=>{try{R.value=!0;const a=await(f.value?Re:Ve)({page:h.value-1,size:V.value,status:D.status,search:D.search||S.value});console.log("获取订单列表响应:",a);const s=(a==null?void 0:a.data)||a||{};if(console.log("解析后的响应数据:",s),s.success&&s.data){const r=s.data;r.content?(m.value=r.content||[],E.value=r.totalElements||0,console.log("设置后的订单列表:",m.value)):Array.isArray(r)?(m.value=r,E.value=r.length):(console.error("API返回数据格式错误: data不是Page对象也不是数组",r),C.error("API返回数据格式错误"))}else s.content?(m.value=s.content||[],E.value=s.totalElements||0):s.list?(m.value=s.list||[],E.value=s.total||0):(console.error("API返回数据格式错误:",s),C.error("API返回数据格式错误"))}catch(e){console.error("获取订单列表失败:",e),C.error("获取订单列表失败: "+(e.message||"未知错误"))}finally{R.value=!1}},z=()=>{h.value=1,P()};ke(()=>{P(),me()});const me=async()=>{try{const e=Math.floor(Math.random()*50)+10;N.value=`${e}/500`;const a=new Date().getHours(),s=new Date().getMinutes();T.value=`${a}小时${s}分`}catch(e){console.error("获取系统统计失败:",e),N.value="0/500",T.value="未知"}};return(e,a)=>{const s=$("el-icon"),r=$("el-dropdown-item"),he=$("el-dropdown-menu"),_e=$("el-dropdown"),c=$("el-option"),G=$("el-select"),fe=$("el-button"),H=$("el-link");return d(),i("div",ze,[l("aside",Ge,[a[4]||(a[4]=l("div",{class:"logo"},[l("img",{src:De,alt:"Logo"})],-1)),l("nav",He,[f.value?(d(),i("div",{key:0,class:"nav-item",onClick:q},[t(s,null,{default:u(()=>[t(v(Pe))]),_:1}),l("span",null,n(e.$t("nav.dashboard")),1)])):b("",!0),f.value?(d(),i("div",{key:1,class:"nav-item",onClick:X},[t(s,null,{default:u(()=>[t(v(J))]),_:1}),l("span",null,n(e.$t("nav.members")),1)])):b("",!0),l("div",We,[t(s,null,{default:u(()=>[t(v(we))]),_:1}),l("span",null,n(e.$t("nav.orders")),1)]),f.value?(d(),i("div",{key:2,class:"nav-item",onClick:Z},[t(s,null,{default:u(()=>[t(v(L))]),_:1}),l("span",null,n(e.$t("nav.apiManagement")),1)])):b("",!0),f.value?(d(),i("div",{key:3,class:"nav-item",onClick:x},[t(s,null,{default:u(()=>[t(v(L))]),_:1}),l("span",null,n(e.$t("nav.tasks")),1)])):b("",!0),f.value?(d(),i("div",{key:4,class:"nav-item",onClick:ee},[t(s,null,{default:u(()=>[t(v(Ae))]),_:1}),l("span",null,n(e.$t("nav.systemSettings")),1)])):b("",!0),f.value?b("",!0):(d(),i("div",{key:5,class:"nav-item",onClick:U},[t(s,null,{default:u(()=>[t(v(J))]),_:1}),l("span",null,n(e.$t("nav.profile")||"个人主页"),1)])),f.value?b("",!0):(d(),i("div",{key:6,class:"nav-item",onClick:le},[t(s,null,{default:u(()=>[t(v(L))]),_:1}),l("span",null,n(e.$t("nav.myWorks")||"我的作品"),1)]))]),l("div",Ye,[l("div",je,[y(n(e.$t("nav.onlineUsers"))+": ",1),l("span",Je,n(N.value),1)]),l("div",Ke,[y(n(e.$t("nav.systemUptime"))+": ",1),l("span",Qe,n(T.value),1)])])]),l("main",qe,[l("header",Xe,[l("div",Ze,[t(s,{class:"search-icon"},{default:u(()=>[t(v(Ie))]),_:1}),$e(l("input",{type:"text",placeholder:e.$t("common.searchPlaceholder"),class:"search-input","onUpdate:modelValue":a[0]||(a[0]=o=>S.value=o)},null,8,xe),[[Ce,S.value]])]),l("div",el,[t(Fe),f.value?(d(),Ee(_e,{key:0,onCommand:te},{dropdown:u(()=>[t(he,null,{default:u(()=>[t(r,{command:"exitAdmin"},{default:u(()=>[y(n(e.$t("admin.exitAdmin")),1)]),_:1})]),_:1})]),default:u(()=>[l("div",ll,[a[5]||(a[5]=l("img",{src:Y,alt:"用户头像"},null,-1)),t(s,{class:"arrow-down"},{default:u(()=>[t(v(Se))]),_:1})])]),_:1})):(d(),i("div",{key:1,class:"user-avatar",onClick:U},[...a[6]||(a[6]=[l("img",{src:Y,alt:"用户头像"},null,-1)])]))])]),l("section",tl,[l("div",al,[l("h2",null,n(e.$t("orders.title")),1),p.value.length>0?(d(),i("div",sl,n(e.$t("orders.selected",{count:p.value.length})),1)):b("",!0)]),l("div",nl,[l("div",ol,[t(G,{modelValue:D.status,"onUpdate:modelValue":a[1]||(a[1]=o=>D.status=o),placeholder:e.$t("orders.allStatus"),size:"small",onChange:z},{default:u(()=>[t(c,{label:e.$t("orders.allStatus"),value:""},null,8,["label"]),t(c,{label:e.$t("orders.pending"),value:"PENDING"},null,8,["label"]),t(c,{label:e.$t("orders.confirmed"),value:"CONFIRMED"},null,8,["label"]),t(c,{label:e.$t("orders.paid"),value:"PAID"},null,8,["label"]),t(c,{label:e.$t("orders.processing"),value:"PROCESSING"},null,8,["label"]),t(c,{label:e.$t("orders.shipped"),value:"SHIPPED"},null,8,["label"]),t(c,{label:e.$t("orders.delivered"),value:"DELIVERED"},null,8,["label"]),t(c,{label:e.$t("orders.completed"),value:"COMPLETED"},null,8,["label"]),t(c,{label:e.$t("orders.cancelled"),value:"CANCELLED"},null,8,["label"]),t(c,{label:e.$t("orders.refunded"),value:"REFUNDED"},null,8,["label"])]),_:1},8,["modelValue","placeholder"]),t(G,{modelValue:D.type,"onUpdate:modelValue":a[2]||(a[2]=o=>D.type=o),placeholder:e.$t("orders.allTypes"),size:"small",onChange:z},{default:u(()=>[t(c,{label:e.$t("orders.allTypes"),value:""},null,8,["label"]),t(c,{label:"商品订单",value:"PRODUCT"}),t(c,{label:"服务订单",value:"SERVICE"}),t(c,{label:"订阅订单",value:"SUBSCRIPTION"}),t(c,{label:"数字商品",value:"DIGITAL"}),t(c,{label:"实体商品",value:"PHYSICAL"})]),_:1},8,["modelValue","placeholder"])]),l("div",rl,[t(fe,{type:"danger",size:"small",onClick:pe,disabled:p.value.length===0},{default:u(()=>[t(s,null,{default:u(()=>[t(v(Ne))]),_:1}),y(" "+n(e.$t("common.delete")),1)]),_:1},8,["disabled"])])]),l("div",ul,[l("table",dl,[l("thead",null,[l("tr",null,[l("th",il,[l("input",{type:"checkbox",onChange:re,checked:B.value},null,40,cl)]),l("th",null,n(e.$t("orders.orderNumber")),1),l("th",null,n(e.$t("orders.username")),1),l("th",null,n(e.$t("orders.amount")),1),l("th",null,n(e.$t("orders.paymentMethod")),1),l("th",null,n(e.$t("orders.status")),1),l("th",null,n(e.$t("orders.createTime")),1),l("th",null,n(e.$t("orders.operation")),1)])]),l("tbody",null,[(d(!0),i(O,null,W(m.value,o=>{var M;return d(),i("tr",{key:o.id,class:"table-row"},[l("td",vl,[l("input",{type:"checkbox",checked:p.value.some(A=>A.id===o.id),onChange:A=>ue(o)},null,40,pl)]),l("td",null,n(o.orderNumber||o.id),1),l("td",null,n(((M=o.user)==null?void 0:M.username)||e.$t("orders.unpaid")),1),l("td",null,n(o.currency||"¥")+n(o.totalAmount||0),1),l("td",null,[o.paymentMethod==="ALIPAY"?(d(),i("span",ml,[t(s,null,{default:u(()=>[t(v(K))]),_:1}),y(" "+n(e.$t("orders.alipay")),1)])):o.paymentMethod==="WECHAT"?(d(),i("span",hl,[t(s,null,{default:u(()=>[t(v(K))]),_:1}),y(" "+n(e.$t("orders.wechat")),1)])):o.paymentMethod==="PAYPAL"?(d(),i("span",_l,[t(s,null,{default:u(()=>[t(v(Te))]),_:1}),y(" "+n(e.$t("orders.paypal")),1)])):(d(),i("span",fl,n(e.$t("orders.unpaid")),1))]),l("td",null,[l("span",{class:w(["status-tag",ae(o.status)])},n(se(o.status)),3)]),l("td",null,n(ne(o.createdAt)),1),l("td",null,[t(H,{type:"primary",class:"action-link",onClick:A=>ce(o)},{default:u(()=>[y(n(e.$t("common.view")),1)]),_:1},8,["onClick"]),t(H,{type:"danger",class:"action-link",onClick:A=>ve(o)},{default:u(()=>[y(n(e.$t("common.delete")),1)]),_:1},8,["onClick"])])])}),128))])])]),l("div",gl,[l("div",bl,[t(s,{class:w(["page-arrow",{disabled:h.value===1}]),onClick:de},{default:u(()=>[t(v(Me))]),_:1},8,["class"]),(d(!0),i(O,null,W(oe.value,o=>(d(),i("button",{key:o,class:w(["page-btn",{active:o===h.value}]),onClick:M=>F(o)},n(o),11,yl))),128)),k.value>7&&h.value<k.value-2?(d(),i(O,{key:0},[a[7]||(a[7]=l("span",{class:"page-ellipsis"},"...",-1)),l("button",{class:w(["page-btn",{active:k.value===h.value}]),onClick:a[3]||(a[3]=o=>F(k.value))},n(k.value),3)],64)):b("",!0),t(s,{class:w(["page-arrow",{disabled:h.value===k.value}]),onClick:ie},{default:u(()=>[t(v(Oe))]),_:1},8,["class"])])])])])])}}},Sl=Be(kl,[["__scopeId","data-v-71f8ce76"]]);export{Sl as default};
|