2 lines
8.6 KiB
JavaScript
2 lines
8.6 KiB
JavaScript
import{d as fe,r as c,a as M,o as ge,g as d,B as P,c as g,k as u,b as p,e as t,C as V,z as k,w as a,t as n,l as S,D as _e,N as ve,f as be,J as ye,L as Ie,s as ke,G as N,x as r,F as j,y as we,E as z,_ as xe}from"./index-CPjghNoR.js";import{c as Ve,d as Ce,f as he,h as Ue}from"./distribution-Tr2VSTHN.js";const De={class:"page-container"},Se={class:"page-header"},Ne={class:"header-actions"},ze={class:"sub-text"},Re={key:1,class:"sub-text"},Le={class:"sub-text"},Be={key:1,class:"sub-text"},Fe={key:0,class:"batch-actions"},Te={class:"pagination-container"},$e={key:1,class:"codes-list"},Ee=fe({__name:"index",setup(Me){const R=c(!1),q=c([]),A=c(0),C=c([]),o=M({pageIndex:1,pageSize:10,code:void 0,batchNo:void 0,assignUserId:void 0,status:void 0}),w=c(!1),L=c(!1),B=c(),x=M({count:10}),J={count:[{required:!0,message:"请输入生成数量",trigger:"blur"}]},y=c(null),h=c(!1),I=c(!1),F=c(!1),T=c(),m=M({codeIds:[],userId:void 0}),H={userId:[{required:!0,message:"请输入用户ID",trigger:"blur"}]},Q=s=>({1:"info",2:"warning",3:"success"})[s]||"",v=async()=>{R.value=!0;try{const s=await Ve(o);s.code===0&&(q.value=s.data.list,A.value=s.data.total)}finally{R.value=!1}},G=()=>{o.pageIndex=1,v()},W=()=>{o.code=void 0,o.batchNo=void 0,o.assignUserId=void 0,o.status=void 0,o.pageIndex=1,v()},X=s=>{o.pageSize=s,v()},Y=s=>{o.pageIndex=s,v()},Z=s=>{C.value=s},ee=()=>{x.count=10,w.value=!0},te=async()=>{if(B.value){await B.value.validate(),L.value=!0;try{const s=await Ce(x);s.code===0&&(z.success("生成成功"),w.value=!1,y.value=s.data,h.value=!0,v())}finally{L.value=!1}}},le=s=>{m.codeIds=[s.id],m.userId=void 0,I.value=!0},ae=()=>{m.codeIds=C.value.map(s=>s.id),m.userId=void 0,I.value=!0},se=async()=>{if(T.value){await T.value.validate(),F.value=!0;try{(await he({codeIds:m.codeIds,userId:m.userId})).code===0&&(z.success("分配成功"),I.value=!1,v())}finally{F.value=!1}}},oe=async()=>{try{const s=await Ue(o),e=s.data instanceof Blob?s.data:new Blob([s.data]),b=window.URL.createObjectURL(e),i=document.createElement("a");i.href=b,i.download=`邀请码_${new Date().toISOString().slice(0,10)}.xlsx`,i.click(),window.URL.revokeObjectURL(b),z.success("导出成功")}catch{z.error("导出失败")}};return ge(()=>{v()}),(s,e)=>{const b=d("el-icon"),i=d("el-button"),U=d("el-input"),_=d("el-form-item"),$=d("el-form"),O=d("el-card"),f=d("el-table-column"),ne=d("el-text"),de=d("el-tag"),ie=d("el-table"),ue=d("el-pagination"),re=d("el-input-number"),E=d("el-dialog"),K=d("el-descriptions-item"),ce=d("el-descriptions"),pe=d("el-scrollbar"),D=P("permission"),me=P("loading");return u(),g("div",De,[p("div",Se,[e[16]||(e[16]=p("h2",null,"邀请码管理",-1)),p("div",Ne,[V((u(),k(i,{type:"primary",onClick:ee},{default:a(()=>[t(b,null,{default:a(()=>[t(S(_e))]),_:1}),e[14]||(e[14]=n("批量生成 ",-1))]),_:1})),[[D,"distribution:create"]]),V((u(),k(i,{type:"success",onClick:oe},{default:a(()=>[t(b,null,{default:a(()=>[t(S(ve))]),_:1}),e[15]||(e[15]=n("导出 ",-1))]),_:1})),[[D,"distribution:view"]])])]),t(O,{class:"search-card",shadow:"never"},{default:a(()=>[t($,{model:o,inline:""},{default:a(()=>[t(_,{label:"邀请码"},{default:a(()=>[t(U,{modelValue:o.code,"onUpdate:modelValue":e[0]||(e[0]=l=>o.code=l),placeholder:"请输入邀请码",clearable:"",onKeyup:be(G,["enter"])},null,8,["modelValue"])]),_:1}),t(_,{label:"批次号"},{default:a(()=>[t(U,{modelValue:o.batchNo,"onUpdate:modelValue":e[1]||(e[1]=l=>o.batchNo=l),placeholder:"请输入批次号",clearable:""},null,8,["modelValue"])]),_:1}),t(_,{label:"分配用户ID"},{default:a(()=>[t(U,{modelValue:o.assignUserId,"onUpdate:modelValue":e[2]||(e[2]=l=>o.assignUserId=l),modelModifiers:{number:!0},placeholder:"请输入用户ID",clearable:""},null,8,["modelValue"])]),_:1}),t(_,{label:"状态"},{default:a(()=>[t(ye,{modelValue:o.status,"onUpdate:modelValue":e[3]||(e[3]=l=>o.status=l),"dict-type":"invite_code_status",placeholder:"请选择状态",clearable:""},null,8,["modelValue"])]),_:1}),t(_,null,{default:a(()=>[t(i,{type:"primary",onClick:G},{default:a(()=>[t(b,null,{default:a(()=>[t(S(Ie))]),_:1}),e[17]||(e[17]=n("搜索",-1))]),_:1}),t(i,{onClick:W},{default:a(()=>[t(b,null,{default:a(()=>[t(S(ke))]),_:1}),e[18]||(e[18]=n("重置",-1))]),_:1})]),_:1})]),_:1},8,["model"])]),_:1}),t(O,{class:"table-card",shadow:"never"},{default:a(()=>[V((u(),k(ie,{data:q.value,"row-key":"id",onSelectionChange:Z},{default:a(()=>[t(f,{type:"selection",width:"50",selectable:l=>l.status===1},null,8,["selectable"]),t(f,{prop:"code",label:"邀请码",width:"150"},{default:a(({row:l})=>[t(ne,{class:"code-text",copyable:""},{default:a(()=>[n(r(l.code),1)]),_:2},1024)]),_:1}),t(f,{prop:"batchNo",label:"批次号",width:"180"}),t(f,{label:"分配用户","min-width":"120"},{default:a(({row:l})=>[l.assignUserId?(u(),g(j,{key:0},[p("div",null,r(l.assignUserNickname),1),p("div",ze,"ID: "+r(l.assignUserId),1)],64)):(u(),g("span",Re,"-"))]),_:1}),t(f,{prop:"assignTime",label:"分配时间",width:"170"},{default:a(({row:l})=>[n(r(l.assignTime||"-"),1)]),_:1}),t(f,{label:"使用用户","min-width":"120"},{default:a(({row:l})=>[l.useUserId?(u(),g(j,{key:0},[p("div",null,r(l.useUserNickname),1),p("div",Le,"ID: "+r(l.useUserId),1)],64)):(u(),g("span",Be,"-"))]),_:1}),t(f,{prop:"useTime",label:"使用时间",width:"170"},{default:a(({row:l})=>[n(r(l.useTime||"-"),1)]),_:1}),t(f,{label:"状态",width:"100",align:"center"},{default:a(({row:l})=>[t(de,{type:Q(l.status)},{default:a(()=>[n(r(l.statusName),1)]),_:2},1032,["type"])]),_:1}),t(f,{prop:"createTime",label:"创建时间",width:"170"}),t(f,{label:"操作",width:"100",fixed:"right"},{default:a(({row:l})=>[l.status===1?V((u(),k(i,{key:0,link:"",type:"primary",onClick:je=>le(l)},{default:a(()=>[...e[19]||(e[19]=[n("分配",-1)])]),_:1},8,["onClick"])),[[D,"distribution:update"]]):N("",!0)]),_:1})]),_:1},8,["data"])),[[me,R.value]]),C.value.length>0?(u(),g("div",Fe,[p("span",null,"已选择 "+r(C.value.length)+" 项",1),V((u(),k(i,{type:"primary",size:"small",onClick:ae},{default:a(()=>[...e[20]||(e[20]=[n("批量分配",-1)])]),_:1})),[[D,"distribution:update"]])])):N("",!0),p("div",Te,[t(ue,{"current-page":o.pageIndex,"onUpdate:currentPage":e[4]||(e[4]=l=>o.pageIndex=l),"page-size":o.pageSize,"onUpdate:pageSize":e[5]||(e[5]=l=>o.pageSize=l),"page-sizes":[10,20,50,100],total:A.value,layout:"total, sizes, prev, pager, next, jumper",onSizeChange:X,onCurrentChange:Y},null,8,["current-page","page-size","total"])])]),_:1}),t(E,{modelValue:w.value,"onUpdate:modelValue":e[8]||(e[8]=l=>w.value=l),title:"批量生成邀请码",width:"400px"},{footer:a(()=>[t(i,{onClick:e[7]||(e[7]=l=>w.value=!1)},{default:a(()=>[...e[21]||(e[21]=[n("取消",-1)])]),_:1}),t(i,{type:"primary",loading:L.value,onClick:te},{default:a(()=>[...e[22]||(e[22]=[n("确定",-1)])]),_:1},8,["loading"])]),default:a(()=>[t($,{model:x,rules:J,ref_key:"generateFormRef",ref:B,"label-width":"100px"},{default:a(()=>[t(_,{label:"生成数量",prop:"count"},{default:a(()=>[t(re,{modelValue:x.count,"onUpdate:modelValue":e[6]||(e[6]=l=>x.count=l),min:1,max:1e3,"controls-position":"right",style:{width:"100%"}},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),t(E,{modelValue:I.value,"onUpdate:modelValue":e[11]||(e[11]=l=>I.value=l),title:"分配邀请码",width:"400px"},{footer:a(()=>[t(i,{onClick:e[10]||(e[10]=l=>I.value=!1)},{default:a(()=>[...e[23]||(e[23]=[n("取消",-1)])]),_:1}),t(i,{type:"primary",loading:F.value,onClick:se},{default:a(()=>[...e[24]||(e[24]=[n("确定",-1)])]),_:1},8,["loading"])]),default:a(()=>[t($,{model:m,rules:H,ref_key:"assignFormRef",ref:T,"label-width":"100px"},{default:a(()=>[t(_,{label:"邀请码数量"},{default:a(()=>[p("span",null,r(m.codeIds.length)+" 个",1)]),_:1}),t(_,{label:"分配用户",prop:"userId"},{default:a(()=>[t(U,{modelValue:m.userId,"onUpdate:modelValue":e[9]||(e[9]=l=>m.userId=l),modelModifiers:{number:!0},placeholder:"请输入用户ID"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),t(E,{modelValue:h.value,"onUpdate:modelValue":e[13]||(e[13]=l=>h.value=l),title:"生成结果",width:"500px"},{footer:a(()=>[t(i,{type:"primary",onClick:e[12]||(e[12]=l=>h.value=!1)},{default:a(()=>[...e[26]||(e[26]=[n("确定",-1)])]),_:1})]),default:a(()=>[y.value?(u(),k(ce,{key:0,column:1,border:""},{default:a(()=>[t(K,{label:"批次号"},{default:a(()=>[n(r(y.value.batchNo),1)]),_:1}),t(K,{label:"生成数量"},{default:a(()=>[n(r(y.value.count),1)]),_:1})]),_:1})):N("",!0),y.value?(u(),g("div",$e,[e[25]||(e[25]=p("div",{class:"codes-header"},"生成的邀请码:",-1)),t(pe,{height:"200px"},{default:a(()=>[(u(!0),g(j,null,we(y.value.codes,l=>(u(),g("div",{class:"code-item",key:l},r(l),1))),128))]),_:1})])):N("",!0)]),_:1},8,["modelValue"])])}}}),Ge=xe(Ee,[["__scopeId","data-v-f395c275"]]);export{Ge as default};
|