vue3-curd 1.0.1

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.
Files changed (48) hide show
  1. package/dist/index.d.ts +6 -0
  2. package/dist/src/api/app/translation/index.d.ts +9 -0
  3. package/dist/src/api/app/translation/types.d.ts +24 -0
  4. package/dist/src/api/system/commonDict/data/index.d.ts +8 -0
  5. package/dist/src/api/system/commonDict/data/types.d.ts +24 -0
  6. package/dist/src/api/system/dict/data/index.d.ts +8 -0
  7. package/dist/src/api/system/dict/data/types.d.ts +24 -0
  8. package/dist/src/api/system/oss/index.d.ts +6 -0
  9. package/dist/src/api/system/oss/types.d.ts +21 -0
  10. package/dist/src/components/CURD/composables/useDictData.d.ts +6 -0
  11. package/dist/src/components/CURD/composables/useFormData.d.ts +6 -0
  12. package/dist/src/components/CURD/composables/useTableData.d.ts +30 -0
  13. package/dist/src/components/CURD/constants.d.ts +20 -0
  14. package/dist/src/components/CURD/curdEdit.d.ts +55 -0
  15. package/dist/src/components/CURD/curdSearch.d.ts +17 -0
  16. package/dist/src/components/CURD/curdTable.d.ts +42 -0
  17. package/dist/src/components/CURD/index.d.ts +274 -0
  18. package/dist/src/components/CURD/types.d.ts +165 -0
  19. package/dist/src/components/CURD/utils.d.ts +15 -0
  20. package/dist/src/components/DictTag/index.d.ts +24 -0
  21. package/dist/src/components/Editor/index.d.ts +237 -0
  22. package/dist/src/components/FileUpload/index.d.ts +63 -0
  23. package/dist/src/components/ImageUpload/index.d.ts +107 -0
  24. package/dist/src/components/OssImagePreview/index.d.ts +26 -0
  25. package/dist/src/components/SvgIcon/index.d.ts +41 -0
  26. package/dist/src/components/TranslateInput/index.d.ts +27 -0
  27. package/dist/src/components/ossFile/index.d.ts +34 -0
  28. package/dist/src/directive/common/copyText.d.ts +5 -0
  29. package/dist/src/directive/curd-perm.d.ts +9 -0
  30. package/dist/src/index.d.ts +16 -0
  31. package/dist/src/plugin.d.ts +14 -0
  32. package/dist/src/plugins/modal.d.ts +20 -0
  33. package/dist/src/store/modules/dict.d.ts +56 -0
  34. package/dist/src/store/modules/translation.d.ts +88 -0
  35. package/dist/src/utils/dict.d.ts +8 -0
  36. package/dist/src/utils/download.d.ts +1 -0
  37. package/dist/src/utils/errorCode.d.ts +2 -0
  38. package/dist/src/utils/http.d.ts +7 -0
  39. package/dist/src/utils/index.d.ts +23 -0
  40. package/dist/src/utils/propTypes.d.ts +12 -0
  41. package/dist/src/utils/ruoyi.d.ts +15 -0
  42. package/dist/src/utils/translation.d.ts +5 -0
  43. package/dist/style.css +1 -0
  44. package/dist/vue3-curd.es.js +3089 -0
  45. package/dist/vue3-curd.es.js.map +1 -0
  46. package/dist/vue3-curd.umd.js +2 -0
  47. package/dist/vue3-curd.umd.js.map +1 -0
  48. package/package.json +103 -0
