2 lines
3.8 KiB
Java
2 lines
3.8 KiB
Java
var y=(t,a,r)=>new Promise((n,m)=>{var s=o=>{try{c(r.next(o))}catch(d){m(d)}},l=o=>{try{c(r.throw(o))}catch(d){m(d)}},c=o=>o.done?n(o.value):Promise.resolve(o.value).then(s,l);c((r=r.apply(t,a)).next())});import{B as A}from"./index-BDvqZ5j4.js";import{aF as M,b5 as C,x as B,s as V,au as x}from"./index-X7Y8jykP.js";import{J as f}from"./JVxeTypes-C-gX5UoZ.js";import"./index-DSsDi_fL.js";import{C as R}from"./Group-UHkub2tu.js";import{a as $}from"./useModal-DaJ3Bflg.js";import{e as T,r as b,y as z,z as D,A as u,B as I,K as h,Q as _,f as p,E as J}from"./vue-vendor-DNhG1Cve.js";import S from"./index-DsixALRt.js";import"./BasicModal-xH56XuRZ.js";import"./ModalHeader-Sr8KwhJJ.js";import"./useTimeout-D5AmIBZw.js";import"./emoji-mart-vue-fast-R0uJEDq-.js";import"./index-BzChaRPg.js";import"./useWindowSizeFn-C-0M9_Ul.js";import"./index-ByCwbQDV.js";import"./index-Upeu4GGa.js";import"./index-C4wWpZeQ.js";import"./index-M9QP6cvf.js";import"./Skeleton-CimgOdM7.js";import"./useScrollTo-0FPEw5-K.js";import"./useIntersectionObserver-BGOgyKyu.js";import"./useAppInject-DPZGPcR3.js";import"./index-CuWaQdlK.js";import"./index-DO7ZhK45.js";import"./Checkbox-Dbxs4we4.js";import"./index-BuONesFs.js";const N=T({name:"AiUserVariablesModal",components:{BasicModal:A,Icon:B,AButton:C,ACheckbox:R,ASwitch:S,APopconfirm:M},emits:["register","ok"],setup(t,{emit:a}){const{createMessage:r}=V(),n=b(),m=b([{title:"名称",key:"name",type:f.input,width:200,placeholder:"请输入变量名",validateRules:[{required:!0,message:"名称不能为空"},{pattern:/^[a-zA-Z][a-zA-Z0-9_]*$/,message:"仅支持字母、数字和下划线,且以字母开头"}]},{title:"描述",key:"description",type:f.input,width:300,placeholder:"字段描述"},{title:"默认值",key:"defaultValue",type:f.input,width:200,placeholder:"默认值"},{title:"操作",key:"action",type:f.slot,slotName:"action",width:220,align:"center"}]),s=b([]),[l,{setModalProps:c,closeModal:o}]=$(e=>{e&&e.variables?s.value=JSON.parse(e.variables):s.value=[]});return{registerModal:l,tableRef:n,columns:m,dataSource:s,handleAdd:()=>{var e;if(s.value.length>9){r.warn("最多支持10个变量!");return}(e=n.value)==null||e.addRows({name:"",description:"",defaultValue:"",enable:!0})},handleDelete:e=>{var i;(i=n.value)==null||i.removeRows(e.row)},handleSubmit:()=>y(null,null,function*(){var v,w;if(yield(v=n.value)==null?void 0:v.validateTable()){r.error("请检查表单填写是否正确");return}const i=(w=n.value)==null?void 0:w.getTableData();o(),a("ok",i)})}}}),O={class:"p-4"},U={class:"action-group"};function P(t,a,r,n,m,s){const l=h("Icon"),c=h("a-button"),o=S,d=M,g=h("JVxeTable"),k=h("BasicModal");return D(),z(k,I(t.$attrs,{onRegister:t.registerModal,title:"用户变量",width:1e3,onOk:t.handleSubmit,destroyOnClose:""}),{default:u(()=>[_("div",O,[a[1]||(a[1]=_("div",{class:"mb-4 text-gray-500"}," 用于存储每个用户使用项目过程中,需要持久化存储和读取的数据,如用户的语言偏好、个性化设置等。 ",-1)),p(g,{ref:"tableRef",toolbar:"",dragSort:"",maxHeight:500,columns:t.columns,dataSource:t.dataSource,toolbarConfig:{btns:["remove","clearSelection"]}},{toolbarSuffix:u(()=>[p(c,{type:"primary",onClick:t.handleAdd},{default:u(()=>[p(l,{icon:"ant-design:plus-outlined"}),a[0]||(a[0]=J(" 新增 ",-1))]),_:1},8,["onClick"])]),action:u(e=>[_("div",U,[p(o,{checked:e.row.enable,"onUpdate:checked":i=>e.row.enable=i,"checked-children":"开","un-checked-children":"关",size:"small",class:"ml-2"},null,8,["checked","onUpdate:checked"]),p(d,{title:"确定删除吗?",onConfirm:i=>t.handleDelete(e)},{default:u(()=>[p(l,{icon:"ant-design:delete-outlined",class:"cursor-pointer hover:text-red-500 ml-2",size:"18",color:"red"})]),_:1},8,["onConfirm"])])]),_:1},8,["columns","dataSource"])])]),_:1},16,["onRegister","onOk"])}const fe=x(N,[["render",P],["__scopeId","data-v-44ca1e6a"]]);export{fe as default};
|