2 lines
3.5 KiB
Java
2 lines
3.5 KiB
Java
var y=(t,a,n)=>new Promise((s,u)=>{var r=o=>{try{c(n.next(o))}catch(d){u(d)}},i=o=>{try{c(n.throw(o))}catch(d){u(d)}},c=o=>o.done?s(o.value):Promise.resolve(o.value).then(r,i);c((n=n.apply(t,a)).next())});import{d as M,f as b,ah as p,aC as C,as as S,aG as A,aF as h,au as _,k as m,G as V}from"./vue-vendor-C7Zq48Yl.js";import{B}from"./index-Du0A3ksf.js";import{bD as x,M as R,ak as T,bC as f,u as $,d as D}from"./index-BI6CMai0.js";import{P as I,G as J,y as N,B as P}from"./antd-vue-vendor-BPnV8VqP.js";import"./BasicModal-0sAdFEk_.js";import"./ModalHeader-keHdAHWH.js";import"./useTimeout-DDl4l82I.js";import"./vxe-table-vendor-B88kchpX.js";import"./index-DeEq83Ov.js";import"./useWindowSizeFn-PRZSD86C.js";import"./index-pxs5MULf.js";import"./index-BgYCgfME.js";import"./index-f8O7TghW.js";import"./useIntersectionObserver-BMxdTqP3.js";const z=M({name:"AiUserVariablesModal",components:{BasicModal:B,Icon:R,JVxeTable:x,AButton:P,ACheckbox:N,ASwitch:J,APopconfirm:I},emits:["register","ok"],setup(t,{emit:a}){const{createMessage:n}=$(),s=b(),u=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"}]),r=b([]),[i,{setModalProps:c,closeModal:o}]=T(e=>{e&&e.variables?r.value=JSON.parse(e.variables):r.value=[]});return{registerModal:i,tableRef:s,columns:u,dataSource:r,handleAdd:()=>{var e;if(r.value.length>9){n.warn("最多支持10个变量!");return}(e=s.value)==null||e.addRows({name:"",description:"",defaultValue:"",enable:!0})},handleDelete:e=>{var l;(l=s.value)==null||l.removeRows(e.row)},handleSubmit:()=>y(null,null,function*(){var v,w;if(yield(v=s.value)==null?void 0:v.validateTable()){n.error("请检查表单填写是否正确");return}const l=(w=s.value)==null?void 0:w.getTableData();o(),a("ok",l)})}}}),O={class:"p-4"},U={class:"action-group"};function G(t,a,n,s,u,r){const i=p("Icon"),c=p("a-button"),o=p("a-switch"),d=p("a-popconfirm"),k=p("JVxeTable"),g=p("BasicModal");return S(),C(g,A(t.$attrs,{onRegister:t.registerModal,title:"用户变量",width:1e3,onOk:t.handleSubmit,destroyOnClose:""}),{default:h(()=>[_("div",O,[a[1]||(a[1]=_("div",{class:"mb-4 text-gray-500"}," 用于存储每个用户使用项目过程中,需要持久化存储和读取的数据,如用户的语言偏好、个性化设置等。 ",-1)),m(k,{ref:"tableRef",toolbar:"",dragSort:"",maxHeight:500,columns:t.columns,dataSource:t.dataSource,toolbarConfig:{btns:["remove","clearSelection"]}},{toolbarSuffix:h(()=>[m(c,{type:"primary",onClick:t.handleAdd},{default:h(()=>[m(i,{icon:"ant-design:plus-outlined"}),a[0]||(a[0]=V(" 新增 ",-1))]),_:1},8,["onClick"])]),action:h(e=>[_("div",U,[m(o,{checked:e.row.enable,"onUpdate:checked":l=>e.row.enable=l,"checked-children":"开","un-checked-children":"关",size:"small",class:"ml-2"},null,8,["checked","onUpdate:checked"]),m(d,{title:"确定删除吗?",onConfirm:l=>t.handleDelete(e)},{default:h(()=>[m(i,{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 ae=D(z,[["render",G],["__scopeId","data-v-bc2aaa83"]]);export{ae as default};
|