@@ -0,0 +1,2 @@
1
+ (function(M,b){typeof exports=="object"&&typeof module<"u"?b(exports,require("element-plus/es"),require("vue"),require("vue-types"),require("@element-plus/icons-vue"),require("axios"),require("image-conversion"),require("pinia"),require("@vueup/vue-quill/dist/vue-quill.snow.css"),require("@vueup/vue-quill"),require("vue-i18n"),require("dayjs"),require("file-saver")):typeof define=="function"&&define.amd?define(["exports","element-plus/es","vue","vue-types","@element-plus/icons-vue","axios","image-conversion","pinia","@vueup/vue-quill/dist/vue-quill.snow.css","@vueup/vue-quill","vue-i18n","dayjs","file-saver"],b):(M=typeof globalThis<"u"?globalThis:M||self,b(M.Vue3Curd={},M.ElementPlus,M.Vue,M.VueTypes,M.ElementPlusIconsVue,M.axios,M.imageConversion,M.Pinia,null,M.VueQuill,M.VueI18n,M.dayjs,M.FileSaver))})(this,(function(M,b,e,Ze,ue,ve,et,Ee,wl,De,_e,tt,lt){"use strict";const Q=Ze.createTypes({func:void 0,bool:void 0,string:void 0,number:void 0,object:void 0,integer:void 0}),at=["xlink:href","fill"],ot=e.defineComponent({__name:"index",props:{iconClass:Q.string.isRequired,className:Q.string.def(""),color:Q.string.def("")},setup(t){const o=t,a=e.computed(()=>`#icon-${o.iconClass}`),l=e.computed(()=>o.className?`svg-icon ${o.className}`:"svg-icon");return(c,n)=>(e.openBlock(),e.createElementBlock("svg",{class:e.normalizeClass(e.unref(l)),"aria-hidden":"true"},[e.createElementVNode("use",{"xlink:href":e.unref(a),fill:t.color},null,8,at)],2))}}),le=(t,o)=>{const a=t.__vccOpts||t;for(const[l,c]of o)a[l]=c;return a},ce=le(ot,[["__scopeId","data-v-ed552a8d"]]),me=le(e.defineComponent({__name:"index",props:{options:{type:Array,default:null},value:{type:[Number,String,Array,void 0],default:""}},setup(t){const o=t,a=e.computed(()=>{const l=o.value;if(l===""||l===null||typeof l>"u")return"";if(Array.isArray(l)){const c=[];return o.options.map(n=>{(l.indexOf(n.value)>-1||l.indexOf(n.label)>-1)&&c.push(n)}),c}else if(typeof l=="string"){let c=[];if(l.indexOf(",")>-1?c=l.split(","):l.indexOf("、")>-1&&(c=l.split("、")),c.length>0){const n=[];return o.options.map(p=>{(c.indexOf(p.value)>-1||c.indexOf(p.label)>-1)&&n.push(p)}),n}}return o.options.find(c=>c.value==l||c.label==l)||l});return(l,c)=>{const n=b.ElTag;return Array.isArray(e.unref(a))?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(e.unref(a),p=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[p.label?(e.openBlock(),e.createBlock(n,{"disable-transitions":!0,key:p.value,type:p.elTagType||"primary"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(p.label),1)]),_:2},1032,["type"])):e.createCommentVNode("",!0)],64))),256)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.unref(a).label?(e.openBlock(),e.createBlock(n,{"disable-transitions":!0,key:e.unref(a).value,type:e.unref(a).elTagType||"primary"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a).label),1)]),_:1},8,["type"])):e.createCommentVNode("",!0)],64))}}}),[["__scopeId","data-v-9a5060d2"]]);let se=null,$e=()=>({}),he="";const rt=()=>{const t=ve.create({baseURL:he,timeout:5e4});return t.interceptors.response.use(o=>o.data,o=>Promise.reject(o)),t},oe=()=>(se||(se=rt()),se),Te=t=>{se=t},ie=()=>$e(),xe=t=>{$e=t},de=()=>he,Ne=t=>{he=t||""};function ye(t){return oe()({url:"/resource/oss/listByIds/"+t,method:"get"})}function Ue(t){return oe()({url:"/resource/oss/"+t,method:"delete"})}const nt={class:"image-slot"},ct={key:1},ge=le(e.defineComponent({__name:"index",props:{modelValue:[String,Object,Array,Number],width:{type:[Number,String],default:""},height:{type:[Number,String],default:""}},setup(t){const o=t,a=e.ref(""),l=e.computed(()=>a.value?a.value.split(",")[0]:void 0),c=e.computed(()=>{if(!a.value)return;const p=a.value.split(","),m=[];return p.forEach(f=>m.push(f)),m}),n=e.computed(()=>{const p=o.width;return typeof p=="string"?p:`${p}px`});return e.computed(()=>{const p=o.height;return typeof p=="string"?p:`${p}px`}),e.watch(()=>o.modelValue,async p=>{if(p){let m;Array.isArray(p)?m=p:m=(await ye(p)).data,a.value=m.map(f=>f.url).join(",")}else a.value=""},{immediate:!0,deep:!0}),(p,m)=>{const f=b.ElIcon,B=b.ElImage;return e.openBlock(),e.createElementBlock("div",null,[e.unref(l)?(e.openBlock(),e.createBlock(B,{key:0,src:`${e.unref(l)}`,fit:"scale-down",loading:"lazy",style:e.normalizeStyle(`width:${e.unref(n)};height:${e.unref(n)};`),"preview-src-list":e.unref(c),"preview-teleported":""},{error:e.withCtx(()=>[e.createElementVNode("div",nt,[e.createVNode(f,null,{default:e.withCtx(()=>[e.createVNode(e.unref(ue.PictureFilled))]),_:1})])]),_:1},8,["src","style","preview-src-list"])):(e.openBlock(),e.createElementBlock("div",ct,[e.createElementVNode("div",{class:"image-slot",style:e.normalizeStyle(`width:${e.unref(n)};height:${e.unref(n)};`)},[e.createVNode(f,null,{default:e.withCtx(()=>[e.createVNode(e.unref(ue.PictureFilled))]),_:1})],4)]))])}}}),[["__scopeId","data-v-dc163acb"]]),st={class:"image-slot"},ke=le(e.defineComponent({__name:"index",props:{data:{type:Object,default:()=>({})},width:{type:[Number,String],default:60},height:{type:[Number,String],default:60}},setup(t){const o=t,a=e.computed(()=>typeof o.width=="string"?o.width:`${o.width}px`),l=e.computed(()=>typeof o.height=="string"?o.height:`${o.height}px`);return(c,n)=>{const p=b.ElIcon,m=b.ElImage,f=ce;return[".jpg",".png",".jpeg"].indexOf(t.data.fileSuffix)>-1?(e.openBlock(),e.createBlock(m,{key:0,src:t.data.url,fit:"cover","preview-src-list":[t.data.url],style:e.normalizeStyle(`width:${e.unref(a)};height:${e.unref(l)};`),"preview-teleported":""},{error:e.withCtx(()=>[e.createElementVNode("div",st,[e.createVNode(p,null,{default:e.withCtx(()=>[e.createVNode(e.unref(ue.PictureFilled))]),_:1})])]),_:1},8,["src","preview-src-list","style"])):[".xls",".xlsx",".csv"].indexOf(t.data.fileSuffix)>-1?(e.openBlock(),e.createBlock(f,{key:1,"icon-class":"excel",style:e.normalizeStyle(`width:${e.unref(a)};height:${e.unref(l)};`)},null,8,["style"])):[".doc",".docx"].indexOf(t.data.fileSuffix)>-1?(e.openBlock(),e.createBlock(f,{key:2,"icon-class":"word",style:e.normalizeStyle(`width:${e.unref(a)};height:${e.unref(l)};`)},null,8,["style"])):[".pdf"].indexOf(t.data.fileSuffix)>-1?(e.openBlock(),e.createBlock(f,{key:3,"icon-class":"pdf",style:e.normalizeStyle(`width:${e.unref(a)};height:${e.unref(l)};`)},null,8,["style"])):[".tet"].indexOf(t.data.fileSuffix)>-1?(e.openBlock(),e.createBlock(f,{key:4,"icon-class":"tet",style:e.normalizeStyle(`width:${e.unref(a)};height:${e.unref(l)};`)},null,8,["style"])):[".zip"].indexOf(t.data.fileSuffix)>-1?(e.openBlock(),e.createBlock(f,{key:5,"icon-class":"zip",style:e.normalizeStyle(`width:${e.unref(a)};height:${e.unref(l)};`)},null,8,["style"])):(e.openBlock(),e.createBlock(f,{key:6,"icon-class":"unknown",style:e.normalizeStyle(`width:${e.unref(a)};height:${e.unref(l)};`)},null,8,["style"]))}}}),[["__scopeId","data-v-04035581"]]),Ae={bool:[{label:"是",value:"1"},{label:"否",value:"0"},{label:"是",value:"True"},{label:"否",value:"False"}]},it=[{prop:"createTime",width:"165px"},{prop:"createBy",width:"100px"},{prop:"orderNum",width:"80px"},{prop:"sort",width:"80px"},{prop:"code",width:"120px"},{prop:"updateTime",width:"165px"}],dt=[10,15,20,30,50,100],Ie={pageSize:15,pageNum:1,total:0,orderByColumn:"",isAsc:""},be={FULL:"total, sizes, prev, pager, next",SIMPLE:"total"},Le=30,pt=28;function Be(t){if(!t)return{};const o={};for(const a in t){const l=t[a];l!==""&&l!==null&&l!==void 0&&(!Array.isArray(l)||l.length>0)&&(o[a]=l)}return o}function ft(t){if(t.width)return String(t.width);const o=it.find(a=>a.prop===t.prop);return o?o.width:t.prop.includes("time")?"100px":"auto"}function ut(t,o){if(!o.prop)return"";let a;if(o.prop.includes(".")?a=o.prop.split(".").reduce((c,n)=>c==null?void 0:c[n],t):a=t[o.prop],a!=null){const l=o.prefix||"",c=o.suffix||"";return`${l}${a}${c}`}return""}function mt(t){t.forEach(o=>{o.form||(o.form={order:100}),o.form.order==null&&(o.form.order=100),!o.form.type&&o.type&&(o.form.type=o.type),!o.form.prop&&o.prop&&(o.form.prop=o.prop),o.search&&!o.search.dictType&&o.dictType&&(o.search.dictType=o.dictType),!o.form.dictType&&o.dictType&&(o.form.dictType=o.dictType),!o.form.inactiveValue&&o.inactiveValue&&(o.form.inactiveValue=o.inactiveValue),!o.form.activeValue&&o.activeValue&&(o.form.activeValue=o.activeValue),o.form.type==="checkbox"&&(o.label=""),o.search&&(o.search.prop=o.search.prop??o.prop)})}function ht(t){t.forEach(o=>{if(!o.form)return;const a=o.form.rules||[];o.form.required&&a.push({required:!0,message:`${o.label}必填`,trigger:"blur"}),o.form.rules=a.length>0?a:void 0})}function Pe(t,o="order"){return[...t].sort((a,l)=>{const c=(m,f)=>{const B=f.split(".");let d=m;for(const I of B)d=d==null?void 0:d[I];return d??100},n=c(a,o),p=c(l,o);return n-p})}function yt(t,o,a){return t.filter(l=>!(l.canEdit===!1||a&&l.canUpdate===!1||!a&&l.canCreate===!1))}function gt(t,o){if(!o.show)return!0;for(const a in o.show)if(o.show[a].includes(t[a]))return!0;return!1}function kt(t,o){if(!o.disable&&!o.enable)return!1;for(const a in o.disable)if(o.disable[a].includes(t[a]))return!0;for(const a in o.enable)if(!o.enable[a].includes(t[a]))return!0;return!1}function bt(t,o,a,l){o&&o[0]&&o[1]&&(t[a]=`${o[0]},${o[1]}`,l==null||l.addDateRange(t,o,a))}function Bt(t){const{proxy:o}=e.getCurrentInstance(),a=e.ref([]),l=e.ref(!1),c=e.ref([]),n=e.ref({}),p=e.ref(),m=e.ref({...Ie,pageSize:t.initialPageSize??Ie.pageSize}),f=e.ref(dt),B=e.ref(be.FULL),d=async()=>{var D;if(!t.listApi){t.data?a.value=Array.isArray(t.data)?t.data:((D=t.data)==null?void 0:D.value)||[]:a.value=[];return}l.value=!0;try{const y=await I(null),_=await t.listApi(y);t.afterQuery&&await t.afterQuery(_);let T=_.rows||_.data;t.treeProps&&(T=o==null?void 0:o.handleTree(_.data,t.rowKey)),a.value=T,m.value.total=_.total;const z=_.total/m.value.pageSize<=1;B.value=z?be.SIMPLE:be.FULL,o==null||o.$forceUpdate()}catch(y){console.error("Query failed:",y)}finally{l.value=!1}},I=async D=>{D&&(n.value=Be(D));let y=t.queryParams||{};if(t.beforeQuery){const _=await t.beforeQuery({});y={...m.value,...y,...n.value,..._}}else y={...m.value,...y,...n.value};return y},E=D=>{D&&(n.value=Be(D)),d()},L=D=>{m.value.pageNum!==D&&(m.value.pageNum=D,d())},x=D=>{m.value.pageSize!==D&&(m.value.pageSize=D,d())},P=D=>{D.order&&(m.value.orderByColumn=D.prop,m.value.isAsc=D.order),d()},j=D=>{c.value=D,t.selectionChange&&t.selectionChange(D)},H=()=>{const D=t.queryParams||{};D.orderByColumn&&(m.value.orderByColumn=D.orderByColumn,p.value={prop:D.orderByColumn,order:D.isAsc==="asc"?"ascending":"descending"}),D.isAsc&&(m.value.isAsc=D.isAsc)};return{listData:a,loading:l,multipleSelection:c,pageOptions:m,listSize:f,pagingLayout:B,defaultSort:p,executeQuery:d,getQueryParams:I,refreshTable:E,handlePageChange:L,handleSizeChange:x,handleSortChange:P,handleSelectionChange:j,initData:async()=>{H(),await d()}}}function Fe(){const{proxy:t}=e.getCurrentInstance(),o=async n=>{for(const p of n)if(p.type==="dictTag"){const m=await(t==null?void 0:t.useOneDict(p.dictType));p.data=e.toRaw(m)}else if(p.type==="commonDictTag"){const m=await(t==null?void 0:t.useOneCommonDict(p.dictType));p.data=e.toRaw(m)}},a=async n=>{if(!n.search)return;switch(n.search.type){case"selectApi":n.search.api?await l(n):console.error(`${n.prop}中search对象未设置api参数`);break;case"treeSelectApi":n.search.api?await c(n):console.error(`${n.prop}中search对象未设置api参数`);break;case"selectCommonDict":n.search.data=await(t==null?void 0:t.useOneCommonDict(n.search.dictType));break;case"selectDict":n.search.data=await(t==null?void 0:t.useOneDict(n.search.dictType));break}},l=async n=>{var m;if(!((m=n.search)!=null&&m.api))return;const p={pageNum:1,pageSize:1e3,filedName:n.prop,...n.search.apiParams||{}};try{const f=await n.search.api(p);n.search.data=f.data||f.rows}catch(f){console.error(`Failed to load API data for ${n.prop}:`,f)}},c=async n=>{var p;if((p=n.search)!=null&&p.api)try{const m=await n.search.api({pageNum:1,pageSize:1e3});if(n.search.data=m.data||m.rows||m,n.search.data&&Array.isArray(n.search.data)){const B=(n.search.props||{value:"id",label:"label",children:"children"}).value||"id";n.search.defaultExpandedKeys=n.search.data.map(d=>d[B])}}catch(m){console.error(`Failed to load tree API data for ${n.prop}:`,m)}};return{initColumnDicts:o,initSearchDicts:a,initSelectApi:l}}const wt={key:2,class:"image-style"},Vt={key:3,class:"image-style"},Ct={key:8,class:"color-cell"},St={style:{margin:"20px 0px"}},Oe=le(e.defineComponent({__name:"curdTable",props:{dataSource:{},maxHeight:{}},emits:["actionEvent","selectionChange","rowClick"],setup(t,{expose:o,emit:a}){const{proxy:l}=e.getCurrentInstance(),c=a,n=t,p=e.computed(()=>n.dataSource.maxHeight??n.maxHeight),m=e.ref(),{listData:f,loading:B,multipleSelection:d,pageOptions:I,listSize:E,pagingLayout:L,defaultSort:x,refreshTable:P,handlePageChange:j,handleSizeChange:H,handleSortChange:C,handleSelectionChange:D,initData:y,getQueryParams:_}=Bt(n.dataSource),{initColumnDicts:T}=Fe(),z=e.ref(Ae),V=w=>w==null?void 0:w[n.dataSource.rowKey],i=e.computed(()=>n.dataSource.actions?n.dataSource.actions.filter(w=>w.action!=="create"&&w.action!=="back"&&(!w.position||w.position==="table")):[]),S=w=>{var O;return!((O=n.dataSource.disabledCheckedRowKeys)!=null&&O.includes(V(w)))},$=e.computed(()=>{const w=n.dataSource.actionColumnWidth;if(w!=null&&w!=="")return typeof w=="number"?`${w}px`:w;let O=i.value.length*pt;return O<Le&&(O=Le),`${O+40}px`}),F=(w,O)=>gt(w,O),Y=(w,O)=>kt(w,O),J=w=>ft(w),k=w=>{var q;const O=w.align||n.dataSource.align;return O||(((q=w.label)==null?void 0:q.indexOf("時間"))>-1||!1||w.type=="dictTag"||w.type=="image"||w.type=="switch"?"center":"left")},N=(w,O)=>{const q=l==null?void 0:l.useDict(w.dictType)[w.dictType];if(q!=null){const W=O[w.prop],K=q.filter(ae=>ae.value==W);return K.length==0?"":K[0].label}else console.error(w.dictType+" 字典不存在")},R=(w,O)=>{const q=z.value[w.dictType];if(q!=null){const W=O[w.prop],K=q.find(ae=>ae.value==W);return K==null?"":K.label}else console.error(w.dictType+" 字典不存在")},U=(w,O)=>{if(w.data!=null){const q=O[w.prop],W=w.data.find(K=>K.value==q);return W==null?"":W.label}else console.error("未配置data屬性")},G=(w,O)=>{if(w.data!=null){const q=O[w.prop],W=w.data.find(K=>K.value==q);return W==null?"info":W.tagType}else console.error("未配置data屬性")},Z=(w,O)=>ut(w,O),te=w=>{const O=Array.isArray(w)?w:[];D(O),c("selectionChange",O)},X=(w,O,q)=>{var W,K;return(K=(W=n.dataSource).rowClick)==null?void 0:K.call(W,w,O,q)},ee=(w,O)=>c("actionEvent",w,O),s=()=>d.value,u=async()=>{var O,q;if(!n.dataSource.showSelection||!((O=n.dataSource.checkedRowKeys)!=null&&O.length))return;await e.nextTick();const w=m.value;if(w!=null&&w.toggleRowSelection)for(const W of f.value){const K=V(W);if(K==null)continue;const ae=String(K);(q=n.dataSource.checkedRowKeys)!=null&&q.includes(ae)&&w.toggleRowSelection(W,!0)}},r=async()=>{var O,q;if(!n.dataSource.showSelection||!((O=n.dataSource.disabledCheckedRowKeys)!=null&&O.length))return;await e.nextTick();const w=m.value;if(w!=null&&w.toggleRowSelection)for(const W of f.value){const K=V(W);if(K==null)continue;const ae=String(K);(q=n.dataSource.disabledCheckedRowKeys)!=null&&q.includes(ae)&&w.toggleRowSelection(W,!0)}},h=async()=>{await T(n.dataSource.columns),await y(),await r(),await u()};return e.onMounted(()=>h()),o({refreshTable:P,getSelection:s,initData:h,getQueryParams:_}),(w,O)=>{const q=b.ElTableColumn,W=b.ElImage,K=b.ElCheckbox,ae=b.ElSwitch,ne=b.ElTag,hl=me,yl=ce,pe=b.ElButton,gl=b.ElTooltip,kl=b.ElTable,bl=b.ElPagination,fe=e.resolveDirective("hasPermi"),Bl=b.ElLoadingDirective;return e.openBlock(),e.createElementBlock("div",null,[e.withDirectives((e.openBlock(),e.createBlock(kl,{ref_key:"curdTableRef",ref:m,data:e.unref(f),"row-key":n.dataSource.rowKey,"element-loading-text":w.$t("數據加載中..."),stripe:"","tree-props":n.dataSource.treeProps,"default-sort":e.unref(x),onSelectionChange:te,onSortChange:e.unref(C),onRowClick:X,"default-expand-all":n.dataSource.treeDefaultExpandAll??!1,"max-height":e.unref(p),"highlight-current-row":""},{empty:e.withCtx(()=>[e.createElementVNode("div",St,e.toDisplayString(w.$t("未查詢到數據")),1)]),default:e.withCtx(()=>[n.dataSource.showSelection?(e.openBlock(),e.createBlock(q,{key:0,type:"selection",width:"60",selectable:S,align:"center"})):e.createCommentVNode("",!0),n.dataSource.showIndex?(e.openBlock(),e.createBlock(q,{key:1,type:"index",width:"70",align:"center",label:"序號"})):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.dataSource.columns,g=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:g.prop||g.key},[g.width!==0?(e.openBlock(),e.createBlock(q,{key:0,label:w.$t(g.label),width:J(g),"min-width":g.minWidth,prop:g.prop,align:k(g),sortable:g.sort?"custom":!1,"show-overflow-tooltip":g.showOverflowTooltip||!0,fixed:g.fixed},{default:e.withCtx(({row:A})=>[g.slot?e.renderSlot(w.$slots,g.slot,{key:0,row:A,column:g,value:A[g.prop]},void 0,!0):g.type==="image"&&A[g.prop]?(e.openBlock(),e.createBlock(ge,{key:1,modelValue:A[g.prop],"onUpdate:modelValue":v=>A[g.prop]=v,class:"image-preview",width:24,height:24},null,8,["modelValue","onUpdate:modelValue"])):g.type==="networkImage"?(e.openBlock(),e.createElementBlock("view",wt,[e.createVNode(W,{src:A[g.prop],fit:"cover",style:{height:"24px"}},null,8,["src"])])):g.type==="imageUrl"?(e.openBlock(),e.createElementBlock("view",Vt,[e.createVNode(W,{src:A[g.prop],fit:"cover",style:{height:"24px"}},null,8,["src"])])):g.type==="date"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:4},[e.createTextVNode(e.toDisplayString(w.parseTime(A[g.prop],"{y}-{m}-{d}")),1)],64)):g.type==="timestamp"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:5},[e.createTextVNode(e.toDisplayString(w.parseTime(A[g.prop])),1)],64)):g.type==="bool"?(e.openBlock(),e.createBlock(K,{key:6,modelValue:A[g.prop],"onUpdate:modelValue":v=>A[g.prop]=v,onClick:O[0]||(O[0]=e.withModifiers(()=>{},["stop","prevent"]))},null,8,["modelValue","onUpdate:modelValue"])):g.type==="switch"?(e.openBlock(),e.createBlock(ae,{key:7,modelValue:A[g.prop],"onUpdate:modelValue":v=>A[g.prop]=v,"active-value":g.activeValue||"0","inactive-value":g.inactiveValue||"1",size:"small","before-change":()=>!1},null,8,["modelValue","onUpdate:modelValue","active-value","inactive-value"])):g.type==="color"?(e.openBlock(),e.createElementBlock("div",Ct,[e.createElementVNode("div",{class:"color-cell-item",style:e.normalizeStyle({backgroundColor:A[g.prop]||"#ffffff"})},null,4)])):g.type==="fromDict"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:9},[e.createTextVNode(e.toDisplayString(N(g,A)),1)],64)):g.type==="fromDataTag"?(e.openBlock(),e.createBlock(ne,{key:10,type:G(g,A),effect:g.tagEffect??"light",class:"el-column-tag"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(U(g,A)),1)]),_:2},1032,["type","effect"])):g.type==="localDict"?(e.openBlock(),e.createBlock(ne,{key:11,type:g.tagType||"info",effect:g.tagEffect||"light",class:"el-column-tag"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(R(g,A)),1)]),_:2},1032,["type","effect"])):g.type==="tag"?(e.openBlock(),e.createBlock(ne,{key:12,type:g.tagType||"info",effect:g.tagEffect||"light",class:"el-column-tag",plain:""},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(A[g.prop]),1)]),_:2},1032,["type","effect"])):g.type==="tagArrayObj"?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:13},e.renderList(A[g.prop],v=>(e.openBlock(),e.createBlock(ne,{type:g.tagType||"info",effect:g.tagEffect||"light",class:"el-column-tag",key:v[g.displayField],plain:""},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(v[g.displayField]),1)]),_:2},1032,["type","effect"]))),128)):g.type==="tags"?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:14},e.renderList(A[g.prop],v=>(e.openBlock(),e.createBlock(ne,{type:g.tagType||"info",effect:g.tagEffect||"light",class:"el-column-tag",key:v[g.tagLabel],plain:""},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(v[g.tagLabel]),1)]),_:2},1032,["type","effect"]))),128)):g.type==="dictTag"||g.type==="commonDictTag"?(e.openBlock(),e.createBlock(hl,{key:15,options:g.data||[],value:A[g.prop]},null,8,["options","value"])):g.type==="svg"?(e.openBlock(),e.createBlock(yl,{key:16,"icon-class":A.icon},null,8,["icon-class"])):g.type==="ossFile"?(e.openBlock(),e.createBlock(ke,{key:17,data:A,width:32,height:32},null,8,["data"])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:18},[e.createTextVNode(e.toDisplayString(Z(A,g)),1)],64))]),_:2},1032,["label","width","min-width","prop","align","sortable","show-overflow-tooltip","fixed"])):e.createCommentVNode("",!0)],64))),128)),e.unref(i).length>0?(e.openBlock(),e.createBlock(q,{key:2,align:"center",fixed:"right",label:w.$t("操作"),width:e.unref($)},{default:e.withCtx(({row:g})=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(i),A=>(e.openBlock(),e.createBlock(gl,{content:w.$t(A.text),placement:"top",key:A.action},{default:e.withCtx(()=>[F(g,A)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[A.action==="update"?e.withDirectives((e.openBlock(),e.createBlock(pe,{key:0,link:"",type:"primary",icon:"Edit",onClick:v=>ee(A,g),disabled:Y(g,A)},null,8,["onClick","disabled"])),[[fe,A.permission||null]]):A.action==="delete"?e.withDirectives((e.openBlock(),e.createBlock(pe,{key:1,link:"",type:"primary",icon:"Delete",onClick:v=>ee(A,g),disabled:Y(g,A)},null,8,["onClick","disabled"])),[[fe,A.permission||null]]):A.action==="view"||A.action==="viewDetail"?e.withDirectives((e.openBlock(),e.createBlock(pe,{key:2,link:"",type:"primary",icon:"View",onClick:v=>ee(A,g),disabled:Y(g,A)},null,8,["onClick","disabled"])),[[fe,A.permission||null]]):e.withDirectives((e.openBlock(),e.createBlock(pe,{key:3,link:"",type:"primary",icon:A.icon,onClick:v=>ee(A,g),disabled:Y(g,A)},null,8,["icon","onClick","disabled"])),[[fe,A.permission||null]])],64)):e.createCommentVNode("",!0)]),_:2},1032,["content"]))),128))]),_:1},8,["label","width"])):e.createCommentVNode("",!0)]),_:3},8,["data","row-key","element-loading-text","tree-props","default-sort","onSortChange","default-expand-all","max-height"])),[[Bl,e.unref(B)]]),n.dataSource.paging!==!1?(e.openBlock(),e.createBlock(bl,{key:0,class:"paging",background:"",layout:e.unref(L),onSizeChange:e.unref(H),onCurrentChange:e.unref(j),"page-size":e.unref(I).pageSize,"current-page":e.unref(I).pageNum,"onUpdate:currentPage":O[1]||(O[1]=g=>e.unref(I).pageNum=g),total:e.unref(I).total,"page-sizes":e.unref(E)},null,8,["layout","onSizeChange","onCurrentChange","page-size","current-page","total","page-sizes"])):e.createCommentVNode("",!0)])}}}),[["__scopeId","data-v-5f05b778"]]),Et={class:"upload-file"},Dt={key:0,class:"el-upload__tip"},_t={style:{color:"#f56c6c"}},$t={style:{color:"#f56c6c"}},Tt={class:"el-icon-document"},xt={class:"ele-upload-list__item-content-action"},Nt=e.defineComponent({__name:"index",props:{modelValue:[String,Object,Array],limit:Q.number.def(5),fileSize:Q.number.def(5),fileType:Q.array.def(["doc","xls","ppt","txt","pdf"]),showTip:Q.bool.def(!0),showFileList:Q.bool.def(!0)},emits:["update:modelValue"],setup(t,{emit:o}){const a=t,{proxy:l}=e.getCurrentInstance(),c=o,n=e.ref(0),p=e.ref([]),m=de(),f=e.ref(m+"/resource/oss/upload"),B=e.ref(ie()),d=e.ref([]),I=e.computed(()=>a.showTip&&(a.fileType||a.fileSize)),E=e.ref();e.watch(()=>a.modelValue,async _=>{if(_){if(!a.showFileList)return;let T=1,z=[];Array.isArray(_)?z=_:z=(await ye(_)).data.map(i=>({name:i.originalName,url:i.url,ossId:i.ossId})),d.value=z.map(V=>(V={name:V.name,url:V.url,ossId:V.ossId},V.uid=V.uid||new Date().getTime()+T++,V))}else return d.value=[],[]},{deep:!0,immediate:!0});const L=_=>{if(a.fileType.length){const T=_.name.split("."),z=T[T.length-1];if(!(a.fileType.indexOf(z)>=0))return l==null||l.$modal.msgError(`文件格式不正確, 請上傳${a.fileType.join("/")}格式文件!`),!1}return a.fileSize&&!(_.size/1024/1024<a.fileSize)?(l==null||l.$modal.msgError(`上傳文件大小不超過 ${a.fileSize} MB!`),!1):(l==null||l.$modal.loading("正在上傳文件,請稍等..."),n.value++,!0)},x=()=>{l==null||l.$modal.msgError(`上傳文件數量不能超過 ${a.limit} 个!`)},P=()=>{l==null||l.$modal.msgError("上傳文件失敗")},j=(_,T)=>{var z;_.code===200?(p.value.push({name:_.data.fileName,url:_.data.url,ossId:_.data.ossId}),C()):(n.value--,l==null||l.$modal.closeLoading(),l==null||l.$modal.msgError(_.msg),(z=E.value)==null||z.handleRemove(T),C())},H=_=>{const T=d.value[_].ossId;Ue(T),d.value.splice(_,1),c("update:modelValue",y(d.value))},C=()=>{n.value>0&&p.value.length===n.value&&(d.value=d.value.filter(_=>_.url!==void 0).concat(p.value),p.value=[],n.value=0,c("update:modelValue",y(d.value)),l==null||l.$modal.closeLoading())},D=_=>_.lastIndexOf("/")>-1?_.slice(_.lastIndexOf("/")+1):_,y=(_,T)=>{let z="";return T=T||",",_.forEach(V=>{V.ossId&&(z+=V.ossId+T)}),z!=""?z.substring(0,z.length-1):""};return(_,T)=>{const z=b.ElButton,V=b.ElUpload,i=b.ElLink;return e.openBlock(),e.createElementBlock("div",Et,[e.createVNode(V,{multiple:"",action:e.unref(f),"before-upload":L,"file-list":e.unref(d),limit:t.limit,"on-error":P,"on-exceed":x,"on-success":j,"show-file-list":!1,headers:e.unref(B),class:"upload-file-uploader",ref_key:"fileUploadRef",ref:E},{default:e.withCtx(()=>[e.createVNode(z,{type:"primary"},{default:e.withCtx(()=>T[0]||(T[0]=[e.createTextVNode("选取文件")])),_:1})]),_:1},8,["action","file-list","limit","headers"]),e.unref(I)?(e.openBlock(),e.createElementBlock("div",Dt,[T[3]||(T[3]=e.createTextVNode(" 請上傳 ")),t.fileSize?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[T[1]||(T[1]=e.createTextVNode(" 大小不超過 ")),e.createElementVNode("b",_t,e.toDisplayString(t.fileSize)+"MB",1)],64)):e.createCommentVNode("",!0),t.fileType?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[T[2]||(T[2]=e.createTextVNode(" 格式為 ")),e.createElementVNode("b",$t,e.toDisplayString(t.fileType.join("/")),1)],64)):e.createCommentVNode("",!0),T[4]||(T[4]=e.createTextVNode(" 的文件 "))])):e.createCommentVNode("",!0),t.showFileList?(e.openBlock(),e.createBlock(e.TransitionGroup,{key:1,class:"upload-file-list el-upload-list el-upload-list--text",name:"el-fade-in-linear",tag:"ul"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(d),(S,$)=>(e.openBlock(),e.createElementBlock("li",{key:S.uid,class:"el-upload-list__item ele-upload-list__item-content"},[e.createVNode(i,{href:`${S.url}`,underline:!1,target:"_blank"},{default:e.withCtx(()=>[e.createElementVNode("span",Tt,e.toDisplayString(D(S.name)),1)]),_:2},1032,["href"]),e.createElementVNode("div",xt,[e.createVNode(i,{underline:!1,onClick:F=>H($),type:"danger"},{default:e.withCtx(()=>T[5]||(T[5]=[e.createTextVNode("删除")])),_:2},1032,["onClick"])])]))),128))]),_:1})):e.createCommentVNode("",!0)])}}}),we=le(Nt,[["__scopeId","data-v-027e6121"]]),Ut={key:0,class:"el-upload__tip"},At={style:{color:"#f56c6c"}},It={style:{color:"#f56c6c"}},Lt={style:{color:"#f56c6c"}},Pt=["src"],Ft=e.defineComponent({__name:"index",props:{modelValue:{type:[String,Object,Array],default:()=>[]},limit:Q.number.def(5),fileSize:Q.number.def(5),fileType:Q.array.def(["png","jpg","jpeg"]),isShowTip:{type:Boolean,default:!0},imageSize:Q.string.def(""),compressSupport:{type:Boolean,default:!1},compressTargetSize:Q.number.def(300),height:Q.string.def("148px")},emits:["update:modelValue"],setup(t,{emit:o}){e.useCssVars(V=>({"9d14746a":a.height}));const a=t,{proxy:l}=e.getCurrentInstance(),c=o,n=e.ref(0),p=e.ref([]),m=e.ref(""),f=e.ref(!1),B=de(),d=e.ref(B+"/resource/oss/upload"),I=e.ref(ie()),E=e.ref([]),L=e.computed(()=>a.isShowTip&&(a.fileType||a.fileSize||a.imageSize)),x=e.ref(),P=e.computed(()=>a.fileType.map(V=>`.${V}`).join(","));e.watch(()=>a.modelValue,async V=>{if(V){let i=[];Array.isArray(V)?i=V:i=(await ye(V)).data,E.value=i.map(S=>{let $;return typeof S=="string"?$={name:S,url:S}:$={name:S.ossId,url:S.url,ossId:S.ossId},$})}else return E.value=[],[]},{deep:!0,immediate:!0});const j=V=>{let i=!1;if(a.fileType.length){let S="";V.name.lastIndexOf(".")>-1&&(S=V.name.slice(V.name.lastIndexOf(".")+1)),i=a.fileType.some($=>!!(V.type.indexOf($)>-1||S&&S.indexOf($)>-1))}else i=V.type.indexOf("image")>-1;if(!i)return l==null||l.$modal.msgError(`文件格式不正確, 請上傳${a.fileType.join("/")}圖片格式文件!`),!1;if(V.name.includes(","))return l==null||l.$modal.msgError("文件名不正確,不能包含英文逗號!"),!1;if(a.fileSize&&!(V.size/1024/1024<a.fileSize))return l==null||l.$modal.msgError(`上傳圖片大小不能超過 ${a.fileSize} MB!`),!1;if(a.compressSupport&&V.size/1024>a.compressTargetSize)return l==null||l.$modal.loading("正在上傳圖片,請稍候..."),n.value++,et.compressAccurately(V,a.compressTargetSize);l==null||l.$modal.loading("正在上傳圖片,請稍候..."),n.value++},H=()=>{l==null||l.$modal.msgError(`上傳文件數量不能超過 ${a.limit} 個!`)},C=(V,i)=>{var S;V.code===200?(p.value.push({name:V.data.fileName,url:V.data.url,ossId:V.data.ossId}),y()):(n.value--,l==null||l.$modal.closeLoading(),l==null||l.$modal.msgError(V.msg),(S=x.value)==null||S.handleRemove(i),y())},D=V=>{const i=E.value.map(S=>S.name).indexOf(V.name);if(i>-1&&p.value.length===n.value){const S=E.value[i].ossId;return Ue(S),E.value.splice(i,1),c("update:modelValue",z(E.value)),!1}return!0},y=()=>{n.value>0&&p.value.length===n.value&&(E.value=E.value.filter(V=>V.url!==void 0).concat(p.value),p.value=[],n.value=0,c("update:modelValue",z(E.value)),l==null||l.$modal.closeLoading())},_=()=>{l==null||l.$modal.msgError("上傳圖片失敗"),l==null||l.$modal.closeLoading()},T=V=>{m.value=V.url,f.value=!0},z=(V,i)=>{let S="";i=i||",";for(const $ in V)V[$].ossId!==void 0&&V[$].url.indexOf("blob:")!==0&&(S+=V[$].ossId+i);return S!=""?S.substring(0,S.length-1):""};return(V,i)=>{const S=e.resolveComponent("plus"),$=b.ElIcon,F=b.ElUpload,Y=b.ElDialog;return e.openBlock(),e.createElementBlock("div",null,[e.createVNode(F,{ref_key:"imageUploadRef",ref:x,multiple:"",action:e.unref(d),"list-type":"picture-card","on-success":C,"before-upload":j,limit:t.limit,accept:e.unref(P),"on-error":_,"on-exceed":H,"before-remove":D,"show-file-list":!0,headers:e.unref(I),"file-list":e.unref(E),"on-preview":T,class:e.normalizeClass({hide:e.unref(E).length>=t.limit})},{default:e.withCtx(()=>[e.createVNode($,{class:"avatar-uploader-icon"},{default:e.withCtx(()=>[e.createVNode(S)]),_:1})]),_:1},8,["action","limit","accept","headers","file-list","class"]),e.unref(L)?(e.openBlock(),e.createElementBlock("div",Ut,[i[4]||(i[4]=e.createTextVNode(" 請上傳 ")),t.fileSize?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[i[1]||(i[1]=e.createTextVNode(" 大小不超過 ")),e.createElementVNode("b",At,e.toDisplayString(t.fileSize)+"MB",1)],64)):e.createCommentVNode("",!0),t.fileType?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[t.fileSize?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode("、")],64)):e.createCommentVNode("",!0),i[2]||(i[2]=e.createTextVNode("格式為 ")),e.createElementVNode("b",It,e.toDisplayString(t.fileType.join("/")),1)],64)):e.createCommentVNode("",!0),t.imageSize?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[t.fileSize||t.fileType?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode("。")],64)):e.createCommentVNode("",!0),i[3]||(i[3]=e.createTextVNode("建議尺寸 ")),e.createElementVNode("b",Lt,e.toDisplayString(t.imageSize),1)],64)):e.createCommentVNode("",!0),i[5]||(i[5]=e.createTextVNode(" 的文件 "))])):e.createCommentVNode("",!0),e.createVNode(Y,{modelValue:e.unref(f),"onUpdate:modelValue":i[0]||(i[0]=J=>e.isRef(f)?f.value=J:null),title:"預覽",width:"800px","append-to-body":""},{default:e.withCtx(()=>[e.createElementVNode("img",{src:e.unref(m),style:{display:"block","max-width":"100%",margin:"0 auto"}},null,8,Pt)]),_:1},8,["modelValue"])])}}}),Ve=le(Ft,[["__scopeId","data-v-c17cf859"]]),Ot=t=>oe()({url:"/app/translation/getByName",method:"post",headers:{repeatSubmit:!1},data:{name:t}}),zt=t=>oe()({url:"/app/translation/batchAdd",method:"post",data:t}),ze=Ee.defineStore("translation",()=>{const t=e.ref([]);return{translation:t,getTranslation:c=>{if(c==null&&c=="")return null;try{for(let n=0;n<t.value.length;n++)if(t.value[n].key==c)return t.value[n].value}catch{return null}return null},setTranslation:(c,n)=>{c!==null&&c!==""&&t.value.push({key:c,value:n})},clearTranslation:()=>{t.value=[]}}}),Mt=async t=>{const o=e.ref({}),a=ze().getTranslation(t);if(a)o.value[t]=a;else{const{data:l}=await Ot(t);o.value[t]=l,ze().setTranslation(t,l)}return o.value},Rt={style:{width:"100%"}},Yt={style:{"margin-bottom":"2px"}},Ce=e.defineComponent({__name:"index",props:["modelValue","placeholder","disabled","type","rows","showWordLimit","maxlength"],emits:["update:modelValue","focus"],setup(t,{expose:o,emit:a}){const l=a,c=t,n=e.ref([{name:"繁體",id:"zhHk",selected:!0,text:""},{name:"簡體",id:"zhCn",selected:!1,text:""},{name:"英文",id:"enUs",selected:!1,text:""}]),p=e.ref(!1),m=e.ref(!1),f=(x,P)=>{x.text=P,x.id=="zhHk"&&l("update:modelValue",P)},B=async x=>{x.id=="zhHk"&&await d()},d=async()=>{if(p.value)return;const x=n.value[0].text;if(x!=""){p.value=!0;const P=await Mt(x);if(p.value=!1,P[x]!=null){for(let j=0;j<n.value.length;j++)if(!n.value[j].text){const H=n.value[j];H.text=P[x][H.id]}}}},I=async x=>{n.value.map(P=>P.selected=!1),x.selected=!0},E=()=>{const x={name:n.value[0].text};return n.value.forEach(P=>x[P.id]=P.text),x},L=()=>l("focus");return e.watch(()=>c.modelValue,x=>{if(x){const P=n.value.filter(j=>j.selected)[0];P.text=x,m.value||d(),m.value=!0}},{immediate:!0,deep:!0}),o({getTranslate:E}),(x,P)=>{const j=b.ElButton,H=b.ElInput;return e.openBlock(),e.createElementBlock("div",Rt,[e.createElementVNode("div",Yt,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(n),C=>(e.openBlock(),e.createBlock(j,{size:"small",key:C.id,type:C.selected?"primary":"default",onClick:D=>I(C),style:{"margin-right":"-8px"}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(C.name),1)]),_:2},1032,["type","onClick"]))),128))]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(n),C=>e.withDirectives((e.openBlock(),e.createBlock(H,{key:C.id,modelValue:C.text,"onUpdate:modelValue":D=>C.text=D,type:c.type,placeholder:c.placeholder+"("+C.name+")",disabled:c.disabled,rows:c.rows,"show-word-limit":c.showWordLimit,maxlength:c.maxlength,onInput:D=>f(C,D),onBlur:D=>B(C),onFocus:P[0]||(P[0]=D=>L())},null,8,["modelValue","onUpdate:modelValue","type","placeholder","disabled","rows","show-word-limit","maxlength","onInput","onBlur"])),[[e.vShow,C.selected]])),128))])}}}),jt={class:"editor"},Se=e.defineComponent({__name:"index",props:{modelValue:Q.string,height:Q.number.def(400),minHeight:Q.number.def(400),readOnly:Q.bool.def(!1),fileSize:Q.number.def(5),type:Q.string.def("url")},emits:["update:modelValue"],setup(t){const o=t,{proxy:a}=e.getCurrentInstance(),l=e.reactive({headers:ie(),url:de()+"/resource/oss/upload"}),c=e.ref(),n=e.ref(),p=e.ref({theme:"snow",bounds:document.body,debug:"warn",modules:{toolbar:{container:[["bold","italic","underline","strike"],["blockquote","code-block"],[{list:"ordered"},{list:"bullet"}],[{indent:"-1"},{indent:"+1"}],[{size:["small",!1,"large","huge"]}],[{header:[1,2,3,4,5,6,!1]}],[{color:[]},{background:[]}],[{align:[]}],["clean"],["link","image","video"]],handlers:{image:E=>{E?n.value.click():De.Quill.format("image",!0)}}}},placeholder:"请输入内容",readOnly:o.readOnly}),m=e.computed(()=>{const E={};return o.minHeight&&(E.minHeight=`${o.minHeight}px`),o.height&&(E.height=`${o.height}px`),E}),f=e.ref("");e.watch(()=>o.modelValue,E=>{E!==f.value&&(f.value=E||"<p></p>")},{immediate:!0});const B=E=>{if(E.code===200){const L=e.toRaw(c.value).getQuill(),x=L.selection.savedRange.index;L.insertEmbed(x,"image",E.data.url),L.setSelection(x+1),a==null||a.$modal.closeLoading()}else a==null||a.$modal.msgError("图片插入失败"),a==null||a.$modal.closeLoading()},d=E=>["image/jpeg","image/jpg","image/png","image/svg"].includes(E.type)?o.fileSize&&!(E.size/1024/1024<o.fileSize)?(a==null||a.$modal.msgError(`上传文件大小不能超过 ${o.fileSize} MB!`),!1):(a==null||a.$modal.loading("正在上传文件,请稍候..."),!0):(a==null||a.$modal.msgError("图片格式错误!"),!1),I=E=>{a==null||a.$modal.msgError("上传文件失败")};return(E,L)=>{const x=b.ElUpload;return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",null,[t.type==="url"?(e.openBlock(),e.createBlock(x,{key:0,action:e.unref(l).url,"before-upload":d,"on-success":B,"on-error":I,class:"editor-img-uploader",name:"file","show-file-list":!1,headers:e.unref(l).headers},{default:e.withCtx(()=>[e.createElementVNode("i",{ref_key:"uploadRef",ref:n},null,512)]),_:1},8,["action","headers"])):e.createCommentVNode("",!0)]),e.createElementVNode("div",jt,[e.createVNode(e.unref(De.QuillEditor),{ref_key:"quillEditorRef",ref:c,content:e.unref(f),"onUpdate:content":L[0]||(L[0]=P=>e.isRef(f)?f.value=P:null),"content-type":"html",options:e.unref(p),style:e.normalizeStyle(e.unref(m)),onTextChange:L[1]||(L[1]=P=>E.$emit("update:modelValue",e.unref(f)))},null,8,["content","options","style"])])],64)}}});function Ht(t,o){if(arguments.length===0||!t)return null;const a=o||"{y}-{m}-{d} {h}:{i}:{s}";let l;typeof t=="object"?l=t:(typeof t=="string"&&/^[0-9]+$/.test(t)?t=parseInt(t):typeof t=="string"&&(t=t.replace(new RegExp(/-/gm),"/").replace("T"," ").replace(new RegExp(/\.[\d]{3}/gm),"")),typeof t=="number"&&t.toString().length===10&&(t=t*1e3),l=new Date(t));const c={y:l.getFullYear(),m:l.getMonth()+1,d:l.getDate(),h:l.getHours(),i:l.getMinutes(),s:l.getSeconds(),a:l.getDay()};return a.replace(/{(y|m|d|h|i|s|a)+}/g,(n,p)=>{let m=c[p];return p==="a"?["日","一","二","三","四","五","六"][m]:(n.length>0&&m<10&&(m="0"+m),m||0)})}const qt=(t,o,a)=>{const l=t;return l.params=typeof l.params=="object"&&l.params!==null&&!Array.isArray(l.params)?l.params:{},o=Array.isArray(o)?o:[],o[0]&&o[0].length==10&&(o[0]=o[0]+" 00:00:00",o[1]=o[1]+" 23:59:59"),typeof a>"u"?(l.params.beginTime=o[0],l.params.endTime=o[1]):(a=a.charAt(0).toUpperCase()+a.slice(1),l.params["begin"+a]=o[0],l.params["end"+a]=o[1]),l},Kt=(t,o)=>{if(o===void 0)return"";const a=[];return Object.keys(t).some(l=>{if(t[l].value==""+o)return a.push(t[l].label),!0}),a.length===0&&a.push(o),a.join("")},Wt=(t,o,a)=>{if(o===void 0||o.length===0)return"";Array.isArray(o)&&(o=o.join(","));const l=[],c=a===void 0?",":a,n=o.split(c);return Object.keys(o.split(c)).some(p=>{let m=!1;Object.keys(t).some(f=>{t[f].value==""+n[p]&&(l.push(t[f].label+c),m=!0)}),m||l.push(n[p]+c)}),l.join("").substring(0,l.join("").length-1)},Qt=(t,o,a,l)=>{const c={id:o||"id",parentId:a||"parentId",childrenList:l||"children"},n={},p=[];for(const m of t){const f=m[c.id];n[f]=m,m[c.childrenList]||(m[c.childrenList]=[])}for(const m of t){const f=m[c.parentId],B=n[f];B?B[c.childrenList].push(m):p.push(m)}return p},Gt=t=>{let o="";for(const a of Object.keys(t)){const l=t[a],c=encodeURIComponent(a)+"=";if(l!==null&&l!==""&&typeof l<"u")if(typeof l=="object"){for(const n of Object.keys(l))if(l[n]!==null&&l[n]!==""&&typeof l[n]<"u"){const p=a+"["+n+"]",m=encodeURIComponent(p)+"=";o+=m+encodeURIComponent(l[n])+"&"}}else o+=c+encodeURIComponent(l)+"&"}return o},Jt=t=>t.type!=="application/json",Me=t=>{if(!t&&typeof t!="object")throw new Error("error arguments","deepClone");const o=t.constructor===Array?[]:{};return Object.keys(t).forEach(a=>{t[a]&&typeof t[a]=="object"?o[a]=Me(t[a]):o[a]=t[a]}),o};function Xt(t,o){const{proxy:a}=e.getCurrentInstance(),l=e.ref({}),c=async f=>{const B=f.form;if(!B)return"";switch(B.type){case"checkboxGroup":case"checkboxDict":return[];case"treeSelectApi":if(B.api){const d=await B.api({pageNum:1,pageSize:1e3,...B.apiParams});if(B.data=d.rows||d.data,B.data&&Array.isArray(B.data)&&!Array.isArray(B.defaultExpandedKeys)&&B.autoExpandFirstLevel!==!1){const I=B.props||{value:"id"},E=B.valueKey||I.value||"id";B.defaultExpandedKeys=B.data.map(L=>L[E])}}return"";case"radioApi":case"selectApi":if(B.api){const d=await B.api({pageNum:1,pageSize:1e3,...B.apiParams});B.data=d.rows||d.data}return"";case"checkboxCommonDict":return B.data=await(a==null?void 0:a.useOneCommonDict(B.dictType)),[];case"radioCommonDict":case"selectCommonDict":return B.data=await(a==null?void 0:a.useOneCommonDict(B.dictType)),"";case"radioDict":case"selectDict":return B.data=await(a==null?void 0:a.useOneDict(B.dictType)),"";case"daterange":case"timerange":return[];default:return""}},n=async f=>{var E;let B={};const d=t.columns,I=f!==void 0?f:o;for(const L of d){const x=((E=L.form)==null?void 0:E.prop)||L.prop;B[x]=await c(L)}if(I&&typeof I=="object"){const L=Me(I);B={...B,...L}}t.initEditData&&t.initEditData(B),t.beforeInitEdit&&t.beforeInitEdit(B),p(B),l.value=B},p=f=>{t.columns.forEach(d=>{var L,x,P,j,H;const I=(L=d.form)==null?void 0:L.type,E=((x=d.form)==null?void 0:x.prop)||d.prop;switch(I){case"checkboxCommonDict":Array.isArray(f[E])&&(f[E]=f[E].map(y=>y[d.form.value]||y));break;case"selectDict":case"radioDict":case"switch":f[E]=f[E]||((P=d.form)==null?void 0:P.defaultValue);break;case"daterange":case"timerange":const C=(j=d.form)==null?void 0:j.rangeBeginProp,D=(H=d.form)==null?void 0:H.rangeEndProp;C&&D&&f[C]&&f[D]?f[E]=[f[C],f[D]]:typeof f[E]=="string"&&f[E].includes(",")?f[E]=f[E].split(","):(!f[E]||!Array.isArray(f[E]))&&(f[E]=f[E]||[]);break}})};return{formData:l,initFormData:n,prepareSaveData:async f=>{const B={...l.value,...f};if(t.columns.forEach(d=>{var L,x,P,j;const I=(L=d.form)==null?void 0:L.type,E=((x=d.form)==null?void 0:x.prop)||d.prop;if((I==="daterange"||I==="timerange")&&Array.isArray(B[E])){const H=B[E],C=(P=d.form)==null?void 0:P.rangeBeginProp,D=(j=d.form)==null?void 0:j.rangeEndProp;C&&D&&H.length>=2&&(B[C]=H[0],B[D]=H[1])}}),delete B.orderByColumn,delete B.isAsc,t.beforeSave){const d=await t.beforeSave(B);if(d===!1)return!1;d&&typeof d=="object"?Object.assign(f,d):Object.assign(f,B)}else Object.assign(f,B);return!0}}}const Zt={key:20},vt={class:"color-picker-tips"},Re=le(e.defineComponent({__name:"curdEdit",props:{dataSource:{},editData:{},action:{},modelValue:{type:Boolean}},emits:["close","actionEvent"],setup(t,{emit:o}){const{t:a}=_e.useI18n(),{proxy:l}=e.getCurrentInstance(),c=t,n=e.ref(!1),p=e.ref(),m=o,f=e.ref(),B=e.ref(Ae),{formData:d,initFormData:I,prepareSaveData:E}=Xt(c.dataSource,c.editData),L=e.computed(()=>{const _=!!c.editData[c.dataSource.rowKey],T=yt(c.dataSource.columns,_,_);return Pe(T,"form.order")}),x=e.computed(()=>c.dataSource.formInline||!1),P=y=>{if(Array.isArray(y.defaultExpandedKeys))return y.defaultExpandedKeys;if(y.autoExpandFirstLevel===!1)return[];const _=y.data||[],T=y.props||{value:"id"},z=y.valueKey||T.value||"id";return Array.isArray(_)?_.map(V=>V[z]).filter(V=>V!==void 0):[]},j=()=>ht(c.dataSource.columns),H=()=>{var y;(y=f.value)==null||y.validate(async _=>{var T,z,V,i,S;if(!_)return!1;try{const $={...c.dataSource.queryParams||{}};if(await E($)===!1)return!1;c.editData[c.dataSource.rowKey]?await((z=(T=c.dataSource).updateApi)==null?void 0:z.call(T,$)):await((i=(V=c.dataSource).addApi)==null?void 0:i.call(V,$)),await C(),D(!0),l==null||l.$modal.msgSuccess(a("數據存儲成功")),(S=f.value)==null||S.resetFields()}catch($){console.error("Save failed:",$)}return!1})},C=async()=>{const y=p.value;if(y!=null){const _=[];for(let T=0;T<y.length;T++){const z=y[T].getTranslate();_.push(z)}await zt(_)}},D=(y=!1)=>{var _;(_=f.value)==null||_.resetFields(),m("close",y)};return e.watch(()=>c.modelValue,y=>{y&&(j(),I(c.editData)),n.value=y}),(y,_)=>{const T=b.ElInputNumber,z=b.ElOption,V=b.ElSelect,i=b.ElDatePicker,S=Ve,$=we,F=b.ElInput,Y=b.ElCheckbox,J=b.ElCheckboxGroup,k=b.ElSwitch,N=b.ElRadio,R=b.ElRadioGroup,U=b.ElTreeSelect,G=b.ElColorPicker,Z=b.ElFormItem,te=b.ElCol,X=b.ElRow,ee=b.ElForm,s=b.ElButton,u=b.ElDialog;return e.openBlock(),e.createBlock(u,{title:c.action.title||c.action.text,modelValue:e.unref(n),"onUpdate:modelValue":_[1]||(_[1]=r=>e.isRef(n)?n.value=r:null),onClose:D,"destroy-on-close":"","append-to-bod":"",width:c.action.width||(e.unref(x)?750:550),class:"curdEditDialog"},{footer:e.withCtx(()=>[e.createElementVNode("div",null,[e.createVNode(s,{onClick:_[0]||(_[0]=r=>D(!1))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(y.$t("關閉")),1)]),_:1}),e.createVNode(s,{type:"primary",onClick:H},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(y.$t("存儲")),1)]),_:1})])]),default:e.withCtx(()=>[e.createVNode(ee,{model:e.unref(d),ref_key:"curdFormRef",ref:f,"label-width":c.action.labelWidth||c.dataSource.formLabelWidth||"auto","label-position":c.action.labelPosition||"right",class:"p-l-3 p-r-3"},{default:e.withCtx(()=>[e.createVNode(X,{gutter:20},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(L),r=>(e.openBlock(),e.createBlock(te,{span:r.form.inline===!1?24:e.unref(x)?12:24,key:r.prop,class:"el-p"},{default:e.withCtx(()=>[e.createVNode(Z,{prop:r.form.prop||r.prop,label:y.$t(r.label),name:r.form.prop||r.prop,rules:r.form.rules,required:r.form.required},{default:e.withCtx(()=>[r.form.type==="number"?(e.openBlock(),e.createBlock(T,{key:0,modelValue:e.unref(d)[r.form.prop||r.prop],"onUpdate:modelValue":h=>e.unref(d)[r.form.prop||r.prop]=h,style:{width:"100%"},min:r.form.min,max:r.form.max,placeholder:y.$t("請輸入")+y.$t(r.label)},null,8,["modelValue","onUpdate:modelValue","min","max","placeholder"])):r.form.type==="select"?(e.openBlock(),e.createBlock(V,{key:1,multiple:r.form.multiple,style:{width:"100%"},modelValue:e.unref(d)[r.form.prop||r.prop],"onUpdate:modelValue":h=>e.unref(d)[r.form.prop||r.prop]=h,placeholder:y.$t("請選擇")+y.$t(r.label),filterable:r.form.filterable??!0},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.form.data,h=>(e.openBlock(),e.createBlock(z,{key:h[r.form.value]||h.value,label:h[r.form.label]||h.label,value:h[r.form.value]||h.value},null,8,["label","value"]))),128))]),_:2},1032,["multiple","modelValue","onUpdate:modelValue","placeholder","filterable"])):r.form.type==="selectDict"?(e.openBlock(),e.createBlock(V,{key:2,multiple:r.form.multiple,style:{width:"100%"},modelValue:e.unref(d)[r.form.prop||r.prop],"onUpdate:modelValue":h=>e.unref(d)[r.form.prop||r.prop]=h,placeholder:y.$t("請選擇")+y.$t(r.label),filterable:r.form.filterable??!0},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.form.data,h=>(e.openBlock(),e.createBlock(z,{key:h[r.form.value]||h.value,label:h[r.form.label]||h.label,value:h[r.form.value]||h.value},null,8,["label","value"]))),128))]),_:2},1032,["multiple","modelValue","onUpdate:modelValue","placeholder","filterable"])):r.form.type==="selectCommonDict"?(e.openBlock(),e.createBlock(V,{key:3,multiple:r.form.multiple,style:{width:"100%"},modelValue:e.unref(d)[r.form.prop||r.prop],"onUpdate:modelValue":h=>e.unref(d)[r.form.prop||r.prop]=h,placeholder:y.$t("請選擇")+y.$t(r.label),filterable:r.form.filterable??!0},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.form.data,h=>(e.openBlock(),e.createBlock(z,{key:h.value,label:h.label,value:h.value},null,8,["label","value"]))),128))]),_:2},1032,["multiple","modelValue","onUpdate:modelValue","placeholder","filterable"])):r.form.type==="selectApi"?(e.openBlock(),e.createBlock(V,{key:4,multiple:r.form.multiple,style:{width:"100%"},modelValue:e.unref(d)[r.form.prop||r.prop],"onUpdate:modelValue":h=>e.unref(d)[r.form.prop||r.prop]=h,placeholder:y.$t("請選擇")+y.$t(r.label),filterable:r.form.filterable??!0},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.form.data,h=>(e.openBlock(),e.createBlock(z,{key:h[r.form.value],label:h[r.form.label],value:h[r.form.value]},null,8,["label","value"]))),128))]),_:2},1032,["multiple","modelValue","onUpdate:modelValue","placeholder","filterable"])):r.form.type==="date"?(e.openBlock(),e.createBlock(i,{key:5,format:"YYYY-MM-DD","value-format":"YYYY-MM-DD",modelValue:e.unref(d)[r.form.prop||r.prop],"onUpdate:modelValue":h=>e.unref(d)[r.form.prop||r.prop]=h,type:"date",placeholder:y.$t("請選擇日期"),style:{width:"100%"}},null,8,["modelValue","onUpdate:modelValue","placeholder"])):r.form.type==="datetime"?(e.openBlock(),e.createBlock(i,{key:6,format:"YYYY-MM-DD HH:mm:ss","value-format":"YYYY-MM-DD HH:mm:ss",modelValue:e.unref(d)[r.form.prop||r.prop],"onUpdate:modelValue":h=>e.unref(d)[r.form.prop||r.prop]=h,type:"datetime",placeholder:y.$t("請選擇日期時間"),style:{width:"100%"}},null,8,["modelValue","onUpdate:modelValue","placeholder"])):r.form.type==="daterange"?(e.openBlock(),e.createBlock(i,{key:7,modelValue:e.unref(d)[r.form.prop||r.prop],"onUpdate:modelValue":h=>e.unref(d)[r.form.prop||r.prop]=h,type:"daterange",format:"YYYY-MM-DD","value-format":"YYYY-MM-DD","range-separator":y.$t("至"),"start-placeholder":y.$t("開始日期"),"end-placeholder":y.$t("結束日期"),style:{width:"100%"}},null,8,["modelValue","onUpdate:modelValue","range-separator","start-placeholder","end-placeholder"])):r.form.type==="timerange"?(e.openBlock(),e.createBlock(i,{key:8,modelValue:e.unref(d)[r.form.prop||r.prop],"onUpdate:modelValue":h=>e.unref(d)[r.form.prop||r.prop]=h,type:"datetimerange",format:"YYYY-MM-DD HH:mm","value-format":"YYYY-MM-DD HH:mm:ss","range-separator":y.$t("至"),"start-placeholder":y.$t("開始時間"),"end-placeholder":y.$t("結束時間"),style:{width:"100%"}},null,8,["modelValue","onUpdate:modelValue","range-separator","start-placeholder","end-placeholder"])):r.form.type==="image"?(e.openBlock(),e.createBlock(S,{key:9,limit:r.form.limit||1,modelValue:e.unref(d)[r.form.prop||r.prop],"onUpdate:modelValue":h=>e.unref(d)[r.form.prop||r.prop]=h},null,8,["limit","modelValue","onUpdate:modelValue"])):r.form.type==="file"?(e.openBlock(),e.createBlock($,{key:10,limit:r.form.limit||1,modelValue:e.unref(d)[r.form.prop||r.prop],"onUpdate:modelValue":h=>e.unref(d)[r.form.prop||r.prop]=h,fileType:r.form.fileType,fileSize:r.form.fileSize},null,8,["limit","modelValue","onUpdate:modelValue","fileType","fileSize"])):r.form.type==="password"?(e.openBlock(),e.createBlock(F,{key:11,"auto-complete":"new-password",modelValue:e.unref(d)[r.form.prop||r.prop],"onUpdate:modelValue":h=>e.unref(d)[r.form.prop||r.prop]=h,type:"password",placeholder:y.$t("請輸入")+y.$t(r.label)},null,8,["modelValue","onUpdate:modelValue","placeholder"])):r.form.type==="checkboxGroup"?(e.openBlock(),e.createBlock(J,{key:12,class:"checkbox-group",modelValue:e.unref(d)[r.form.prop||r.prop],"onUpdate:modelValue":h=>e.unref(d)[r.form.prop||r.prop]=h},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.form.list,h=>(e.openBlock(),e.createBlock(Y,{key:h[r.form.value],label:h[r.form.label],value:h[r.form.value]},null,8,["label","value"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue"])):r.form.type==="checkboxCommonDict"?(e.openBlock(),e.createBlock(J,{key:13,class:"checkbox-group",modelValue:e.unref(d)[r.form.prop||r.prop],"onUpdate:modelValue":h=>e.unref(d)[r.form.prop||r.prop]=h},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.form.data,h=>(e.openBlock(),e.createBlock(Y,{label:h.value,key:h.value,value:h.value},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(h.label),1)]),_:2},1032,["label","value"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue"])):r.form.type==="switch"?(e.openBlock(),e.createBlock(k,{key:14,modelValue:e.unref(d)[r.form.prop||r.prop],"onUpdate:modelValue":h=>e.unref(d)[r.form.prop||r.prop]=h,"active-value":r.form.activeValue||"0","inactive-value":r.form.inactiveValue||"1"},null,8,["modelValue","onUpdate:modelValue","active-value","inactive-value"])):r.form.type==="radioDict"?(e.openBlock(),e.createBlock(R,{key:15,modelValue:e.unref(d)[r.form.prop||r.prop],"onUpdate:modelValue":h=>e.unref(d)[r.form.prop||r.prop]=h},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.form.data,h=>(e.openBlock(),e.createBlock(N,{key:h.value,value:h.value},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(h.label),1)]),_:2},1032,["value"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue"])):r.form.type==="treeSelectApi"?(e.openBlock(),e.createBlock(U,{key:16,modelValue:e.unref(d)[r.form.prop||r.prop],"onUpdate:modelValue":h=>e.unref(d)[r.form.prop||r.prop]=h,data:r.form.data,props:r.form.props,"value-key":r.form.valueKey,"default-expanded-keys":P(r.form),filterable:r.form.filterable??!0,placeholder:y.$t("請選擇")+y.$t(r.label),"check-strictly":""},null,8,["modelValue","onUpdate:modelValue","data","props","value-key","default-expanded-keys","filterable","placeholder"])):r.form.type==="radioCommonDict"?(e.openBlock(),e.createBlock(R,{key:17,modelValue:e.unref(d)[r.form.prop||r.prop],"onUpdate:modelValue":h=>e.unref(d)[r.form.prop||r.prop]=h},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.form.data,h=>(e.openBlock(),e.createBlock(N,{key:h.value,label:h.value},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(h.label),1)]),_:2},1032,["label"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue"])):r.form.type==="radioLocalDict"?(e.openBlock(),e.createBlock(R,{key:18,modelValue:e.unref(d)[r.form.prop||r.prop],"onUpdate:modelValue":h=>e.unref(d)[r.form.prop||r.prop]=h},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(B)[r.form.dictType],h=>(e.openBlock(),e.createBlock(N,{key:h.value,label:h.value},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(h.label),1)]),_:2},1032,["label"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue"])):r.form.type==="checkbox"?(e.openBlock(),e.createBlock(Y,{key:19,label:y.$t(r.label),modelValue:e.unref(d)[r.form.prop||r.prop],"onUpdate:modelValue":h=>e.unref(d)[r.form.prop||r.prop]=h},null,8,["label","modelValue","onUpdate:modelValue"])):r.form.type==="color"?(e.openBlock(),e.createElementBlock("div",Zt,[e.createVNode(G,{modelValue:e.unref(d)[r.form.prop||r.prop],"onUpdate:modelValue":h=>e.unref(d)[r.form.prop||r.prop]=h},null,8,["modelValue","onUpdate:modelValue"]),e.createElementVNode("span",vt,e.toDisplayString(y.$t("需点击选择器中的确定按钮")),1)])):r.form.type==="inputNumber"?(e.openBlock(),e.createBlock(T,{key:21,min:r.form.min||0,modelValue:e.unref(d)[r.form.prop||r.prop],"onUpdate:modelValue":h=>e.unref(d)[r.form.prop||r.prop]=h,step:1},null,8,["min","modelValue","onUpdate:modelValue"])):r.form.type==="richtext"?(e.openBlock(),e.createBlock(Se,{key:22,modelValue:e.unref(d)[r.form.prop||r.prop],"onUpdate:modelValue":h=>e.unref(d)[r.form.prop||r.prop]=h,height:r.form.max||320,"min-height":r.form.min||220},null,8,["modelValue","onUpdate:modelValue","height","min-height"])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:23},[r.form.translate===!0?(e.openBlock(),e.createBlock(Ce,{ref_for:!0,ref_key:"translateInputRef",ref:p,key:e.unref(d)[y.dataSource.rowKey],modelValue:e.unref(d)[r.form.prop||r.prop],"onUpdate:modelValue":h=>e.unref(d)[r.form.prop||r.prop]=h,disabled:r.form.disabled||!1,type:r.form.type,placeholder:y.$t("請輸入")+y.$t(r.label),rows:r.form.rows||3,"show-word-limit":r.form.showWordLimit||!1,maxlength:r.form.limit||-1},null,8,["modelValue","onUpdate:modelValue","disabled","type","placeholder","rows","show-word-limit","maxlength"])):(e.openBlock(),e.createBlock(F,{key:1,modelValue:e.unref(d)[r.form.prop||r.prop],"onUpdate:modelValue":h=>e.unref(d)[r.form.prop||r.prop]=h,disabled:r.form.disabled||!1,type:r.form.type,placeholder:y.$t("請輸入")+y.$t(r.label),rows:r.form.rows||3,"show-word-limit":r.form.showWordLimit||!1,maxlength:r.form.limit||-1},e.createSlots({_:2},[r.form.suffix?{name:"suffix",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(r.form.suffix),1)]),key:"0"}:void 0,r.form.prefix?{name:"prefix",fn:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(r.form.prefix),1)]),key:"1"}:void 0]),1032,["modelValue","onUpdate:modelValue","disabled","type","placeholder","rows","show-word-limit","maxlength"]))],64))]),_:2},1032,["prop","label","name","rules","required"])]),_:2},1032,["span"]))),128))]),_:1})]),_:1},8,["model","label-width","label-position"])]),_:1},8,["title","modelValue","width"])}}}),[["__scopeId","data-v-aa73b22b"]]),el={key:1,class:"curd-search-card",style:{"margin-bottom":"0px !important"}},tl={key:2,class:"curd-search-card"},ll=le(e.defineComponent({__name:"curdSearch",props:{dataSource:{},selectedCount:{default:0}},emits:["actionEvent"],setup(t,{expose:o,emit:a}){const{t:l}=_e.useI18n(),{proxy:c}=e.getCurrentInstance(),n=a,p=t,m=e.computed(()=>{const i=p.dataSource.actions;return i==null?[]:i.filter($=>$.position==="top"||$.action==="create"||$.action==="back").map($=>{const F={...$};return F.action==="create"?(F.cssType="primary",F.icon="Plus"):F.action==="back"&&(F.icon="ArrowLeft"),F})}),f=e.computed(()=>m.value.find(i=>i.action==="create")??null),B=e.computed(()=>{var i;return((i=p.dataSource.actions)==null?void 0:i.find(S=>S.action==="delete"))??null}),d=e.computed(()=>m.value.filter(i=>i.action!=="create")),I=i=>{n("actionEvent",i)},E=e.computed(()=>p.dataSource.searchColumnsPerRow??4),L=e.computed(()=>Math.floor(24/E.value)),x=e.computed(()=>p.dataSource.showSearchCard??!0),P=e.computed(()=>{if(p.dataSource.searchActionColSpan!=null)return p.dataSource.searchActionColSpan;const i=D.value.length%E.value,$=24-(i===0?E.value:i)*L.value;return $<=0?24:$}),j=e.computed(()=>D.value.length%E.value===0?"15px !important":"0px !important"),{initSearchDicts:H}=Fe(),C=e.ref({}),D=e.ref([]),y=()=>{n("actionEvent",{action:"filter"})},_=async()=>{try{let i=T();if(i={...p.dataSource.queryParams||{},...i},p.dataSource.beforeExport&&await p.dataSource.beforeExport(i)===!1)return;const S=tt().format("YYYYMMDDHHmmss");let $=p.dataSource.exportFileName?`${p.dataSource.exportFileName}`:"export";$+=`_${S}.xlsx`,c==null||c.download(p.dataSource.exportUrl,i,$)}catch(i){console.error("Export failed:",i),c==null||c.$modal.msgError(l("導出失敗"))}},T=()=>{const i={...C.value};return D.value.forEach(S=>{var $,F;if((($=S.search)==null?void 0:$.type)==="daterange"||((F=S.search)==null?void 0:F.type)==="timerange"){const Y=i[S.search.prop];Y&&Y[0]&&Y[1]&&bt(i,Y,S.search.prop,c),delete i[S.search.prop]}}),Be(i)},z=async()=>{await V(),n("actionEvent",{action:"filter"},{})},V=async()=>{const i=p.dataSource.columns.filter($=>$.search);D.value=Pe(i.map(($,F)=>($.search.order||($.search.order=F+100),$)),"search.order"),await e.nextTick();const S={};for(let $=0;$<i.length;$++){const F=i[$];if(!F.search)continue;const Y=F.search.prop||"",J=F.search.type||"";J==="daterange"||J==="timerange"?S[Y]=F.search.default?F.search.default.split(","):[]:((J==="selectApi"||J==="treeSelectApi"||J==="selectDict")&&await H(F),S[Y]=F.search.default)}C.value=S};return e.onMounted(()=>V()),o({initData:V,getQueryParams:T}),(i,S)=>{var ee;const $=b.ElDatePicker,F=b.ElOption,Y=b.ElSelect,J=b.ElTreeSelect,k=b.ElInput,N=b.ElFormItem,R=b.ElCol,U=b.ElButton,G=b.ElRow,Z=b.ElForm,te=b.ElCard,X=e.resolveDirective("hasPermi");return e.unref(D).length>0&&e.unref(x)?(e.openBlock(),e.createBlock(te,{key:0,class:"curd-search-card",shadow:"hover",style:{"margin-bottom":"12px !important"},"body-style":{paddingTop:"18px !important",paddingBottom:e.unref(j)}},{default:e.withCtx(()=>[e.createVNode(Z,{model:e.unref(C),inline:!0,"label-width":p.dataSource.searchLabelWidth||68},{default:e.withCtx(()=>[e.createVNode(G,{gutter:20},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(D),s=>(e.openBlock(),e.createBlock(R,{span:e.unref(L),key:s.search.prop},{default:e.withCtx(()=>[e.createVNode(N,{label:i.$t(s.label),name:s.search.prop,style:{width:"100%"},"label-width":s.search.labelWidth},{default:e.withCtx(()=>[s.search.type==="daterange"?(e.openBlock(),e.createBlock($,{key:0,modelValue:e.unref(C)[s.search.prop],"onUpdate:modelValue":u=>e.unref(C)[s.search.prop]=u,type:"daterange",format:"YYYY-MM-DD","value-format":"YYYY-MM-DD","range-separator":i.$t("至"),"start-placeholder":i.$t("開始日期"),"end-placeholder":i.$t("結束日期"),style:{width:"100%"},clearable:"",onChange:y},null,8,["modelValue","onUpdate:modelValue","range-separator","start-placeholder","end-placeholder"])):s.search.type==="timerange"?(e.openBlock(),e.createBlock($,{key:1,modelValue:e.unref(C)[s.search.prop],"onUpdate:modelValue":u=>e.unref(C)[s.search.prop]=u,type:"datetimerange",format:"YYYY-MM-DD HH:mm","value-format":"YYYY-MM-DD HH:mm:ss","range-separator":i.$t("至"),"start-placeholder":i.$t("開始時間"),"end-placeholder":i.$t("結束時間"),style:{width:"100%"},clearable:"",onChange:y},null,8,["modelValue","onUpdate:modelValue","range-separator","start-placeholder","end-placeholder"])):s.search.type==="selectApi"?(e.openBlock(),e.createBlock(Y,{key:2,modelValue:e.unref(C)[s.search.prop],"onUpdate:modelValue":u=>e.unref(C)[s.search.prop]=u,placeholder:i.$t("請選擇")+i.$t(s.label)+i.$t("查詢"),style:{width:"100%"},clearable:"",onChange:y,filterable:s.search.filterable??!0},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.search.data,u=>(e.openBlock(),e.createBlock(F,{key:u[s.search.value],label:u[s.search.label],value:u[s.search.value]},null,8,["label","value"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue","placeholder","filterable"])):s.search.type==="selectData"?(e.openBlock(),e.createBlock(Y,{key:3,modelValue:e.unref(C)[s.search.prop],"onUpdate:modelValue":u=>e.unref(C)[s.search.prop]=u,placeholder:i.$t("請選擇")+i.$t(s.label)+i.$t("查詢"),style:{width:"100%"},clearable:"",onChange:y,filterable:s.search.filterable??!0},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.search.data,u=>(e.openBlock(),e.createBlock(F,{key:u[s.search.value],label:u[s.search.label],value:u[s.search.value]},null,8,["label","value"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue","placeholder","filterable"])):s.search.type==="selectDict"?(e.openBlock(),e.createBlock(Y,{key:4,modelValue:e.unref(C)[s.search.prop],"onUpdate:modelValue":u=>e.unref(C)[s.search.prop]=u,placeholder:i.$t("請選擇")+i.$t(s.label)+i.$t("查詢"),style:{width:"100%"},clearable:"",onChange:y,filterable:s.search.filterable??!0},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.search.data||[],u=>(e.openBlock(),e.createBlock(F,{key:u[s.search.value]||u.value,label:u[s.search.label]||u.label,value:u[s.search.value]||u.value},null,8,["label","value"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue","placeholder","filterable"])):s.search.type==="selectCommonDict"?(e.openBlock(),e.createBlock(Y,{key:5,modelValue:e.unref(C)[s.search.prop],"onUpdate:modelValue":u=>e.unref(C)[s.search.prop]=u,placeholder:i.$t("請選擇")+i.$t(s.label)+i.$t("查詢"),style:{width:"100%"},clearable:"",onChange:y,filterable:s.search.filterable??!0},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.search.data||[],u=>(e.openBlock(),e.createBlock(F,{key:u[s.search.value]||u.value,label:u[s.search.label]||u.label,value:u[s.search.value]||u.value},null,8,["label","value"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue","placeholder","filterable"])):s.search.type==="treeSelectApi"?(e.openBlock(),e.createBlock(J,{key:6,modelValue:e.unref(C)[s.search.prop],"onUpdate:modelValue":u=>e.unref(C)[s.search.prop]=u,data:s.search.data,props:s.search.props,"value-key":s.search.valueKey,"default-expanded-keys":s.search.defaultExpandedKeys,placeholder:i.$t("請選擇")+i.$t(s.label)+i.$t("查詢"),style:{width:"100%"},"check-strictly":"",clearable:"",onChange:y},null,8,["modelValue","onUpdate:modelValue","data","props","value-key","default-expanded-keys","placeholder"])):s.search.type==="number"?(e.openBlock(),e.createBlock(k,{key:7,type:"number",modelValue:e.unref(C)[s.search.prop],"onUpdate:modelValue":u=>e.unref(C)[s.search.prop]=u,placeholder:i.$t("請輸入")+i.$t(s.label)+i.$t("查詢"),style:{width:"100%"},clearable:""},null,8,["modelValue","onUpdate:modelValue","placeholder"])):(e.openBlock(),e.createBlock(k,{key:8,type:"text",modelValue:e.unref(C)[s.search.prop],"onUpdate:modelValue":u=>e.unref(C)[s.search.prop]=u,style:{width:"100%"},placeholder:i.$t("請輸入")+i.$t(s.label)+i.$t("查詢"),onKeyup:e.withKeys(y,["enter"]),clearable:""},null,8,["modelValue","onUpdate:modelValue","placeholder"]))]),_:2},1032,["label","name","label-width"])]),_:2},1032,["span"]))),128)),e.createVNode(R,{span:e.unref(P)},{default:e.withCtx(()=>{var s;return[e.createVNode(U,{onClick:y,plain:""},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.$t("查詢")),1)]),_:1}),e.createVNode(U,{onClick:z,plain:""},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.$t("清空")),1)]),_:1}),e.unref(f)?e.withDirectives((e.openBlock(),e.createBlock(U,{key:0,type:e.unref(f).cssType,icon:e.unref(f).icon,plain:"",onClick:S[0]||(S[0]=u=>I(e.unref(f)))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.$t(e.unref(f).text||"新增")),1)]),_:1},8,["type","icon"])),[[X,e.unref(f).permission||null]]):e.createCommentVNode("",!0),p.dataSource.showBatchDeleteButton?e.withDirectives((e.openBlock(),e.createBlock(U,{key:1,type:"danger",icon:"Delete",plain:"",disabled:i.selectedCount===0,onClick:S[1]||(S[1]=u=>n("actionEvent",{action:"batchDelete"}))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.$t("批量刪除")),1)]),_:1},8,["disabled"])),[[X,((s=e.unref(B))==null?void 0:s.permission)||null]]):e.createCommentVNode("",!0),p.dataSource.exportUrl?(e.openBlock(),e.createBlock(U,{key:2,type:"primary",icon:"Download",plain:"",onClick:_},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(p.dataSource.exportButtonName||i.$t("導出")),1)]),_:1})):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(d),u=>e.withDirectives((e.openBlock(),e.createBlock(U,{key:u.text,onClick:r=>I(u),type:u.cssType,icon:u.icon,plain:""},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.$t(u.text)),1)]),_:2},1032,["onClick","type","icon"])),[[X,u.permission||null]])),128))]}),_:1},8,["span"])]),_:1})]),_:1},8,["model","label-width"])]),_:1},8,["body-style"])):e.unref(D).length>0&&!e.unref(x)?(e.openBlock(),e.createElementBlock("div",el,[e.createVNode(Z,{model:e.unref(C),inline:!0,"label-width":p.dataSource.searchLabelWidth||68},{default:e.withCtx(()=>[e.createVNode(G,{gutter:20},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(D),s=>(e.openBlock(),e.createBlock(R,{span:e.unref(L),key:s.search.prop},{default:e.withCtx(()=>[e.createVNode(N,{label:s.label,name:s.search.prop,style:{width:"100%"},"label-width":s.search.labelWidth},{default:e.withCtx(()=>[s.search.type==="daterange"?(e.openBlock(),e.createBlock($,{key:0,modelValue:e.unref(C)[s.search.prop],"onUpdate:modelValue":u=>e.unref(C)[s.search.prop]=u,type:"daterange",format:"YYYY-MM-DD","value-format":"YYYY-MM-DD","range-separator":i.$t("至"),"start-placeholder":i.$t("開始日期"),"end-placeholder":i.$t("結束日期"),style:{width:"100%"},clearable:"",onChange:y},null,8,["modelValue","onUpdate:modelValue","range-separator","start-placeholder","end-placeholder"])):s.search.type==="timerange"?(e.openBlock(),e.createBlock($,{key:1,modelValue:e.unref(C)[s.search.prop],"onUpdate:modelValue":u=>e.unref(C)[s.search.prop]=u,type:"datetimerange",format:"YYYY-MM-DD HH:mm","value-format":"YYYY-MM-DD HH:mm:ss","range-separator":i.$t("至"),"start-placeholder":i.$t("開始時間"),"end-placeholder":i.$t("結束時間"),style:{width:"100%"},clearable:"",onChange:y},null,8,["modelValue","onUpdate:modelValue","range-separator","start-placeholder","end-placeholder"])):s.search.type==="selectApi"?(e.openBlock(),e.createBlock(Y,{key:2,modelValue:e.unref(C)[s.search.prop],"onUpdate:modelValue":u=>e.unref(C)[s.search.prop]=u,placeholder:i.$t("請選擇"+s.label+"查詢"),style:{width:"100%"},clearable:"",onChange:y,filterable:s.search.filterable??!0},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.search.data,u=>(e.openBlock(),e.createBlock(F,{key:u[s.search.value],label:u[s.search.label],value:u[s.search.value]},null,8,["label","value"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue","placeholder","filterable"])):s.search.type==="selectData"?(e.openBlock(),e.createBlock(Y,{key:3,modelValue:e.unref(C)[s.search.prop],"onUpdate:modelValue":u=>e.unref(C)[s.search.prop]=u,placeholder:i.$t("請選擇"+s.label+"查詢"),style:{width:"100%"},clearable:"",onChange:y,filterable:s.search.filterable??!0},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.search.data,u=>(e.openBlock(),e.createBlock(F,{key:u[s.search.value],label:u[s.search.label],value:u[s.search.value]},null,8,["label","value"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue","placeholder","filterable"])):s.search.type==="selectDict"?(e.openBlock(),e.createBlock(Y,{key:4,modelValue:e.unref(C)[s.search.prop],"onUpdate:modelValue":u=>e.unref(C)[s.search.prop]=u,placeholder:i.$t("請選擇"+s.label+"查詢"),style:{width:"100%"},clearable:"",onChange:y,filterable:s.search.filterable??!0},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.search.data||[],u=>(e.openBlock(),e.createBlock(F,{key:u[s.search.value]||u.value,label:u[s.search.label]||u.label,value:u[s.search.value]||u.value},null,8,["label","value"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue","placeholder","filterable"])):s.search.type==="selectCommonDict"?(e.openBlock(),e.createBlock(Y,{key:5,modelValue:e.unref(C)[s.search.prop],"onUpdate:modelValue":u=>e.unref(C)[s.search.prop]=u,placeholder:i.$t("請選擇"+s.label+"查詢"),style:{width:"100%"},clearable:"",onChange:y,filterable:s.search.filterable??!0},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.search.data||[],u=>(e.openBlock(),e.createBlock(F,{key:u[s.search.value]||u.value,label:u[s.search.label]||u.label,value:u[s.search.value]||u.value},null,8,["label","value"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue","placeholder","filterable"])):s.search.type==="treeSelectApi"?(e.openBlock(),e.createBlock(J,{key:6,modelValue:e.unref(C)[s.search.prop],"onUpdate:modelValue":u=>e.unref(C)[s.search.prop]=u,data:s.search.data,props:s.search.props,"value-key":s.search.valueKey,"default-expanded-keys":s.search.defaultExpandedKeys,placeholder:i.$t("請選擇"+s.label+"查詢"),style:{width:"100%"},"check-strictly":"",clearable:"",onChange:y},null,8,["modelValue","onUpdate:modelValue","data","props","value-key","default-expanded-keys","placeholder"])):s.search.type==="number"?(e.openBlock(),e.createBlock(k,{key:7,type:"number",modelValue:e.unref(C)[s.search.prop],"onUpdate:modelValue":u=>e.unref(C)[s.search.prop]=u,placeholder:i.$t("請輸入"+s.label+"查詢"),style:{width:"100%"},clearable:""},null,8,["modelValue","onUpdate:modelValue","placeholder"])):(e.openBlock(),e.createBlock(k,{key:8,type:"text",modelValue:e.unref(C)[s.search.prop],"onUpdate:modelValue":u=>e.unref(C)[s.search.prop]=u,style:{width:"100%"},placeholder:i.$t("請輸入"+s.label+"查詢"),onKeyup:e.withKeys(y,["enter"]),clearable:""},null,8,["modelValue","onUpdate:modelValue","placeholder"]))]),_:2},1032,["label","name","label-width"])]),_:2},1032,["span"]))),128)),e.createVNode(R,{span:e.unref(P)},{default:e.withCtx(()=>{var s;return[e.createVNode(U,{onClick:y,plain:""},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.$t("查詢")),1)]),_:1}),e.createVNode(U,{onClick:z,plain:""},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.$t("清空")),1)]),_:1}),e.unref(f)?e.withDirectives((e.openBlock(),e.createBlock(U,{key:0,type:e.unref(f).cssType,icon:e.unref(f).icon,plain:"",onClick:S[2]||(S[2]=u=>I(e.unref(f)))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.$t(e.unref(f).text||"新增")),1)]),_:1},8,["type","icon"])),[[X,e.unref(f).permission||null]]):e.createCommentVNode("",!0),p.dataSource.showBatchDeleteButton?e.withDirectives((e.openBlock(),e.createBlock(U,{key:1,type:"danger",icon:"Delete",plain:"",disabled:i.selectedCount===0,onClick:S[3]||(S[3]=u=>n("actionEvent",{action:"batchDelete"}))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.$t("批量刪除")),1)]),_:1},8,["disabled"])),[[X,((s=e.unref(B))==null?void 0:s.permission)||null]]):e.createCommentVNode("",!0),p.dataSource.exportUrl?(e.openBlock(),e.createBlock(U,{key:2,type:"primary",icon:"Download",plain:"",onClick:_},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.$t("導出")),1)]),_:1})):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(d),u=>e.withDirectives((e.openBlock(),e.createBlock(U,{key:u.text,onClick:r=>I(u),type:u.cssType,icon:u.icon,plain:""},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.$t(u.text)),1)]),_:2},1032,["onClick","type","icon"])),[[X,u.permission||null]])),128))]}),_:1},8,["span"])]),_:1})]),_:1},8,["model","label-width"])])):e.unref(m).length>0?(e.openBlock(),e.createElementBlock("div",tl,[e.unref(f)?e.withDirectives((e.openBlock(),e.createBlock(U,{key:0,type:e.unref(f).cssType,icon:e.unref(f).icon,plain:"",onClick:S[4]||(S[4]=s=>I(e.unref(f)))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(f).text||"新增"),1)]),_:1},8,["type","icon"])),[[X,e.unref(f).permission||null]]):e.createCommentVNode("",!0),p.dataSource.showBatchDeleteButton?e.withDirectives((e.openBlock(),e.createBlock(U,{key:1,type:"danger",icon:"Delete",plain:"",disabled:i.selectedCount===0,onClick:S[5]||(S[5]=s=>n("actionEvent",{action:"batchDelete"}))},{default:e.withCtx(()=>S[6]||(S[6]=[e.createTextVNode("批量刪除")])),_:1},8,["disabled"])),[[X,((ee=e.unref(B))==null?void 0:ee.permission)||null]]):e.createCommentVNode("",!0),p.dataSource.exportUrl?(e.openBlock(),e.createBlock(U,{key:2,type:"primary",icon:"Download",plain:"",onClick:_},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(p.dataSource.exportButtonName||"導出"),1)]),_:1})):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(d),s=>e.withDirectives((e.openBlock(),e.createBlock(U,{key:s.text,onClick:u=>I(s),type:s.cssType,icon:s.icon,plain:""},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.$t(s.text)),1)]),_:2},1032,["onClick","type","icon"])),[[X,s.permission||null]])),128))])):e.createCommentVNode("",!0)}}}),[["__scopeId","data-v-225efee8"]]),al={key:1},Ye=e.defineComponent({__name:"index",props:{dataSource:{},showCard:{type:Boolean,default:!0},showToolbar:{type:Boolean,default:!0},showPadding:{type:Boolean,default:!0},maxHeight:{}},emits:["actionEvent","beforeQuery"],setup(t,{expose:o,emit:a}){const{proxy:l}=e.getCurrentInstance(),c=a,n=t,p=e.computed(()=>n.dataSource.maxHeight!=null?void 0:n.maxHeight),m=e.ref(!1),f=e.ref({}),B=e.ref({}),d=e.ref(),I=e.ref(),E=e.ref(0),L=e.computed(()=>{const k=(n.dataSource.columns||[]).map(N=>N.slot).filter(N=>!!N);return Array.from(new Set(k))}),x=k=>{E.value=Array.isArray(k)?k.length:0},P=(k=!1)=>{m.value=!1,f.value={},k===!0&&j()},j=()=>{var k;return(k=d.value)==null?void 0:k.refreshTable()},H=async()=>{var k;return await((k=d.value)==null?void 0:k.initData())},C=()=>{var k;return(k=I.value)==null?void 0:k.initData()},D=async(k,N)=>{let R=N;n.dataSource.beforeAction&&(R=await n.dataSource.beforeAction(k,N)),y(k,R)},y=(k,N)=>{if(typeof k.action=="function"){k.action(N);return}const U={update:()=>_(k,N),delete:()=>T(k,N),batchDelete:()=>z(),create:()=>V(k,N),view:()=>S(k,N),filter:()=>$(),back:()=>J()}[k.action];U?U():c("actionEvent",k,N)},_=async(k,N)=>{n.dataSource.beforeUpdate&&await n.dataSource.beforeUpdate(N)===!1||(f.value=N,B.value=k,m.value=!0)},T=async(k,N)=>{var R,U,G;try{if(n.dataSource.beforeDelete&&await n.dataSource.beforeDelete(N)===!1)return;const Z=N[n.dataSource.rowKey];if(!Z){l==null||l.$modal.msgError("rowKey参数不正确");return}const te=k.confirm||k.confirmText||"確認刪除此數據嗎?";await(l==null?void 0:l.$modal.confirm(te)),await((U=(R=n.dataSource).deleteApi)==null?void 0:U.call(R,Z)),l==null||l.$modal.msgSuccess("刪除成功"),(G=d.value)==null||G.refreshTable()}catch(Z){Z!=="cancel"&&console.error("Delete failed:",Z)}},z=async()=>{var R,U,G,Z,te;if(!n.dataSource.deleteApi){l==null||l.$modal.msgError("deleteApi 方法未設置");return}const k=((U=(R=d.value)==null?void 0:R.getSelection)==null?void 0:U.call(R))??[];if(!k.length){l==null||l.$modal.msgWarning("請先勾選要刪除的數據");return}await(l==null?void 0:l.$modal.confirm(`確認刪除選中的 ${k.length} 條數據嗎?`));const N=[];for(const X of k){if(n.dataSource.beforeDelete&&await n.dataSource.beforeDelete(X)===!1)continue;const ee=X[n.dataSource.rowKey];ee!=null&&N.push(ee)}N.length&&(await((Z=(G=n.dataSource).deleteApi)==null?void 0:Z.call(G,N)),l==null||l.$modal.msgSuccess("刪除成功"),(te=d.value)==null||te.refreshTable())},V=async(k,N)=>{n.dataSource.beforeCreate&&await n.dataSource.beforeCreate(N||{})===!1||(f.value=N||{},B.value=k,m.value=!0)},i=async(k={})=>{const N=k&&(Object.prototype.hasOwnProperty.call(k,"data")||Object.prototype.hasOwnProperty.call(k,"title")||Object.prototype.hasOwnProperty.call(k,"text")||Object.prototype.hasOwnProperty.call(k,"width")||Object.prototype.hasOwnProperty.call(k,"labelWidth")||Object.prototype.hasOwnProperty.call(k,"labelPosition")),R=N?k.data||{}:k||{},U={action:"create",...N?{title:k.title,text:k.text,width:k.width,labelWidth:k.labelWidth,labelPosition:k.labelPosition}:{}};await V(U,R)},S=(k,N)=>{let R=k.url;const U=k.pm;if(U&&N[U]){const G=R.includes("?")?"&":"?";R+=`${G}${U}=${N[U]}`}l==null||l.$router.push(R)},$=()=>{var N,R;const k=(N=I.value)==null?void 0:N.getQueryParams();(R=d.value)==null||R.refreshTable(k||{})},F=()=>{var k;return(k=I.value)==null?void 0:k.getQueryParams()},Y=()=>{var k;return(k=d.value)==null?void 0:k.getSelection()},J=()=>l==null?void 0:l.$router.back();return e.onMounted(()=>mt(n.dataSource.columns)),o({refreshTable:j,initSearch:C,initTable:H,openCreate:i,getQueryParams:F,getSelection:Y}),(k,N)=>{const R=b.ElCard;return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass({"p-3":k.showPadding})},[e.createVNode(ll,{dataSource:n.dataSource,selectedCount:e.unref(E),ref_key:"curdSearchRef",ref:I,onActionEvent:D},null,8,["dataSource","selectedCount"]),k.showCard?(e.openBlock(),e.createBlock(R,{key:0,"body-style":{paddingBottom:n.dataSource.paging===!1?"20px":"0px"},shadow:"hover"},{default:e.withCtx(()=>[e.createVNode(Oe,{ref_key:"curdTableRef",ref:d,onActionEvent:D,onSelectionChange:x,dataSource:n.dataSource,maxHeight:e.unref(p)},e.createSlots({_:2},[e.renderList(e.unref(L),U=>({name:U,fn:e.withCtx(G=>[e.renderSlot(k.$slots,U,e.normalizeProps(e.guardReactiveProps(G)))])}))]),1032,["dataSource","maxHeight"]),e.createVNode(Re,{onClose:P,modelValue:e.unref(m),"onUpdate:modelValue":N[0]||(N[0]=U=>e.isRef(m)?m.value=U:null),dataSource:n.dataSource,action:e.unref(B),editData:e.unref(f)},null,8,["modelValue","dataSource","action","editData"])]),_:3},8,["body-style"])):(e.openBlock(),e.createElementBlock("div",al,[e.createVNode(Oe,{ref_key:"curdTableRef",ref:d,onActionEvent:D,onSelectionChange:x,dataSource:n.dataSource,maxHeight:e.unref(p)},e.createSlots({_:2},[e.renderList(e.unref(L),U=>({name:U,fn:e.withCtx(G=>[e.renderSlot(k.$slots,U,e.normalizeProps(e.guardReactiveProps(G)))])}))]),1032,["dataSource","maxHeight"]),e.createVNode(Re,{onClose:P,modelValue:e.unref(m),"onUpdate:modelValue":N[1]||(N[1]=U=>e.isRef(m)?m.value=U:null),dataSource:n.dataSource,action:e.unref(B),editData:e.unref(f)},null,8,["modelValue","dataSource","action","editData"])]))],2)}}});let je=()=>!0,He=()=>!0;const qe=t=>{t.hasPermi&&(je=t.hasPermi),t.hasRoles&&(He=t.hasRoles)},ol={mounted(t,o){var l;const{value:a}=o;a!=null&&Array.isArray(a)&&a.length>0&&(je(a)||(l=t.parentNode)==null||l.removeChild(t))}},rl={mounted(t,o){var l;const{value:a}=o;a!=null&&Array.isArray(a)&&a.length>0&&(He(a)||(l=t.parentNode)==null||l.removeChild(t))}},Ke={401:"认证失败,无法访问系统资源",403:"当前操作没有权限",404:"访问资源不存在",default:"系统未知错误,请反馈给管理员"};function We(t,o,a){const l=b.ElLoading.service({text:"正在下載數據,請稍後",background:"rgba(0, 0, 0, 0.7)"});return oe().post(t,o,{transformRequest:[c=>Gt(c)],headers:{"Content-Type":"application/x-www-form-urlencoded"},responseType:"blob"}).then(async c=>{if(Jt(c)){const p=new Blob([c]);lt.saveAs(p,a)}else{const p=await new Blob([c]).text(),m=JSON.parse(p),f=Ke[m.code]||m.msg||Ke.default;b.ElMessage.error(f)}l.close()}).catch(c=>{console.error(c),b.ElMessage.error("下载文件出现错误,请联系管理员!"),l.close()})}let Qe;const nl={msg(t){b.ElMessage.info(t)},msgError(t){b.ElMessage.error(t)},msgSuccess(t){b.ElMessage.success(t)},msgWarning(t){b.ElMessage.warning(t)},alert(t){b.ElMessageBox.alert(t,"系統提示")},alertError(t){b.ElMessageBox.alert(t,"系統提示",{type:"error"})},alertSuccess(t){b.ElMessageBox.alert(t,"系統提示",{type:"success"})},alertWarning(t){b.ElMessageBox.alert(t,"系統提示",{type:"warning"})},notify(t){b.ElNotification.info(t)},notifyError(t){b.ElNotification.error(t)},notifySuccess(t){b.ElNotification.success(t)},notifyWarning(t){b.ElNotification.warning(t)},confirm(t){return b.ElMessageBox.confirm(t,"系統提示",{confirmButtonText:"確認",cancelButtonText:"取消",type:"warning"})},prompt(t,o,a=""){return b.ElMessageBox.prompt(t,o||"系統提示",{confirmButtonText:"確認",cancelButtonText:"取消",type:"warning",inputType:a,inputPlaceholder:t})},loading(t){Qe=b.ElLoading.service({lock:!0,text:t,background:"rgba(0, 0, 0, 0.7)"})},closeLoading(){Qe.close()}};function Ge(t){return oe()({url:"/system/dict/data/type/"+t,method:"get"})}function Je(t){return oe()({url:"/system/common/dict/data/type/"+t,method:"get"})}const re=Ee.defineStore("dict",()=>{const t=e.ref(new Map);return{dict:t,getDict:n=>n&&t.value.get(n)||null,setDict:(n,p)=>{if(!n)return!1;try{return t.value.set(n,p),!0}catch(m){return console.error("Error in setDict:",m),!1}},removeDict:n=>{if(!n)return!1;try{return t.value.delete(n)}catch(p){return console.error("Error in removeDict:",p),!1}},cleanDict:()=>{t.value.clear()}}}),cl=(...t)=>{const o=e.ref({});return t.forEach(async a=>{o.value[a]=[];const l=re().getDict(a);l?o.value[a]=l:await Ge(a).then(c=>{o.value[a]=c.data.map(n=>({label:n.dictLabel,value:n.dictValue,elTagType:n.listClass,elTagClass:n.cssClass})),re().setDict(a,o.value[a])})}),o.value},sl=async t=>{const o=re().getDict(t);if(o&&o.length>0)return o;{const l=(await Ge(t)).data.map(c=>({label:c.dictLabel,value:c.dictValue,elTagType:c.listClass,elTagClass:c.cssClass,remark:c.remark}));return re().setDict(t,l),l}},il=(...t)=>{const o=e.ref({});return t.forEach(async a=>{o.value[a]=[];const l=re().getDict(a);l&&l.length>0?o.value[a]=l:await Je(a).then(c=>{o.value[a]=c.data.map(n=>({label:n.dictLabel,value:n.dictValue,elTagType:n.listClass,elTagClass:n.cssClass,remark:n.remark})),re().setDict(a,o.value[a])})}),o.value},dl=async t=>{const o=re().getDict(t);if(o&&o.length>0)return o;{const l=(await Je(t)).data.map(c=>({label:c.dictLabel,value:c.dictValue,elTagType:c.listClass,elTagClass:c.cssClass}));return re().setDict(t,l),l}},pl={beforeMount(t,{value:o,arg:a}){if(a==="callback")t.$copyCallback=o;else{t.$copyValue=o;const l=()=>{fl(t.$copyValue),t.$copyCallback&&t.$copyCallback(t.$copyValue)};t.addEventListener("click",l),t.$destroyCopy=()=>t.removeEventListener("click",l)}}};function fl(t,{target:o=document.body}={}){const a=document.createElement("textarea"),l=document.activeElement;a.value=t,a.setAttribute("readonly",""),a.style.contain="strict",a.style.position="absolute",a.style.left="-9999px",a.style.fontSize="12pt";const c=document.getSelection();let n;c&&(n=(c==null?void 0:c.rangeCount)>0&&c.getRangeAt(0)),o.append(a),a.select(),a.selectionStart=0,a.selectionEnd=t.length;let p=!1;try{p=document.execCommand("copy")}catch(m){console.error(m)}return a.remove(),n&&(c==null||c.removeAllRanges(),c==null||c.addRange(n)),l&&l.focus(),p}const ul={Curd:Ye,DictTag:me,SvgIcon:ce,OssImagePreview:ge,OssFile:ke,Editor:Se,TranslateInput:Ce,ImageUpload:Ve,FileUpload:we},Xe=(t,o={})=>{o.baseUrl!=null&&Ne(o.baseUrl),o.request&&Te(o.request),o.globalHeaders&&xe(o.globalHeaders),(o.hasPermi||o.hasRoles)&&qe(o);for(const[l,c]of Object.entries(ul))t.component(l,c);const a=t.config.globalProperties;a.$modal=nl,a.download=We,a.useDict=cl,a.useOneDict=sl,a.useOneCommonDict=dl,a.useCommonDict=il,a.parseTime=Ht,a.addDateRange=qt,a.handleTree=Qt,a.selectDictLabel=Kt,a.selectDictLabels=Wt,t.directive("hasPermi",ol),t.directive("hasRoles",rl),t.directive("copyText",pl)},ml={install:Xe};M.Curd=Ye,M.DictTag=me,M.Editor=Se,M.FileUpload=we,M.ImageUpload=Ve,M.OssFile=ke,M.OssImagePreview=ge,M.SvgIcon=ce,M.TranslateInput=Ce,M.default=ml,M.download=We,M.getBaseUrl=de,M.getGlobalHeaders=ie,M.getRequest=oe,M.install=Xe,M.setBaseUrl=Ne,M.setGlobalHeaders=xe,M.setPermissionChecker=qe,M.setRequest=Te,Object.defineProperties(M,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
2
+ //# sourceMappingURL=vue3-curd.umd.js.map