数通智联化工云平台
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

1 lines
5.5 KiB

import{d as v,C as k,r as o,I as D,h as i,o as T,c as _,m as r,w as E,S as c,B}from"./index-3679850f.js";const z=v({__name:"index",setup(x){const u=k(),n=o(),s=o(),e=D({visible:!1,title:"",type:1,id:""}),m=o({columns:[{label:"勾选",type:"selection"},{prop:"id",label:"编号"},{prop:"name",label:"名称",width:150},{prop:"tableName",label:"数据表名",width:150},{prop:"category",label:"分类",config:{tagList:{0:"success"},dictKey:"source"}},{prop:"status",label:"状态",config:{tagList:{0:"info",1:"success"},dictKey:"status"}},{prop:"creatName",label:"创建人"},{prop:"updateDate",label:"修改时间",config:{formatter:"{y}-{m}-{d} {h}:{i}:{s}"},width:170},{label:"操作",prop:"__control",width:"160px"}],controlBtn:[{label:"新增",type:"primary",size:"small",click:()=>{e.visible=!0,e.title="创建数据源",e.type=1,e.id=""}},{label:"删除",key:"del",size:"small"}],operateBtn:[{label:"编辑",click:l=>{e.visible=!0,e.title="修改数据源",e.type=2,e.id=l.id,B(()=>{s.value.getData({id:l.id})})}},{label:"删除",key:"del"},{label:"创建表单",click:l=>{u.push({path:"/design/form",query:{source:l.id}})}}],config:{expand:!0}}),p=o({list:[{type:"input",control:{modelValue:"",placeholder:"请输入名称"},config:{},name:"name",item:{label:"名称"}},{type:"input",control:{modelValue:"",placeholder:"请输入数据库表名"},config:{},name:"tableName",item:{label:"数据表名"}},{type:"button",control:{label:"查询",type:"primary",key:"submit"},config:{},name:""},{type:"button",config:{},name:"",control:{label:"清空",key:"reset"}}],form:{size:"small"}}),d=o({list:[{type:"input",control:{modelValue:"",placeholder:"请输入数据源名称"},config:{},name:"name",item:{label:"名称"},customRules:[{type:"required",message:"请输入数据源名称",trigger:"blur"}]},{type:"input",control:{modelValue:"",placeholder:"请输入数据表名"},config:{editDisabled:!0},name:"tableName",item:{label:"数据表名"},customRules:[{type:"required",message:"请输入创建生成的数据表名",trigger:"blur"}]},{type:"select",control:{modelValue:"",appendToBody:!0},options:[],config:{optionsType:2,optionsFun:"source"},name:"category",item:{label:"分类"}},{type:"input",control:{modelValue:"",placeholder:"数据库表注释"},config:{editDisabled:!0},name:"remark",item:{label:"表注释"}},{type:"switch",control:{modelValue:1,activeValue:1,inactiveValue:0},config:{},name:"status",item:{label:"状态"}},{type:"title",control:{modelValue:"数据库表字段"},config:{span:24},name:"title"},{type:"table",list:[{type:"input",control:{modelValue:"",size:"small",placeholder:"中文标题名称"},config:{},name:"label",item:{label:"标题"}},{type:"input",control:{modelValue:"",size:"small"},config:{},name:"name",item:{label:"表名字"},customRules:[{type:"required",message:"名字不能为空",trigger:"blur"},{type:"numberLetter",message:"只能为字母数字",trigger:"blur"}]},{type:"select",control:{modelValue:"",appendToBody:!0,size:"small"},options:[{label:"INT",value:"INT"},{label:"VARCHAR",value:"VARCHAR"},{label:"TEXT",value:"TEXT"},{label:"DATETIME",value:"DATETIME"},{label:"FLOAT",value:"FLOAT"},{label:"BOOLEAN",value:"BOOLEAN"}],config:{optionsType:0},name:"type",item:{label:"类型"},customRules:[{type:"required",message:"类型不能为空",trigger:"change"}]},{type:"input",control:{modelValue:"",size:"small"},config:{},name:"length",item:{label:"长度/值"}},{type:"input",control:{modelValue:"",size:"small"},config:{},name:"default",item:{label:"默认"}},{type:"switch",control:{modelValue:!1,size:"small"},config:{},name:"empty",item:{label:"空"}},{type:"input",control:{modelValue:"",size:"small"},config:{},name:"remark",item:{label:"注释"}},{type:"switch",control:{modelValue:!0,size:"small"},config:{},name:"enterable",item:{label:"可录入"}}],tableData:[],control:{border:!0},config:{editDisabled:!0,addBtnText:"添加一行",delBtnText:"删除",span:24},name:"tableData"},{type:"txt",control:{modelValue:"提示:默认会添加id自增主键;可录入表示要在表单里作入录入字段,如更新时间这类字段一般为不可录入,其他字段对应数据库字段"},config:{span:24}},{type:"div",control:{},config:{span:24,textAlign:"center"},list:[{type:"button",control:{label:"保存",type:"primary",key:"submit"},config:{span:0}},{type:"button",control:{label:"取消",key:"reset"},config:{span:0}}]}],form:{labelWidth:"80px",class:"form-row-2",size:"default",name:"source"},config:{addUrl:"sourceCreat",editUrl:"sourceEdit",requestUrl:"sourceById"}}),b=l=>{if(e.type===1){if(!l.tableData.length)return c.error("数据库表字段内容不能为空"),!1;let t=[];if(l.tableData.forEach(a=>{["INT","VARCHAR"].includes(a.type)&&!a.length&&t.push(`名字列${a.name}的长度值不能为空`)}),t.length)return c.error(t.join(",")),!1}return e.type===2&&(l.id=e.id),l},f=l=>{l==="success"&&(e.visible=!1,n.value.getListData())},y=l=>{l==="reset"&&(e.visible=!1)};return(l,t)=>{const a=i("ak-list"),g=i("ak-form"),h=i("el-dialog");return T(),_("div",null,[r(a,{ref_key:"tableListEl",ref:n,requestUrl:"sourceList",deleteUrl:"sourceDelete",searchData:p.value,tableData:m.value},null,8,["searchData","tableData"]),r(h,{modelValue:e.visible,"onUpdate:modelValue":t[0]||(t[0]=V=>e.visible=V),title:e.title,width:"800px","destroy-on-close":""},{default:E(()=>[r(g,{ref_key:"formEl",ref:s,formData:d.value,type:e.type,addUrl:"sourceCreat",editUrl:"sourceEdit",requestUrl:"sourceById",beforeSubmit:b,afterSubmit:f,onBtnClick:y},null,8,["formData","type"])]),_:1},8,["modelValue","title"])])}}});export{z as default};