cc1-form 1.4.4 → 1.4.6

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(F,u){typeof exports=="object"&&typeof module<"u"?u(exports,require("element-plus"),require("vue-router"),require("vue"),require("cc1-vue3")):typeof define=="function"&&define.amd?define(["exports","element-plus","vue-router","vue","cc1-vue3"],u):(F=typeof globalThis<"u"?globalThis:F||self,u(F.cc1Form={},F.ElementPlus,F.VueRouter,F.Vue,F.cc1Vue3))})(this,(function(F,u,vt,e,J){"use strict";class w{static router;static routes;static getRouterPath=()=>this.router.currentRoute.value.path;static EDialog={Add:"Add",Update:"Update",View:"View",Remove:"Remove"};static isFun=(n,...s)=>Array.isArray(n)?n.some(i=>typeof i=="function"?i(...s):i):typeof n=="function"?n(...s):n;static getRouterParams=()=>{const n=this.router.currentRoute.value.query||{},s=this.router.currentRoute.value.params||{};return Object.keys(n).length?n:Object.keys(s).length?s:{}};static moduleObj={};static setModule=n=>{Object.keys(n).forEach(s=>{w.moduleObj[s]=n[s]})};static loadModule=async n=>{if(!w.moduleObj[n])throw new Error(`模块${n}未加载,请赋值如:TSys.moduleObj = { ${n}: ()=>import('${n}') }`);const s=await w.moduleObj[n]();return s.default??s};static tipMessages={};static tipMessagesGap=500;static showMessage(n,s,i={}){const o=Date.now();if(!this.tipMessages[n]||o-this.tipMessages[n]>this.tipMessagesGap){this.tipMessages[n]=o;const t=Object.assign({message:n,type:s},i);u.ElMessage(t),setTimeout(()=>{delete this.tipMessages[n]},this.tipMessagesGap)}}static fail=(n,s={})=>{this.showMessage(n,"error",s)};static success=(n,s={})=>{this.showMessage(n,"success",s)};static loadingObj=null;static loadingTimer=null;static loading=(n=!0,s="Loading...")=>{Timer.un(this.loadingTimer),this.loadingTimer=Timer.once(()=>{n?this.loadingObj=u.ElLoading.service({lock:!0,text:s,background:"rgba(0, 0, 0, 0.3)"}):this.loadingObj&&(this.loadingObj.close(),this.loadingObj=null)},50)};static openUrl=(n,s=!0)=>{if(s){let i=screen.width/2-500,o=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="+o+", left="+i)}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(s,i)=>{let o=document.getElementById(n.id);const t=await w.loadModule("html2canvas");try{t(o,{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(l){let a=l.toDataURL("image/png");s(a)})}catch(l){i(l)}})}class V{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:{index:!1,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,sortable:{show:!1,button:!1,saveButton:!0,width:54,label:"",fixed:"left",page:!1,scroll:!1,field:"sortNo",rule:"index",order:"asc",api:{}}},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=>{V.config=ObjectUtil.deepMerge(V.config,n)}}class T{static customComponent={};static error={};static findOptions=(n,s)=>{const i=n.column.find(t=>t.key===s),o=t=>t.replace(/-([a-z])/g,(l,a)=>a.toUpperCase());if(i)return i.options[o(i.type)]};static setOptionsData=(n,s,i)=>{const o=T.findOptions(n,s);o&&(o.data=i)};static form={openBefore:{parentId:(n,s,i,o)=>{const t=V.config.table.rowKey;n?s.type===w.EDialog.Add?(s.form.parentId=n[t],s.form.sort=n.children.length+1):s.form.parentId=n.parentId.substring(n.parentId.lastIndexOf(",")+1):(s.form.parentId="0",s.form.sort=i.length+1),T.setOptionsData(o,"parentId",[{[t]:"0",title:"根",children:i}])}}}}class R{static getIdFun=()=>StrUtil.uuid();static setId=(n,s,i)=>{s[n]||(s[n]=[]);const o=V.config.table.rowKey;s[n].forEach(t=>{i.forEach(l=>{let a=l.default??"";l.type==="number"&&(a=l.default??0),l.type==="boolean"&&(a=l.default??!1),l.type==="time"&&(a=l.default??new Date),t[l.value]===void 0&&(t[l.value]=a)}),t[o]||(t[o]=R.getIdFun())})};static add=(n,s,i,o)=>{const t=JSONUtil.cp(i);R.setId(n,s,i);const l=V.config.table.rowKey;s[n].push(t.reduce((a,c)=>{let f=c.default??"";return c.type==="number"&&(f=c.default??0),c.type==="boolean"&&(f=c.default??!1),c.type==="time"&&(f=c.default??new Date),a[c.value]=f,a},{[l]:R.getIdFun()})),o?.(s)};static remove=(n,s,i,o)=>{const t=V.config.table.rowKey;s[n]=s[n].filter(l=>l[t]!==i[t]),o?.(s)};static getNoIdData=(n,s)=>{const i=JSONUtil.cp(n),o=V.config.table.rowKey;return i.forEach(t=>{t[o]&&delete t[o],s&&t[s]&&R.getNoIdData(t[s],s)}),i}}const we={key:0,class:"column curd-form-com-list",style:{width:"100%",gap:"10px"}},Ce={key:0},Be={class:"row items-center",style:{gap:"10px",width:"100%"}},Ve={key:1},Q=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(r,{emit:n}){const s=r,i=e.reactive({show:!1,add:(t,l,a)=>{R.add(t,l,a,()=>{o("change")})},remove:(t,l,a)=>{R.remove(t,l,a,()=>{o("change")})}});e.onMounted(()=>{R.setId(s.field,s.row,s.itemFields),i.show=!0});const o=n;return(t,l)=>{const a=e.resolveComponent("el-button"),c=e.resolveComponent("el-input");return i.show?(e.openBlock(),e.createElementBlock("div",we,[e.renderSlot(t.$slots,"list-start",{row:r.row}),r.addBottom?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Ce,[e.createVNode(a,{link:"",type:"primary",onClick:l[0]||(l[0]=f=>i.add(r.field,r.row,r.itemFields))},{default:e.withCtx(()=>l[3]||(l[3]=[e.createTextVNode("添加")])),_:1})])),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.row[r.field],f=>(e.openBlock(),e.createElementBlock("div",Be,[e.renderSlot(t.$slots,"item-start",{item:f,row:r.row}),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.itemFields,d=>(e.openBlock(),e.createBlock(c,{modelValue:f[d.value],"onUpdate:modelValue":g=>f[d.value]=g,style:e.normalizeStyle({width:r.inputWidth}),class:e.normalizeClass(r.inputClass),placeholder:d[r.label]||d[r.value],onChange:l[1]||(l[1]=g=>o("change"))},null,8,["modelValue","onUpdate:modelValue","style","class","placeholder"]))),256)),e.renderSlot(t.$slots,"item-end",{item:f,row:r.row}),e.createVNode(a,{link:"",type:"danger",onClick:d=>i.remove(r.field,r.row,f)},{default:e.withCtx(()=>l[4]||(l[4]=[e.createTextVNode("删除")])),_:2},1032,["onClick"])]))),256)),r.addBottom?(e.openBlock(),e.createElementBlock("div",Ve,[e.createVNode(a,{link:"",type:"primary",onClick:l[2]||(l[2]=f=>i.add(r.field,r.row,r.itemFields))},{default:e.withCtx(()=>l[5]||(l[5]=[e.createTextVNode("添加")])),_:1})])):e.createCommentVNode("",!0),e.renderSlot(t.$slots,"list-end",{row:r.row})])):e.createCommentVNode("",!0)}}}),Ee={class:"row form-item-content",style:{width:"100%"}},Se={class:"col column form-item-content-item"},Ne={class:"col"},Fe=["innerHTML"],De=e.defineComponent({__name:"field",props:{item:{},form:{},type:{},labelWidth:{},getBind:{type:Function},getOn:{type:Function},getDisabled:{type:Function}},setup(r){const n=r,s=e.ref(),i=()=>{const t=s.value?.validateState;return t&&typeof t=="object"&&"value"in t?t.value:t},o=()=>{i()==="error"&&s.value?.clearValidate?.()};return e.watch(()=>n.form?.[n.item.key],()=>{o(),e.nextTick(()=>o())},{deep:!0,flush:"post"}),(t,l)=>(e.openBlock(),e.createBlock(e.unref(u.ElFormItem),{ref_key:"formItemRef",ref:s,label:t.item.text?.form?.label??t.item.label,prop:t.item.key,"label-width":t.item.text?.form?.label==""?0:t.item.form?.labelWidth||t.labelWidth},{default:e.withCtx(()=>[e.createElementVNode("div",Ee,[e.renderSlot(t.$slots,"form-"+t.item.key+"-start",{row:t.form,item:t.item}),e.createElementVNode("div",Se,[e.createElementVNode("div",Ne,[e.renderSlot(t.$slots,"form-"+t.item.key,{row:t.form,item:t.item},()=>[t.item.type==="input"?(e.openBlock(),e.createBlock(e.unref(u.ElInput),e.mergeProps({key:0,modelValue:t.form[t.item.key],"onUpdate:modelValue":l[0]||(l[0]=a=>t.form[t.item.key]=a)},t.getBind(t.item),e.toHandlers(t.getOn(t.item)),{disabled:t.getDisabled(t.item)}),e.createSlots({_:2},[t.getBind(t.item).prepend?{name:"prepend",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(typeof t.getBind(t.item).prepend=="function"?t.getBind(t.item).prepend(t.form):t.getBind(t.item).prepend),1)]),key:"0"}:void 0]),1040,["modelValue","disabled"])):t.item.type==="number"?(e.openBlock(),e.createBlock(e.unref(u.ElInputNumber),e.mergeProps({key:1,modelValue:t.form[t.item.key],"onUpdate:modelValue":l[1]||(l[1]=a=>t.form[t.item.key]=a)},t.getBind(t.item),e.toHandlers(t.getOn(t.item)),{disabled:t.getDisabled(t.item)}),null,16,["modelValue","disabled"])):t.item.type==="textarea"?(e.openBlock(),e.createBlock(e.unref(u.ElInput),e.mergeProps({key:2,type:"textarea",modelValue:t.form[t.item.key],"onUpdate:modelValue":l[2]||(l[2]=a=>t.form[t.item.key]=a)},t.getBind(t.item),e.toHandlers(t.getOn(t.item)),{disabled:t.getDisabled(t.item)}),null,16,["modelValue","disabled"])):t.item.type==="switch"?(e.openBlock(),e.createBlock(e.unref(u.ElSwitch),e.mergeProps({key:3,modelValue:t.form[t.item.key],"onUpdate:modelValue":l[3]||(l[3]=a=>t.form[t.item.key]=a)},t.getBind(t.item),e.toHandlers(t.getOn(t.item)),{disabled:t.getDisabled(t.item)}),null,16,["modelValue","disabled"])):t.item.type==="select"?(e.openBlock(),e.createBlock(e.unref(u.ElSelect),e.mergeProps({key:4,modelValue:t.form[t.item.key],"onUpdate:modelValue":l[4]||(l[4]=a=>t.form[t.item.key]=a)},t.getBind(t.item),e.toHandlers(t.getOn(t.item)),{disabled:t.getDisabled(t.item),style:{width:"100%"}}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.getBind(t.item).data||[],a=>(e.openBlock(),e.createBlock(e.unref(u.ElOption),e.mergeProps({key:a.value,ref_for:!0},a,e.toHandlers(a.on||{})),null,16))),128))]),_:1},16,["modelValue","disabled"])):t.item.type==="radio"?(e.openBlock(),e.createBlock(e.unref(u.ElRadioGroup),e.mergeProps({key:5,modelValue:t.form[t.item.key],"onUpdate:modelValue":l[5]||(l[5]=a=>t.form[t.item.key]=a)},t.getBind(t.item),e.toHandlers(t.getOn(t.item)),{disabled:t.getDisabled(t.item),style:{width:"100%"}}),{default:e.withCtx(()=>[t.getBind(t.item).type==="group"?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(t.getBind(t.item).data||[],a=>(e.openBlock(),e.createBlock(e.unref(u.ElRadioButton),e.mergeProps({key:a.value,ref_for:!0},a,e.toHandlers(a.on||{})),null,16))),128)):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(t.getBind(t.item).data||[],a=>(e.openBlock(),e.createBlock(e.unref(u.ElRadio),e.mergeProps({key:a.value,ref_for:!0},a,e.toHandlers(a.on||{})),null,16))),128))]),_:1},16,["modelValue","disabled"])):t.item.type==="checkbox"?(e.openBlock(),e.createBlock(e.unref(u.ElCheckboxGroup),e.mergeProps({key:6,modelValue:t.form[t.item.key],"onUpdate:modelValue":l[6]||(l[6]=a=>t.form[t.item.key]=a)},t.getBind(t.item),e.toHandlers(t.getOn(t.item)),{disabled:t.getDisabled(t.item),style:{width:"100%"}}),{default:e.withCtx(()=>[t.getBind(t.item).type==="group"?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(t.getBind(t.item).data||[],a=>(e.openBlock(),e.createBlock(e.unref(u.ElCheckboxButton),e.mergeProps({key:a.value,ref_for:!0},a,e.toHandlers(a.on||{})),null,16))),128)):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(t.getBind(t.item).data||[],a=>(e.openBlock(),e.createBlock(e.unref(u.ElCheckbox),e.mergeProps({key:a.value,ref_for:!0},a,e.toHandlers(a.on||{})),null,16))),128))]),_:1},16,["modelValue","disabled"])):t.item.type==="color"?(e.openBlock(),e.createBlock(e.unref(u.ElColorPicker),e.mergeProps({key:7,modelValue:t.form[t.item.key],"onUpdate:modelValue":l[7]||(l[7]=a=>t.form[t.item.key]=a)},t.getBind(t.item),e.toHandlers(t.getOn(t.item)),{disabled:t.getDisabled(t.item)}),null,16,["modelValue","disabled"])):t.item.type==="slider"?(e.openBlock(),e.createBlock(e.unref(u.ElSlider),e.mergeProps({key:8,modelValue:t.form[t.item.key],"onUpdate:modelValue":l[8]||(l[8]=a=>t.form[t.item.key]=a)},t.getBind(t.item),e.toHandlers(t.getOn(t.item)),{disabled:t.getDisabled(t.item)}),null,16,["modelValue","disabled"])):t.item.type==="list"?(e.openBlock(),e.createBlock(Q,e.mergeProps({key:9,row:t.form,field:t.item.key},t.getBind(t.item),e.toHandlers(t.getOn(t.item)),{disabled:t.getDisabled(t.item),style:{width:"100%"}}),null,16,["row","field","disabled"])):t.item.type==="treeSelect"?(e.openBlock(),e.createBlock(e.unref(u.ElTreeSelect),e.mergeProps({key:10,modelValue:t.form[t.item.key],"onUpdate:modelValue":l[9]||(l[9]=a=>t.form[t.item.key]=a)},t.getBind(t.item),e.toHandlers(t.getOn(t.item)),{disabled:t.getDisabled(t.item),style:{width:"100%"}}),null,16,["modelValue","disabled"])):t.item.type==="datetime"?(e.openBlock(),e.createBlock(e.unref(u.ElDatePicker),e.mergeProps({key:11,modelValue:t.form[t.item.key],"onUpdate:modelValue":l[10]||(l[10]=a=>t.form[t.item.key]=a)},t.getBind(t.item),e.toHandlers(t.getOn(t.item)),{disabled:t.getDisabled(t.item)}),null,16,["modelValue","disabled"])):t.item.type&&typeof t.item.type=="object"?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.item.type),e.mergeProps({key:12,modelValue:t.form[t.item.key],"onUpdate:modelValue":l[11]||(l[11]=a=>t.form[t.item.key]=a)},t.getBind(t.item),e.toHandlers(t.getOn(t.item)),{disabled:t.getDisabled(t.item)}),null,16,["modelValue","disabled"])):t.item.type&&(e.unref(T).customComponent[t.item.type]||e.unref(T).customComponent[t.item.type]?.form)?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(T).customComponent[t.item.type]?.form||e.unref(T).customComponent[t.item.type]),e.mergeProps({key:13,modelValue:t.form[t.item.key],"onUpdate:modelValue":l[12]||(l[12]=a=>t.form[t.item.key]=a)},t.getBind(t.item),e.toHandlers(t.getOn(t.item)),{disabled:t.getDisabled(t.item)}),null,16,["modelValue","disabled"])):e.createCommentVNode("",!0)]),e.renderSlot(t.$slots,"form-"+t.item.key+"-right",{row:t.form,item:t.item})]),e.renderSlot(t.$slots,"form-"+t.item.key+"-tip",{row:t.form,item:t.item},()=>[t.item.form?.tipText?(e.openBlock(),e.createElementBlock("div",{key:0,class:"form-tip-text",innerHTML:typeof t.item.form?.tipText=="function"?t.item.form?.tipText(t.form,t.type):t.item.form?.tipText},null,8,Fe)):e.createCommentVNode("",!0)])]),e.renderSlot(t.$slots,"form-"+t.item.key+"-end",{row:t.form,item:t.item})])]),_:3},8,["label","prop","label-width"]))}});function eo(r){return r}const ze={search:"搜索",add:"新增",edit:"编辑",view:"查看",delete:"删除",export:"导出",exportSelect:"导出选中",exportPage:"导出本页",exportAll:"导出全部",import:"导入",refresh:"刷新",reset:"重置",expandCollapse:"展开/收缩",operation:"操作",close:"关闭",cancel:"取消",submit:"提交",confirm:"确认",deleteTitle:"删除提示",confirmDelete:"确认删除",confirmDeleteMessage:"确认要删除【{count}】条数据吗?",placeholderInput:"请输入",placeholderSelect:"请选择",checkFormData:"部分内容未输入或输入错误,请检查",selectDataToDelete:"请选择要删除的数据",selectDataToExport:"请选择要导出的数据",noData:"暂无数据",operationSuccess:"操作成功",switchOn:"开启",switchOff:"关闭",confirmModify:"确认修改",confirmSwitchMessage:"确认要修改吗?",mergeColumn:"合并栏位",expandColumn:"展开栏位",sortable:"拖拽进行排序,点击保存排序可保存排序结果",sortableStart:"排序",sortableAction:"排序操作",sortableSave:"保存排序",sortableExit:"退出排序",sortableUpdateApiRequired:"未配置排序保存接口"};class k{static t(n,...s){if(typeof n=="function")return n(...s);n=String(n);let i=0;return n.replace(/{([^}]+)}/g,(o,t)=>i<s.length?String(s[i++]):`{${t}}`)}static setI18n=n=>{k.curd=ObjectUtil.deepMerge(k.curd,n)};static tCurd(n,...s){return this.t(this.curd[n],...s)}static curd=ze}class U{static delAllKey=n=>{Object.keys(n).forEach(s=>{delete n[s]})};static setValue=(n,s,i=!1)=>{i&&U.delAllKey(n),Object.keys(s).forEach(o=>{n[o]!==s[o]&&(n[o]=s[o])})}}const G=r=>{const n=e.reactive({}),s=()=>typeof r=="function"?r():r,i=()=>{const o=s();return o??n};return{internal:n,isExternal:()=>s()!=null,get(){return i()},set(o){U.setValue(i(),o,!0)},merge(o){U.setValue(i(),o,!1)},clear(){U.delAllKey(i())}}},K=r=>{r.forEach(n=>{console.error({field:n.field||"",error:n.error||""})})},Oe=r=>r?typeof r=="string"?r:r instanceof Error?r.message:r.message||String(r):"",P=r=>!r||typeof r!="object"?[]:Object.keys(r).flatMap(n=>(Array.isArray(r[n])?r[n]:[r[n]]).map(i=>({field:i?.field||n,error:Oe(i)}))),q=w.EDialog,L=r=>typeof r.type=="object"?"component":r.type||"input",Me=(r,n,s)=>{const i=G(()=>n.form),o=l=>X(l.update.formGrid||[],l.update.form,l.update.type,l.update.formMaxSpan).map(c=>c.item.key).filter(Boolean),t=async l=>{const a=s.ruleFormRef.value;if(!a)return!0;await e.nextTick();const c=o(l),f=Object.keys(l.update.rules||{}).filter(g=>!c.includes(g));if(f.length&&a.clearValidate(f),!c.length)return!0;if(!await a.validateField(c,async(g,p)=>{g||K(P(p))}))throw!1;return!0};return{update:{title:"",rules:{},show:!1,showContent:!1,loading:!1,type:q.Update,get form(){return i.get()},set form(l){i.set(l)},formDefault:{},formColumn:[],formGrid:[],formMaxSpan:12,getDisabled:(l,a=!1)=>{const c=r();return n.option.table?.editMode&&a?l.disabled?.table===void 0?!1:w.isFun(l.disabled?.table,c.update.form):oe(l,c.update.type,c.update.form)},getBind:l=>{const a=r();return ne(l,a.update.type)},getOn:(l,a)=>{const c=r();return re(l,c.update.type,[a||c.update.form,l])},getOptions:l=>{const a=r();try{const f=Ue(a.update.formGrid?.length?a.update.formGrid:a.update.formColumn).find(d=>d.item.key===l)?.item;return f?{options:f.options,bind:a.update.getBind(f)}:{options:{},bind:{}}}catch{return{options:{},bind:{}}}},edit:{data:{},getApiData:l=>{const a=r();if(n.option.form?.editAll)return l;const c={[n.option.table?.rowKey]:a.update.edit.data[n.option.table?.rowKey]};return Object.keys(a.update.edit.data).forEach(f=>{l[f]!==a.update.edit.data[f]&&(c[f]=l[f])}),c}},view:{},openLoading:!1,open:async(l,a)=>{const c=r();if(!(c.update.showContent||c.update.openLoading)){w.loading(!0),c.update.openLoading=!0;try{c.update.type=l;const f=l===q.Add;c.update.edit.data=f?void 0:JSONUtil.cp(a),c.update.title=k.tCurd(f?"add":l===q.View?"view":"edit");const d=f?ObjectUtil.deepMerge(JSONUtil.cp(c.update.formDefault),a?JSONUtil.cp(a):{}):JSONUtil.cp(a);U.setValue(c.update.form,d,!0),await c.initApiData("update"),await n.option.form?.openBefore?.(c.update.form,c.update),(!n.option.table?.inlineEdit||f)&&(c.update.show=!0,c.update.showContent=!0),n.option.form?.openAfter?.(c.update.form,c.update)}catch(f){console.error(f)}finally{w.loading(!1),c.update.openLoading=!1}}},errorText:"",setErrorText:l=>{const a=r();a.update.errorText||(a.update.errorText=l)},validate:async(l=!0)=>{const a=r();try{const c=n.option.table?.editMode?a.tableEditValidate.validate():t(a);return await Promise.all([c,a.formRef.validate()]),!0}catch{return l&&w.fail(a.update.errorText||k.tCurd("checkFormData")),a.update.errorText="",!1}},submit:async()=>{const l=r();if(!await l.update.validate()||l.update.loading)return;l.update.loading=!0;const c=l.update.type===q.Add?n.option.api.create:n.option.api.update;try{await n.option.form?.submitBefore?.(l.update.form,l.update)}catch{l.update.loading=!1;return}let f=ObjectUtil.deepMerge(l.update.form,{});delete f.children;const d=new Set(n.option.column.filter(g=>g.type==="datetime").map(g=>g.key));Object.keys(f).forEach(g=>{if(d.has(g)&&f[g]!=null){const p=new Date(f[g]).getTime();isNaN(p)||(f[g]=p)}});try{if(!c)return;await c({...f}),l.update.close(),await l.table.getList(),n.option.form?.submitAfter?.(f,l.update)}catch(g){console.error(g)}finally{l.update.loading=!1}},close:()=>{const l=r();l.update.show=!1,l.update.edit.data=void 0,setTimeout(()=>{l.update.showContent=!1,s.ruleFormRef.value?.resetFields?.(),i.clear()},350)}}}},$=12,W=(r,n)=>{r.isForm=n,Array.isArray(r.children)&&r.children.forEach(s=>W(s,n))},$e=r=>r.isForm===!1?!1:typeof r.show?.form=="boolean"?r.show.form:!0,ee=r=>r>$?Math.floor(r/2):r,Te=(r,n,s)=>(r.form=r.form||{span:n},s==="column"?r.form.span=r.form.span??12:r.form.span=r.form.span??n,r.form.span=ee(r.form.span),r.form.span),te=r=>{const n=r.form;return n?.row!=null&&n.row>0?ee(n.row):$},H=r=>Math.floor((r.gridRow-1)/$),oe=(r,n,s)=>{if(n===w.EDialog.View)return r.disabled?.view===void 0?!0:w.isFun(r.disabled?.view,s);const i=r.disabled?.[n===w.EDialog.Add?"create":"update"];return w.isFun(i,s)},ne=(r,n)=>{const s=L(r);return r.options?.[n===w.EDialog.Add?"formAdd":"formUpdate"]?.[s]||r.options?.[s]||{}},re=(r,n,s=[])=>{const i=L(r),t=r.options?.[n===w.EDialog.Add?"formAdd":"formUpdate"]?.[i]?.on||r.options?.[i]?.on||{},l={};return Object.keys(t).forEach(a=>{const c=t[a];typeof c=="function"?l[a]=function(...f){return c.apply(this,[...f,...s])}:l[a]=c}),l},ae=(r,n,s,i,o)=>{const t=r,l=t.colSpan??r.span;if(!r.item.form?.spanCol)return l;const a=o?.maxSpan||12,c=o?.defaultSpan||a/2,f=t.gridBand,g=n.filter(p=>f!=null?p.gridBand===f&&!w.isFun(p.item.show?.form,s,i):p.gridRow===t.gridRow&&!w.isFun(p.item.show?.form,s,i)).reduce((p,m)=>p+(m.colSpan??m.span??c),0);return l+g},Re=(r,n)=>{const s=(i,o)=>{const t=i.gridRow,l=i.gridRow+i.rowSpan-1,a=o.gridRow,c=o.gridRow+o.rowSpan-1;return t<=c&&a<=l};return r.map(i=>r.filter(t=>s(i,t)).length!==1||i.colSpan>=n?i:{...i,span:n,colSpan:n,gridColumn:1})},le=(r,n,s={})=>{const i=new Set,o=[];let t=0,l=0;const a=m=>Math.floor(m/$)*$,c=(m,h)=>`${m},${h}`,f=(m,h,B,D)=>{if(h+B>n)return!1;for(let E=0;E<D;E++)for(let S=0;S<B;S++)if(i.has(c(m+E,h+S)))return!1;return!0},d=(m,h,B,D)=>{for(let E=0;E<D;E++)for(let S=0;S<B;S++)i.add(c(m+E,h+S))},g=(m,h,B,D)=>{for(let S=a(m);S<500*$;S+=$){const Z=S+$,x=S===a(m)?Math.max(S,m):S;for(let A=x;A<Z;A++){const _=A===m?h:0;for(let I=_;I<=n-B;I++)if(f(A,I,B,D))return{tr:A,tc:I}}}return{tr:m,tc:h}},p=(m,h,B,D)=>{const E=a(m);if(D<$&&m+D<E+$){t=m+D,l=h;return}const S=h+B;if(S<n){l=S,t=E;return}l=0,t=E+$};return r.forEach(m=>{const h=m.colSpan??(m.span===0?n:m.span),B=m.rowSpan??te(m.item);m.item.form?.rowBreak&&o.length&&(l=0,t=a(t)+$);let{tr:D,tc:E}=f(t,l,h,B)?{tr:t,tc:l}:g(t,l,h,B);f(D,E,h,B)||({tr:D,tc:E}=g(0,0,h,B)),d(D,E,h,B);const S=D+1;o.push({...m,span:h,colSpan:h,rowSpan:B,gridRow:S,gridColumn:E+1,gridBand:H({gridRow:S})}),p(D,E,h,B)}),s.fillSingleRows?Re(o,n):o},X=(r,n,s,i=$)=>{const o=r.filter(a=>w.isFun(a.item.show?.form,n,s)),t=new Map;r.forEach(a=>{const f=`${a.gridBand??H(a)}:${a.gridColumn}:${a.colSpan}`;t.has(f)||t.set(f,[]),t.get(f).push(a)});const l=new Map;return t.forEach(a=>{const c=a.reduce((p,m)=>p+m.rowSpan,0);if(!(a.length>1&&c===$&&a.every(p=>p.rowSpan<$)))return;const d=a.filter(p=>w.isFun(p.item.show?.form,n,s));if(d.length!==1)return;const g=d[0];l.set(g.item.key,{...g,rowSpan:$})}),le(o.map(a=>l.get(a.item.key)||a),i,{fillSingleRows:!0})},ie=r=>{const n=new Map;return r.forEach(s=>{const i=s.gridBand??H(s);n.has(i)||n.set(i,[]),n.get(i).push(s)}),Array.from(n.keys()).sort((s,i)=>s-i).map(s=>n.get(s))},Ue=r=>r?.length?Array.isArray(r[0])?r.flat():r:[],Ae=(r,n)=>{if(!$e(r)||!r.key)return null;const s=n.defaultSpan??(n.maxSpan||12)/2,i=Te(r,s,n.layout);return{item:r,span:i}},Le=(r,n={})=>{const s=[],i=o=>{if(o.children?.length){o.children.forEach(l=>i(l));return}const t=Ae(o,n);t&&s.push(t)};return r.forEach(o=>i(o)),s},se=(r,n={})=>{const s=n.maxSpan??12,i=n.defaultSpan??s/2,o=n.layout??"row",l=Le(r,{maxSpan:s,defaultSpan:i,layout:o});if(o==="column"){const a=[];let c=1;return l.forEach(f=>{const d=te(f.item),g=s;a.push({...f,span:g,colSpan:g,rowSpan:d,gridRow:c,gridColumn:1,gridBand:H({gridRow:c})}),c+=d}),{cells:a,maxSpan:s}}return{cells:le(l,s),maxSpan:s}},He=r=>r.map(n=>n.item?.show?.form),je=(r,n,s)=>{if(!r.rules)return;const i={required:!0,message:n(r),trigger:"blur"},o=L(r),t=r.options?.datetime?.type,l=o==="datetime"&&typeof t=="string"&&t.includes("range"),a=o==="select"&&!!r.options?.select?.multiple;(l||o==="checkbox"||a)&&(i.type="array",i.min=l?2:1);const c=typeof r.rules=="boolean"?[i]:r.rules;return s?c.map(f=>s(f)):c},de=r=>typeof r=="function"?r():r,ce=r=>(n,s)=>je(n,r,i=>{const o=(t,l)=>{if(l&&Object.prototype.hasOwnProperty.call(l,n.key)&&l[n.key]!==void 0)return l[n.key];const a=de(s);return a&&Object.prototype.hasOwnProperty.call(a,n.key)?a[n.key]:t};if(i.validator){const t=i.validator;return{...i,validator:(l,a,c,f)=>{const d=de(s);return t(l,o(a,f),c,d||f)}}}return i}),fe=(r,n)=>{const s={input:k.tCurd("placeholderInput"),select:k.tCurd("placeholderSelect")},i=(s[L(r)||"input"]||s.input)+r.label;return(n||T.error.callback)?.(r.key,r)||i},pe=r=>ce(n=>fe(n,r?.error)),Ie=(r,n,s)=>{const i={},o={},t=n?.maxSpan||12,l=n?.defaultSpan||t/2,a=pe(n);r.forEach(d=>W(d,!0)),Y(r,i,o,d=>a(d,s));const{cells:c,maxSpan:f}=se(r,{maxSpan:t,defaultSpan:l,layout:n?.layout});return{formDefault:i,rules:o,formGrid:c,formMaxSpan:f,formColumn:ie(c)}},Y=(r,n,s,i)=>{const o=t=>{if(t.children?.length){t.children.forEach(l=>o(l));return}if(t.key){n[t.key]=t.value;const l=i(t);l&&(s[t.key]=l)}};r.forEach(o)},Ke={class:"curd-form-cell-inner"},me=e.defineComponent({__name:"layout",props:{formGrid:{},maxSpan:{},form:{},type:{},stripe:{type:Boolean},labelWidth:{},formOption:{},getBind:{type:Function},getOn:{type:Function},getDisabled:{type:Function}},setup(r){const n=w.isFun,s=r,i=e.computed(()=>X(s.formGrid,s.form,s.type,s.maxSpan)),o=e.computed(()=>{const p=Array.from(new Set(i.value.map(m=>m.gridBand??H(m)))).sort((m,h)=>m-h);return new Map(p.map((m,h)=>[m,h]))}),t=e.computed(()=>({gridTemplateColumns:`repeat(${s.maxSpan}, minmax(0, 1fr))`})),l=e.computed(()=>{let p=0;return i.value.forEach(m=>{const h=m.gridRow+m.rowSpan-1;h>p&&(p=h)}),p}),a=p=>p.gridRow+p.rowSpan-1>=l.value,c=p=>p.rowSpan>=$,f=p=>{const m=p.gridBand??H(p);return o.value.get(m)??m},d=p=>ae(p,i.value,s.form,s.type,{maxSpan:s.maxSpan,defaultSpan:s.formOption?.defaultSpan}),g=p=>{const m=d(p)||p.colSpan;return{gridRow:`${p.gridRow} / span ${p.rowSpan}`,gridColumn:`${p.gridColumn} / span ${m}`}};return(p,m)=>e.unref(n)(e.unref(He)(p.formGrid),p.form,p.type)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.renderSlot(p.$slots,"form-start",{row:p.form}),e.createElementVNode("div",{class:e.normalizeClass(["curd-form-grid",{stripe:p.stripe!==!1}]),style:e.normalizeStyle(t.value)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,h=>(e.openBlock(),e.createElementBlock("div",{key:h.item.key,class:e.normalizeClass(["curd-form-grid-cell",[p.stripe!==!1&&f(h)%2===0?"stripe-band-odd":"",h.gridColumn>1?"has-col-border":"",p.stripe!==!1&&a(h)?"is-last-row":"",c(h)?"is-row-span":"",`form-item-col-${h.item.key}`]]),style:e.normalizeStyle(g(h))},[e.createElementVNode("div",Ke,[e.unref(n)(h.item.show?.form,p.form,p.type)?(e.openBlock(),e.createBlock(De,{key:0,class:e.normalizeClass({"is-row-span-field":c(h)}),item:h.item,form:p.form,type:p.type,"label-width":p.labelWidth,"get-bind":p.getBind,"get-on":p.getOn,"get-disabled":p.getDisabled},e.createSlots({_:2},[e.renderList(p.$slots,(B,D)=>({name:D,fn:e.withCtx(E=>[e.renderSlot(p.$slots,D,e.mergeProps({ref_for:!0},E||{}))])}))]),1032,["class","item","form","type","label-width","get-bind","get-on","get-disabled"])):e.createCommentVNode("",!0)])],6))),128))],6),e.renderSlot(p.$slots,"form-end",{row:p.form})],64)):e.createCommentVNode("",!0)}}),ge=e.defineComponent({__name:"column",props:{option:{default:()=>({form:{},column:[]})},type:{default:""},form:{default:void 0}},setup(r,{expose:n}){const s=w.EDialog,i=e.ref(),o=r;let t=G(o.form);const l=J.Scope.getConf("curdConf"),a="formRef-"+StrUtil.getId();e.onUnmounted(()=>{l?.formRef?.remove(a)});const c=e.reactive({rules:{},show:!0,formDefault:{},type:o.type||l?.update?.type||s.Add,formColumn:[],formGrid:[],formMaxSpan:12,get form(){return t.get()},set form(f){t.set(f)},getDisabled:f=>oe(f,c.type,c.form),getBind:f=>ne(f,c.type),getOn:f=>re(f,c.type,[c.form,f]),initColumnForm:()=>{const f=t,d=Ie(o.option.column,o.option.form,()=>f.get());c.formDefault=d.formDefault,c.rules=d.rules,c.formGrid=d.formGrid,c.formMaxSpan=d.formMaxSpan,c.formColumn=d.formColumn,c.type===s.Add?f.isExternal()?f.merge(JSONUtil.cp(c.formDefault)):f.set(JSONUtil.cp(c.formDefault)):!f.isExternal()&&o.form&&f.set(JSONUtil.cp(o.form))}});return l?.formRef?.set(a,{validate:async f=>{const d=i.value;if(!d)return f?.(!0),!0;await e.nextTick();const g=X(c.formGrid||[],c.form,c.type,c.formMaxSpan).map(h=>h.item.key).filter(Boolean),p=Object.keys(c.rules||{}).filter(h=>!g.includes(h));if(p.length&&d.clearValidate(p),!g.length)return f?.(!0),!0;const m=await d.validateField(g,async(h,B)=>{h||K(P(B))});if(f?.(!!m),!m)throw!1;return!0}}),o.option.form?.initStart?.(c),c.initColumnForm(),o.option.form?.initEnd?.(c),e.watch(()=>o.form,f=>{t=G(f),c.initColumnForm()}),n({ref:i,conf:c}),(f,d)=>(e.openBlock(),e.createBlock(e.unref(u.ElForm),{ref_key:"ruleFormRef",ref:i,model:c.form,rules:c.rules},{default:e.withCtx(()=>[c.show?(e.openBlock(),e.createBlock(me,{key:0,"form-grid":c.formGrid,"max-span":c.formMaxSpan,form:c.form,type:c.type,stripe:r.option.form?.stripe,"label-width":r.option.form?.labelWidth||"100px","form-option":r.option.form,"get-bind":c.getBind,"get-on":c.getOn,"get-disabled":c.getDisabled},e.createSlots({_:2},[e.renderList(f.$slots,(g,p)=>({name:p,fn:e.withCtx(m=>[e.renderSlot(f.$slots,p,e.normalizeProps(e.guardReactiveProps(m||{})))])}))]),1032,["form-grid","max-span","form","type","stripe","label-width","form-option","get-bind","get-on","get-disabled"])):e.createCommentVNode("",!0)]),_:3},8,["model","rules"]))}}),Ge=r=>r?.value||r,Pe=r=>{const n=Ge(r);return n?.validate?new Promise((s,i)=>{let o=!1;const t=(l,a)=>{o||(o=!0,l===!1?(K(P(a)),i(!1)):s(!0))};try{const l=n.validate(t);l&&typeof l.then=="function"?l.then(a=>t(a)).catch(a=>{K(P(a?.fields||a)),i(a)}):(l!==void 0||n.validate.length===0)&&t(l)}catch(l){i(l)}}):Promise.resolve(!0)},qe=()=>{const r=e.reactive({formRef:{map:{},set(n,s){r.formRef.map[n]=s},remove(n){delete r.formRef.map[n]},validate(){const n=Object.keys(r.formRef.map).map(s=>r.formRef.map[s]);return Promise.all(n.map(s=>Pe(s))).then(()=>!0)}},regFormRef(n,s,i){n?i?r.formRef.set(s,{validate:async o=>{try{o(await i())}catch{o(!1)}}}):r.formRef.set(s,n):r.formRef.remove(s)}});return r},We=(r,n)=>{const s=G(()=>n.searchForm);return{search:{column:{list:[]},get form(){return s.get()},set form(i){s.set(i)},formDefault:{},getPlaceholder:(i,o=k.tCurd("placeholderInput"))=>i.text?.search?.placeholder===void 0?`${o}${i.label}`:i.text?.search?.placeholder,getFormData:()=>{const i=r();let o={};n.option.column.forEach(l=>{(typeof l.show?.search=="function"?l.show?.search(i.search.form):l.show?.search)&&(o[l.key]=i.search.form[l.key])});const t=n.option.search?.before?.(o);return t&&(o=t),o},reset:()=>{const i=r(),o=i.search.formDefault;Object.keys(o).forEach(l=>{n.option.search?.resetMode==="none"?o[l]=void 0:o[l]=i.search.formDefault[l]});const t=ObjectUtil.deepMerge(o,{});U.setValue(i.search.form,t,!0),i.page.num=1,n.option.init!==!1&&i.table.getList()},submit:()=>{const i=r();i.page.num=1,i.table.getList()}}}},Je=(r,n)=>({page:{num:1,total:0,layout:n.option.page?.layout||V.config.pagination.layout,showTools:n.option.page?.showTools||V.config.pagination.showTools,size:n.option.page?.size||V.config.pagination.size,sizeList:n.option.page?.sizeList||V.config.pagination.pageSizes,pagerCount:n.option.page?.pagerCount||V.config.pagination.pagerCount,getQuery:(s={})=>{const i=r();return{[V.config.field.page.size]:s.size||i.page.size,[V.config.field.page.num]:s.num||i.page.num,...i.search.getFormData()}}}}),Qe=(r,n,s)=>{const i=r;return{table:{op:{width:(...o)=>o.filter(l=>l).length*30+60},loading:!1,data:[],expand:{isExpand:!1,rowKeys:[],change:(o,t)=>{},all:()=>{const o=i();if(o.table.expand.isExpand)o.table.expand.rowKeys=[];else{const t=l=>{let a=[];return l.forEach(c=>{a.push(c[n.option.table.rowKey]),c.children?.length&&(a=a.concat(t(c.children)))}),a};o.table.expand.rowKeys=t(o.table.data)}o.table.expand.isExpand=!o.table.expand.isExpand}},column:{list:[],show:{listSource:[],list:[]}},sortable:{mode:!1,actionLoading:!1,instance:void 0,modulePromise:void 0,getOption:()=>n.option.table?.sortable||{},showTriggerButton:()=>{const o=i();return n.option.table?.sortable?.button&&!o.table.sortable.mode},showActionButton:()=>{const o=i();return n.option.table?.sortable?.button&&o.table.sortable.mode},showSaveButton:()=>!n.option.table?.sortable?.button&&n.option.table?.sortable?.show&&n.option.table?.sortable?.saveButton,isActive:()=>{const o=i(),t=o.table.sortable.getOption();return t.button?o.table.sortable.mode:!!t.show},showPagination:()=>{const o=i();return!o.table.sortable.isActive()||o.table.sortable.getOption().page},disableScroll:()=>{const o=i(),t=o.table.sortable.getOption();return o.table.sortable.isActive()&&!t.page&&!t.scroll},getTableBindOption:()=>{const o=i();return{...n.option.table||{},...o.table.sortable.disableScroll()?{height:void 0,maxHeight:void 0}:{}}},getColumnBind:()=>{const{show:o,button:t,page:l,scroll:a,field:c,rule:f,api:d,onEnd:g,...p}=i().table.sortable.getOption();return p},destroy:()=>{const o=i();o.table.sortable.instance?.destroy(),o.table.sortable.instance=void 0},getBody:()=>s.tableRef.value?.$el?.querySelector(".el-table__body-wrapper tbody"),loadModule:async()=>{const o=i();o.table.sortable.modulePromise??=w.loadModule("sortablejs");const t=await o.table.sortable.modulePromise;return t.default||t},applyRule:(o,t,l,a,c="asc")=>{if(l==="value"){const f=c==="desc"?a.slice().reverse():a;o.forEach((d,g)=>{d[t]=f[g]});return}o.forEach((f,d)=>{f[t]=c==="desc"?o.length-d:d+1})},sync:async()=>{const o=i();if(o.table.sortable.destroy(),!o.table.sortable.isActive()||o.table.loading)return;await e.nextTick();const t=o.table.sortable.getBody();if(!t)return;const l=await o.table.sortable.loadModule(),a=o.table.sortable.getOption();o.table.sortable.instance=l.create(t,{animation:150,handle:".cc1-form-drag-handle",draggable:".el-table__row",onEnd:({oldIndex:c,newIndex:f})=>{const d=(p,m,h)=>{if(!Number.isInteger(m)||!Number.isInteger(h)||m===h||m<0||h<0||m>=p.length||h>=p.length)return;const B=p.splice(m,1)[0];p.splice(h,0,B)},g=o.table.data.map(p=>p?.[a.field]);d(o.table.data,c,f),a.onEnd?a.onEnd(o.table.data):o.table.sortable.applyRule(o.table.data,a.field,a.rule,g,a.order||"asc")}})},refreshList:async()=>{const o=i();await o.table.getList(o.table.sortable.isActive()?"sortable":void 0),o.table.sortable.sync()},fitHeight:!1,start:async()=>{const o=i(),t=o.table?.sortable.getOption();o.table.sortable.fitHeight=n.option.table.fitHeight,t.scroll||(n.option.table.fitHeight=!1),o.table.sortable.mode=!0,await o.table.sortable.refreshList()},exit:async()=>{const o=i();o.table.sortable.mode=!1,n.option.table.fitHeight=o.table.sortable.fitHeight,await o.table.getList(),o.table.sortable.destroy()},save:async()=>{const o=i(),l=o.table.sortable.getOption().api?.update||n.option.api.update;if(!l){w.fail(k.tCurd("sortableUpdateApiRequired"));return}o.table.sortable.actionLoading=!0,o.table.loading=!0;try{await l(o.table.data,"sortable"),w.success(k.tCurd("operationSuccess")),await o.table.sortable.exit()}catch(a){console.error(a)}finally{o.table.sortable.actionLoading=!1,o.table.loading=!1}}},header:{group:{expand:!1,toggleExpandAll:()=>{const o=i(),t=!o.table.header.group.expand;o.table.header.group.expand=t;const l=a=>{a.forEach(c=>{c.table?.header?.group!==void 0&&(c.table.header.group=!t),c.table?.header?.groupKey!==void 0&&(c.table.header.show=t),Array.isArray(c.children)&&c.children.length&&l(c.children)})};l(o.table.column.list)}}},parseListResult:async o=>{const t=V.config.field.result,l=o?.data||{[t.list]:o},a=Array.isArray(l)?l:(Array.isArray(l[t.list]),l[t.list]),f=ObjectUtil.deepMerge({data:a},{}).data;return{data:n.option.data?await n.option.data(f,a):f,total:l[t.total]||0}},applyListResult:async(o,t)=>{const l=i(),a=await l.table.parseListResult(o);return l.table.data=a.data,l.page.total=t??a.total,l.tableEditValidate?.clear?.(),a},getList:async o=>{const t=i();t.table.loading=!0;const l=n.option.table?.sortable,a=o==="sortable"&&l?.api?.list||n.option.api.list,c=JSONUtil.cp(t.table.selection.list);try{await t.initApiData("init");let f={};if(t.table.sort.prop){const{props:p,order:m}=V.config.table.sort;f={[p.field]:t.table.sort.prop,[m.field]:t.table.sort.order}}const d=o==="sortable"&&l?.page===!1?t.page.getQuery({num:1,size:t.page.total||999999}):t.page.getQuery(),g=await a({...d,...f},o);await t.table.applyListResult(g,o==="sortable"&&l?.page===!1?t.page.total:void 0),setTimeout(()=>{t.table.selection.setList(c),n.option.table?.sortable?.show&&!n.option.table?.sortable?.button&&t.table.sortable.sync()},20)}catch(f){console.error(f)}finally{t.table.loading=!1}},selection:{list:[],change:o=>{i().table.selection.list=o},setList:(o,t)=>{const l=i();l.table.selection.list=[];const a=s.tableRef.value;if(a?.clearSelection(),!a||!o?.length)return;const c=n.option.table?.rowKey,f=d=>{const g=p=>{for(const m of p){if(c!=null&&c!==""){if(m[c]===d[c])return m}else if(m===d)return m;if(Array.isArray(m.children)&&m.children.length){const h=g(m.children);if(h!==void 0)return h}}};return g(l.table.data)};o.forEach(d=>{const g=f(d);if(g)if(t){const p=()=>a.toggleRowSelection(g,!0,!1);t(d)!==!1&&p()}else a.toggleRowSelection(g,!0,!1)})}},sort:{prop:"",order:"",change:o=>{const t=i();V.config.table.sort.resetPage&&(t.page.num=1);const l=V.config.table.sort;if(l.change){l.change(o,t);return}t.table.sort.prop=o.prop,o.order===null?(t.table.sort.order="",t.table.sort.prop=""):t.table.sort.order=o.order==="ascending"?l.order.asc:l.order.desc,t.table.getList()}}}}},Xe=(r,n)=>{const s=e.reactive({}),i=new WeakMap;let o=0;const t=b=>{let y=i.get(b);return y||(o+=1,y=`fallback-${o}`,i.set(b,y)),y},l=b=>{const y=n.option.table?.rowKey,C=y?b[y]:void 0;return C!=null&&C!==""?String(C):t(b)},a=(b,y)=>`${l(b)}-${y.key}`,c=b=>fe(b,n.option.form?.error),f=ce(c),d=()=>{Object.keys(s).forEach(b=>{delete s[b]})},g=(b,y)=>{delete s[a(b,y)]},p=(b,y)=>s[a(b,y)]||"",m=(b,y)=>b.message||c(y),h=b=>b==null||b===""||Array.isArray(b)&&b.length===0,B=b=>{if(typeof b=="number")return b;if(typeof b=="string"||Array.isArray(b))return b.length},D=(b,y)=>{if(b==="array")return Array.isArray(y);if(b==="integer")return typeof y=="number"&&Number.isInteger(y);if(b==="float")return typeof y=="number"&&!Number.isInteger(y);if(b==="number")return typeof y=="number"&&!Number.isNaN(y);if(b==="boolean")return typeof y=="boolean";if(b==="object")return y!==null&&typeof y=="object"&&!Array.isArray(y);if(b==="date")return y instanceof Date||!Number.isNaN(new Date(y).getTime());if(b==="email")return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(String(y));if(b==="url")try{return new URL(String(y)),!0}catch{return!1}return b==="string"?typeof y=="string":!0},E=(b,y,C)=>typeof b.validator!="function"?Promise.resolve(!0):new Promise(z=>{let O=!1;const N=M=>{if(!O){if(O=!0,M==null){z(!0);return}if(M instanceof Error){z(M.message||m(b,C));return}if(Array.isArray(M)){const v=M[0];z(v instanceof Error?v.message:String(v||m(b,C)));return}z(String(M))}};try{const M=b.validator(b,y,N);M&&typeof M.then=="function"?M.then(()=>N()).catch(N):M===!1?N(m(b,C)):typeof M=="string"||M instanceof Error?N(M):b.validator.length<3&&N()}catch(M){N(M)}}),S=async(b,y,C)=>{const z=typeof b.transform=="function"?b.transform(y):y,O=h(z);if(b.required&&O)return m(b,C);if(O&&!b.required)return!0;if(b.whitespace&&typeof z=="string"&&z.trim()===""||b.type&&!D(b.type,z)||Array.isArray(b.enum)&&!b.enum.includes(z)||b.pattern&&!new RegExp(b.pattern).test(String(z)))return m(b,C);const N=B(z);return b.len!==void 0&&N!==void 0&&N!==b.len||b.min!==void 0&&N!==void 0&&N<b.min||b.max!==void 0&&N!==void 0&&N>b.max?m(b,C):E(b,z,C)},Z=b=>{const y=r();return!b.key||!y.table.column.show.list.includes(b.key)||b.table?.header?.groupKey!==void 0&&!b.table.header.show?!1:b.show?.table!==void 0?w.isFun(b.show?.table,y.table.data):!0},x=(b,y)=>b.show?.form!==void 0?w.isFun(b.show.form,y,w.EDialog.Update):!0,A=()=>{const b=r(),y=[],C=z=>{z.forEach(O=>{if(Z(O)){if(O.children?.length){C(O.children);return}y.push(O)}})};return C(b.table.column.list),y},_=async(b,y)=>{if(!x(y,b))return g(b,y),!0;const C=f(y,b);if(!C)return!0;g(b,y);const z=Array.isArray(C)?C:[C];for(const O of z){const N=await S(O,b[y.key],y);if(N!==!0)return s[a(b,y)]=N,{field:y.key,error:N}}return!0},I=b=>{const y=[],C=z=>{z.forEach(O=>{y.push(O),Array.isArray(O.children)&&O.children.length&&C(O.children)})};return C(b),y};return{tableEditValidate:{errors:s,clear:d,clearField:g,getFieldError:p,validate:async()=>{if(d(),!n.option.table?.editMode)return!0;const b=r(),y=A(),C=I(b.table.data||[]),O=(await Promise.all(C.flatMap(N=>y.map(M=>_(N,M))))).filter(N=>N!==!0);if(O.length)throw K(O),!1;return!0}}}};class be{static exportToExcel=async(n,s,i)=>{if(!n||n.length===0)return;const o=await w.loadModule("xlsx"),t=n.map(c=>{const f={};return s.forEach(d=>{f[d.label]=c[d.key]}),f}),l=o.utils.json_to_sheet(t),a=o.utils.book_new();o.utils.book_append_sheet(a,l,"Sheet1"),i?typeof i=="function"&&(i=i()):i=`导出数据_${new Date().Format("yyyy-MM-dd")}_${new Date().getTime()}`,o.writeFile(a,`${i}.xlsx`)}}const Ye=(r,n)=>({export:{run:{start:async s=>{let o=await r().export.run[s]();const t=n.option.column,l=ObjectUtil.deepMerge({data:o,columns:t},{}),a=n.option.tools?.export||{};a.before?.(l),be.exportToExcel(l.data,l.columns,a.fileName)},select:async()=>{const s=r();s.export.loading=!0;try{if(n.option.tools?.export?.select){await n.option.tools.export.select({...s.page.getQuery(),items:s.table.selection.list});return}if(s.table.selection.list.length===0)throw w.fail(k.tCurd("selectDataToExport")),new Error(k.tCurd("selectDataToExport"));return s.table.selection.list}catch(i){console.error(i)}finally{s.export.loading=!1}},page:async()=>{const s=r();s.export.loading=!0;try{if(n.option.tools?.export?.page){await n.option.tools.export.page({...s.page.getQuery()});return}if(s.table.data.length===0)throw w.fail(k.tCurd("noData")),new Error(k.tCurd("noData"));return s.table.data}catch(i){console.error(i)}finally{s.export.loading=!1}},all:async()=>{const s=r();s.export.loading=!0;try{if(n.option.tools?.export?.all){await n.option.tools.export.all({...s.page.getQuery()});return}const i=n.option.api.list,o=await i({...s.page.getQuery({size:999999,num:1})});return(o.data||{[V.config.field.result.list]:o})[V.config.field.result.list]}catch(i){console.error(i)}finally{s.export.loading=!1}}},loading:!1,click:s=>{const i=r();i.export.loading||i.export.run.start(s)}}}),Ze=(r,n)=>({remove:{title:k.tCurd("deleteTitle"),show:!1,items:[],loading:!1,close:()=>{r().remove.show=!1},open:s=>{if(s.length===0){w.fail(k.tCurd("selectDataToDelete"));return}const i=r();i.remove.items=s,i.remove.show=!0},submit:()=>{FunUtil.throttle(async()=>{const s=r();s.remove.loading=!0;const i=n.option.api.delete;try{if(!i)return;await i({[n.option.table?.rowKey]:s.remove.items.map(o=>o[n.option.table?.rowKey]),items:s.remove.items}),w.success(k.tCurd("operationSuccess")),s.table.data.length<=1&&s.page.num>1&&(s.page.num-=1),s.remove.close(),await s.table.getList()}catch(o){console.error(o)}finally{s.remove.loading=!1}})}}}),xe=(r,n,s)=>({apiDataMap:{},getColumnSpan:(i,o)=>{const t=r(),l=t.update.formGrid?.length?t.update.formGrid:o||[];return ae(i,l,t.update.form,t.update.type,{maxSpan:t.update.formMaxSpan||n.option.form?.maxSpan,defaultSpan:n.option.form?.defaultSpan||V.config.form.defaultSpan})},init:()=>{const i=r();i.initCurdConfig(),i.initColumnOptions(),i.initColumnForm()},initApiData:async i=>{const o=r(),t=[],l=a=>{if(a.children?.length){a.children.forEach(d=>l(d));return}const c=L(a),f=()=>{a.table?.format||(a.table??={},a.table.format=d=>a.options[c].data.find(p=>p.value===d[a.key])?.label??d[a.key])};if(a.options?.[c]?.dataApi&&a.options?.[c]?.dataApiConfig?.[i]){if(o.apiDataMap[a.key]&&a.options?.[c]?.dataApiConfig?.once)return;const d=(async()=>{try{let g=await a.options?.[c]?.dataApi?.(o.update.form,o.update.type);if(g){const p=a.options?.[c]?.dataPath;!Array.isArray(g)&&p&&(g=ObjectUtil.getPathValue(g,p)),a.options[c].data=g,a.options.search[c].data=g;const m=a.options.search.type??c;a.options.search[m]??={},a.options.search[m].data=g,a.options.formAdd[c].data=g,a.options.formUpdate[c].data=g,f(),o.apiDataMap[a.key]=g}}catch{}})();t.push(d)}else Array.isArray(a.options?.[c]?.data)&&f()};return n.option.column.forEach(a=>l(a)),await Promise.all(t),!0},initCurdConfig:()=>{const i=ObjectUtil.deepMerge(V.config,{});i.table.emptyText=k.tCurd("noData"),n.option.size=n.option.size||{},i.table.size=n.option.size.table||i.size.table,i.form.size=n.option.size.form||i.size.form,i.size.search=n.option.size.search||i.size.search;const o=ObjectUtil.deepMerge(i,n.option||{});Object.keys(o).forEach(t=>{n.option[t]=o[t]})},initColumnOptions:()=>{const i=r();let o=JSONUtil.cp(V.config.columnConfig);o.options=ObjectUtil.deepMerge({switch:{activeText:k.tCurd("switchOn"),inactiveText:k.tCurd("switchOff")}},o.options);const t=l=>{const a=L(l);for(const f in o){if(f==="table"){if(l.table=ObjectUtil.deepMerge(o.table,l.table||{}),l.children){l.children.forEach(d=>t(d));return}}else f==="type"?l.type=l.type||o.type:l[f]=ObjectUtil.deepMerge(o[f],l[f]||{});l.options=l.options||{},l.options[a]=l.options[a]||{},l.options[a].size=n.option.size.form}["search","formAdd","formUpdate"].forEach(f=>{l.options[f]=ObjectUtil.deepMerge(l.options,l.options[f]||{}),f==="search"?n.option.size.search&&(l.options[f][a].size=n.option.size.search):n.option.size.form&&(l.options[f][a].size=n.option.size.form)}),l.table=ObjectUtil.deepMerge(l.table,l.options[a].table||{}),a==="switch"&&(l.options.switch.tableBeforeChange=async(f,d)=>{const g=l.options?.switch;try{g.tableConfig?.confirm&&await s.switchConfirmRef.value?.open({title:k.tCurd("confirmModify"),content:k.tCurd("confirmSwitchMessage")});try{if(!n.option.api.update&&!g.tableConfig?.api)return;const p=d[n.option.table?.rowKey];g.loadingMap||(g.loadingMap={}),g.loadingMap[p]||(g.loadingMap[p]={loading:!1}),g.loadingMap[p].loading=!0;const m=d[f]===g.activeValue?g.inactiveValue:g.activeValue,h=g.tableConfig?.api?g.tableConfig.api:n.option.api.update;if(!h)return;try{await h({...d,[f]:m},"switch"),g.tableConfig?.needTip!==!1&&w.success(k.tCurd("operationSuccess"))}catch{return!1}finally{g.loadingMap[p].loading=!1}return g.tableConfig?.loadList&&(i.table.loading=!0,i.table.getList(),i.table.loading=!1),!0}catch(p){return console.error(p),!1}finally{i.table.loading=!1}}catch{return!1}}),a==="treeSelect"&&(l.options.treeSelect.rowKey=n.option.table?.rowKey,l.options.treeSelect.nodeKey=n.option.table?.rowKey)};n.option.column.forEach(t),n.option.table?.column?.forEach(t)},initColumnForm:()=>{const i=r(),o=n.option;i.update.formColumn=[],i.update.formGrid=[],i.update.formMaxSpan=12,i.table.column.show={list:[],listSource:[]};const t=n.option.form?.maxSpan||12,l=n.option.form?.defaultSpan||t/2,a=pe(n.option.form),c=p=>{if(p.children){i.table.column.show.list.push(p.key),p.children.forEach(m=>c(m));return}i.update.formDefault[p.key]=p.value,p.table?.table&&(p.show?.table&&i.table.column.show.list.push(p.key),i.table.column.show.listSource.push(p.key))};o.column.forEach(p=>{W(p,!0),c(p)}),n.option.table?.column?.forEach(p=>{W(p,!1),c(p)}),i.search.column.list=o.column.concat(o.table?.column||[]),i.table.column.list=i.search.column.list.filter(p=>p.table?.table),i.search.column.list.sort((p,m)=>p.sort?.search-m.sort?.search),i.table.column.list.sort((p,m)=>p.sort?.table-m.sort?.table),i.update.rules={},Y(o.column,i.update.formDefault,i.update.rules,p=>a(p,()=>i.update.form)),o.table?.editMode&&Y(o.table?.column||[],i.update.formDefault,i.update.rules,p=>a(p,()=>i.update.form));const f=se(o.column,{maxSpan:t,defaultSpan:l,layout:n.option.form?.layout});i.update.formGrid=f.cells,i.update.formMaxSpan=f.maxSpan,i.update.formColumn=ie(f.cells);const d=n.option.search?.formDefault;d&&Object.keys(d).forEach(p=>{i.search.formDefault[p]=d[p]}),o.column.forEach(p=>{p.show?.search||(i.search.formDefault[p.key]=void 0)});const g=ObjectUtil.deepMerge(i.search.formDefault,{});U.setValue(i.search.form,g,!0)}}),_e=r=>{const n=e.ref(),s=e.ref(),i=e.ref(),o={switchConfirmRef:n,ruleFormRef:s,tableRef:i},t=e.getCurrentInstance(),l=J.Scope.getConf("curdConf"),a=g=>{g=g||f;let p=g,m=g;for(;p?.parentCurdConf;)m=p.parentCurdConf,p=p.parentCurdConf;return m},c=()=>f;let f=e.reactive({parentCurdConf:l,getCurdConf:a,getRootCurdConf:a,...qe(),option:r.option,...We(c,r),...Je(c,r),...Qe(c,r,o),...Xe(c,r),...Ye(c,r),...Me(c,r,o),...Ze(c,r),...xe(c,r,o)});f.init();const d=t?`curdRef-${t.uid}`:"";return l?.formRef&&d&&(l.formRef.set(d,{validate:async g=>{const p=await f.update.validate(!1);if(g?.(!!p),!p)throw!1;return!0}}),e.onUnmounted(()=>{l.formRef.remove(d)})),e.onMounted(()=>{if(r.option.init!==!1){if(r.option.table?.sortable?.show&&!r.option.table?.sortable?.button){(f.table?.sortable.getOption()).scroll||(r.option.table.fitHeight=!1),f.table.sortable.refreshList();return}f.table.getList()}}),e.onBeforeUnmount(()=>{f.table.sortable.destroy()}),J.Scope.setConf("curdConf",f),{conf:f,switchConfirmRef:n,ruleFormRef:s,tableRef:i}},ve={class:"dialog-footer"},et=e.defineComponent({__name:"switchConfirm",props:{size:{}},setup(r,{expose:n}){const s=e.ref(!1),i=e.ref("确认修改"),o=e.ref("确认要修改状态吗?");let t=null,l=null;const a=d=>(d?.title&&(i.value=d.title),d?.content&&(o.value=d.content),s.value=!0,new Promise((g,p)=>{t=g,l=p})),c=()=>{s.value=!1,t?.(!0),t=null,l=null},f=()=>{s.value=!1,l?.(new Error("用户取消操作")),t=null,l=null};return n({open:a}),(d,g)=>{const p=e.resolveComponent("el-form");return e.openBlock(),e.createBlock(e.unref(u.ElDialog),{modelValue:s.value,"onUpdate:modelValue":g[0]||(g[0]=m=>s.value=m),title:i.value,"close-on-click-modal":!1,width:"400px"},{footer:e.withCtx(()=>[e.createVNode(p,{size:d.size},{default:e.withCtx(()=>[e.createElementVNode("span",ve,[e.createVNode(e.unref(u.ElButton),{onClick:f},{default:e.withCtx(()=>g[1]||(g[1]=[e.createTextVNode("取消")])),_:1}),e.createVNode(e.unref(u.ElButton),{type:"primary",onClick:c},{default:e.withCtx(()=>g[2]||(g[2]=[e.createTextVNode("确认")])),_:1})])]),_:1},8,["size"])]),default:e.withCtx(()=>[e.createElementVNode("div",null,e.toDisplayString(o.value),1)]),_:1},8,["modelValue","title"])}}}),tt=["innerHTML"],ot=e.defineComponent({__name:"text",props:{content:{},value:{}},setup(r){const n=r,s=e.computed(()=>typeof n.content=="function"?n.content(n.value):n.content);return(i,o)=>typeof s.value=="object"?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(s.value),{key:0})):(e.openBlock(),e.createElementBlock("div",{key:1,innerHTML:s.value},null,8,tt))}}),ue=e.defineComponent({__name:"searchField",props:{item:{},conf:{},type:{}},setup(r){const n=r,s=e.computed({get:()=>n.conf.search.form?.[n.item?.key],set:o=>{n.item?.key!==void 0&&(n.conf.search.form[n.item.key]=o)}}),i=o=>{const t=[o.options?.search?.radio,o.options?.search?.select,o.options?.radio,o.options?.select];for(const l of t)if(Array.isArray(l?.data)&&l.data.length>0)return l.data;return[]};return(o,t)=>e.unref(T).customComponent[o.type??""]?.search?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(T).customComponent[o.type??""]?.search),e.mergeProps({key:0,modelValue:s.value,"onUpdate:modelValue":t[0]||(t[0]=l=>s.value=l)},o.item.options?.search?.[o.type??""],e.toHandlers(o.item.options?.search?.[o.type??""]?.on||{})),null,16,["modelValue"])):o.type==="input"?(e.openBlock(),e.createBlock(e.unref(u.ElInput),e.mergeProps({key:1,modelValue:s.value,"onUpdate:modelValue":t[1]||(t[1]=l=>s.value=l),placeholder:o.conf.search.getPlaceholder(o.item),clearable:"",disabled:o.item.disabled?.search},o.item.options?.search?.input||o.item.options?.input,e.toHandlers(o.item.options?.search?.input?.on||o.item.options?.input?.on||{})),null,16,["modelValue","placeholder","disabled"])):o.type==="switch"?(e.openBlock(),e.createBlock(e.unref(u.ElSelect),e.mergeProps({key:2,modelValue:s.value,"onUpdate:modelValue":t[2]||(t[2]=l=>s.value=l),placeholder:o.conf.search.getPlaceholder(o.item,e.unref(k).tCurd("placeholderSelect")),clearable:"",disabled:o.item.disabled?.search},o.item.options?.search?.switch||o.item.options?.switch,e.toHandlers(o.item.options?.search?.switch?.on||o.item.options?.switch?.on||{})),{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.unref(u.ElOption),{key:o.item.options?.switch?.activeValue,label:o.item.options?.switch?.activeText,value:o.item.options?.switch?.activeValue},null,8,["label","value"])),(e.openBlock(),e.createBlock(e.unref(u.ElOption),{key:o.item.options?.switch?.inactiveValue,label:o.item.options?.switch?.inactiveText,value:o.item.options?.switch?.inactiveValue},null,8,["label","value"]))]),_:1},16,["modelValue","placeholder","disabled"])):o.type==="select"?(e.openBlock(),e.createBlock(e.unref(u.ElSelect),e.mergeProps({key:3,modelValue:s.value,"onUpdate:modelValue":t[3]||(t[3]=l=>s.value=l),placeholder:o.conf.search.getPlaceholder(o.item,e.unref(k).tCurd("placeholderSelect")),clearable:"",disabled:o.item.disabled?.search},o.item.options?.search?.select||o.item.options?.select,e.toHandlers(o.item.options?.search?.select?.on||o.item.options?.select?.on||{})),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i(o.item),l=>(e.openBlock(),e.createBlock(e.unref(u.ElOption),{key:l.value,label:l.label,value:l.value},null,8,["label","value"]))),128))]),_:1},16,["modelValue","placeholder","disabled"])):o.type==="radio"?(e.openBlock(),e.createBlock(e.unref(u.ElRadioGroup),e.mergeProps({key:4,modelValue:s.value,"onUpdate:modelValue":t[4]||(t[4]=l=>s.value=l),disabled:o.item.disabled?.search},o.item.options?.search?.radio||o.item.options?.radio,e.toHandlers(o.item.options?.search?.radio?.on||o.item.options?.radio?.on||{})),{default:e.withCtx(()=>[(o.item.options?.search?.radio?.type||o.item.options?.radio?.type)==="group"?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(i(o.item),l=>(e.openBlock(),e.createBlock(e.unref(u.ElRadioButton),e.mergeProps({key:l.value,ref_for:!0},l,e.toHandlers(l.on||{})),null,16))),128)):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(i(o.item),l=>(e.openBlock(),e.createBlock(e.unref(u.ElRadio),e.mergeProps({key:l.value,ref_for:!0},l,e.toHandlers(l.on||{})),null,16))),128))]),_:1},16,["modelValue","disabled"])):o.type==="datetime"?(e.openBlock(),e.createBlock(e.unref(u.ElDatePicker),e.mergeProps({key:5,modelValue:s.value,"onUpdate:modelValue":t[5]||(t[5]=l=>s.value=l),disabled:o.item.disabled?.search},o.item.options?.search?.datetime||o.item.options?.datetime,e.toHandlers(o.item.options?.search?.datetime?.on||o.item.options?.datetime?.on||{})),null,16,["modelValue","disabled"])):o.type&&e.unref(T).customComponent[o.type]?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(T).customComponent[o.type]),e.mergeProps({key:6,modelValue:s.value,"onUpdate:modelValue":t[6]||(t[6]=l=>s.value=l)},o.item.options?.search?.[o.type]||o.item.options?.[o.type],e.toHandlers(o.item.options?.search?.[o.type]?.on||o.item.options?.[o.type]?.on||{}),{disabled:o.item.disabled?.search}),null,16,["modelValue","disabled"])):e.createCommentVNode("",!0)}}),j=(r,n)=>{const s=r.__vccOpts||r;for(const[i,o]of n)s[i]=o;return s},nt={},rt={xmlns:"http://www.w3.org/2000/svg",viewBox:"64 64 896 896"};function at(r,n){return e.openBlock(),e.createElementBlock("svg",rt,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 lt=j(nt,[["render",at]]),it={},st={xmlns:"http://www.w3.org/2000/svg",viewBox:"64 64 896 896"};function dt(r,n){return e.openBlock(),e.createElementBlock("svg",st,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 ct=j(it,[["render",dt]]),ft={},pt={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function mt(r,n){return e.openBlock(),e.createElementBlock("svg",pt,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 gt=j(ft,[["render",mt]]),bt={},ut={"data-v-58697b5c":"",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function ht(r,n){return e.openBlock(),e.createElementBlock("svg",ut,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 he=j(bt,[["render",ht]]),yt={},kt={"data-v-58697b5c":"",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function wt(r,n){return e.openBlock(),e.createElementBlock("svg",kt,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 Ct=j(yt,[["render",wt]]),Bt={},Vt={"data-v-58697b5c":"",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function Et(r,n){return e.openBlock(),e.createElementBlock("svg",Vt,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 St=j(Bt,[["render",Et]]),Nt={class:"row flex-center table-header-label inline"},Ft={class:"table-header-tooltip"},Dt=["innerHTML"],zt={key:1,class:"table-header-required"},Ot=["onClick"],Mt={key:0,class:"table-edit-form"},$t={key:1},Tt=["onClick","innerHTML"],Rt=e.defineComponent({__name:"tableColumn",props:{conf:{},columnList:{},option:{}},setup(r){const n=w.isFun,s=r,o=e.getCurrentInstance().type,t=a=>a===!0?!0:(Array.isArray(a)?a:a?[a]:[]).some(f=>f?.required===!0),l=a=>s.option.table?.editMode?t(a.rules)||t(s.conf.update.rules?.[a.key]):!1;return(a,c)=>{const f=e.resolveComponent("el-tooltip");return e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.columnList,d=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:d.key},[a.conf.table.column.show.list.includes(d.key)&&(d.show?.table===void 0||e.unref(n)(d.show?.table,a.conf.table.data))?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[d.table?.header?.groupKey===void 0||d.table.header.show?(e.openBlock(),e.createBlock(e.unref(u.ElTableColumn),e.mergeProps({key:0,prop:d.key,label:d.label,ref_for:!0},d.table),{header:e.withCtx(()=>[e.renderSlot(a.$slots,"table-header-"+d.key,{item:d},()=>[e.createElementVNode("div",Nt,[d.table?.header?.tooltip?(e.openBlock(),e.createBlock(f,{key:0,effect:"dark",placement:"top"},{content:e.withCtx(()=>[e.createElementVNode("div",{innerHTML:d.table?.header?.tooltip},null,8,Dt)]),default:e.withCtx(()=>[e.createElementVNode("span",Ft,[e.createVNode(he)])]),_:2},1024)):e.createCommentVNode("",!0),l(d)?(e.openBlock(),e.createElementBlock("span",zt,"*")):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(d.label)+" ",1),d.table?.header?.group!==void 0?(e.openBlock(),e.createElementBlock("span",{key:2,class:"table-header-plus",onClick:e.withModifiers(()=>{d.table.header.group=!d.table.header.group,a.columnList.forEach(g=>{g.table?.header?.groupKey===d.key&&(g.table.header.show=!d.table.header.group)})},["stop"])},[d.table.header.group?(e.openBlock(),e.createBlock(Ct,{key:0})):(e.openBlock(),e.createBlock(St,{key:1}))],8,Ot)):e.createCommentVNode("",!0)])])]),default:e.withCtx(({row:g})=>[d.children?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[c[0]||(c[0]=e.createTextVNode("   ")),(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(o)),{conf:a.conf,columnList:d.children,option:a.option},e.createSlots({_:2},[e.renderList(a.$slots,(p,m)=>({name:m,fn:e.withCtx(h=>[e.renderSlot(a.$slots,m,e.mergeProps({ref_for:!0},h||{}))])}))]),1032,["conf","columnList","option"]))],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[a.option.table?.editMode?(e.openBlock(),e.createElementBlock("div",Mt,[e.createVNode(e.unref(u.ElFormItem),{size:a.option.size?.table,error:a.conf.tableEditValidate.getFieldError(g,d),class:"table-edit-form-item"},{default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(["row",["table-edit-"+d.key]]),style:{width:"100%"}},[e.renderSlot(a.$slots,"table-edit-left-"+d.key,{row:g,item:d}),d.type==="input"?(e.openBlock(),e.createBlock(e.unref(u.ElInput),e.mergeProps({key:0,modelValue:g[d.key],"onUpdate:modelValue":p=>g[d.key]=p,disabled:a.conf.update.getDisabled(d,!0),class:"col",ref_for:!0},a.conf.update.getBind(d),e.toHandlers(a.conf.update.getOn(d,g)),{"onUpdate:modelValue":p=>a.conf.tableEditValidate.clearField(g,d)}),e.createSlots({_:2},[d.options?.input?.prepend?{name:"prepend",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(typeof d.options?.input?.prepend=="function"?d.options?.input?.prepend(g):d.options?.input?.prepend),1)]),key:"0"}:void 0]),1040,["modelValue","onUpdate:modelValue","disabled"])):d.type==="select"?(e.openBlock(),e.createBlock(e.unref(u.ElSelect),e.mergeProps({key:1,modelValue:g[d.key],"onUpdate:modelValue":p=>g[d.key]=p,disabled:a.conf.update.getDisabled(d,!0),class:"col",ref_for:!0},a.conf.update.getBind(d),e.toHandlers(a.conf.update.getOn(d,g)),{"onUpdate:modelValue":p=>a.conf.tableEditValidate.clearField(g,d)}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.options?.search?.select?.data||d.options?.select?.data,p=>(e.openBlock(),e.createBlock(e.unref(u.ElOption),{key:p.value,label:p.label,value:p.value},null,8,["label","value"]))),128))]),_:2},1040,["modelValue","onUpdate:modelValue","disabled"])):d.type==="switch"?(e.openBlock(),e.createBlock(e.unref(u.ElSwitch),e.mergeProps({key:2,modelValue:g[d.key],"onUpdate:modelValue":p=>g[d.key]=p,disabled:a.conf.update.getDisabled(d,!0),class:"col",ref_for:!0},a.conf.update.getBind(d),e.toHandlers(a.conf.update.getOn(d,g)),{"onUpdate:modelValue":p=>a.conf.tableEditValidate.clearField(g,d)}),null,16,["modelValue","onUpdate:modelValue","disabled"])):e.createCommentVNode("",!0),e.renderSlot(a.$slots,"table-edit-right-"+d.key,{row:g,item:d})],2)]),_:2},1032,["size","error"])])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[a.conf.update.type===e.unref(w).EDialog.Update&&e.unref(n)(d.show?.form,a.conf.update.form,e.unref(w).EDialog.Update)&&a.option.table?.inlineEdit&&a.conf.update.form[a.option.table?.rowKey]===g[a.option.table?.rowKey]&&(d.type==="input"||d.type==="select")?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[d.type==="input"?(e.openBlock(),e.createBlock(e.unref(u.ElInput),e.mergeProps({key:0,modelValue:a.conf.update.form[d.key],"onUpdate:modelValue":p=>a.conf.update.form[d.key]=p,disabled:a.conf.update.getDisabled(d,!0),ref_for:!0},a.conf.update.getBind(d),e.toHandlers(a.conf.update.getOn(d,g)),{style:{width:"100%"}}),e.createSlots({_:2},[d.options?.input?.prepend?{name:"prepend",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(typeof d.options?.input?.prepend=="function"?d.options?.input?.prepend(g):d.options?.input?.prepend),1)]),key:"0"}:void 0]),1040,["modelValue","onUpdate:modelValue","disabled"])):d.type==="select"?(e.openBlock(),e.createBlock(e.unref(u.ElSelect),e.mergeProps({key:1,modelValue:a.conf.update.form[d.key],"onUpdate:modelValue":p=>a.conf.update.form[d.key]=p,disabled:a.conf.update.getDisabled(d,!0),ref_for:!0},a.conf.update.getBind(d),e.toHandlers(a.conf.update.getOn(d,g)),{style:{width:"100%"}}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.options?.search?.select?.data||d.options?.select?.data,p=>(e.openBlock(),e.createBlock(e.unref(u.ElOption),{key:p.value,label:p.label,value:p.value},null,8,["label","value"]))),128))]),_:2},1040,["modelValue","onUpdate:modelValue","disabled"])):d.type==="switch"?(e.openBlock(),e.createBlock(e.unref(u.ElSwitch),e.mergeProps({key:2,modelValue:a.conf.update.form[d.key],"onUpdate:modelValue":p=>a.conf.update.form[d.key]=p,ref_for:!0},a.conf.update.getBind(d),e.toHandlers(a.conf.update.getOn(d,g)),{disabled:a.conf.update.getDisabled(d,!0)}),null,16,["modelValue","onUpdate:modelValue","disabled"])):e.createCommentVNode("",!0)],64)):e.renderSlot(a.$slots,"table-"+d.key,{key:1,row:g,item:d},()=>[e.unref(T).customComponent[d.type??""]?.table?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(T).customComponent[d.type??""]?.table),e.mergeProps({key:0,modelValue:g[d.key],"onUpdate:modelValue":p=>g[d.key]=p,ref_for:!0},d.options?.[d.type??""],e.toHandlers(d.options?.[d.type??""]?.on||{})),null,16,["modelValue","onUpdate:modelValue"])):d.type==="switch"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[d.options?.switch?.tableConfig?.change?(e.openBlock(),e.createBlock(e.unref(u.ElSwitch),e.mergeProps({key:0,modelValue:g[d.key],"onUpdate:modelValue":p=>g[d.key]=p,loading:d.options?.switch?.loadingMap?.[g[a.option.table?.rowKey]]?.loading,"before-change":()=>d.options?.switch?.tableBeforeChange?.(d.key,g),ref_for:!0},d.options?.switch),null,16,["modelValue","onUpdate:modelValue","loading","before-change"])):(e.openBlock(),e.createElementBlock("span",$t,e.toDisplayString(g[d.key]===d.options?.switch?.activeValue?d.options?.switch?.activeText:d.options?.switch?.inactiveText),1))],64)):(e.openBlock(),e.createElementBlock("span",{key:2,style:e.normalizeStyle({"--table-text-click-color":d.table?.click?.color}),class:e.normalizeClass({"table-text-click":d.table?.click?.callback}),onClick:p=>d.table?.click?.callback?.(g),innerHTML:d.table?.format?d.table?.format(g):g[d.key]},null,14,Tt))])],64))],64))]),_:2},1040,["prop","label"])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],64))),128)}}}),Ut={key:0,class:"relative curd-search fit-width"},At={class:"mb-10 flex justify-between items-center fit-width"},Lt={class:"flex items-center",style:{gap:"10px"}},Ht={key:0},jt={key:1},It={key:2},Kt={class:"export-btn"},Gt={key:1,class:"export-btn"},Pt={class:"flex items-center table-tools-right",style:{gap:"10px"}},qt={class:"table-sortable-tooltip"},Wt=["innerHTML"],Jt={class:"row justify-end mt-10 mb-10 table-bottom-pagination"},Qt={class:"dialog-footer"},Xt={key:0},Yt={key:1},Zt={class:"dialog-footer"},ye=e.defineComponent({__name:"index",props:{option:{default:{}},form:{default:void 0},searchForm:{default:void 0}},setup(r,{expose:n}){const s=w.EDialog,i=r,o=w.isFun,{conf:t,switchConfirmRef:l,ruleFormRef:a,tableRef:c}=_e(i);return n({conf:t}),(f,d)=>{const g=e.resolveComponent("el-tooltip"),p=e.resolveDirective("loading");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["relative cc1-form-box",[r.option.table?.fitHeight?"col":"no-min-height"]])},[e.createElementVNode("div",{class:e.normalizeClass(["row",[r.option.table?.fitHeight?"absolute fit":""]]),style:{overflow:"hidden"}},[e.renderSlot(f.$slots,"box-left"),e.createElementVNode("div",{class:e.normalizeClass(["column fit-width no-wrap",[r.option.table?.fitHeight?"col":""]])},[r.option.search?.show!==!1?(e.openBlock(),e.createElementBlock("div",Ut,[e.createVNode(e.unref(u.ElForm),{model:e.unref(t).search.form,inline:"",size:r.option.size?.search},{default:e.withCtx(()=>[e.renderSlot(f.$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,m=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:m.key},[e.renderSlot(f.$slots,"search-"+m.key+"-start",{row:e.unref(t).search.form}),(typeof m.show?.search=="function"?m.show?.search(e.unref(t).search.form):m.show?.search)?(e.openBlock(),e.createBlock(e.unref(u.ElFormItem),{key:0,label:m.text?.search?.label??m.label},{default:e.withCtx(()=>[e.renderSlot(f.$slots,"search-"+m.key+"-left",{row:e.unref(t).search.form}),e.renderSlot(f.$slots,"search-"+m.key,{row:e.unref(t).search.form},()=>[m.options?.search?.type?(e.openBlock(),e.createBlock(ue,{key:0,item:m,conf:e.unref(t),type:m.options.search.type},null,8,["item","conf","type"])):(e.openBlock(),e.createBlock(ue,{key:1,item:m,conf:e.unref(t),type:m.type},null,8,["item","conf","type"]))]),e.renderSlot(f.$slots,"search-"+m.key+"-right",{row:e.unref(t).search.form})]),_:2},1032,["label"])):e.createCommentVNode("",!0),e.renderSlot(f.$slots,"search-"+m.key+"-end",{row:e.unref(t).search.form})],64))),128)),e.renderSlot(f.$slots,"search-center",{row:e.unref(t).search.form}),r.option.tools?.search||r.option.tools?.reset?(e.openBlock(),e.createBlock(e.unref(u.ElFormItem),{key:0},{default:e.withCtx(()=>[r.option.tools?.search?(e.openBlock(),e.createBlock(e.unref(u.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),r.option.tools?.reset?(e.openBlock(),e.createBlock(e.unref(u.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(f.$slots,"search-end",{row:e.unref(t).search.form})]),_:3},8,["model","size"])])):e.createCommentVNode("",!0),e.createElementVNode("div",At,[e.createElementVNode("div",Lt,[e.unref(o)(r.option.tools?.add)?(e.openBlock(),e.createElementBlock("div",Ht,[e.createVNode(e.unref(u.ElButton),{type:"primary",onClick:d[0]||(d[0]=m=>e.unref(t).update.open(e.unref(s).Add)),size:r.option.size?.search},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(k).tCurd("add")),1)]),_:1},8,["size"])])):e.createCommentVNode("",!0),e.unref(o)(r.option.tools?.delete)?(e.openBlock(),e.createElementBlock("div",jt,[e.createVNode(e.unref(u.ElButton),{type:"danger",onClick:d[1]||(d[1]=m=>e.unref(t).remove.open(e.unref(t).table.selection.list)),size:r.option.size?.search},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(k).tCurd("delete")),1)]),_:1},8,["size"])])):e.createCommentVNode("",!0),r.option.tools?.expand?(e.openBlock(),e.createElementBlock("div",It,[e.createVNode(e.unref(u.ElButton),{type:"warning",onClick:d[2]||(d[2]=m=>e.unref(t).table.expand.all()),size:r.option.size?.search},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(k).tCurd("expandCollapse")),1)]),_:1},8,["size"])])):e.createCommentVNode("",!0),r.option.tools?.export?.show?(e.openBlock(),e.createElementBlock(e.Fragment,{key:3},[r.option.tools?.export?.dropdown?.show?(e.openBlock(),e.createBlock(e.unref(u.ElDropdown),{key:0,onCommand:e.unref(t).export.click},{dropdown:e.withCtx(()=>[e.createVNode(e.unref(u.ElDropdownMenu),{size:r.option.size?.search},{default:e.withCtx(()=>[r.option.tools?.export?.dropdown?.select&&(r.option.table?.selectable||e.unref(o)(r.option.tools?.delete))?(e.openBlock(),e.createBlock(e.unref(u.ElDropdownItem),{key:0,command:"select"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(k).tCurd("exportSelect")),1)]),_:1})):e.createCommentVNode("",!0),r.option.tools?.export?.dropdown?.page?(e.openBlock(),e.createBlock(e.unref(u.ElDropdownItem),{key:1,command:"page"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(k).tCurd("exportPage")),1)]),_:1})):e.createCommentVNode("",!0),r.option.tools?.export?.dropdown?.all?(e.openBlock(),e.createBlock(e.unref(u.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",Kt,[e.createVNode(e.unref(u.ElButton),{type:"warning",loading:e.unref(t).export.loading,size:r.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",Gt,[e.createVNode(e.unref(u.ElButton),{type:"warning",loading:e.unref(t).export.loading,size:r.option.size?.search,onClick:d[3]||(d[3]=m=>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(f.$slots,"tools-left")]),e.createElementVNode("div",Pt,[e.renderSlot(f.$slots,"tools-right"),e.unref(t).page.showTools&&e.unref(t).table.sortable.showPagination()?(e.openBlock(),e.createBlock(e.unref(u.ElPagination),e.mergeProps({key:0,"current-page":e.unref(t).page.num,"onUpdate:currentPage":d[4]||(d[4]=m=>e.unref(t).page.num=m),"page-size":e.unref(t).page.size,"onUpdate:pageSize":d[5]||(d[5]=m=>e.unref(t).page.size=m),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:r.option.size?.table,onSizeChange:e.unref(t).table.sortable.refreshList,onCurrentChange:e.unref(t).table.sortable.refreshList},r.option.page?.pagination||{},e.toHandlers(r.option.page?.pagination?.on||{})),null,16,["current-page","page-size","page-sizes","pager-count","layout","total","size","onSizeChange","onCurrentChange"])):e.createCommentVNode("",!0),e.unref(t).table.sortable.showTriggerButton()?(e.openBlock(),e.createBlock(e.unref(u.ElButton),{key:1,type:"warning",onClick:e.unref(t).table.sortable.start,size:r.option.size?.search,loading:e.unref(t).table.sortable.actionLoading},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(k).tCurd("sortableStart")),1)]),_:1},8,["onClick","size","loading"])):e.createCommentVNode("",!0),e.unref(t).table.sortable.showActionButton()?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[e.createVNode(e.unref(u.ElButton),{type:"success",size:r.option.size?.search,loading:e.unref(t).table.sortable.actionLoading,onClick:e.unref(t).table.sortable.save},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(k).tCurd("sortableSave")),1)]),_:1},8,["size","loading","onClick"]),e.createVNode(e.unref(u.ElButton),{type:"info",size:r.option.size?.search,onClick:e.unref(t).table.sortable.exit},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(k).tCurd("sortableExit")),1)]),_:1},8,["size","onClick"])],64)):e.createCommentVNode("",!0),e.unref(t).table.sortable.showSaveButton()?(e.openBlock(),e.createBlock(e.unref(u.ElButton),{key:3,type:"warning",onClick:e.unref(t).table.sortable.save,size:r.option.size?.search,loading:e.unref(t).table.sortable.actionLoading},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(k).tCurd("sortableSave")),1)]),_:1},8,["onClick","size","loading"])):e.createCommentVNode("",!0),r.option.tools?.expandColumn===void 0||r.option.tools?.expandColumn?(e.openBlock(),e.createBlock(g,{key:4,effect:"dark",content:e.unref(t).table.header.group.expand?e.unref(k).tCurd("mergeColumn"):e.unref(k).tCurd("expandColumn"),placement:"top"},{default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(["refresh-btn",[r.option.size?.search]]),onClick:d[6]||(d[6]=(...m)=>e.unref(t).table.header.group.toggleExpandAll&&e.unref(t).table.header.group.toggleExpandAll(...m))},[e.unref(t).table.header.group.expand?(e.openBlock(),e.createBlock(lt,{key:0})):(e.openBlock(),e.createBlock(ct,{key:1}))],2)]),_:1},8,["content"])):e.createCommentVNode("",!0),r.option.tools?.refresh===void 0||r.option.tools?.refresh?(e.openBlock(),e.createElementBlock("div",{key:5,class:e.normalizeClass(["refresh-btn",[r.option.size?.search]]),onClick:d[7]||(d[7]=(...m)=>e.unref(t).table.sortable.refreshList&&e.unref(t).table.sortable.refreshList(...m))},[e.createVNode(gt)],2)):e.createCommentVNode("",!0)])]),e.createElementVNode("div",{class:e.normalizeClass(["fit-width relative form-box",[r.option.table?.fitHeight?"col ":"",r.option.table?.editMode?"edit-mode":""]])},[e.createElementVNode("div",{class:e.normalizeClass(["column form-box-content",[r.option.table?.fitHeight?"absolute fit":""]])},[e.withDirectives((e.openBlock(),e.createBlock(e.unref(u.ElTable),e.mergeProps({ref_key:"tableRef",ref:c,data:e.unref(t).table.data,border:r.option.table?.border===void 0?!0:r.option.table?.border,class:{"cc1-form-sortable-no-scroll":e.unref(t).table.sortable.disableScroll()},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},e.unref(t).table.sortable.getTableBindOption(),e.toHandlers(r.option.table?.on||{})),{default:e.withCtx(()=>[(typeof r.option.table?.selectable=="object"?r.option.table?.selectable?.show:r.option.table?.selectable)||e.unref(o)(r.option.tools?.delete)||r.option.tools?.export?.show&&r.option.tools?.export?.select?(e.openBlock(),e.createBlock(e.unref(u.ElTableColumn),e.mergeProps({key:0,type:"selection",width:"40",align:"center",fixed:"left","show-overflow-tooltip":!1,className:"cc1-form-selectable-column"},typeof r.option.table?.selectable=="object"?r.option.table?.selectable:{},e.toHandlers(typeof r.option.table?.selectable=="object"?r.option.table?.selectable?.on||{}:{})),null,16)):e.createCommentVNode("",!0),(typeof r.option.table?.index=="object"?r.option.table?.index?.show:r.option.table?.index)?(e.openBlock(),e.createBlock(e.unref(u.ElTableColumn),e.mergeProps({key:1,type:"index",fixed:"left",width:"40",align:"center",label:"#","show-overflow-tooltip":!1,className:"cc1-form-index-column"},typeof r.option.table?.index=="object"?r.option.table?.index:{},e.toHandlers(typeof r.option.table?.index=="object"?r.option.table?.index?.on||{}:{})),null,16)):e.createCommentVNode("",!0),e.unref(t).table.sortable.isActive()?(e.openBlock(),e.createBlock(e.unref(u.ElTableColumn),e.mergeProps({key:2,align:"center","show-overflow-tooltip":!1,className:"cc1-form-drag-column"},e.unref(t).table.sortable.getColumnBind(),e.toHandlers(e.unref(t).table.sortable.getColumnBind().on||{})),{header:e.withCtx(()=>[e.renderSlot(f.$slots,"table-header-sortable",{},()=>[e.createVNode(g,{effect:"dark",placement:"top"},{content:e.withCtx(()=>[e.createElementVNode("div",{innerHTML:r.option.table?.sortable?.tipText??e.unref(k).tCurd("sortable")},null,8,Wt)]),default:e.withCtx(()=>[e.createElementVNode("span",qt,[e.createVNode(he)])]),_:1})])]),default:e.withCtx(()=>d[12]||(d[12]=[e.createElementVNode("span",{class:"cc1-form-drag-handle"},"::",-1)])),_:3},16)):e.createCommentVNode("",!0),e.createVNode(Rt,{conf:e.unref(t),columnList:e.unref(t).table.column.list,option:r.option},e.createSlots({_:2},[e.renderList(f.$slots,(m,h)=>({name:h,fn:e.withCtx(B=>[e.renderSlot(f.$slots,h,e.normalizeProps(e.guardReactiveProps(B||{})))])}))]),1032,["conf","columnList","option"]),e.unref(o)(r.option.table?.add)||e.unref(o)(r.option.table?.update)||e.unref(o)(r.option.table?.delete)||e.unref(o)(r.option.table?.view)||f.$slots["table-op-left"]||f.$slots["table-op-right"]?(e.openBlock(),e.createBlock(e.unref(u.ElTableColumn),e.mergeProps({key:3,align:"center",fixed:"right"},r.option.table?.operate,{width:r.option.table?.operate?.width||120,"show-overflow-tooltip":!1}),{header:e.withCtx(()=>[e.renderSlot(f.$slots,"table-header-op",{},()=>[e.createTextVNode(e.toDisplayString(e.unref(k).tCurd("operation")),1)])]),default:e.withCtx(({row:m})=>[e.createVNode(e.unref(u.ElForm),{size:r.option.size?.table},{default:e.withCtx(()=>[e.renderSlot(f.$slots,"table-op-left",{row:m}),e.unref(t).update.type===e.unref(s).Update&&r.option.table?.inlineEdit&&e.unref(t).update.form[i.option.table?.rowKey]===m[i.option.table?.rowKey]?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createVNode(e.unref(u.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(u.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(f.$slots,"table-op-edit-right",{row:m})],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.unref(o)(r.option.table?.add,m)?(e.openBlock(),e.createBlock(e.unref(u.ElButton),{key:0,link:"",type:"primary",onClick:h=>e.unref(t).update.open(e.unref(s).Add,m)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(k).tCurd("add")),1)]),_:2},1032,["onClick"])):e.createCommentVNode("",!0),e.unref(o)(r.option.table?.view,m)?(e.openBlock(),e.createBlock(e.unref(u.ElButton),{key:1,link:"",type:"primary",onClick:h=>e.unref(t).update.open(e.unref(s).View,m)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(k).tCurd("view")),1)]),_:2},1032,["onClick"])):e.createCommentVNode("",!0),e.unref(o)(r.option.table?.update,m)?(e.openBlock(),e.createBlock(e.unref(u.ElButton),{key:2,link:"",type:"warning",onClick:h=>e.unref(t).update.open(e.unref(s).Update,m)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(k).tCurd("edit")),1)]),_:2},1032,["onClick"])):e.createCommentVNode("",!0),e.unref(o)(r.option.table?.delete,m)?(e.openBlock(),e.createBlock(e.unref(u.ElButton),{key:3,link:"",type:"danger",onClick:h=>e.unref(t).remove.open([m])},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(k).tCurd("delete")),1)]),_:2},1032,["onClick"])):e.createCommentVNode("",!0),e.renderSlot(f.$slots,"table-op-right",{row:m})],64))]),_:2},1032,["size"])]),_:3},16,["width"])):e.createCommentVNode("",!0)]),_:3},16,["data","border","class","onSelectionChange","onSortChange","expand-row-keys","onExpandChange"])),[[p,e.unref(t).table.loading]])],2)],2),e.createElementVNode("div",Jt,[(r.option.page?.show===void 0||r.option.page?.show)&&!e.unref(t).page.showTools&&e.unref(t).table.sortable.showPagination()?(e.openBlock(),e.createBlock(e.unref(u.ElPagination),e.mergeProps({key:0,"current-page":e.unref(t).page.num,"onUpdate:currentPage":d[8]||(d[8]=m=>e.unref(t).page.num=m),"page-size":e.unref(t).page.size,"onUpdate:pageSize":d[9]||(d[9]=m=>e.unref(t).page.size=m),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:r.option.size?.table,onSizeChange:e.unref(t).table.sortable.refreshList,onCurrentChange:e.unref(t).table.sortable.refreshList},r.option.page?.pagination||{},e.toHandlers(r.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(f.$slots,"box-right")],2),e.createVNode(e.unref(u.ElDialog),e.mergeProps({modelValue:e.unref(t).update.show,"onUpdate:modelValue":d[10]||(d[10]=m=>e.unref(t).update.show=m),title:e.unref(t).update.title,"before-close":e.unref(t).update.close},r.option.dialog),{footer:e.withCtx(()=>[e.createElementVNode("span",Qt,[e.createVNode(e.unref(u.ElForm),{size:r.option.size?.form},{default:e.withCtx(()=>[e.renderSlot(f.$slots,"dialog-footer",{row:e.unref(t).update},()=>[e.createVNode(e.unref(u.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(s).View?(e.openBlock(),e.createBlock(e.unref(u.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)])]),_:3},8,["size"])])]),default:e.withCtx(()=>[e.renderSlot(f.$slots,"dialog-start",{row:e.unref(t).update}),e.createVNode(e.unref(u.ElForm),{ref_key:"ruleFormRef",ref:a,model:e.unref(t).update.form,rules:e.unref(t).update.rules,size:r.option.size?.form,class:"update-dialog-form"},{default:e.withCtx(()=>[e.unref(t).update.showContent?(e.openBlock(),e.createBlock(me,{key:0,"form-grid":e.unref(t).update.formGrid,"max-span":e.unref(t).update.formMaxSpan,form:e.unref(t).update.form,type:e.unref(t).update.type,stripe:r.option.form?.stripe,"label-width":r.option.form?.labelWidth,"form-option":r.option.form,"get-bind":e.unref(t).update.getBind,"get-on":e.unref(t).update.getOn,"get-disabled":e.unref(t).update.getDisabled},e.createSlots({_:2},[e.renderList(f.$slots,(m,h)=>({name:h,fn:e.withCtx(B=>[e.renderSlot(f.$slots,h,e.normalizeProps(e.guardReactiveProps(B||{})))])}))]),1032,["form-grid","max-span","form","type","stripe","label-width","form-option","get-bind","get-on","get-disabled"])):e.createCommentVNode("",!0)]),_:3},8,["model","rules","size"]),e.renderSlot(f.$slots,"dialog-end",{row:e.unref(t).update})]),_:3},16,["modelValue","title","before-close"]),e.createVNode(e.unref(u.ElDialog),{modelValue:e.unref(t).remove.show,"onUpdate:modelValue":d[11]||(d[11]=m=>e.unref(t).remove.show=m),title:e.unref(t).remove.title,"close-on-click-modal":!1},{footer:e.withCtx(()=>[e.createElementVNode("span",Zt,[e.createVNode(e.unref(u.ElForm),{size:r.option.size?.form},{default:e.withCtx(()=>[e.createVNode(e.unref(u.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(u.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(()=>[r.option.dialog?.delete?.content?(e.openBlock(),e.createElementBlock("div",Xt,[e.createVNode(ot,{content:r.option.dialog?.delete?.content,value:e.unref(t).remove.items},null,8,["content","value"])])):(e.openBlock(),e.createElementBlock("div",Yt,e.toDisplayString(e.unref(k).tCurd("confirmDeleteMessage",e.unref(t).remove.items.length)),1))]),_:1},8,["modelValue","title"]),e.createVNode(et,{ref_key:"switchConfirmRef",ref:l,size:r.option.size?.form},null,8,["size"])],2)}}});class xt{static async download(n,s="download.png"){const i=document.createElement("a");i.style.display="none",i.href=n,i.setAttribute("download",s),typeof i.download>"u"&&i.setAttribute("target","_blank"),document.body.appendChild(i),i.click(),document.body.removeChild(i),window.URL.revokeObjectURL(n)}static exportJSONFile=(n,s)=>{const i=new Blob([JSON.stringify(n)],{type:"application/json"}),o=URL.createObjectURL(i),t=document.createElement("a");t.href=o,t.download=`${s||"config"}.json`,t.click()};static importFile=async n=>new Promise((s,i)=>{const o=document.createElement("input");o.type="file";const t=n?.accept||".json";o.accept=t,o.style.display="none",o.onchange=l=>{const a=l.target.files[0];if(!a){w.fail("未选择文件"),i("未选择文件");return}const c=new FileReader;c.onload=async f=>{const d=t==".json"?JSON.parse(f.target.result):f.target.result;s(d)},c.onerror=()=>{w.fail("文件读取失败"),i("文件读取失败")},c.readAsText(a),document.body.removeChild(o)},document.body.appendChild(o),o.click()})}const ke=(r,n)=>{if(r.component("TCurd",ye),r.component("TFormList",Q),r.component("TColumn",ge),n?.customComponent){T.customComponent=n.customComponent;for(const s in n.customComponent)r.component(s,n.customComponent[s])}},_t={install:ke};F.ArrUtil=R,F.ExcelUtil=be,F.TColumn=ge,F.TCurd=ye,F.TFile=xt,F.TForm=T,F.TFormConfig=V,F.TFormI18n=k,F.TFormList=Q,F.TSys=w,F.default=_t,F.install=ke,Object.defineProperties(F,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
1
+ (function(F,u){typeof exports=="object"&&typeof module<"u"?u(exports,require("element-plus"),require("vue-router"),require("vue"),require("cc1-vue3")):typeof define=="function"&&define.amd?define(["exports","element-plus","vue-router","vue","cc1-vue3"],u):(F=typeof globalThis<"u"?globalThis:F||self,u(F.cc1Form={},F.ElementPlus,F.VueRouter,F.Vue,F.cc1Vue3))})(this,(function(F,u,to,e,J){"use strict";class w{static router;static routes;static getRouterPath=()=>this.router.currentRoute.value.path;static EDialog={Add:"Add",Update:"Update",View:"View",Remove:"Remove"};static isFun=(r,...s)=>Array.isArray(r)?r.some(i=>typeof i=="function"?i(...s):i):typeof r=="function"?r(...s):r;static getRouterParams=()=>{const r=this.router.currentRoute.value.query||{},s=this.router.currentRoute.value.params||{};return Object.keys(r).length?r:Object.keys(s).length?s:{}};static moduleObj={};static setModule=r=>{Object.keys(r).forEach(s=>{w.moduleObj[s]=r[s]})};static loadModule=async r=>{if(!w.moduleObj[r])throw new Error(`模块${r}未加载,请赋值如:TSys.moduleObj = { ${r}: ()=>import('${r}') }`);const s=await w.moduleObj[r]();return s.default??s};static tipMessages={};static tipMessagesGap=500;static showMessage(r,s,i={}){const o=Date.now();if(!this.tipMessages[r]||o-this.tipMessages[r]>this.tipMessagesGap){this.tipMessages[r]=o;const n=Object.assign({message:r,type:s},i);u.ElMessage(n),setTimeout(()=>{delete this.tipMessages[r]},this.tipMessagesGap)}}static fail=(r,s={})=>{this.showMessage(r,"error",s)};static success=(r,s={})=>{this.showMessage(r,"success",s)};static loadingObj=null;static loadingTimer=null;static loading=(r=!0,s="Loading...")=>{Timer.un(this.loadingTimer),this.loadingTimer=Timer.once(()=>{r?this.loadingObj=u.ElLoading.service({lock:!0,text:s,background:"rgba(0, 0, 0, 0.3)"}):this.loadingObj&&(this.loadingObj.close(),this.loadingObj=null)},50)};static openUrl=(r,s=!0)=>{if(s){let i=screen.width/2-500,o=screen.height/2-800/2-30;window.open(r,"_blank","toolbar=no, location=yes, directories=no, status=yes, menubar=no, scrollbars=yes, resizable=no, copyhistory=no, width=1000, height=800, top="+o+", left="+i)}else window.open(r,"DescriptiveWindowName"+StrUtil.getId(),"resizable,scrollbars=yes,status=1,width=1024, height=600, top=0, left=0")};static getImgPic=r=>new Promise(async(s,i)=>{let o=document.getElementById(r.id);const n=await w.loadModule("html2canvas");try{n(o,{logging:!1,allowTaint:!0,scale:window.devicePixelRatio,width:r.windowWidth,height:r.windowHeight,windowWidth:r.windowWidth,windowHeight:r.windowHeight,useCORS:!0,backgroundColor:"#ffffff00"}).then(function(l){let t=l.toDataURL("image/png");s(t)})}catch(l){i(l)}})}class V{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:{index:!1,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,sortable:{show:!1,button:!1,saveButton:!0,width:54,label:"",fixed:"left",page:!1,scroll:!1,field:"sortNo",rule:"index",order:"asc",api:{}}},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=r=>{V.config=ObjectUtil.deepMerge(V.config,r)}}class ${static customComponent={};static error={};static findOptions=(r,s)=>{const i=r.column.find(n=>n.key===s),o=n=>n.replace(/-([a-z])/g,(l,t)=>t.toUpperCase());if(i)return i.options[o(i.type)]};static setOptionsData=(r,s,i)=>{const o=$.findOptions(r,s);o&&(o.data=i)};static form={openBefore:{parentId:(r,s,i,o)=>{const n=V.config.table.rowKey;r?s.type===w.EDialog.Add?(s.form.parentId=r[n],s.form.sort=r.children.length+1):s.form.parentId=r.parentId.substring(r.parentId.lastIndexOf(",")+1):(s.form.parentId="0",s.form.sort=i.length+1),$.setOptionsData(o,"parentId",[{[n]:"0",title:"根",children:i}])}}}}class R{static getIdFun=()=>StrUtil.uuid();static setId=(r,s,i)=>{s[r]||(s[r]=[]);const o=V.config.table.rowKey;s[r].forEach(n=>{i.forEach(l=>{let t=l.default??"";l.type==="number"&&(t=l.default??0),l.type==="boolean"&&(t=l.default??!1),l.type==="time"&&(t=l.default??new Date),n[l.value]===void 0&&(n[l.value]=t)}),n[o]||(n[o]=R.getIdFun())})};static add=(r,s,i,o)=>{const n=JSONUtil.cp(i);R.setId(r,s,i);const l=V.config.table.rowKey;s[r].push(n.reduce((t,f)=>{let c=f.default??"";return f.type==="number"&&(c=f.default??0),f.type==="boolean"&&(c=f.default??!1),f.type==="time"&&(c=f.default??new Date),t[f.value]=c,t},{[l]:R.getIdFun()})),o?.(s)};static remove=(r,s,i,o)=>{const n=V.config.table.rowKey;s[r]=s[r].filter(l=>l[n]!==i[n]),o?.(s)};static getNoIdData=(r,s)=>{const i=JSONUtil.cp(r),o=V.config.table.rowKey;return i.forEach(n=>{n[o]&&delete n[o],s&&n[s]&&R.getNoIdData(n[s],s)}),i}}const we={key:0,class:"column curd-form-com-list",style:{width:"100%",gap:"10px"}},Ce={key:0},Be={class:"row items-center",style:{gap:"10px",width:"100%"}},Ve={key:1},Q=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(a,{emit:r}){const s=a,i=e.reactive({show:!1,add:(n,l,t)=>{R.add(n,l,t,()=>{o("change")})},remove:(n,l,t)=>{R.remove(n,l,t,()=>{o("change")})}});e.onMounted(()=>{R.setId(s.field,s.row,s.itemFields),i.show=!0});const o=r;return(n,l)=>{const t=e.resolveComponent("el-button"),f=e.resolveComponent("el-input");return i.show?(e.openBlock(),e.createElementBlock("div",we,[e.renderSlot(n.$slots,"list-start",{row:a.row}),a.addBottom?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Ce,[e.createVNode(t,{link:"",type:"primary",onClick:l[0]||(l[0]=c=>i.add(a.field,a.row,a.itemFields))},{default:e.withCtx(()=>l[3]||(l[3]=[e.createTextVNode("添加")])),_:1})])),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.row[a.field],c=>(e.openBlock(),e.createElementBlock("div",Be,[e.renderSlot(n.$slots,"item-start",{item:c,row:a.row}),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.itemFields,d=>(e.openBlock(),e.createBlock(f,{modelValue:c[d.value],"onUpdate:modelValue":g=>c[d.value]=g,style:e.normalizeStyle({width:a.inputWidth}),class:e.normalizeClass(a.inputClass),placeholder:d[a.label]||d[a.value],onChange:l[1]||(l[1]=g=>o("change"))},null,8,["modelValue","onUpdate:modelValue","style","class","placeholder"]))),256)),e.renderSlot(n.$slots,"item-end",{item:c,row:a.row}),e.createVNode(t,{link:"",type:"danger",onClick:d=>i.remove(a.field,a.row,c)},{default:e.withCtx(()=>l[4]||(l[4]=[e.createTextVNode("删除")])),_:2},1032,["onClick"])]))),256)),a.addBottom?(e.openBlock(),e.createElementBlock("div",Ve,[e.createVNode(t,{link:"",type:"primary",onClick:l[2]||(l[2]=c=>i.add(a.field,a.row,a.itemFields))},{default:e.withCtx(()=>l[5]||(l[5]=[e.createTextVNode("添加")])),_:1})])):e.createCommentVNode("",!0),e.renderSlot(n.$slots,"list-end",{row:a.row})])):e.createCommentVNode("",!0)}}}),A=(a,r)=>{const s=a.__vccOpts||a;for(const[i,o]of r)s[i]=o;return s},Ee={},Se={"data-v-58697b5c":"",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function Ne(a,r){return e.openBlock(),e.createElementBlock("svg",Se,r[0]||(r[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 X=A(Ee,[["render",Ne]]),Fe={class:"form-item-label-tooltip"},De=["innerHTML"],ze={class:"row form-item-content",style:{width:"100%"}},Me={class:"col column form-item-content-item"},Oe={class:"col"},Te=["innerHTML"],$e=A(e.defineComponent({__name:"field",props:{item:{},form:{},type:{},labelWidth:{},getBind:{type:Function},getOn:{type:Function},getDisabled:{type:Function}},setup(a){const r=a,s=e.ref(),i=t=>t===0||t==="",o=e.computed(()=>i(r.item.text?.form?.label)||i(r.item.form?.labelWidth)||i(r.labelWidth)),n=()=>{const t=s.value?.validateState;return t&&typeof t=="object"&&"value"in t?t.value:t},l=()=>{n()==="error"&&s.value?.clearValidate?.()};return e.watch(()=>r.form?.[r.item.key],()=>{l(),e.nextTick(()=>l())},{deep:!0,flush:"post"}),(t,f)=>(e.openBlock(),e.createBlock(e.unref(u.ElFormItem),{ref_key:"formItemRef",ref:s,prop:t.item.key,class:e.normalizeClass({"is-label-hidden":o.value}),"label-width":t.item.text?.form?.label==""?0:t.item.form?.labelWidth||t.labelWidth},{label:e.withCtx(()=>[t.item.text?.form?.tip??t.item.tip?(e.openBlock(),e.createBlock(e.unref(u.ElTooltip),{key:0,effect:"dark",placement:"top"},{content:e.withCtx(()=>[e.createElementVNode("div",{innerHTML:t.item.text?.form?.tip??t.item.tip},null,8,De)]),default:e.withCtx(()=>[e.createElementVNode("span",Fe,[e.createVNode(X)])]),_:1})):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(t.item.text?.form?.label??t.item.label),1)]),default:e.withCtx(()=>[e.createElementVNode("div",ze,[e.renderSlot(t.$slots,"form-"+t.item.key+"-start",{row:t.form,item:t.item},void 0,!0),e.createElementVNode("div",Me,[e.createElementVNode("div",Oe,[e.renderSlot(t.$slots,"form-"+t.item.key,{row:t.form,item:t.item},()=>[t.item.type==="input"?(e.openBlock(),e.createBlock(e.unref(u.ElInput),e.mergeProps({key:0,modelValue:t.form[t.item.key],"onUpdate:modelValue":f[0]||(f[0]=c=>t.form[t.item.key]=c)},t.getBind(t.item),e.toHandlers(t.getOn(t.item)),{disabled:t.getDisabled(t.item)}),e.createSlots({_:2},[t.getBind(t.item).prepend?{name:"prepend",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(typeof t.getBind(t.item).prepend=="function"?t.getBind(t.item).prepend(t.form):t.getBind(t.item).prepend),1)]),key:"0"}:void 0]),1040,["modelValue","disabled"])):t.item.type==="number"?(e.openBlock(),e.createBlock(e.unref(u.ElInputNumber),e.mergeProps({key:1,modelValue:t.form[t.item.key],"onUpdate:modelValue":f[1]||(f[1]=c=>t.form[t.item.key]=c)},t.getBind(t.item),e.toHandlers(t.getOn(t.item)),{disabled:t.getDisabled(t.item)}),null,16,["modelValue","disabled"])):t.item.type==="textarea"?(e.openBlock(),e.createBlock(e.unref(u.ElInput),e.mergeProps({key:2,type:"textarea",modelValue:t.form[t.item.key],"onUpdate:modelValue":f[2]||(f[2]=c=>t.form[t.item.key]=c)},t.getBind(t.item),e.toHandlers(t.getOn(t.item)),{disabled:t.getDisabled(t.item)}),null,16,["modelValue","disabled"])):t.item.type==="switch"?(e.openBlock(),e.createBlock(e.unref(u.ElSwitch),e.mergeProps({key:3,modelValue:t.form[t.item.key],"onUpdate:modelValue":f[3]||(f[3]=c=>t.form[t.item.key]=c)},t.getBind(t.item),e.toHandlers(t.getOn(t.item)),{disabled:t.getDisabled(t.item)}),null,16,["modelValue","disabled"])):t.item.type==="select"?(e.openBlock(),e.createBlock(e.unref(u.ElSelect),e.mergeProps({key:4,modelValue:t.form[t.item.key],"onUpdate:modelValue":f[4]||(f[4]=c=>t.form[t.item.key]=c)},t.getBind(t.item),e.toHandlers(t.getOn(t.item)),{disabled:t.getDisabled(t.item),style:{width:"100%"}}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.getBind(t.item).data||[],c=>(e.openBlock(),e.createBlock(e.unref(u.ElOption),e.mergeProps({key:c.value,ref_for:!0},c,e.toHandlers(c.on||{})),null,16))),128))]),_:1},16,["modelValue","disabled"])):t.item.type==="radio"?(e.openBlock(),e.createBlock(e.unref(u.ElRadioGroup),e.mergeProps({key:5,modelValue:t.form[t.item.key],"onUpdate:modelValue":f[5]||(f[5]=c=>t.form[t.item.key]=c)},t.getBind(t.item),e.toHandlers(t.getOn(t.item)),{disabled:t.getDisabled(t.item),style:{width:"100%"}}),{default:e.withCtx(()=>[t.getBind(t.item).type==="group"?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(t.getBind(t.item).data||[],c=>(e.openBlock(),e.createBlock(e.unref(u.ElRadioButton),e.mergeProps({key:c.value,ref_for:!0},c,e.toHandlers(c.on||{})),null,16))),128)):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(t.getBind(t.item).data||[],c=>(e.openBlock(),e.createBlock(e.unref(u.ElRadio),e.mergeProps({key:c.value,ref_for:!0},c,e.toHandlers(c.on||{})),null,16))),128))]),_:1},16,["modelValue","disabled"])):t.item.type==="checkbox"?(e.openBlock(),e.createBlock(e.unref(u.ElCheckboxGroup),e.mergeProps({key:6,modelValue:t.form[t.item.key],"onUpdate:modelValue":f[6]||(f[6]=c=>t.form[t.item.key]=c)},t.getBind(t.item),e.toHandlers(t.getOn(t.item)),{disabled:t.getDisabled(t.item),style:{width:"100%"}}),{default:e.withCtx(()=>[t.getBind(t.item).type==="group"?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(t.getBind(t.item).data||[],c=>(e.openBlock(),e.createBlock(e.unref(u.ElCheckboxButton),e.mergeProps({key:c.value,ref_for:!0},c,e.toHandlers(c.on||{})),null,16))),128)):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(t.getBind(t.item).data||[],c=>(e.openBlock(),e.createBlock(e.unref(u.ElCheckbox),e.mergeProps({key:c.value,ref_for:!0},c,e.toHandlers(c.on||{})),null,16))),128))]),_:1},16,["modelValue","disabled"])):t.item.type==="color"?(e.openBlock(),e.createBlock(e.unref(u.ElColorPicker),e.mergeProps({key:7,modelValue:t.form[t.item.key],"onUpdate:modelValue":f[7]||(f[7]=c=>t.form[t.item.key]=c)},t.getBind(t.item),e.toHandlers(t.getOn(t.item)),{disabled:t.getDisabled(t.item)}),null,16,["modelValue","disabled"])):t.item.type==="slider"?(e.openBlock(),e.createBlock(e.unref(u.ElSlider),e.mergeProps({key:8,modelValue:t.form[t.item.key],"onUpdate:modelValue":f[8]||(f[8]=c=>t.form[t.item.key]=c)},t.getBind(t.item),e.toHandlers(t.getOn(t.item)),{disabled:t.getDisabled(t.item)}),null,16,["modelValue","disabled"])):t.item.type==="list"?(e.openBlock(),e.createBlock(Q,e.mergeProps({key:9,row:t.form,field:t.item.key},t.getBind(t.item),e.toHandlers(t.getOn(t.item)),{disabled:t.getDisabled(t.item),style:{width:"100%"}}),null,16,["row","field","disabled"])):t.item.type==="treeSelect"?(e.openBlock(),e.createBlock(e.unref(u.ElTreeSelect),e.mergeProps({key:10,modelValue:t.form[t.item.key],"onUpdate:modelValue":f[9]||(f[9]=c=>t.form[t.item.key]=c)},t.getBind(t.item),e.toHandlers(t.getOn(t.item)),{disabled:t.getDisabled(t.item),style:{width:"100%"}}),null,16,["modelValue","disabled"])):t.item.type==="datetime"?(e.openBlock(),e.createBlock(e.unref(u.ElDatePicker),e.mergeProps({key:11,modelValue:t.form[t.item.key],"onUpdate:modelValue":f[10]||(f[10]=c=>t.form[t.item.key]=c)},t.getBind(t.item),e.toHandlers(t.getOn(t.item)),{disabled:t.getDisabled(t.item)}),null,16,["modelValue","disabled"])):t.item.type&&typeof t.item.type=="object"?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.item.type),e.mergeProps({key:12,modelValue:t.form[t.item.key],"onUpdate:modelValue":f[11]||(f[11]=c=>t.form[t.item.key]=c)},t.getBind(t.item),e.toHandlers(t.getOn(t.item)),{disabled:t.getDisabled(t.item)}),null,16,["modelValue","disabled"])):t.item.type&&(e.unref($).customComponent[t.item.type]||e.unref($).customComponent[t.item.type]?.form)?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref($).customComponent[t.item.type]?.form||e.unref($).customComponent[t.item.type]),e.mergeProps({key:13,modelValue:t.form[t.item.key],"onUpdate:modelValue":f[12]||(f[12]=c=>t.form[t.item.key]=c)},t.getBind(t.item),e.toHandlers(t.getOn(t.item)),{disabled:t.getDisabled(t.item)}),null,16,["modelValue","disabled"])):e.createCommentVNode("",!0)],!0),e.renderSlot(t.$slots,"form-"+t.item.key+"-right",{row:t.form,item:t.item},void 0,!0)]),e.renderSlot(t.$slots,"form-"+t.item.key+"-tip",{row:t.form,item:t.item},()=>[t.item.form?.tipText?(e.openBlock(),e.createElementBlock("div",{key:0,class:"form-tip-text",innerHTML:typeof t.item.form?.tipText=="function"?t.item.form?.tipText(t.form,t.type):t.item.form?.tipText},null,8,Te)):e.createCommentVNode("",!0)],!0)]),e.renderSlot(t.$slots,"form-"+t.item.key+"-end",{row:t.form,item:t.item},void 0,!0)])]),_:3},8,["prop","class","label-width"]))}}),[["__scopeId","data-v-43a6d599"]]);function no(a){return a}const Re={search:"搜索",add:"新增",edit:"编辑",view:"查看",delete:"删除",export:"导出",exportSelect:"导出选中",exportPage:"导出本页",exportAll:"导出全部",import:"导入",refresh:"刷新",reset:"重置",expandCollapse:"展开/收缩",operation:"操作",close:"关闭",cancel:"取消",submit:"提交",confirm:"确认",deleteTitle:"删除提示",confirmDelete:"确认删除",confirmDeleteMessage:"确认要删除【{count}】条数据吗?",placeholderInput:"请输入",placeholderSelect:"请选择",checkFormData:"部分内容未输入或输入错误,请检查",selectDataToDelete:"请选择要删除的数据",selectDataToExport:"请选择要导出的数据",noData:"暂无数据",operationSuccess:"操作成功",switchOn:"开启",switchOff:"关闭",confirmModify:"确认修改",confirmSwitchMessage:"确认要修改吗?",mergeColumn:"合并栏位",expandColumn:"展开栏位",sortable:"拖拽进行排序,点击保存排序可保存排序结果",sortableStart:"排序",sortableAction:"排序操作",sortableSave:"保存排序",sortableExit:"退出排序",sortableUpdateApiRequired:"未配置排序保存接口"};class k{static t(r,...s){if(typeof r=="function")return r(...s);r=String(r);let i=0;return r.replace(/{([^}]+)}/g,(o,n)=>i<s.length?String(s[i++]):`{${n}}`)}static setI18n=r=>{k.curd=ObjectUtil.deepMerge(k.curd,r)};static tCurd(r,...s){return this.t(this.curd[r],...s)}static curd=Re}class U{static delAllKey=r=>{Object.keys(r).forEach(s=>{delete r[s]})};static setValue=(r,s,i=!1)=>{i&&U.delAllKey(r),Object.keys(s).forEach(o=>{r[o]!==s[o]&&(r[o]=s[o])})}}const G=a=>{const r=e.reactive({}),s=()=>typeof a=="function"?a():a,i=()=>{const o=s();return o??r};return{internal:r,isExternal:()=>s()!=null,get(){return i()},set(o){U.setValue(i(),o,!0)},merge(o){U.setValue(i(),o,!1)},clear(){U.delAllKey(i())}}},K=a=>{a.forEach(r=>{console.error({field:r.field||"",error:r.error||""})})},Ue=a=>a?typeof a=="string"?a:a instanceof Error?a.message:a.message||String(a):"",q=a=>!a||typeof a!="object"?[]:Object.keys(a).flatMap(r=>(Array.isArray(a[r])?a[r]:[a[r]]).map(i=>({field:i?.field||r,error:Ue(i)}))),P=w.EDialog,H=a=>typeof a.type=="object"?"component":a.type||"input",Ae=(a,r,s)=>{const i=G(()=>r.form),o=l=>Y(l.update.formGrid||[],l.update.form,l.update.type,l.update.formMaxSpan).map(f=>f.item.key).filter(Boolean),n=async l=>{const t=s.ruleFormRef.value;if(!t)return!0;await e.nextTick();const f=o(l),c=Object.keys(l.update.rules||{}).filter(g=>!f.includes(g));if(c.length&&t.clearValidate(c),!f.length)return!0;if(!await t.validateField(f,async(g,p)=>{g||K(q(p))}))throw!1;return!0};return{update:{title:"",rules:{},show:!1,showContent:!1,loading:!1,type:P.Update,get form(){return i.get()},set form(l){i.set(l)},formDefault:{},formColumn:[],formGrid:[],formMaxSpan:12,getDisabled:(l,t=!1)=>{const f=a();return r.option.table?.editMode&&t?l.disabled?.table===void 0?!1:w.isFun(l.disabled?.table,f.update.form):ne(l,f.update.type,f.update.form)},getBind:l=>{const t=a();return re(l,t.update.type)},getOn:(l,t)=>{const f=a();return ae(l,f.update.type,[t||f.update.form,l])},getOptions:l=>{const t=a();try{const c=Ie(t.update.formGrid?.length?t.update.formGrid:t.update.formColumn).find(d=>d.item.key===l)?.item;return c?{options:c.options,bind:t.update.getBind(c)}:{options:{},bind:{}}}catch{return{options:{},bind:{}}}},edit:{data:{},getApiData:l=>{const t=a();if(r.option.form?.editAll)return l;const f={[r.option.table?.rowKey]:t.update.edit.data[r.option.table?.rowKey]};return Object.keys(t.update.edit.data).forEach(c=>{l[c]!==t.update.edit.data[c]&&(f[c]=l[c])}),f}},view:{},openLoading:!1,open:async(l,t)=>{const f=a();if(!(f.update.showContent||f.update.openLoading)){w.loading(!0),f.update.openLoading=!0;try{f.update.type=l;const c=l===P.Add;f.update.edit.data=c?void 0:JSONUtil.cp(t),f.update.title=k.tCurd(c?"add":l===P.View?"view":"edit");const d=c?ObjectUtil.deepMerge(JSONUtil.cp(f.update.formDefault),t?JSONUtil.cp(t):{}):JSONUtil.cp(t);U.setValue(f.update.form,d,!0),await f.initApiData("update"),await r.option.form?.openBefore?.(f.update.form,f.update),(!r.option.table?.inlineEdit||c)&&(f.update.show=!0,f.update.showContent=!0),r.option.form?.openAfter?.(f.update.form,f.update)}catch(c){console.error(c)}finally{w.loading(!1),f.update.openLoading=!1}}},errorText:"",setErrorText:l=>{const t=a();t.update.errorText||(t.update.errorText=l)},validate:async(l=!0)=>{const t=a();try{const f=r.option.table?.editMode?t.tableEditValidate.validate():n(t);return await Promise.all([f,t.formRef.validate()]),!0}catch{return l&&w.fail(t.update.errorText||k.tCurd("checkFormData")),t.update.errorText="",!1}},submit:async()=>{const l=a();if(!await l.update.validate()||l.update.loading)return;l.update.loading=!0;const f=l.update.type===P.Add?r.option.api.create:r.option.api.update;try{await r.option.form?.submitBefore?.(l.update.form,l.update)}catch{l.update.loading=!1;return}let c=ObjectUtil.deepMerge(l.update.form,{});delete c.children;const d=new Set(r.option.column.filter(g=>g.type==="datetime").map(g=>g.key));Object.keys(c).forEach(g=>{if(d.has(g)&&c[g]!=null){const p=new Date(c[g]).getTime();isNaN(p)||(c[g]=p)}});try{if(!f)return;await f({...c}),l.update.close(),await l.table.getList(),r.option.form?.submitAfter?.(c,l.update)}catch(g){console.error(g)}finally{l.update.loading=!1}},close:()=>{const l=a();l.update.show=!1,l.update.edit.data=void 0,setTimeout(()=>{l.update.showContent=!1,s.ruleFormRef.value?.resetFields?.(),i.clear()},350)}}}},T=12,W=(a,r)=>{a.isForm=r,Array.isArray(a.children)&&a.children.forEach(s=>W(s,r))},Le=a=>a.isForm===!1?!1:typeof a.show?.form=="boolean"?a.show.form:!0,te=a=>a>T?Math.floor(a/2):a,He=(a,r,s)=>(a.form=a.form||{span:r},s==="column"?a.form.span=a.form.span??12:a.form.span=a.form.span??r,a.form.span=te(a.form.span),a.form.span),oe=a=>{const r=a.form;return r?.row!=null&&r.row>0?te(r.row):T},j=a=>Math.floor((a.gridRow-1)/T),ne=(a,r,s)=>{if(r===w.EDialog.View)return a.disabled?.view===void 0?!0:w.isFun(a.disabled?.view,s);const i=a.disabled?.[r===w.EDialog.Add?"create":"update"];return w.isFun(i,s)},re=(a,r)=>{const s=H(a);return a.options?.[r===w.EDialog.Add?"formAdd":"formUpdate"]?.[s]||a.options?.[s]||{}},ae=(a,r,s=[])=>{const i=H(a),n=a.options?.[r===w.EDialog.Add?"formAdd":"formUpdate"]?.[i]?.on||a.options?.[i]?.on||{},l={};return Object.keys(n).forEach(t=>{const f=n[t];typeof f=="function"?l[t]=function(...c){return f.apply(this,[...c,...s])}:l[t]=f}),l},le=(a,r,s,i,o)=>{const n=a,l=n.colSpan??a.span;if(!a.item.form?.spanCol)return l;const t=o?.maxSpan||12,f=o?.defaultSpan||t/2,c=n.gridBand,g=r.filter(p=>c!=null?p.gridBand===c&&!w.isFun(p.item.show?.form,s,i):p.gridRow===n.gridRow&&!w.isFun(p.item.show?.form,s,i)).reduce((p,m)=>p+(m.colSpan??m.span??f),0);return l+g},je=(a,r)=>{const s=(i,o)=>{const n=i.gridRow,l=i.gridRow+i.rowSpan-1,t=o.gridRow,f=o.gridRow+o.rowSpan-1;return n<=f&&t<=l};return a.map(i=>a.filter(n=>s(i,n)).length!==1||i.colSpan>=r?i:{...i,span:r,colSpan:r,gridColumn:1})},ie=(a,r,s={})=>{const i=new Set,o=[];let n=0,l=0;const t=m=>Math.floor(m/T)*T,f=(m,h)=>`${m},${h}`,c=(m,h,B,D)=>{if(h+B>r)return!1;for(let E=0;E<D;E++)for(let S=0;S<B;S++)if(i.has(f(m+E,h+S)))return!1;return!0},d=(m,h,B,D)=>{for(let E=0;E<D;E++)for(let S=0;S<B;S++)i.add(f(m+E,h+S))},g=(m,h,B,D)=>{for(let S=t(m);S<500*T;S+=T){const x=S+T,_=S===t(m)?Math.max(S,m):S;for(let L=_;L<x;L++){const v=L===m?h:0;for(let I=v;I<=r-B;I++)if(c(L,I,B,D))return{tr:L,tc:I}}}return{tr:m,tc:h}},p=(m,h,B,D)=>{const E=t(m);if(D<T&&m+D<E+T){n=m+D,l=h;return}const S=h+B;if(S<r){l=S,n=E;return}l=0,n=E+T};return a.forEach(m=>{const h=m.colSpan??(m.span===0?r:m.span),B=m.rowSpan??oe(m.item);m.item.form?.rowBreak&&o.length&&(l=0,n=t(n)+T);let{tr:D,tc:E}=c(n,l,h,B)?{tr:n,tc:l}:g(n,l,h,B);c(D,E,h,B)||({tr:D,tc:E}=g(0,0,h,B)),d(D,E,h,B);const S=D+1;o.push({...m,span:h,colSpan:h,rowSpan:B,gridRow:S,gridColumn:E+1,gridBand:j({gridRow:S})}),p(D,E,h,B)}),s.fillSingleRows?je(o,r):o},Y=(a,r,s,i=T)=>{const o=a.filter(t=>w.isFun(t.item.show?.form,r,s)),n=new Map;a.forEach(t=>{const c=`${t.gridBand??j(t)}:${t.gridColumn}:${t.colSpan}`;n.has(c)||n.set(c,[]),n.get(c).push(t)});const l=new Map;return n.forEach(t=>{const f=t.reduce((p,m)=>p+m.rowSpan,0);if(!(t.length>1&&f===T&&t.every(p=>p.rowSpan<T)))return;const d=t.filter(p=>w.isFun(p.item.show?.form,r,s));if(d.length!==1)return;const g=d[0];l.set(g.item.key,{...g,rowSpan:T})}),ie(o.map(t=>l.get(t.item.key)||t),i,{fillSingleRows:!0})},se=a=>{const r=new Map;return a.forEach(s=>{const i=s.gridBand??j(s);r.has(i)||r.set(i,[]),r.get(i).push(s)}),Array.from(r.keys()).sort((s,i)=>s-i).map(s=>r.get(s))},Ie=a=>a?.length?Array.isArray(a[0])?a.flat():a:[],Ke=(a,r)=>{if(!Le(a)||!a.key)return null;const s=r.defaultSpan??(r.maxSpan||12)/2,i=He(a,s,r.layout);return{item:a,span:i}},Ge=(a,r={})=>{const s=[],i=o=>{if(o.children?.length){o.children.forEach(l=>i(l));return}const n=Ke(o,r);n&&s.push(n)};return a.forEach(o=>i(o)),s},de=(a,r={})=>{const s=r.maxSpan??12,i=r.defaultSpan??s/2,o=r.layout??"row",l=Ge(a,{maxSpan:s,defaultSpan:i,layout:o});if(o==="column"){const t=[];let f=1;return l.forEach(c=>{const d=oe(c.item),g=s;t.push({...c,span:g,colSpan:g,rowSpan:d,gridRow:f,gridColumn:1,gridBand:j({gridRow:f})}),f+=d}),{cells:t,maxSpan:s}}return{cells:ie(l,s),maxSpan:s}},qe=a=>a.map(r=>r.item?.show?.form),Pe=(a,r,s)=>{if(!a.rules)return;const i={required:!0,message:r(a),trigger:"blur"},o=H(a),n=a.options?.datetime?.type,l=o==="datetime"&&typeof n=="string"&&n.includes("range"),t=o==="select"&&!!a.options?.select?.multiple;(l||o==="checkbox"||t)&&(i.type="array",i.min=l?2:1);const f=typeof a.rules=="boolean"?[i]:a.rules;return s?f.map(c=>s(c)):f},ce=a=>typeof a=="function"?a():a,fe=a=>(r,s)=>Pe(r,a,i=>{const o=(n,l)=>{if(l&&Object.prototype.hasOwnProperty.call(l,r.key)&&l[r.key]!==void 0)return l[r.key];const t=ce(s);return t&&Object.prototype.hasOwnProperty.call(t,r.key)?t[r.key]:n};if(i.validator){const n=i.validator;return{...i,validator:(l,t,f,c)=>{const d=ce(s);return n(l,o(t,c),f,d||c)}}}return i}),pe=(a,r)=>{const s={input:k.tCurd("placeholderInput"),select:k.tCurd("placeholderSelect")},i=(s[H(a)||"input"]||s.input)+a.label;return(r||$.error.callback)?.(a.key,a)||i},me=a=>fe(r=>pe(r,a?.error)),We=(a,r,s)=>{const i={},o={},n=r?.maxSpan||12,l=r?.defaultSpan||n/2,t=me(r);a.forEach(d=>W(d,!0)),Z(a,i,o,d=>t(d,s));const{cells:f,maxSpan:c}=de(a,{maxSpan:n,defaultSpan:l,layout:r?.layout});return{formDefault:i,rules:o,formGrid:f,formMaxSpan:c,formColumn:se(f)}},Z=(a,r,s,i)=>{const o=n=>{if(n.children?.length){n.children.forEach(l=>o(l));return}if(n.key){r[n.key]=n.value;const l=i(n);l&&(s[n.key]=l)}};a.forEach(o)},Je={class:"curd-form-cell-inner"},ge=e.defineComponent({__name:"layout",props:{formGrid:{},maxSpan:{},form:{},type:{},stripe:{type:Boolean},labelWidth:{},formOption:{},getBind:{type:Function},getOn:{type:Function},getDisabled:{type:Function}},setup(a){const r=w.isFun,s=a,i=e.computed(()=>Y(s.formGrid,s.form,s.type,s.maxSpan)),o=e.computed(()=>{const p=Array.from(new Set(i.value.map(m=>m.gridBand??j(m)))).sort((m,h)=>m-h);return new Map(p.map((m,h)=>[m,h]))}),n=e.computed(()=>({gridTemplateColumns:`repeat(${s.maxSpan}, minmax(0, 1fr))`})),l=e.computed(()=>{let p=0;return i.value.forEach(m=>{const h=m.gridRow+m.rowSpan-1;h>p&&(p=h)}),p}),t=p=>p.gridRow+p.rowSpan-1>=l.value,f=p=>p.rowSpan>=T,c=p=>{const m=p.gridBand??j(p);return o.value.get(m)??m},d=p=>le(p,i.value,s.form,s.type,{maxSpan:s.maxSpan,defaultSpan:s.formOption?.defaultSpan}),g=p=>{const m=d(p)||p.colSpan;return{gridRow:`${p.gridRow} / span ${p.rowSpan}`,gridColumn:`${p.gridColumn} / span ${m}`}};return(p,m)=>e.unref(r)(e.unref(qe)(p.formGrid),p.form,p.type)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.renderSlot(p.$slots,"form-start",{row:p.form}),e.createElementVNode("div",{class:e.normalizeClass(["curd-form-grid",{stripe:p.stripe!==!1}]),style:e.normalizeStyle(n.value)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,h=>(e.openBlock(),e.createElementBlock("div",{key:h.item.key,class:e.normalizeClass(["curd-form-grid-cell",[p.stripe!==!1&&c(h)%2===0?"stripe-band-odd":"",h.gridColumn>1?"has-col-border":"",p.stripe!==!1&&t(h)?"is-last-row":"",f(h)?"is-row-span":"",`form-item-col-${h.item.key}`]]),style:e.normalizeStyle(g(h))},[e.createElementVNode("div",Je,[e.unref(r)(h.item.show?.form,p.form,p.type)?(e.openBlock(),e.createBlock($e,{key:0,class:e.normalizeClass({"is-row-span-field":f(h)}),item:h.item,form:p.form,type:p.type,"label-width":p.labelWidth,"get-bind":p.getBind,"get-on":p.getOn,"get-disabled":p.getDisabled},e.createSlots({_:2},[e.renderList(p.$slots,(B,D)=>({name:D,fn:e.withCtx(E=>[e.renderSlot(p.$slots,D,e.mergeProps({ref_for:!0},E||{}))])}))]),1032,["class","item","form","type","label-width","get-bind","get-on","get-disabled"])):e.createCommentVNode("",!0)])],6))),128))],6),e.renderSlot(p.$slots,"form-end",{row:p.form})],64)):e.createCommentVNode("",!0)}}),be=e.defineComponent({__name:"column",props:{option:{default:()=>({form:{},column:[]})},type:{default:""},form:{default:void 0}},setup(a,{expose:r}){const s=w.EDialog,i=e.ref(),o=a;let n=G(o.form);const l=J.Scope.getConf("curdConf"),t="formRef-"+StrUtil.getId();e.onUnmounted(()=>{l?.formRef?.remove(t)});const f=e.reactive({rules:{},show:!0,formDefault:{},type:o.type||l?.update?.type||s.Add,formColumn:[],formGrid:[],formMaxSpan:12,get form(){return n.get()},set form(c){n.set(c)},getDisabled:c=>ne(c,f.type,f.form),getBind:c=>re(c,f.type),getOn:c=>ae(c,f.type,[f.form,c]),initColumnForm:()=>{const c=n,d=We(o.option.column,o.option.form,()=>c.get());f.formDefault=d.formDefault,f.rules=d.rules,f.formGrid=d.formGrid,f.formMaxSpan=d.formMaxSpan,f.formColumn=d.formColumn,f.type===s.Add?c.isExternal()?c.merge(JSONUtil.cp(f.formDefault)):c.set(JSONUtil.cp(f.formDefault)):!c.isExternal()&&o.form&&c.set(JSONUtil.cp(o.form))}});return l?.formRef?.set(t,{validate:async c=>{const d=i.value;if(!d)return c?.(!0),!0;await e.nextTick();const g=Y(f.formGrid||[],f.form,f.type,f.formMaxSpan).map(h=>h.item.key).filter(Boolean),p=Object.keys(f.rules||{}).filter(h=>!g.includes(h));if(p.length&&d.clearValidate(p),!g.length)return c?.(!0),!0;const m=await d.validateField(g,async(h,B)=>{h||K(q(B))});if(c?.(!!m),!m)throw!1;return!0}}),o.option.form?.initStart?.(f),f.initColumnForm(),o.option.form?.initEnd?.(f),e.watch(()=>o.form,c=>{n=G(c),f.initColumnForm()}),r({ref:i,conf:f}),(c,d)=>(e.openBlock(),e.createBlock(e.unref(u.ElForm),{ref_key:"ruleFormRef",ref:i,model:f.form,rules:f.rules},{default:e.withCtx(()=>[f.show?(e.openBlock(),e.createBlock(ge,{key:0,"form-grid":f.formGrid,"max-span":f.formMaxSpan,form:f.form,type:f.type,stripe:a.option.form?.stripe,"label-width":a.option.form?.labelWidth||"100px","form-option":a.option.form,"get-bind":f.getBind,"get-on":f.getOn,"get-disabled":f.getDisabled},e.createSlots({_:2},[e.renderList(c.$slots,(g,p)=>({name:p,fn:e.withCtx(m=>[e.renderSlot(c.$slots,p,e.normalizeProps(e.guardReactiveProps(m||{})))])}))]),1032,["form-grid","max-span","form","type","stripe","label-width","form-option","get-bind","get-on","get-disabled"])):e.createCommentVNode("",!0)]),_:3},8,["model","rules"]))}}),Qe=a=>a?.value||a,Xe=a=>{const r=Qe(a);return r?.validate?new Promise((s,i)=>{let o=!1;const n=(l,t)=>{o||(o=!0,l===!1?(K(q(t)),i(!1)):s(!0))};try{const l=r.validate(n);l&&typeof l.then=="function"?l.then(t=>n(t)).catch(t=>{K(q(t?.fields||t)),i(t)}):(l!==void 0||r.validate.length===0)&&n(l)}catch(l){i(l)}}):Promise.resolve(!0)},Ye=()=>{const a=e.reactive({formRef:{map:{},set(r,s){a.formRef.map[r]=s},remove(r){delete a.formRef.map[r]},validate(){const r=Object.keys(a.formRef.map).map(s=>a.formRef.map[s]);return Promise.all(r.map(s=>Xe(s))).then(()=>!0)}},regFormRef(r,s,i){r?i?a.formRef.set(s,{validate:async o=>{try{o(await i())}catch{o(!1)}}}):a.formRef.set(s,r):a.formRef.remove(s)}});return a},Ze=(a,r)=>{const s=G(()=>r.searchForm);return{search:{column:{list:[]},get form(){return s.get()},set form(i){s.set(i)},formDefault:{},getPlaceholder:(i,o=k.tCurd("placeholderInput"))=>i.text?.search?.placeholder===void 0?`${o}${i.label}`:i.text?.search?.placeholder,getFormData:()=>{const i=a();let o={};r.option.column.forEach(l=>{(typeof l.show?.search=="function"?l.show?.search(i.search.form):l.show?.search)&&(o[l.key]=i.search.form[l.key])});const n=r.option.search?.before?.(o);return n&&(o=n),o},reset:()=>{const i=a(),o=i.search.formDefault;Object.keys(o).forEach(l=>{r.option.search?.resetMode==="none"?o[l]=void 0:o[l]=i.search.formDefault[l]});const n=ObjectUtil.deepMerge(o,{});U.setValue(i.search.form,n,!0),i.page.num=1,r.option.init!==!1&&i.table.getList()},submit:()=>{const i=a();i.page.num=1,i.table.getList()}}}},xe=(a,r)=>({page:{num:1,total:0,layout:r.option.page?.layout||V.config.pagination.layout,showTools:r.option.page?.showTools||V.config.pagination.showTools,size:r.option.page?.size||V.config.pagination.size,sizeList:r.option.page?.sizeList||V.config.pagination.pageSizes,pagerCount:r.option.page?.pagerCount||V.config.pagination.pagerCount,getQuery:(s={})=>{const i=a();return{[V.config.field.page.size]:s.size||i.page.size,[V.config.field.page.num]:s.num||i.page.num,...i.search.getFormData()}}}}),_e=(a,r,s)=>{const i=a;return{table:{op:{width:(...o)=>o.filter(l=>l).length*30+60},loading:!1,data:[],expand:{isExpand:!1,rowKeys:[],change:(o,n)=>{},all:()=>{const o=i();if(o.table.expand.isExpand)o.table.expand.rowKeys=[];else{const n=l=>{let t=[];return l.forEach(f=>{t.push(f[r.option.table.rowKey]),f.children?.length&&(t=t.concat(n(f.children)))}),t};o.table.expand.rowKeys=n(o.table.data)}o.table.expand.isExpand=!o.table.expand.isExpand}},column:{list:[],show:{listSource:[],list:[]}},sortable:{mode:!1,actionLoading:!1,instance:void 0,modulePromise:void 0,getOption:()=>r.option.table?.sortable||{},showTriggerButton:()=>{const o=i();return r.option.table?.sortable?.button&&!o.table.sortable.mode},showActionButton:()=>{const o=i();return r.option.table?.sortable?.button&&o.table.sortable.mode},showSaveButton:()=>!r.option.table?.sortable?.button&&r.option.table?.sortable?.show&&r.option.table?.sortable?.saveButton,isActive:()=>{const o=i(),n=o.table.sortable.getOption();return n.button?o.table.sortable.mode:!!n.show},showPagination:()=>{const o=i();return!o.table.sortable.isActive()||o.table.sortable.getOption().page},disableScroll:()=>{const o=i(),n=o.table.sortable.getOption();return o.table.sortable.isActive()&&!n.page&&!n.scroll},getTableBindOption:()=>{const o=i();return{...r.option.table||{},...o.table.sortable.disableScroll()?{height:void 0,maxHeight:void 0}:{}}},getColumnBind:()=>{const{show:o,button:n,page:l,scroll:t,field:f,rule:c,api:d,onEnd:g,...p}=i().table.sortable.getOption();return p},destroy:()=>{const o=i();o.table.sortable.instance?.destroy(),o.table.sortable.instance=void 0},getBody:()=>s.tableRef.value?.$el?.querySelector(".el-table__body-wrapper tbody"),loadModule:async()=>{const o=i();o.table.sortable.modulePromise??=w.loadModule("sortablejs");const n=await o.table.sortable.modulePromise;return n.default||n},applyRule:(o,n,l,t,f="asc")=>{if(l==="value"){const c=f==="desc"?t.slice().reverse():t;o.forEach((d,g)=>{d[n]=c[g]});return}o.forEach((c,d)=>{c[n]=f==="desc"?o.length-d:d+1})},sync:async()=>{const o=i();if(o.table.sortable.destroy(),!o.table.sortable.isActive()||o.table.loading)return;await e.nextTick();const n=o.table.sortable.getBody();if(!n)return;const l=await o.table.sortable.loadModule(),t=o.table.sortable.getOption();o.table.sortable.instance=l.create(n,{animation:150,handle:".cc1-form-drag-handle",draggable:".el-table__row",onEnd:({oldIndex:f,newIndex:c})=>{const d=(p,m,h)=>{if(!Number.isInteger(m)||!Number.isInteger(h)||m===h||m<0||h<0||m>=p.length||h>=p.length)return;const B=p.splice(m,1)[0];p.splice(h,0,B)},g=o.table.data.map(p=>p?.[t.field]);d(o.table.data,f,c),t.onEnd?t.onEnd(o.table.data):o.table.sortable.applyRule(o.table.data,t.field,t.rule,g,t.order||"asc")}})},refreshList:async()=>{const o=i();await o.table.getList(o.table.sortable.isActive()?"sortable":void 0),o.table.sortable.sync()},fitHeight:!1,start:async()=>{const o=i(),n=o.table?.sortable.getOption();o.table.sortable.fitHeight=r.option.table.fitHeight,n.scroll||(r.option.table.fitHeight=!1),o.table.sortable.mode=!0,await o.table.sortable.refreshList()},exit:async()=>{const o=i();o.table.sortable.mode=!1,r.option.table.fitHeight=o.table.sortable.fitHeight,await o.table.getList(),o.table.sortable.destroy()},save:async()=>{const o=i(),l=o.table.sortable.getOption().api?.update||r.option.api.update;if(!l){w.fail(k.tCurd("sortableUpdateApiRequired"));return}o.table.sortable.actionLoading=!0,o.table.loading=!0;try{await l(o.table.data,"sortable"),w.success(k.tCurd("operationSuccess")),await o.table.sortable.exit()}catch(t){console.error(t)}finally{o.table.sortable.actionLoading=!1,o.table.loading=!1}}},header:{group:{expand:!1,toggleExpandAll:()=>{const o=i(),n=!o.table.header.group.expand;o.table.header.group.expand=n;const l=t=>{t.forEach(f=>{f.table?.header?.group!==void 0&&(f.table.header.group=!n),f.table?.header?.groupKey!==void 0&&(f.table.header.show=n),Array.isArray(f.children)&&f.children.length&&l(f.children)})};l(o.table.column.list)}}},parseListResult:async o=>{const n=V.config.field.result,l=o?.data||{[n.list]:o},t=Array.isArray(l)?l:(Array.isArray(l[n.list]),l[n.list]),c=ObjectUtil.deepMerge({data:t},{}).data;return{data:r.option.data?await r.option.data(c,t):c,total:l[n.total]||0}},applyListResult:async(o,n)=>{const l=i(),t=await l.table.parseListResult(o);return l.table.data=t.data,l.page.total=n??t.total,l.tableEditValidate?.clear?.(),t},getList:async o=>{const n=i();n.table.loading=!0;const l=r.option.table?.sortable,t=o==="sortable"&&l?.api?.list||r.option.api.list,f=JSONUtil.cp(n.table.selection.list);try{await n.initApiData("init");let c={};if(n.table.sort.prop){const{props:p,order:m}=V.config.table.sort;c={[p.field]:n.table.sort.prop,[m.field]:n.table.sort.order}}const d=o==="sortable"&&l?.page===!1?n.page.getQuery({num:1,size:n.page.total||999999}):n.page.getQuery(),g=await t({...d,...c},o);await n.table.applyListResult(g,o==="sortable"&&l?.page===!1?n.page.total:void 0),setTimeout(()=>{n.table.selection.setList(f),r.option.table?.sortable?.show&&!r.option.table?.sortable?.button&&n.table.sortable.sync()},20)}catch(c){console.error(c)}finally{n.table.loading=!1}},selection:{list:[],change:o=>{i().table.selection.list=o},setList:(o,n)=>{const l=i();l.table.selection.list=[];const t=s.tableRef.value;if(t?.clearSelection(),!t||!o?.length)return;const f=r.option.table?.rowKey,c=d=>{const g=p=>{for(const m of p){if(f!=null&&f!==""){if(m[f]===d[f])return m}else if(m===d)return m;if(Array.isArray(m.children)&&m.children.length){const h=g(m.children);if(h!==void 0)return h}}};return g(l.table.data)};o.forEach(d=>{const g=c(d);if(g)if(n){const p=()=>t.toggleRowSelection(g,!0,!1);n(d)!==!1&&p()}else t.toggleRowSelection(g,!0,!1)})}},sort:{prop:"",order:"",change:o=>{const n=i();V.config.table.sort.resetPage&&(n.page.num=1);const l=V.config.table.sort;if(l.change){l.change(o,n);return}n.table.sort.prop=o.prop,o.order===null?(n.table.sort.order="",n.table.sort.prop=""):n.table.sort.order=o.order==="ascending"?l.order.asc:l.order.desc,n.table.getList()}}}}},ve=(a,r)=>{const s=e.reactive({}),i=new WeakMap;let o=0;const n=b=>{let y=i.get(b);return y||(o+=1,y=`fallback-${o}`,i.set(b,y)),y},l=b=>{const y=r.option.table?.rowKey,C=y?b[y]:void 0;return C!=null&&C!==""?String(C):n(b)},t=(b,y)=>`${l(b)}-${y.key}`,f=b=>pe(b,r.option.form?.error),c=fe(f),d=()=>{Object.keys(s).forEach(b=>{delete s[b]})},g=(b,y)=>{delete s[t(b,y)]},p=(b,y)=>s[t(b,y)]||"",m=(b,y)=>b.message||f(y),h=b=>b==null||b===""||Array.isArray(b)&&b.length===0,B=b=>{if(typeof b=="number")return b;if(typeof b=="string"||Array.isArray(b))return b.length},D=(b,y)=>{if(b==="array")return Array.isArray(y);if(b==="integer")return typeof y=="number"&&Number.isInteger(y);if(b==="float")return typeof y=="number"&&!Number.isInteger(y);if(b==="number")return typeof y=="number"&&!Number.isNaN(y);if(b==="boolean")return typeof y=="boolean";if(b==="object")return y!==null&&typeof y=="object"&&!Array.isArray(y);if(b==="date")return y instanceof Date||!Number.isNaN(new Date(y).getTime());if(b==="email")return/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(String(y));if(b==="url")try{return new URL(String(y)),!0}catch{return!1}return b==="string"?typeof y=="string":!0},E=(b,y,C)=>typeof b.validator!="function"?Promise.resolve(!0):new Promise(z=>{let M=!1;const N=O=>{if(!M){if(M=!0,O==null){z(!0);return}if(O instanceof Error){z(O.message||m(b,C));return}if(Array.isArray(O)){const ee=O[0];z(ee instanceof Error?ee.message:String(ee||m(b,C)));return}z(String(O))}};try{const O=b.validator(b,y,N);O&&typeof O.then=="function"?O.then(()=>N()).catch(N):O===!1?N(m(b,C)):typeof O=="string"||O instanceof Error?N(O):b.validator.length<3&&N()}catch(O){N(O)}}),S=async(b,y,C)=>{const z=typeof b.transform=="function"?b.transform(y):y,M=h(z);if(b.required&&M)return m(b,C);if(M&&!b.required)return!0;if(b.whitespace&&typeof z=="string"&&z.trim()===""||b.type&&!D(b.type,z)||Array.isArray(b.enum)&&!b.enum.includes(z)||b.pattern&&!new RegExp(b.pattern).test(String(z)))return m(b,C);const N=B(z);return b.len!==void 0&&N!==void 0&&N!==b.len||b.min!==void 0&&N!==void 0&&N<b.min||b.max!==void 0&&N!==void 0&&N>b.max?m(b,C):E(b,z,C)},x=b=>{const y=a();return!b.key||!y.table.column.show.list.includes(b.key)||b.table?.header?.groupKey!==void 0&&!b.table.header.show?!1:b.show?.table!==void 0?w.isFun(b.show?.table,y.table.data):!0},_=(b,y)=>b.show?.form!==void 0?w.isFun(b.show.form,y,w.EDialog.Update):!0,L=()=>{const b=a(),y=[],C=z=>{z.forEach(M=>{if(x(M)){if(M.children?.length){C(M.children);return}y.push(M)}})};return C(b.table.column.list),y},v=async(b,y)=>{if(!_(y,b))return g(b,y),!0;const C=c(y,b);if(!C)return!0;g(b,y);const z=Array.isArray(C)?C:[C];for(const M of z){const N=await S(M,b[y.key],y);if(N!==!0)return s[t(b,y)]=N,{field:y.key,error:N}}return!0},I=b=>{const y=[],C=z=>{z.forEach(M=>{y.push(M),Array.isArray(M.children)&&M.children.length&&C(M.children)})};return C(b),y};return{tableEditValidate:{errors:s,clear:d,clearField:g,getFieldError:p,validate:async()=>{if(d(),!r.option.table?.editMode)return!0;const b=a(),y=L(),C=I(b.table.data||[]),M=(await Promise.all(C.flatMap(N=>y.map(O=>v(N,O))))).filter(N=>N!==!0);if(M.length)throw K(M),!1;return!0}}}};class ue{static exportToExcel=async(r,s,i)=>{if(!r||r.length===0)return;const o=await w.loadModule("xlsx"),n=r.map(f=>{const c={};return s.forEach(d=>{c[d.label]=f[d.key]}),c}),l=o.utils.json_to_sheet(n),t=o.utils.book_new();o.utils.book_append_sheet(t,l,"Sheet1"),i?typeof i=="function"&&(i=i()):i=`导出数据_${new Date().Format("yyyy-MM-dd")}_${new Date().getTime()}`,o.writeFile(t,`${i}.xlsx`)}}const et=(a,r)=>({export:{run:{start:async s=>{let o=await a().export.run[s]();const n=r.option.column,l=ObjectUtil.deepMerge({data:o,columns:n},{}),t=r.option.tools?.export||{};t.before?.(l),ue.exportToExcel(l.data,l.columns,t.fileName)},select:async()=>{const s=a();s.export.loading=!0;try{if(r.option.tools?.export?.select){await r.option.tools.export.select({...s.page.getQuery(),items:s.table.selection.list});return}if(s.table.selection.list.length===0)throw w.fail(k.tCurd("selectDataToExport")),new Error(k.tCurd("selectDataToExport"));return s.table.selection.list}catch(i){console.error(i)}finally{s.export.loading=!1}},page:async()=>{const s=a();s.export.loading=!0;try{if(r.option.tools?.export?.page){await r.option.tools.export.page({...s.page.getQuery()});return}if(s.table.data.length===0)throw w.fail(k.tCurd("noData")),new Error(k.tCurd("noData"));return s.table.data}catch(i){console.error(i)}finally{s.export.loading=!1}},all:async()=>{const s=a();s.export.loading=!0;try{if(r.option.tools?.export?.all){await r.option.tools.export.all({...s.page.getQuery()});return}const i=r.option.api.list,o=await i({...s.page.getQuery({size:999999,num:1})});return(o.data||{[V.config.field.result.list]:o})[V.config.field.result.list]}catch(i){console.error(i)}finally{s.export.loading=!1}}},loading:!1,click:s=>{const i=a();i.export.loading||i.export.run.start(s)}}}),tt=(a,r)=>({remove:{title:k.tCurd("deleteTitle"),show:!1,items:[],loading:!1,close:()=>{a().remove.show=!1},open:s=>{if(s.length===0){w.fail(k.tCurd("selectDataToDelete"));return}const i=a();i.remove.items=s,i.remove.show=!0},submit:()=>{FunUtil.throttle(async()=>{const s=a();s.remove.loading=!0;const i=r.option.api.delete;try{if(!i)return;await i({[r.option.table?.rowKey]:s.remove.items.map(o=>o[r.option.table?.rowKey]),items:s.remove.items}),w.success(k.tCurd("operationSuccess")),s.table.data.length<=1&&s.page.num>1&&(s.page.num-=1),s.remove.close(),await s.table.getList()}catch(o){console.error(o)}finally{s.remove.loading=!1}})}}}),ot=(a,r,s)=>({apiDataMap:{},getColumnSpan:(i,o)=>{const n=a(),l=n.update.formGrid?.length?n.update.formGrid:o||[];return le(i,l,n.update.form,n.update.type,{maxSpan:n.update.formMaxSpan||r.option.form?.maxSpan,defaultSpan:r.option.form?.defaultSpan||V.config.form.defaultSpan})},init:()=>{const i=a();i.initCurdConfig(),i.initColumnOptions(),i.initColumnForm()},initApiData:async i=>{const o=a(),n=[],l=t=>{if(t.children?.length){t.children.forEach(d=>l(d));return}const f=H(t),c=()=>{t.table?.format||(t.table??={},t.table.format=d=>t.options[f].data.find(p=>p.value===d[t.key])?.label??d[t.key])};if(t.options?.[f]?.dataApi&&t.options?.[f]?.dataApiConfig?.[i]){if(o.apiDataMap[t.key]&&t.options?.[f]?.dataApiConfig?.once)return;const d=(async()=>{try{let g=await t.options?.[f]?.dataApi?.(o.update.form,o.update.type);if(g){const p=t.options?.[f]?.dataPath;!Array.isArray(g)&&p&&(g=ObjectUtil.getPathValue(g,p)),t.options[f].data=g,t.options.search[f].data=g;const m=t.options.search.type??f;t.options.search[m]??={},t.options.search[m].data=g,t.options.formAdd[f].data=g,t.options.formUpdate[f].data=g,c(),o.apiDataMap[t.key]=g}}catch{}})();n.push(d)}else Array.isArray(t.options?.[f]?.data)&&c()};return r.option.column.forEach(t=>l(t)),await Promise.all(n),!0},initCurdConfig:()=>{const i=ObjectUtil.deepMerge(V.config,{});i.table.emptyText=k.tCurd("noData"),r.option.size=r.option.size||{},i.table.size=r.option.size.table||i.size.table,i.form.size=r.option.size.form||i.size.form,i.size.search=r.option.size.search||i.size.search;const o=ObjectUtil.deepMerge(i,r.option||{});Object.keys(o).forEach(n=>{r.option[n]=o[n]})},initColumnOptions:()=>{const i=a();let o=JSONUtil.cp(V.config.columnConfig);o.options=ObjectUtil.deepMerge({switch:{activeText:k.tCurd("switchOn"),inactiveText:k.tCurd("switchOff")}},o.options);const n=l=>{const t=H(l);for(const c in o){if(c==="table"){if(l.table=ObjectUtil.deepMerge(o.table,l.table||{}),l.children){l.children.forEach(d=>n(d));return}}else c==="type"?l.type=l.type||o.type:l[c]=ObjectUtil.deepMerge(o[c],l[c]||{});l.options=l.options||{},l.options[t]=l.options[t]||{},l.options[t].size=r.option.size.form}["search","formAdd","formUpdate"].forEach(c=>{l.options[c]=ObjectUtil.deepMerge(l.options,l.options[c]||{}),c==="search"?r.option.size.search&&(l.options[c][t].size=r.option.size.search):r.option.size.form&&(l.options[c][t].size=r.option.size.form)}),l.table=ObjectUtil.deepMerge(l.table,l.options[t].table||{}),t==="switch"&&(l.options.switch.tableBeforeChange=async(c,d)=>{const g=l.options?.switch;try{g.tableConfig?.confirm&&await s.switchConfirmRef.value?.open({title:k.tCurd("confirmModify"),content:k.tCurd("confirmSwitchMessage")});try{if(!r.option.api.update&&!g.tableConfig?.api)return;const p=d[r.option.table?.rowKey];g.loadingMap||(g.loadingMap={}),g.loadingMap[p]||(g.loadingMap[p]={loading:!1}),g.loadingMap[p].loading=!0;const m=d[c]===g.activeValue?g.inactiveValue:g.activeValue,h=g.tableConfig?.api?g.tableConfig.api:r.option.api.update;if(!h)return;try{await h({...d,[c]:m},"switch"),g.tableConfig?.needTip!==!1&&w.success(k.tCurd("operationSuccess"))}catch{return!1}finally{g.loadingMap[p].loading=!1}return g.tableConfig?.loadList&&(i.table.loading=!0,i.table.getList(),i.table.loading=!1),!0}catch(p){return console.error(p),!1}finally{i.table.loading=!1}}catch{return!1}}),t==="treeSelect"&&(l.options.treeSelect.rowKey=r.option.table?.rowKey,l.options.treeSelect.nodeKey=r.option.table?.rowKey)};r.option.column.forEach(n),r.option.table?.column?.forEach(n)},initColumnForm:()=>{const i=a(),o=r.option;i.update.formColumn=[],i.update.formGrid=[],i.update.formMaxSpan=12,i.table.column.show={list:[],listSource:[]};const n=r.option.form?.maxSpan||12,l=r.option.form?.defaultSpan||n/2,t=me(r.option.form),f=p=>{if(p.children){i.table.column.show.list.push(p.key),p.children.forEach(m=>f(m));return}i.update.formDefault[p.key]=p.value,p.table?.table&&(p.show?.table&&i.table.column.show.list.push(p.key),i.table.column.show.listSource.push(p.key))};o.column.forEach(p=>{W(p,!0),f(p)}),r.option.table?.column?.forEach(p=>{W(p,!1),f(p)}),i.search.column.list=o.column.concat(o.table?.column||[]),i.table.column.list=i.search.column.list.filter(p=>p.table?.table),i.search.column.list.sort((p,m)=>p.sort?.search-m.sort?.search),i.table.column.list.sort((p,m)=>p.sort?.table-m.sort?.table),i.update.rules={},Z(o.column,i.update.formDefault,i.update.rules,p=>t(p,()=>i.update.form)),o.table?.editMode&&Z(o.table?.column||[],i.update.formDefault,i.update.rules,p=>t(p,()=>i.update.form));const c=de(o.column,{maxSpan:n,defaultSpan:l,layout:r.option.form?.layout});i.update.formGrid=c.cells,i.update.formMaxSpan=c.maxSpan,i.update.formColumn=se(c.cells);const d=r.option.search?.formDefault;d&&Object.keys(d).forEach(p=>{i.search.formDefault[p]=d[p]}),o.column.forEach(p=>{p.show?.search||(i.search.formDefault[p.key]=void 0)});const g=ObjectUtil.deepMerge(i.search.formDefault,{});U.setValue(i.search.form,g,!0)}}),nt=a=>{const r=e.ref(),s=e.ref(),i=e.ref(),o={switchConfirmRef:r,ruleFormRef:s,tableRef:i},n=e.getCurrentInstance(),l=J.Scope.getConf("curdConf"),t=g=>{g=g||c;let p=g,m=g;for(;p?.parentCurdConf;)m=p.parentCurdConf,p=p.parentCurdConf;return m},f=()=>c;let c=e.reactive({parentCurdConf:l,getCurdConf:t,getRootCurdConf:t,...Ye(),option:a.option,...Ze(f,a),...xe(f,a),..._e(f,a,o),...ve(f,a),...et(f,a),...Ae(f,a,o),...tt(f,a),...ot(f,a,o)});c.init();const d=n?`curdRef-${n.uid}`:"";return l?.formRef&&d&&(l.formRef.set(d,{validate:async g=>{const p=await c.update.validate(!1);if(g?.(!!p),!p)throw!1;return!0}}),e.onUnmounted(()=>{l.formRef.remove(d)})),e.onMounted(()=>{if(a.option.init!==!1){if(a.option.table?.sortable?.show&&!a.option.table?.sortable?.button){(c.table?.sortable.getOption()).scroll||(a.option.table.fitHeight=!1),c.table.sortable.refreshList();return}c.table.getList()}}),e.onBeforeUnmount(()=>{c.table.sortable.destroy()}),J.Scope.setConf("curdConf",c),{conf:c,switchConfirmRef:r,ruleFormRef:s,tableRef:i}},rt={class:"dialog-footer"},at=e.defineComponent({__name:"switchConfirm",props:{size:{}},setup(a,{expose:r}){const s=e.ref(!1),i=e.ref("确认修改"),o=e.ref("确认要修改状态吗?");let n=null,l=null;const t=d=>(d?.title&&(i.value=d.title),d?.content&&(o.value=d.content),s.value=!0,new Promise((g,p)=>{n=g,l=p})),f=()=>{s.value=!1,n?.(!0),n=null,l=null},c=()=>{s.value=!1,l?.(new Error("用户取消操作")),n=null,l=null};return r({open:t}),(d,g)=>{const p=e.resolveComponent("el-form");return e.openBlock(),e.createBlock(e.unref(u.ElDialog),{modelValue:s.value,"onUpdate:modelValue":g[0]||(g[0]=m=>s.value=m),title:i.value,"close-on-click-modal":!1,width:"400px"},{footer:e.withCtx(()=>[e.createVNode(p,{size:d.size},{default:e.withCtx(()=>[e.createElementVNode("span",rt,[e.createVNode(e.unref(u.ElButton),{onClick:c},{default:e.withCtx(()=>g[1]||(g[1]=[e.createTextVNode("取消")])),_:1}),e.createVNode(e.unref(u.ElButton),{type:"primary",onClick:f},{default:e.withCtx(()=>g[2]||(g[2]=[e.createTextVNode("确认")])),_:1})])]),_:1},8,["size"])]),default:e.withCtx(()=>[e.createElementVNode("div",null,e.toDisplayString(o.value),1)]),_:1},8,["modelValue","title"])}}}),lt=["innerHTML"],it=e.defineComponent({__name:"text",props:{content:{},value:{}},setup(a){const r=a,s=e.computed(()=>typeof r.content=="function"?r.content(r.value):r.content);return(i,o)=>typeof s.value=="object"?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(s.value),{key:0})):(e.openBlock(),e.createElementBlock("div",{key:1,innerHTML:s.value},null,8,lt))}}),he=e.defineComponent({__name:"searchField",props:{item:{},conf:{},type:{}},setup(a){const r=a,s=e.computed({get:()=>r.conf.search.form?.[r.item?.key],set:o=>{r.item?.key!==void 0&&(r.conf.search.form[r.item.key]=o)}}),i=o=>{const n=[o.options?.search?.radio,o.options?.search?.select,o.options?.radio,o.options?.select];for(const l of n)if(Array.isArray(l?.data)&&l.data.length>0)return l.data;return[]};return(o,n)=>e.unref($).customComponent[o.type??""]?.search?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref($).customComponent[o.type??""]?.search),e.mergeProps({key:0,modelValue:s.value,"onUpdate:modelValue":n[0]||(n[0]=l=>s.value=l)},o.item.options?.search?.[o.type??""],e.toHandlers(o.item.options?.search?.[o.type??""]?.on||{})),null,16,["modelValue"])):o.type==="input"?(e.openBlock(),e.createBlock(e.unref(u.ElInput),e.mergeProps({key:1,modelValue:s.value,"onUpdate:modelValue":n[1]||(n[1]=l=>s.value=l),placeholder:o.conf.search.getPlaceholder(o.item),clearable:"",disabled:o.item.disabled?.search},o.item.options?.search?.input||o.item.options?.input,e.toHandlers(o.item.options?.search?.input?.on||o.item.options?.input?.on||{})),null,16,["modelValue","placeholder","disabled"])):o.type==="switch"?(e.openBlock(),e.createBlock(e.unref(u.ElSelect),e.mergeProps({key:2,modelValue:s.value,"onUpdate:modelValue":n[2]||(n[2]=l=>s.value=l),placeholder:o.conf.search.getPlaceholder(o.item,e.unref(k).tCurd("placeholderSelect")),clearable:"",disabled:o.item.disabled?.search},o.item.options?.search?.switch||o.item.options?.switch,e.toHandlers(o.item.options?.search?.switch?.on||o.item.options?.switch?.on||{})),{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.unref(u.ElOption),{key:o.item.options?.switch?.activeValue,label:o.item.options?.switch?.activeText,value:o.item.options?.switch?.activeValue},null,8,["label","value"])),(e.openBlock(),e.createBlock(e.unref(u.ElOption),{key:o.item.options?.switch?.inactiveValue,label:o.item.options?.switch?.inactiveText,value:o.item.options?.switch?.inactiveValue},null,8,["label","value"]))]),_:1},16,["modelValue","placeholder","disabled"])):o.type==="select"?(e.openBlock(),e.createBlock(e.unref(u.ElSelect),e.mergeProps({key:3,modelValue:s.value,"onUpdate:modelValue":n[3]||(n[3]=l=>s.value=l),placeholder:o.conf.search.getPlaceholder(o.item,e.unref(k).tCurd("placeholderSelect")),clearable:"",disabled:o.item.disabled?.search},o.item.options?.search?.select||o.item.options?.select,e.toHandlers(o.item.options?.search?.select?.on||o.item.options?.select?.on||{})),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i(o.item),l=>(e.openBlock(),e.createBlock(e.unref(u.ElOption),{key:l.value,label:l.label,value:l.value},null,8,["label","value"]))),128))]),_:1},16,["modelValue","placeholder","disabled"])):o.type==="radio"?(e.openBlock(),e.createBlock(e.unref(u.ElRadioGroup),e.mergeProps({key:4,modelValue:s.value,"onUpdate:modelValue":n[4]||(n[4]=l=>s.value=l),disabled:o.item.disabled?.search},o.item.options?.search?.radio||o.item.options?.radio,e.toHandlers(o.item.options?.search?.radio?.on||o.item.options?.radio?.on||{})),{default:e.withCtx(()=>[(o.item.options?.search?.radio?.type||o.item.options?.radio?.type)==="group"?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(i(o.item),l=>(e.openBlock(),e.createBlock(e.unref(u.ElRadioButton),e.mergeProps({key:l.value,ref_for:!0},l,e.toHandlers(l.on||{})),null,16))),128)):(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:1},e.renderList(i(o.item),l=>(e.openBlock(),e.createBlock(e.unref(u.ElRadio),e.mergeProps({key:l.value,ref_for:!0},l,e.toHandlers(l.on||{})),null,16))),128))]),_:1},16,["modelValue","disabled"])):o.type==="datetime"?(e.openBlock(),e.createBlock(e.unref(u.ElDatePicker),e.mergeProps({key:5,modelValue:s.value,"onUpdate:modelValue":n[5]||(n[5]=l=>s.value=l),disabled:o.item.disabled?.search},o.item.options?.search?.datetime||o.item.options?.datetime,e.toHandlers(o.item.options?.search?.datetime?.on||o.item.options?.datetime?.on||{})),null,16,["modelValue","disabled"])):o.type&&e.unref($).customComponent[o.type]?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref($).customComponent[o.type]),e.mergeProps({key:6,modelValue:s.value,"onUpdate:modelValue":n[6]||(n[6]=l=>s.value=l)},o.item.options?.search?.[o.type]||o.item.options?.[o.type],e.toHandlers(o.item.options?.search?.[o.type]?.on||o.item.options?.[o.type]?.on||{}),{disabled:o.item.disabled?.search}),null,16,["modelValue","disabled"])):e.createCommentVNode("",!0)}}),st={},dt={xmlns:"http://www.w3.org/2000/svg",viewBox:"64 64 896 896"};function ct(a,r){return e.openBlock(),e.createElementBlock("svg",dt,r[0]||(r[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 ft=A(st,[["render",ct]]),pt={},mt={xmlns:"http://www.w3.org/2000/svg",viewBox:"64 64 896 896"};function gt(a,r){return e.openBlock(),e.createElementBlock("svg",mt,r[0]||(r[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 bt=A(pt,[["render",gt]]),ut={},ht={xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function yt(a,r){return e.openBlock(),e.createElementBlock("svg",ht,r[0]||(r[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 kt=A(ut,[["render",yt]]),wt={},Ct={"data-v-58697b5c":"",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function Bt(a,r){return e.openBlock(),e.createElementBlock("svg",Ct,r[0]||(r[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 Vt=A(wt,[["render",Bt]]),Et={},St={"data-v-58697b5c":"",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"};function Nt(a,r){return e.openBlock(),e.createElementBlock("svg",St,r[0]||(r[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 Ft=A(Et,[["render",Nt]]),Dt={class:"row flex-center table-header-label inline"},zt={class:"table-header-tooltip"},Mt=["innerHTML"],Ot={key:1,class:"table-header-required"},Tt=["onClick"],$t={key:0,class:"table-edit-form"},Rt={key:1},Ut=["onClick","innerHTML"],At=e.defineComponent({__name:"tableColumn",props:{conf:{},columnList:{},option:{}},setup(a){const r=w.isFun,s=a,o=e.getCurrentInstance().type,n=t=>t===!0?!0:(Array.isArray(t)?t:t?[t]:[]).some(c=>c?.required===!0),l=t=>s.option.table?.editMode?n(t.rules)||n(s.conf.update.rules?.[t.key]):!1;return(t,f)=>{const c=e.resolveComponent("el-tooltip");return e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.columnList,d=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:d.key},[t.conf.table.column.show.list.includes(d.key)&&(d.show?.table===void 0||e.unref(r)(d.show?.table,t.conf.table.data))?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[d.table?.header?.groupKey===void 0||d.table.header.show?(e.openBlock(),e.createBlock(e.unref(u.ElTableColumn),e.mergeProps({key:0,prop:d.key,label:d.label,ref_for:!0},d.table),{header:e.withCtx(()=>[e.renderSlot(t.$slots,"table-header-"+d.key,{item:d},()=>[e.createElementVNode("div",Dt,[d.table?.header?.tooltip?(e.openBlock(),e.createBlock(c,{key:0,effect:"dark",placement:"top"},{content:e.withCtx(()=>[e.createElementVNode("div",{innerHTML:d.table?.header?.tooltip},null,8,Mt)]),default:e.withCtx(()=>[e.createElementVNode("span",zt,[e.createVNode(X)])]),_:2},1024)):e.createCommentVNode("",!0),l(d)?(e.openBlock(),e.createElementBlock("span",Ot,"*")):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(d.label)+" ",1),d.table?.header?.group!==void 0?(e.openBlock(),e.createElementBlock("span",{key:2,class:"table-header-plus",onClick:e.withModifiers(()=>{d.table.header.group=!d.table.header.group,t.columnList.forEach(g=>{g.table?.header?.groupKey===d.key&&(g.table.header.show=!d.table.header.group)})},["stop"])},[d.table.header.group?(e.openBlock(),e.createBlock(Vt,{key:0})):(e.openBlock(),e.createBlock(Ft,{key:1}))],8,Tt)):e.createCommentVNode("",!0)])])]),default:e.withCtx(({row:g})=>[d.children?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[f[0]||(f[0]=e.createTextVNode("   ")),(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(o)),{conf:t.conf,columnList:d.children,option:t.option},e.createSlots({_:2},[e.renderList(t.$slots,(p,m)=>({name:m,fn:e.withCtx(h=>[e.renderSlot(t.$slots,m,e.mergeProps({ref_for:!0},h||{}))])}))]),1032,["conf","columnList","option"]))],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[t.option.table?.editMode?(e.openBlock(),e.createElementBlock("div",$t,[e.createVNode(e.unref(u.ElFormItem),{size:t.option.size?.table,error:t.conf.tableEditValidate.getFieldError(g,d),class:"table-edit-form-item"},{default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(["row",["table-edit-"+d.key]]),style:{width:"100%"}},[e.renderSlot(t.$slots,"table-edit-left-"+d.key,{row:g,item:d}),d.type==="input"?(e.openBlock(),e.createBlock(e.unref(u.ElInput),e.mergeProps({key:0,modelValue:g[d.key],"onUpdate:modelValue":p=>g[d.key]=p,disabled:t.conf.update.getDisabled(d,!0),class:"col",ref_for:!0},t.conf.update.getBind(d),e.toHandlers(t.conf.update.getOn(d,g)),{"onUpdate:modelValue":p=>t.conf.tableEditValidate.clearField(g,d)}),e.createSlots({_:2},[d.options?.input?.prepend?{name:"prepend",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(typeof d.options?.input?.prepend=="function"?d.options?.input?.prepend(g):d.options?.input?.prepend),1)]),key:"0"}:void 0]),1040,["modelValue","onUpdate:modelValue","disabled"])):d.type==="select"?(e.openBlock(),e.createBlock(e.unref(u.ElSelect),e.mergeProps({key:1,modelValue:g[d.key],"onUpdate:modelValue":p=>g[d.key]=p,disabled:t.conf.update.getDisabled(d,!0),class:"col",ref_for:!0},t.conf.update.getBind(d),e.toHandlers(t.conf.update.getOn(d,g)),{"onUpdate:modelValue":p=>t.conf.tableEditValidate.clearField(g,d)}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.options?.search?.select?.data||d.options?.select?.data,p=>(e.openBlock(),e.createBlock(e.unref(u.ElOption),{key:p.value,label:p.label,value:p.value},null,8,["label","value"]))),128))]),_:2},1040,["modelValue","onUpdate:modelValue","disabled"])):d.type==="switch"?(e.openBlock(),e.createBlock(e.unref(u.ElSwitch),e.mergeProps({key:2,modelValue:g[d.key],"onUpdate:modelValue":p=>g[d.key]=p,disabled:t.conf.update.getDisabled(d,!0),class:"col",ref_for:!0},t.conf.update.getBind(d),e.toHandlers(t.conf.update.getOn(d,g)),{"onUpdate:modelValue":p=>t.conf.tableEditValidate.clearField(g,d)}),null,16,["modelValue","onUpdate:modelValue","disabled"])):e.createCommentVNode("",!0),e.renderSlot(t.$slots,"table-edit-right-"+d.key,{row:g,item:d})],2)]),_:2},1032,["size","error"])])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[t.conf.update.type===e.unref(w).EDialog.Update&&e.unref(r)(d.show?.form,t.conf.update.form,e.unref(w).EDialog.Update)&&t.option.table?.inlineEdit&&t.conf.update.form[t.option.table?.rowKey]===g[t.option.table?.rowKey]&&(d.type==="input"||d.type==="select")?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[d.type==="input"?(e.openBlock(),e.createBlock(e.unref(u.ElInput),e.mergeProps({key:0,modelValue:t.conf.update.form[d.key],"onUpdate:modelValue":p=>t.conf.update.form[d.key]=p,disabled:t.conf.update.getDisabled(d,!0),ref_for:!0},t.conf.update.getBind(d),e.toHandlers(t.conf.update.getOn(d,g)),{style:{width:"100%"}}),e.createSlots({_:2},[d.options?.input?.prepend?{name:"prepend",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(typeof d.options?.input?.prepend=="function"?d.options?.input?.prepend(g):d.options?.input?.prepend),1)]),key:"0"}:void 0]),1040,["modelValue","onUpdate:modelValue","disabled"])):d.type==="select"?(e.openBlock(),e.createBlock(e.unref(u.ElSelect),e.mergeProps({key:1,modelValue:t.conf.update.form[d.key],"onUpdate:modelValue":p=>t.conf.update.form[d.key]=p,disabled:t.conf.update.getDisabled(d,!0),ref_for:!0},t.conf.update.getBind(d),e.toHandlers(t.conf.update.getOn(d,g)),{style:{width:"100%"}}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.options?.search?.select?.data||d.options?.select?.data,p=>(e.openBlock(),e.createBlock(e.unref(u.ElOption),{key:p.value,label:p.label,value:p.value},null,8,["label","value"]))),128))]),_:2},1040,["modelValue","onUpdate:modelValue","disabled"])):d.type==="switch"?(e.openBlock(),e.createBlock(e.unref(u.ElSwitch),e.mergeProps({key:2,modelValue:t.conf.update.form[d.key],"onUpdate:modelValue":p=>t.conf.update.form[d.key]=p,ref_for:!0},t.conf.update.getBind(d),e.toHandlers(t.conf.update.getOn(d,g)),{disabled:t.conf.update.getDisabled(d,!0)}),null,16,["modelValue","onUpdate:modelValue","disabled"])):e.createCommentVNode("",!0)],64)):e.renderSlot(t.$slots,"table-"+d.key,{key:1,row:g,item:d},()=>[e.unref($).customComponent[d.type??""]?.table?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref($).customComponent[d.type??""]?.table),e.mergeProps({key:0,modelValue:g[d.key],"onUpdate:modelValue":p=>g[d.key]=p,ref_for:!0},d.options?.[d.type??""],e.toHandlers(d.options?.[d.type??""]?.on||{})),null,16,["modelValue","onUpdate:modelValue"])):d.type==="switch"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[d.options?.switch?.tableConfig?.change?(e.openBlock(),e.createBlock(e.unref(u.ElSwitch),e.mergeProps({key:0,modelValue:g[d.key],"onUpdate:modelValue":p=>g[d.key]=p,loading:d.options?.switch?.loadingMap?.[g[t.option.table?.rowKey]]?.loading,"before-change":()=>d.options?.switch?.tableBeforeChange?.(d.key,g),ref_for:!0},d.options?.switch),null,16,["modelValue","onUpdate:modelValue","loading","before-change"])):(e.openBlock(),e.createElementBlock("span",Rt,e.toDisplayString(g[d.key]===d.options?.switch?.activeValue?d.options?.switch?.activeText:d.options?.switch?.inactiveText),1))],64)):(e.openBlock(),e.createElementBlock("span",{key:2,style:e.normalizeStyle({"--table-text-click-color":d.table?.click?.color}),class:e.normalizeClass({"table-text-click":d.table?.click?.callback}),onClick:p=>d.table?.click?.callback?.(g),innerHTML:d.table?.format?d.table?.format(g):g[d.key]},null,14,Ut))])],64))],64))]),_:2},1040,["prop","label"])):e.createCommentVNode("",!0)],64)):e.createCommentVNode("",!0)],64))),128)}}}),Lt={key:0,class:"relative curd-search fit-width"},Ht={class:"mb-10 flex justify-between items-center fit-width"},jt={class:"flex items-center",style:{gap:"10px"}},It={key:0},Kt={key:1},Gt={key:2},qt={class:"export-btn"},Pt={key:1,class:"export-btn"},Wt={class:"flex items-center table-tools-right",style:{gap:"10px"}},Jt={class:"table-sortable-tooltip"},Qt=["innerHTML"],Xt={class:"row justify-end mt-10 mb-10 table-bottom-pagination"},Yt={class:"dialog-footer"},Zt={key:0},xt={key:1},_t={class:"dialog-footer"},ye=e.defineComponent({__name:"index",props:{option:{default:{}},form:{default:void 0},searchForm:{default:void 0}},setup(a,{expose:r}){const s=w.EDialog,i=a,o=w.isFun,{conf:n,switchConfirmRef:l,ruleFormRef:t,tableRef:f}=nt(i);return r({conf:n}),(c,d)=>{const g=e.resolveComponent("el-tooltip"),p=e.resolveDirective("loading");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["relative cc1-form-box",[a.option.table?.fitHeight?"col":"no-min-height"]])},[e.createElementVNode("div",{class:e.normalizeClass(["row",[a.option.table?.fitHeight?"absolute fit":""]]),style:{overflow:"hidden"}},[e.renderSlot(c.$slots,"box-left"),e.createElementVNode("div",{class:e.normalizeClass(["column fit-width no-wrap",[a.option.table?.fitHeight?"col":""]])},[a.option.search?.show!==!1?(e.openBlock(),e.createElementBlock("div",Lt,[e.createVNode(e.unref(u.ElForm),{model:e.unref(n).search.form,inline:"",size:a.option.size?.search},{default:e.withCtx(()=>[e.renderSlot(c.$slots,"search-start",{row:e.unref(n).search.form}),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(n).search.column.list,m=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:m.key},[e.renderSlot(c.$slots,"search-"+m.key+"-start",{row:e.unref(n).search.form}),(typeof m.show?.search=="function"?m.show?.search(e.unref(n).search.form):m.show?.search)?(e.openBlock(),e.createBlock(e.unref(u.ElFormItem),{key:0,label:m.text?.search?.label??m.label},{default:e.withCtx(()=>[e.renderSlot(c.$slots,"search-"+m.key+"-left",{row:e.unref(n).search.form}),e.renderSlot(c.$slots,"search-"+m.key,{row:e.unref(n).search.form},()=>[m.options?.search?.type?(e.openBlock(),e.createBlock(he,{key:0,item:m,conf:e.unref(n),type:m.options.search.type},null,8,["item","conf","type"])):(e.openBlock(),e.createBlock(he,{key:1,item:m,conf:e.unref(n),type:m.type},null,8,["item","conf","type"]))]),e.renderSlot(c.$slots,"search-"+m.key+"-right",{row:e.unref(n).search.form})]),_:2},1032,["label"])):e.createCommentVNode("",!0),e.renderSlot(c.$slots,"search-"+m.key+"-end",{row:e.unref(n).search.form})],64))),128)),e.renderSlot(c.$slots,"search-center",{row:e.unref(n).search.form}),a.option.tools?.search||a.option.tools?.reset?(e.openBlock(),e.createBlock(e.unref(u.ElFormItem),{key:0},{default:e.withCtx(()=>[a.option.tools?.search?(e.openBlock(),e.createBlock(e.unref(u.ElButton),{key:0,type:"primary",onClick:e.unref(n).search.submit},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(k).tCurd("search")),1)]),_:1},8,["onClick"])):e.createCommentVNode("",!0),a.option.tools?.reset?(e.openBlock(),e.createBlock(e.unref(u.ElButton),{key:1,onClick:e.unref(n).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(c.$slots,"search-end",{row:e.unref(n).search.form})]),_:3},8,["model","size"])])):e.createCommentVNode("",!0),e.createElementVNode("div",Ht,[e.createElementVNode("div",jt,[e.unref(o)(a.option.tools?.add)?(e.openBlock(),e.createElementBlock("div",It,[e.createVNode(e.unref(u.ElButton),{type:"primary",onClick:d[0]||(d[0]=m=>e.unref(n).update.open(e.unref(s).Add)),size:a.option.size?.search},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(k).tCurd("add")),1)]),_:1},8,["size"])])):e.createCommentVNode("",!0),e.unref(o)(a.option.tools?.delete)?(e.openBlock(),e.createElementBlock("div",Kt,[e.createVNode(e.unref(u.ElButton),{type:"danger",onClick:d[1]||(d[1]=m=>e.unref(n).remove.open(e.unref(n).table.selection.list)),size:a.option.size?.search},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(k).tCurd("delete")),1)]),_:1},8,["size"])])):e.createCommentVNode("",!0),a.option.tools?.expand?(e.openBlock(),e.createElementBlock("div",Gt,[e.createVNode(e.unref(u.ElButton),{type:"warning",onClick:d[2]||(d[2]=m=>e.unref(n).table.expand.all()),size:a.option.size?.search},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(k).tCurd("expandCollapse")),1)]),_:1},8,["size"])])):e.createCommentVNode("",!0),a.option.tools?.export?.show?(e.openBlock(),e.createElementBlock(e.Fragment,{key:3},[a.option.tools?.export?.dropdown?.show?(e.openBlock(),e.createBlock(e.unref(u.ElDropdown),{key:0,onCommand:e.unref(n).export.click},{dropdown:e.withCtx(()=>[e.createVNode(e.unref(u.ElDropdownMenu),{size:a.option.size?.search},{default:e.withCtx(()=>[a.option.tools?.export?.dropdown?.select&&(a.option.table?.selectable||e.unref(o)(a.option.tools?.delete))?(e.openBlock(),e.createBlock(e.unref(u.ElDropdownItem),{key:0,command:"select"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(k).tCurd("exportSelect")),1)]),_:1})):e.createCommentVNode("",!0),a.option.tools?.export?.dropdown?.page?(e.openBlock(),e.createBlock(e.unref(u.ElDropdownItem),{key:1,command:"page"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(k).tCurd("exportPage")),1)]),_:1})):e.createCommentVNode("",!0),a.option.tools?.export?.dropdown?.all?(e.openBlock(),e.createBlock(e.unref(u.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",qt,[e.createVNode(e.unref(u.ElButton),{type:"warning",loading:e.unref(n).export.loading,size:a.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",Pt,[e.createVNode(e.unref(u.ElButton),{type:"warning",loading:e.unref(n).export.loading,size:a.option.size?.search,onClick:d[3]||(d[3]=m=>e.unref(n).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(c.$slots,"tools-left")]),e.createElementVNode("div",Wt,[e.renderSlot(c.$slots,"tools-right"),e.unref(n).page.showTools&&e.unref(n).table.sortable.showPagination()?(e.openBlock(),e.createBlock(e.unref(u.ElPagination),e.mergeProps({key:0,"current-page":e.unref(n).page.num,"onUpdate:currentPage":d[4]||(d[4]=m=>e.unref(n).page.num=m),"page-size":e.unref(n).page.size,"onUpdate:pageSize":d[5]||(d[5]=m=>e.unref(n).page.size=m),background:"","page-sizes":e.unref(n).page.sizeList,"pager-count":e.unref(n).page.pagerCount,layout:e.unref(n).page.layout,total:e.unref(n).page.total,size:a.option.size?.table,onSizeChange:e.unref(n).table.sortable.refreshList,onCurrentChange:e.unref(n).table.sortable.refreshList},a.option.page?.pagination||{},e.toHandlers(a.option.page?.pagination?.on||{})),null,16,["current-page","page-size","page-sizes","pager-count","layout","total","size","onSizeChange","onCurrentChange"])):e.createCommentVNode("",!0),e.unref(n).table.sortable.showTriggerButton()?(e.openBlock(),e.createBlock(e.unref(u.ElButton),{key:1,type:"warning",onClick:e.unref(n).table.sortable.start,size:a.option.size?.search,loading:e.unref(n).table.sortable.actionLoading},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(k).tCurd("sortableStart")),1)]),_:1},8,["onClick","size","loading"])):e.createCommentVNode("",!0),e.unref(n).table.sortable.showActionButton()?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[e.createVNode(e.unref(u.ElButton),{type:"success",size:a.option.size?.search,loading:e.unref(n).table.sortable.actionLoading,onClick:e.unref(n).table.sortable.save},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(k).tCurd("sortableSave")),1)]),_:1},8,["size","loading","onClick"]),e.createVNode(e.unref(u.ElButton),{type:"info",size:a.option.size?.search,onClick:e.unref(n).table.sortable.exit},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(k).tCurd("sortableExit")),1)]),_:1},8,["size","onClick"])],64)):e.createCommentVNode("",!0),e.unref(n).table.sortable.showSaveButton()?(e.openBlock(),e.createBlock(e.unref(u.ElButton),{key:3,type:"warning",onClick:e.unref(n).table.sortable.save,size:a.option.size?.search,loading:e.unref(n).table.sortable.actionLoading},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(k).tCurd("sortableSave")),1)]),_:1},8,["onClick","size","loading"])):e.createCommentVNode("",!0),a.option.tools?.expandColumn===void 0||a.option.tools?.expandColumn?(e.openBlock(),e.createBlock(g,{key:4,effect:"dark",content:e.unref(n).table.header.group.expand?e.unref(k).tCurd("mergeColumn"):e.unref(k).tCurd("expandColumn"),placement:"top"},{default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(["refresh-btn",[a.option.size?.search]]),onClick:d[6]||(d[6]=(...m)=>e.unref(n).table.header.group.toggleExpandAll&&e.unref(n).table.header.group.toggleExpandAll(...m))},[e.unref(n).table.header.group.expand?(e.openBlock(),e.createBlock(ft,{key:0})):(e.openBlock(),e.createBlock(bt,{key:1}))],2)]),_:1},8,["content"])):e.createCommentVNode("",!0),a.option.tools?.refresh===void 0||a.option.tools?.refresh?(e.openBlock(),e.createElementBlock("div",{key:5,class:e.normalizeClass(["refresh-btn",[a.option.size?.search]]),onClick:d[7]||(d[7]=(...m)=>e.unref(n).table.sortable.refreshList&&e.unref(n).table.sortable.refreshList(...m))},[e.createVNode(kt)],2)):e.createCommentVNode("",!0)])]),e.createElementVNode("div",{class:e.normalizeClass(["fit-width relative form-box",[a.option.table?.fitHeight?"col ":"",a.option.table?.editMode?"edit-mode":""]])},[e.createElementVNode("div",{class:e.normalizeClass(["column form-box-content",[a.option.table?.fitHeight?"absolute fit":""]])},[e.withDirectives((e.openBlock(),e.createBlock(e.unref(u.ElTable),e.mergeProps({ref_key:"tableRef",ref:f,data:e.unref(n).table.data,border:a.option.table?.border===void 0?!0:a.option.table?.border,class:{"cc1-form-sortable-no-scroll":e.unref(n).table.sortable.disableScroll()},onSelectionChange:e.unref(n).table.selection.change,onSortChange:e.unref(n).table.sort.change,"expand-row-keys":e.unref(n).table.expand.rowKeys,onExpandChange:e.unref(n).table.expand.change},e.unref(n).table.sortable.getTableBindOption(),e.toHandlers(a.option.table?.on||{})),{default:e.withCtx(()=>[(typeof a.option.table?.selectable=="object"?a.option.table?.selectable?.show:a.option.table?.selectable)||e.unref(o)(a.option.tools?.delete)||a.option.tools?.export?.show&&a.option.tools?.export?.select?(e.openBlock(),e.createBlock(e.unref(u.ElTableColumn),e.mergeProps({key:0,type:"selection",width:"40",align:"center",fixed:"left","show-overflow-tooltip":!1,className:"cc1-form-selectable-column"},typeof a.option.table?.selectable=="object"?a.option.table?.selectable:{},e.toHandlers(typeof a.option.table?.selectable=="object"?a.option.table?.selectable?.on||{}:{})),null,16)):e.createCommentVNode("",!0),(typeof a.option.table?.index=="object"?a.option.table?.index?.show:a.option.table?.index)?(e.openBlock(),e.createBlock(e.unref(u.ElTableColumn),e.mergeProps({key:1,type:"index",fixed:"left",width:"40",align:"center",label:"#","show-overflow-tooltip":!1,className:"cc1-form-index-column"},typeof a.option.table?.index=="object"?a.option.table?.index:{},e.toHandlers(typeof a.option.table?.index=="object"?a.option.table?.index?.on||{}:{})),null,16)):e.createCommentVNode("",!0),e.unref(n).table.sortable.isActive()?(e.openBlock(),e.createBlock(e.unref(u.ElTableColumn),e.mergeProps({key:2,align:"center","show-overflow-tooltip":!1,className:"cc1-form-drag-column"},e.unref(n).table.sortable.getColumnBind(),e.toHandlers(e.unref(n).table.sortable.getColumnBind().on||{})),{header:e.withCtx(()=>[e.renderSlot(c.$slots,"table-header-sortable",{},()=>[e.createVNode(g,{effect:"dark",placement:"top"},{content:e.withCtx(()=>[e.createElementVNode("div",{innerHTML:a.option.table?.sortable?.tipText??e.unref(k).tCurd("sortable")},null,8,Qt)]),default:e.withCtx(()=>[e.createElementVNode("span",Jt,[e.createVNode(X)])]),_:1})])]),default:e.withCtx(()=>d[12]||(d[12]=[e.createElementVNode("span",{class:"cc1-form-drag-handle"},"::",-1)])),_:3},16)):e.createCommentVNode("",!0),e.createVNode(At,{conf:e.unref(n),columnList:e.unref(n).table.column.list,option:a.option},e.createSlots({_:2},[e.renderList(c.$slots,(m,h)=>({name:h,fn:e.withCtx(B=>[e.renderSlot(c.$slots,h,e.normalizeProps(e.guardReactiveProps(B||{})))])}))]),1032,["conf","columnList","option"]),e.unref(o)(a.option.table?.add)||e.unref(o)(a.option.table?.update)||e.unref(o)(a.option.table?.delete)||e.unref(o)(a.option.table?.view)||c.$slots["table-op-left"]||c.$slots["table-op-right"]?(e.openBlock(),e.createBlock(e.unref(u.ElTableColumn),e.mergeProps({key:3,align:"center",fixed:"right"},a.option.table?.operate,{width:a.option.table?.operate?.width||120,"show-overflow-tooltip":!1}),{header:e.withCtx(()=>[e.renderSlot(c.$slots,"table-header-op",{},()=>[e.createTextVNode(e.toDisplayString(e.unref(k).tCurd("operation")),1)])]),default:e.withCtx(({row:m})=>[e.createVNode(e.unref(u.ElForm),{size:a.option.size?.table},{default:e.withCtx(()=>[e.renderSlot(c.$slots,"table-op-left",{row:m}),e.unref(n).update.type===e.unref(s).Update&&a.option.table?.inlineEdit&&e.unref(n).update.form[i.option.table?.rowKey]===m[i.option.table?.rowKey]?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createVNode(e.unref(u.ElButton),{link:"",type:"info",onClick:e.unref(n).update.close},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(k).tCurd("cancel")),1)]),_:1},8,["onClick"]),e.createVNode(e.unref(u.ElButton),{link:"",type:"primary",onClick:e.unref(n).update.submit,loading:e.unref(n).update.loading},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(k).tCurd("confirm")),1)]),_:1},8,["onClick","loading"]),e.renderSlot(c.$slots,"table-op-edit-right",{row:m})],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.unref(o)(a.option.table?.add,m)?(e.openBlock(),e.createBlock(e.unref(u.ElButton),{key:0,link:"",type:"primary",onClick:h=>e.unref(n).update.open(e.unref(s).Add,m)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(k).tCurd("add")),1)]),_:2},1032,["onClick"])):e.createCommentVNode("",!0),e.unref(o)(a.option.table?.view,m)?(e.openBlock(),e.createBlock(e.unref(u.ElButton),{key:1,link:"",type:"primary",onClick:h=>e.unref(n).update.open(e.unref(s).View,m)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(k).tCurd("view")),1)]),_:2},1032,["onClick"])):e.createCommentVNode("",!0),e.unref(o)(a.option.table?.update,m)?(e.openBlock(),e.createBlock(e.unref(u.ElButton),{key:2,link:"",type:"warning",onClick:h=>e.unref(n).update.open(e.unref(s).Update,m)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(k).tCurd("edit")),1)]),_:2},1032,["onClick"])):e.createCommentVNode("",!0),e.unref(o)(a.option.table?.delete,m)?(e.openBlock(),e.createBlock(e.unref(u.ElButton),{key:3,link:"",type:"danger",onClick:h=>e.unref(n).remove.open([m])},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(k).tCurd("delete")),1)]),_:2},1032,["onClick"])):e.createCommentVNode("",!0),e.renderSlot(c.$slots,"table-op-right",{row:m})],64))]),_:2},1032,["size"])]),_:3},16,["width"])):e.createCommentVNode("",!0)]),_:3},16,["data","border","class","onSelectionChange","onSortChange","expand-row-keys","onExpandChange"])),[[p,e.unref(n).table.loading]])],2)],2),e.createElementVNode("div",Xt,[(a.option.page?.show===void 0||a.option.page?.show)&&!e.unref(n).page.showTools&&e.unref(n).table.sortable.showPagination()?(e.openBlock(),e.createBlock(e.unref(u.ElPagination),e.mergeProps({key:0,"current-page":e.unref(n).page.num,"onUpdate:currentPage":d[8]||(d[8]=m=>e.unref(n).page.num=m),"page-size":e.unref(n).page.size,"onUpdate:pageSize":d[9]||(d[9]=m=>e.unref(n).page.size=m),background:"","page-sizes":e.unref(n).page.sizeList,"pager-count":e.unref(n).page.pagerCount,layout:e.unref(n).page.layout,total:e.unref(n).page.total,size:a.option.size?.table,onSizeChange:e.unref(n).table.sortable.refreshList,onCurrentChange:e.unref(n).table.sortable.refreshList},a.option.page?.pagination||{},e.toHandlers(a.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(c.$slots,"box-right")],2),e.createVNode(e.unref(u.ElDialog),e.mergeProps({modelValue:e.unref(n).update.show,"onUpdate:modelValue":d[10]||(d[10]=m=>e.unref(n).update.show=m),title:e.unref(n).update.title,"before-close":e.unref(n).update.close},a.option.dialog),{footer:e.withCtx(()=>[e.createElementVNode("span",Yt,[e.createVNode(e.unref(u.ElForm),{size:a.option.size?.form},{default:e.withCtx(()=>[e.renderSlot(c.$slots,"dialog-footer",{row:e.unref(n).update},()=>[e.createVNode(e.unref(u.ElButton),{onClick:e.unref(n).update.close},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(k).tCurd("close")),1)]),_:1},8,["onClick"]),e.unref(n).update.type!==e.unref(s).View?(e.openBlock(),e.createBlock(e.unref(u.ElButton),{key:0,type:"primary",onClick:e.unref(n).update.submit,loading:e.unref(n).update.loading},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(k).tCurd("submit")),1)]),_:1},8,["onClick","loading"])):e.createCommentVNode("",!0)])]),_:3},8,["size"])])]),default:e.withCtx(()=>[e.renderSlot(c.$slots,"dialog-start",{row:e.unref(n).update}),e.createVNode(e.unref(u.ElForm),{ref_key:"ruleFormRef",ref:t,model:e.unref(n).update.form,rules:e.unref(n).update.rules,size:a.option.size?.form,class:"update-dialog-form"},{default:e.withCtx(()=>[e.unref(n).update.showContent?(e.openBlock(),e.createBlock(ge,{key:0,"form-grid":e.unref(n).update.formGrid,"max-span":e.unref(n).update.formMaxSpan,form:e.unref(n).update.form,type:e.unref(n).update.type,stripe:a.option.form?.stripe,"label-width":a.option.form?.labelWidth,"form-option":a.option.form,"get-bind":e.unref(n).update.getBind,"get-on":e.unref(n).update.getOn,"get-disabled":e.unref(n).update.getDisabled},e.createSlots({_:2},[e.renderList(c.$slots,(m,h)=>({name:h,fn:e.withCtx(B=>[e.renderSlot(c.$slots,h,e.normalizeProps(e.guardReactiveProps(B||{})))])}))]),1032,["form-grid","max-span","form","type","stripe","label-width","form-option","get-bind","get-on","get-disabled"])):e.createCommentVNode("",!0)]),_:3},8,["model","rules","size"]),e.renderSlot(c.$slots,"dialog-end",{row:e.unref(n).update})]),_:3},16,["modelValue","title","before-close"]),e.createVNode(e.unref(u.ElDialog),{modelValue:e.unref(n).remove.show,"onUpdate:modelValue":d[11]||(d[11]=m=>e.unref(n).remove.show=m),title:e.unref(n).remove.title,"close-on-click-modal":!1},{footer:e.withCtx(()=>[e.createElementVNode("span",_t,[e.createVNode(e.unref(u.ElForm),{size:a.option.size?.form},{default:e.withCtx(()=>[e.createVNode(e.unref(u.ElButton),{onClick:e.unref(n).remove.close},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(k).tCurd("close")),1)]),_:1},8,["onClick"]),e.createVNode(e.unref(u.ElButton),{type:"danger",onClick:e.unref(n).remove.submit,loading:e.unref(n).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(()=>[a.option.dialog?.delete?.content?(e.openBlock(),e.createElementBlock("div",Zt,[e.createVNode(it,{content:a.option.dialog?.delete?.content,value:e.unref(n).remove.items},null,8,["content","value"])])):(e.openBlock(),e.createElementBlock("div",xt,e.toDisplayString(e.unref(k).tCurd("confirmDeleteMessage",e.unref(n).remove.items.length)),1))]),_:1},8,["modelValue","title"]),e.createVNode(at,{ref_key:"switchConfirmRef",ref:l,size:a.option.size?.form},null,8,["size"])],2)}}});class vt{static async download(r,s="download.png"){const i=document.createElement("a");i.style.display="none",i.href=r,i.setAttribute("download",s),typeof i.download>"u"&&i.setAttribute("target","_blank"),document.body.appendChild(i),i.click(),document.body.removeChild(i),window.URL.revokeObjectURL(r)}static exportJSONFile=(r,s)=>{const i=new Blob([JSON.stringify(r)],{type:"application/json"}),o=URL.createObjectURL(i),n=document.createElement("a");n.href=o,n.download=`${s||"config"}.json`,n.click()};static importFile=async r=>new Promise((s,i)=>{const o=document.createElement("input");o.type="file";const n=r?.accept||".json";o.accept=n,o.style.display="none",o.onchange=l=>{const t=l.target.files[0];if(!t){w.fail("未选择文件"),i("未选择文件");return}const f=new FileReader;f.onload=async c=>{const d=n==".json"?JSON.parse(c.target.result):c.target.result;s(d)},f.onerror=()=>{w.fail("文件读取失败"),i("文件读取失败")},f.readAsText(t),document.body.removeChild(o)},document.body.appendChild(o),o.click()})}const ke=(a,r)=>{if(a.component("TCurd",ye),a.component("TFormList",Q),a.component("TColumn",be),r?.customComponent){$.customComponent=r.customComponent;for(const s in r.customComponent)a.component(s,r.customComponent[s])}},eo={install:ke};F.ArrUtil=R,F.ExcelUtil=ue,F.TColumn=be,F.TCurd=ye,F.TFile=vt,F.TForm=$,F.TFormConfig=V,F.TFormI18n=k,F.TFormList=Q,F.TSys=w,F.default=eo,F.install=ke,Object.defineProperties(F,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
@@ -19,6 +19,7 @@ declare const conf: {
19
19
  key: string;
20
20
  label: string;
21
21
  value?: any;
22
+ tip?: string | undefined;
22
23
  children?: /*elided*/ any[] | undefined;
23
24
  disabled?: {
24
25
  table?: boolean | ((data: any) => boolean) | undefined;
@@ -426,6 +427,7 @@ declare const conf: {
426
427
  } | undefined;
427
428
  form?: {
428
429
  label?: string | undefined;
430
+ tip?: string | undefined;
429
431
  } | undefined;
430
432
  } | undefined;
431
433
  show?: {
@@ -451,6 +453,7 @@ declare const conf: {
451
453
  key: string;
452
454
  label: string;
453
455
  value?: any;
456
+ tip?: string | undefined;
454
457
  children?: /*elided*/ any[] | undefined;
455
458
  disabled?: {
456
459
  table?: boolean | ((data: any) => boolean) | undefined;
@@ -858,6 +861,7 @@ declare const conf: {
858
861
  } | undefined;
859
862
  form?: {
860
863
  label?: string | undefined;
864
+ tip?: string | undefined;
861
865
  } | undefined;
862
866
  } | undefined;
863
867
  show?: {
@@ -998,6 +1002,7 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
998
1002
  key: string;
999
1003
  label: string;
1000
1004
  value?: any;
1005
+ tip?: string | undefined;
1001
1006
  children?: /*elided*/ any[] | undefined;
1002
1007
  disabled?: {
1003
1008
  table?: boolean | ((data: any) => boolean) | undefined;
@@ -1405,6 +1410,7 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
1405
1410
  } | undefined;
1406
1411
  form?: {
1407
1412
  label?: string | undefined;
1413
+ tip?: string | undefined;
1408
1414
  } | undefined;
1409
1415
  } | undefined;
1410
1416
  show?: {
@@ -1430,6 +1436,7 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
1430
1436
  key: string;
1431
1437
  label: string;
1432
1438
  value?: any;
1439
+ tip?: string | undefined;
1433
1440
  children?: /*elided*/ any[] | undefined;
1434
1441
  disabled?: {
1435
1442
  table?: boolean | ((data: any) => boolean) | undefined;
@@ -1837,6 +1844,7 @@ declare const __VLS_component: import("vue").DefineComponent<import("vue").Extra
1837
1844
  } | undefined;
1838
1845
  form?: {
1839
1846
  label?: string | undefined;
1847
+ tip?: string | undefined;
1840
1848
  } | undefined;
1841
1849
  } | undefined;
1842
1850
  show?: {