GenColumnsStep.kKf1y1rw.js 11 KB

1
  1. import{b as l,t as e,av as a,aq as t,ak as o,a as i,ai as d,aj as u,O as n,k as s,m as r,d as m,F as p,G as c,aA as _,x as b}from"./element-plus.ea_38_Np.js";import{o as f}from"./vue-draggable-plus.D4SSJ6d3.js";import{M as w,aD as v,bE as h,az as V,aZ as y,aL as j,u as g,s as U,t as k,v as x,I as E,bk as C,bJ as S,H as q,bL as z,au as L,F as T,aX as G,bb as I,aU as B,q as D,as as F}from"./@vue.DbmRtknU.js";import{_ as O}from"./index.Dwded2Oo.js";import"./lodash-es.DaM9m3L-.js";import"./async-validator.j0i5Y79Y.js";import"./@popperjs.DxtSUbXb.js";import"./@ctrl.BEgk5vdO.js";import"./dayjs.DCWbrgJ0.js";import"./memoize-one.BAtLgO95.js";import"./normalize-wheel-es.TzhA1irr.js";import"./@floating-ui.8vigAAFV.js";import"./pinia.BlfmsheH.js";import"./@vueuse.Dnsd2JKX.js";import"./vue-i18n.DXLOBfKS.js";import"./@intlify.DPMNdUn_.js";import"./nprogress.BTjJXJ-u.js";import"./codemirror.CYSLATvI.js";import"./diff-match-patch.DkK4wJpa.js";import"./vue-web-terminal.D-rog7dz.js";import"./vue.MGxsMDTR.js";/* empty css */import"./vue-router.yxIMtaxH.js";import"./axios.Da-QW0H8.js";import"./qs.BQjOrGHM.js";import"./side-channel.4q28KFJj.js";import"./es-errors.DTEWvbA_.js";import"./object-inspect.DvQZIv3_.js";import"./side-channel-list.Do0-XmF5.js";import"./side-channel-map.DNHQ53lO.js";import"./get-intrinsic.Bbe5x-9b.js";import"./es-object-atoms.CyiuHMUS.js";import"./math-intrinsics.pM-JTNwN.js";import"./gopd.BudZp56J.js";import"./es-define-property.F0aoeP8o.js";import"./has-symbols.BcO-SUVM.js";import"./get-proto.Cb_fpw-j.js";import"./dunder-proto.WEH3rgQR.js";import"./call-bind-apply-helpers.DJjIjCF_.js";import"./function-bind.DrnB-baK.js";import"./hasown.BXcyoiLU.js";import"./call-bound.22gFUC2Q.js";import"./side-channel-weakmap.DpSeWE6i.js";import"./pinia-plugin-persistedstate.COWkwNh5.js";const K={class:"elTableCustom"},N={class:"mb-2 flex flex-wrap items-center gap-2"},A={class:"data-table__content"},H={style:{float:"left"}},J={style:{float:"right","font-size":"13px",color:"#8492a6"}},W=O(w({name:"GenColumnsStep",__name:"GenColumnsStep",props:{info:{},dictOptions:{},loading:{type:Boolean},bulkSet:{type:Function}},setup(w){const O=w,W=B(""),M=B(null),Q=B(null);let R=null;const X=D({get:()=>O.info.columns||[],set:l=>{O.info.columns=l}}),Z=D(()=>{const l=O.info.columns||[],e=W.value.trim().toLowerCase();return e?l.filter(l=>{const a=String(l.column_name??"").toLowerCase(),t=String(l.column_comment??"").toLowerCase();return a.includes(e)||t.includes(e)}):l});async function $(){var l,e,a,t;if(W.value.trim())return null==(l=null==R?void 0:R.destroy)||l.call(R),R=null,void(Q.value=null);await F();const o=null==(e=M.value)?void 0:e.$el,i=null==(a=null==o?void 0:o.querySelector)?void 0:a.call(o,".el-table__body-wrapper tbody");i&&(Q.value=i,null==(t=null==R?void 0:R.destroy)||t.call(R),R=f(Q,X,{animation:150,draggable:"tr",handle:".gencode-drag-handle:not(.disabled)",onEnd(){(X.value||[]).forEach((l,e)=>{l.sort=e+1})}}))}return v(()=>{$()}),h(()=>[W.value,(O.info.columns||[]).length],async()=>{await $()}),V(()=>{var l;null==(l=null==R?void 0:R.destroy)||l.call(R),R=null}),(f,v)=>{var h;const V=l,B=e,D=i,F=u,O=d,Q=o,R=t,X=b,$=y("Rank"),P=m,Y=r,ll=c,el=p,al=_,tl=s,ol=n;return j(),g("div",K,[w.info.sub&&!w.info.master_sub_hint&&w.info.sub_table_name?(j(),U(V,{key:0,class:"mb-3",type:"success",closable:!1,"show-icon":"",title:"当前已启用主子表:以下为「主表」字段配置;子表字段来自数据库结构,保存后可在预览中查看子表生成代码。"})):w.info.master_sub_hint?(j(),U(V,{key:1,class:"mb-3",type:"warning",closable:!1,"show-icon":"",title:w.info.master_sub_hint},null,8,["title"])):k("",!0),v[22]||(v[22]=x("p",{class:"gencode-columns-tip"}," 菜单与路由、接口路径的对应见「基础配置」第一步中的折叠「对照」表。 ",-1)),W.value.trim()&&0===Z.value.length&&((null==(h=w.info.columns)?void 0:h.length)??0)>0?(j(),U(V,{key:2,class:"mb-2",type:"warning",closable:!1,"show-icon":"",title:"无匹配列,请调整筛选词或清空筛选框"})):k("",!0),x("div",N,[E(B,{modelValue:W.value,"onUpdate:modelValue":v[0]||(v[0]=l=>W.value=l),clearable:"",placeholder:"筛选列名或注释",class:"gencode-column-filter","prefix-icon":C(a)},null,8,["modelValue","prefix-icon"]),v[21]||(v[21]=x("span",{class:"gencode-bulk-hint"},"批量设置:",-1)),E(R,{size:"small"},{default:S(()=>[E(Q,null,{dropdown:S(()=>[E(O,null,{default:S(()=>[E(F,{onClick:v[1]||(v[1]=l=>w.bulkSet("is_query",!0))},{default:S(()=>[...v[10]||(v[10]=[q("全选",-1)])]),_:1}),E(F,{onClick:v[2]||(v[2]=l=>w.bulkSet("is_query",!1))},{default:S(()=>[...v[11]||(v[11]=[q("全不选",-1)])]),_:1})]),_:1})]),default:S(()=>[E(D,{size:"small",type:"primary",plain:""},{default:S(()=>[...v[9]||(v[9]=[q("查询",-1)])]),_:1})]),_:1}),E(Q,null,{dropdown:S(()=>[E(O,null,{default:S(()=>[E(F,{onClick:v[3]||(v[3]=l=>w.bulkSet("is_list",!0))},{default:S(()=>[...v[13]||(v[13]=[q("全选",-1)])]),_:1}),E(F,{onClick:v[4]||(v[4]=l=>w.bulkSet("is_list",!1))},{default:S(()=>[...v[14]||(v[14]=[q("全不选",-1)])]),_:1})]),_:1})]),default:S(()=>[E(D,{size:"small",type:"success",plain:""},{default:S(()=>[...v[12]||(v[12]=[q("列表",-1)])]),_:1})]),_:1}),E(Q,null,{dropdown:S(()=>[E(O,null,{default:S(()=>[E(F,{onClick:v[5]||(v[5]=l=>w.bulkSet("is_insert",!0))},{default:S(()=>[...v[16]||(v[16]=[q("全选",-1)])]),_:1}),E(F,{onClick:v[6]||(v[6]=l=>w.bulkSet("is_insert",!1))},{default:S(()=>[...v[17]||(v[17]=[q("全不选",-1)])]),_:1})]),_:1})]),default:S(()=>[E(D,{size:"small",type:"warning",plain:""},{default:S(()=>[...v[15]||(v[15]=[q("新增",-1)])]),_:1})]),_:1}),E(Q,null,{dropdown:S(()=>[E(O,null,{default:S(()=>[E(F,{onClick:v[7]||(v[7]=l=>w.bulkSet("is_edit",!0))},{default:S(()=>[...v[19]||(v[19]=[q("全选",-1)])]),_:1}),E(F,{onClick:v[8]||(v[8]=l=>w.bulkSet("is_edit",!1))},{default:S(()=>[...v[20]||(v[20]=[q("全不选",-1)])]),_:1})]),_:1})]),default:S(()=>[E(D,{size:"small",type:"danger",plain:""},{default:S(()=>[...v[18]||(v[18]=[q("编辑",-1)])]),_:1})]),_:1})]),_:1})]),x("div",A,[z((j(),U(tl,{ref_key:"dragTable",ref:M,data:Z.value,"row-key":"id","max-height":"580","highlight-current-row":"",border:"",stripe:""},{empty:S(()=>[E(X,{"image-size":80,description:"暂无数据"})]),default:S(()=>[E(Y,{label:"拖拽",width:"56",fixed:"",align:"center"},{default:S(()=>[x("span",{class:L(["gencode-drag-handle",{disabled:!!W.value.trim()}]),title:"拖拽排序(筛选时禁用)"},[E(P,null,{default:S(()=>[E($)]),_:1})],2)]),_:1}),E(Y,{label:"序号",type:"index",width:"60",fixed:""}),E(Y,{label:"列名",prop:"column_name","min-width":"60","show-overflow-tooltip":!0}),E(Y,{label:"类型",prop:"column_type","min-width":"60","show-overflow-tooltip":!0}),E(Y,{label:"长度",prop:"column_length",width:"80","show-overflow-tooltip":!0},{default:S(l=>[E(B,{modelValue:l.row.column_length,"onUpdate:modelValue":e=>l.row.column_length=e,disabled:!!l.row.is_pk},null,8,["modelValue","onUpdate:modelValue","disabled"])]),_:1}),E(Y,{label:"注释","min-width":"60"},{default:S(l=>[E(B,{modelValue:l.row.column_comment,"onUpdate:modelValue":e=>l.row.column_comment=e},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),E(Y,{label:"后端类型","min-width":"60"},{default:S(l=>[E(el,{modelValue:l.row.python_type,"onUpdate:modelValue":e=>l.row.python_type=e},{default:S(()=>[E(ll,{label:"str",value:"str"}),E(ll,{label:"int",value:"int"}),E(ll,{label:"float",value:"float"}),E(ll,{label:"Decimal",value:"Decimal"}),E(ll,{label:"date",value:"date"}),E(ll,{label:"time",value:"time"}),E(ll,{label:"datetime",value:"datetime"}),E(ll,{label:"bytes",value:"bytes"}),E(ll,{label:"dict",value:"dict"}),E(ll,{label:"list",value:"list"})]),_:1},8,["modelValue","onUpdate:modelValue"])]),_:1}),E(Y,{label:"后端属性","min-width":"60"},{default:S(l=>[E(B,{modelValue:l.row.python_field,"onUpdate:modelValue":e=>l.row.python_field=e},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),E(Y,{label:"新增",width:"60"},{default:S(l=>[E(al,{modelValue:l.row.is_insert,"onUpdate:modelValue":e=>l.row.is_insert=e},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),E(Y,{label:"编辑",width:"60"},{default:S(l=>[E(al,{modelValue:l.row.is_edit,"onUpdate:modelValue":e=>l.row.is_edit=e},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),E(Y,{label:"列表",width:"60"},{default:S(l=>[E(al,{modelValue:l.row.is_list,"onUpdate:modelValue":e=>l.row.is_list=e},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),E(Y,{label:"查询",width:"60"},{default:S(l=>[E(al,{modelValue:l.row.is_query,"onUpdate:modelValue":e=>l.row.is_query=e},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),E(Y,{label:"查询方式","min-width":"60"},{default:S(l=>[E(el,{modelValue:l.row.query_type,"onUpdate:modelValue":e=>l.row.query_type=e},{default:S(()=>[E(ll,{label:"=",value:"EQ"}),E(ll,{label:"!=",value:"NE"}),E(ll,{label:">",value:"GT"}),E(ll,{label:">=",value:"GTE"}),E(ll,{label:"<",value:"LT"}),E(ll,{label:"<=",value:"LTE"}),E(ll,{label:"LIKE",value:"LIKE"}),E(ll,{label:"BETWEEN",value:"BETWEEN"})]),_:1},8,["modelValue","onUpdate:modelValue"])]),_:1}),E(Y,{label:"默认值",prop:"column_default","min-width":"60","show-overflow-tooltip":!0},{default:S(l=>[E(B,{modelValue:l.row.column_default,"onUpdate:modelValue":e=>l.row.column_default=e,disabled:!!l.row.is_pk},null,8,["modelValue","onUpdate:modelValue","disabled"])]),_:1}),E(Y,{label:"自增",width:"60"},{default:S(l=>[E(al,{modelValue:l.row.is_increment,"onUpdate:modelValue":e=>l.row.is_increment=e},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),E(Y,{label:"可空",width:"60"},{default:S(l=>[E(al,{modelValue:l.row.is_nullable,"onUpdate:modelValue":e=>l.row.is_nullable=e},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),E(Y,{label:"唯一",width:"60"},{default:S(l=>[E(al,{modelValue:l.row.is_unique,"onUpdate:modelValue":e=>l.row.is_unique=e},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),E(Y,{label:"主键",width:"60"},{default:S(l=>[E(al,{modelValue:l.row.is_pk,"onUpdate:modelValue":e=>l.row.is_pk=e},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),E(Y,{label:"表单类型"},{default:S(l=>[E(el,{modelValue:l.row.html_type,"onUpdate:modelValue":e=>l.row.html_type=e},{default:S(()=>[E(ll,{label:"文本框",value:"input"}),E(ll,{label:"文本域",value:"textarea"}),E(ll,{label:"下拉框",value:"select"}),E(ll,{label:"单选框",value:"radio"}),E(ll,{label:"复选框",value:"checkbox"}),E(ll,{label:"日期控件",value:"datetime"}),E(ll,{label:"图片上传",value:"imageUpload"}),E(ll,{label:"文件上传",value:"fileUpload"}),E(ll,{label:"富文本控件",value:"editor"})]),_:1},8,["modelValue","onUpdate:modelValue"])]),_:1}),E(Y,{label:"字典类型",fixed:"right"},{default:S(l=>[E(el,{modelValue:l.row.dict_type,"onUpdate:modelValue":e=>l.row.dict_type=e,clearable:"",filterable:"",placeholder:"请选择"},{default:S(()=>[(j(!0),g(T,null,G(w.dictOptions,l=>(j(),U(ll,{key:l.dict_type,label:l.dict_name,value:l.dict_type||""},{default:S(()=>[x("span",H,I(l.dict_name),1),x("span",J,I(l.dict_type),1)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","onUpdate:modelValue"])]),_:1})]),_:1},8,["data"])),[[ol,w.loading]])])])}}}),[["__scopeId","data-v-65570591"]]);export{W as default};