2 lines
6.9 KiB
JavaScript
2 lines
6.9 KiB
JavaScript
import{d as Y,v as D,r as y,a as Z,G as ee,g as i,z as c,k as s,w as o,e as t,c as g,H as le,I as ae,F as V,b as te,t as _,y as R,l as b,R as oe,C as re,E as v,_ as ne}from"./index-xrzazjLo.js";import{S as de,a as ie,b as se,c as ue}from"./signconfig-Bob_wfNs.js";import{R as u,a as pe}from"./reward-Cdmnz0ei.js";import{g as me}from"./coupon-D7rqS9DX.js";const ce={class:"reward-config-section"},ge=Y({__name:"SignConfigFormDialog",props:{modelValue:{type:Boolean},signConfig:{},isEdit:{type:Boolean},signType:{}},emits:["update:modelValue","success"],setup($,{emit:j}){const n=$,S=j,C=D({get:()=>n.modelValue,set:a=>S("update:modelValue",a)}),z=D(()=>{const a=de[n.signType]||"签到";return n.isEdit?`编辑${a}配置`:`新增${a}配置`}),I=D(()=>n.signType===ie.Daily?"签到天数":"累计天数"),f=y(),T=y(!1),h=y([]),k=y(!1),l=Z({title:"",day:1,icon:"",sort:0,description:"",rewards:[{rewardType:u.Diamond,rewardValue:1}]}),M={title:[{required:!0,message:"请输入标题",trigger:"blur"}],day:[{required:!0,message:"请输入天数",trigger:"blur"},{type:"number",min:1,message:"天数必须大于0",trigger:"blur"}]},O=async()=>{k.value=!0;try{const a=await me({page:1,pageSize:1e3});h.value=a.data.list}catch{h.value=[]}finally{k.value=!1}};ee(()=>n.modelValue,a=>{a&&(O(),n.isEdit&&n.signConfig?Object.assign(l,{title:n.signConfig.title||"",day:n.signConfig.day||1,icon:n.signConfig.icon||"",sort:n.signConfig.sort||0,description:n.signConfig.description||"",rewards:[{rewardType:u.Diamond,rewardValue:1}]}):B())});const P=a=>{const e=l.rewards[a];e.rewardType===u.Coupon?(e.rewardValue=1,e.rewardExtend=void 0):(e.rewardExtend=void 0,e.rewardValue=1)},G=()=>{l.rewards.push({rewardType:u.Diamond,rewardValue:1})},H=a=>{l.rewards.length>1&&l.rewards.splice(a,1)},B=()=>{var a;Object.assign(l,{title:"",day:1,icon:"",sort:0,description:"",rewards:[{rewardType:u.Diamond,rewardValue:1}]}),(a=f.value)==null||a.resetFields()},E=()=>{C.value=!1,B()},A=async()=>{if(f.value){try{await f.value.validate()}catch{return}if(!n.isEdit)for(const a of l.rewards){if(a.rewardType===u.Coupon&&!a.rewardExtend){v.error("请选择优惠券");return}if(a.rewardType!==u.Coupon&&(!a.rewardValue||a.rewardValue<=0)){v.error("奖励数值必须大于0");return}}T.value=!0;try{if(n.isEdit&&n.signConfig){const a={type:n.signType,day:l.day,title:l.title,icon:l.icon||void 0,sort:l.sort,description:l.description||void 0};await se(n.signConfig.id,a),v.success("更新成功")}else{const a={type:n.signType,day:l.day,title:l.title,icon:l.icon||void 0,sort:l.sort,description:l.description||void 0,rewards:l.rewards.map(e=>({rewardType:e.rewardType,rewardExtend:e.rewardType===u.Coupon?e.rewardExtend:void 0,rewardValue:e.rewardType===u.Coupon?1:e.rewardValue}))};await ue(a),v.success("创建成功")}S("success"),E()}finally{T.value=!1}}};return(a,e)=>{const L=i("el-input"),p=i("el-form-item"),x=i("el-input-number"),J=i("el-divider"),F=i("el-option"),N=i("el-select"),U=i("el-col"),w=i("el-button"),K=i("el-row"),Q=i("el-icon"),W=i("el-form"),X=i("el-dialog");return s(),c(X,{modelValue:C.value,"onUpdate:modelValue":e[5]||(e[5]=r=>C.value=r),title:z.value,width:"650px","close-on-click-modal":!1,onClose:E},{footer:o(()=>[t(w,{onClick:E},{default:o(()=>[...e[8]||(e[8]=[_("取消",-1)])]),_:1}),t(w,{type:"primary",loading:T.value,onClick:A},{default:o(()=>[...e[9]||(e[9]=[_(" 确定 ",-1)])]),_:1},8,["loading"])]),default:o(()=>[t(W,{ref_key:"formRef",ref:f,model:l,rules:M,"label-width":"100px"},{default:o(()=>[t(p,{label:"标题",prop:"title"},{default:o(()=>[t(L,{modelValue:l.title,"onUpdate:modelValue":e[0]||(e[0]=r=>l.title=r),placeholder:"请输入标题",maxlength:"50","show-word-limit":""},null,8,["modelValue"])]),_:1}),t(p,{label:I.value,prop:"day"},{default:o(()=>[t(x,{modelValue:l.day,"onUpdate:modelValue":e[1]||(e[1]=r=>l.day=r),min:1,max:365,precision:0,placeholder:"请输入天数",style:{width:"100%"}},null,8,["modelValue"])]),_:1},8,["label"]),t(p,{label:"图标",prop:"icon"},{default:o(()=>[t(ae,{modelValue:l.icon,"onUpdate:modelValue":e[2]||(e[2]=r=>l.icon=r),placeholder:"点击上传图标","show-url-input":!0,tip:"支持 jpg、png、gif、webp 格式,最大 10MB"},null,8,["modelValue"])]),_:1}),t(p,{label:"排序",prop:"sort"},{default:o(()=>[t(x,{modelValue:l.sort,"onUpdate:modelValue":e[3]||(e[3]=r=>l.sort=r),min:0,max:9999,precision:0,placeholder:"请输入排序值",style:{width:"100%"}},null,8,["modelValue"])]),_:1}),t(p,{label:"描述",prop:"description"},{default:o(()=>[t(L,{modelValue:l.description,"onUpdate:modelValue":e[4]||(e[4]=r=>l.description=r),type:"textarea",rows:3,placeholder:"请输入描述(可选)",maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1}),$.isEdit?le("",!0):(s(),g(V,{key:0},[t(J,{"content-position":"left"},{default:o(()=>[...e[6]||(e[6]=[_("奖励配置",-1)])]),_:1}),te("div",ce,[(s(!0),g(V,null,R(l.rewards,(r,m)=>(s(),g("div",{key:m,class:"reward-item"},[t(K,{gutter:12,align:"middle"},{default:o(()=>[t(U,{span:7},{default:o(()=>[t(p,{prop:`rewards.${m}.rewardType`,rules:[{required:!0,message:"请选择奖励类型",trigger:"change"}],"label-width":"0"},{default:o(()=>[t(N,{modelValue:r.rewardType,"onUpdate:modelValue":d=>r.rewardType=d,placeholder:"奖励类型",style:{width:"100%"},onChange:d=>P(m)},{default:o(()=>[(s(!0),g(V,null,R(b(pe),(d,q)=>(s(),c(F,{key:q,label:d,value:Number(q)},null,8,["label","value"]))),128))]),_:1},8,["modelValue","onUpdate:modelValue","onChange"])]),_:2},1032,["prop"])]),_:2},1024),t(U,{span:12},{default:o(()=>[r.rewardType===b(u).Coupon?(s(),c(p,{key:0,prop:`rewards.${m}.rewardExtend`,rules:[{required:!0,message:"请选择优惠券",trigger:"change"}],"label-width":"0"},{default:o(()=>[t(N,{modelValue:r.rewardExtend,"onUpdate:modelValue":d=>r.rewardExtend=d,placeholder:"请选择优惠券",style:{width:"100%"},filterable:"",loading:k.value},{default:o(()=>[(s(!0),g(V,null,R(h.value,d=>(s(),c(F,{key:d.id,label:`${d.title} (满${d.minPrice}减${d.discountPrice})`,value:d.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","onUpdate:modelValue","loading"])]),_:2},1032,["prop"])):(s(),c(p,{key:1,prop:`rewards.${m}.rewardValue`,rules:[{required:!0,message:"请输入奖励数值",trigger:"blur"},{type:"number",min:1,message:"奖励数值必须大于0",trigger:"blur"}],"label-width":"0"},{default:o(()=>[t(x,{modelValue:r.rewardValue,"onUpdate:modelValue":d=>r.rewardValue=d,min:1,precision:0,placeholder:"奖励数值",style:{width:"100%"}},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1032,["prop"]))]),_:2},1024),t(U,{span:5},{default:o(()=>[t(w,{type:"danger",icon:b(oe),circle:"",size:"small",onClick:d=>H(m),disabled:l.rewards.length<=1},null,8,["icon","onClick","disabled"])]),_:2},1024)]),_:2},1024)]))),128)),t(w,{type:"primary",link:"",onClick:G},{default:o(()=>[t(Q,null,{default:o(()=>[t(b(re))]),_:1}),e[7]||(e[7]=_("添加奖励 ",-1))]),_:1})])],64))]),_:1},8,["model"])]),_:1},8,["modelValue","title"])}}}),_e=ne(ge,[["__scopeId","data-v-bebcbb5e"]]);export{_e as default};
|