feat(admin): 新增管理后台前端资源文件 feat(api): 实现获取用户统计数据的API接口 - 添加获取用户道具卡数量、优惠券数量和积分余额的接口 - 实现设置默认地址和删除地址的接口 feat(service): 新增用户统计服务方法 - 实现GetUserStats方法查询用户统计数据 - 添加地址管理相关服务方法 fix(core): 修复静态资源路由问题 - 调整静态资源路由配置 - 优化404路由处理逻辑 chore: 更新前端构建配置 - 添加Windows平台构建命令 - 更新README构建说明
2 lines
6.7 KiB
JavaScript
2 lines
6.7 KiB
JavaScript
var e=Object.defineProperty,t=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable,r=(t,o,i)=>o in t?e(t,o,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[o]=i,s=(e,s)=>{for(var l in s||(s={}))o.call(s,l)&&r(e,l,s[l]);if(t)for(var l of t(s))i.call(s,l)&&r(e,l,s[l]);return e},l=(e,t,o)=>new Promise((i,r)=>{var s=e=>{try{a(o.next(e))}catch(t){r(t)}},l=e=>{try{a(o.throw(e))}catch(t){r(t)}},a=e=>e.done?i(e.value):Promise.resolve(e.value).then(s,l);a((o=o.apply(e,t)).next())});import{_ as a}from"./index-C4WacTPc.js";import{d as p,a as n,r as u,o as m,e as d,f as c,p as j,z as _,l as v,ab as y,u as b,b9 as x,h as f,m as h,O as g}from"./index-ip5gDR6L.js";/* empty css *//* empty css */import{_ as w}from"./index-C4Je2wdo.js";/* empty css */import{E as k}from"./message-box-DnMmMCB0.js";/* empty css *//* empty css *//* empty css */import{c as S}from"./coupons-DhPZnSZd.js";import O from"./coupon-dialog-B9G676Hz.js";import{_ as C}from"./index.vue_vue_type_script_setup_true_lang-CK7Y-5lS.js";import{_ as P}from"./index-BVNligJO.js";import{E as z}from"./index-opP5No9I.js";import{E}from"./index-D1xXI5gl.js";import{_ as $}from"./_plugin-vue_export-helper-BCo6x5W8.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";import"./index-DbRz3Zuu.js";import"./index-fnD_mPvE.js";import"./index-C9KXwj2c.js";import"./index-CHAf6FpU.js";import"./use-form-item-BDb3ZgPk.js";import"./use-form-common-props-BwBs_jod.js";import"./_initCloneObject-DwsgJamq.js";import"./isArrayLikeObject-OMLaZ5Za.js";import"./index-Br3btmwp.js";import"./token-DWNpOE8r.js";import"./index-D-10FtUD.js";import"./scroll-ChxXkPhM.js";import"./debounce-B9s63_mG.js";import"./index-Jz5GfFad.js";import"./vnode-6FKeug3R.js";import"./index-KXWZe8V3.js";import"./index-D-iZIej9.js";import"./index-DfrOVkw6.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./tree-select-CzJzgJx_.js";import"./index-B1PFnxt8.js";import"./cloneDeep-D8SNDfdC.js";import"./index-CxGOZAw2.js";import"./index-BMPM6CSe.js";import"./index-BbcTNOqF.js";import"./index-HtXsSizM.js";import"./index-D8-uSzHS.js";import"./index-DPYIWjrn.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./index-Ca1H-sCf.js";import"./index-D5xppMej.js";import"./index-B1Z255S_.js";import"./validator-eDtn0zQf.js";import"./index-D17cYxP7.js";import"./index-D6zsJoyl.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./index-BpP4itD-.js";import"./use-dialog-Cj8YneNA.js";import"./refs-Cw5r5QN8.js";import"./index.vue_vue_type_script_setup_true_lang-CCGboj8m.js";import"./el-popover-Do33geGb.js";import"./el-dropdown-item-DEgPCg9g.js";const q={class:"page-container"},V=$(p({__name:"index",setup(e){const t=n(!1),o=n([]),i=u({current:1,size:10,total:0}),r=u({name:"",status:void 0}),p=n(!1),$=n("create"),V=n(null),I=[{key:"name",label:"名称",type:"input",props:{placeholder:"请输入优惠券名称",clearable:!0}},{key:"status",label:"状态",type:"select",props:{placeholder:"请选择状态",clearable:!0,options:[{label:"启用",value:1},{label:"禁用",value:2}]}}],A=[{prop:"id",label:"ID",width:80},{prop:"name",label:"名称",minWidth:150},{prop:"status",label:"状态",width:80,useSlot:!0},{prop:"coupon_type",label:"类型",width:100,useSlot:!0},{prop:"discount_type",label:"折扣类型",width:120,useSlot:!0},{prop:"discount_value",label:"折扣值",width:140,useSlot:!0},{prop:"min_amount",label:"最低消费",width:120},{prop:"max_discount",label:"最大折扣",width:120},{prop:"used_quantity",label:"使用情况",width:140,useSlot:!0},{prop:"valid_days",label:"有效期",width:100,useSlot:!0},{prop:"created_at",label:"创建时间",width:160},{prop:"actions",label:"操作",width:150,fixed:"right",useSlot:!0}],D={1:"通用券",2:"活动券",3:"商品券"},L={1:"直减",2:"满减",3:"折扣"},R=e=>1===e.discount_type?`直减¥${e.discount_value}`:2===e.discount_type?`满减¥${e.discount_value}`:3===e.discount_type?`${e.discount_value}‰`:e.discount_value,U=()=>l(this,null,function*(){t.value=!0;try{const e=s({page:i.current,page_size:i.size},r),t=yield S.getList(e);t&&t.list&&Array.isArray(t.list)?(o.value=t.list,i.total=t.total):(o.value=[],i.total=0)}catch(e){g.error("获取优惠券列表失败"),o.value=[],i.total=0}finally{t.value=!1}}),F=()=>{i.current=1,U()},G=()=>{r.name="",r.status=void 0,F()},J=e=>{i.current=e,U()},M=e=>{i.size=e,U()},X=()=>{V.value=null,$.value="create",p.value=!0},Y=e=>l(this,null,function*(){try{yield k.confirm(`确定要删除优惠券 "${e.name}" 吗?`,"提示",{type:"warning"});yield S.delete(e.id);g.success("删除成功"),U()}catch(t){"cancel"!==t&&g.error("删除失败")}}),Z=()=>{p.value=!1,U()};return m(()=>{U()}),(e,l)=>{const n=w,u=y,m=z,g=E,k=a;return c(),d("div",q,[j(n,{items:I,modelValue:r,onSearch:F,onReset:G},null,8,["modelValue"]),j(P,{columns:A,"onUpdate:columns":l[0]||(l[0]=e=>A=e),loading:t.value,onRefresh:U},{left:_(()=>[j(m,{type:"primary",onClick:X},{default:_(()=>[j(u,null,{default:_(()=>[j(b(x))]),_:1}),l[2]||(l[2]=v(" 新增优惠券 ",-1))]),_:1})]),_:1},8,["loading"]),j(k,{loading:t.value,columns:A,data:o.value,pagination:i,onPageChange:J,onSizeChange:M,"empty-text":"暂无数据"},{actions:_(({row:e})=>[j(C,{type:"edit",onClick:t=>(e=>{V.value=s({},e),$.value="edit",p.value=!0})(e)},null,8,["onClick"]),j(C,{type:"delete",onClick:t=>Y(e)},null,8,["onClick"])]),status:_(({row:e})=>[j(g,{type:1===e.status?"success":"danger"},{default:_(()=>[v(h(1===e.status?"启用":2===e.status?"禁用":"未知"),1)]),_:2},1032,["type"])]),coupon_type:_(({row:e})=>[j(g,null,{default:_(()=>{return[v(h((t=e.coupon_type||0,D[t]||"未知")),1)];var t}),_:2},1024)]),discount_type:_(({row:e})=>[j(g,null,{default:_(()=>{return[v(h((t=e.discount_type||0,L[t]||"未知")),1)];var t}),_:2},1024)]),discount_value:_(({row:e})=>[f("span",null,h(R(e)),1)]),used_quantity:_(({row:e})=>[f("span",null,h(e.used_quantity)+"/"+h(e.total_quantity||"∞"),1)]),valid_days:_(({row:e})=>[f("span",null,h(e.valid_days)+"天",1)]),_:1},8,["loading","data","pagination"]),j(O,{modelValue:p.value,"onUpdate:modelValue":l[1]||(l[1]=e=>p.value=e),data:V.value,mode:$.value,onSuccess:Z},null,8,["modelValue","data","mode"])])}}}),[["__scopeId","data-v-a936bc60"]]);export{V as default};
|