bindbox-game/build/resources/admin/assets/TitleEditDialog-BoomnsCf.js
邹方成 2a89a1ab9d
Some checks failed
Build docker and publish / linux (1.24.5) (push) Failing after 39s
feat(admin): 更新前端资源文件及修复相关功能
refactor(service): 修改banner和guild删除逻辑为软删除
fix(service): 修复删除操作使用软删除而非物理删除

build: 添加SQLite测试仓库实现
docs: 新增奖励管理字段拆分和批量抽奖UI改造文档

ci: 更新CI忽略文件
style: 清理无用资源文件
2025-11-19 01:35:55 +08:00

2 lines
6.2 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.

import{d as e,a as t,r as s,c as o,w as a,y as l,f as r,z as i,p as n,l as d,h as m,m as u,O as p}from"./index-CZ0Lvzl5.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{E as c}from"./message-box-mfsaE52U.js";/* empty css *//* empty css *//* empty css */import{titlesApi as _}from"./titles-BnzYQ5A4.js";import{E as j,a as f}from"./index-DhBIlDpg.js";import{E as g}from"./index-6-f3xsy2.js";import{a as v,b}from"./index-_aFOeltJ.js";import{E as x}from"./index-CWBrZtwn.js";import{E as y}from"./index-DO8sDDAh.js";import{_ as h}from"./_plugin-vue_export-helper-BCo6x5W8.js";import"./index-CgoUqbdT.js";import"./vnode-C4RX5enz.js";import"./index-BW22oPP6.js";import"./scroll-bFiZhqzI.js";import"./index-K2zzami3.js";import"./validator-BHWhHngj.js";import"./use-form-item-BsnpemL_.js";import"./use-form-common-props-U6f9D53_.js";import"./index-DaNWXg3-.js";import"./index-DH_vX4BK.js";import"./_initCloneObject-DfOnBHdn.js";import"./index-MV2EqMi7.js";import"./use-dialog-BDM4AbF-.js";import"./refs-Cw5r5QN8.js";const V={class:"json-editor"},w={class:"json-editor"},E=h(e({__name:"TitleEditDialog",props:{visible:{type:Boolean},title:{}},emits:["update:visible","success"],setup(e,{emit:h}){const E=e,O=h,S=t(),k=t(!1),U=s({name:"",description:"",status:1,obtain_rules_json:"{}",scopes_json:"{}"}),J={name:[{required:!0,message:"请输入称号名称",trigger:"blur"},{min:1,max:50,message:"长度在 1 到 50 个字符",trigger:"blur"}],status:[{required:!0,message:"请选择状态",trigger:"change"}],obtain_rules_json:[{required:!0,message:"请输入获得规则",trigger:"blur"},{validator:T,trigger:"blur"}],scopes_json:[{required:!0,message:"请输入适用范围",trigger:"blur"},{validator:T,trigger:"blur"}]},N=o({get:()=>E.visible,set:e=>O("update:visible",e)});function T(e,t,s){if(t)try{JSON.parse(t),s()}catch(o){s(new Error("JSON格式不正确"))}else s(new Error("请输入JSON数据"))}function q(){c.alert('\n <div>\n <h4>获得规则JSON格式</h4>\n <pre style="background: #f5f5f5; padding: 10px; border-radius: 4px;">\n{\n "methods": ["register", "consume", "invite", "activity", "manual"],\n "consume": {\n "amount": 1000,\n "times": 5\n },\n "invite": {\n "count": 3,\n "friend_consume": 500\n }\n}</pre>\n </div>\n ',"规则助手",{dangerouslyUseHTMLString:!0,confirmButtonText:"知道了"})}function C(){c.alert('\n <div>\n <h4>适用范围JSON格式</h4>\n <pre style="background: #f5f5f5; padding: 10px; border-radius: 4px;">\n{\n "user_level": ["newbie", "normal", "vip", "svip"],\n "category_ids": [1, 2, 3],\n "region_type": "all",\n "time_type": "always"\n}</pre>\n </div>\n ',"范围助手",{dangerouslyUseHTMLString:!0,confirmButtonText:"知道了"})}function B(){return e=this,t=null,s=function*(){if(S.value)try{yield S.value.validate(),k.value=!0;const e={name:U.name.trim(),description:U.description.trim(),status:U.status,obtain_rules_json:U.obtain_rules_json.trim(),scopes_json:U.scopes_json.trim()};E.title?(yield _.updateTitle(E.title.id,e),p.success("修改成功")):(yield _.createTitle(e),p.success("创建成功")),N.value=!1,O("success")}catch(e){!1!==e&&p.error(e.message||"操作失败")}finally{k.value=!1}},new Promise((o,a)=>{var l=e=>{try{i(s.next(e))}catch(t){a(t)}},r=e=>{try{i(s.throw(e))}catch(t){a(t)}},i=e=>e.done?o(e.value):Promise.resolve(e.value).then(l,r);i((s=s.apply(e,t)).next())});var e,t,s}return a(()=>E.title,e=>{var t;e?(U.name=e.name||"",U.description=e.description||"",U.status=null!=(t=e.status)?t:1,U.obtain_rules_json=e.obtain_rules_json||"{}",U.scopes_json=e.scopes_json||"{}"):(U.name="",U.description="",U.status=1,U.obtain_rules_json="{}",U.scopes_json="{}")},{immediate:!0}),(t,s)=>{const o=g,a=f,p=b,c=v,_=x,h=j,E=y;return r(),l(E,{title:e.title?"编辑称号":"新建称号",modelValue:N.value,"onUpdate:modelValue":s[6]||(s[6]=e=>N.value=e),width:"600px","close-on-click-modal":!1},{footer:i(()=>[n(_,{onClick:s[5]||(s[5]=e=>N.value=!1)},{default:i(()=>[...s[11]||(s[11]=[d("取 消",-1)])]),_:1}),n(_,{type:"primary",onClick:B,loading:k.value},{default:i(()=>[d(u(e.title?"保 存":"创 建"),1)]),_:1},8,["loading"])]),default:i(()=>[n(h,{ref_key:"formRef",ref:S,model:U,rules:J,"label-width":"100px"},{default:i(()=>[n(a,{label:"称号名称",prop:"name"},{default:i(()=>[n(o,{modelValue:U.name,"onUpdate:modelValue":s[0]||(s[0]=e=>U.name=e),placeholder:"请输入称号名称",maxlength:"50","show-word-limit":""},null,8,["modelValue"])]),_:1}),n(a,{label:"称号描述",prop:"description"},{default:i(()=>[n(o,{modelValue:U.description,"onUpdate:modelValue":s[1]||(s[1]=e=>U.description=e),type:"textarea",placeholder:"请输入称号描述",maxlength:"200","show-word-limit":"",rows:3},null,8,["modelValue"])]),_:1}),n(a,{label:"状态",prop:"status"},{default:i(()=>[n(c,{modelValue:U.status,"onUpdate:modelValue":s[2]||(s[2]=e=>U.status=e)},{default:i(()=>[n(p,{label:1},{default:i(()=>[...s[7]||(s[7]=[d("启用",-1)])]),_:1}),n(p,{label:0},{default:i(()=>[...s[8]||(s[8]=[d("停用",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),n(a,{label:"获得规则",prop:"obtain_rules_json"},{default:i(()=>[m("div",V,[n(o,{modelValue:U.obtain_rules_json,"onUpdate:modelValue":s[3]||(s[3]=e=>U.obtain_rules_json=e),type:"textarea",rows:4,placeholder:'请输入获得规则JSON例如{"methods": ["register"], "consume": {"amount": 1000}}'},null,8,["modelValue"]),n(_,{type:"text",size:"small",onClick:q},{default:i(()=>[...s[9]||(s[9]=[d("规则助手",-1)])]),_:1})])]),_:1}),n(a,{label:"适用范围",prop:"scopes_json"},{default:i(()=>[m("div",w,[n(o,{modelValue:U.scopes_json,"onUpdate:modelValue":s[4]||(s[4]=e=>U.scopes_json=e),type:"textarea",rows:4,placeholder:'请输入适用范围JSON例如{"user_level": ["vip", "svip"], "category_ids": [1, 2, 3]}'},null,8,["modelValue"]),n(_,{type:"text",size:"small",onClick:C},{default:i(()=>[...s[10]||(s[10]=[d("范围助手",-1)])]),_:1})])]),_:1})]),_:1},8,["model"])]),_:1},8,["title","modelValue"])}}}),[["__scopeId","data-v-cf7dfd13"]]);export{E as default};