cc1-form 1.2.6 → 1.2.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- (function(w,h){typeof exports=="object"&&typeof module<"u"?h(exports,require("element-plus"),require("vue-router"),require("vue")):typeof define=="function"&&define.amd?define(["exports","element-plus","vue-router","vue"],h):(w=typeof globalThis<"u"?globalThis:w||self,h(w.cc1Form={},w.ElementPlus,w.VueRouter,w.Vue))})(this,(function(w,h,Se,e){"use strict";class b{static router;static routes;static getRouterPath=()=>this.router.currentRoute.value.path;static EDialog={Add:"Add",Update:"Update",View:"View",Remove:"Remove"};static isFun=(a,...f)=>Array.isArray(a)?a.some(d=>typeof d=="function"?d(...f):d):typeof a=="function"?a(...f):a;static getRouterParams=()=>{const a=this.router.currentRoute.value.query||{},f=this.router.currentRoute.value.params||{};return Object.keys(a).length?a:Object.keys(f).length?f:{}};static moduleObj={};static loadModule=async a=>{if(!b.moduleObj[a])throw new Error(`模块${a}未加载,请赋值如:TSys.moduleObj = { ${a}: ()=>import('${a}') }`);const f=await b.moduleObj[a]();return f.default??f};static tipMessages={};static tipMessagesGap=500;static showMessage(a,f,d={}){const n=Date.now();if(!this.tipMessages[a]||n-this.tipMessages[a]>this.tipMessagesGap){this.tipMessages[a]=n;const t=Object.assign({message:a,type:f},d);h.ElMessage(t),setTimeout(()=>{delete this.tipMessages[a]},this.tipMessagesGap)}}static fail=(a,f={})=>{this.showMessage(a,"error",f)};static success=(a,f={})=>{this.showMessage(a,"success",f)};static loadingObj=null;static loadingTimer=null;static loading=(a=!0,f="Loading...")=>{Timer.un(this.loadingTimer),this.loadingTimer=Timer.once(()=>{a?this.loadingObj=h.ElLoading.service({lock:!0,text:f,background:"rgba(0, 0, 0, 0.3)"}):this.loadingObj&&(this.loadingObj.close(),this.loadingObj=null)},50)};static openUrl=(a,f=!0)=>{if(f){let d=screen.width/2-500,n=screen.height/2-800/2-30;window.open(a,"_blank","toolbar=no, location=yes, directories=no, status=yes, menubar=no, scrollbars=yes, resizable=no, copyhistory=no, width=1000, height=800, top="+n+", left="+d)}else window.open(a,"DescriptiveWindowName"+StrUtil.getId(),"resizable,scrollbars=yes,status=1,width=1024, height=600, top=0, left=0")};static getImgPic=a=>new Promise(async(f,d)=>{let n=document.getElementById(a.id);const t=await b.loadModule("html2canvas");try{t(n,{logging:!1,allowTaint:!0,scale:window.devicePixelRatio,width:a.windowWidth,height:a.windowHeight,windowWidth:a.windowWidth,windowHeight:a.windowHeight,useCORS:!0,backgroundColor:"#ffffff00"}).then(function(o){let r=o.toDataURL("image/png");f(r)})}catch(o){d(o)}})}class u{static config={field:{page:{num:"num",size:"size"},result:{list:"list",pages:"pages",num:"num",size:"size",total:"total"}},dialog:{width:"980px",closeOnClickModal:!1},pagination:{layout:"total, sizes, prev, pager, next, jumper",pageSizes:[10,20,50,100],size:10,pagerCount:7,showTools:!1},size:{table:"default",form:"default",search:"default"},tools:{refresh:!0,expand:!1,search:!0,reset:!0,add:!0,delete:!0,export:{show:!0,dropdown:{show:!0,select:!0,page:!0,all:!0},fileName:"Export Data "}},form:{size:"default",labelWidth:"120px",stripe:!0,editAll:!1,maxSpan:12,defaultSpan:6,openBefore:void 0,openAfter:void 0,closeBefore:void 0,submitBefore:void 0,submitAfter:void 0},table:{labelWidth:"100px",size:"default",emptyText:"",headerCellClassName:"table-header",rowKey:"_id",highlightCurrentRow:!0,border:!0,selectable:!1,column:[],showOverflowTooltip:!0,showSummary:!1,summaryMethod:()=>[],inlineEdit:!1,operate:{width:void 0},add:!1,update:!0,delete:!0,sort:{props:{field:"sortField"},order:{field:"sortOrder",asc:"asc",desc:"desc"},resetPage:!1,change:void 0},fitHeight:!0},columnConfig:{type:"input",form:{width:"100%",spanCol:!1},table:{table:!0,minWidth:120,width:void 0,fixed:void 0,align:"center",showOverflowTooltip:!0,format:void 0,click:{callback:void 0,color:"#409EFF"},tooltip:void 0},show:{table:!0,search:!1,form:!0},sort:{search:0,table:0,form:0},disabled:{view:!0},options:{switch:{activeValue:!0,inactiveValue:!1,tableConfig:{change:!0,confirm:!0,loadList:!0}},treeSelect:{multiple:!0,renderAfterExpand:!1,showCheckbox:!0,checkStrictly:!0,checkOnClickNode:!0,props:{label:"title",children:"children"}},datetime:{type:"datetime"},select:{data:[],clearable:!0,filterable:!0,dataPath:"data.data",dataApiConfig:{once:!0,init:!0,create:!0,update:!0}},radio:{data:[],dataPath:"data.data",dataApiConfig:{once:!0,init:!0,create:!0,update:!0}}}}};static setConfig=a=>{u.config=ObjectUtil.deepMerge(u.config,a)}}class B{static customComponent={};static findOptions=(a,f)=>{const d=a.column.find(t=>t.key===f),n=t=>t.replace(/-([a-z])/g,(o,r)=>r.toUpperCase());if(d)return d.options[n(d.type)]};static setOptionsData=(a,f,d)=>{const n=B.findOptions(a,f);n&&(n.data=d)};static form={openBefore:{parentId:(a,f,d,n)=>{const t=u.config.table.rowKey;a?f.type===b.EDialog.Add?(f.form.parentId=a[t],f.form.sort=a.children.length+1):f.form.parentId=a.parentId.substring(a.parentId.lastIndexOf(",")+1):(f.form.parentId="0",f.form.sort=d.length+1),B.setOptionsData(n,"parentId",[{[t]:"0",title:"根",children:d}])}}}}function De(l){return l}const L={search:"搜索",add:"新增",edit:"编辑",view:"查看",delete:"删除",export:"导出",exportSelect:"导出选中",exportPage:"导出本页",exportAll:"导出全部",import:"导入",refresh:"刷新",reset:"重置",expandCollapse:"展开/收缩",operation:"操作",close:"关闭",cancel:"取消",submit:"提交",confirm:"确认",confirmDelete:"确认删除",confirmDeleteMessage:"确认要删除【{count}】条数据吗?",placeholderInput:"请输入",placeholderSelect:"请选择",checkFormData:"请检查表单数据",selectDataToDelete:"请选择要删除的数据",selectDataToExport:"请选择要导出的数据",noData:"暂无数据",operationSuccess:"操作成功",switchOn:"开启",switchOff:"关闭",confirmModify:"确认修改",confirmSwitchMessage:"确认要修改吗?"};class k{static t(a,...f){if(typeof a=="function")return a(...f);a=String(a);let d=0;return a.replace(/{([^}]+)}/g,(n,t)=>d<f.length?String(f[d++]):`{${t}}`)}static setI18n=a=>{k.curd=ObjectUtil.deepMerge(k.curd,a)};static tCurd(a,...f){return this.t(this.curd[a],...f)}static curd=L}class D{static getIdFun=()=>StrUtil.uuid();static setId=(a,f,d)=>{f[a]||(f[a]=[]);const n=u.config.table.rowKey;f[a].forEach(t=>{d.forEach(o=>{let r=o.default??"";o.type==="number"&&(r=o.default??0),o.type==="boolean"&&(r=o.default??!1),o.type==="time"&&(r=o.default??new Date),t[o.value]===void 0&&(t[o.value]=r)}),t[n]||(t[n]=D.getIdFun())})};static add=(a,f,d,n)=>{const t=JSONUtil.cp(d);D.setId(a,f,d);const o=u.config.table.rowKey;f[a].push(t.reduce((r,c)=>{let g=c.default??"";return c.type==="number"&&(g=c.default??0),c.type==="boolean"&&(g=c.default??!1),c.type==="time"&&(g=c.default??new Date),r[c.value]=g,r},{[o]:D.getIdFun()})),n?.(f)};static remove=(a,f,d,n)=>{const t=u.config.table.rowKey;f[a]=f[a].filter(o=>o[t]!==d[t]),n?.(f)};static getNoIdData=(a,f)=>{const d=JSONUtil.cp(a),n=u.config.table.rowKey;return d.forEach(t=>{t[n]&&delete t[n],f&&t[f]&&D.getNoIdData(t[f],f)}),d}}const A={key:0,class:"column curd-form-com-list",style:{width:"100%",gap:"10px"}},j={key:0},x={class:"row items-center",style:{gap:"10px",width:"100%"}},H={key:1},U=e.defineComponent({__name:"list",props:{row:{default:{}},label:{default:"label"},value:{default:"value"},itemFields:{default:[{label:"label",value:"label"},{label:"value",value:"value"}]},field:{default:"value"},inputWidth:{default:"120px"},inputClass:{default:""},addBottom:{default:!1}},emits:["change"],setup(l,{emit:a}){const f=l,d=e.reactive({show:!1,add:(t,o,r)=>{D.add(t,o,r,()=>{n("change")})},remove:(t,o,r)=>{D.remove(t,o,r,()=>{n("change")})}});e.onMounted(()=>{D.setId(f.field,f.row,f.itemFields),d.show=!0});const n=a;return(t,o)=>{const r=e.resolveComponent("el-button"),c=e.resolveComponent("el-input");return d.show?(e.openBlock(),e.createElementBlock("div",A,[e.renderSlot(t.$slots,"list-start",{row:l.row}),l.addBottom?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",j,[e.createVNode(r,{link:"",type:"primary",onClick:o[0]||(o[0]=g=>d.add(l.field,l.row,l.itemFields))},{default:e.withCtx(()=>o[3]||(o[3]=[e.createTextVNode("添加")])),_:1})])),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.row[l.field],g=>(e.openBlock(),e.createElementBlock("div",x,[e.renderSlot(t.$slots,"item-start",{item:g,row:l.row}),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.itemFields,p=>(e.openBlock(),e.createBlock(c,{modelValue:g[p.value],"onUpdate:modelValue":s=>g[p.value]=s,style:e.normalizeStyle({width:l.inputWidth}),class:e.normalizeClass(l.inputClass),placeholder:p[l.label]||p[l.value],onChange:o[1]||(o[1]=s=>n("change"))},null,8,["modelValue","onUpdate:modelValue","style","class","placeholder"]))),256)),e.renderSlot(t.$slots,"item-end",{item:g,row:l.row}),e.createVNode(r,{link:"",type:"danger",onClick:p=>d.remove(l.field,l.row,g)},{default:e.withCtx(()=>o[4]||(o[4]=[e.createTextVNode("删除")])),_:2},1032,["onClick"])]))),256)),l.addBottom?(e.openBlock(),e.createElementBlock("div",H,[e.createVNode(r,{link:"",type:"primary",onClick:o[2]||(o[2]=g=>d.add(l.field,l.row,l.itemFields))},{default:e.withCtx(()=>o[5]||(o[5]=[e.createTextVNode("添加")])),_:1})])):e.createCommentVNode("",!0),e.renderSlot(t.$slots,"list-end",{row:l.row})])):e.createCommentVNode("",!0)}}}),I={class:"row form-item-content",style:{width:"100%"}},R={class:"col"},K={class:"col"},W=["innerHTML"],F=e.defineComponent({__name:"column",props:{option:{default:{}},type:{default:""}},setup(l,{expose:a}){const f=b.isFun,d=b.EDialog,n=e.ref(),t=l,o=e.reactive({rules:{},show:!0,form:{},formDefault:{},type:t.type||d.Add,formColumn:[],getDisabled:r=>o.type===d.View?r.disabled?.view===void 0?!0:r.disabled?.view:r.disabled?.[o.type===d.Add?"create":"update"],getBind:r=>r.options?.[o.type===d.Add?"formAdd":"formUpdate"]?.[r.type]||r.options?.[r.type]||{},getOn:r=>r.options?.[o.type===d.Add?"formAdd":"formUpdate"]?.[r.type]?.on||r.options?.[r.type]?.on||{},getColumnSpan:(r,c)=>{if(r.item.form?.spanCol){const g=t.option.form?.maxSpan||12,p=t.option.form?.defaultSpan||g/2,i=c.filter(m=>!b.isFun(m.item.show?.form,o.form,o.type)).reduce((m,y)=>m+(y.item.form?.span||p),0);return(r.item.form?.span||p)+i}return r.item.form?.span},initColumnForm:()=>{const r=t.option;o.formColumn=[],o.rules={},o.formDefault={};const c=[],g=t.option.form?.maxSpan||12,p=t.option.form?.defaultSpan||g/2;let s=[];const i=y=>{if(y.children){y.children.forEach(C=>{i(C)});return}if(o.formDefault[y.key]=y.value,y.isForm&&(typeof y.show?.form!="boolean"||y.show?.form)){y.form=y.form||{span:p},y.form.span=y.form.span??p;const C=y.form.span,E=s.reduce((S,z)=>S+z.span,C),V=s.length;if(s.push({item:y,span:C}),(V===1&&s[0].span===0||E>=g||C===0&&V>1)&&(c.push(s),s=[]),y.rules){const S={input:k.tCurd("placeholderInput"),select:k.tCurd("placeholderSelect")},z=(S[y.type]||S.input)+y.label;o.rules[y.key]=typeof y.rules=="boolean"?[{required:!0,message:z,trigger:"blur"}]:y.rules}}},m=(y,C)=>{y.isForm=C,Array.isArray(y.children)&&y.children.forEach(E=>m(E,C))};r.column.forEach(y=>{m(y,!0),i(y)}),s.length>0&&c.push(s),o.formColumn=c,o.form=JSONUtil.cp(o.formDefault)}});return o.initColumnForm(),a({ref:n,conf:o}),(r,c)=>(e.openBlock(),e.createBlock(e.unref(h.ElForm),{ref_key:"ruleFormRef",ref:n,model:o.form,rules:o.rules},{default:e.withCtx(()=>[o.show?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(o.formColumn,(g,p)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:p},[e.unref(f)(g.map(s=>s.item?.show?.form),o.form,o.type)?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["row curd-row",{stripe:l.option.form?.stripe===void 0?!0:l.option.form?.stripe}])},[e.renderSlot(r.$slots,"form-start",{row:o.form}),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g,s=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:s.item.key},[e.unref(f)(s.item.show?.form,o.form,o.type)?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass([s.item.form.span>0?`col-${o.getColumnSpan(s,g)}`:"col",`form-item-col-${s.item.key}`])},[e.createVNode(e.unref(h.ElFormItem),{label:s.item.text?.form?.label??s.item.label,prop:s.item.key,"label-width":s.item.text?.form?.label==""?0:s.item.form?.labelWidth||l.option.form?.labelWidth||"100px"},{default:e.withCtx(()=>[e.createElementVNode("div",I,[e.renderSlot(r.$slots,"form-"+s.item.key+"-start",{row:o.form,item:s.item}),e.createElementVNode("div",R,[e.createElementVNode("div",K,[e.renderSlot(r.$slots,"form-"+s.item.key,{row:o.form,item:s.item},()=>[s.item.type==="input"?(e.openBlock(),e.createBlock(e.unref(h.ElInput),e.mergeProps({key:0,modelValue:o.form[s.item.key],"onUpdate:modelValue":i=>o.form[s.item.key]=i,ref_for:!0},o.getBind(s.item),e.toHandlers(o.getOn(s.item)),{disabled:o.getDisabled(s.item)}),null,16,["modelValue","onUpdate:modelValue","disabled"])):s.item.type==="switch"?(e.openBlock(),e.createBlock(e.unref(h.ElSwitch),e.mergeProps({key:1,modelValue:o.form[s.item.key],"onUpdate:modelValue":i=>o.form[s.item.key]=i,ref_for:!0},o.getBind(s.item),e.toHandlers(o.getOn(s.item)),{disabled:o.getDisabled(s.item)}),null,16,["modelValue","onUpdate:modelValue","disabled"])):s.item.type==="select"?(e.openBlock(),e.createBlock(e.unref(h.ElSelect),e.mergeProps({key:2,modelValue:o.form[s.item.key],"onUpdate:modelValue":i=>o.form[s.item.key]=i,ref_for:!0},o.getBind(s.item),e.toHandlers(o.getOn(s.item)),{disabled:o.getDisabled(s.item),style:{width:"100%"}}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.item.options?.select?.data,i=>(e.openBlock(),e.createBlock(e.unref(h.ElOption),{key:i.value,label:i.label,value:i.value},null,8,["label","value"]))),128))]),_:2},1040,["modelValue","onUpdate:modelValue","disabled"])):s.item.type==="radio"?(e.openBlock(),e.createBlock(e.unref(h.ElRadioGroup),e.mergeProps({key:3,modelValue:o.form[s.item.key],"onUpdate:modelValue":i=>o.form[s.item.key]=i,ref_for:!0},o.getBind(s.item),e.toHandlers(o.getOn(s.item)),{disabled:o.getDisabled(s.item),style:{width:"100%"}}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.item.options?.radio?.data,i=>(e.openBlock(),e.createBlock(e.unref(h.ElRadio),{key:i.value,label:i.label,value:i.value},null,8,["label","value"]))),128))]),_:2},1040,["modelValue","onUpdate:modelValue","disabled"])):s.item.type==="list"?(e.openBlock(),e.createBlock(U,e.mergeProps({key:4,row:o.form,field:s.item.key,ref_for:!0},o.getBind(s.item),e.toHandlers(o.getOn(s.item)),{disabled:o.getDisabled(s.item),style:{width:"100%"}}),null,16,["row","field","disabled"])):s.item.type==="treeSelect"?(e.openBlock(),e.createBlock(e.unref(h.ElTreeSelect),e.mergeProps({key:5,modelValue:o.form[s.item.key],"onUpdate:modelValue":i=>o.form[s.item.key]=i,ref_for:!0},o.getBind(s.item),e.toHandlers(o.getOn(s.item)),{disabled:o.getDisabled(s.item),style:{width:"100%"}}),null,16,["modelValue","onUpdate:modelValue","disabled"])):s.item.type==="datetime"?(e.openBlock(),e.createBlock(e.unref(h.ElDatePicker),e.mergeProps({key:6,modelValue:o.form[s.item.key],"onUpdate:modelValue":i=>o.form[s.item.key]=i,ref_for:!0},o.getBind(s.item),e.toHandlers(o.getOn(s.item)),{disabled:o.getDisabled(s.item)}),null,16,["modelValue","onUpdate:modelValue","disabled"])):s.item.type&&(e.unref(B).customComponent[s.item.type]||e.unref(B).customComponent[s.item.type]?.form)?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(B).customComponent[s.item.type]?.form||e.unref(B).customComponent[s.item.type]),e.mergeProps({key:7,modelValue:o.form[s.item.key],"onUpdate:modelValue":i=>o.form[s.item.key]=i,ref_for:!0},o.getBind(s.item),e.toHandlers(o.getOn(s.item)),{disabled:o.getDisabled(s.item)}),null,16,["modelValue","onUpdate:modelValue","disabled"])):e.createCommentVNode("",!0)]),e.renderSlot(r.$slots,"form-"+s.item.key+"-right",{row:o.form,item:s.item})]),e.renderSlot(r.$slots,"form-"+s.item.key+"-tip",{row:o.form,item:s.item},()=>[s.item.form?.tipText?(e.openBlock(),e.createElementBlock("div",{key:0,class:"form-tip-text",innerHTML:typeof s.item.form?.tipText=="function"?s.item.form?.tipText(o.form,o.type):s.item.form?.tipText},null,8,W)):e.createCommentVNode("",!0)])]),e.renderSlot(r.$slots,"form-"+s.item.key+"-end",{row:o.form,item:s.item})])]),_:2},1032,["label","prop","label-width"])],2)):e.createCommentVNode("",!0)],64))),128)),e.renderSlot(r.$slots,"form-end",{row:o.form})],2)):e.createCommentVNode("",!0)],64))),128)):e.createCommentVNode("",!0)]),_:3},8,["model","rules"]))}});class O{static exportToExcel=async(a,f,d)=>{if(!a||a.length===0)return;const n=await b.loadModule("xlsx"),t=a.map(c=>{const g={};return f.forEach(p=>{g[p.label]=c[p.key]}),g}),o=n.utils.json_to_sheet(t),r=n.utils.book_new();n.utils.book_append_sheet(r,o,"Sheet1"),d?typeof d=="function"&&(d=d()):d=`导出数据_${new Date().Format("yyyy-MM-dd")}_${new Date().getTime()}`,n.writeFile(r,`${d}.xlsx`)}}const N=b.EDialog,q=l=>{const a=e.ref(),f=e.ref(),d=e.ref(),n=e.reactive({option:l.option,search:{column:{list:[]},form:{},formDefault:{},getPlaceholder:(t,o=k.tCurd("placeholderInput"))=>t.text?.search?.placeholder===void 0?`${o}${t.label}`:t.text?.search?.placeholder,getFormData:()=>{let t={};l.option.column.forEach(r=>{(typeof r.show?.search=="function"?r.show?.search(n.search.form):r.show?.search)&&(t[r.key]=n.search.form[r.key])});const o=l.option.search?.before?.(t);return o&&(t=o),t},reset:()=>{const t=n.search.formDefault;Object.keys(t).forEach(o=>{l.option.search?.resetMode==="none"?t[o]=void 0:t[o]=n.search.formDefault[o]}),n.search.form=ObjectUtil.deepMerge(t,{}),n.page.num=1,l.option.init!==!1&&n.table.getList()},submit:()=>{n.page.num=1,n.table.getList()}},page:{num:1,total:0,layout:l.option.page?.layout||u.config.pagination.layout,showTools:l.option.page?.showTools||u.config.pagination.showTools,size:l.option.page?.size||u.config.pagination.size,sizeList:l.option.page?.sizeList||u.config.pagination.pageSizes,pagerCount:l.option.page?.pagerCount||u.config.pagination.pagerCount,getQuery:(t={})=>({[u.config.field.page.size]:t.size||n.page.size,[u.config.field.page.num]:t.num||n.page.num,...n.search.getFormData()})},table:{op:{width:(...t)=>t.filter(r=>r).length*30+60},loading:!1,data:[],expand:{isExpand:!1,rowKeys:[],change:(t,o)=>{},all:()=>{if(n.table.expand.isExpand)n.table.expand.rowKeys=[];else{const t=o=>{let r=[];return o.forEach(c=>{r.push(c[l.option.table.rowKey]),c.children&&c.children.length>0&&(r=r.concat(t(c.children)))}),r};n.table.expand.rowKeys=t(n.table.data)}n.table.expand.isExpand=!n.table.expand.isExpand}},column:{list:[],show:{listSource:[],list:[]}},getList:async()=>{n.table.loading=!0;const t=l.option.api.list;try{await n.initApiData("init");let o={};if(n.table.sort.prop){const{props:y,order:C}=u.config.table.sort;o={[y.field]:n.table.sort.prop,[C.field]:n.table.sort.order}}const r=await t({...n.page.getQuery(),...o}),c=u.config.field.result,g=r.data||{[c.list]:r};let p=(Array.isArray(g[c.list]),g[c.list]);const s=n.update.formColumn.flat(),m=ObjectUtil.deepMerge({data:p},{}).data.map(y=>(Object.keys(y).forEach(E=>{const V=s.find(S=>S.item.key===E);V&&["select","radio"].includes(V.item.type)&&(V.item.table.format||(V.item.table.format=S=>V.item.options[V.item.type].data?.find(z=>z.value==S[E])?.label||S[E]))}),y));n.table.data=l.option.data?await l.option.data(m,p):m,n.page.total=g[c.total]||0}catch(o){console.error(o)}finally{n.table.loading=!1}},selection:{list:[],change:t=>{n.table.selection.list=t},setList:t=>{n.table.selection.list=[];const o=d.value;if(o?.clearSelection(),!o||!t?.length)return;const r=l.option.table?.rowKey,c=n.table.data,g=p=>{const s=i=>{for(const m of i){if(r!=null&&r!==""){if(m[r]===p[r])return m}else if(m===p)return m;if(Array.isArray(m.children)&&m.children.length){const y=s(m.children);if(y!==void 0)return y}}};return s(c)};e.nextTick(()=>{t.forEach(p=>{const s=g(p)??p;o.toggleRowSelection(s,!0,!1)})})}},sort:{prop:"",order:"",change:t=>{u.config.table.sort.resetPage&&(n.page.num=1);const o=u.config.table.sort;if(o.change){o.change(t,n);return}n.table.sort.prop=t.prop,t.order===null?n.table.sort.order="":n.table.sort.order=t.order==="ascending"?o.order.asc:o.order.desc,n.table.getList()}}},export:{run:{start:async t=>{let o=await n.export.run[t](),r=l.option.column;const c=ObjectUtil.deepMerge({data:o,columns:r},{}),g=l.option.tools?.export||{};g.before&&g.before(c),O.exportToExcel(c.data,c.columns,g.fileName)},select:async()=>{n.export.loading=!0;try{if(l.option.tools?.export?.select){await l.option.tools?.export?.select({...n.page.getQuery(),items:n.table.selection.list});return}if(n.table.selection.list.length===0)throw b.fail(k.tCurd("selectDataToExport")),new Error(k.tCurd("selectDataToExport"));return n.table.selection.list}catch(t){console.error(t)}finally{n.export.loading=!1}},page:async()=>{n.export.loading=!0;try{if(l.option.tools?.export?.page){await l.option.tools?.export?.page({...n.page.getQuery()});return}if(n.table.data.length===0)throw b.fail(k.tCurd("noData")),new Error(k.tCurd("noData"));return n.table.data}catch(t){console.error(t)}finally{n.export.loading=!1}},all:async()=>{n.export.loading=!0;try{if(l.option.tools?.export?.all){await l.option.tools?.export?.all({...n.page.getQuery()});return}const t=l.option.api.list,o=await t({...n.page.getQuery({size:999999,num:1})});return(o.data||{[u.config.field.result.list]:o})[u.config.field.result.list]}catch(t){console.error(t)}finally{n.export.loading=!1}}},loading:!1,click:t=>{n.export.loading||n.export.run.start(t)}},update:{title:"",rules:{},show:!1,showContent:!1,loading:!1,type:N.Add,form:{},formDefault:{},formColumn:[],getDisabled:t=>l.option.table?.editMode?t.disabled?.table===void 0?!1:t.disabled?.table:n.update.type===N.View?t.disabled?.view===void 0?!0:t.disabled?.view:t.disabled?.[n.update.type===N.Add?"create":"update"],getBind:t=>t.options?.[n.update.type===N.Add?"formAdd":"formUpdate"]?.[t.type]||t.options?.[t.type]||{},getOn:t=>t.options?.[n.update.type===N.Add?"formAdd":"formUpdate"]?.[t.type]?.on||t.options?.[t.type]?.on||{},getOptions:t=>{try{const r=n.update.formColumn.flat().find(c=>c.item.key===t)?.item;return r?{options:r.options,bind:n.update.getBind(r)}:{options:{},bind:{}}}catch{return{options:{},bind:{}}}},edit:{data:{},getApiData:t=>{if(l.option.form?.editAll)return t;let o={[l.option.table?.rowKey]:n.update.edit.data[l.option.table?.rowKey]};return Object.keys(n.update.edit.data).forEach(r=>{t[r]!==n.update.edit.data[r]&&(o[r]=t[r])}),o}},view:{},open:(t,o)=>{n.update.showContent||FunUtil.throttle(async()=>{b.loading(!0);try{n.update.type=t;const r=t===N.Add;n.update.edit.data=o,n.update.title=k.tCurd(r?"add":t===N.View?"view":"edit"),n.update.form=ObjectUtil.deepMerge(r?n.update.formDefault:o,{}),await n.initApiData("update"),await l.option.form?.openBefore?.(n.update.form,n.update),(!l.option.table?.inlineEdit||r)&&(n.update.show=!0,n.update.showContent=!0),l.option.form?.openAfter?.(n.update.form,n.update)}catch(r){console.error(r)}finally{b.loading(!1)}})},submit:()=>{FunUtil.throttle(async()=>{await f.value?.validate(async(c,g)=>new Promise((p,s)=>{c||(b.fail(k.tCurd("checkFormData")),s(!1)),p()})),n.update.loading=!0;const t=n.update.type===N.Add?l.option.api.create:l.option.api.update;try{await l.option.form?.submitBefore?.(n.update.form,n.update)}catch{n.update.loading=!1;return}let o=ObjectUtil.deepMerge(n.update.form,{});delete o.children;const r=new Set(l.option.column.filter(c=>c.type==="datetime").map(c=>c.key));Object.keys(o).forEach(c=>{if(r.has(c)&&o[c]!=null){const g=new Date(o[c]).getTime();isNaN(g)||(o[c]=g)}});try{if(!t)return;await t({...o}),n.update.close(),await n.table.getList(),l.option.form?.submitAfter?.(o,n.update)}catch(c){console.error(c)}finally{n.update.loading=!1}})},close:()=>{n.update.show=!1,l.option.table?.inlineEdit&&(n.update.form={}),setTimeout(()=>{n.update.showContent=!1},350)}},remove:{title:k.tCurd("confirmDelete"),show:!1,items:[],loading:!1,close:()=>{n.remove.show=!1},open:t=>{if(t.length===0){b.fail(k.tCurd("selectDataToDelete"));return}n.remove.items=t,n.remove.show=!0},submit:()=>{FunUtil.throttle(async()=>{n.remove.loading=!0;const t=l.option.api.delete;try{if(!t)return;await t({[l.option.table?.rowKey]:n.remove.items.map(o=>o[l.option.table?.rowKey]),items:n.remove.items}),b.success(k.tCurd("operationSuccess")),n.table.data.length<=1&&n.page.num>1&&(n.page.num-=1),n.remove.close(),await n.table.getList()}catch(o){console.error(o)}finally{n.remove.loading=!1}})}},init:()=>{n.initCurdConfig(),n.initColumnOptions(),n.initColumnForm()},apiDataMap:{},initApiData:async t=>{const o=[],r=c=>{if(c.children&&c.children.length){c.children.forEach(g=>r(g));return}if(c.options?.[c.type]?.dataApi&&c.options?.[c.type]?.dataApiConfig?.[t]){if(n.apiDataMap[c.key]&&c.options?.[c.type]?.dataApiConfig?.once)return;const g=(async()=>{try{let p=await c.options?.[c.type]?.dataApi?.(n.update.form,n.update.type);if(p){const s=c.options?.[c.type]?.dataPath;!Array.isArray(p)&&s&&(p=ObjectUtil.getPathValue(p,s)),c.options[c.type].data=p,c.options.search[c.type].data=p,c.options.formAdd[c.type].data=p,c.options.formUpdate[c.type].data=p,n.apiDataMap[c.key]=p}}catch{}})();o.push(g)}};return l.option.column.forEach(c=>{r(c)}),await Promise.all(o),!0},initCurdConfig:()=>{const t=ObjectUtil.deepMerge(u.config,{});t.table.emptyText=k.tCurd("noData"),l.option.size=l.option.size||{},t.table.size=l.option.size.table||t.size.table,t.form.size=l.option.size.form||t.size.form,t.size.search=l.option.size.search||t.size.search;const o=ObjectUtil.deepMerge(t,l.option||{});Object.keys(o).forEach(r=>{l.option[r]=o[r]})},initColumnOptions:()=>{let t=JSONUtil.cp(u.config.columnConfig);t.options=ObjectUtil.deepMerge({switch:{activeText:k.tCurd("switchOn"),inactiveText:k.tCurd("switchOff")}},t.options);const o=r=>{for(const c in t){if(c==="table"){if(r.table=ObjectUtil.deepMerge(t.table,r.table||{}),r.children){r.children.forEach(p=>{o(p)});return}}else c==="type"?r.type=r.type||t.type:r[c]=ObjectUtil.deepMerge(t[c],r[c]||{});r.options=r.options||{},r.options[r.type]=r.options[r.type]||{},r.options[r.type].size=l.option.size.form,["search","formAdd","formUpdate"].forEach(p=>{r.options[p]=r.options[p]||ObjectUtil.deepMerge(r.options,{}),r.options[p][r.type]=r.options[p][r.type]||{},r.options[p][r.type].size=p==="search"?l.option.size.search:l.option.size.form}),r.table=ObjectUtil.deepMerge(r.table,r.options[r.type].table||{})}r.type==="switch"&&(r.options.switch.tableBeforeChange=async(c,g)=>{const p=r.options?.switch;try{p.tableConfig?.confirm&&await a.value?.open({title:k.tCurd("confirmModify"),content:k.tCurd("confirmSwitchMessage")});try{if(!l.option.api.update&&!p.tableConfig?.api)return;const s=g[l.option.table?.rowKey];p.loadingMap||(p.loadingMap={}),p.loadingMap[s]||(p.loadingMap[s]={loading:!1}),p.loadingMap[s].loading=!0;const i=g[c]===p.activeValue?p.inactiveValue:p.activeValue,m=p.tableConfig?.api?p.tableConfig.api:l.option.api.update;if(!m)return;try{await m({...g,[c]:i},"switch")}catch{return!1}finally{p.loadingMap[s].loading=!1}return b.success(k.tCurd("operationSuccess")),p.tableConfig?.loadList&&(n.table.loading=!0,n.table.getList(),n.table.loading=!1),!0}catch(s){return console.error(s),!1}finally{n.table.loading=!1}}catch{return!1}}),r.type==="treeSelect"&&(r.options.treeSelect.rowKey=l.option.table?.rowKey,r.options.treeSelect.nodeKey=l.option.table?.rowKey)};l.option.column.forEach(o),l.option.table?.column?.forEach(o)},getColumnSpan:(t,o)=>{if(t.item.form?.spanCol){const r=u.config.form.defaultSpan,g=o.filter(p=>!b.isFun(p.item.show?.form,n.update.form,n.update.type)).reduce((p,s)=>p+(s.item.form?.span||r),0);return(t.item?.form.span||r)+g}return t.item.form.span},initColumnForm:()=>{const t=l.option;n.update.formColumn=[],n.table.column.show={list:[],listSource:[]};const o=[],r=l.option.form?.maxSpan||12,c=l.option.form?.defaultSpan||r/2;let g=[];const p=m=>{if(m.children){n.table.column.show.list.push(m.key),m.children.forEach(y=>{p(y)});return}if(n.update.formDefault[m.key]=m.value,m.table.table&&(m.show.table&&n.table.column.show.list.push(m.key),m.table.table&&n.table.column.show.listSource.push(m.key)),!(m.isForm&&typeof m.show?.form=="boolean")||m.show?.form){m.form=m.form||{span:c},m.form.span=m.form.span??c;let y=m.form.span,C=g.reduce((V,S)=>V+S.span,y);const E=g.length;if(g.push({item:m,span:y}),(E===1&&g[0].span===0||C>=r||y===0&&E>1)&&(o.push(g),g=[]),m.rules){const V={input:k.tCurd("placeholderInput"),select:k.tCurd("placeholderSelect")},S=(V[m.type]||V.input)+m.label;n.update.rules[m.key]=typeof m.rules=="boolean"?[{required:!0,message:S,trigger:"blur"}]:m.rules}}},s=(m,y)=>{m.isForm=y,Array.isArray(m.children)&&m.children.forEach(C=>s(C,y))};t.column.forEach(m=>{m.isForm=!0,s(m,!0),p(m)}),l.option.table?.column?.forEach(m=>{s(m,!1),p(m)}),n.search.column.list=t.column.concat(t.table?.column||[]),n.table.column.list=n.search.column.list.filter(m=>m.table?.table),n.search.column.list.sort((m,y)=>m.sort?.search-y.sort?.search),n.table.column.list.sort((m,y)=>m.sort?.table-y.sort?.table),g.length>0&&o.push(g),n.update.formColumn=o;const i=l.option.search?.formDefault;i&&Object.keys(i).forEach(m=>{n.search.formDefault[m]=i[m]}),t.column.forEach(m=>{m.show?.search||(n.search.formDefault[m.key]=void 0)}),n.search.form=ObjectUtil.deepMerge(n.search.formDefault,{})}});return n.init(),e.onMounted(()=>{l.option.init!==!1&&n.table.getList()}),{conf:n,switchConfirmRef:a,ruleFormRef:f,tableRef:d}},J={class:"dialog-footer"},Q=e.defineComponent({__name:"switchConfirm",props:{size:{}},setup(l,{expose:a}){const f=e.ref(!1),d=e.ref("确认修改"),n=e.ref("确认要修改状态吗?");let t=null,o=null;const r=p=>(p?.title&&(d.value=p.title),p?.content&&(n.value=p.content),f.value=!0,new Promise((s,i)=>{t=s,o=i})),c=()=>{f.value=!1,t?.(!0),t=null,o=null},g=()=>{f.value=!1,o?.(new Error("用户取消操作")),t=null,o=null};return a({open:r}),(p,s)=>{const i=e.resolveComponent("el-form");return e.openBlock(),e.createBlock(e.unref(h.ElDialog),{modelValue:f.value,"onUpdate:modelValue":s[0]||(s[0]=m=>f.value=m),title:d.value,"close-on-click-modal":!1,width:"400px"},{footer:e.withCtx(()=>[e.createVNode(i,{size:p.size},{default:e.withCtx(()=>[e.createElementVNode("span",J,[e.createVNode(e.unref(h.ElButton),{onClick:g},{default:e.withCtx(()=>s[1]||(s[1]=[e.createTextVNode("取消")])),_:1}),e.createVNode(e.unref(h.ElButton),{type:"primary",onClick:c},{default:e.withCtx(()=>s[2]||(s[2]=[e.createTextVNode("确认")])),_:1})])]),_:1},8,["size"])]),default:e.withCtx(()=>[e.createElementVNode("div",null,e.toDisplayString(n.value),1)]),_:1},8,["modelValue","title"])}}}),T=(l,a)=>{const f=l.__vccOpts||l;for(const[d,n]of a)f[d]=n;return f},G={},X={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function Y(l,a){return e.openBlock(),e.createElementBlock("svg",X,a[0]||(a[0]=[e.createElementVNode("path",{fill:"currentColor",d:"M771.776 794.88A384 384 0 0 1 128 512h64a320 320 0 0 0 555.712 216.448H654.72a32 32 0 1 1 0-64h149.056a32 32 0 0 1 32 32v148.928a32 32 0 1 1-64 0v-50.56zM276.288 295.616h92.992a32 32 0 0 1 0 64H220.16a32 32 0 0 1-32-32V178.56a32 32 0 0 1 64 0v50.56A384 384 0 0 1 896.128 512h-64a320 320 0 0 0-555.776-216.384z"},null,-1)]))}const Z=T(G,[["render",Y]]),P={},_={"data-v-58697b5c":"",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function v(l,a){return e.openBlock(),e.createElementBlock("svg",_,a[0]||(a[0]=[e.createElementVNode("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m23.744 191.488c-52.096 0-92.928 14.784-123.2 44.352-30.976 29.568-45.76 70.4-45.76 122.496h80.256c0-29.568 5.632-52.8 17.6-68.992 13.376-19.712 35.2-28.864 66.176-28.864 23.936 0 42.944 6.336 56.32 19.712 12.672 13.376 19.712 31.68 19.712 54.912 0 17.6-6.336 34.496-19.008 49.984l-8.448 9.856c-45.76 40.832-73.216 70.4-82.368 89.408-9.856 19.008-14.08 42.24-14.08 68.992v9.856h80.96v-9.856c0-16.896 3.52-31.68 10.56-45.76 6.336-12.672 15.488-24.64 28.16-35.2 33.792-29.568 54.208-48.576 60.544-55.616 16.896-22.528 26.048-51.392 26.048-86.592q0-64.416-42.24-101.376c-28.16-25.344-65.472-37.312-111.232-37.312m-12.672 406.208a54.27 54.27 0 0 0-38.72 14.784 49.4 49.4 0 0 0-15.488 38.016c0 15.488 4.928 28.16 15.488 38.016A54.85 54.85 0 0 0 523.072 768c15.488 0 28.16-4.928 38.72-14.784a51.52 51.52 0 0 0 16.192-38.72 51.97 51.97 0 0 0-15.488-38.016 55.94 55.94 0 0 0-39.424-14.784"},null,-1)]))}const ee=T(P,[["render",v]]),te={class:"row flex-center table-header-label inline"},oe={class:"table-header-tooltip"},ae={key:1},ne=["onClick","innerHTML"],le=e.defineComponent({__name:"tableColumn",props:{conf:{},columnList:{},option:{}},setup(l){const a=b.isFun,f=e.getCurrentInstance().type;return(d,n)=>{const t=e.resolveComponent("el-tooltip");return e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.columnList,o=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:o.key},[d.conf.table.column.show.list.includes(o.key)?(e.openBlock(),e.createBlock(e.unref(h.ElTableColumn),e.mergeProps({key:0,prop:o.key,label:o.label,ref_for:!0},o.table),{header:e.withCtx(()=>[e.renderSlot(d.$slots,"table-header-"+o.key,{item:o},()=>[e.createElementVNode("div",te,[o.table?.tooltip?(e.openBlock(),e.createBlock(t,{key:0,effect:"dark",content:o.table?.tooltip,placement:"top"},{default:e.withCtx(()=>[e.createElementVNode("span",oe,[e.createVNode(ee)])]),_:2},1032,["content"])):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(o.label),1)])])]),default:e.withCtx(({row:r})=>[o.children?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[n[0]||(n[0]=e.createTextVNode("   ")),(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(f)),{conf:d.conf,columnList:o.children,option:d.option},e.createSlots({_:2},[e.renderList(d.$slots,(c,g)=>({name:g,fn:e.withCtx(p=>[e.renderSlot(d.$slots,g,e.mergeProps({ref_for:!0},p||{}))])}))]),1032,["conf","columnList","option"]))],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[d.option.table?.editMode?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[o.type==="input"?(e.openBlock(),e.createBlock(e.unref(h.ElInput),{key:0,modelValue:r[o.key],"onUpdate:modelValue":c=>r[o.key]=c,disabled:d.conf.update.getDisabled(o),style:{width:"100%"}},null,8,["modelValue","onUpdate:modelValue","disabled"])):o.type==="select"?(e.openBlock(),e.createBlock(e.unref(h.ElSelect),{key:1,modelValue:r[o.key],"onUpdate:modelValue":c=>r[o.key]=c,disabled:d.conf.update.getDisabled(o),style:{width:"100%"}},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.options?.search?.select?.data||o.options?.select?.data,c=>(e.openBlock(),e.createBlock(e.unref(h.ElOption),{key:c.value,label:c.label,value:c.value},null,8,["label","value"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue","disabled"])):o.type==="switch"?(e.openBlock(),e.createBlock(e.unref(h.ElSwitch),{key:2,modelValue:r[o.key],"onUpdate:modelValue":c=>r[o.key]=c,disabled:d.conf.update.getDisabled(o)},null,8,["modelValue","onUpdate:modelValue","disabled"])):e.createCommentVNode("",!0)],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[d.conf.update.type===e.unref(b).EDialog.Update&&e.unref(a)(o.show?.form,d.conf.update.form,e.unref(b).EDialog.Update)&&d.option.table?.inlineEdit&&d.conf.update.form[d.option.table?.rowKey]===r[d.option.table?.rowKey]&&(o.type==="input"||o.type==="select")?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[o.type==="input"?(e.openBlock(),e.createBlock(e.unref(h.ElInput),e.mergeProps({key:0,modelValue:d.conf.update.form[o.key],"onUpdate:modelValue":c=>d.conf.update.form[o.key]=c,disabled:d.conf.update.getDisabled(o),ref_for:!0},d.conf.update.getBind(o),e.toHandlers(d.conf.update.getOn(o)),{style:{width:"100%"}}),null,16,["modelValue","onUpdate:modelValue","disabled"])):o.type==="select"?(e.openBlock(),e.createBlock(e.unref(h.ElSelect),e.mergeProps({key:1,modelValue:d.conf.update.form[o.key],"onUpdate:modelValue":c=>d.conf.update.form[o.key]=c,disabled:d.conf.update.getDisabled(o),ref_for:!0},d.conf.update.getBind(o),e.toHandlers(d.conf.update.getOn(o)),{style:{width:"100%"}}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.options?.search?.select?.data||o.options?.select?.data,c=>(e.openBlock(),e.createBlock(e.unref(h.ElOption),{key:c.value,label:c.label,value:c.value},null,8,["label","value"]))),128))]),_:2},1040,["modelValue","onUpdate:modelValue","disabled"])):o.type==="switch"?(e.openBlock(),e.createBlock(e.unref(h.ElSwitch),e.mergeProps({key:2,modelValue:d.conf.update.form[o.key],"onUpdate:modelValue":c=>d.conf.update.form[o.key]=c,ref_for:!0},d.conf.update.getBind(o),e.toHandlers(d.conf.update.getOn(o)),{disabled:d.conf.update.getDisabled(o)}),null,16,["modelValue","onUpdate:modelValue","disabled"])):e.createCommentVNode("",!0)],64)):e.renderSlot(d.$slots,"table-"+o.key,{key:1,row:r,item:o},()=>[e.unref(B).customComponent[o.type??""]?.table?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(B).customComponent[o.type??""]?.table),e.mergeProps({key:0,modelValue:r[o.key],"onUpdate:modelValue":c=>r[o.key]=c,ref_for:!0},o.options?.[o.type??""],e.toHandlers(o.options?.[o.type??""]?.on||{})),null,16,["modelValue","onUpdate:modelValue"])):o.type==="switch"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[o.options?.switch?.tableConfig?.change?(e.openBlock(),e.createBlock(e.unref(h.ElSwitch),e.mergeProps({key:0,modelValue:r[o.key],"onUpdate:modelValue":c=>r[o.key]=c,loading:o.options?.switch?.loadingMap?.[r[d.option.table?.rowKey]]?.loading,"before-change":()=>o.options?.switch?.tableBeforeChange?.(o.key,r),ref_for:!0},o.options?.switch),null,16,["modelValue","onUpdate:modelValue","loading","before-change"])):(e.openBlock(),e.createElementBlock("span",ae,e.toDisplayString(r[o.key]===o.options?.switch?.activeValue?o.options?.switch?.activeText:o.options?.switch?.inactiveText),1))],64)):(e.openBlock(),e.createElementBlock("span",{key:2,style:e.normalizeStyle({"--table-text-click-color":o.table?.click?.color}),class:e.normalizeClass({"table-text-click":o.table?.click?.callback}),onClick:c=>o.table?.click?.callback?.(r),innerHTML:o.table?.format?o.table?.format(r):r[o.key]},null,14,ne))])],64))],64))]),_:2},1040,["prop","label"])):e.createCommentVNode("",!0)],64))),128)}}}),re={class:"row form-item-content",style:{width:"100%"}},ie={class:"col column form-item-content-item"},de={class:"col"},se=["innerHTML"],ce=e.defineComponent({__name:"formColumn",props:{conf:{},item:{}},setup(l){return(a,f)=>(e.openBlock(),e.createBlock(e.unref(h.ElFormItem),{label:a.item.item.text?.form?.label??a.item.item.label,prop:a.item.item.key,"label-width":a.item.item.text?.form?.label==""?0:a.item.item.form?.labelWidth||a.conf.option.form?.labelWidth},{default:e.withCtx(()=>[e.createElementVNode("div",re,[e.renderSlot(a.$slots,"form-"+a.item.item.key+"-start",{row:a.conf.update.form,item:a.item.item}),e.createElementVNode("div",ie,[e.createElementVNode("div",de,[e.renderSlot(a.$slots,"form-"+a.item.item.key,{row:a.conf.update.form,item:a.item.item},()=>[a.item.item.type==="input"?(e.openBlock(),e.createBlock(e.unref(h.ElInput),e.mergeProps({key:0,modelValue:a.conf.update.form[a.item.item.key],"onUpdate:modelValue":f[0]||(f[0]=d=>a.conf.update.form[a.item.item.key]=d)},a.conf.update.getBind(a.item.item),e.toHandlers(a.conf.update.getOn(a.item.item)),{disabled:a.conf.update.getDisabled(a.item.item)}),null,16,["modelValue","disabled"])):a.item.item.type==="switch"?(e.openBlock(),e.createBlock(e.unref(h.ElSwitch),e.mergeProps({key:1,modelValue:a.conf.update.form[a.item.item.key],"onUpdate:modelValue":f[1]||(f[1]=d=>a.conf.update.form[a.item.item.key]=d)},a.conf.update.getBind(a.item.item),e.toHandlers(a.conf.update.getOn(a.item.item)),{disabled:a.conf.update.getDisabled(a.item.item)}),null,16,["modelValue","disabled"])):a.item.item.type==="select"?(e.openBlock(),e.createBlock(e.unref(h.ElSelect),e.mergeProps({key:2,modelValue:a.conf.update.form[a.item.item.key],"onUpdate:modelValue":f[2]||(f[2]=d=>a.conf.update.form[a.item.item.key]=d)},a.conf.update.getBind(a.item.item),e.toHandlers(a.conf.update.getOn(a.item.item)),{disabled:a.conf.update.getDisabled(a.item.item),style:{width:"100%"}}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.conf.update.getBind(a.item.item).data,d=>(e.openBlock(),e.createBlock(e.unref(h.ElOption),{key:d.value,label:d.label,value:d.value},null,8,["label","value"]))),128))]),_:1},16,["modelValue","disabled"])):a.item.item.type==="radio"?(e.openBlock(),e.createBlock(e.unref(h.ElRadioGroup),e.mergeProps({key:3,modelValue:a.conf.update.form[a.item.item.key],"onUpdate:modelValue":f[3]||(f[3]=d=>a.conf.update.form[a.item.item.key]=d)},a.conf.update.getBind(a.item.item),e.toHandlers(a.conf.update.getOn(a.item.item)),{disabled:a.conf.update.getDisabled(a.item.item),style:{width:"100%"}}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.conf.update.getBind(a.item.item).data,d=>(e.openBlock(),e.createBlock(e.unref(h.ElRadio),{key:d.value,label:d.label,value:d.value},null,8,["label","value"]))),128))]),_:1},16,["modelValue","disabled"])):a.item.item.type==="list"?(e.openBlock(),e.createBlock(U,e.mergeProps({key:4,row:a.conf.update.form,field:a.item.item.key},a.conf.update.getBind(a.item.item),e.toHandlers(a.conf.update.getOn(a.item.item)),{disabled:a.conf.update.getDisabled(a.item.item),style:{width:"100%"}}),null,16,["row","field","disabled"])):a.item.item.type==="treeSelect"?(e.openBlock(),e.createBlock(e.unref(h.ElTreeSelect),e.mergeProps({key:5,modelValue:a.conf.update.form[a.item.item.key],"onUpdate:modelValue":f[4]||(f[4]=d=>a.conf.update.form[a.item.item.key]=d)},a.conf.update.getBind(a.item.item),e.toHandlers(a.conf.update.getOn(a.item.item)),{disabled:a.conf.update.getDisabled(a.item.item),style:{width:"100%"}}),null,16,["modelValue","disabled"])):a.item.item.type==="datetime"?(e.openBlock(),e.createBlock(e.unref(h.ElDatePicker),e.mergeProps({key:6,modelValue:a.conf.update.form[a.item.item.key],"onUpdate:modelValue":f[5]||(f[5]=d=>a.conf.update.form[a.item.item.key]=d)},a.conf.update.getBind(a.item.item),e.toHandlers(a.conf.update.getOn(a.item.item)),{disabled:a.conf.update.getDisabled(a.item.item)}),null,16,["modelValue","disabled"])):a.item.item.type&&(e.unref(B).customComponent[a.item.item.type]||e.unref(B).customComponent[a.item.item.type]?.form)?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(B).customComponent[a.item.item.type]?.form||e.unref(B).customComponent[a.item.item.type]),e.mergeProps({key:7,modelValue:a.conf.update.form[a.item.item.key],"onUpdate:modelValue":f[6]||(f[6]=d=>a.conf.update.form[a.item.item.key]=d)},a.conf.update.getBind(a.item.item),e.toHandlers(a.conf.update.getOn(a.item.item)),{disabled:a.conf.update.getDisabled(a.item.item)}),null,16,["modelValue","disabled"])):e.createCommentVNode("",!0)]),e.renderSlot(a.$slots,"form-"+a.item.item.key+"-right",{row:a.conf.update.form,item:a.item.item})]),e.renderSlot(a.$slots,"form-"+a.item.item.key+"-tip",{row:a.conf.update.form,item:a.item.item},()=>[a.item.item.form?.tipText?(e.openBlock(),e.createElementBlock("div",{key:0,class:"form-tip-text",innerHTML:typeof a.item.item.form?.tipText=="function"?a.item.item.form?.tipText(a.conf.update.form,a.conf.update.type):a.item.item.form?.tipText},null,8,se)):e.createCommentVNode("",!0)])]),e.renderSlot(a.$slots,"form-"+a.item.item.key+"-end",{row:a.conf.update.form,item:a.item.item})])]),_:3},8,["label","prop","label-width"]))}}),fe={key:0,class:"relative curd-search fit-width"},pe={class:"mb-10 flex justify-between items-center fit-width"},me={class:"flex items-center",style:{gap:"10px"}},ge={key:0},he={key:1},ye={key:2},ke={class:"export-btn"},be={key:1,class:"export-btn"},ue={class:"flex items-center table-tools-right",style:{gap:"10px"}},we={class:"row justify-end mt-10 mb-10 table-bottom-pagination"},Ce={class:"dialog-footer"},Be={class:"dialog-footer"},$=e.defineComponent({__name:"index",props:{option:{default:{}}},setup(l,{expose:a}){const f=b.EDialog,d=l,n=b.isFun,{conf:t,switchConfirmRef:o,ruleFormRef:r,tableRef:c}=q(d);return a({conf:t}),(g,p)=>{const s=e.resolveDirective("loading");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["relative cc1-form-box",[l.option.table?.fitHeight?"col":"no-min-height"]])},[e.createElementVNode("div",{class:e.normalizeClass(["row",[l.option.table?.fitHeight?"absolute fit":""]]),style:{overflow:"hidden"}},[e.renderSlot(g.$slots,"box-left"),e.createElementVNode("div",{class:e.normalizeClass(["column fit-width no-wrap",[l.option.table?.fitHeight?"col":""]])},[l.option.search?.show!==!1?(e.openBlock(),e.createElementBlock("div",fe,[e.createVNode(e.unref(h.ElForm),{model:e.unref(t).search.form,inline:"",size:l.option.size?.search},{default:e.withCtx(()=>[e.renderSlot(g.$slots,"search-start",{row:e.unref(t).search.form}),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(t).search.column.list,i=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:i.key},[(typeof i.show?.search=="function"?i.show?.search(e.unref(t).search.form):i.show?.search)?(e.openBlock(),e.createBlock(e.unref(h.ElFormItem),{key:0,label:i.text?.search?.label??i.label},{default:e.withCtx(()=>[e.renderSlot(g.$slots,"search-"+i.key,{row:e.unref(t).search.form},()=>[i.type==="input"?(e.openBlock(),e.createBlock(e.unref(h.ElInput),e.mergeProps({key:0,modelValue:e.unref(t).search.form[i.key],"onUpdate:modelValue":m=>e.unref(t).search.form[i.key]=m,placeholder:e.unref(t).search.getPlaceholder(i),clearable:"",disabled:i.disabled?.search,ref_for:!0},i.options?.search?.input||i.options?.input,e.toHandlers(i.options?.search?.input?.on||i.options?.input?.on||{})),null,16,["modelValue","onUpdate:modelValue","placeholder","disabled"])):i.type==="switch"?(e.openBlock(),e.createBlock(e.unref(h.ElSelect),e.mergeProps({key:1,modelValue:e.unref(t).search.form[i.key],"onUpdate:modelValue":m=>e.unref(t).search.form[i.key]=m,placeholder:e.unref(t).search.getPlaceholder(i,e.unref(k).tCurd("placeholderSelect")),clearable:"",disabled:i.disabled?.search,ref_for:!0},i.options?.search?.switch||i.options?.switch,e.toHandlers(i.options?.search?.switch?.on||i.options?.switch?.on||{})),{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.unref(h.ElOption),{key:i.options?.switch?.activeValue,label:i.options?.switch?.activeText,value:i.options?.switch?.activeValue},null,8,["label","value"])),(e.openBlock(),e.createBlock(e.unref(h.ElOption),{key:i.options?.switch?.inactiveValue,label:i.options?.switch?.inactiveText,value:i.options?.switch?.inactiveValue},null,8,["label","value"]))]),_:2},1040,["modelValue","onUpdate:modelValue","placeholder","disabled"])):i.type==="select"?(e.openBlock(),e.createBlock(e.unref(h.ElSelect),e.mergeProps({key:2,modelValue:e.unref(t).search.form[i.key],"onUpdate:modelValue":m=>e.unref(t).search.form[i.key]=m,placeholder:e.unref(t).search.getPlaceholder(i,e.unref(k).tCurd("placeholderSelect")),clearable:"",disabled:i.disabled?.search,ref_for:!0},i.options?.search?.select||i.options?.select,e.toHandlers(i.options?.search?.select?.on||i.options?.select?.on||{})),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.options?.select?.data,m=>(e.openBlock(),e.createBlock(e.unref(h.ElOption),{key:m.value,label:m.label,value:m.value},null,8,["label","value"]))),128))]),_:2},1040,["modelValue","onUpdate:modelValue","placeholder","disabled"])):i.type==="datetime"?(e.openBlock(),e.createBlock(e.unref(h.ElDatePicker),e.mergeProps({key:3,modelValue:e.unref(t).search.form[i.key],"onUpdate:modelValue":m=>e.unref(t).search.form[i.key]=m,disabled:i.disabled?.search,ref_for:!0},i.options?.search?.datetime||i.options?.datetime,e.toHandlers(i.options?.search?.datetime?.on||i.options?.datetime?.on||{})),null,16,["modelValue","onUpdate:modelValue","disabled"])):i.type&&e.unref(B).customComponent[i.type]?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(B).customComponent[i.type]),e.mergeProps({key:4,modelValue:e.unref(t).search.form[i.key],"onUpdate:modelValue":m=>e.unref(t).search.form[i.key]=m,ref_for:!0},i.options?.search?.[i.type]||i.options?.[i.type],e.toHandlers(i.options?.search?.[i.type]?.on||i.options?.[i.type]?.on||{}),{disabled:i.disabled?.search}),null,16,["modelValue","onUpdate:modelValue","disabled"])):e.createCommentVNode("",!0)]),e.renderSlot(g.$slots,"search-"+i.key+"-right",{row:e.unref(t).search.form})]),_:2},1032,["label"])):e.createCommentVNode("",!0)],64))),128)),e.renderSlot(g.$slots,"search-center",{row:e.unref(t).search.form}),l.option.tools?.search||l.option.tools?.reset?(e.openBlock(),e.createBlock(e.unref(h.ElFormItem),{key:0},{default:e.withCtx(()=>[l.option.tools?.search?(e.openBlock(),e.createBlock(e.unref(h.ElButton),{key:0,type:"primary",onClick:e.unref(t).search.submit},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(k).tCurd("search")),1)]),_:1},8,["onClick"])):e.createCommentVNode("",!0),l.option.tools?.reset?(e.openBlock(),e.createBlock(e.unref(h.ElButton),{key:1,onClick:e.unref(t).search.reset},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(k).tCurd("reset")),1)]),_:1},8,["onClick"])):e.createCommentVNode("",!0)]),_:1})):e.createCommentVNode("",!0),e.renderSlot(g.$slots,"search-end",{row:e.unref(t).search.form})]),_:3},8,["model","size"])])):e.createCommentVNode("",!0),e.createElementVNode("div",pe,[e.createElementVNode("div",me,[e.unref(n)(l.option.tools?.add)?(e.openBlock(),e.createElementBlock("div",ge,[e.createVNode(e.unref(h.ElButton),{type:"primary",onClick:p[0]||(p[0]=i=>e.unref(t).update.open(e.unref(f).Add)),size:l.option.size?.search},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(k).tCurd("add")),1)]),_:1},8,["size"])])):e.createCommentVNode("",!0),l.option.table?.selectable&&e.unref(n)(l.option.tools?.delete)?(e.openBlock(),e.createElementBlock("div",he,[e.createVNode(e.unref(h.ElButton),{type:"danger",onClick:p[1]||(p[1]=i=>e.unref(t).remove.open(e.unref(t).table.selection.list)),size:l.option.size?.search},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(k).tCurd("delete")),1)]),_:1},8,["size"])])):e.createCommentVNode("",!0),l.option.tools?.expand?(e.openBlock(),e.createElementBlock("div",ye,[e.createVNode(e.unref(h.ElButton),{type:"warning",onClick:p[2]||(p[2]=i=>e.unref(t).table.expand.all()),size:l.option.size?.search},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(k).tCurd("expandCollapse")),1)]),_:1},8,["size"])])):e.createCommentVNode("",!0),l.option.tools?.export?.show?(e.openBlock(),e.createElementBlock(e.Fragment,{key:3},[l.option.tools?.export?.dropdown?.show?(e.openBlock(),e.createBlock(e.unref(h.ElDropdown),{key:0,onCommand:e.unref(t).export.click},{dropdown:e.withCtx(()=>[e.createVNode(e.unref(h.ElDropdownMenu),{size:l.option.size?.search},{default:e.withCtx(()=>[l.option.tools?.export?.dropdown?.select&&(l.option.table?.selectable||e.unref(n)(l.option.tools?.delete))?(e.openBlock(),e.createBlock(e.unref(h.ElDropdownItem),{key:0,command:"select"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(k).tCurd("exportSelect")),1)]),_:1})):e.createCommentVNode("",!0),l.option.tools?.export?.dropdown?.page?(e.openBlock(),e.createBlock(e.unref(h.ElDropdownItem),{key:1,command:"page"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(k).tCurd("exportPage")),1)]),_:1})):e.createCommentVNode("",!0),l.option.tools?.export?.dropdown?.all?(e.openBlock(),e.createBlock(e.unref(h.ElDropdownItem),{key:2,command:"all"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(k).tCurd("exportAll")),1)]),_:1})):e.createCommentVNode("",!0)]),_:1},8,["size"])]),default:e.withCtx(()=>[e.createElementVNode("div",ke,[e.createVNode(e.unref(h.ElButton),{type:"warning",loading:e.unref(t).export.loading,size:l.option.size?.search},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(k).tCurd("export")),1)]),_:1},8,["loading","size"])])]),_:1},8,["onCommand"])):(e.openBlock(),e.createElementBlock("div",be,[e.createVNode(e.unref(h.ElButton),{type:"warning",loading:e.unref(t).export.loading,size:l.option.size?.search,onClick:p[3]||(p[3]=i=>e.unref(t).export.run.start("all"))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(k).tCurd("export")),1)]),_:1},8,["loading","size"])]))],64)):e.createCommentVNode("",!0),e.renderSlot(g.$slots,"tools-left")]),e.createElementVNode("div",ue,[e.renderSlot(g.$slots,"tools-right"),e.unref(t).page.showTools?(e.openBlock(),e.createBlock(e.unref(h.ElPagination),e.mergeProps({key:0,"current-page":e.unref(t).page.num,"onUpdate:currentPage":p[4]||(p[4]=i=>e.unref(t).page.num=i),"page-size":e.unref(t).page.size,"onUpdate:pageSize":p[5]||(p[5]=i=>e.unref(t).page.size=i),background:"","page-sizes":e.unref(t).page.sizeList,"pager-count":e.unref(t).page.pagerCount,layout:e.unref(t).page.layout,total:e.unref(t).page.total,size:l.option.size?.table,onSizeChange:e.unref(t).table.getList,onCurrentChange:e.unref(t).table.getList},l.option.page?.pagination||{},e.toHandlers(l.option.page?.pagination?.on||{})),null,16,["current-page","page-size","page-sizes","pager-count","layout","total","size","onSizeChange","onCurrentChange"])):e.createCommentVNode("",!0),l.option.tools?.refresh===void 0||l.option.tools?.refresh?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(["refresh-btn",[l.option.size?.search]]),onClick:p[6]||(p[6]=(...i)=>e.unref(t).table.getList&&e.unref(t).table.getList(...i))},[e.createVNode(Z)],2)):e.createCommentVNode("",!0)])]),e.createElementVNode("div",{class:e.normalizeClass(["fit-width relative form-box",[l.option.table?.fitHeight?"col ":"",l.option.table?.editMode?"edit-mode":""]])},[e.createElementVNode("div",{class:e.normalizeClass(["column form-box-content",[l.option.table?.fitHeight?"absolute fit":""]])},[e.withDirectives((e.openBlock(),e.createBlock(e.unref(h.ElTable),e.mergeProps({ref_key:"tableRef",ref:c,data:e.unref(t).table.data,border:l.option.table?.border===void 0?!0:l.option.table?.border,onSelectionChange:e.unref(t).table.selection.change,onSortChange:e.unref(t).table.sort.change,"expand-row-keys":e.unref(t).table.expand.rowKeys,onExpandChange:e.unref(t).table.expand.change},l.option.table,e.toHandlers(l.option.table?.on||{})),{default:e.withCtx(()=>[(typeof l.option.table?.selectable=="object"?l.option.table?.selectable?.show:l.option.table?.selectable)||e.unref(n)(l.option.tools?.delete)||l.option.tools?.export?.show&&l.option.tools?.export?.select?(e.openBlock(),e.createBlock(e.unref(h.ElTableColumn),e.mergeProps({key:0,type:"selection",width:"40",align:"center",fixed:"left","show-overflow-tooltip":!1,className:"cc1-form-selectable-column"},typeof l.option.table?.selectable=="object"?l.option.table?.selectable:{},e.toHandlers(typeof l.option.table?.selectable=="object"?l.option.table?.selectable?.on||{}:{})),null,16)):e.createCommentVNode("",!0),e.createVNode(le,{conf:e.unref(t),columnList:e.unref(t).table.column.list,option:l.option},e.createSlots({_:2},[e.renderList(g.$slots,(i,m)=>({name:m,fn:e.withCtx(y=>[e.renderSlot(g.$slots,m,e.normalizeProps(e.guardReactiveProps(y||{})))])}))]),1032,["conf","columnList","option"]),e.unref(n)(l.option.table?.add)||e.unref(n)(l.option.table?.update)||e.unref(n)(l.option.table?.delete)||e.unref(n)(l.option.table?.view)||g.$slots["table-op-left"]||g.$slots["table-op-right"]?(e.openBlock(),e.createBlock(e.unref(h.ElTableColumn),e.mergeProps({key:1,width:"auto","max-width":"200",align:"center",fixed:"right"},l.option.table?.operate,{"show-overflow-tooltip":!1}),{header:e.withCtx(()=>[e.renderSlot(g.$slots,"table-header-op",{},()=>[e.createTextVNode(e.toDisplayString(e.unref(k).tCurd("operation")),1)])]),default:e.withCtx(({row:i})=>[e.createVNode(e.unref(h.ElForm),{size:l.option.size?.table},{default:e.withCtx(()=>[e.renderSlot(g.$slots,"table-op-left",{row:i}),e.unref(t).update.type===e.unref(f).Update&&l.option.table?.inlineEdit&&e.unref(t).update.form[d.option.table?.rowKey]===i[d.option.table?.rowKey]?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createVNode(e.unref(h.ElButton),{link:"",type:"info",onClick:e.unref(t).update.close},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(k).tCurd("cancel")),1)]),_:1},8,["onClick"]),e.createVNode(e.unref(h.ElButton),{link:"",type:"primary",onClick:e.unref(t).update.submit,loading:e.unref(t).update.loading},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(k).tCurd("confirm")),1)]),_:1},8,["onClick","loading"]),e.renderSlot(g.$slots,"table-op-edit-right",{row:i})],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.unref(n)(l.option.table?.add,i)?(e.openBlock(),e.createBlock(e.unref(h.ElButton),{key:0,link:"",type:"primary",onClick:m=>e.unref(t).update.open(e.unref(f).Add,i)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(k).tCurd("add")),1)]),_:2},1032,["onClick"])):e.createCommentVNode("",!0),e.unref(n)(l.option.table?.view,i)?(e.openBlock(),e.createBlock(e.unref(h.ElButton),{key:1,link:"",type:"primary",onClick:m=>e.unref(t).update.open(e.unref(f).View,i)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(k).tCurd("view")),1)]),_:2},1032,["onClick"])):e.createCommentVNode("",!0),e.unref(n)(l.option.table?.update,i)?(e.openBlock(),e.createBlock(e.unref(h.ElButton),{key:2,link:"",type:"warning",onClick:m=>e.unref(t).update.open(e.unref(f).Update,i)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(k).tCurd("edit")),1)]),_:2},1032,["onClick"])):e.createCommentVNode("",!0),e.unref(n)(l.option.table?.delete,i)?(e.openBlock(),e.createBlock(e.unref(h.ElButton),{key:3,link:"",type:"danger",onClick:m=>e.unref(t).remove.open([i])},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(k).tCurd("delete")),1)]),_:2},1032,["onClick"])):e.createCommentVNode("",!0),e.renderSlot(g.$slots,"table-op-right",{row:i})],64))]),_:2},1032,["size"])]),_:3},16)):e.createCommentVNode("",!0)]),_:3},16,["data","border","onSelectionChange","onSortChange","expand-row-keys","onExpandChange"])),[[s,e.unref(t).table.loading]])],2)],2),e.createElementVNode("div",we,[(l.option.page?.show===void 0||l.option.page?.show)&&!e.unref(t).page.showTools?(e.openBlock(),e.createBlock(e.unref(h.ElPagination),e.mergeProps({key:0,"current-page":e.unref(t).page.num,"onUpdate:currentPage":p[7]||(p[7]=i=>e.unref(t).page.num=i),"page-size":e.unref(t).page.size,"onUpdate:pageSize":p[8]||(p[8]=i=>e.unref(t).page.size=i),background:"","page-sizes":e.unref(t).page.sizeList,"pager-count":e.unref(t).page.pagerCount,layout:e.unref(t).page.layout,total:e.unref(t).page.total,size:l.option.size?.table,onSizeChange:e.unref(t).table.getList,onCurrentChange:e.unref(t).table.getList},l.option.page?.pagination||{},e.toHandlers(l.option.page?.pagination?.on||{})),null,16,["current-page","page-size","page-sizes","pager-count","layout","total","size","onSizeChange","onCurrentChange"])):e.createCommentVNode("",!0)])],2),e.renderSlot(g.$slots,"box-right")],2),e.createVNode(e.unref(h.ElDialog),e.mergeProps({modelValue:e.unref(t).update.show,"onUpdate:modelValue":p[9]||(p[9]=i=>e.unref(t).update.show=i),title:e.unref(t).update.title,"before-close":e.unref(t).update.close},l.option.dialog),{footer:e.withCtx(()=>[e.createElementVNode("span",Ce,[e.createVNode(e.unref(h.ElForm),{size:l.option.size?.form},{default:e.withCtx(()=>[e.createVNode(e.unref(h.ElButton),{onClick:e.unref(t).update.close},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(k).tCurd("close")),1)]),_:1},8,["onClick"]),e.unref(t).update.type!==e.unref(f).View?(e.openBlock(),e.createBlock(e.unref(h.ElButton),{key:0,type:"primary",onClick:e.unref(t).update.submit,loading:e.unref(t).update.loading},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(k).tCurd("submit")),1)]),_:1},8,["onClick","loading"])):e.createCommentVNode("",!0)]),_:1},8,["size"])])]),default:e.withCtx(()=>[e.createVNode(e.unref(h.ElForm),{ref_key:"ruleFormRef",ref:r,model:e.unref(t).update.form,rules:e.unref(t).update.rules,size:l.option.size?.form,class:"update-dialog-form"},{default:e.withCtx(()=>[e.unref(t).update.showContent?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(e.unref(t).update.formColumn,i=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(n)((()=>{const m=[],y=C=>{C?.item?.children?y(C.item.children):m.push(...C.map(E=>E.item?.show?.form))};return y(i),m})(),e.unref(t).update.form,e.unref(t).update.type)?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["row curd-row",{stripe:l.option.form?.stripe===void 0?!0:l.option.form?.stripe}])},[e.renderSlot(g.$slots,"form-start",{row:e.unref(t).update.form}),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i,m=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(n)(m.item.show?.form,e.unref(t).update.form,e.unref(t).update.type)?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass([m.item.form.span>0?`col-${e.unref(t).getColumnSpan(m,i)}`:"col",`form-item-col-${m.item.key}`])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m.item.children?m.children:[m],y=>(e.openBlock(),e.createBlock(ce,{key:y.item.key,conf:e.unref(t),item:y},e.createSlots({_:2},[e.renderList(g.$slots,(C,E)=>({name:E,fn:e.withCtx(V=>[e.renderSlot(g.$slots,E,e.mergeProps({ref_for:!0},V||{}))])}))]),1032,["conf","item"]))),128))],2)):e.createCommentVNode("",!0)],64))),256)),e.renderSlot(g.$slots,"form-end",{row:e.unref(t).update.form})],2)):e.createCommentVNode("",!0)],64))),256)):e.createCommentVNode("",!0)]),_:3},8,["model","rules","size"])]),_:3},16,["modelValue","title","before-close"]),e.createVNode(e.unref(h.ElDialog),{modelValue:e.unref(t).remove.show,"onUpdate:modelValue":p[10]||(p[10]=i=>e.unref(t).remove.show=i),title:e.unref(t).remove.title,"close-on-click-modal":!1},{footer:e.withCtx(()=>[e.createElementVNode("span",Be,[e.createVNode(e.unref(h.ElForm),{size:l.option.size?.form},{default:e.withCtx(()=>[e.createVNode(e.unref(h.ElButton),{onClick:e.unref(t).remove.close},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(k).tCurd("close")),1)]),_:1},8,["onClick"]),e.createVNode(e.unref(h.ElButton),{type:"danger",onClick:e.unref(t).remove.submit,loading:e.unref(t).remove.loading},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(k).tCurd("confirmDelete")),1)]),_:1},8,["onClick","loading"])]),_:1},8,["size"])])]),default:e.withCtx(()=>[e.createElementVNode("div",null,e.toDisplayString(e.unref(k).tCurd("confirmDeleteMessage",e.unref(t).remove.items.length)),1)]),_:1},8,["modelValue","title"]),e.createVNode(Q,{ref_key:"switchConfirmRef",ref:o,size:l.option.size?.form},null,8,["size"])],2)}}});class Ve{static async download(a,f="download.png"){const d=document.createElement("a");d.style.display="none",d.href=a,d.setAttribute("download",f),typeof d.download>"u"&&d.setAttribute("target","_blank"),document.body.appendChild(d),d.click(),document.body.removeChild(d),window.URL.revokeObjectURL(a)}static exportJSONFile=(a,f)=>{const d=new Blob([JSON.stringify(a)],{type:"application/json"}),n=URL.createObjectURL(d),t=document.createElement("a");t.href=n,t.download=`${f||"config"}.json`,t.click()};static importFile=async a=>new Promise((f,d)=>{const n=document.createElement("input");n.type="file";const t=a?.accept||".json";n.accept=t,n.style.display="none",n.onchange=o=>{const r=o.target.files[0];if(!r){b.fail("未选择文件"),d("未选择文件");return}const c=new FileReader;c.onload=async g=>{const p=t==".json"?JSON.parse(g.target.result):g.target.result;f(p)},c.onerror=()=>{b.fail("文件读取失败"),d("文件读取失败")},c.readAsText(r),document.body.removeChild(n)},document.body.appendChild(n),n.click()})}const M=(l,a)=>{if(l.component("TCurd",$),l.component("TFormList",U),l.component("TColumn",F),a?.customComponent){B.customComponent=a.customComponent;for(const f in a.customComponent)l.component(f,a.customComponent[f])}},Ee={install:M};w.ArrUtil=D,w.ExcelUtil=O,w.TColumn=F,w.TCurd=$,w.TFile=Ve,w.TForm=B,w.TFormConfig=u,w.TFormI18n=k,w.TFormList=U,w.TSys=b,w.default=Ee,w.install=M,Object.defineProperties(w,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
1
+ (function(C,h){typeof exports=="object"&&typeof module<"u"?h(exports,require("element-plus"),require("vue-router"),require("vue")):typeof define=="function"&&define.amd?define(["exports","element-plus","vue-router","vue"],h):(C=typeof globalThis<"u"?globalThis:C||self,h(C.cc1Form={},C.ElementPlus,C.VueRouter,C.Vue))})(this,(function(C,h,Ke,e){"use strict";class b{static router;static routes;static getRouterPath=()=>this.router.currentRoute.value.path;static EDialog={Add:"Add",Update:"Update",View:"View",Remove:"Remove"};static isFun=(n,...f)=>Array.isArray(n)?n.some(d=>typeof d=="function"?d(...f):d):typeof n=="function"?n(...f):n;static getRouterParams=()=>{const n=this.router.currentRoute.value.query||{},f=this.router.currentRoute.value.params||{};return Object.keys(n).length?n:Object.keys(f).length?f:{}};static moduleObj={};static loadModule=async n=>{if(!b.moduleObj[n])throw new Error(`模块${n}未加载,请赋值如:TSys.moduleObj = { ${n}: ()=>import('${n}') }`);const f=await b.moduleObj[n]();return f.default??f};static tipMessages={};static tipMessagesGap=500;static showMessage(n,f,d={}){const a=Date.now();if(!this.tipMessages[n]||a-this.tipMessages[n]>this.tipMessagesGap){this.tipMessages[n]=a;const o=Object.assign({message:n,type:f},d);h.ElMessage(o),setTimeout(()=>{delete this.tipMessages[n]},this.tipMessagesGap)}}static fail=(n,f={})=>{this.showMessage(n,"error",f)};static success=(n,f={})=>{this.showMessage(n,"success",f)};static loadingObj=null;static loadingTimer=null;static loading=(n=!0,f="Loading...")=>{Timer.un(this.loadingTimer),this.loadingTimer=Timer.once(()=>{n?this.loadingObj=h.ElLoading.service({lock:!0,text:f,background:"rgba(0, 0, 0, 0.3)"}):this.loadingObj&&(this.loadingObj.close(),this.loadingObj=null)},50)};static openUrl=(n,f=!0)=>{if(f){let d=screen.width/2-500,a=screen.height/2-800/2-30;window.open(n,"_blank","toolbar=no, location=yes, directories=no, status=yes, menubar=no, scrollbars=yes, resizable=no, copyhistory=no, width=1000, height=800, top="+a+", left="+d)}else window.open(n,"DescriptiveWindowName"+StrUtil.getId(),"resizable,scrollbars=yes,status=1,width=1024, height=600, top=0, left=0")};static getImgPic=n=>new Promise(async(f,d)=>{let a=document.getElementById(n.id);const o=await b.loadModule("html2canvas");try{o(a,{logging:!1,allowTaint:!0,scale:window.devicePixelRatio,width:n.windowWidth,height:n.windowHeight,windowWidth:n.windowWidth,windowHeight:n.windowHeight,useCORS:!0,backgroundColor:"#ffffff00"}).then(function(t){let r=t.toDataURL("image/png");f(r)})}catch(t){d(t)}})}class w{static config={field:{page:{num:"num",size:"size"},result:{list:"list",pages:"pages",num:"num",size:"size",total:"total"}},dialog:{width:"980px",closeOnClickModal:!1},pagination:{layout:"total, sizes, prev, pager, next, jumper",pageSizes:[10,20,50,100],size:10,pagerCount:7,showTools:!1},size:{table:"default",form:"default",search:"default"},tools:{expandColumn:!1,refresh:!0,expand:!1,search:!0,reset:!0,add:!0,delete:!0,export:{show:!0,dropdown:{show:!0,select:!0,page:!0,all:!0},fileName:"Export Data "}},form:{size:"default",labelWidth:"120px",stripe:!0,editAll:!1,maxSpan:12,defaultSpan:6,openBefore:void 0,openAfter:void 0,closeBefore:void 0,submitBefore:void 0,submitAfter:void 0},table:{labelWidth:"100px",size:"default",emptyText:"",headerCellClassName:"table-header",rowKey:"_id",highlightCurrentRow:!0,border:!0,selectable:!1,column:[],showOverflowTooltip:!0,showSummary:!1,summaryMethod:()=>[],inlineEdit:!1,operate:{width:void 0},add:!1,update:!0,delete:!0,sort:{props:{field:"sortField"},order:{field:"sortOrder",asc:"asc",desc:"desc"},resetPage:!1,change:void 0},fitHeight:!0},columnConfig:{type:"input",form:{width:"100%",spanCol:!1},table:{table:!0,minWidth:120,width:void 0,fixed:void 0,align:"center",showOverflowTooltip:!0,format:void 0,click:{callback:void 0,color:"#409EFF"},tooltip:void 0},show:{table:!0,search:!1,form:!0},sort:{search:0,table:0,form:0},disabled:{view:!0},options:{switch:{activeValue:!0,inactiveValue:!1,tableConfig:{change:!0,confirm:!0,loadList:!0}},treeSelect:{multiple:!0,renderAfterExpand:!1,showCheckbox:!0,checkStrictly:!0,checkOnClickNode:!0,props:{label:"title",children:"children"}},datetime:{type:"datetime"},select:{data:[],clearable:!0,filterable:!0,dataPath:"data.data",dataApiConfig:{once:!0,init:!0,create:!0,update:!0}},radio:{data:[],dataPath:"data.data",dataApiConfig:{once:!0,init:!0,create:!0,update:!0}}}}};static setConfig=n=>{w.config=ObjectUtil.deepMerge(w.config,n)}}class V{static customComponent={};static findOptions=(n,f)=>{const d=n.column.find(o=>o.key===f),a=o=>o.replace(/-([a-z])/g,(t,r)=>r.toUpperCase());if(d)return d.options[a(d.type)]};static setOptionsData=(n,f,d)=>{const a=V.findOptions(n,f);a&&(a.data=d)};static form={openBefore:{parentId:(n,f,d,a)=>{const o=w.config.table.rowKey;n?f.type===b.EDialog.Add?(f.form.parentId=n[o],f.form.sort=n.children.length+1):f.form.parentId=n.parentId.substring(n.parentId.lastIndexOf(",")+1):(f.form.parentId="0",f.form.sort=d.length+1),V.setOptionsData(a,"parentId",[{[o]:"0",title:"根",children:d}])}}}}function We(l){return l}const x={search:"搜索",add:"新增",edit:"编辑",view:"查看",delete:"删除",export:"导出",exportSelect:"导出选中",exportPage:"导出本页",exportAll:"导出全部",import:"导入",refresh:"刷新",reset:"重置",expandCollapse:"展开/收缩",operation:"操作",close:"关闭",cancel:"取消",submit:"提交",confirm:"确认",confirmDelete:"确认删除",confirmDeleteMessage:"确认要删除【{count}】条数据吗?",placeholderInput:"请输入",placeholderSelect:"请选择",checkFormData:"请检查表单数据",selectDataToDelete:"请选择要删除的数据",selectDataToExport:"请选择要导出的数据",noData:"暂无数据",operationSuccess:"操作成功",switchOn:"开启",switchOff:"关闭",confirmModify:"确认修改",confirmSwitchMessage:"确认要修改吗?",mergeColumn:"合并栏位",expandColumn:"展开栏位"};class y{static t(n,...f){if(typeof n=="function")return n(...f);n=String(n);let d=0;return n.replace(/{([^}]+)}/g,(a,o)=>d<f.length?String(f[d++]):`{${o}}`)}static setI18n=n=>{y.curd=ObjectUtil.deepMerge(y.curd,n)};static tCurd(n,...f){return this.t(this.curd[n],...f)}static curd=x}class N{static getIdFun=()=>StrUtil.uuid();static setId=(n,f,d)=>{f[n]||(f[n]=[]);const a=w.config.table.rowKey;f[n].forEach(o=>{d.forEach(t=>{let r=t.default??"";t.type==="number"&&(r=t.default??0),t.type==="boolean"&&(r=t.default??!1),t.type==="time"&&(r=t.default??new Date),o[t.value]===void 0&&(o[t.value]=r)}),o[a]||(o[a]=N.getIdFun())})};static add=(n,f,d,a)=>{const o=JSONUtil.cp(d);N.setId(n,f,d);const t=w.config.table.rowKey;f[n].push(o.reduce((r,c)=>{let m=c.default??"";return c.type==="number"&&(m=c.default??0),c.type==="boolean"&&(m=c.default??!1),c.type==="time"&&(m=c.default??new Date),r[c.value]=m,r},{[t]:N.getIdFun()})),a?.(f)};static remove=(n,f,d,a)=>{const o=w.config.table.rowKey;f[n]=f[n].filter(t=>t[o]!==d[o]),a?.(f)};static getNoIdData=(n,f)=>{const d=JSONUtil.cp(n),a=w.config.table.rowKey;return d.forEach(o=>{o[a]&&delete o[a],f&&o[f]&&N.getNoIdData(o[f],f)}),d}}const L={key:0,class:"column curd-form-com-list",style:{width:"100%",gap:"10px"}},A={key:0},H={class:"row items-center",style:{gap:"10px",width:"100%"}},j={key:1},F=e.defineComponent({__name:"list",props:{row:{default:{}},label:{default:"label"},value:{default:"value"},itemFields:{default:[{label:"label",value:"label"},{label:"value",value:"value"}]},field:{default:"value"},inputWidth:{default:"120px"},inputClass:{default:""},addBottom:{default:!1}},emits:["change"],setup(l,{emit:n}){const f=l,d=e.reactive({show:!1,add:(o,t,r)=>{N.add(o,t,r,()=>{a("change")})},remove:(o,t,r)=>{N.remove(o,t,r,()=>{a("change")})}});e.onMounted(()=>{N.setId(f.field,f.row,f.itemFields),d.show=!0});const a=n;return(o,t)=>{const r=e.resolveComponent("el-button"),c=e.resolveComponent("el-input");return d.show?(e.openBlock(),e.createElementBlock("div",L,[e.renderSlot(o.$slots,"list-start",{row:l.row}),l.addBottom?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",A,[e.createVNode(r,{link:"",type:"primary",onClick:t[0]||(t[0]=m=>d.add(l.field,l.row,l.itemFields))},{default:e.withCtx(()=>t[3]||(t[3]=[e.createTextVNode("添加")])),_:1})])),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.row[l.field],m=>(e.openBlock(),e.createElementBlock("div",H,[e.renderSlot(o.$slots,"item-start",{item:m,row:l.row}),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.itemFields,p=>(e.openBlock(),e.createBlock(c,{modelValue:m[p.value],"onUpdate:modelValue":s=>m[p.value]=s,style:e.normalizeStyle({width:l.inputWidth}),class:e.normalizeClass(l.inputClass),placeholder:p[l.label]||p[l.value],onChange:t[1]||(t[1]=s=>a("change"))},null,8,["modelValue","onUpdate:modelValue","style","class","placeholder"]))),256)),e.renderSlot(o.$slots,"item-end",{item:m,row:l.row}),e.createVNode(r,{link:"",type:"danger",onClick:p=>d.remove(l.field,l.row,m)},{default:e.withCtx(()=>t[4]||(t[4]=[e.createTextVNode("删除")])),_:2},1032,["onClick"])]))),256)),l.addBottom?(e.openBlock(),e.createElementBlock("div",j,[e.createVNode(r,{link:"",type:"primary",onClick:t[2]||(t[2]=m=>d.add(l.field,l.row,l.itemFields))},{default:e.withCtx(()=>t[5]||(t[5]=[e.createTextVNode("添加")])),_:1})])):e.createCommentVNode("",!0),e.renderSlot(o.$slots,"list-end",{row:l.row})])):e.createCommentVNode("",!0)}}}),I={class:"row form-item-content",style:{width:"100%"}},R={class:"col"},K={class:"col"},W=["innerHTML"],U=e.defineComponent({__name:"column",props:{option:{default:{}},type:{default:""}},setup(l,{expose:n}){const f=b.isFun,d=b.EDialog,a=e.ref(),o=l,t=e.reactive({rules:{},show:!0,form:{},formDefault:{},type:o.type||d.Add,formColumn:[],getDisabled:r=>t.type===d.View?r.disabled?.view===void 0?!0:r.disabled?.view:r.disabled?.[t.type===d.Add?"create":"update"],getBind:r=>r.options?.[t.type===d.Add?"formAdd":"formUpdate"]?.[r.type]||r.options?.[r.type]||{},getOn:r=>r.options?.[t.type===d.Add?"formAdd":"formUpdate"]?.[r.type]?.on||r.options?.[r.type]?.on||{},getColumnSpan:(r,c)=>{if(r.item.form?.spanCol){const m=o.option.form?.maxSpan||12,p=o.option.form?.defaultSpan||m/2,k=c.filter(i=>!b.isFun(i.item.show?.form,t.form,t.type)).reduce((i,g)=>i+(g.item.form?.span||p),0);return(r.item.form?.span||p)+k}return r.item.form?.span},initColumnForm:()=>{const r=o.option;t.formColumn=[],t.rules={},t.formDefault={};const c=[],m=o.option.form?.maxSpan||12,p=o.option.form?.defaultSpan||m/2;let s=[];const k=g=>{if(g.children){g.children.forEach(u=>{k(u)});return}if(t.formDefault[g.key]=g.value,g.isForm&&(typeof g.show?.form!="boolean"||g.show?.form)){g.form=g.form||{span:p},g.form.span=g.form.span??p;const u=g.form.span,E=s.reduce((S,$)=>S+$.span,u),B=s.length;if(s.push({item:g,span:u}),(B===1&&s[0].span===0||E>=m||u===0&&B>1)&&(c.push(s),s=[]),g.rules){const S={input:y.tCurd("placeholderInput"),select:y.tCurd("placeholderSelect")},$=(S[g.type]||S.input)+g.label;t.rules[g.key]=typeof g.rules=="boolean"?[{required:!0,message:$,trigger:"blur"}]:g.rules}}},i=(g,u)=>{g.isForm=u,Array.isArray(g.children)&&g.children.forEach(E=>i(E,u))};r.column.forEach(g=>{i(g,!0),k(g)}),s.length>0&&c.push(s),t.formColumn=c,t.form=JSONUtil.cp(t.formDefault)}});return t.initColumnForm(),n({ref:a,conf:t}),(r,c)=>(e.openBlock(),e.createBlock(e.unref(h.ElForm),{ref_key:"ruleFormRef",ref:a,model:t.form,rules:t.rules},{default:e.withCtx(()=>[t.show?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(t.formColumn,(m,p)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:p},[e.unref(f)(m.map(s=>s.item?.show?.form),t.form,t.type)?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["row curd-row",{stripe:l.option.form?.stripe===void 0?!0:l.option.form?.stripe}])},[e.renderSlot(r.$slots,"form-start",{row:t.form}),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(m,s=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:s.item.key},[e.unref(f)(s.item.show?.form,t.form,t.type)?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass([s.item.form.span>0?`col-${t.getColumnSpan(s,m)}`:"col",`form-item-col-${s.item.key}`])},[e.createVNode(e.unref(h.ElFormItem),{label:s.item.text?.form?.label??s.item.label,prop:s.item.key,"label-width":s.item.text?.form?.label==""?0:s.item.form?.labelWidth||l.option.form?.labelWidth||"100px"},{default:e.withCtx(()=>[e.createElementVNode("div",I,[e.renderSlot(r.$slots,"form-"+s.item.key+"-start",{row:t.form,item:s.item}),e.createElementVNode("div",R,[e.createElementVNode("div",K,[e.renderSlot(r.$slots,"form-"+s.item.key,{row:t.form,item:s.item},()=>[s.item.type==="input"?(e.openBlock(),e.createBlock(e.unref(h.ElInput),e.mergeProps({key:0,modelValue:t.form[s.item.key],"onUpdate:modelValue":k=>t.form[s.item.key]=k,ref_for:!0},t.getBind(s.item),e.toHandlers(t.getOn(s.item)),{disabled:t.getDisabled(s.item)}),null,16,["modelValue","onUpdate:modelValue","disabled"])):s.item.type==="switch"?(e.openBlock(),e.createBlock(e.unref(h.ElSwitch),e.mergeProps({key:1,modelValue:t.form[s.item.key],"onUpdate:modelValue":k=>t.form[s.item.key]=k,ref_for:!0},t.getBind(s.item),e.toHandlers(t.getOn(s.item)),{disabled:t.getDisabled(s.item)}),null,16,["modelValue","onUpdate:modelValue","disabled"])):s.item.type==="select"?(e.openBlock(),e.createBlock(e.unref(h.ElSelect),e.mergeProps({key:2,modelValue:t.form[s.item.key],"onUpdate:modelValue":k=>t.form[s.item.key]=k,ref_for:!0},t.getBind(s.item),e.toHandlers(t.getOn(s.item)),{disabled:t.getDisabled(s.item),style:{width:"100%"}}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.item.options?.select?.data,k=>(e.openBlock(),e.createBlock(e.unref(h.ElOption),{key:k.value,label:k.label,value:k.value},null,8,["label","value"]))),128))]),_:2},1040,["modelValue","onUpdate:modelValue","disabled"])):s.item.type==="radio"?(e.openBlock(),e.createBlock(e.unref(h.ElRadioGroup),e.mergeProps({key:3,modelValue:t.form[s.item.key],"onUpdate:modelValue":k=>t.form[s.item.key]=k,ref_for:!0},t.getBind(s.item),e.toHandlers(t.getOn(s.item)),{disabled:t.getDisabled(s.item),style:{width:"100%"}}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.item.options?.radio?.data,k=>(e.openBlock(),e.createBlock(e.unref(h.ElRadio),{key:k.value,label:k.label,value:k.value},null,8,["label","value"]))),128))]),_:2},1040,["modelValue","onUpdate:modelValue","disabled"])):s.item.type==="list"?(e.openBlock(),e.createBlock(F,e.mergeProps({key:4,row:t.form,field:s.item.key,ref_for:!0},t.getBind(s.item),e.toHandlers(t.getOn(s.item)),{disabled:t.getDisabled(s.item),style:{width:"100%"}}),null,16,["row","field","disabled"])):s.item.type==="treeSelect"?(e.openBlock(),e.createBlock(e.unref(h.ElTreeSelect),e.mergeProps({key:5,modelValue:t.form[s.item.key],"onUpdate:modelValue":k=>t.form[s.item.key]=k,ref_for:!0},t.getBind(s.item),e.toHandlers(t.getOn(s.item)),{disabled:t.getDisabled(s.item),style:{width:"100%"}}),null,16,["modelValue","onUpdate:modelValue","disabled"])):s.item.type==="datetime"?(e.openBlock(),e.createBlock(e.unref(h.ElDatePicker),e.mergeProps({key:6,modelValue:t.form[s.item.key],"onUpdate:modelValue":k=>t.form[s.item.key]=k,ref_for:!0},t.getBind(s.item),e.toHandlers(t.getOn(s.item)),{disabled:t.getDisabled(s.item)}),null,16,["modelValue","onUpdate:modelValue","disabled"])):s.item.type&&(e.unref(V).customComponent[s.item.type]||e.unref(V).customComponent[s.item.type]?.form)?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(V).customComponent[s.item.type]?.form||e.unref(V).customComponent[s.item.type]),e.mergeProps({key:7,modelValue:t.form[s.item.key],"onUpdate:modelValue":k=>t.form[s.item.key]=k,ref_for:!0},t.getBind(s.item),e.toHandlers(t.getOn(s.item)),{disabled:t.getDisabled(s.item)}),null,16,["modelValue","onUpdate:modelValue","disabled"])):e.createCommentVNode("",!0)]),e.renderSlot(r.$slots,"form-"+s.item.key+"-right",{row:t.form,item:s.item})]),e.renderSlot(r.$slots,"form-"+s.item.key+"-tip",{row:t.form,item:s.item},()=>[s.item.form?.tipText?(e.openBlock(),e.createElementBlock("div",{key:0,class:"form-tip-text",innerHTML:typeof s.item.form?.tipText=="function"?s.item.form?.tipText(t.form,t.type):s.item.form?.tipText},null,8,W)):e.createCommentVNode("",!0)])]),e.renderSlot(r.$slots,"form-"+s.item.key+"-end",{row:t.form,item:s.item})])]),_:2},1032,["label","prop","label-width"])],2)):e.createCommentVNode("",!0)],64))),128)),e.renderSlot(r.$slots,"form-end",{row:t.form})],2)):e.createCommentVNode("",!0)],64))),128)):e.createCommentVNode("",!0)]),_:3},8,["model","rules"]))}});class O{static exportToExcel=async(n,f,d)=>{if(!n||n.length===0)return;const a=await b.loadModule("xlsx"),o=n.map(c=>{const m={};return f.forEach(p=>{m[p.label]=c[p.key]}),m}),t=a.utils.json_to_sheet(o),r=a.utils.book_new();a.utils.book_append_sheet(r,t,"Sheet1"),d?typeof d=="function"&&(d=d()):d=`导出数据_${new Date().Format("yyyy-MM-dd")}_${new Date().getTime()}`,a.writeFile(r,`${d}.xlsx`)}}const D=b.EDialog,q=l=>{const n=e.ref(),f=e.ref(),d=e.ref(),a=e.reactive({option:l.option,search:{column:{list:[]},form:{},formDefault:{},getPlaceholder:(o,t=y.tCurd("placeholderInput"))=>o.text?.search?.placeholder===void 0?`${t}${o.label}`:o.text?.search?.placeholder,getFormData:()=>{let o={};l.option.column.forEach(r=>{(typeof r.show?.search=="function"?r.show?.search(a.search.form):r.show?.search)&&(o[r.key]=a.search.form[r.key])});const t=l.option.search?.before?.(o);return t&&(o=t),o},reset:()=>{const o=a.search.formDefault;Object.keys(o).forEach(t=>{l.option.search?.resetMode==="none"?o[t]=void 0:o[t]=a.search.formDefault[t]}),a.search.form=ObjectUtil.deepMerge(o,{}),a.page.num=1,l.option.init!==!1&&a.table.getList()},submit:()=>{a.page.num=1,a.table.getList()}},page:{num:1,total:0,layout:l.option.page?.layout||w.config.pagination.layout,showTools:l.option.page?.showTools||w.config.pagination.showTools,size:l.option.page?.size||w.config.pagination.size,sizeList:l.option.page?.sizeList||w.config.pagination.pageSizes,pagerCount:l.option.page?.pagerCount||w.config.pagination.pagerCount,getQuery:(o={})=>({[w.config.field.page.size]:o.size||a.page.size,[w.config.field.page.num]:o.num||a.page.num,...a.search.getFormData()})},table:{op:{width:(...o)=>o.filter(r=>r).length*30+60},loading:!1,data:[],expand:{isExpand:!1,rowKeys:[],change:(o,t)=>{},all:()=>{if(a.table.expand.isExpand)a.table.expand.rowKeys=[];else{const o=t=>{let r=[];return t.forEach(c=>{r.push(c[l.option.table.rowKey]),c.children&&c.children.length>0&&(r=r.concat(o(c.children)))}),r};a.table.expand.rowKeys=o(a.table.data)}a.table.expand.isExpand=!a.table.expand.isExpand}},column:{list:[],show:{listSource:[],list:[]}},header:{group:{expand:!1,toggleExpandAll:()=>{const o=!a.table.header.group.expand;a.table.header.group.expand=o,a.table.column.list.forEach(t=>{t.table?.header?.group!==void 0&&(t.table.header.group=!o),t.table?.header?.groupKey!==void 0&&(t.table.header.show=o)})}}},getList:async()=>{a.table.loading=!0;const o=l.option.api.list;try{await a.initApiData("init");let t={};if(a.table.sort.prop){const{props:g,order:u}=w.config.table.sort;t={[g.field]:a.table.sort.prop,[u.field]:a.table.sort.order}}const r=await o({...a.page.getQuery(),...t}),c=w.config.field.result,m=r.data||{[c.list]:r};let p=(Array.isArray(m[c.list]),m[c.list]);const s=a.update.formColumn.flat(),i=ObjectUtil.deepMerge({data:p},{}).data.map(g=>(Object.keys(g).forEach(E=>{const B=s.find(S=>S.item.key===E);B&&["select","radio"].includes(B.item.type)&&(B.item.table.format||(B.item.table.format=S=>B.item.options[B.item.type].data?.find($=>$.value==S[E])?.label||S[E]))}),g));a.table.data=l.option.data?await l.option.data(i,p):i,a.page.total=m[c.total]||0}catch(t){console.error(t)}finally{a.table.loading=!1}},selection:{list:[],change:o=>{a.table.selection.list=o},setList:(o,t)=>{a.table.selection.list=[];const r=d.value;if(r?.clearSelection(),!r||!o?.length)return;const c=l.option.table?.rowKey,m=a.table.data,p=s=>{const k=i=>{for(const g of i){if(c!=null&&c!==""){if(g[c]===s[c])return g}else if(g===s)return g;if(Array.isArray(g.children)&&g.children.length){const u=k(g.children);if(u!==void 0)return u}}};return k(m)};e.nextTick(()=>{o.forEach(s=>{const k=p(s)??s;if(t){const i=()=>{r.toggleRowSelection(k,!0,!1)};t(s)!==!1&&i()}else r.toggleRowSelection(k,!0,!1)})})}},sort:{prop:"",order:"",change:o=>{w.config.table.sort.resetPage&&(a.page.num=1);const t=w.config.table.sort;if(t.change){t.change(o,a);return}a.table.sort.prop=o.prop,o.order===null?a.table.sort.order="":a.table.sort.order=o.order==="ascending"?t.order.asc:t.order.desc,a.table.getList()}}},export:{run:{start:async o=>{let t=await a.export.run[o](),r=l.option.column;const c=ObjectUtil.deepMerge({data:t,columns:r},{}),m=l.option.tools?.export||{};m.before&&m.before(c),O.exportToExcel(c.data,c.columns,m.fileName)},select:async()=>{a.export.loading=!0;try{if(l.option.tools?.export?.select){await l.option.tools?.export?.select({...a.page.getQuery(),items:a.table.selection.list});return}if(a.table.selection.list.length===0)throw b.fail(y.tCurd("selectDataToExport")),new Error(y.tCurd("selectDataToExport"));return a.table.selection.list}catch(o){console.error(o)}finally{a.export.loading=!1}},page:async()=>{a.export.loading=!0;try{if(l.option.tools?.export?.page){await l.option.tools?.export?.page({...a.page.getQuery()});return}if(a.table.data.length===0)throw b.fail(y.tCurd("noData")),new Error(y.tCurd("noData"));return a.table.data}catch(o){console.error(o)}finally{a.export.loading=!1}},all:async()=>{a.export.loading=!0;try{if(l.option.tools?.export?.all){await l.option.tools?.export?.all({...a.page.getQuery()});return}const o=l.option.api.list,t=await o({...a.page.getQuery({size:999999,num:1})});return(t.data||{[w.config.field.result.list]:t})[w.config.field.result.list]}catch(o){console.error(o)}finally{a.export.loading=!1}}},loading:!1,click:o=>{a.export.loading||a.export.run.start(o)}},update:{title:"",rules:{},show:!1,showContent:!1,loading:!1,type:D.Add,form:{},formDefault:{},formColumn:[],getDisabled:o=>l.option.table?.editMode?o.disabled?.table===void 0?!1:o.disabled?.table:a.update.type===D.View?o.disabled?.view===void 0?!0:o.disabled?.view:o.disabled?.[a.update.type===D.Add?"create":"update"],getBind:o=>o.options?.[a.update.type===D.Add?"formAdd":"formUpdate"]?.[o.type]||o.options?.[o.type]||{},getOn:(o,t)=>{const c=o.options?.[a.update.type===D.Add?"formAdd":"formUpdate"]?.[o.type]?.on||o.options?.[o.type]?.on||{},m={};return Object.keys(c).forEach(p=>{const s=c[p];typeof s=="function"?m[p]=function(...k){return s.apply(this,[...k,t||a.update.form,o])}:m[p]=s}),m},getOptions:o=>{try{const r=a.update.formColumn.flat().find(c=>c.item.key===o)?.item;return r?{options:r.options,bind:a.update.getBind(r)}:{options:{},bind:{}}}catch{return{options:{},bind:{}}}},edit:{data:{},getApiData:o=>{if(l.option.form?.editAll)return o;let t={[l.option.table?.rowKey]:a.update.edit.data[l.option.table?.rowKey]};return Object.keys(a.update.edit.data).forEach(r=>{o[r]!==a.update.edit.data[r]&&(t[r]=o[r])}),t}},view:{},open:(o,t)=>{a.update.showContent||FunUtil.throttle(async()=>{b.loading(!0);try{a.update.type=o;const r=o===D.Add;a.update.edit.data=t,a.update.title=y.tCurd(r?"add":o===D.View?"view":"edit"),a.update.form=ObjectUtil.deepMerge(r?a.update.formDefault:t,{}),await a.initApiData("update"),await l.option.form?.openBefore?.(a.update.form,a.update),(!l.option.table?.inlineEdit||r)&&(a.update.show=!0,a.update.showContent=!0),l.option.form?.openAfter?.(a.update.form,a.update)}catch(r){console.error(r)}finally{b.loading(!1)}})},submit:()=>{FunUtil.throttle(async()=>{await f.value?.validate(async(c,m)=>new Promise((p,s)=>{c||(b.fail(y.tCurd("checkFormData")),s(!1)),p()})),a.update.loading=!0;const o=a.update.type===D.Add?l.option.api.create:l.option.api.update;try{await l.option.form?.submitBefore?.(a.update.form,a.update)}catch{a.update.loading=!1;return}let t=ObjectUtil.deepMerge(a.update.form,{});delete t.children;const r=new Set(l.option.column.filter(c=>c.type==="datetime").map(c=>c.key));Object.keys(t).forEach(c=>{if(r.has(c)&&t[c]!=null){const m=new Date(t[c]).getTime();isNaN(m)||(t[c]=m)}});try{if(!o)return;await o({...t}),a.update.close(),await a.table.getList(),l.option.form?.submitAfter?.(t,a.update)}catch(c){console.error(c)}finally{a.update.loading=!1}})},close:()=>{a.update.show=!1,l.option.table?.inlineEdit&&(a.update.form={}),setTimeout(()=>{a.update.showContent=!1},350)}},remove:{title:y.tCurd("confirmDelete"),show:!1,items:[],loading:!1,close:()=>{a.remove.show=!1},open:o=>{if(o.length===0){b.fail(y.tCurd("selectDataToDelete"));return}a.remove.items=o,a.remove.show=!0},submit:()=>{FunUtil.throttle(async()=>{a.remove.loading=!0;const o=l.option.api.delete;try{if(!o)return;await o({[l.option.table?.rowKey]:a.remove.items.map(t=>t[l.option.table?.rowKey]),items:a.remove.items}),b.success(y.tCurd("operationSuccess")),a.table.data.length<=1&&a.page.num>1&&(a.page.num-=1),a.remove.close(),await a.table.getList()}catch(t){console.error(t)}finally{a.remove.loading=!1}})}},init:()=>{a.initCurdConfig(),a.initColumnOptions(),a.initColumnForm()},apiDataMap:{},initApiData:async o=>{const t=[],r=c=>{if(c.children&&c.children.length){c.children.forEach(m=>r(m));return}if(c.options?.[c.type]?.dataApi&&c.options?.[c.type]?.dataApiConfig?.[o]){if(a.apiDataMap[c.key]&&c.options?.[c.type]?.dataApiConfig?.once)return;const m=(async()=>{try{let p=await c.options?.[c.type]?.dataApi?.(a.update.form,a.update.type);if(p){const s=c.options?.[c.type]?.dataPath;!Array.isArray(p)&&s&&(p=ObjectUtil.getPathValue(p,s)),c.options[c.type].data=p,c.options.search[c.type].data=p,c.options.formAdd[c.type].data=p,c.options.formUpdate[c.type].data=p,a.apiDataMap[c.key]=p}}catch{}})();t.push(m)}};return l.option.column.forEach(c=>{r(c)}),await Promise.all(t),!0},initCurdConfig:()=>{const o=ObjectUtil.deepMerge(w.config,{});o.table.emptyText=y.tCurd("noData"),l.option.size=l.option.size||{},o.table.size=l.option.size.table||o.size.table,o.form.size=l.option.size.form||o.size.form,o.size.search=l.option.size.search||o.size.search;const t=ObjectUtil.deepMerge(o,l.option||{});Object.keys(t).forEach(r=>{l.option[r]=t[r]})},initColumnOptions:()=>{let o=JSONUtil.cp(w.config.columnConfig);o.options=ObjectUtil.deepMerge({switch:{activeText:y.tCurd("switchOn"),inactiveText:y.tCurd("switchOff")}},o.options);const t=r=>{for(const c in o){if(c==="table"){if(r.table=ObjectUtil.deepMerge(o.table,r.table||{}),r.children){r.children.forEach(p=>{t(p)});return}}else c==="type"?r.type=r.type||o.type:r[c]=ObjectUtil.deepMerge(o[c],r[c]||{});r.options=r.options||{},r.options[r.type]=r.options[r.type]||{},r.options[r.type].size=l.option.size.form,["search","formAdd","formUpdate"].forEach(p=>{r.options[p]=r.options[p]||ObjectUtil.deepMerge(r.options,{}),r.options[p][r.type]=r.options[p][r.type]||{},r.options[p][r.type].size=p==="search"?l.option.size.search:l.option.size.form}),r.table=ObjectUtil.deepMerge(r.table,r.options[r.type].table||{})}r.type==="switch"&&(r.options.switch.tableBeforeChange=async(c,m)=>{const p=r.options?.switch;try{p.tableConfig?.confirm&&await n.value?.open({title:y.tCurd("confirmModify"),content:y.tCurd("confirmSwitchMessage")});try{if(!l.option.api.update&&!p.tableConfig?.api)return;const s=m[l.option.table?.rowKey];p.loadingMap||(p.loadingMap={}),p.loadingMap[s]||(p.loadingMap[s]={loading:!1}),p.loadingMap[s].loading=!0;const k=m[c]===p.activeValue?p.inactiveValue:p.activeValue,i=p.tableConfig?.api?p.tableConfig.api:l.option.api.update;if(!i)return;try{await i({...m,[c]:k},"switch")}catch{return!1}finally{p.loadingMap[s].loading=!1}return b.success(y.tCurd("operationSuccess")),p.tableConfig?.loadList&&(a.table.loading=!0,a.table.getList(),a.table.loading=!1),!0}catch(s){return console.error(s),!1}finally{a.table.loading=!1}}catch{return!1}}),r.type==="treeSelect"&&(r.options.treeSelect.rowKey=l.option.table?.rowKey,r.options.treeSelect.nodeKey=l.option.table?.rowKey)};l.option.column.forEach(t),l.option.table?.column?.forEach(t)},getColumnSpan:(o,t)=>{if(o.item.form?.spanCol){const r=w.config.form.defaultSpan,m=t.filter(p=>!b.isFun(p.item.show?.form,a.update.form,a.update.type)).reduce((p,s)=>p+(s.item.form?.span||r),0);return(o.item?.form.span||r)+m}return o.item.form.span},initColumnForm:()=>{const o=l.option;a.update.formColumn=[],a.table.column.show={list:[],listSource:[]};const t=[],r=l.option.form?.maxSpan||12,c=l.option.form?.defaultSpan||r/2;let m=[];const p=i=>{if(i.children){a.table.column.show.list.push(i.key),i.children.forEach(g=>{p(g)});return}if(a.update.formDefault[i.key]=i.value,i.table.table&&(i.show.table&&a.table.column.show.list.push(i.key),i.table.table&&a.table.column.show.listSource.push(i.key)),!(i.isForm&&typeof i.show?.form=="boolean")||i.show?.form){i.form=i.form||{span:c},i.form.span=i.form.span??c;let g=i.form.span,u=m.reduce((B,S)=>B+S.span,g);const E=m.length;if(m.push({item:i,span:g}),(E===1&&m[0].span===0||u>=r||g===0&&E>1)&&(t.push(m),m=[]),i.rules){const B={input:y.tCurd("placeholderInput"),select:y.tCurd("placeholderSelect")},S=(B[i.type]||B.input)+i.label;a.update.rules[i.key]=typeof i.rules=="boolean"?[{required:!0,message:S,trigger:"blur"}]:i.rules}}},s=(i,g)=>{i.isForm=g,Array.isArray(i.children)&&i.children.forEach(u=>s(u,g))};o.column.forEach(i=>{i.isForm=!0,s(i,!0),p(i)}),l.option.table?.column?.forEach(i=>{s(i,!1),p(i)}),a.search.column.list=o.column.concat(o.table?.column||[]),a.table.column.list=a.search.column.list.filter(i=>i.table?.table),a.search.column.list.sort((i,g)=>i.sort?.search-g.sort?.search),a.table.column.list.sort((i,g)=>i.sort?.table-g.sort?.table),m.length>0&&t.push(m),a.update.formColumn=t;const k=l.option.search?.formDefault;k&&Object.keys(k).forEach(i=>{a.search.formDefault[i]=k[i]}),o.column.forEach(i=>{i.show?.search||(a.search.formDefault[i.key]=void 0)}),a.search.form=ObjectUtil.deepMerge(a.search.formDefault,{})}});return a.init(),e.onMounted(()=>{l.option.init!==!1&&a.table.getList()}),{conf:a,switchConfirmRef:n,ruleFormRef:f,tableRef:d}},J={class:"dialog-footer"},Q=e.defineComponent({__name:"switchConfirm",props:{size:{}},setup(l,{expose:n}){const f=e.ref(!1),d=e.ref("确认修改"),a=e.ref("确认要修改状态吗?");let o=null,t=null;const r=p=>(p?.title&&(d.value=p.title),p?.content&&(a.value=p.content),f.value=!0,new Promise((s,k)=>{o=s,t=k})),c=()=>{f.value=!1,o?.(!0),o=null,t=null},m=()=>{f.value=!1,t?.(new Error("用户取消操作")),o=null,t=null};return n({open:r}),(p,s)=>{const k=e.resolveComponent("el-form");return e.openBlock(),e.createBlock(e.unref(h.ElDialog),{modelValue:f.value,"onUpdate:modelValue":s[0]||(s[0]=i=>f.value=i),title:d.value,"close-on-click-modal":!1,width:"400px"},{footer:e.withCtx(()=>[e.createVNode(k,{size:p.size},{default:e.withCtx(()=>[e.createElementVNode("span",J,[e.createVNode(e.unref(h.ElButton),{onClick:m},{default:e.withCtx(()=>s[1]||(s[1]=[e.createTextVNode("取消")])),_:1}),e.createVNode(e.unref(h.ElButton),{type:"primary",onClick:c},{default:e.withCtx(()=>s[2]||(s[2]=[e.createTextVNode("确认")])),_:1})])]),_:1},8,["size"])]),default:e.withCtx(()=>[e.createElementVNode("div",null,e.toDisplayString(a.value),1)]),_:1},8,["modelValue","title"])}}}),z=(l,n)=>{const f=l.__vccOpts||l;for(const[d,a]of n)f[d]=a;return f},G={},X={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function Y(l,n){return e.openBlock(),e.createElementBlock("svg",X,n[0]||(n[0]=[e.createElementVNode("path",{fill:"currentColor",d:"M771.776 794.88A384 384 0 0 1 128 512h64a320 320 0 0 0 555.712 216.448H654.72a32 32 0 1 1 0-64h149.056a32 32 0 0 1 32 32v148.928a32 32 0 1 1-64 0v-50.56zM276.288 295.616h92.992a32 32 0 0 1 0 64H220.16a32 32 0 0 1-32-32V178.56a32 32 0 0 1 64 0v50.56A384 384 0 0 1 896.128 512h-64a320 320 0 0 0-555.776-216.384z"},null,-1)]))}const Z=z(G,[["render",Y]]),P={},_={"data-v-58697b5c":"",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function v(l,n){return e.openBlock(),e.createElementBlock("svg",_,n[0]||(n[0]=[e.createElementVNode("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m23.744 191.488c-52.096 0-92.928 14.784-123.2 44.352-30.976 29.568-45.76 70.4-45.76 122.496h80.256c0-29.568 5.632-52.8 17.6-68.992 13.376-19.712 35.2-28.864 66.176-28.864 23.936 0 42.944 6.336 56.32 19.712 12.672 13.376 19.712 31.68 19.712 54.912 0 17.6-6.336 34.496-19.008 49.984l-8.448 9.856c-45.76 40.832-73.216 70.4-82.368 89.408-9.856 19.008-14.08 42.24-14.08 68.992v9.856h80.96v-9.856c0-16.896 3.52-31.68 10.56-45.76 6.336-12.672 15.488-24.64 28.16-35.2 33.792-29.568 54.208-48.576 60.544-55.616 16.896-22.528 26.048-51.392 26.048-86.592q0-64.416-42.24-101.376c-28.16-25.344-65.472-37.312-111.232-37.312m-12.672 406.208a54.27 54.27 0 0 0-38.72 14.784 49.4 49.4 0 0 0-15.488 38.016c0 15.488 4.928 28.16 15.488 38.016A54.85 54.85 0 0 0 523.072 768c15.488 0 28.16-4.928 38.72-14.784a51.52 51.52 0 0 0 16.192-38.72 51.97 51.97 0 0 0-15.488-38.016 55.94 55.94 0 0 0-39.424-14.784"},null,-1)]))}const ee=z(P,[["render",v]]),te={},oe={"data-v-58697b5c":"",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function ne(l,n){return e.openBlock(),e.createElementBlock("svg",oe,n[0]||(n[0]=[e.createElementVNode("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896m-38.4 409.6H326.4a38.4 38.4 0 1 0 0 76.8h147.2v147.2a38.4 38.4 0 0 0 76.8 0V550.4h147.2a38.4 38.4 0 0 0 0-76.8H550.4V326.4a38.4 38.4 0 1 0-76.8 0z"},null,-1)]))}const ae=z(te,[["render",ne]]),le={},re={"data-v-58697b5c":"",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function ie(l,n){return e.openBlock(),e.createElementBlock("svg",re,n[0]||(n[0]=[e.createElementVNode("path",{fill:"currentColor",d:"M512 64a448 448 0 1 1 0 896 448 448 0 0 1 0-896M288 512a38.4 38.4 0 0 0 38.4 38.4h371.2a38.4 38.4 0 0 0 0-76.8H326.4A38.4 38.4 0 0 0 288 512"},null,-1)]))}const de=z(le,[["render",ie]]),se={class:"row flex-center table-header-label inline"},ce={class:"table-header-tooltip"},fe=["onClick"],pe={key:1},me=["onClick","innerHTML"],ge=e.defineComponent({__name:"tableColumn",props:{conf:{},columnList:{},option:{}},setup(l){const n=b.isFun,f=e.getCurrentInstance().type;return(d,a)=>{const o=e.resolveComponent("el-tooltip");return e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.columnList,t=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:t.key},[d.conf.table.column.show.list.includes(t.key)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[t.table?.header?.groupKey===void 0||t.table.header.show?(e.openBlock(),e.createBlock(e.unref(h.ElTableColumn),e.mergeProps({key:0,prop:t.key,label:t.label,ref_for:!0},t.table),{header:e.withCtx(()=>[e.renderSlot(d.$slots,"table-header-"+t.key,{item:t},()=>[e.createElementVNode("div",se,[t.table?.header?.tooltip?(e.openBlock(),e.createBlock(o,{key:0,effect:"dark",content:t.table?.header?.tooltip,placement:"top"},{default:e.withCtx(()=>[e.createElementVNode("span",ce,[e.createVNode(ee)])]),_:2},1032,["content"])):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(t.label)+" ",1),t.table?.header?.group!==void 0?(e.openBlock(),e.createElementBlock("span",{key:1,class:"table-header-plus",onClick:()=>{t.table.header.group=!t.table.header.group,d.columnList.forEach(r=>{r.table?.header?.groupKey===t.key&&(r.table.header.show=!t.table.header.group)})}},[t.table.header.group?(e.openBlock(),e.createBlock(ae,{key:0})):(e.openBlock(),e.createBlock(de,{key:1}))],8,fe)):e.createCommentVNode("",!0)])])]),default:e.withCtx(({row:r})=>[t.children?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[a[0]||(a[0]=e.createTextVNode("   ")),(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(f)),{conf:d.conf,columnList:t.children,option:d.option},e.createSlots({_:2},[e.renderList(d.$slots,(c,m)=>({name:m,fn:e.withCtx(p=>[e.renderSlot(d.$slots,m,e.mergeProps({ref_for:!0},p||{}))])}))]),1032,["conf","columnList","option"]))],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[d.option.table?.editMode?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["row",["table-edit-"+t.key]]),style:{width:"100%"}},[e.renderSlot(d.$slots,"table-edit-left-"+t.key,{row:r,item:t}),t.type==="input"?(e.openBlock(),e.createBlock(e.unref(h.ElInput),e.mergeProps({key:0,modelValue:r[t.key],"onUpdate:modelValue":c=>r[t.key]=c,disabled:d.conf.update.getDisabled(t),class:"col",ref_for:!0},d.conf.update.getBind(t),e.toHandlers(d.conf.update.getOn(t,r))),e.createSlots({_:2},[t.options?.input?.prepend?{name:"prepend",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(typeof t.options?.input?.prepend=="function"?t.options?.input?.prepend(r):t.options?.input?.prepend),1)]),key:"0"}:void 0]),1040,["modelValue","onUpdate:modelValue","disabled"])):t.type==="select"?(e.openBlock(),e.createBlock(e.unref(h.ElSelect),e.mergeProps({key:1,modelValue:r[t.key],"onUpdate:modelValue":c=>r[t.key]=c,disabled:d.conf.update.getDisabled(t),class:"col",ref_for:!0},d.conf.update.getBind(t),e.toHandlers(d.conf.update.getOn(t,r))),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.options?.search?.select?.data||t.options?.select?.data,c=>(e.openBlock(),e.createBlock(e.unref(h.ElOption),{key:c.value,label:c.label,value:c.value},null,8,["label","value"]))),128))]),_:2},1040,["modelValue","onUpdate:modelValue","disabled"])):t.type==="switch"?(e.openBlock(),e.createBlock(e.unref(h.ElSwitch),e.mergeProps({key:2,modelValue:r[t.key],"onUpdate:modelValue":c=>r[t.key]=c,disabled:d.conf.update.getDisabled(t),class:"col",ref_for:!0},d.conf.update.getBind(t),e.toHandlers(d.conf.update.getOn(t,r))),null,16,["modelValue","onUpdate:modelValue","disabled"])):e.createCommentVNode("",!0),e.renderSlot(d.$slots,"table-edit-right-"+t.key,{row:r,item:t})],2)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[d.conf.update.type===e.unref(b).EDialog.Update&&e.unref(n)(t.show?.form,d.conf.update.form,e.unref(b).EDialog.Update)&&d.option.table?.inlineEdit&&d.conf.update.form[d.option.table?.rowKey]===r[d.option.table?.rowKey]&&(t.type==="input"||t.type==="select")?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[t.type==="input"?(e.openBlock(),e.createBlock(e.unref(h.ElInput),e.mergeProps({key:0,modelValue:d.conf.update.form[t.key],"onUpdate:modelValue":c=>d.conf.update.form[t.key]=c,disabled:d.conf.update.getDisabled(t),ref_for:!0},d.conf.update.getBind(t),e.toHandlers(d.conf.update.getOn(t,r)),{style:{width:"100%"}}),e.createSlots({_:2},[t.options?.input?.prepend?{name:"prepend",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(typeof t.options?.input?.prepend=="function"?t.options?.input?.prepend(r):t.options?.input?.prepend),1)]),key:"0"}:void 0]),1040,["modelValue","onUpdate:modelValue","disabled"])):t.type==="select"?(e.openBlock(),e.createBlock(e.unref(h.ElSelect),e.mergeProps({key:1,modelValue:d.conf.update.form[t.key],"onUpdate:modelValue":c=>d.conf.update.form[t.key]=c,disabled:d.conf.update.getDisabled(t),ref_for:!0},d.conf.update.getBind(t),e.toHandlers(d.conf.update.getOn(t,r)),{style:{width:"100%"}}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.options?.search?.select?.data||t.options?.select?.data,c=>(e.openBlock(),e.createBlock(e.unref(h.ElOption),{key:c.value,label:c.label,value:c.value},null,8,["label","value"]))),128))]),_:2},1040,["modelValue","onUpdate:modelValue","disabled"])):t.type==="switch"?(e.openBlock(),e.createBlock(e.unref(h.ElSwitch),e.mergeProps({key:2,modelValue:d.conf.update.form[t.key],"onUpdate:modelValue":c=>d.conf.update.form[t.key]=c,ref_for:!0},d.conf.update.getBind(t),e.toHandlers(d.conf.update.getOn(t,r)),{disabled:d.conf.update.getDisabled(t)}),null,16,["modelValue","onUpdate:modelValue","disabled"])):e.createCommentVNode("",!0)],64)):e.renderSlot(d.$slots,"table-"+t.key,{key:1,row:r,item:t},()=>[e.unref(V).customComponent[t.type??""]?.table?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(V).customComponent[t.type??""]?.table),e.mergeProps({key:0,modelValue:r[t.key],"onUpdate:modelValue":c=>r[t.key]=c,ref_for:!0},t.options?.[t.type??""],e.toHandlers(t.options?.[t.type??""]?.on||{})),null,16,["modelValue","onUpdate:modelValue"])):t.type==="switch"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[t.options?.switch?.tableConfig?.change?(e.openBlock(),e.createBlock(e.unref(h.ElSwitch),e.mergeProps({key:0,modelValue:r[t.key],"onUpdate:modelValue":c=>r[t.key]=c,loading:t.options?.switch?.loadingMap?.[r[d.option.table?.rowKey]]?.loading,"before-change":()=>t.options?.switch?.tableBeforeChange?.(t.key,r),ref_for:!0},t.options?.switch),null,16,["modelValue","onUpdate:modelValue","loading","before-change"])):(e.openBlock(),e.createElementBlock("span",pe,e.toDisplayString(r[t.key]===t.options?.switch?.activeValue?t.options?.switch?.activeText:t.options?.switch?.inactiveText),1))],64)):(e.openBlock(),e.createElementBlock("span",{key:2,style:e.normalizeStyle({"--table-text-click-color":t.table?.click?.color}),class:e.normalizeClass({"table-text-click":t.table?.click?.callback}),onClick:c=>t.table?.click?.callback?.(r),innerHTML:t.table?.format?t.table?.format(r):r[t.key]},null,14,me))])],64))],64))]),_:2},1040,["prop","label"])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],64))),128)}}}),he={class:"row form-item-content",style:{width:"100%"}},ye={class:"col column form-item-content-item"},ke={class:"col"},be=["innerHTML"],ue=e.defineComponent({__name:"formColumn",props:{conf:{},item:{}},setup(l){return(n,f)=>(e.openBlock(),e.createBlock(e.unref(h.ElFormItem),{label:n.item.item.text?.form?.label??n.item.item.label,prop:n.item.item.key,"label-width":n.item.item.text?.form?.label==""?0:n.item.item.form?.labelWidth||n.conf.option.form?.labelWidth},{default:e.withCtx(()=>[e.createElementVNode("div",he,[e.renderSlot(n.$slots,"form-"+n.item.item.key+"-start",{row:n.conf.update.form,item:n.item.item}),e.createElementVNode("div",ye,[e.createElementVNode("div",ke,[e.renderSlot(n.$slots,"form-"+n.item.item.key,{row:n.conf.update.form,item:n.item.item},()=>[n.item.item.type==="input"?(e.openBlock(),e.createBlock(e.unref(h.ElInput),e.mergeProps({key:0,modelValue:n.conf.update.form[n.item.item.key],"onUpdate:modelValue":f[0]||(f[0]=d=>n.conf.update.form[n.item.item.key]=d)},n.conf.update.getBind(n.item.item),e.toHandlers(n.conf.update.getOn(n.item.item)),{disabled:n.conf.update.getDisabled(n.item.item)}),e.createSlots({_:2},[n.item.item.options?.input?.prepend?{name:"prepend",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(typeof n.item.item.options?.input?.prepend=="function"?n.item.item.options?.input?.prepend(n.conf.update.form):n.item.item.options?.input?.prepend),1)]),key:"0"}:void 0]),1040,["modelValue","disabled"])):n.item.item.type==="switch"?(e.openBlock(),e.createBlock(e.unref(h.ElSwitch),e.mergeProps({key:1,modelValue:n.conf.update.form[n.item.item.key],"onUpdate:modelValue":f[1]||(f[1]=d=>n.conf.update.form[n.item.item.key]=d)},n.conf.update.getBind(n.item.item),e.toHandlers(n.conf.update.getOn(n.item.item)),{disabled:n.conf.update.getDisabled(n.item.item)}),null,16,["modelValue","disabled"])):n.item.item.type==="select"?(e.openBlock(),e.createBlock(e.unref(h.ElSelect),e.mergeProps({key:2,modelValue:n.conf.update.form[n.item.item.key],"onUpdate:modelValue":f[2]||(f[2]=d=>n.conf.update.form[n.item.item.key]=d)},n.conf.update.getBind(n.item.item),e.toHandlers(n.conf.update.getOn(n.item.item)),{disabled:n.conf.update.getDisabled(n.item.item),style:{width:"100%"}}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.conf.update.getBind(n.item.item).data,d=>(e.openBlock(),e.createBlock(e.unref(h.ElOption),{key:d.value,label:d.label,value:d.value},null,8,["label","value"]))),128))]),_:1},16,["modelValue","disabled"])):n.item.item.type==="radio"?(e.openBlock(),e.createBlock(e.unref(h.ElRadioGroup),e.mergeProps({key:3,modelValue:n.conf.update.form[n.item.item.key],"onUpdate:modelValue":f[3]||(f[3]=d=>n.conf.update.form[n.item.item.key]=d)},n.conf.update.getBind(n.item.item),e.toHandlers(n.conf.update.getOn(n.item.item)),{disabled:n.conf.update.getDisabled(n.item.item),style:{width:"100%"}}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.conf.update.getBind(n.item.item).data,d=>(e.openBlock(),e.createBlock(e.unref(h.ElRadio),{key:d.value,label:d.label,value:d.value},null,8,["label","value"]))),128))]),_:1},16,["modelValue","disabled"])):n.item.item.type==="list"?(e.openBlock(),e.createBlock(F,e.mergeProps({key:4,row:n.conf.update.form,field:n.item.item.key},n.conf.update.getBind(n.item.item),e.toHandlers(n.conf.update.getOn(n.item.item)),{disabled:n.conf.update.getDisabled(n.item.item),style:{width:"100%"}}),null,16,["row","field","disabled"])):n.item.item.type==="treeSelect"?(e.openBlock(),e.createBlock(e.unref(h.ElTreeSelect),e.mergeProps({key:5,modelValue:n.conf.update.form[n.item.item.key],"onUpdate:modelValue":f[4]||(f[4]=d=>n.conf.update.form[n.item.item.key]=d)},n.conf.update.getBind(n.item.item),e.toHandlers(n.conf.update.getOn(n.item.item)),{disabled:n.conf.update.getDisabled(n.item.item),style:{width:"100%"}}),null,16,["modelValue","disabled"])):n.item.item.type==="datetime"?(e.openBlock(),e.createBlock(e.unref(h.ElDatePicker),e.mergeProps({key:6,modelValue:n.conf.update.form[n.item.item.key],"onUpdate:modelValue":f[5]||(f[5]=d=>n.conf.update.form[n.item.item.key]=d)},n.conf.update.getBind(n.item.item),e.toHandlers(n.conf.update.getOn(n.item.item)),{disabled:n.conf.update.getDisabled(n.item.item)}),null,16,["modelValue","disabled"])):n.item.item.type&&(e.unref(V).customComponent[n.item.item.type]||e.unref(V).customComponent[n.item.item.type]?.form)?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(V).customComponent[n.item.item.type]?.form||e.unref(V).customComponent[n.item.item.type]),e.mergeProps({key:7,modelValue:n.conf.update.form[n.item.item.key],"onUpdate:modelValue":f[6]||(f[6]=d=>n.conf.update.form[n.item.item.key]=d)},n.conf.update.getBind(n.item.item),e.toHandlers(n.conf.update.getOn(n.item.item)),{disabled:n.conf.update.getDisabled(n.item.item)}),null,16,["modelValue","disabled"])):e.createCommentVNode("",!0)]),e.renderSlot(n.$slots,"form-"+n.item.item.key+"-right",{row:n.conf.update.form,item:n.item.item})]),e.renderSlot(n.$slots,"form-"+n.item.item.key+"-tip",{row:n.conf.update.form,item:n.item.item},()=>[n.item.item.form?.tipText?(e.openBlock(),e.createElementBlock("div",{key:0,class:"form-tip-text",innerHTML:typeof n.item.item.form?.tipText=="function"?n.item.item.form?.tipText(n.conf.update.form,n.conf.update.type):n.item.item.form?.tipText},null,8,be)):e.createCommentVNode("",!0)])]),e.renderSlot(n.$slots,"form-"+n.item.item.key+"-end",{row:n.conf.update.form,item:n.item.item})])]),_:3},8,["label","prop","label-width"]))}}),we={},Ce={xmlns:"http://www.w3.org/2000/svg",viewBox:"64 64 896 896"};function Be(l,n){return e.openBlock(),e.createElementBlock("svg",Ce,n[0]||(n[0]=[e.createElementVNode("path",{fill:"currentColor",d:"M482.2 508.4L331.3 389c-3-2.4-7.3-.2-7.3 3.6V478H184V184h204v128c0 2.2 1.8 4 4 4h60c2.2 0 4-1.8 4-4V144c0-15.5-12.5-28-28-28H144c-15.5 0-28 12.5-28 28v736c0 15.5 12.5 28 28 28h284c15.5 0 28-12.5 28-28V712c0-2.2-1.8-4-4-4h-60c-2.2 0-4 1.8-4 4v128H184V546h140v85.4c0 3.8 4.4 6 7.3 3.6l150.9-119.4a4.5 4.5 0 000-7.2zM880 116H596c-15.5 0-28 12.5-28 28v168c0 2.2 1.8 4 4 4h60c2.2 0 4-1.8 4-4V184h204v294H700v-85.4c0-3.8-4.3-6-7.3-3.6l-151 119.4a4.52 4.52 0 000 7.1l151 119.5c2.9 2.3 7.3.2 7.3-3.6V546h140v294H636V712c0-2.2-1.8-4-4-4h-60c-2.2 0-4 1.8-4 4v168c0 15.5 12.5 28 28 28h284c15.5 0 28-12.5 28-28V144c0-15.5-12.5-28-28-28z"},null,-1)]))}const Ve=z(we,[["render",Be]]),Ee={},Se={xmlns:"http://www.w3.org/2000/svg",viewBox:"64 64 896 896"};function Ne(l,n){return e.openBlock(),e.createElementBlock("svg",Se,n[0]||(n[0]=[e.createElementVNode("path",{fill:"currentColor",d:"M180 176h-60c-4.4 0-8 3.6-8 8v656c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V184c0-4.4-3.6-8-8-8zm724 0h-60c-4.4 0-8 3.6-8 8v656c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V184c0-4.4-3.6-8-8-8zM785.3 504.3L657.7 403.6a7.23 7.23 0 00-11.7 5.7V476H378v-62.8c0-6-7-9.4-11.7-5.7L238.7 508.3a7.14 7.14 0 000 11.3l127.5 100.8c4.7 3.7 11.7.4 11.7-5.7V548h268v62.8c0 6 7 9.4 11.7 5.7l127.5-100.8c3.8-2.9 3.8-8.5.2-11.4z"},null,-1)]))}const De=z(Ee,[["render",Ne]]),ze={key:0,class:"relative curd-search fit-width"},$e={class:"mb-10 flex justify-between items-center fit-width"},Fe={class:"flex items-center",style:{gap:"10px"}},Ue={key:0},Oe={key:1},Te={key:2},Me={class:"export-btn"},xe={key:1,class:"export-btn"},Le={class:"flex items-center table-tools-right",style:{gap:"10px"}},Ae={class:"row justify-end mt-10 mb-10 table-bottom-pagination"},He={class:"dialog-footer"},je={class:"dialog-footer"},T=e.defineComponent({__name:"index",props:{option:{default:{}}},setup(l,{expose:n}){const f=b.EDialog,d=l,a=b.isFun,{conf:o,switchConfirmRef:t,ruleFormRef:r,tableRef:c}=q(d);return n({conf:o}),(m,p)=>{const s=e.resolveComponent("el-tooltip"),k=e.resolveDirective("loading");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["relative cc1-form-box",[l.option.table?.fitHeight?"col":"no-min-height"]])},[e.createElementVNode("div",{class:e.normalizeClass(["row",[l.option.table?.fitHeight?"absolute fit":""]]),style:{overflow:"hidden"}},[e.renderSlot(m.$slots,"box-left"),e.createElementVNode("div",{class:e.normalizeClass(["column fit-width no-wrap",[l.option.table?.fitHeight?"col":""]])},[l.option.search?.show!==!1?(e.openBlock(),e.createElementBlock("div",ze,[e.createVNode(e.unref(h.ElForm),{model:e.unref(o).search.form,inline:"",size:l.option.size?.search},{default:e.withCtx(()=>[e.renderSlot(m.$slots,"search-start",{row:e.unref(o).search.form}),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(o).search.column.list,i=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:i.key},[(typeof i.show?.search=="function"?i.show?.search(e.unref(o).search.form):i.show?.search)?(e.openBlock(),e.createBlock(e.unref(h.ElFormItem),{key:0,label:i.text?.search?.label??i.label},{default:e.withCtx(()=>[e.renderSlot(m.$slots,"search-"+i.key,{row:e.unref(o).search.form},()=>[i.type==="input"?(e.openBlock(),e.createBlock(e.unref(h.ElInput),e.mergeProps({key:0,modelValue:e.unref(o).search.form[i.key],"onUpdate:modelValue":g=>e.unref(o).search.form[i.key]=g,placeholder:e.unref(o).search.getPlaceholder(i),clearable:"",disabled:i.disabled?.search,ref_for:!0},i.options?.search?.input||i.options?.input,e.toHandlers(i.options?.search?.input?.on||i.options?.input?.on||{})),null,16,["modelValue","onUpdate:modelValue","placeholder","disabled"])):i.type==="switch"?(e.openBlock(),e.createBlock(e.unref(h.ElSelect),e.mergeProps({key:1,modelValue:e.unref(o).search.form[i.key],"onUpdate:modelValue":g=>e.unref(o).search.form[i.key]=g,placeholder:e.unref(o).search.getPlaceholder(i,e.unref(y).tCurd("placeholderSelect")),clearable:"",disabled:i.disabled?.search,ref_for:!0},i.options?.search?.switch||i.options?.switch,e.toHandlers(i.options?.search?.switch?.on||i.options?.switch?.on||{})),{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.unref(h.ElOption),{key:i.options?.switch?.activeValue,label:i.options?.switch?.activeText,value:i.options?.switch?.activeValue},null,8,["label","value"])),(e.openBlock(),e.createBlock(e.unref(h.ElOption),{key:i.options?.switch?.inactiveValue,label:i.options?.switch?.inactiveText,value:i.options?.switch?.inactiveValue},null,8,["label","value"]))]),_:2},1040,["modelValue","onUpdate:modelValue","placeholder","disabled"])):i.type==="select"?(e.openBlock(),e.createBlock(e.unref(h.ElSelect),e.mergeProps({key:2,modelValue:e.unref(o).search.form[i.key],"onUpdate:modelValue":g=>e.unref(o).search.form[i.key]=g,placeholder:e.unref(o).search.getPlaceholder(i,e.unref(y).tCurd("placeholderSelect")),clearable:"",disabled:i.disabled?.search,ref_for:!0},i.options?.search?.select||i.options?.select,e.toHandlers(i.options?.search?.select?.on||i.options?.select?.on||{})),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.options?.select?.data,g=>(e.openBlock(),e.createBlock(e.unref(h.ElOption),{key:g.value,label:g.label,value:g.value},null,8,["label","value"]))),128))]),_:2},1040,["modelValue","onUpdate:modelValue","placeholder","disabled"])):i.type==="datetime"?(e.openBlock(),e.createBlock(e.unref(h.ElDatePicker),e.mergeProps({key:3,modelValue:e.unref(o).search.form[i.key],"onUpdate:modelValue":g=>e.unref(o).search.form[i.key]=g,disabled:i.disabled?.search,ref_for:!0},i.options?.search?.datetime||i.options?.datetime,e.toHandlers(i.options?.search?.datetime?.on||i.options?.datetime?.on||{})),null,16,["modelValue","onUpdate:modelValue","disabled"])):i.type&&e.unref(V).customComponent[i.type]?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(V).customComponent[i.type]),e.mergeProps({key:4,modelValue:e.unref(o).search.form[i.key],"onUpdate:modelValue":g=>e.unref(o).search.form[i.key]=g,ref_for:!0},i.options?.search?.[i.type]||i.options?.[i.type],e.toHandlers(i.options?.search?.[i.type]?.on||i.options?.[i.type]?.on||{}),{disabled:i.disabled?.search}),null,16,["modelValue","onUpdate:modelValue","disabled"])):e.createCommentVNode("",!0)]),e.renderSlot(m.$slots,"search-"+i.key+"-right",{row:e.unref(o).search.form})]),_:2},1032,["label"])):e.createCommentVNode("",!0)],64))),128)),e.renderSlot(m.$slots,"search-center",{row:e.unref(o).search.form}),l.option.tools?.search||l.option.tools?.reset?(e.openBlock(),e.createBlock(e.unref(h.ElFormItem),{key:0},{default:e.withCtx(()=>[l.option.tools?.search?(e.openBlock(),e.createBlock(e.unref(h.ElButton),{key:0,type:"primary",onClick:e.unref(o).search.submit},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(y).tCurd("search")),1)]),_:1},8,["onClick"])):e.createCommentVNode("",!0),l.option.tools?.reset?(e.openBlock(),e.createBlock(e.unref(h.ElButton),{key:1,onClick:e.unref(o).search.reset},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(y).tCurd("reset")),1)]),_:1},8,["onClick"])):e.createCommentVNode("",!0)]),_:1})):e.createCommentVNode("",!0),e.renderSlot(m.$slots,"search-end",{row:e.unref(o).search.form})]),_:3},8,["model","size"])])):e.createCommentVNode("",!0),e.createElementVNode("div",$e,[e.createElementVNode("div",Fe,[e.unref(a)(l.option.tools?.add)?(e.openBlock(),e.createElementBlock("div",Ue,[e.createVNode(e.unref(h.ElButton),{type:"primary",onClick:p[0]||(p[0]=i=>e.unref(o).update.open(e.unref(f).Add)),size:l.option.size?.search},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(y).tCurd("add")),1)]),_:1},8,["size"])])):e.createCommentVNode("",!0),l.option.table?.selectable&&e.unref(a)(l.option.tools?.delete)?(e.openBlock(),e.createElementBlock("div",Oe,[e.createVNode(e.unref(h.ElButton),{type:"danger",onClick:p[1]||(p[1]=i=>e.unref(o).remove.open(e.unref(o).table.selection.list)),size:l.option.size?.search},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(y).tCurd("delete")),1)]),_:1},8,["size"])])):e.createCommentVNode("",!0),l.option.tools?.expand?(e.openBlock(),e.createElementBlock("div",Te,[e.createVNode(e.unref(h.ElButton),{type:"warning",onClick:p[2]||(p[2]=i=>e.unref(o).table.expand.all()),size:l.option.size?.search},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(y).tCurd("expandCollapse")),1)]),_:1},8,["size"])])):e.createCommentVNode("",!0),l.option.tools?.export?.show?(e.openBlock(),e.createElementBlock(e.Fragment,{key:3},[l.option.tools?.export?.dropdown?.show?(e.openBlock(),e.createBlock(e.unref(h.ElDropdown),{key:0,onCommand:e.unref(o).export.click},{dropdown:e.withCtx(()=>[e.createVNode(e.unref(h.ElDropdownMenu),{size:l.option.size?.search},{default:e.withCtx(()=>[l.option.tools?.export?.dropdown?.select&&(l.option.table?.selectable||e.unref(a)(l.option.tools?.delete))?(e.openBlock(),e.createBlock(e.unref(h.ElDropdownItem),{key:0,command:"select"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(y).tCurd("exportSelect")),1)]),_:1})):e.createCommentVNode("",!0),l.option.tools?.export?.dropdown?.page?(e.openBlock(),e.createBlock(e.unref(h.ElDropdownItem),{key:1,command:"page"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(y).tCurd("exportPage")),1)]),_:1})):e.createCommentVNode("",!0),l.option.tools?.export?.dropdown?.all?(e.openBlock(),e.createBlock(e.unref(h.ElDropdownItem),{key:2,command:"all"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(y).tCurd("exportAll")),1)]),_:1})):e.createCommentVNode("",!0)]),_:1},8,["size"])]),default:e.withCtx(()=>[e.createElementVNode("div",Me,[e.createVNode(e.unref(h.ElButton),{type:"warning",loading:e.unref(o).export.loading,size:l.option.size?.search},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(y).tCurd("export")),1)]),_:1},8,["loading","size"])])]),_:1},8,["onCommand"])):(e.openBlock(),e.createElementBlock("div",xe,[e.createVNode(e.unref(h.ElButton),{type:"warning",loading:e.unref(o).export.loading,size:l.option.size?.search,onClick:p[3]||(p[3]=i=>e.unref(o).export.run.start("all"))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(y).tCurd("export")),1)]),_:1},8,["loading","size"])]))],64)):e.createCommentVNode("",!0),e.renderSlot(m.$slots,"tools-left")]),e.createElementVNode("div",Le,[e.renderSlot(m.$slots,"tools-right"),e.unref(o).page.showTools?(e.openBlock(),e.createBlock(e.unref(h.ElPagination),e.mergeProps({key:0,"current-page":e.unref(o).page.num,"onUpdate:currentPage":p[4]||(p[4]=i=>e.unref(o).page.num=i),"page-size":e.unref(o).page.size,"onUpdate:pageSize":p[5]||(p[5]=i=>e.unref(o).page.size=i),background:"","page-sizes":e.unref(o).page.sizeList,"pager-count":e.unref(o).page.pagerCount,layout:e.unref(o).page.layout,total:e.unref(o).page.total,size:l.option.size?.table,onSizeChange:e.unref(o).table.getList,onCurrentChange:e.unref(o).table.getList},l.option.page?.pagination||{},e.toHandlers(l.option.page?.pagination?.on||{})),null,16,["current-page","page-size","page-sizes","pager-count","layout","total","size","onSizeChange","onCurrentChange"])):e.createCommentVNode("",!0),l.option.tools?.expandColumn===void 0||l.option.tools?.expandColumn?(e.openBlock(),e.createBlock(s,{key:1,effect:"dark",content:e.unref(o).table.header.group.expand?e.unref(y).tCurd("mergeColumn"):e.unref(y).tCurd("expandColumn"),placement:"top"},{default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(["refresh-btn",[l.option.size?.search]]),onClick:p[6]||(p[6]=(...i)=>e.unref(o).table.header.group.toggleExpandAll&&e.unref(o).table.header.group.toggleExpandAll(...i))},[e.unref(o).table.header.group.expand?(e.openBlock(),e.createBlock(Ve,{key:0})):(e.openBlock(),e.createBlock(De,{key:1}))],2)]),_:1},8,["content"])):e.createCommentVNode("",!0),l.option.tools?.refresh===void 0||l.option.tools?.refresh?(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass(["refresh-btn",[l.option.size?.search]]),onClick:p[7]||(p[7]=(...i)=>e.unref(o).table.getList&&e.unref(o).table.getList(...i))},[e.createVNode(Z)],2)):e.createCommentVNode("",!0)])]),e.createElementVNode("div",{class:e.normalizeClass(["fit-width relative form-box",[l.option.table?.fitHeight?"col ":"",l.option.table?.editMode?"edit-mode":""]])},[e.createElementVNode("div",{class:e.normalizeClass(["column form-box-content",[l.option.table?.fitHeight?"absolute fit":""]])},[e.withDirectives((e.openBlock(),e.createBlock(e.unref(h.ElTable),e.mergeProps({ref_key:"tableRef",ref:c,data:e.unref(o).table.data,border:l.option.table?.border===void 0?!0:l.option.table?.border,onSelectionChange:e.unref(o).table.selection.change,onSortChange:e.unref(o).table.sort.change,"expand-row-keys":e.unref(o).table.expand.rowKeys,onExpandChange:e.unref(o).table.expand.change},l.option.table,e.toHandlers(l.option.table?.on||{})),{default:e.withCtx(()=>[(typeof l.option.table?.selectable=="object"?l.option.table?.selectable?.show:l.option.table?.selectable)||e.unref(a)(l.option.tools?.delete)||l.option.tools?.export?.show&&l.option.tools?.export?.select?(e.openBlock(),e.createBlock(e.unref(h.ElTableColumn),e.mergeProps({key:0,type:"selection",width:"40",align:"center",fixed:"left","show-overflow-tooltip":!1,className:"cc1-form-selectable-column"},typeof l.option.table?.selectable=="object"?l.option.table?.selectable:{},e.toHandlers(typeof l.option.table?.selectable=="object"?l.option.table?.selectable?.on||{}:{})),null,16)):e.createCommentVNode("",!0),e.createVNode(ge,{conf:e.unref(o),columnList:e.unref(o).table.column.list,option:l.option},e.createSlots({_:2},[e.renderList(m.$slots,(i,g)=>({name:g,fn:e.withCtx(u=>[e.renderSlot(m.$slots,g,e.normalizeProps(e.guardReactiveProps(u||{})))])}))]),1032,["conf","columnList","option"]),e.unref(a)(l.option.table?.add)||e.unref(a)(l.option.table?.update)||e.unref(a)(l.option.table?.delete)||e.unref(a)(l.option.table?.view)||m.$slots["table-op-left"]||m.$slots["table-op-right"]?(e.openBlock(),e.createBlock(e.unref(h.ElTableColumn),e.mergeProps({key:1,width:"auto","max-width":"200",align:"center",fixed:"right"},l.option.table?.operate,{"show-overflow-tooltip":!1}),{header:e.withCtx(()=>[e.renderSlot(m.$slots,"table-header-op",{},()=>[e.createTextVNode(e.toDisplayString(e.unref(y).tCurd("operation")),1)])]),default:e.withCtx(({row:i})=>[e.createVNode(e.unref(h.ElForm),{size:l.option.size?.table},{default:e.withCtx(()=>[e.renderSlot(m.$slots,"table-op-left",{row:i}),e.unref(o).update.type===e.unref(f).Update&&l.option.table?.inlineEdit&&e.unref(o).update.form[d.option.table?.rowKey]===i[d.option.table?.rowKey]?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createVNode(e.unref(h.ElButton),{link:"",type:"info",onClick:e.unref(o).update.close},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(y).tCurd("cancel")),1)]),_:1},8,["onClick"]),e.createVNode(e.unref(h.ElButton),{link:"",type:"primary",onClick:e.unref(o).update.submit,loading:e.unref(o).update.loading},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(y).tCurd("confirm")),1)]),_:1},8,["onClick","loading"]),e.renderSlot(m.$slots,"table-op-edit-right",{row:i})],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.unref(a)(l.option.table?.add,i)?(e.openBlock(),e.createBlock(e.unref(h.ElButton),{key:0,link:"",type:"primary",onClick:g=>e.unref(o).update.open(e.unref(f).Add,i)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(y).tCurd("add")),1)]),_:2},1032,["onClick"])):e.createCommentVNode("",!0),e.unref(a)(l.option.table?.view,i)?(e.openBlock(),e.createBlock(e.unref(h.ElButton),{key:1,link:"",type:"primary",onClick:g=>e.unref(o).update.open(e.unref(f).View,i)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(y).tCurd("view")),1)]),_:2},1032,["onClick"])):e.createCommentVNode("",!0),e.unref(a)(l.option.table?.update,i)?(e.openBlock(),e.createBlock(e.unref(h.ElButton),{key:2,link:"",type:"warning",onClick:g=>e.unref(o).update.open(e.unref(f).Update,i)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(y).tCurd("edit")),1)]),_:2},1032,["onClick"])):e.createCommentVNode("",!0),e.unref(a)(l.option.table?.delete,i)?(e.openBlock(),e.createBlock(e.unref(h.ElButton),{key:3,link:"",type:"danger",onClick:g=>e.unref(o).remove.open([i])},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(y).tCurd("delete")),1)]),_:2},1032,["onClick"])):e.createCommentVNode("",!0),e.renderSlot(m.$slots,"table-op-right",{row:i})],64))]),_:2},1032,["size"])]),_:3},16)):e.createCommentVNode("",!0)]),_:3},16,["data","border","onSelectionChange","onSortChange","expand-row-keys","onExpandChange"])),[[k,e.unref(o).table.loading]])],2)],2),e.createElementVNode("div",Ae,[(l.option.page?.show===void 0||l.option.page?.show)&&!e.unref(o).page.showTools?(e.openBlock(),e.createBlock(e.unref(h.ElPagination),e.mergeProps({key:0,"current-page":e.unref(o).page.num,"onUpdate:currentPage":p[8]||(p[8]=i=>e.unref(o).page.num=i),"page-size":e.unref(o).page.size,"onUpdate:pageSize":p[9]||(p[9]=i=>e.unref(o).page.size=i),background:"","page-sizes":e.unref(o).page.sizeList,"pager-count":e.unref(o).page.pagerCount,layout:e.unref(o).page.layout,total:e.unref(o).page.total,size:l.option.size?.table,onSizeChange:e.unref(o).table.getList,onCurrentChange:e.unref(o).table.getList},l.option.page?.pagination||{},e.toHandlers(l.option.page?.pagination?.on||{})),null,16,["current-page","page-size","page-sizes","pager-count","layout","total","size","onSizeChange","onCurrentChange"])):e.createCommentVNode("",!0)])],2),e.renderSlot(m.$slots,"box-right")],2),e.createVNode(e.unref(h.ElDialog),e.mergeProps({modelValue:e.unref(o).update.show,"onUpdate:modelValue":p[10]||(p[10]=i=>e.unref(o).update.show=i),title:e.unref(o).update.title,"before-close":e.unref(o).update.close},l.option.dialog),{footer:e.withCtx(()=>[e.createElementVNode("span",He,[e.createVNode(e.unref(h.ElForm),{size:l.option.size?.form},{default:e.withCtx(()=>[e.createVNode(e.unref(h.ElButton),{onClick:e.unref(o).update.close},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(y).tCurd("close")),1)]),_:1},8,["onClick"]),e.unref(o).update.type!==e.unref(f).View?(e.openBlock(),e.createBlock(e.unref(h.ElButton),{key:0,type:"primary",onClick:e.unref(o).update.submit,loading:e.unref(o).update.loading},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(y).tCurd("submit")),1)]),_:1},8,["onClick","loading"])):e.createCommentVNode("",!0)]),_:1},8,["size"])])]),default:e.withCtx(()=>[e.createVNode(e.unref(h.ElForm),{ref_key:"ruleFormRef",ref:r,model:e.unref(o).update.form,rules:e.unref(o).update.rules,size:l.option.size?.form,class:"update-dialog-form"},{default:e.withCtx(()=>[e.unref(o).update.showContent?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(e.unref(o).update.formColumn,i=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(a)((()=>{const g=[],u=E=>{E?.item?.children?u(E.item.children):g.push(...E.map(B=>B.item?.show?.form))};return u(i),g})(),e.unref(o).update.form,e.unref(o).update.type)?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["row curd-row",{stripe:l.option.form?.stripe===void 0?!0:l.option.form?.stripe}])},[e.renderSlot(m.$slots,"form-start",{row:e.unref(o).update.form}),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i,g=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[e.unref(a)(g.item.show?.form,e.unref(o).update.form,e.unref(o).update.type)?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass([g.item.form.span>0?`col-${e.unref(o).getColumnSpan(g,i)}`:"col",`form-item-col-${g.item.key}`])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.item.children?g.children:[g],u=>(e.openBlock(),e.createBlock(ue,{key:u.item.key,conf:e.unref(o),item:u},e.createSlots({_:2},[e.renderList(m.$slots,(E,B)=>({name:B,fn:e.withCtx(S=>[e.renderSlot(m.$slots,B,e.mergeProps({ref_for:!0},S||{}))])}))]),1032,["conf","item"]))),128))],2)):e.createCommentVNode("",!0)],64))),256)),e.renderSlot(m.$slots,"form-end",{row:e.unref(o).update.form})],2)):e.createCommentVNode("",!0)],64))),256)):e.createCommentVNode("",!0)]),_:3},8,["model","rules","size"])]),_:3},16,["modelValue","title","before-close"]),e.createVNode(e.unref(h.ElDialog),{modelValue:e.unref(o).remove.show,"onUpdate:modelValue":p[11]||(p[11]=i=>e.unref(o).remove.show=i),title:e.unref(o).remove.title,"close-on-click-modal":!1},{footer:e.withCtx(()=>[e.createElementVNode("span",je,[e.createVNode(e.unref(h.ElForm),{size:l.option.size?.form},{default:e.withCtx(()=>[e.createVNode(e.unref(h.ElButton),{onClick:e.unref(o).remove.close},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(y).tCurd("close")),1)]),_:1},8,["onClick"]),e.createVNode(e.unref(h.ElButton),{type:"danger",onClick:e.unref(o).remove.submit,loading:e.unref(o).remove.loading},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(y).tCurd("confirmDelete")),1)]),_:1},8,["onClick","loading"])]),_:1},8,["size"])])]),default:e.withCtx(()=>[e.createElementVNode("div",null,e.toDisplayString(e.unref(y).tCurd("confirmDeleteMessage",e.unref(o).remove.items.length)),1)]),_:1},8,["modelValue","title"]),e.createVNode(Q,{ref_key:"switchConfirmRef",ref:t,size:l.option.size?.form},null,8,["size"])],2)}}});class Ie{static async download(n,f="download.png"){const d=document.createElement("a");d.style.display="none",d.href=n,d.setAttribute("download",f),typeof d.download>"u"&&d.setAttribute("target","_blank"),document.body.appendChild(d),d.click(),document.body.removeChild(d),window.URL.revokeObjectURL(n)}static exportJSONFile=(n,f)=>{const d=new Blob([JSON.stringify(n)],{type:"application/json"}),a=URL.createObjectURL(d),o=document.createElement("a");o.href=a,o.download=`${f||"config"}.json`,o.click()};static importFile=async n=>new Promise((f,d)=>{const a=document.createElement("input");a.type="file";const o=n?.accept||".json";a.accept=o,a.style.display="none",a.onchange=t=>{const r=t.target.files[0];if(!r){b.fail("未选择文件"),d("未选择文件");return}const c=new FileReader;c.onload=async m=>{const p=o==".json"?JSON.parse(m.target.result):m.target.result;f(p)},c.onerror=()=>{b.fail("文件读取失败"),d("文件读取失败")},c.readAsText(r),document.body.removeChild(a)},document.body.appendChild(a),a.click()})}const M=(l,n)=>{if(l.component("TCurd",T),l.component("TFormList",F),l.component("TColumn",U),n?.customComponent){V.customComponent=n.customComponent;for(const f in n.customComponent)l.component(f,n.customComponent[f])}},Re={install:M};C.ArrUtil=N,C.ExcelUtil=O,C.TColumn=U,C.TCurd=T,C.TFile=Ie,C.TForm=V,C.TFormConfig=w,C.TFormI18n=y,C.TFormList=F,C.TSys=b,C.default=Re,C.install=M,Object.defineProperties(C,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));