Files

2 lines
16 KiB
JavaScript
Raw Permalink 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{_ as ye}from"./index-CfxG9SJh.js";import{Q as ge,I as ke,D as Ue,m as we,l as Ee,B as qe,C as xe,J as Ce,K as De,F as Re,G as Ae,H as $e,O as Ie,P as Te,a1 as Be,i as Pe}from"./element-plus-BluzIk5z.js";import{d as j,b as Y,c as v,o as p,T as x,ab as D,S as Z,u as n,r as E,a0 as h,s as ee,U as l,L as t,i as C,a as u,K as q,P as Q,R as f,n as Ne,x as le,w as Se}from"./@vue-DjVelRet.js";import{b as Oe,f as ae,d as Fe}from"./index-CLy3qTQ5.js";import{l as te}from"./lodash-wrSAtCJj.js";import{m as Le}from"./menu-BkrScQvA.js";import{d as Ke}from"./dict-j01q9VrE.js";import{t as Qe,g as je}from"./code-B2CjHOB1.js";import{u as ze}from"./useDictOptions-BbQPJ_ne.js";import{_ as Ge}from"./relations-add.vue_vue_type_script_setup_true_lang-DhCFsxpd.js";import{u as He,a as Je}from"./vue-router-DifUqGFW.js";import"./@element-plus-RuzzlbSF.js";import"./lodash-es-VsDguZh5.js";import"./dayjs-Mv9jwnDt.js";import"./@popperjs-D_chPuIy.js";import"./async-validator-9PlIezaS.js";import"./@ctrl-r5W6hzzQ.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./nprogress-DYbUr3Ql.js";import"./pinia-D1_qSsvX.js";import"./axios-DIsA03vz.js";import"./@vueuse-DbKvT5Ch.js";import"./css-color-function-DsMtFL6v.js";import"./balanced-match-BdS7OldZ.js";import"./color-DYO1E7y4.js";import"./clone-Ddk2tjDh.js";import"./color-convert-DsNsD289.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DXsJvHIW.js";import"./clipboard-DPX9bJ1T.js";import"./echarts-CXZcVnUo.js";import"./tslib-BDyQ-Jie.js";import"./zrender-DO4NV0px.js";import"./highlight.js--xG_hASo.js";import"./@highlightjs-DcY7_PRf.js";import"./index-D-UvWoOR.js";const We=j({__name:"index",props:{options:{default:()=>[]},value:{},config:{default:()=>({label:"name",value:"value"})}},setup(z){const c=z,S=Y(()=>c.value!==null&&typeof c.value<"u"?Array.isArray(c.value)?c.value:String(c.value).split(","):[]),R=Y(()=>c.options.filter(g=>S.value.includes(g[c.config.value])));return(g,O)=>(p(),v("div",null,[(p(!0),v(x,null,D(n(R),(o,k)=>(p(),v("span",{key:k},Z(k!=0?"、":"")+Z(o[g.config.label]),1))),128))]))}}),Me={class:"code-edit"},Xe={class:"w-80"},Ye={class:"w-80"},Ze={class:"w-80"},he={class:"w-80"},el={class:"header-checkbox"},ll={class:"header-checkbox"},al={class:"header-checkbox"},tl={class:"header-checkbox"},ol={class:"header-checkbox"},nl={class:"w-80"},ul={class:"w-80"},dl={class:"w-80"},sl={class:"w-80"},ml={class:"mt-4"},rl=j({name:"tableEdit"}),il=j({...rl,setup(z){const c=He(),S=Je(),R=E("column"),g=E(!1),O=[{name:"一对一",value:"has_one"},{name:"一对多",value:"has_many"}],o=h({id:"",table_name:"",table_comment:"",author:"",remark:"",template_type:0,generate_type:0,module_name:"",class_dir:"",class_comment:"",table_column:[],menu:{pid:0,name:"",type:0},tree:{tree_id:0,tree_pid:0,tree_name:0},delete:{name:"",type:0},relations:[]}),k=E(!1),A=E(!1),$=E(!1),I=E(!1),T=E(!1),oe=()=>{o.table_column.forEach(d=>{d.is_required=k.value?1:0})},ne=()=>{o.table_column.forEach(d=>{d.is_insert=A.value?1:0})},ue=()=>{o.table_column.forEach(d=>{d.is_update=$.value?1:0})},de=()=>{o.table_column.forEach(d=>{d.is_lists=I.value?1:0})},se=()=>{o.table_column.forEach(d=>{d.is_query=T.value?1:0})};let F=0;const G=ee(),L=ee(),H=h({table_name:[{required:!0,message:"请输入表名称"}],table_comment:[{required:!0,message:"请输入表描述"}],module_name:[{required:!0,message:"请输入模块名"}],generate_type:[{required:!0,trigger:"change"}],template_type:[{required:!0,trigger:"change"}],"menu.pid":[{required:!0,message:"请选择父级菜单"}],"menu.name":[{required:!0,message:"请输入菜单名称"}],"delete.type":[{required:!0,trigger:"change"}],"delete.name":[{required:!0,message:"请选择删除字段"}]}),J=async(d,e,U)=>{var V,_;g.value=!0,await Ne(),e&&U!==void 0&&((V=L.value)==null||V.setFormData(e),F=U),(_=L.value)==null||_.open(d)},me=d=>{const e=te.cloneDeep(le(d));o.relations.push(e)},re=async d=>{const e=te.cloneDeep(le(d));console.log(F),o.relations.splice(F,1,e)},ie=d=>{o.relations.splice(d,1)},pe=async()=>{const d=await Qe({id:c.query.id});Object.keys(o).forEach(e=>{o[e]=d[e]}),Se(()=>o.generate_type,e=>{e==1&&ae.confirm("生成到模块方式如遇同名文件会覆盖旧文件,确定要选择此方式吗?").catch(()=>{o.generate_type=0})})},{optionsData:W}=ze({dict_type:{api:Ke},menu:{api:Le,transformData(d){const e={id:0,name:"顶级",children:[]};return e.children=d,[e]}}}),_e=async()=>{var d,e;try{await((d=G.value)==null?void 0:d.validate()),await je(o),S.back()}catch(U){for(const V in U)Object.keys(H).includes(V)&&ae.msgError((e=U[V][0])==null?void 0:e.message)}};return pe(),(d,e)=>{const U=ge,V=ke,_=xe,r=qe,B=Ee,i=De,b=Re,m=$e,w=Ae,M=Ce,y=Te,P=Ie,fe=Be,be=Oe,N=Pe,X=We,ve=we,ce=Ue,Ve=ye;return p(),v("div",Me,[l(V,{class:"!border-none",shadow:"never"},{default:t(()=>[l(U,{content:"编辑数据表",onBack:e[0]||(e[0]=a=>d.$router.back())})]),_:1}),l(V,{class:"mt-4 !border-none",shadow:"never"},{default:t(()=>[l(ce,{ref_key:"formRef",ref:G,class:"ls-form",model:n(o),"label-width":"100px",rules:n(H)},{default:t(()=>[l(ve,{modelValue:n(R),"onUpdate:modelValue":e[25]||(e[25]=a=>C(R)?R.value=a:null)},{default:t(()=>[l(B,{label:"基础信息",name:"base"},{default:t(()=>[l(r,{label:"表名称",prop:"table_name"},{default:t(()=>[u("div",Xe,[l(_,{modelValue:n(o).table_name,"onUpdate:modelValue":e[1]||(e[1]=a=>n(o).table_name=a),placeholder:"请输入表名称",clearable:""},null,8,["modelValue"])])]),_:1}),l(r,{label:"表描述",prop:"table_comment"},{default:t(()=>[u("div",Ye,[l(_,{modelValue:n(o).table_comment,"onUpdate:modelValue":e[2]||(e[2]=a=>n(o).table_comment=a),placeholder:"请输入表描述",clearable:""},null,8,["modelValue"])])]),_:1}),l(r,{label:"作者"},{default:t(()=>[u("div",Ze,[l(_,{modelValue:n(o).author,"onUpdate:modelValue":e[3]||(e[3]=a=>n(o).author=a),clearable:""},null,8,["modelValue"])])]),_:1}),l(r,{label:"备注"},{default:t(()=>[u("div",he,[l(_,{modelValue:n(o).remark,"onUpdate:modelValue":e[4]||(e[4]=a=>n(o).remark=a),class:"w-full",type:"textarea",autosize:{minRows:4,maxRows:4},maxlength:"200","show-word-limit":"",clearable:""},null,8,["modelValue"])])]),_:1})]),_:1}),l(B,{label:"字段管理",name:"column"},{default:t(()=>[l(M,{data:n(o).table_column},{default:t(()=>[l(i,{label:"字段列名",prop:"column_name"}),l(i,{label:"字段描述",prop:"column_comment","min-width":"120"},{default:t(({row:a})=>[l(_,{modelValue:a.column_comment,"onUpdate:modelValue":s=>a.column_comment=s,clearable:""},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),l(i,{label:"物理类型",prop:"column_type"}),l(i,{label:"必填",width:"80"},{header:t(()=>[u("div",el,[l(b,{modelValue:n(k),"onUpdate:modelValue":e[5]||(e[5]=a=>C(k)?k.value=a:null),onChange:oe},null,8,["modelValue"]),e[26]||(e[26]=u("span",null,"必填",-1))])]),default:t(({row:a})=>[l(b,{modelValue:a.is_required,"onUpdate:modelValue":s=>a.is_required=s,"true-value":1,"false-value":0},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),l(i,{label:"插入",width:"80"},{header:t(()=>[u("div",ll,[l(b,{modelValue:n(A),"onUpdate:modelValue":e[6]||(e[6]=a=>C(A)?A.value=a:null),onChange:ne},null,8,["modelValue"]),e[27]||(e[27]=u("span",null,"插入",-1))])]),default:t(({row:a})=>[l(b,{modelValue:a.is_insert,"onUpdate:modelValue":s=>a.is_insert=s,"true-value":1,"false-value":0},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),l(i,{label:"编辑",width:"80"},{header:t(()=>[u("div",al,[l(b,{modelValue:n($),"onUpdate:modelValue":e[7]||(e[7]=a=>C($)?$.value=a:null),onChange:ue},null,8,["modelValue"]),e[28]||(e[28]=u("span",null,"编辑",-1))])]),default:t(({row:a})=>[l(b,{modelValue:a.is_update,"onUpdate:modelValue":s=>a.is_update=s,"true-value":1,"false-value":0},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),l(i,{label:"列表",width:"80"},{header:t(()=>[u("div",tl,[l(b,{modelValue:n(I),"onUpdate:modelValue":e[8]||(e[8]=a=>C(I)?I.value=a:null),onChange:de},null,8,["modelValue"]),e[29]||(e[29]=u("span",null,"列表",-1))])]),default:t(({row:a})=>[l(b,{modelValue:a.is_lists,"onUpdate:modelValue":s=>a.is_lists=s,"true-value":1,"false-value":0},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),l(i,{label:"查询",width:"80"},{header:t(()=>[u("div",ol,[l(b,{modelValue:n(T),"onUpdate:modelValue":e[9]||(e[9]=a=>C(T)?T.value=a:null),onChange:se},null,8,["modelValue"]),e[30]||(e[30]=u("span",null,"查询",-1))])]),default:t(({row:a})=>[l(b,{modelValue:a.is_query,"onUpdate:modelValue":s=>a.is_query=s,"true-value":1,"false-value":0},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),l(i,{label:"查询方式"},{default:t(({row:a})=>[l(w,{modelValue:a.query_type,"onUpdate:modelValue":s=>a.query_type=s},{default:t(()=>[l(m,{label:"=",value:"="}),l(m,{label:"!=",value:"!="}),l(m,{label:">",value:">"}),l(m,{label:">=",value:">="}),l(m,{label:"<",value:"<"}),l(m,{label:"<=",value:"<="}),l(m,{label:"LIKE",value:"like"}),l(m,{label:"BETWEEN",value:"between"})]),_:2},1032,["modelValue","onUpdate:modelValue"])]),_:1}),l(i,{label:"显示类型","min-width":"120"},{default:t(({row:a})=>[l(w,{modelValue:a.view_type,"onUpdate:modelValue":s=>a.view_type=s},{default:t(()=>[l(m,{label:"文本框",value:"input"}),l(m,{label:"文本域",value:"textarea"}),l(m,{label:"下拉框",value:"select"}),l(m,{label:"单选框",value:"radio"}),l(m,{label:"复选框",value:"checkbox"}),l(m,{label:"日期控件",value:"datetime"}),l(m,{label:"图片选择控件",value:"imageSelect"}),l(m,{label:"富文本控件",value:"editor"})]),_:2},1032,["modelValue","onUpdate:modelValue"])]),_:1}),l(i,{label:"字典类型","min-width":"120"},{default:t(({row:a})=>[l(w,{modelValue:a.dict_type,"onUpdate:modelValue":s=>a.dict_type=s,clearable:"",disabled:!(a.view_type=="select"||a.view_type=="radio"||a.view_type=="checkbox"),placeholder:"字典类型"},{default:t(()=>[(p(!0),v(x,null,D(n(W).dict_type,(s,K)=>(p(),q(m,{key:K,label:s.name,value:s.type,disabled:!s.status},null,8,["label","value","disabled"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue","disabled"])]),_:1})]),_:1},8,["data"])]),_:1}),l(B,{label:"生成配置",name:"config"},{default:t(()=>[l(r,{label:"模板类型",prop:"template_type"},{default:t(()=>[l(P,{modelValue:n(o).template_type,"onUpdate:modelValue":e[10]||(e[10]=a=>n(o).template_type=a)},{default:t(()=>[l(y,{value:0},{default:t(()=>e[31]||(e[31]=[f("单表(curd")])),_:1}),l(y,{value:1},{default:t(()=>e[32]||(e[32]=[f("树表(curd")])),_:1})]),_:1},8,["modelValue"])]),_:1}),l(r,{label:"删除类型",prop:"delete.type"},{default:t(()=>[l(P,{modelValue:n(o).delete.type,"onUpdate:modelValue":e[11]||(e[11]=a=>n(o).delete.type=a)},{default:t(()=>[l(y,{value:0},{default:t(()=>e[33]||(e[33]=[f("物理删除")])),_:1}),l(y,{value:1},{default:t(()=>e[34]||(e[34]=[f("软删除")])),_:1})]),_:1},8,["modelValue"])]),_:1}),n(o).delete.type==1?(p(),q(r,{key:0,label:"删除字段",prop:"delete.name"},{default:t(()=>[l(w,{class:"w-80",modelValue:n(o).delete.name,"onUpdate:modelValue":e[12]||(e[12]=a=>n(o).delete.name=a),clearable:""},{default:t(()=>[(p(!0),v(x,null,D(n(o).table_column,a=>(p(),q(m,{key:a.id,value:a.column_name,label:`${a.column_name}${a.column_comment}`},null,8,["value","label"]))),128))]),_:1},8,["modelValue"])]),_:1})):Q("",!0),n(o).template_type==1?(p(),v(x,{key:1},[l(r,{label:"树表ID",prop:"treePrimary"},{default:t(()=>[u("div",null,[l(w,{class:"w-80",modelValue:n(o).tree.tree_id,"onUpdate:modelValue":e[13]||(e[13]=a=>n(o).tree.tree_id=a),clearable:""},{default:t(()=>[(p(!0),v(x,null,D(n(o).table_column,a=>(p(),q(m,{key:a.id,value:a.column_name,label:`${a.column_name}${a.column_comment}`},null,8,["value","label"]))),128))]),_:1},8,["modelValue"]),e[35]||(e[35]=u("div",{class:"form-tips"},"指定树表的主要ID,一般为主键",-1))])]),_:1}),l(r,{label:"树表父ID",prop:"treeParent"},{default:t(()=>[u("div",null,[l(w,{class:"w-80",modelValue:n(o).tree.tree_pid,"onUpdate:modelValue":e[14]||(e[14]=a=>n(o).tree.tree_pid=a),clearable:""},{default:t(()=>[(p(!0),v(x,null,D(n(o).table_column,a=>(p(),q(m,{key:a.id,value:a.column_name,label:`${a.column_name}${a.column_comment}`},null,8,["value","label"]))),128))]),_:1},8,["modelValue"]),e[36]||(e[36]=u("div",{class:"form-tips"},"指定树表的父ID,比如:parent_id",-1))])]),_:1}),l(r,{label:"树名称",prop:"treeName"},{default:t(()=>[l(w,{class:"w-80",modelValue:n(o).tree.tree_name,"onUpdate:modelValue":e[15]||(e[15]=a=>n(o).tree.tree_name=a),clearable:""},{default:t(()=>[(p(!0),v(x,null,D(n(o).table_column,a=>(p(),q(m,{key:a.id,value:a.column_name,label:`${a.column_name}${a.column_comment}`},null,8,["value","label"]))),128))]),_:1},8,["modelValue"])]),_:1})],64)):Q("",!0),l(r,{label:"类描述"},{default:t(()=>[u("div",nl,[u("div",null,[l(_,{modelValue:n(o).class_comment,"onUpdate:modelValue":e[16]||(e[16]=a=>n(o).class_comment=a),placeholder:"请输入文件描述",clearable:""},null,8,["modelValue"])]),e[37]||(e[37]=u("div",{class:"form-tips"},[u("div",null," 例:填写test,生成文件描述为test控制器(test逻辑/test模型) ")],-1))])]),_:1}),l(r,{label:"生成方式",prop:"generate_type"},{default:t(()=>[l(P,{modelValue:n(o).generate_type,"onUpdate:modelValue":e[17]||(e[17]=a=>n(o).generate_type=a)},{default:t(()=>[l(y,{value:0},{default:t(()=>e[38]||(e[38]=[f("压缩包下载")])),_:1}),l(y,{value:1},{default:t(()=>e[39]||(e[39]=[f("生成到模块")])),_:1})]),_:1},8,["modelValue"])]),_:1}),l(r,{label:"模块名",prop:"module_name"},{default:t(()=>[u("div",ul,[l(_,{modelValue:n(o).module_name,"onUpdate:modelValue":e[18]||(e[18]=a=>n(o).module_name=a),placeholder:"请输入模块名",clearable:""},null,8,["modelValue"]),e[40]||(e[40]=u("div",{class:"form-tips"},"生成文件所在模块",-1))])]),_:1}),l(r,{label:"类目录"},{default:t(()=>[u("div",dl,[u("div",null,[l(_,{modelValue:n(o).class_dir,"onUpdate:modelValue":e[19]||(e[19]=a=>n(o).class_dir=a),placeholder:"请输入文件所在目录",clearable:""},null,8,["modelValue"])]),e[41]||(e[41]=u("div",{class:"form-tips"},[u("div",null," 例:填写test,则在app/模块名/controller/test下生成控制器 ")],-1))])]),_:1}),l(r,{label:"父级菜单",prop:"menu.pid"},{default:t(()=>[l(fe,{class:"w-80",modelValue:n(o).menu.pid,"onUpdate:modelValue":e[20]||(e[20]=a=>n(o).menu.pid=a),data:n(W).menu,clearable:"","node-key":"id",props:{label:"name"},"default-expand-all":"",placeholder:"请选择父级菜单","check-strictly":""},null,8,["modelValue","data"])]),_:1}),l(r,{label:"菜单名称",prop:"menu.name"},{default:t(()=>[u("div",sl,[l(_,{modelValue:n(o).menu.name,"onUpdate:modelValue":e[21]||(e[21]=a=>n(o).menu.name=a),placeholder:"请输入菜单名称",clearable:""},null,8,["modelValue"])])]),_:1}),l(r,{label:"菜单构建",prop:"menu.type",required:""},{default:t(()=>[u("div",null,[l(P,{modelValue:n(o).menu.type,"onUpdate:modelValue":e[22]||(e[22]=a=>n(o).menu.type=a)},{default:t(()=>[l(y,{value:1},{default:t(()=>e[42]||(e[42]=[f("自动构建")])),_:1}),l(y,{value:0},{default:t(()=>e[43]||(e[43]=[f("手动添加")])),_:1})]),_:1},8,["modelValue"]),e[44]||(e[44]=u("div",{class:"form-tips"}," 自动构建:自动执行生成菜单sql。手动添加:自行添加菜单。 ",-1))])]),_:1})]),_:1}),l(B,{label:"关联配置",name:"relations"},{default:t(()=>[l(N,{type:"primary",onClick:e[23]||(e[23]=a=>J("add"))},{icon:t(()=>[l(be,{name:"el-icon-Plus"})]),default:t(()=>[e[45]||(e[45]=f(" 新增关联 "))]),_:1}),u("div",ml,[l(M,{data:n(o).relations,size:"small"},{default:t(()=>[l(i,{prop:"type",label:"关联类型"},{default:t(({row:a})=>[l(X,{value:a.type,options:O},null,8,["value"])]),_:1}),l(i,{prop:"name",label:"关联名称"}),l(i,{prop:"model",label:"关联模型"}),l(i,{prop:"local_key",label:"关联键"},{default:t(({row:a})=>[l(X,{value:a.local_key,options:n(o).table_column,config:{label:"column_comment",value:"column_name"}},null,8,["value","options"])]),_:1}),l(i,{prop:"foreign_key",label:"外键"}),l(i,{label:"操作"},{default:t(({row:a,$index:s})=>[l(N,{link:"",type:"primary",onClick:K=>J("edit",a,s)},{default:t(()=>e[46]||(e[46]=[f(" 编辑 ")])),_:2},1032,["onClick"]),l(N,{link:"",type:"danger",onClick:K=>ie(s)},{default:t(()=>e[47]||(e[47]=[f(" 删除 ")])),_:2},1032,["onClick"])]),_:1})]),_:1},8,["data"]),n(g)?(p(),q(Ge,{key:0,column:n(o).table_column,types:O,ref_key:"editRef",ref:L,onAdd:me,onEdit:re,onClose:e[24]||(e[24]=a=>g.value=!1)},null,8,["column"])):Q("",!0)])]),_:1})]),_:1},8,["modelValue"])]),_:1},8,["model","rules"])]),_:1}),l(Ve,null,{default:t(()=>[l(N,{type:"primary",onClick:_e},{default:t(()=>e[48]||(e[48]=[f("保存")])),_:1})]),_:1})])}}}),Xl=Fe(il,[["__scopeId","data-v-f4669353"]]);export{Xl as default};