game/nginx/admin/assets/EffectManagerDialog-BmMTyIDl.js
2026-04-20 16:07:22 +08:00

2 lines
7.1 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

var e=(e,t,i)=>new Promise((a,s)=>{var l=e=>{try{o(i.next(e))}catch(t){s(t)}},r=e=>{try{o(i.throw(e))}catch(t){s(t)}},o=e=>e.done?a(e.value):Promise.resolve(e.value).then(l,r);o((i=i.apply(e,t)).next())});import{d as t,r as i,c as a,A as s,h as l,e as r,w as o,f as n,g as p,N as u,E as d,j as c,ai as m,p as f,b5 as _,eo as v,v as y,b as j,I as g,J as b,b2 as x,T as w,aV as h}from"./index-BoIUJTA2.js";/* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css *//* empty css */import{titlesApi as k}from"./titles-D1iSw7M5.js";import A from"./EffectEditDialog-CaIWUZ9w.js";import{E as $,a as z}from"./index-BjuMygln.js";import{E as C}from"./index-ZsMdSUVI.js";import{E}from"./index-CjpBlozU.js";import{_ as T}from"./_plugin-vue_export-helper-BCo6x5W8.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./activity-CMsiETfu.js";import"./adminActivities-Dgt25iR5.js";import"./index-BcfO0-fK.js";import"./castArray-nM8ho4U3.js";import"./_baseClone-Ct7RL6h5.js";import"./_initCloneObject-DRmC-q3t.js";import"./index-D2gD5Tn5.js";import"./index-BMeOzN3u.js";import"./index-COyGylbk.js";import"./index-Bq8lawOo.js";import"./index-Cp4NEpJ7.js";import"./token-DWNpOE8r.js";import"./debounce-DQl5eUwG.js";import"./_baseIteratee-CtIat01j.js";import"./index-CXORCV4U.js";import"./index-C_S0YbqD.js";import"./index-BnK4BbY2.js";import"./index-DqTthkO7.js";import"./index-Dy3gZN7-.js";import"./use-dialog-FwJ-QdmW.js";import"./refs-Cw5r5QN8.js";import"./isArrayLikeObject-CFQi-X2M.js";import"./raf-DsHSIRfX.js";import"./index-D8nVJoNy.js";const B={class:"effect-manager"},V={class:"toolbar"},I={class:"params-view"},S={class:"params-view"},D=T(t({__name:"EffectManagerDialog",props:{visible:{type:Boolean},title:{}},emits:["update:visible"],setup(t,{emit:T}){const D=t,O=T,U=i(!1),J=i([]),L=i(!1),M=i(null),N=a({get:()=>D.visible,set:e=>O("update:visible",e)}),P={1:{name:"领券",tag:"warning"},2:{name:"抽奖折扣",tag:"success"},3:{name:"签到倍数",tag:"primary"},4:{name:"领道具卡",tag:"info"},5:{name:"概率加成",tag:"warning"},6:{name:"双倍概率",tag:"danger"}},q={0:"最大值",1:"累加封顶",2:"首个匹配"};function H(e){var t;return(null==(t=P[e])?void 0:t.name)||"未知"}function Q(e){var t;return(null==(t=P[e])?void 0:t.tag)||"info"}function W(e){try{return JSON.parse(e||"{}")}catch(t){return{}}}function X(e){const t=W(e.scopes_json||"{}"),i=t.exclude||{};return{activity_ids:Array.isArray(t.activity_ids)?t.activity_ids:[],issue_ids:Array.isArray(t.issue_ids)?t.issue_ids:[],exclude_issue_ids:Array.isArray(i.issue_ids)?i.issue_ids:[]}}function Y(e,t){const i={template_id:"模板ID",frequency:"频次",period:"周期",times:"次数",discount_type:"折扣类型",value_x1000:"折扣值×1000",max_discount_x1000:"最高减免×1000",multiplier_x1000:"倍率×1000",daily_cap_points:"每日积分上限",target_prize_ids:"目标奖品",boost_x1000:"加成×1000",cap_x1000:"封顶×1000",chance_x1000:"概率×1000",period_cap_times:"周期次数上限"}[e]||e;return"number"==typeof t?`${i}: ${t}`:Array.isArray(t)?`${i}: ${t.length}`:`${i}: ${t}`}function F(){return e(this,null,function*(){if(D.title){U.value=!0;try{const e=yield k.getTitleEffects(D.title.id);J.value=e.list||[]}catch(e){w.error("加载效果列表失败"),J.value=[]}finally{U.value=!1}}})}function G(){M.value=null,L.value=!0}function K(){F()}return s(N,e=>{e&&D.title&&F()}),(i,a)=>{var s;const T=m,O=d,P=C,R=z,Z=$,ee=E,te=x;return r(),l(ee,{title:`称号效果管理 - ${null==(s=t.title)?void 0:s.name}`,modelValue:N.value,"onUpdate:modelValue":a[1]||(a[1]=e=>N.value=e),width:"90%","close-on-click-modal":!1},{default:o(()=>[n("div",B,[n("div",V,[p(O,{type:"primary",onClick:G},{default:o(()=>[p(T,null,{default:o(()=>[p(f(_))]),_:1}),a[2]||(a[2]=c("添加效果 ",-1))]),_:1}),p(O,{type:"info",onClick:K},{default:o(()=>[p(T,null,{default:o(()=>[p(f(v))]),_:1}),a[3]||(a[3]=c("刷新 ",-1))]),_:1})]),u((r(),l(Z,{data:J.value,border:""},{default:o(()=>[p(R,{prop:"effect_type",label:"效果类型",width:"120"},{default:o(({row:e})=>[p(P,{type:Q(e.effect_type)},{default:o(()=>[c(y(H(e.effect_type)),1)]),_:2},1032,["type"])]),_:1}),p(R,{prop:"params",label:"参数配置","min-width":"200"},{default:o(({row:e})=>[n("div",I,[(r(!0),j(g,null,b(W(e.params_json),(e,t)=>(r(),l(P,{key:t,size:"small"},{default:o(()=>[c(y(Y(String(t),e)),1)]),_:2},1024))),128))])]),_:1}),p(R,{label:"作用范围","min-width":"220"},{default:o(({row:e})=>[n("div",S,[(r(!0),j(g,null,b(X(e).activity_ids,e=>(r(),l(P,{type:"info",size:"small",key:"a-"+e},{default:o(()=>[c("活动:"+y(e),1)]),_:2},1024))),128)),(r(!0),j(g,null,b(X(e).issue_ids,e=>(r(),l(P,{type:"success",size:"small",key:"i-"+e},{default:o(()=>[c("期:"+y(e),1)]),_:2},1024))),128)),(r(!0),j(g,null,b(X(e).exclude_issue_ids,e=>(r(),l(P,{type:"danger",size:"small",key:"x-"+e},{default:o(()=>[c("排除期:"+y(e),1)]),_:2},1024))),128))])]),_:1}),p(R,{prop:"stacking_strategy",label:"叠加策略",width:"100"},{default:o(({row:e})=>{return[c(y((t=e.stacking_strategy,q[t]||"未知")),1)];var t}),_:1}),p(R,{prop:"cap_value_x1000",label:"上限值",width:"100"},{default:o(({row:e})=>[c(y(e.cap_value_x1000/1e3),1)]),_:1}),p(R,{prop:"sort",label:"排序",width:"80",sortable:""}),p(R,{prop:"status",label:"状态",width:"80"},{default:o(({row:e})=>[p(P,{type:1===e.status?"success":"danger",size:"small"},{default:o(()=>[c(y(1===e.status?"启用":"停用"),1)]),_:2},1032,["type"])]),_:1}),p(R,{prop:"created_at",label:"创建时间",width:"160"}),p(R,{label:"操作",width:"150",fixed:"right"},{default:o(({row:t})=>[p(O,{type:"primary",size:"small",onClick:e=>{return i=t,M.value=i,void(L.value=!0);var i}},{default:o(()=>[...a[4]||(a[4]=[c("编辑",-1)])]),_:1},8,["onClick"]),p(O,{type:"danger",size:"small",onClick:i=>function(t){return e(this,null,function*(){var e,i;try{const e=H(t.effect_type);yield h.confirm(`确定要删除效果"${e}"吗?此操作不可恢复`,"删除确认",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning",beforeClose:(e,t,i)=>{"confirm"===e?t.confirmButtonLoading=!0:i()}}),yield k.deleteTitleEffect(D.title.id,t.id),w.success({message:`"${e}"已成功删除`,duration:3e3}),F()}catch(a){if("cancel"===a)return;const s=(null==(i=null==(e=null==a?void 0:a.response)?void 0:e.data)?void 0:i.message)||a.message||"删除失败",l=H(t.effect_type);w.error({message:`"${l}"删除失败:${s}`,duration:4e3})}})}(t)},{default:o(()=>[...a[5]||(a[5]=[c("删除",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])),[[te,U.value]])]),p(A,{visible:L.value,"onUpdate:visible":a[0]||(a[0]=e=>L.value=e),title:t.title,effect:M.value,"occupied-types":J.value.map(e=>e.effect_type),onSuccess:F},null,8,["visible","title","effect","occupied-types"])]),_:1},8,["title","modelValue"])}}}),[["__scopeId","data-v-31a74478"]]);export{D as default};