znyg-frontend-common 1.1.11 → 1.1.12

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,16 +1,16 @@
1
- import{defineComponent as e,computed as i,resolveComponent as l,createElementBlock as t,openBlock as n,createCommentVNode as o,createBlock as r,Fragment as a,renderList as d,withCtx as u,createTextVNode as s,toDisplayString as m,createVNode as p,unref as c,withDirectives as f,resolveDynamicComponent as v,vShow as y}from"vue";import{ArrowDown as b}from"@element-plus/icons-vue";import{useLocalStorage as h}from"@vueuse/core";var g=Object.defineProperty,w=(e,i)=>g(e,"name",{value:i,configurable:!0});const k={class:"operation-btns",style:{display:"flex","align-items":"center","justify-content":"center"}};var x=e({__name:"index",props:{btns:{type:Array,required:!1},maxCount:{type:Number,required:!1,default:3},moreText:{type:String,required:!1,default:"更多"},minWidth:{type:String,required:!1,default:"120px"},row:{required:!1},index:{type:Number,required:!1}},emits:["btnClick"],setup(e,{emit:g}){const x=e,C=g,_=h("znyg",{dictMap:{},privileges:[]}),z=i((()=>x.row||{})),q=i((()=>x.index)),B=i((()=>(x.btns||[]).filter((e=>T(e))))),S=i((()=>B.value.slice(0,x.maxCount))),j=i((()=>B.value.slice(x.maxCount))),N=i((()=>j.value.length>0)),T=w((e=>{let i=!0;if(void 0!==e.show&&null!==e.show&&("boolean"==typeof e.show?i=e.show:"function"==typeof e.show&&(i=e.show(z.value))),!i)return!1;if(e.privilege){if(!(_.value?.privileges||[]).some((i=>i.code===e.privilege)))return!1}return!0}),"shouldShowBtn"),W=w((e=>"function"==typeof e.label?e.label(z.value):e.label),"getBtnLabel"),A=w((e=>{C("btnClick",e.name,z.value,e,q.value)}),"handleBtnClick"),D=w((e=>{C("btnClick",e.name,z.value,e,q.value)}),"handleDropdownCommand");return(e,i)=>{const h=l("el-button"),g=l("el-icon"),C=l("el-dropdown-item"),_=l("el-dropdown-menu"),z=l("el-dropdown");return n(),t("div",k,[o(" 直接显示的按钮 "),(n(!0),t(a,null,d(S.value,((e,i)=>(n(),t(a,{key:e.name},[T(e)?(n(),r(h,{key:0,type:e.type||"primary",size:e.size||"small",disabled:e.disabled,icon:e.icon,link:"",onClick:w((i=>A(e)),"onClick")},{default:u((()=>[s(m(W(e)),1
1
+ import{defineComponent as e,computed as l,resolveComponent as i,createElementBlock as n,openBlock as t,createCommentVNode as o,createBlock as a,Fragment as r,renderList as u,withCtx as d,createTextVNode as s,toDisplayString as m,createVNode as c,unref as p,withDirectives as f,resolveDynamicComponent as v,vShow as y}from"vue";import{ArrowDown as b}from"@element-plus/icons-vue";import{useLocalStorage as k}from"@vueuse/core";var h=Object.defineProperty,C=(e,l)=>h(e,"name",{value:l,configurable:!0});const g={class:"operation-btns",style:{display:"flex","align-items":"center","justify-content":"center"}};var w=e({__name:"index",props:{btns:{type:Array,required:!1},maxCount:{type:Number,required:!1,default:3},moreText:{type:String,required:!1,default:"更多"},minWidth:{type:String,required:!1,default:"120px"},row:{required:!1},index:{type:Number,required:!1}},emits:["btnClick"],setup(e,{emit:h}){const w=e,x=h,_=k("znyg",{dictMap:{},privileges:[]}),z=l((()=>w.row||{})),q=l((()=>w.index)),B=l((()=>(w.btns||[]).filter((e=>T(e))))),S=l((()=>B.value.slice(0,w.maxCount))),j=l((()=>B.value.slice(w.maxCount))),N=l((()=>j.value.length>0)),T=C((e=>{let l=!0;if(void 0!==e.show&&null!==e.show&&("boolean"==typeof e.show?l=e.show:"function"==typeof e.show&&(l=e.show(z.value))),!l)return!1;if(e.privilege){if(!(_.value?.privileges||[]).some((l=>l.code===e.privilege)))return!1}return!0}),"shouldShowBtn"),W=C((e=>"function"==typeof e.label?e.label(z.value):e.label),"getBtnLabel"),A=C((e=>{e.onClick&&"function"==typeof e.onClick&&e.onClick(z.value,e,q.value),x("btnClick",e.name,z.value,e,q.value)}),"handleBtnClick"),D=C((e=>{e.onClick&&"function"==typeof e.onClick&&e.onClick(z.value,e,q.value),x("btnClick",e.name,z.value,e,q.value)}),"handleDropdownCommand");return(e,l)=>{const k=i("el-button"),h=i("el-icon"),x=i("el-dropdown-item"),_=i("el-dropdown-menu"),z=i("el-dropdown");return t(),n("div",g,[o(" 直接显示的按钮 "),(t(!0),n(r,null,u(S.value,((e,l)=>(t(),n(r,{key:e.name},[T(e)?(t(),a(k,{key:0,type:e.type||"primary",size:e.size||"small",disabled:e.disabled,icon:e.icon,link:"",onClick:C((l=>A(e)),"onClick")},{default:d((()=>[s(m(W(e)),1
2
2
  /* TEXT */)])),_:2
3
3
  /* DYNAMIC */},1032,["type","size","disabled","icon","onClick"])):o("v-if",!0)],64
4
4
  /* STABLE_FRAGMENT */)))),128
5
- /* KEYED_FRAGMENT */)),o(" 更多按钮下拉菜单 "),N.value?(n(),r(z,{key:0,style:{"margin-left":"8px"},trigger:"hover","min-width":x.minWidth||"120px",onCommand:D},{dropdown:u((()=>[p(_,null,{default:u((()=>[(n(!0),t(a,null,d(j.value,(e=>f((n(),r(C,{key:e.name,command:e,disabled:e.disabled},{default:u((()=>[e.icon?(n(),r(g,{key:0,style:{"margin-right":"5px"}},{default:u((()=>[(n(),r(v(e.icon)))])),_:2
5
+ /* KEYED_FRAGMENT */)),o(" 更多按钮下拉菜单 "),N.value?(t(),a(z,{key:0,style:{"margin-left":"8px"},trigger:"hover","min-width":w.minWidth||"120px",onCommand:D},{dropdown:d((()=>[c(_,null,{default:d((()=>[(t(!0),n(r,null,u(j.value,(e=>f((t(),a(x,{key:e.name,command:e,disabled:e.disabled},{default:d((()=>[e.icon?(t(),a(h,{key:0,style:{"margin-right":"5px"}},{default:d((()=>[(t(),a(v(e.icon)))])),_:2
6
6
  /* DYNAMIC */},1024
7
7
  /* DYNAMIC_SLOTS */)):o("v-if",!0),s(" "+m(W(e)),1
8
8
  /* TEXT */)])),_:2
9
9
  /* DYNAMIC */},1032,["command","disabled"])),[[y,T(e)]]))),128
10
10
  /* KEYED_FRAGMENT */))])),_:1
11
- /* STABLE */})])),default:u((()=>[p(h,{type:"primary",size:x.size||"small",link:""},{default:u((()=>[s(m(x.moreText||"更多")+" ",1
12
- /* TEXT */),p(g,{class:"el-icon--right"},{default:u((()=>[p(c(b))])),_:1
11
+ /* STABLE */})])),default:d((()=>[c(k,{type:"primary",size:w.size||"small",link:""},{default:d((()=>[s(m(w.moreText||"更多")+" ",1
12
+ /* TEXT */),c(h,{class:"el-icon--right"},{default:d((()=>[c(p(b))])),_:1
13
13
  /* STABLE */})])),_:1
14
14
  /* STABLE */},8,["size"])])),_:1
15
- /* STABLE */},8,["min-width"])):o("v-if",!0)])}}});export{x as default};
15
+ /* STABLE */},8,["min-width"])):o("v-if",!0)])}}});export{w as default};
16
16
  //# sourceMappingURL=index.vue2.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.vue2.mjs","sources":["../../../../../../../../packages/components/znTable/src/components/OperationBtns/index.vue"],"sourcesContent":["<template>\n <div class=\"operation-btns\" style=\"display: flex; align-items: center; justify-content: center\">\n <!-- 直接显示的按钮 -->\n <template v-for=\"(btn, index) in visibleBtns\" :key=\"btn.name\">\n <el-button\n v-if=\"shouldShowBtn(btn)\"\n :type=\"btn.type || 'primary'\"\n :size=\"btn.size || 'small'\"\n :disabled=\"btn.disabled\"\n :icon=\"btn.icon\"\n link\n @click=\"handleBtnClick(btn)\">\n {{ getBtnLabel(btn) }}\n </el-button>\n </template>\n\n <!-- 更多按钮下拉菜单 -->\n <el-dropdown v-if=\"hasMoreBtns\" style=\"margin-left: 8px\" trigger=\"hover\" :min-width=\"props.minWidth || '120px'\" @command=\"handleDropdownCommand\">\n <el-button type=\"primary\" :size=\"props.size || 'small'\" link>\n {{ props.moreText || '更多' }}\n <el-icon class=\"el-icon--right\">\n <ArrowDown />\n </el-icon>\n </el-button>\n <template #dropdown>\n <el-dropdown-menu>\n <el-dropdown-item v-for=\"btn in moreBtns\" :key=\"btn.name\" :command=\"btn\" :disabled=\"btn.disabled\" v-show=\"shouldShowBtn(btn)\">\n <el-icon v-if=\"btn.icon\" style=\"margin-right: 5px\">\n <component :is=\"btn.icon\" />\n </el-icon>\n {{ getBtnLabel(btn) }}\n </el-dropdown-item>\n </el-dropdown-menu>\n </template>\n </el-dropdown>\n </div>\n</template>\n\n<script setup lang=\"ts\" name=\"OperationBtns\">\n import { computed, inject } from 'vue'\n import { ArrowDown } from '@element-plus/icons-vue'\n import type { OperationBtnProps } from '../../interface'\n import { useLocalStorage } from '@vueuse/core'\n\n interface Props {\n /** 操作按钮配置 */\n btns?: OperationBtnProps[]\n /** 最大显示按钮数量,默认为3 */\n maxCount?: number\n /** 更多按钮文本 */\n moreText?: string\n /** 下拉菜单最小宽度 */\n minWidth?: string\n [key: string]: any\n row?: any,\n index?: number\n }\n\n const props = defineProps({\n btns: { type: Array, required: false },\n maxCount: { type: Number, required: false, default: 3 },\n moreText: { type: String, required: false, default: '更多' },\n minWidth: { type: String, required: false, default: '120px' },\n row: { required: false },\n index: { type: Number, required: false }\n})\n\n const emit = defineEmits([\"btnClick\"])\n\n // 获取权限数据\n const znygStore = useLocalStorage('znyg', { dictMap: {}, privileges: [] })\n\n // 获取当前行数据的注入,用于按钮显示逻辑判断\n const currentRow = computed(() => props.row || {})\n\n // 获取当前行索引\n const currentIndex = computed(() => props.index)\n\n // 过滤出需要显示的按钮\n const availableBtns = computed(() => {\n return (props.btns || []).filter((btn) => shouldShowBtn(btn))\n })\n\n // 直接显示的按钮\n const visibleBtns = computed(() => {\n return availableBtns.value.slice(0, props.maxCount)\n })\n\n // 更多菜单中的按钮\n const moreBtns = computed(() => {\n return availableBtns.value.slice(props.maxCount)\n })\n\n // 是否有更多按钮\n const hasMoreBtns = computed(() => {\n return moreBtns.value.length > 0\n })\n\n // 判断按钮是否应该显示\n const shouldShowBtn = (btn: OperationBtnProps): boolean => {\n // 首先检查 show 属性\n let showResult = true\n if (btn.show !== undefined && btn.show !== null) {\n if (typeof btn.show === 'boolean') {\n showResult = btn.show\n } else if (typeof btn.show === 'function') {\n showResult = btn.show(currentRow.value)\n }\n }\n\n // 如果 show 为 false,直接返回 false\n if (!showResult) return false\n\n // 检查权限\n if (btn.privilege) {\n // 从 znygStore 中获取权限列表\n const privileges = znygStore.value?.privileges || []\n\n // 检查权限列表中是否存在code为 btn.privilege 的权限\n const hasPrivilege = privileges.some((privilege: any) => {\n // 只判断 code 字段\n return privilege.code === btn.privilege\n })\n\n // 只有当权限存在时才显示按钮\n if (!hasPrivilege) return false\n }\n\n return true\n }\n\n // 获取按钮标签\n const getBtnLabel = (btn: OperationBtnProps): string => {\n if (typeof btn.label === 'function') return btn.label(currentRow.value)\n return btn.label\n }\n\n // 处理按钮点击事件\n const handleBtnClick = (btn: OperationBtnProps) => {\n emit('btnClick', btn.name, currentRow.value, btn, currentIndex.value)\n }\n\n // 处理下拉菜单点击事件\n const handleDropdownCommand = (btn: OperationBtnProps) => {\n emit('btnClick', btn.name, currentRow.value, btn, currentIndex.value)\n }\n</script>\n"],"names":["props","__props","emit","__emit","znygStore","useLocalStorage","dictMap","privileges","currentRow","computed","row","currentIndex","index","availableBtns","btns","filter","btn","shouldShowBtn","visibleBtns","value","slice","maxCount","moreBtns","hasMoreBtns","length","showResult","show","privilege","some","code","getBtnLabel","label","handleBtnClick","name","handleDropdownCommand"],"mappings":"o4BA0DE,MAAMA,EAAQC,EASRC,EAAOC,EAGPC,EAAYC,EAAgB,OAAQ,CAAEC,QAAS,GAAIC,WAAY,KAG/DC,EAAaC,GAAS,IAAMT,EAAMU,KAAO,CAAA,IAGzCC,EAAeF,GAAS,IAAMT,EAAMY,QAGpCC,EAAgBJ,GAAS,KACrBT,EAAMc,MAAQ,IAAIC,QAAQC,GAAQC,EAAcD,OAIpDE,EAAcT,GAAS,IACpBI,EAAcM,MAAMC,MAAM,EAAGpB,EAAMqB,YAItCC,EAAWb,GAAS,IACjBI,EAAcM,MAAMC,MAAMpB,EAAMqB,YAInCE,EAAcd,GAAS,IACpBa,EAASH,MAAMK,OAAS,IAI3BP,KAAiBD,IAErB,IAAIS,GAAa,EAUb,QATa,IAAbT,EAAIU,MAAmC,OAAbV,EAAIU,OACR,kBAAbV,EAAIU,KACbD,EAAaT,EAAIU,KACY,mBAAbV,EAAIU,OACPD,EAAAT,EAAIU,KAAKlB,EAAWW,UAKhCM,EAAmB,OAAA,EAGxB,GAAIT,EAAIW,UAAW,CAWb,KATevB,EAAUe,OAAOZ,YAAc,IAGlBqB,MAAMD,GAE7BA,EAAUE,OAASb,EAAIW,YAIN,OAAA,CAAA,CAGrB,OAAA,CAAA,GA7Ba,iBAiChBG,KAAed,GACM,mBAAdA,EAAIe,MAA6Bf,EAAIe,MAAMvB,EAAWW,OAC1DH,EAAIe,OAFO,eAMdC,KAAkBhB,IACtBd,EAAK,WAAYc,EAAIiB,KAAMzB,EAAWW,MAAOH,EAAKL,EAAaQ,MAAK,GAD/C,kBAKjBe,KAAyBlB,IAC7Bd,EAAK,WAAYc,EAAIiB,KAAMzB,EAAWW,MAAOH,EAAKL,EAAaQ,MAAK,GADxC;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.vue2.mjs","sources":["../../../../../../../../packages/components/znTable/src/components/OperationBtns/index.vue"],"sourcesContent":["<template>\n <div class=\"operation-btns\" style=\"display: flex; align-items: center; justify-content: center\">\n <!-- 直接显示的按钮 -->\n <template v-for=\"(btn, index) in visibleBtns\" :key=\"btn.name\">\n <el-button\n v-if=\"shouldShowBtn(btn)\"\n :type=\"btn.type || 'primary'\"\n :size=\"btn.size || 'small'\"\n :disabled=\"btn.disabled\"\n :icon=\"btn.icon\"\n link\n @click=\"handleBtnClick(btn)\">\n {{ getBtnLabel(btn) }}\n </el-button>\n </template>\n\n <!-- 更多按钮下拉菜单 -->\n <el-dropdown v-if=\"hasMoreBtns\" style=\"margin-left: 8px\" trigger=\"hover\" :min-width=\"props.minWidth || '120px'\" @command=\"handleDropdownCommand\">\n <el-button type=\"primary\" :size=\"props.size || 'small'\" link>\n {{ props.moreText || '更多' }}\n <el-icon class=\"el-icon--right\">\n <ArrowDown />\n </el-icon>\n </el-button>\n <template #dropdown>\n <el-dropdown-menu>\n <el-dropdown-item v-for=\"btn in moreBtns\" :key=\"btn.name\" :command=\"btn\" :disabled=\"btn.disabled\" v-show=\"shouldShowBtn(btn)\">\n <el-icon v-if=\"btn.icon\" style=\"margin-right: 5px\">\n <component :is=\"btn.icon\" />\n </el-icon>\n {{ getBtnLabel(btn) }}\n </el-dropdown-item>\n </el-dropdown-menu>\n </template>\n </el-dropdown>\n </div>\n</template>\n\n<script setup lang=\"ts\" name=\"OperationBtns\">\n import { computed, inject } from 'vue'\n import { ArrowDown } from '@element-plus/icons-vue'\n import type { OperationBtnProps } from '../../interface'\n import { useLocalStorage } from '@vueuse/core'\n\n interface Props {\n /** 操作按钮配置 */\n btns?: OperationBtnProps[]\n /** 最大显示按钮数量,默认为3 */\n maxCount?: number\n /** 更多按钮文本 */\n moreText?: string\n /** 下拉菜单最小宽度 */\n minWidth?: string\n [key: string]: any\n row?: any,\n index?: number\n }\n\n const props = defineProps({\n btns: { type: Array, required: false },\n maxCount: { type: Number, required: false, default: 3 },\n moreText: { type: String, required: false, default: '更多' },\n minWidth: { type: String, required: false, default: '120px' },\n row: { required: false },\n index: { type: Number, required: false }\n})\n\n const emit = defineEmits([\"btnClick\"])\n\n // 获取权限数据\n const znygStore = useLocalStorage('znyg', { dictMap: {}, privileges: [] })\n\n // 获取当前行数据的注入,用于按钮显示逻辑判断\n const currentRow = computed(() => props.row || {})\n\n // 获取当前行索引\n const currentIndex = computed(() => props.index)\n\n // 过滤出需要显示的按钮\n const availableBtns = computed(() => {\n return (props.btns || []).filter((btn) => shouldShowBtn(btn))\n })\n\n // 直接显示的按钮\n const visibleBtns = computed(() => {\n return availableBtns.value.slice(0, props.maxCount)\n })\n\n // 更多菜单中的按钮\n const moreBtns = computed(() => {\n return availableBtns.value.slice(props.maxCount)\n })\n\n // 是否有更多按钮\n const hasMoreBtns = computed(() => {\n return moreBtns.value.length > 0\n })\n\n // 判断按钮是否应该显示\n const shouldShowBtn = (btn: OperationBtnProps): boolean => {\n // 首先检查 show 属性\n let showResult = true\n if (btn.show !== undefined && btn.show !== null) {\n if (typeof btn.show === 'boolean') {\n showResult = btn.show\n } else if (typeof btn.show === 'function') {\n showResult = btn.show(currentRow.value)\n }\n }\n\n // 如果 show 为 false,直接返回 false\n if (!showResult) return false\n\n // 检查权限\n if (btn.privilege) {\n // 从 znygStore 中获取权限列表\n const privileges = znygStore.value?.privileges || []\n\n // 检查权限列表中是否存在code为 btn.privilege 的权限\n const hasPrivilege = privileges.some((privilege: any) => {\n // 只判断 code 字段\n return privilege.code === btn.privilege\n })\n\n // 只有当权限存在时才显示按钮\n if (!hasPrivilege) return false\n }\n\n return true\n }\n\n // 获取按钮标签\n const getBtnLabel = (btn: OperationBtnProps): string => {\n if (typeof btn.label === 'function') return btn.label(currentRow.value)\n return btn.label\n }\n\n // 处理按钮点击事件\n const handleBtnClick = (btn: OperationBtnProps) => {\n // 如果配置了 onClick 事件,优先执行\n if (btn.onClick && typeof btn.onClick === 'function') {\n btn.onClick(currentRow.value, btn, currentIndex.value)\n }\n\n // 保持原有逻辑:触发 emit 事件\n emit('btnClick', btn.name, currentRow.value, btn, currentIndex.value)\n }\n\n // 处理下拉菜单点击事件\n const handleDropdownCommand = (btn: OperationBtnProps) => {\n // 如果配置了 onClick 事件,优先执行\n if (btn.onClick && typeof btn.onClick === 'function') {\n btn.onClick(currentRow.value, btn, currentIndex.value)\n }\n\n // 保持原有逻辑:触发 emit 事件\n emit('btnClick', btn.name, currentRow.value, btn, currentIndex.value)\n }\n</script>\n"],"names":["props","__props","emit","__emit","znygStore","useLocalStorage","dictMap","privileges","currentRow","computed","row","currentIndex","index","availableBtns","btns","filter","btn","shouldShowBtn","visibleBtns","value","slice","maxCount","moreBtns","hasMoreBtns","length","showResult","show","privilege","some","code","getBtnLabel","label","handleBtnClick","onClick","name","handleDropdownCommand"],"mappings":"o4BA0DE,MAAMA,EAAQC,EASRC,EAAOC,EAGPC,EAAYC,EAAgB,OAAQ,CAAEC,QAAS,GAAIC,WAAY,KAG/DC,EAAaC,GAAS,IAAMT,EAAMU,KAAO,CAAA,IAGzCC,EAAeF,GAAS,IAAMT,EAAMY,QAGpCC,EAAgBJ,GAAS,KACrBT,EAAMc,MAAQ,IAAIC,QAAQC,GAAQC,EAAcD,OAIpDE,EAAcT,GAAS,IACpBI,EAAcM,MAAMC,MAAM,EAAGpB,EAAMqB,YAItCC,EAAWb,GAAS,IACjBI,EAAcM,MAAMC,MAAMpB,EAAMqB,YAInCE,EAAcd,GAAS,IACpBa,EAASH,MAAMK,OAAS,IAI3BP,KAAiBD,IAErB,IAAIS,GAAa,EAUb,QATa,IAAbT,EAAIU,MAAmC,OAAbV,EAAIU,OACR,kBAAbV,EAAIU,KACbD,EAAaT,EAAIU,KACY,mBAAbV,EAAIU,OACPD,EAAAT,EAAIU,KAAKlB,EAAWW,UAKhCM,EAAmB,OAAA,EAGxB,GAAIT,EAAIW,UAAW,CAWb,KATevB,EAAUe,OAAOZ,YAAc,IAGlBqB,MAAMD,GAE7BA,EAAUE,OAASb,EAAIW,YAIN,OAAA,CAAA,CAGrB,OAAA,CAAA,GA7Ba,iBAiChBG,KAAed,GACM,mBAAdA,EAAIe,MAA6Bf,EAAIe,MAAMvB,EAAWW,OAC1DH,EAAIe,OAFO,eAMdC,KAAkBhB,IAElBA,EAAIiB,SAAkC,mBAAhBjB,EAAIiB,SAC5BjB,EAAIiB,QAAQzB,EAAWW,MAAOH,EAAKL,EAAaQ,OAIlDjB,EAAK,WAAYc,EAAIkB,KAAM1B,EAAWW,MAAOH,EAAKL,EAAaQ,MAAK,GAP/C,kBAWjBgB,KAAyBnB,IAEzBA,EAAIiB,SAAkC,mBAAhBjB,EAAIiB,SAC5BjB,EAAIiB,QAAQzB,EAAWW,MAAOH,EAAKL,EAAaQ,OAIlDjB,EAAK,WAAYc,EAAIkB,KAAM1B,EAAWW,MAAOH,EAAKL,EAAaQ,MAAK,GAPxC;;;;;;;;;;;;;;"}
package/es/index.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import o from"./installer.mjs";export{install}from"./installer.mjs";import"./functions/index.mjs";import"./hooks/index.mjs";export{copyText,formatValue,treeListUtil,treeToList}from"./utils/index.mjs";import"./directives/index.mjs";import"./components/index.mjs";import e from"./functions/modules/log.mjs";export{useDialogV2}from"./hooks/useDialogV2/index.mjs";export{useDrawerV2}from"./hooks/useDrawerV2/index.mjs";export{closeAllDrawers}from"./hooks/useDrawerV2/src/index.mjs";export{closePopWindowById,closePopWindowByTag,getAllPopWindows,showPopWindow}from"./hooks/usePopWindow/src/index.mjs";export{usePopWindow}from"./hooks/usePopWindow/index.mjs";export{closePopWindowByIdV2,closePopWindowByTagV2,getAllPopWindowsV2,showPopWindowV2}from"./hooks/usePopWindowV2/src/index.mjs";export{usePopWindowV2}from"./hooks/usePopWindowV2/index.mjs";export{useDialog}from"./hooks/useDialog/index.mjs";export{default as ImageViewer}from"./hooks/useImageViewer/src/index.vue2.mjs";export{useImageViewer}from"./hooks/useImageViewer/index.mjs";export{useDrawer}from"./hooks/useDrawer/index.mjs";export{withInstall,withInstallDirectives}from"./utils/install.mjs";export{default as vCopy}from"./directives/modules/copy.mjs";export{default as vDrag}from"./directives/modules/drag.mjs";export{default as vAutoScroll}from"./directives/modules/autoScroll.mjs";export{default as vTooltip}from"./directives/modules/tooltip.mjs";export{default as vConfirm}from"./directives/modules/confirm.mjs";export{default as vCountTo}from"./directives/modules/countTo.mjs";export{default as utils}from"./functions/modules/uitls.mjs";import*as s from"./functions/modules/is.mjs";export{s as is};export{useZnForm}from"./components/znForm/src/hooks/useZnForm.mjs";export{useZnFormV2}from"./components/znFormV2/src/hooks/useZnFormV2.mjs";export{useZnSearch}from"./components/znSearch/src/hooks/useProSearch.mjs";export{ZnChart}from"./components/znChart/index.mjs";export{ZnCountTo}from"./components/znCountTo/index.mjs";export{default as ZnFormItem}from"./components/znForm/src/components/ZnFormItem.vue2.mjs";export{ZnForm}from"./components/znForm/index.mjs";export{batchExecute,camelCaseToHyphen,checkFeatureSupport,createUniqueId,debounce,delay,executeInIdle,getElementOffsetTop,getMemoryUsage,getObjectHash,isDeepEqual,isElementInViewport,isShallowEqual,throttle}from"./components/znFormV2/src/helper/index.mjs";export{default as ZnFormV2Item}from"./components/znFormV2/src/components/ZnFormV2Item.vue2.mjs";export{ZnFormV2}from"./components/znFormV2/index.mjs";export{ZnGrid,ZnGridItem}from"./components/znGrid/index.mjs";export{ZnNumberScroll}from"./components/znNumberScroll/index.mjs";export{ZnSearch}from"./components/znSearch/index.mjs";export{ZnTable}from"./components/znTable/index.mjs";export{ZnTest}from"./components/znTest/index.mjs";export{ZnTimeline}from"./components/znTimeLine/index.mjs";export{ZnTreeFilter}from"./components/znTreeFilter/index.mjs";export{ZnTreeSelect}from"./components/znTreeSelect/index.mjs";export{initVXETable,isVXETableInitialized}from"./components/znVirtualTable/src/utils/vxe-setup.mjs";export{ZnWorkGrid}from"./components/znWorkGrid/index.mjs";export{default as ZnVirtualTable}from"./components/znVirtualTable/src/index.vue2.mjs";globalThis.log=e;"function"==typeof globalThis?.log?.success&&globalThis.log.primary("1.1.11","欢迎使用znyg-frontend-common,在线文档:http://192.168.99.34:10000/znyg-frontend-common-docs/");export{o as default,e as log};
1
+ import o from"./installer.mjs";export{install}from"./installer.mjs";import"./functions/index.mjs";import"./hooks/index.mjs";export{copyText,formatValue,treeListUtil,treeToList}from"./utils/index.mjs";import"./directives/index.mjs";import"./components/index.mjs";import e from"./functions/modules/log.mjs";export{useDialogV2}from"./hooks/useDialogV2/index.mjs";export{useDrawerV2}from"./hooks/useDrawerV2/index.mjs";export{closeAllDrawers}from"./hooks/useDrawerV2/src/index.mjs";export{closePopWindowById,closePopWindowByTag,getAllPopWindows,showPopWindow}from"./hooks/usePopWindow/src/index.mjs";export{usePopWindow}from"./hooks/usePopWindow/index.mjs";export{closePopWindowByIdV2,closePopWindowByTagV2,getAllPopWindowsV2,showPopWindowV2}from"./hooks/usePopWindowV2/src/index.mjs";export{usePopWindowV2}from"./hooks/usePopWindowV2/index.mjs";export{useDialog}from"./hooks/useDialog/index.mjs";export{default as ImageViewer}from"./hooks/useImageViewer/src/index.vue2.mjs";export{useImageViewer}from"./hooks/useImageViewer/index.mjs";export{useDrawer}from"./hooks/useDrawer/index.mjs";export{withInstall,withInstallDirectives}from"./utils/install.mjs";export{default as vCopy}from"./directives/modules/copy.mjs";export{default as vDrag}from"./directives/modules/drag.mjs";export{default as vAutoScroll}from"./directives/modules/autoScroll.mjs";export{default as vTooltip}from"./directives/modules/tooltip.mjs";export{default as vConfirm}from"./directives/modules/confirm.mjs";export{default as vCountTo}from"./directives/modules/countTo.mjs";export{default as utils}from"./functions/modules/uitls.mjs";import*as s from"./functions/modules/is.mjs";export{s as is};export{useZnForm}from"./components/znForm/src/hooks/useZnForm.mjs";export{useZnFormV2}from"./components/znFormV2/src/hooks/useZnFormV2.mjs";export{useZnSearch}from"./components/znSearch/src/hooks/useProSearch.mjs";export{ZnChart}from"./components/znChart/index.mjs";export{ZnCountTo}from"./components/znCountTo/index.mjs";export{default as ZnFormItem}from"./components/znForm/src/components/ZnFormItem.vue2.mjs";export{ZnForm}from"./components/znForm/index.mjs";export{batchExecute,camelCaseToHyphen,checkFeatureSupport,createUniqueId,debounce,delay,executeInIdle,getElementOffsetTop,getMemoryUsage,getObjectHash,isDeepEqual,isElementInViewport,isShallowEqual,throttle}from"./components/znFormV2/src/helper/index.mjs";export{default as ZnFormV2Item}from"./components/znFormV2/src/components/ZnFormV2Item.vue2.mjs";export{ZnFormV2}from"./components/znFormV2/index.mjs";export{ZnGrid,ZnGridItem}from"./components/znGrid/index.mjs";export{ZnNumberScroll}from"./components/znNumberScroll/index.mjs";export{ZnSearch}from"./components/znSearch/index.mjs";export{ZnTable}from"./components/znTable/index.mjs";export{ZnTest}from"./components/znTest/index.mjs";export{ZnTimeline}from"./components/znTimeLine/index.mjs";export{ZnTreeFilter}from"./components/znTreeFilter/index.mjs";export{ZnTreeSelect}from"./components/znTreeSelect/index.mjs";export{initVXETable,isVXETableInitialized}from"./components/znVirtualTable/src/utils/vxe-setup.mjs";export{ZnWorkGrid}from"./components/znWorkGrid/index.mjs";export{default as ZnVirtualTable}from"./components/znVirtualTable/src/index.vue2.mjs";globalThis.log=e;"function"==typeof globalThis?.log?.success&&globalThis.log.primary("1.1.12","欢迎使用znyg-frontend-common,在线文档:http://192.168.99.34:10000/znyg-frontend-common-docs/");export{o as default,e as log};
2
2
  //# sourceMappingURL=index.mjs.map
package/es/index.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../../../packages/index.ts"],"sourcesContent":["import installer from './installer'\nimport { log } from './functions'\nexport * from './hooks'\nexport * from './utils'\nexport * from './installer'\nexport * from './directives'\nexport * from './functions'\nexport * from './components'\n\nexport default installer\nglobalThis.log = log\nconst version = '1.1.11'\nif (typeof globalThis?.log?.success === 'function') {\n globalThis.log.primary(version, '欢迎使用znyg-frontend-common,在线文档:http://192.168.99.34:10000/znyg-frontend-common-docs/')\n}\n"],"names":["globalThis","log","success","primary"],"mappings":"sqGAUAA,WAAWC,IAAMA,EAEuB,mBAA7BD,YAAYC,KAAKC,SACfF,WAAAC,IAAIE,QAFD,SAEkB"}
1
+ {"version":3,"file":"index.mjs","sources":["../../../packages/index.ts"],"sourcesContent":["import installer from './installer'\nimport { log } from './functions'\nexport * from './hooks'\nexport * from './utils'\nexport * from './installer'\nexport * from './directives'\nexport * from './functions'\nexport * from './components'\n\nexport default installer\nglobalThis.log = log\nconst version = '1.1.12'\nif (typeof globalThis?.log?.success === 'function') {\n globalThis.log.primary(version, '欢迎使用znyg-frontend-common,在线文档:http://192.168.99.34:10000/znyg-frontend-common-docs/')\n}\n"],"names":["globalThis","log","success","primary"],"mappings":"sqGAUAA,WAAWC,IAAMA,EAEuB,mBAA7BD,YAAYC,KAAKC,SACfF,WAAAC,IAAIE,QAFD,SAEkB"}
@@ -1,16 +1,16 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue"),t=require("@element-plus/icons-vue"),o=require("@vueuse/core"),n=Object.defineProperty,l=(e,t)=>n(e,"name",{value:t,configurable:!0});const r={class:"operation-btns",style:{display:"flex","align-items":"center","justify-content":"center"}};var i=e.defineComponent({__name:"index",props:{btns:{type:Array,required:!1},maxCount:{type:Number,required:!1,default:3},moreText:{type:String,required:!1,default:"更多"},minWidth:{type:String,required:!1,default:"120px"},row:{required:!1},index:{type:Number,required:!1}},emits:["btnClick"],setup(n,{emit:i}){const a=n,c=i,d=o.useLocalStorage("znyg",{dictMap:{},privileges:[]}),u=e.computed((()=>a.row||{})),m=e.computed((()=>a.index)),s=e.computed((()=>(a.btns||[]).filter((e=>y(e))))),p=e.computed((()=>s.value.slice(0,a.maxCount))),v=e.computed((()=>s.value.slice(a.maxCount))),k=e.computed((()=>v.value.length>0)),y=l((e=>{let t=!0;if(void 0!==e.show&&null!==e.show&&("boolean"==typeof e.show?t=e.show:"function"==typeof e.show&&(t=e.show(u.value))),!t)return!1;if(e.privilege){if(!(d.value?.privileges||[]).some((t=>t.code===e.privilege)))return!1}return!0}),"shouldShowBtn"),C=l((e=>"function"==typeof e.label?e.label(u.value):e.label),"getBtnLabel"),f=l((e=>{c("btnClick",e.name,u.value,e,m.value)}),"handleBtnClick"),h=l((e=>{c("btnClick",e.name,u.value,e,m.value)}),"handleDropdownCommand");return(o,n)=>{const i=e.resolveComponent("el-button"),c=e.resolveComponent("el-icon"),d=e.resolveComponent("el-dropdown-item"),u=e.resolveComponent("el-dropdown-menu"),m=e.resolveComponent("el-dropdown");return e.openBlock(),e.createElementBlock("div",r,[e.createCommentVNode(" 直接显示的按钮 "),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.value,((t,o)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:t.name},[y(t)?(e.openBlock(),e.createBlock(i,{key:0,type:t.type||"primary",size:t.size||"small",disabled:t.disabled,icon:t.icon,link:"",onClick:l((e=>f(t)),"onClick")},{default:e.withCtx((()=>[e.createTextVNode(e.toDisplayString(C(t)),1
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("vue"),t=require("@element-plus/icons-vue"),o=require("@vueuse/core"),n=Object.defineProperty,l=(e,t)=>n(e,"name",{value:t,configurable:!0});const i={class:"operation-btns",style:{display:"flex","align-items":"center","justify-content":"center"}};var r=e.defineComponent({__name:"index",props:{btns:{type:Array,required:!1},maxCount:{type:Number,required:!1,default:3},moreText:{type:String,required:!1,default:"更多"},minWidth:{type:String,required:!1,default:"120px"},row:{required:!1},index:{type:Number,required:!1}},emits:["btnClick"],setup(n,{emit:r}){const a=n,c=r,d=o.useLocalStorage("znyg",{dictMap:{},privileges:[]}),u=e.computed((()=>a.row||{})),m=e.computed((()=>a.index)),s=e.computed((()=>(a.btns||[]).filter((e=>C(e))))),p=e.computed((()=>s.value.slice(0,a.maxCount))),v=e.computed((()=>s.value.slice(a.maxCount))),k=e.computed((()=>v.value.length>0)),C=l((e=>{let t=!0;if(void 0!==e.show&&null!==e.show&&("boolean"==typeof e.show?t=e.show:"function"==typeof e.show&&(t=e.show(u.value))),!t)return!1;if(e.privilege){if(!(d.value?.privileges||[]).some((t=>t.code===e.privilege)))return!1}return!0}),"shouldShowBtn"),f=l((e=>"function"==typeof e.label?e.label(u.value):e.label),"getBtnLabel"),y=l((e=>{e.onClick&&"function"==typeof e.onClick&&e.onClick(u.value,e,m.value),c("btnClick",e.name,u.value,e,m.value)}),"handleBtnClick"),h=l((e=>{e.onClick&&"function"==typeof e.onClick&&e.onClick(u.value,e,m.value),c("btnClick",e.name,u.value,e,m.value)}),"handleDropdownCommand");return(o,n)=>{const r=e.resolveComponent("el-button"),c=e.resolveComponent("el-icon"),d=e.resolveComponent("el-dropdown-item"),u=e.resolveComponent("el-dropdown-menu"),m=e.resolveComponent("el-dropdown");return e.openBlock(),e.createElementBlock("div",i,[e.createCommentVNode(" 直接显示的按钮 "),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.value,((t,o)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:t.name},[C(t)?(e.openBlock(),e.createBlock(r,{key:0,type:t.type||"primary",size:t.size||"small",disabled:t.disabled,icon:t.icon,link:"",onClick:l((e=>y(t)),"onClick")},{default:e.withCtx((()=>[e.createTextVNode(e.toDisplayString(f(t)),1
2
2
  /* TEXT */)])),_:2
3
3
  /* DYNAMIC */},1032,["type","size","disabled","icon","onClick"])):e.createCommentVNode("v-if",!0)],64
4
4
  /* STABLE_FRAGMENT */)))),128
5
5
  /* KEYED_FRAGMENT */)),e.createCommentVNode(" 更多按钮下拉菜单 "),k.value?(e.openBlock(),e.createBlock(m,{key:0,style:{"margin-left":"8px"},trigger:"hover","min-width":a.minWidth||"120px",onCommand:h},{dropdown:e.withCtx((()=>[e.createVNode(u,null,{default:e.withCtx((()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(v.value,(t=>e.withDirectives((e.openBlock(),e.createBlock(d,{key:t.name,command:t,disabled:t.disabled},{default:e.withCtx((()=>[t.icon?(e.openBlock(),e.createBlock(c,{key:0,style:{"margin-right":"5px"}},{default:e.withCtx((()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.icon)))])),_:2
6
6
  /* DYNAMIC */},1024
7
- /* DYNAMIC_SLOTS */)):e.createCommentVNode("v-if",!0),e.createTextVNode(" "+e.toDisplayString(C(t)),1
7
+ /* DYNAMIC_SLOTS */)):e.createCommentVNode("v-if",!0),e.createTextVNode(" "+e.toDisplayString(f(t)),1
8
8
  /* TEXT */)])),_:2
9
- /* DYNAMIC */},1032,["command","disabled"])),[[e.vShow,y(t)]]))),128
9
+ /* DYNAMIC */},1032,["command","disabled"])),[[e.vShow,C(t)]]))),128
10
10
  /* KEYED_FRAGMENT */))])),_:1
11
- /* STABLE */})])),default:e.withCtx((()=>[e.createVNode(i,{type:"primary",size:a.size||"small",link:""},{default:e.withCtx((()=>[e.createTextVNode(e.toDisplayString(a.moreText||"更多")+" ",1
11
+ /* STABLE */})])),default:e.withCtx((()=>[e.createVNode(r,{type:"primary",size:a.size||"small",link:""},{default:e.withCtx((()=>[e.createTextVNode(e.toDisplayString(a.moreText||"更多")+" ",1
12
12
  /* TEXT */),e.createVNode(c,{class:"el-icon--right"},{default:e.withCtx((()=>[e.createVNode(e.unref(t.ArrowDown))])),_:1
13
13
  /* STABLE */})])),_:1
14
14
  /* STABLE */},8,["size"])])),_:1
15
- /* STABLE */},8,["min-width"])):e.createCommentVNode("v-if",!0)])}}});exports.default=i;
15
+ /* STABLE */},8,["min-width"])):e.createCommentVNode("v-if",!0)])}}});exports.default=r;
16
16
  //# sourceMappingURL=index.vue2.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.vue2.js","sources":["../../../../../../../../packages/components/znTable/src/components/OperationBtns/index.vue"],"sourcesContent":["<template>\n <div class=\"operation-btns\" style=\"display: flex; align-items: center; justify-content: center\">\n <!-- 直接显示的按钮 -->\n <template v-for=\"(btn, index) in visibleBtns\" :key=\"btn.name\">\n <el-button\n v-if=\"shouldShowBtn(btn)\"\n :type=\"btn.type || 'primary'\"\n :size=\"btn.size || 'small'\"\n :disabled=\"btn.disabled\"\n :icon=\"btn.icon\"\n link\n @click=\"handleBtnClick(btn)\">\n {{ getBtnLabel(btn) }}\n </el-button>\n </template>\n\n <!-- 更多按钮下拉菜单 -->\n <el-dropdown v-if=\"hasMoreBtns\" style=\"margin-left: 8px\" trigger=\"hover\" :min-width=\"props.minWidth || '120px'\" @command=\"handleDropdownCommand\">\n <el-button type=\"primary\" :size=\"props.size || 'small'\" link>\n {{ props.moreText || '更多' }}\n <el-icon class=\"el-icon--right\">\n <ArrowDown />\n </el-icon>\n </el-button>\n <template #dropdown>\n <el-dropdown-menu>\n <el-dropdown-item v-for=\"btn in moreBtns\" :key=\"btn.name\" :command=\"btn\" :disabled=\"btn.disabled\" v-show=\"shouldShowBtn(btn)\">\n <el-icon v-if=\"btn.icon\" style=\"margin-right: 5px\">\n <component :is=\"btn.icon\" />\n </el-icon>\n {{ getBtnLabel(btn) }}\n </el-dropdown-item>\n </el-dropdown-menu>\n </template>\n </el-dropdown>\n </div>\n</template>\n\n<script setup lang=\"ts\" name=\"OperationBtns\">\n import { computed, inject } from 'vue'\n import { ArrowDown } from '@element-plus/icons-vue'\n import type { OperationBtnProps } from '../../interface'\n import { useLocalStorage } from '@vueuse/core'\n\n interface Props {\n /** 操作按钮配置 */\n btns?: OperationBtnProps[]\n /** 最大显示按钮数量,默认为3 */\n maxCount?: number\n /** 更多按钮文本 */\n moreText?: string\n /** 下拉菜单最小宽度 */\n minWidth?: string\n [key: string]: any\n row?: any,\n index?: number\n }\n\n const props = defineProps({\n btns: { type: Array, required: false },\n maxCount: { type: Number, required: false, default: 3 },\n moreText: { type: String, required: false, default: '更多' },\n minWidth: { type: String, required: false, default: '120px' },\n row: { required: false },\n index: { type: Number, required: false }\n})\n\n const emit = defineEmits([\"btnClick\"])\n\n // 获取权限数据\n const znygStore = useLocalStorage('znyg', { dictMap: {}, privileges: [] })\n\n // 获取当前行数据的注入,用于按钮显示逻辑判断\n const currentRow = computed(() => props.row || {})\n\n // 获取当前行索引\n const currentIndex = computed(() => props.index)\n\n // 过滤出需要显示的按钮\n const availableBtns = computed(() => {\n return (props.btns || []).filter((btn) => shouldShowBtn(btn))\n })\n\n // 直接显示的按钮\n const visibleBtns = computed(() => {\n return availableBtns.value.slice(0, props.maxCount)\n })\n\n // 更多菜单中的按钮\n const moreBtns = computed(() => {\n return availableBtns.value.slice(props.maxCount)\n })\n\n // 是否有更多按钮\n const hasMoreBtns = computed(() => {\n return moreBtns.value.length > 0\n })\n\n // 判断按钮是否应该显示\n const shouldShowBtn = (btn: OperationBtnProps): boolean => {\n // 首先检查 show 属性\n let showResult = true\n if (btn.show !== undefined && btn.show !== null) {\n if (typeof btn.show === 'boolean') {\n showResult = btn.show\n } else if (typeof btn.show === 'function') {\n showResult = btn.show(currentRow.value)\n }\n }\n\n // 如果 show 为 false,直接返回 false\n if (!showResult) return false\n\n // 检查权限\n if (btn.privilege) {\n // 从 znygStore 中获取权限列表\n const privileges = znygStore.value?.privileges || []\n\n // 检查权限列表中是否存在code为 btn.privilege 的权限\n const hasPrivilege = privileges.some((privilege: any) => {\n // 只判断 code 字段\n return privilege.code === btn.privilege\n })\n\n // 只有当权限存在时才显示按钮\n if (!hasPrivilege) return false\n }\n\n return true\n }\n\n // 获取按钮标签\n const getBtnLabel = (btn: OperationBtnProps): string => {\n if (typeof btn.label === 'function') return btn.label(currentRow.value)\n return btn.label\n }\n\n // 处理按钮点击事件\n const handleBtnClick = (btn: OperationBtnProps) => {\n emit('btnClick', btn.name, currentRow.value, btn, currentIndex.value)\n }\n\n // 处理下拉菜单点击事件\n const handleDropdownCommand = (btn: OperationBtnProps) => {\n emit('btnClick', btn.name, currentRow.value, btn, currentIndex.value)\n }\n</script>\n"],"names":["props","__props","emit","__emit","znygStore","useLocalStorage","dictMap","privileges","currentRow","computed","row","currentIndex","index","availableBtns","btns","filter","btn","shouldShowBtn","visibleBtns","value","slice","maxCount","moreBtns","hasMoreBtns","length","showResult","show","privilege","some","code","getBtnLabel","label","handleBtnClick","name","handleDropdownCommand"],"mappings":"8nBA0DE,MAAMA,EAAQC,EASRC,EAAOC,EAGPC,EAAYC,EAAgBA,gBAAA,OAAQ,CAAEC,QAAS,GAAIC,WAAY,KAG/DC,EAAaC,EAASA,UAAA,IAAMT,EAAMU,KAAO,CAAA,IAGzCC,EAAeF,EAAAA,UAAS,IAAMT,EAAMY,QAGpCC,EAAgBJ,EAAAA,UAAS,KACrBT,EAAMc,MAAQ,IAAIC,QAAQC,GAAQC,EAAcD,OAIpDE,EAAcT,EAAAA,UAAS,IACpBI,EAAcM,MAAMC,MAAM,EAAGpB,EAAMqB,YAItCC,EAAWb,EAAAA,UAAS,IACjBI,EAAcM,MAAMC,MAAMpB,EAAMqB,YAInCE,EAAcd,EAAAA,UAAS,IACpBa,EAASH,MAAMK,OAAS,IAI3BP,KAAiBD,IAErB,IAAIS,GAAa,EAUb,QATa,IAAbT,EAAIU,MAAmC,OAAbV,EAAIU,OACR,kBAAbV,EAAIU,KACbD,EAAaT,EAAIU,KACY,mBAAbV,EAAIU,OACPD,EAAAT,EAAIU,KAAKlB,EAAWW,UAKhCM,EAAmB,OAAA,EAGxB,GAAIT,EAAIW,UAAW,CAWb,KATevB,EAAUe,OAAOZ,YAAc,IAGlBqB,MAAMD,GAE7BA,EAAUE,OAASb,EAAIW,YAIN,OAAA,CAAA,CAGrB,OAAA,CAAA,GA7Ba,iBAiChBG,KAAed,GACM,mBAAdA,EAAIe,MAA6Bf,EAAIe,MAAMvB,EAAWW,OAC1DH,EAAIe,OAFO,eAMdC,KAAkBhB,IACtBd,EAAK,WAAYc,EAAIiB,KAAMzB,EAAWW,MAAOH,EAAKL,EAAaQ,MAAK,GAD/C,kBAKjBe,KAAyBlB,IAC7Bd,EAAK,WAAYc,EAAIiB,KAAMzB,EAAWW,MAAOH,EAAKL,EAAaQ,MAAK,GADxC;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.vue2.js","sources":["../../../../../../../../packages/components/znTable/src/components/OperationBtns/index.vue"],"sourcesContent":["<template>\n <div class=\"operation-btns\" style=\"display: flex; align-items: center; justify-content: center\">\n <!-- 直接显示的按钮 -->\n <template v-for=\"(btn, index) in visibleBtns\" :key=\"btn.name\">\n <el-button\n v-if=\"shouldShowBtn(btn)\"\n :type=\"btn.type || 'primary'\"\n :size=\"btn.size || 'small'\"\n :disabled=\"btn.disabled\"\n :icon=\"btn.icon\"\n link\n @click=\"handleBtnClick(btn)\">\n {{ getBtnLabel(btn) }}\n </el-button>\n </template>\n\n <!-- 更多按钮下拉菜单 -->\n <el-dropdown v-if=\"hasMoreBtns\" style=\"margin-left: 8px\" trigger=\"hover\" :min-width=\"props.minWidth || '120px'\" @command=\"handleDropdownCommand\">\n <el-button type=\"primary\" :size=\"props.size || 'small'\" link>\n {{ props.moreText || '更多' }}\n <el-icon class=\"el-icon--right\">\n <ArrowDown />\n </el-icon>\n </el-button>\n <template #dropdown>\n <el-dropdown-menu>\n <el-dropdown-item v-for=\"btn in moreBtns\" :key=\"btn.name\" :command=\"btn\" :disabled=\"btn.disabled\" v-show=\"shouldShowBtn(btn)\">\n <el-icon v-if=\"btn.icon\" style=\"margin-right: 5px\">\n <component :is=\"btn.icon\" />\n </el-icon>\n {{ getBtnLabel(btn) }}\n </el-dropdown-item>\n </el-dropdown-menu>\n </template>\n </el-dropdown>\n </div>\n</template>\n\n<script setup lang=\"ts\" name=\"OperationBtns\">\n import { computed, inject } from 'vue'\n import { ArrowDown } from '@element-plus/icons-vue'\n import type { OperationBtnProps } from '../../interface'\n import { useLocalStorage } from '@vueuse/core'\n\n interface Props {\n /** 操作按钮配置 */\n btns?: OperationBtnProps[]\n /** 最大显示按钮数量,默认为3 */\n maxCount?: number\n /** 更多按钮文本 */\n moreText?: string\n /** 下拉菜单最小宽度 */\n minWidth?: string\n [key: string]: any\n row?: any,\n index?: number\n }\n\n const props = defineProps({\n btns: { type: Array, required: false },\n maxCount: { type: Number, required: false, default: 3 },\n moreText: { type: String, required: false, default: '更多' },\n minWidth: { type: String, required: false, default: '120px' },\n row: { required: false },\n index: { type: Number, required: false }\n})\n\n const emit = defineEmits([\"btnClick\"])\n\n // 获取权限数据\n const znygStore = useLocalStorage('znyg', { dictMap: {}, privileges: [] })\n\n // 获取当前行数据的注入,用于按钮显示逻辑判断\n const currentRow = computed(() => props.row || {})\n\n // 获取当前行索引\n const currentIndex = computed(() => props.index)\n\n // 过滤出需要显示的按钮\n const availableBtns = computed(() => {\n return (props.btns || []).filter((btn) => shouldShowBtn(btn))\n })\n\n // 直接显示的按钮\n const visibleBtns = computed(() => {\n return availableBtns.value.slice(0, props.maxCount)\n })\n\n // 更多菜单中的按钮\n const moreBtns = computed(() => {\n return availableBtns.value.slice(props.maxCount)\n })\n\n // 是否有更多按钮\n const hasMoreBtns = computed(() => {\n return moreBtns.value.length > 0\n })\n\n // 判断按钮是否应该显示\n const shouldShowBtn = (btn: OperationBtnProps): boolean => {\n // 首先检查 show 属性\n let showResult = true\n if (btn.show !== undefined && btn.show !== null) {\n if (typeof btn.show === 'boolean') {\n showResult = btn.show\n } else if (typeof btn.show === 'function') {\n showResult = btn.show(currentRow.value)\n }\n }\n\n // 如果 show 为 false,直接返回 false\n if (!showResult) return false\n\n // 检查权限\n if (btn.privilege) {\n // 从 znygStore 中获取权限列表\n const privileges = znygStore.value?.privileges || []\n\n // 检查权限列表中是否存在code为 btn.privilege 的权限\n const hasPrivilege = privileges.some((privilege: any) => {\n // 只判断 code 字段\n return privilege.code === btn.privilege\n })\n\n // 只有当权限存在时才显示按钮\n if (!hasPrivilege) return false\n }\n\n return true\n }\n\n // 获取按钮标签\n const getBtnLabel = (btn: OperationBtnProps): string => {\n if (typeof btn.label === 'function') return btn.label(currentRow.value)\n return btn.label\n }\n\n // 处理按钮点击事件\n const handleBtnClick = (btn: OperationBtnProps) => {\n // 如果配置了 onClick 事件,优先执行\n if (btn.onClick && typeof btn.onClick === 'function') {\n btn.onClick(currentRow.value, btn, currentIndex.value)\n }\n\n // 保持原有逻辑:触发 emit 事件\n emit('btnClick', btn.name, currentRow.value, btn, currentIndex.value)\n }\n\n // 处理下拉菜单点击事件\n const handleDropdownCommand = (btn: OperationBtnProps) => {\n // 如果配置了 onClick 事件,优先执行\n if (btn.onClick && typeof btn.onClick === 'function') {\n btn.onClick(currentRow.value, btn, currentIndex.value)\n }\n\n // 保持原有逻辑:触发 emit 事件\n emit('btnClick', btn.name, currentRow.value, btn, currentIndex.value)\n }\n</script>\n"],"names":["props","__props","emit","__emit","znygStore","useLocalStorage","dictMap","privileges","currentRow","computed","row","currentIndex","index","availableBtns","btns","filter","btn","shouldShowBtn","visibleBtns","value","slice","maxCount","moreBtns","hasMoreBtns","length","showResult","show","privilege","some","code","getBtnLabel","label","handleBtnClick","onClick","name","handleDropdownCommand"],"mappings":"8nBA0DE,MAAMA,EAAQC,EASRC,EAAOC,EAGPC,EAAYC,EAAgBA,gBAAA,OAAQ,CAAEC,QAAS,GAAIC,WAAY,KAG/DC,EAAaC,EAASA,UAAA,IAAMT,EAAMU,KAAO,CAAA,IAGzCC,EAAeF,EAAAA,UAAS,IAAMT,EAAMY,QAGpCC,EAAgBJ,EAAAA,UAAS,KACrBT,EAAMc,MAAQ,IAAIC,QAAQC,GAAQC,EAAcD,OAIpDE,EAAcT,EAAAA,UAAS,IACpBI,EAAcM,MAAMC,MAAM,EAAGpB,EAAMqB,YAItCC,EAAWb,EAAAA,UAAS,IACjBI,EAAcM,MAAMC,MAAMpB,EAAMqB,YAInCE,EAAcd,EAAAA,UAAS,IACpBa,EAASH,MAAMK,OAAS,IAI3BP,KAAiBD,IAErB,IAAIS,GAAa,EAUb,QATa,IAAbT,EAAIU,MAAmC,OAAbV,EAAIU,OACR,kBAAbV,EAAIU,KACbD,EAAaT,EAAIU,KACY,mBAAbV,EAAIU,OACPD,EAAAT,EAAIU,KAAKlB,EAAWW,UAKhCM,EAAmB,OAAA,EAGxB,GAAIT,EAAIW,UAAW,CAWb,KATevB,EAAUe,OAAOZ,YAAc,IAGlBqB,MAAMD,GAE7BA,EAAUE,OAASb,EAAIW,YAIN,OAAA,CAAA,CAGrB,OAAA,CAAA,GA7Ba,iBAiChBG,KAAed,GACM,mBAAdA,EAAIe,MAA6Bf,EAAIe,MAAMvB,EAAWW,OAC1DH,EAAIe,OAFO,eAMdC,KAAkBhB,IAElBA,EAAIiB,SAAkC,mBAAhBjB,EAAIiB,SAC5BjB,EAAIiB,QAAQzB,EAAWW,MAAOH,EAAKL,EAAaQ,OAIlDjB,EAAK,WAAYc,EAAIkB,KAAM1B,EAAWW,MAAOH,EAAKL,EAAaQ,MAAK,GAP/C,kBAWjBgB,KAAyBnB,IAEzBA,EAAIiB,SAAkC,mBAAhBjB,EAAIiB,SAC5BjB,EAAIiB,QAAQzB,EAAWW,MAAOH,EAAKL,EAAaQ,OAIlDjB,EAAK,WAAYc,EAAIkB,KAAM1B,EAAWW,MAAOH,EAAKL,EAAaQ,MAAK,GAPxC;;;;;;;;;;;;;;"}
package/lib/index.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./installer.js");require("./functions/index.js"),require("./hooks/index.js");var o=require("./utils/index.js");require("./directives/index.js"),require("./components/index.js");var r=require("./functions/modules/log.js"),s=require("./hooks/useDialogV2/index.js"),t=require("./hooks/useDrawerV2/index.js"),n=require("./hooks/useDrawerV2/src/index.js"),i=require("./hooks/usePopWindow/src/index.js"),u=require("./hooks/usePopWindow/index.js"),l=require("./hooks/usePopWindowV2/src/index.js"),p=require("./hooks/usePopWindowV2/index.js"),d=require("./hooks/useDialog/index.js"),a=require("./hooks/useImageViewer/src/index.vue2.js"),x=require("./hooks/useImageViewer/index.js"),c=require("./hooks/useDrawer/index.js"),m=require("./utils/install.js"),q=require("./directives/modules/copy.js"),j=require("./directives/modules/drag.js"),h=require("./directives/modules/autoScroll.js"),w=require("./directives/modules/tooltip.js"),V=require("./directives/modules/confirm.js"),T=require("./directives/modules/countTo.js"),Z=require("./functions/modules/uitls.js"),g=require("./functions/modules/is.js"),f=require("./components/znForm/src/hooks/useZnForm.js"),I=require("./components/znFormV2/src/hooks/useZnFormV2.js"),W=require("./components/znSearch/src/hooks/useProSearch.js"),F=require("./components/znChart/index.js"),P=require("./components/znCountTo/index.js"),z=require("./components/znForm/src/components/ZnFormItem.vue2.js"),v=require("./components/znForm/index.js"),b=require("./components/znFormV2/src/helper/index.js"),y=require("./components/znFormV2/src/components/ZnFormV2Item.vue2.js"),k=require("./components/znFormV2/index.js"),D=require("./components/znGrid/index.js"),S=require("./components/znNumberScroll/index.js"),E=require("./components/znSearch/index.js"),C=require("./components/znTable/index.js"),B=require("./components/znTest/index.js"),G=require("./components/znTimeLine/index.js"),A=require("./components/znTreeFilter/index.js"),U=require("./components/znTreeSelect/index.js"),L=require("./components/znVirtualTable/src/utils/vxe-setup.js"),O=require("./components/znWorkGrid/index.js"),H=require("./components/znVirtualTable/src/index.vue2.js");globalThis.log=r.default;"function"==typeof globalThis?.log?.success&&globalThis.log.primary("1.1.11","欢迎使用znyg-frontend-common,在线文档:http://192.168.99.34:10000/znyg-frontend-common-docs/"),exports.default=e.default,exports.install=e.install,exports.copyText=o.copyText,exports.formatValue=o.formatValue,exports.treeListUtil=o.treeListUtil,exports.treeToList=o.treeToList,exports.log=r.default,exports.useDialogV2=s.useDialogV2,exports.useDrawerV2=t.useDrawerV2,exports.closeAllDrawers=n.closeAllDrawers,exports.closePopWindowById=i.closePopWindowById,exports.closePopWindowByTag=i.closePopWindowByTag,exports.getAllPopWindows=i.getAllPopWindows,exports.showPopWindow=i.showPopWindow,exports.usePopWindow=u.usePopWindow,exports.closePopWindowByIdV2=l.closePopWindowByIdV2,exports.closePopWindowByTagV2=l.closePopWindowByTagV2,exports.getAllPopWindowsV2=l.getAllPopWindowsV2,exports.showPopWindowV2=l.showPopWindowV2,exports.usePopWindowV2=p.usePopWindowV2,exports.useDialog=d.useDialog,exports.ImageViewer=a.default,exports.useImageViewer=x.useImageViewer,exports.useDrawer=c.useDrawer,exports.withInstall=m.withInstall,exports.withInstallDirectives=m.withInstallDirectives,exports.vCopy=q.default,exports.vDrag=j.default,exports.vAutoScroll=h.default,exports.vTooltip=w.default,exports.vConfirm=V.default,exports.vCountTo=T.default,exports.utils=Z.default,exports.is=g,exports.useZnForm=f.useZnForm,exports.useZnFormV2=I.useZnFormV2,exports.useZnSearch=W.useZnSearch,exports.ZnChart=F.ZnChart,exports.ZnCountTo=P.ZnCountTo,exports.ZnFormItem=z.default,exports.ZnForm=v.ZnForm,exports.batchExecute=b.batchExecute,exports.camelCaseToHyphen=b.camelCaseToHyphen,exports.checkFeatureSupport=b.checkFeatureSupport,exports.createUniqueId=b.createUniqueId,exports.debounce=b.debounce,exports.delay=b.delay,exports.executeInIdle=b.executeInIdle,exports.getElementOffsetTop=b.getElementOffsetTop,exports.getMemoryUsage=b.getMemoryUsage,exports.getObjectHash=b.getObjectHash,exports.isDeepEqual=b.isDeepEqual,exports.isElementInViewport=b.isElementInViewport,exports.isShallowEqual=b.isShallowEqual,exports.throttle=b.throttle,exports.ZnFormV2Item=y.default,exports.ZnFormV2=k.ZnFormV2,exports.ZnGrid=D.ZnGrid,exports.ZnGridItem=D.ZnGridItem,exports.ZnNumberScroll=S.ZnNumberScroll,exports.ZnSearch=E.ZnSearch,exports.ZnTable=C.ZnTable,exports.ZnTest=B.ZnTest,exports.ZnTimeline=G.ZnTimeline,exports.ZnTreeFilter=A.ZnTreeFilter,exports.ZnTreeSelect=U.ZnTreeSelect,exports.initVXETable=L.initVXETable,exports.isVXETableInitialized=L.isVXETableInitialized,exports.ZnWorkGrid=O.ZnWorkGrid,exports.ZnVirtualTable=H.default;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("./installer.js");require("./functions/index.js"),require("./hooks/index.js");var o=require("./utils/index.js");require("./directives/index.js"),require("./components/index.js");var r=require("./functions/modules/log.js"),s=require("./hooks/useDialogV2/index.js"),t=require("./hooks/useDrawerV2/index.js"),n=require("./hooks/useDrawerV2/src/index.js"),i=require("./hooks/usePopWindow/src/index.js"),u=require("./hooks/usePopWindow/index.js"),l=require("./hooks/usePopWindowV2/src/index.js"),p=require("./hooks/usePopWindowV2/index.js"),d=require("./hooks/useDialog/index.js"),a=require("./hooks/useImageViewer/src/index.vue2.js"),x=require("./hooks/useImageViewer/index.js"),c=require("./hooks/useDrawer/index.js"),m=require("./utils/install.js"),q=require("./directives/modules/copy.js"),j=require("./directives/modules/drag.js"),h=require("./directives/modules/autoScroll.js"),w=require("./directives/modules/tooltip.js"),V=require("./directives/modules/confirm.js"),T=require("./directives/modules/countTo.js"),Z=require("./functions/modules/uitls.js"),g=require("./functions/modules/is.js"),f=require("./components/znForm/src/hooks/useZnForm.js"),I=require("./components/znFormV2/src/hooks/useZnFormV2.js"),W=require("./components/znSearch/src/hooks/useProSearch.js"),F=require("./components/znChart/index.js"),P=require("./components/znCountTo/index.js"),z=require("./components/znForm/src/components/ZnFormItem.vue2.js"),v=require("./components/znForm/index.js"),b=require("./components/znFormV2/src/helper/index.js"),y=require("./components/znFormV2/src/components/ZnFormV2Item.vue2.js"),k=require("./components/znFormV2/index.js"),D=require("./components/znGrid/index.js"),S=require("./components/znNumberScroll/index.js"),E=require("./components/znSearch/index.js"),C=require("./components/znTable/index.js"),B=require("./components/znTest/index.js"),G=require("./components/znTimeLine/index.js"),A=require("./components/znTreeFilter/index.js"),U=require("./components/znTreeSelect/index.js"),L=require("./components/znVirtualTable/src/utils/vxe-setup.js"),O=require("./components/znWorkGrid/index.js"),H=require("./components/znVirtualTable/src/index.vue2.js");globalThis.log=r.default;"function"==typeof globalThis?.log?.success&&globalThis.log.primary("1.1.12","欢迎使用znyg-frontend-common,在线文档:http://192.168.99.34:10000/znyg-frontend-common-docs/"),exports.default=e.default,exports.install=e.install,exports.copyText=o.copyText,exports.formatValue=o.formatValue,exports.treeListUtil=o.treeListUtil,exports.treeToList=o.treeToList,exports.log=r.default,exports.useDialogV2=s.useDialogV2,exports.useDrawerV2=t.useDrawerV2,exports.closeAllDrawers=n.closeAllDrawers,exports.closePopWindowById=i.closePopWindowById,exports.closePopWindowByTag=i.closePopWindowByTag,exports.getAllPopWindows=i.getAllPopWindows,exports.showPopWindow=i.showPopWindow,exports.usePopWindow=u.usePopWindow,exports.closePopWindowByIdV2=l.closePopWindowByIdV2,exports.closePopWindowByTagV2=l.closePopWindowByTagV2,exports.getAllPopWindowsV2=l.getAllPopWindowsV2,exports.showPopWindowV2=l.showPopWindowV2,exports.usePopWindowV2=p.usePopWindowV2,exports.useDialog=d.useDialog,exports.ImageViewer=a.default,exports.useImageViewer=x.useImageViewer,exports.useDrawer=c.useDrawer,exports.withInstall=m.withInstall,exports.withInstallDirectives=m.withInstallDirectives,exports.vCopy=q.default,exports.vDrag=j.default,exports.vAutoScroll=h.default,exports.vTooltip=w.default,exports.vConfirm=V.default,exports.vCountTo=T.default,exports.utils=Z.default,exports.is=g,exports.useZnForm=f.useZnForm,exports.useZnFormV2=I.useZnFormV2,exports.useZnSearch=W.useZnSearch,exports.ZnChart=F.ZnChart,exports.ZnCountTo=P.ZnCountTo,exports.ZnFormItem=z.default,exports.ZnForm=v.ZnForm,exports.batchExecute=b.batchExecute,exports.camelCaseToHyphen=b.camelCaseToHyphen,exports.checkFeatureSupport=b.checkFeatureSupport,exports.createUniqueId=b.createUniqueId,exports.debounce=b.debounce,exports.delay=b.delay,exports.executeInIdle=b.executeInIdle,exports.getElementOffsetTop=b.getElementOffsetTop,exports.getMemoryUsage=b.getMemoryUsage,exports.getObjectHash=b.getObjectHash,exports.isDeepEqual=b.isDeepEqual,exports.isElementInViewport=b.isElementInViewport,exports.isShallowEqual=b.isShallowEqual,exports.throttle=b.throttle,exports.ZnFormV2Item=y.default,exports.ZnFormV2=k.ZnFormV2,exports.ZnGrid=D.ZnGrid,exports.ZnGridItem=D.ZnGridItem,exports.ZnNumberScroll=S.ZnNumberScroll,exports.ZnSearch=E.ZnSearch,exports.ZnTable=C.ZnTable,exports.ZnTest=B.ZnTest,exports.ZnTimeline=G.ZnTimeline,exports.ZnTreeFilter=A.ZnTreeFilter,exports.ZnTreeSelect=U.ZnTreeSelect,exports.initVXETable=L.initVXETable,exports.isVXETableInitialized=L.isVXETableInitialized,exports.ZnWorkGrid=O.ZnWorkGrid,exports.ZnVirtualTable=H.default;
2
2
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../packages/index.ts"],"sourcesContent":["import installer from './installer'\nimport { log } from './functions'\nexport * from './hooks'\nexport * from './utils'\nexport * from './installer'\nexport * from './directives'\nexport * from './functions'\nexport * from './components'\n\nexport default installer\nglobalThis.log = log\nconst version = '1.1.11'\nif (typeof globalThis?.log?.success === 'function') {\n globalThis.log.primary(version, '欢迎使用znyg-frontend-common,在线文档:http://192.168.99.34:10000/znyg-frontend-common-docs/')\n}\n"],"names":["globalThis","log","default","success","primary"],"mappings":"6sEAUAA,WAAWC,IAAMA,EAAAC,QAEuB,mBAA7BF,YAAYC,KAAKE,SACfH,WAAAC,IAAIG,QAFD,SAEkB"}
1
+ {"version":3,"file":"index.js","sources":["../../../packages/index.ts"],"sourcesContent":["import installer from './installer'\nimport { log } from './functions'\nexport * from './hooks'\nexport * from './utils'\nexport * from './installer'\nexport * from './directives'\nexport * from './functions'\nexport * from './components'\n\nexport default installer\nglobalThis.log = log\nconst version = '1.1.12'\nif (typeof globalThis?.log?.success === 'function') {\n globalThis.log.primary(version, '欢迎使用znyg-frontend-common,在线文档:http://192.168.99.34:10000/znyg-frontend-common-docs/')\n}\n"],"names":["globalThis","log","default","success","primary"],"mappings":"6sEAUAA,WAAWC,IAAMA,EAAAC,QAEuB,mBAA7BF,YAAYC,KAAKE,SACfH,WAAAC,IAAIG,QAFD,SAEkB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "znyg-frontend-common",
3
- "version": "1.1.11",
3
+ "version": "1.1.12",
4
4
  "description": "前端公用库",
5
5
  "license": "MIT",
6
6
  "keywords": [