import{d as F,O as ee,k as S,v as I,m as V,r as q,o as d,c as p,a as s,z as K,b as l,u,x as B,A as P,B as D,t as U}from"./vue.1703796278973.js";import{aI as te,aM as ae,M as ne,aP as oe,aL as se,K as le,I as re,r as ie,a6 as me,a1 as de,k as ue,aK as ce,F as pe,W as _e}from"./index.17037962789732.js";import"./index.170379627897337.js";import"./index.170379627897315.js";import"./index.170379627897318.js";import"./index.170379627897319.js";import"./index.1703796278973305.js";import"./index.170379627897317.js";import"./index.1703796278973301.js";import"./index.1703796278973302.js";import"./index.170379627897332.js";import"./index.1703796278973303.js";import"./index.170379627897339.js";import"./index.170379627897316.js";import"./index.170379627897314.js";import"./index.1703796278973304.js";import{_ as fe}from"./index.vue_vue_type_script_setup_true_name_PermissionButton_lang.1703796278973.js";import"./index.170379627897325.js";import{g as ye,r as ve,a as he,d as ge,s as ke}from"./dataSource.1703796278973.js";import{o as be}from"./comm.1703796278973.js";import{r as xe}from"./utils.1703796278973.js";import{_ as Ke}from"./_plugin-vue_export-helper.1703796278973.js";import"./index.17037962789733.js";import"./dayjs.min.1703796278973.js";import"./isArray.1703796278973.js";import"./editor.api.1703796278973.js";import"./preload-helper.1703796278973.js";import"./monaco.contribution.1703796278973.js";import"./index.170379627897320.js";import"./index.170379627897321.js";import"./permission.1703796278973.js";import"./system.1703796278973.js";import"./index.170379627897333.js";import"./index.170379627897334.js";import"./default.1703796278973.js";import"./consts.1703796278973.js";import"./404.1703796278973.js";import"./moment.1703796278973.js";const Ce={class:"manager-container"},Ie={class:"left"},Ue={key:0,style:{"justify-content":"space-between",display:"flex","align-items":"center",width:"200px"}},De={key:1},Te={class:"right"},je={class:"btns"},we=F({name:"Management"}),Ne=F({...we,setup(Se){const g=ee().query.id,M=[{title:"列名",dataIndex:"name",key:"name"},{title:"类型",dataIndex:"type",key:"type"},{title:"长度",dataIndex:"length",key:"length"},{title:"精度",dataIndex:"scale",key:"scale"},{title:"不能为空",dataIndex:"notnull",key:"notnull",width:130},{title:"说明",dataIndex:"comment",key:"comment"},{title:"操作",dataIndex:"action",key:"action"}],T=S(),O=e=>{ye(e).then(t=>{k.data=t.result})},k=I({data:{}}),n=I({searchValue:"",sourceTree:[],treeData:[],selectedKeys:[],oldKey:""}),b=e=>{e&&ve(g,e).then(t=>{_.data=t.result.columns.map((o,a)=>({old_id:xe(),...o,index:a}))})},L=e=>{he(g).then(t=>{var o,a;t.status===200&&(n.sourceTree=t.result,e?(n.selectedKeys=[(o=t.result[0])==null?void 0:o.name],b((a=t.result[0])==null?void 0:a.name)):b(n.selectedKeys[0]))}).catch(()=>{})},R=(e,t)=>{var a;if((a=t==null?void 0:t.node)!=null&&a.root){n.selectedKeys=[n.oldKey];return}if(!e[0])return;n.oldKey=e[0];const o=e[0];b(o)},A=e=>{e==null||e.stopPropagation(),f.visible=!0};V(()=>g,e=>{e&&(O(e),L(!0))},{immediate:!0});const _=I({data:[]}),E=()=>{const e={scale:0,length:0,notnull:!1,type:"",comment:"",name:""};_.data.push(e)},J=(e,t)=>{e.scale!==void 0?ge(g,n.selectedKeys[0],[e.name]).then(o=>{o.status===200&&_.data.splice(t,1)}):_.data.splice(t,1)},$=()=>{T.value.validate().then(e=>{const t=ae.cloneDeep(_.data);if(t.forEach(a=>{a==null||delete a.old_id,a==null||delete a.index}),!t.length){be("请配置数据源字段","error");return}const o={name:n.selectedKeys[0],columns:t};ke(g,o).then(a=>{a.status===200&&(ne.success("操作成功"),b(o.name))})})},x=S(),f=I({visible:!1,form:{name:""}}),z=()=>{x.value&&x.value.validate().then(()=>{var t;const e=f.form.name;n.sourceTree.unshift({id:e,name:e}),n.oldKey=e,n.selectedKeys=[e],_.data=[],f.visible=!1,(t=x.value)==null||t.resetFields()})},W=()=>{var e;f.visible=!1,(e=x.value)==null||e.resetFields()};V([()=>n.searchValue,()=>n.sourceTree],([e,t])=>{var o,a;if(e){const m=t.filter(y=>y.name.includes(e));n.treeData=[{title:k.data.shareConfig.schema,key:k.data.shareConfig.schema,root:!0,children:m.map(y=>({title:y.name,key:y.name}))}],te.map(m,"name").includes(n.selectedKeys[0])||(n.selectedKeys=[(o=m[0])==null?void 0:o.name],b((a=m[0])==null?void 0:a.name))}else n.treeData=[{title:k.data.shareConfig.schema,key:k.data.shareConfig.schema,root:!0,children:n.sourceTree.map(m=>({title:m.name,key:m.name}))}]},{deep:!0});const G=(e,t)=>new Promise((o,a)=>{if(t){const m=t.slice(0,1);typeof Number(m)=="number"&&!isNaN(Number(m))?a("不能以数字开头"):o("")}else o("")});return(e,t)=>{const o=oe,a=q("AIcon"),m=se,y=le,C=re,v=ie,j=me,w=de,H=ue,Q=fe,X=ce,N=pe,Y=_e,Z=q("page-container");return d(),p(Z,null,{default:s(()=>[K("div",Ce,[K("div",Ie,[l(o,{value:u(n).searchValue,"onUpdate:value":t[0]||(t[0]=r=>u(n).searchValue=r),placeholder:"请输入",style:{"margin-bottom":"24px"}},null,8,["value"]),u(n).treeData.length>0?(d(),p(m,{key:0,showLine:"",defaultExpandAll:"","tree-data":u(n).treeData,selectedKeys:u(n).selectedKeys,"onUpdate:selectedKeys":t[1]||(t[1]=r=>u(n).selectedKeys=r),onSelect:R},{title:s(({dataRef:r})=>[r.root?(d(),B("div",Ue,[K("span",null,P(r.title),1),l(a,{type:"PlusOutlined",style:{color:"#1d39c4"},onClick:A})])):(d(),B("span",De,P(r.title),1))]),_:1},8,["tree-data","selectedKeys"])):D("",!0)]),K("div",Te,[K("div",je,[l(y,{type:"primary",onClick:$},{default:s(()=>[U("保存")]),_:1})]),l(N,{ref_key:"formRef",ref:T,model:u(_)},{default:s(()=>[l(X,{columns:M,dataSource:u(_).data,pagination:!1,scroll:{y:500}},{bodyCell:s(({column:r,record:i,index:h})=>[r.key==="name"?(d(),p(v,{key:0,name:["data",h,"name"],rules:[{max:64,message:"最多可输入64个字符"},{required:!0,message:"请输入名称"}]},{default:s(()=>[l(C,{disabled:i.old_id,value:i.name,"onUpdate:value":c=>i.name=c,placeholder:"请输入名称"},null,8,["disabled","value","onUpdate:value"])]),_:2},1032,["name"])):r.key==="type"?(d(),p(v,{key:1,name:["data",h,"type"],rules:[{max:64,message:"最多可输入64个字符"},{required:!0,message:"请输入类型"}]},{default:s(()=>[l(C,{value:i.type,"onUpdate:value":c=>i.type=c,placeholder:"请输入类型"},null,8,["value","onUpdate:value"])]),_:2},1032,["name"])):r.key==="length"?(d(),p(v,{key:2,name:["data",h,"length"]},{default:s(()=>[l(j,{value:i.length,"onUpdate:value":c=>i.length=c,min:0,max:99999,style:{width:"100%"}},null,8,["value","onUpdate:value"])]),_:2},1032,["name"])):r.key==="scale"?(d(),p(v,{key:3,name:["data",h,"scale"]},{default:s(()=>[l(j,{value:i.scale,"onUpdate:value":c=>i.scale=c,min:0,max:99999,style:{width:"100%"}},null,8,["value","onUpdate:value"])]),_:2},1032,["name"])):r.key==="notnull"?(d(),p(v,{key:4,name:["data",h,"notnull"],rules:[{required:!0,message:"请选择是否不能为空"}]},{default:s(()=>[l(H,{value:i.notnull,"onUpdate:value":c=>i.notnull=c,"button-style":"solid"},{default:s(()=>[l(w,{value:!0},{default:s(()=>[U("是")]),_:1}),l(w,{value:!1},{default:s(()=>[U("否")]),_:1})]),_:2},1032,["value","onUpdate:value"])]),_:2},1032,["name"])):r.key==="comment"?(d(),p(v,{key:5,name:["data",h,"comment"]},{default:s(()=>[l(C,{value:i.comment,"onUpdate:value":c=>i.comment=c,placeholder:"请输入说明"},null,8,["value","onUpdate:value"])]),_:2},1032,["name"])):r.key==="action"?(d(),p(Q,{key:6,hasPermission:"system/DataSource:delete",type:"link",tooltip:{title:"删除"},danger:!0,popConfirm:{title:"确认删除",onConfirm:()=>J(i,h)},disabled:i.status},{default:s(()=>[l(a,{type:"DeleteOutlined"})]),_:2},1032,["popConfirm","disabled"])):D("",!0)]),_:1},8,["dataSource"])]),_:1},8,["model"]),l(y,{class:"add-row",onClick:E},{default:s(()=>[l(a,{type:"PlusOutlined"}),U(" 新增行 ")]),_:1})])]),u(f).visible?(d(),p(Y,{key:0,visible:!0,title:"新增",onOk:z,onCancel:W},{default:s(()=>[l(N,{model:u(f).form,ref_key:"addFormRef",ref:x,layout:"vertical"},{default:s(()=>[l(v,{label:"名称",name:"name",required:!0,rules:[{required:!0,message:"请输入名称"},{max:64,message:"最多可输入64个字符",trigger:"change"},{trigger:"change",validator:G},{pattern:/^\w+$/,message:"名称只能由数字、字母、下划线、中划线组成",trigger:"change"}]},{default:s(()=>[l(C,{value:u(f).form.name,"onUpdate:value":t[2]||(t[2]=r=>u(f).form.name=r),placeholder:"请输入名称"},null,8,["value"])]),_:1},8,["rules"])]),_:1},8,["model"])]),_:1})):D("",!0)]),_:1})}}});const vt=Ke(Ne,[["__scopeId","data-v-e82e6185"]]);export{vt as default};