@yimou6/common-ui 1.10.3 → 1.10.5
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.
- package/cdn/index.cdn.js +8 -8
- package/cdn/index.cdn.js.map +1 -1
- package/cdn/index.cdn.mjs +8 -8
- package/cdn/index.cdn.mjs.map +1 -1
- package/es/components/checkbox/src/checkbox.vue2.mjs.map +1 -1
- package/es/components/concise-logger/src/concise-logger.vue2.mjs.map +1 -1
- package/es/components/date-picker/src/date-picker.vue2.mjs.map +1 -1
- package/es/components/descriptions/src/description-item.vue2.mjs.map +1 -1
- package/es/components/descriptions/src/descriptions.vue2.mjs.map +1 -1
- package/es/components/dialog/src/dialog.vue2.mjs.map +1 -1
- package/es/components/divider/src/divider.vue2.mjs.map +1 -1
- package/es/components/drawer/src/drawer.vue2.mjs +1 -1
- package/es/components/drawer/src/drawer.vue2.mjs.map +1 -1
- package/es/components/form/src/form-item.vue2.mjs.map +1 -1
- package/es/components/form/src/form.vue2.mjs.map +1 -1
- package/es/components/icon-select/src/icon-select.vue2.mjs +5 -5
- package/es/components/icon-select/src/icon-select.vue2.mjs.map +1 -1
- package/es/components/image-verification/src/image-verification.vue2.mjs.map +1 -1
- package/es/components/link/src/link.vue2.mjs.map +1 -1
- package/es/components/live-player/src/live-player.vue2.mjs.map +1 -1
- package/es/components/live-player/src/xgPlayer.vue2.mjs +1 -1
- package/es/components/live-player/src/xgPlayer.vue2.mjs.map +1 -1
- package/es/components/live-player/src/ysPlayer.vue2.mjs +1 -2
- package/es/components/live-player/src/ysPlayer.vue2.mjs.map +1 -1
- package/es/components/page-header/src/page-header.vue2.mjs.map +1 -1
- package/es/components/radio/src/radio.vue2.mjs.map +1 -1
- package/es/components/search/src/search.vue2.mjs.map +1 -1
- package/es/components/segmented/src/segmented.vue2.mjs.map +1 -1
- package/es/components/select/src/select.vue2.mjs.map +1 -1
- package/es/components/split-pane/src/resizer.vue.mjs.map +1 -1
- package/es/components/split-pane/src/split-pane.vue2.mjs.map +1 -1
- package/es/components/table/src/table.vue2.mjs.map +1 -1
- package/es/components/tenant-enterprise/src/tenant-enterprise.vue2.mjs.map +1 -1
- package/es/components/text-button/src/text-button-group.vue2.mjs.map +1 -1
- package/es/components/text-button/src/text-button.vue2.mjs.map +1 -1
- package/es/components/tzj-player/src/easyPlayer.vue2.mjs.map +1 -1
- package/es/components/tzj-player/src/tzj-player.vue2.mjs +5 -1
- package/es/components/tzj-player/src/tzj-player.vue2.mjs.map +1 -1
- package/es/components/tzj-player/src/ysPlayer.vue2.mjs +1 -2
- package/es/components/tzj-player/src/ysPlayer.vue2.mjs.map +1 -1
- package/es/types.d.ts +3 -2
- package/lib/components/checkbox/src/checkbox.vue2.js.map +1 -1
- package/lib/components/concise-logger/src/concise-logger.vue2.js.map +1 -1
- package/lib/components/date-picker/src/date-picker.vue2.js.map +1 -1
- package/lib/components/descriptions/src/description-item.vue2.js.map +1 -1
- package/lib/components/descriptions/src/descriptions.vue2.js.map +1 -1
- package/lib/components/dialog/src/dialog.vue2.js.map +1 -1
- package/lib/components/divider/src/divider.vue2.js.map +1 -1
- package/lib/components/drawer/src/drawer.vue2.js +1 -1
- package/lib/components/drawer/src/drawer.vue2.js.map +1 -1
- package/lib/components/form/src/form-item.vue2.js.map +1 -1
- package/lib/components/form/src/form.vue2.js.map +1 -1
- package/lib/components/icon-select/src/icon-select.vue2.js +5 -5
- package/lib/components/icon-select/src/icon-select.vue2.js.map +1 -1
- package/lib/components/image-verification/src/image-verification.vue2.js.map +1 -1
- package/lib/components/link/src/link.vue2.js.map +1 -1
- package/lib/components/live-player/src/live-player.vue2.js.map +1 -1
- package/lib/components/live-player/src/xgPlayer.vue2.js +1 -1
- package/lib/components/live-player/src/xgPlayer.vue2.js.map +1 -1
- package/lib/components/live-player/src/ysPlayer.vue2.js +1 -2
- package/lib/components/live-player/src/ysPlayer.vue2.js.map +1 -1
- package/lib/components/page-header/src/page-header.vue2.js.map +1 -1
- package/lib/components/radio/src/radio.vue2.js.map +1 -1
- package/lib/components/search/src/search.vue2.js.map +1 -1
- package/lib/components/segmented/src/segmented.vue2.js.map +1 -1
- package/lib/components/select/src/select.vue2.js.map +1 -1
- package/lib/components/split-pane/src/resizer.vue.js.map +1 -1
- package/lib/components/split-pane/src/split-pane.vue2.js.map +1 -1
- package/lib/components/table/src/table.vue2.js.map +1 -1
- package/lib/components/tenant-enterprise/src/tenant-enterprise.vue2.js.map +1 -1
- package/lib/components/text-button/src/text-button-group.vue2.js.map +1 -1
- package/lib/components/text-button/src/text-button.vue2.js.map +1 -1
- package/lib/components/tzj-player/src/easyPlayer.vue2.js.map +1 -1
- package/lib/components/tzj-player/src/tzj-player.vue2.js +5 -1
- package/lib/components/tzj-player/src/tzj-player.vue2.js.map +1 -1
- package/lib/components/tzj-player/src/ysPlayer.vue2.js +1 -2
- package/lib/components/tzj-player/src/ysPlayer.vue2.js.map +1 -1
- package/lib/types.d.ts +3 -2
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ysPlayer.vue2.mjs","sources":["../../../../../../../packages/components/live-player/src/ysPlayer.vue"],"sourcesContent":["<script setup lang=\"ts\">\
|
|
1
|
+
{"version":3,"file":"ysPlayer.vue2.mjs","sources":["../../../../../../../packages/components/live-player/src/ysPlayer.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { useElementSize } from \"@vueuse/core\";\nimport { nextTick, onBeforeUnmount, onMounted, shallowRef, watch } from \"vue\";\nimport { uuid } from \"./live-player\";\n// 萤石云播放器\ndefineOptions({\n name: \"YsPlayer\",\n});\n\n// 传值方式\n// 1、传url、accessToken\n// 2、传deviceSerial、channel、accessToken\nconst props = defineProps<{\n // 播放地址\n // 高清:ezopen://open.ys7.com/${设备序列号}/${通道号}.hd.live\n // 流畅:ezopen://open.ys7.com/${设备序列号}/${通道号}.live\n url?: string;\n // 设备序列号\n deviceSerial?: string;\n // 通道号\n channel?: number;\n // 清晰度,默认为空,也表示高清\n // hd:高清;sd:流畅\n quality?: \"hd\" | \"sd\" | \"\";\n accessToken: string;\n // 播放器模板ID\n playerTemplate?: string;\n}>();\n\n// 播放器模板ID\n// 可在萤石云控制台查看、修改、获取\n// 位置:云直播-轻应用-特致珈默认模板\nconst PLAYER_TEMPLATE = \"5f295a9341a74d439b5d69374c90d501\";\nconst id = uuid();\nlet playerInstance: any = null;\nlet errorMsg = \"\";\nconst ysRef = shallowRef();\nconst { width, height } = useElementSize(ysRef);\nlet ratio = 16 / 9;\nlet isCurrentFullscreen = false;\n\nonMounted(() => play());\n\nonBeforeUnmount(() => destroy());\n\ndefineExpose({ play, destroy, resize });\n\n// 防抖函数\nfunction debounce(func: Function, wait: number) {\n let timeout: ReturnType<typeof setTimeout> | null = null;\n return function (this: any, ...args: any[]) {\n if (timeout) clearTimeout(timeout);\n timeout = setTimeout(() => func.apply(this, args), wait);\n };\n}\n\n// 加上防抖的 resize 函数\nconst debouncedResize = debounce(resize, 300);\n\nwatch(\n () => [width.value, height.value, ratio],\n () => {\n if (!isCurrentFullscreen) {\n debouncedResize();\n }\n },\n);\n\nfunction play(options?: Record<string, any>) {\n if (!props.accessToken) {\n errorMsg = `params 'accessToken' is not found`;\n } else {\n const url = formatterUrl();\n if (url) {\n createPlayerDom();\n nextTick(() => createPlayer(options));\n }\n }\n}\nfunction destroy() {\n if (playerInstance) {\n playerInstance.destroy();\n playerInstance = null;\n removePlayerDom();\n }\n}\nfunction resize() {\n // 根据播放器宽高比,设置播放器高度\n if (width.value > 0 && height.value > 0) {\n let calculatedWidth = width.value;\n let calculatedHeight = calculatedWidth / ratio;\n if (calculatedHeight > height.value) {\n calculatedHeight = height.value;\n calculatedWidth = calculatedHeight * ratio;\n }\n if (playerInstance?.resize) {\n playerInstance.resize(calculatedWidth, calculatedHeight);\n } else {\n const dom = document.getElementById(id);\n if (dom) {\n dom.style.width = `${calculatedWidth}px`;\n dom.style.height = `${calculatedHeight}px`;\n }\n }\n }\n}\n\n/**\n * 创建萤石云播放器实例,播放萤石云直播流\n */\nfunction createPlayer(options?: Record<string, any>) {\n playerInstance = new window.EZUIKit.EZUIKitPlayer({\n id,\n url: formatterUrl(),\n accessToken: props.accessToken,\n template: props.playerTemplate || PLAYER_TEMPLATE,\n width: width.value,\n height: height.value,\n audio: 1,\n // @ts-ignore\n loggerOptions: {\n name: \"YSPLAYER\",\n level: \"ERROR\",\n showTime: true,\n },\n staticPath: \"/plugins/ezuikit/ezuikit_static\",\n ...options,\n });\n\n playerInstance.eventEmitter.on(\"fullscreen\", () => {\n isCurrentFullscreen = true;\n });\n playerInstance.eventEmitter.on(\"exitFullscreen\", () => {\n isCurrentFullscreen = false;\n });\n playerInstance.eventEmitter.on(\"videoInfo\", (args: any) => {\n const { width: w, height: h } = args;\n // 计算播放器宽高比\n if (w && h) {\n ratio = w / h;\n }\n });\n}\n\nfunction formatterUrl(): string {\n if (props.url) {\n return props.url;\n } else {\n if (props.deviceSerial && props.channel) {\n const quality =\n props.quality === \"\" || props.quality === \"hd\" ? \"hd.\" : \"\";\n return `ezopen://open.ys7.com/${props.deviceSerial}/${props.channel}.${quality}live`;\n } else {\n errorMsg = `params 'deviceSerial' or 'channel' is not found`;\n return \"\";\n }\n }\n}\n\n// 移除播放器DOM\nfunction removePlayerDom() {\n const dom = document.getElementById(id);\n dom && dom.remove();\n}\n// 创建播放器DOM\nfunction createPlayerDom() {\n if (!errorMsg) {\n removePlayerDom();\n const dom = document.createElement(\"div\");\n dom.id = id;\n dom.style.width = \"100%\";\n dom.style.height = \"100%\";\n ysRef.value?.appendChild(dom);\n }\n}\n</script>\n\n<template>\n <div ref=\"ysRef\" class=\"i-player-bg i-player-container\">\n <div\n v-if=\"errorMsg\"\n class=\"i-player__error\"\n style=\"color: red; font-weight: bold\"\n >\n {{ errorMsg }}\n </div>\n </div>\n</template>\n"],"names":["_createElementBlock","_unref","_toDisplayString"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page-header.vue2.mjs","sources":["../../../../../../../packages/components/page-header/src/page-header.vue"],"sourcesContent":["<script lang=\"ts\" setup>\n import { inject, ref, watchEffect } from 'vue';\n import { MENU_STORE } from '../../../utils';\n import { PageHeaderProps } from './page-header';\n\n defineOptions({\n name: 'IPageHeader',\n });\n\n const props = defineProps(PageHeaderProps);\n const menuStore = inject(MENU_STORE);\n const headerText = ref('');\n\n function setHeaderText() {\n if (props.title) return props.title;\n if (props.action) return props.action?.getCurrentMenu()?.label || '';\n if (menuStore) return menuStore.getCurrentMenu()?.label || '';\n return '';\n }\n watchEffect(() => {\n headerText.value = setHeaderText();\n });\n</script>\n\n<template>\n <div\n class=\"t-page-header\"\n :class=\"{\n 't-page-header__underline': underline,\n 't-page-header__between': slotFlex === 'between',\n 't-page-header__start': slotFlex === 'start',\n }\"\n >\n <div :class=\"{ 't-page-name': headerText }\">{{ headerText }}</div>\n <slot name=\"default\" />\n </div>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;AASE,IAAA,MAAM,KAAQ,GAAA,OAAA;AACd,IAAM,MAAA,SAAA,GAAY,OAAO,UAAU,CAAA;AACnC,IAAM,MAAA,UAAA,GAAa,IAAI,EAAE,CAAA;AAEzB,IAAA,SAAS,aAAgB,GAAA;;AACvB,MAAI,IAAA,KAAA,CAAM,KAAO,EAAA,OAAO,KAAM,CAAA,KAAA;AAC9B,MAAI,IAAA,KAAA,CAAM,QAAe,OAAA,CAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,KAAA,CAAM,WAAN,IAAc,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,cAAA,EAAA,KAAd,mBAAgC,KAAS,KAAA,EAAA;AAClE,MAAA,IAAI,WAAkB,OAAA,CAAA,CAAA,EAAA,GAAA,SAAA,CAAU,cAAe,EAAA,KAAzB,mBAA4B,KAAS,KAAA,EAAA;AAC3D,MAAO,OAAA,EAAA;AAAA;AAJA,IAAA,MAAA,CAAA,aAAA,EAAA,eAAA,CAAA;AAMT,IAAA,WAAA,CAAY,MAAM;AAChB,MAAA,UAAA,CAAW,QAAQ,aAAc,EAAA;AAAA,KAClC,CAAA
|
|
1
|
+
{"version":3,"file":"page-header.vue2.mjs","sources":["../../../../../../../packages/components/page-header/src/page-header.vue"],"sourcesContent":["<script lang=\"ts\" setup>\n import { inject, ref, watchEffect } from 'vue';\n import { MENU_STORE } from '../../../utils';\n import { PageHeaderProps } from './page-header';\n\n defineOptions({\n name: 'IPageHeader',\n });\n\n const props = defineProps(PageHeaderProps);\n const menuStore = inject(MENU_STORE);\n const headerText = ref('');\n\n function setHeaderText() {\n if (props.title) return props.title;\n if (props.action) return props.action?.getCurrentMenu()?.label || '';\n if (menuStore) return menuStore.getCurrentMenu()?.label || '';\n return '';\n }\n watchEffect(() => {\n headerText.value = setHeaderText();\n });\n</script>\n\n<template>\n <div\n class=\"t-page-header\"\n :class=\"{\n 't-page-header__underline': underline,\n 't-page-header__between': slotFlex === 'between',\n 't-page-header__start': slotFlex === 'start',\n }\"\n >\n <div :class=\"{ 't-page-name': headerText }\">{{ headerText }}</div>\n <slot name=\"default\" />\n </div>\n</template>\n"],"names":["_createElementBlock","underline","slotFlex","_createElementVNode","_renderSlot"],"mappings":";;;;;;;;;;;;;;AASE,IAAA,MAAM,KAAQ,GAAA,OAAA;AACd,IAAM,MAAA,SAAA,GAAY,OAAO,UAAU,CAAA;AACnC,IAAM,MAAA,UAAA,GAAa,IAAI,EAAE,CAAA;AAEzB,IAAA,SAAS,aAAgB,GAAA;;AACvB,MAAI,IAAA,KAAA,CAAM,KAAO,EAAA,OAAO,KAAM,CAAA,KAAA;AAC9B,MAAI,IAAA,KAAA,CAAM,QAAe,OAAA,CAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,KAAA,CAAM,WAAN,IAAc,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,cAAA,EAAA,KAAd,mBAAgC,KAAS,KAAA,EAAA;AAClE,MAAA,IAAI,WAAkB,OAAA,CAAA,CAAA,EAAA,GAAA,SAAA,CAAU,cAAe,EAAA,KAAzB,mBAA4B,KAAS,KAAA,EAAA;AAC3D,MAAO,OAAA,EAAA;AAAA;AAJA,IAAA,MAAA,CAAA,aAAA,EAAA,eAAA,CAAA;AAMT,IAAA,WAAA,CAAY,MAAM;AAChB,MAAA,UAAA,CAAW,QAAQ,aAAc,EAAA;AAAA,KAClC,CAAA;;wBAID,EAAAA,kBAAA;AAAA,QAUM,KAAA;AAAA,QAAA;AAAA,UATJ,KAAA,kBAAM,eAAe,EAAA;AAAA,wCACuBC,IAAS,CAAA,SAAA;AAAA,sCAAkCC,KAAQ,QAAA,KAAA,SAAA;AAAA,oCAA8CA,KAAQ,QAAA,KAAA;AAAA;;;UAMrJC,kBAAA;AAAA,YAAkE,KAAA;AAAA,YAAA;AAAA,cAA5D,qCAAwB,EAAA,UAAA,CAAU,OAAA;AAAA;4BAAO,WAAU,KAAA,CAAA;AAAA,YAAA;AAAA;AAAA,WAAA;AAAA,UACzDC,UAAA,CAAuB,IAAA,CAAA,MAAA,EAAA,SAAA;AAAA;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"radio.vue2.mjs","sources":["../../../../../../../packages/components/radio/src/radio.vue"],"sourcesContent":["<script lang=\"ts\" setup>\n import { ElRadio, ElRadioButton, ElRadioGroup } from 'element-plus';\n import { computed, inject, onMounted, ref, watch } from 'vue';\n import { DICT_STORE, excludeObjectKeys } from '../../../utils';\n import { excludeRadioKeys, RadioProps } from './radio';\n\n defineOptions({\n name: 'IRadio',\n });\n const props = defineProps(RadioProps);\n const emit = defineEmits({\n 'update:modelValue': (value: any) => value,\n change: (value: any) => value,\n });\n const dictStore = inject(DICT_STORE);\n const bindAttrs = computed(() => excludeObjectKeys(props, excludeRadioKeys));\n\n const radioOptions = ref<any[]>([]);\n onMounted(() => setOptions());\n watch(\n () => props.data,\n () => setOptions(),\n { deep: true },\n );\n async function setOptions() {\n const list = await getList();\n radioOptions.value = props.dataCallback ? props.dataCallback(list) : list;\n }\n\n async function getList() {\n if (Array.isArray(props.data)) {\n return props.data;\n }\n if (dictStore) {\n return await dictStore.getDict(props.data);\n }\n return [];\n }\n\n const value = ref('');\n watch(\n () => props.modelValue,\n (val: any) => (value.value = val),\n { deep: true, immediate: true },\n );\n const handleChange = (val: any) => {\n emit('change', val);\n emit('update:modelValue', val);\n };\n</script>\n\n<template>\n <ElRadioGroup v-model=\"value\" v-bind=\"bindAttrs\" @change=\"handleChange\">\n <template v-if=\"type === 'button'\">\n <ElRadioButton\n v-for=\"item of radioOptions\"\n :key=\"item[optValue]\"\n :label=\"item[optValue]\"\n :disabled=\"item.disabled\"\n >\n {{ item[optLabel] }}\n </ElRadioButton>\n </template>\n <template v-else>\n <ElRadio v-for=\"item of radioOptions\" :key=\"item[optValue]\" :label=\"item[optValue]\" :disabled=\"item.disabled\">\n {{ item[optLabel] }}\n </ElRadio>\n </template>\n </ElRadioGroup>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;AASE,IAAA,MAAM,KAAQ,GAAA,OAAA;AACd,IAAA,MAAM,IAAO,GAAA,MAAA;AAIb,IAAM,MAAA,SAAA,GAAY,OAAO,UAAU,CAAA;AACnC,IAAA,MAAM,YAAY,QAAS,CAAA,MAAM,iBAAkB,CAAA,KAAA,EAAO,gBAAgB,CAAC,CAAA;AAE3E,IAAM,MAAA,YAAA,GAAe,GAAW,CAAA,EAAE,CAAA;AAClC,IAAU,SAAA,CAAA,MAAM,YAAY,CAAA;AAC5B,IAAA,KAAA;AAAA,MACE,MAAM,KAAM,CAAA,IAAA;AAAA,MACZ,MAAM,UAAW,EAAA;AAAA,MACjB,EAAE,MAAM,IAAK;AAAA,KACf;AACA,IAAA,eAAe,UAAa,GAAA;AAC1B,MAAM,MAAA,IAAA,GAAO,MAAM,OAAQ,EAAA;AAC3B,MAAA,YAAA,CAAa,QAAQ,KAAM,CAAA,YAAA,GAAe,KAAM,CAAA,YAAA,CAAa,IAAI,CAAI,GAAA,IAAA;AAAA;AAFxD,IAAA,MAAA,CAAA,UAAA,EAAA,YAAA,CAAA;AAKf,IAAA,eAAe,OAAU,GAAA;AACvB,MAAA,IAAI,KAAM,CAAA,OAAA,CAAQ,KAAM,CAAA,IAAI,CAAG,EAAA;AAC7B,QAAA,OAAO,KAAM,CAAA,IAAA;AAAA;AAEf,MAAA,IAAI,SAAW,EAAA;AACb,QAAA,OAAO,MAAM,SAAA,CAAU,OAAQ,CAAA,KAAA,CAAM,IAAI,CAAA;AAAA;AAE3C,MAAA,OAAO,EAAC;AAAA;AAPK,IAAA,MAAA,CAAA,OAAA,EAAA,SAAA,CAAA;AAUf,IAAM,MAAA,KAAA,GAAQ,IAAI,EAAE,CAAA;AACpB,IAAA,KAAA;AAAA,MACE,MAAM,KAAM,CAAA,UAAA;AAAA,MACZ,CAAC,GAAc,KAAA,KAAA,CAAM,KAAQ,GAAA,GAAA;AAAA,MAC7B,EAAE,IAAA,EAAM,IAAM,EAAA,SAAA,EAAW,IAAK;AAAA,KAChC;AACA,IAAM,MAAA,YAAA,2BAAgB,GAAa,KAAA;AACjC,MAAA,IAAA,CAAK,UAAU,GAAG,CAAA;AAClB,MAAA,IAAA,CAAK,qBAAqB,GAAG,CAAA;AAAA,KAFV,EAAA,cAAA,CAAA
|
|
1
|
+
{"version":3,"file":"radio.vue2.mjs","sources":["../../../../../../../packages/components/radio/src/radio.vue"],"sourcesContent":["<script lang=\"ts\" setup>\n import { ElRadio, ElRadioButton, ElRadioGroup } from 'element-plus';\n import { computed, inject, onMounted, ref, watch } from 'vue';\n import { DICT_STORE, excludeObjectKeys } from '../../../utils';\n import { excludeRadioKeys, RadioProps } from './radio';\n\n defineOptions({\n name: 'IRadio',\n });\n const props = defineProps(RadioProps);\n const emit = defineEmits({\n 'update:modelValue': (value: any) => value,\n change: (value: any) => value,\n });\n const dictStore = inject(DICT_STORE);\n const bindAttrs = computed(() => excludeObjectKeys(props, excludeRadioKeys));\n\n const radioOptions = ref<any[]>([]);\n onMounted(() => setOptions());\n watch(\n () => props.data,\n () => setOptions(),\n { deep: true },\n );\n async function setOptions() {\n const list = await getList();\n radioOptions.value = props.dataCallback ? props.dataCallback(list) : list;\n }\n\n async function getList() {\n if (Array.isArray(props.data)) {\n return props.data;\n }\n if (dictStore) {\n return await dictStore.getDict(props.data);\n }\n return [];\n }\n\n const value = ref('');\n watch(\n () => props.modelValue,\n (val: any) => (value.value = val),\n { deep: true, immediate: true },\n );\n const handleChange = (val: any) => {\n emit('change', val);\n emit('update:modelValue', val);\n };\n</script>\n\n<template>\n <ElRadioGroup v-model=\"value\" v-bind=\"bindAttrs\" @change=\"handleChange\">\n <template v-if=\"type === 'button'\">\n <ElRadioButton\n v-for=\"item of radioOptions\"\n :key=\"item[optValue]\"\n :label=\"item[optValue]\"\n :disabled=\"item.disabled\"\n >\n {{ item[optLabel] }}\n </ElRadioButton>\n </template>\n <template v-else>\n <ElRadio v-for=\"item of radioOptions\" :key=\"item[optValue]\" :label=\"item[optValue]\" :disabled=\"item.disabled\">\n {{ item[optLabel] }}\n </ElRadio>\n </template>\n </ElRadioGroup>\n</template>\n"],"names":["_openBlock","_createBlock","_unref","_mergeProps","type","_createElementBlock","_Fragment","_renderList","optValue","_createTextVNode","_toDisplayString","optLabel"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.vue2.mjs","sources":["../../../../../../../packages/components/search/src/search.vue"],"sourcesContent":["<script lang=\"ts\" setup>\n import { ElButton } from 'element-plus';\n import { ref, watchEffect } from 'vue';\n import { excludeObjectKeys } from '../../../utils';\n import IForm from '../../form/src/form.vue';\n import { excludeSearchPropsKeys, SearchEmits, SearchProps } from './search';\n\n defineOptions({\n name: 'ISearch',\n });\n const props = defineProps(SearchProps);\n const emit = defineEmits(SearchEmits);\n\n const bindAttrs = ref<any>();\n watchEffect(() => {\n const attrs = excludeObjectKeys(props, excludeSearchPropsKeys);\n if (!attrs.fileds) {\n attrs.fileds = [];\n }\n if (!attrs.fields.some((item: any) => item.prop === 'searchBtn')) {\n attrs.fields.push({\n prop: 'searchBtn',\n comp: 'slot',\n });\n }\n bindAttrs.value = attrs;\n });\n\n const formRef = ref();\n defineExpose({\n getRef() {\n return formRef.value?.getRef();\n },\n });\n\n const handleChange = (key: string, value: any, ref: any, comp: string) => {\n emit('change', key, value, ref, comp);\n if (comp === 'el-input') {\n // el-input change 调用查询事件\n // 即在输入框值变化和按下回车时,触发查询事件。\n // emit('search', props.model);\n }\n };\n</script>\n\n<template>\n <div class=\"i-search\">\n <IForm ref=\"formRef\" v-bind=\"bindAttrs\" @change=\"handleChange\">\n <template v-for=\"(item, key) in $slots\" :key=\"key\" #[key]>\n <slot v-if=\"key !== 'searchBtn' && key !== 'btn'\" :name=\"key\" v-bind=\"item\" />\n </template>\n <template #searchBtn>\n <div class=\"i-search__opera\">\n <template v-if=\"showDefaultBtn\">\n <ElButton type=\"primary\" :loading=\"loading\" @click=\"emit('search', model)\">{{ searchBtnText }}</ElButton>\n <ElButton :loading=\"loading\" @click=\"emit('reset')\">{{ resetBtnText }}</ElButton>\n </template>\n <template v-if=\"$slots.btn\">\n <slot name=\"btn\" />\n </template>\n </div>\n </template>\n </IForm>\n </div>\n</template>\n"],"names":["ref"],"mappings":";;;;;;;;;;;;;;;;;;;;AAUE,IAAA,MAAM,KAAQ,GAAA,OAAA;AACd,IAAA,MAAM,IAAO,GAAA,MAAA;AAEb,IAAA,MAAM,YAAY,GAAS,EAAA;AAC3B,IAAA,WAAA,CAAY,MAAM;AAChB,MAAM,MAAA,KAAA,GAAQ,iBAAkB,CAAA,KAAA,EAAO,sBAAsB,CAAA;AAC7D,MAAI,IAAA,CAAC,MAAM,MAAQ,EAAA;AACjB,QAAA,KAAA,CAAM,SAAS,EAAC;AAAA;AAElB,MAAI,IAAA,CAAC,MAAM,MAAO,CAAA,IAAA,CAAK,CAAC,IAAc,KAAA,IAAA,CAAK,IAAS,KAAA,WAAW,CAAG,EAAA;AAChE,QAAA,KAAA,CAAM,OAAO,IAAK,CAAA;AAAA,UAChB,IAAM,EAAA,WAAA;AAAA,UACN,IAAM,EAAA;AAAA,SACP,CAAA;AAAA;AAEH,MAAA,SAAA,CAAU,KAAQ,GAAA,KAAA;AAAA,KACnB,CAAA;AAED,IAAA,MAAM,UAAU,GAAI,EAAA;AACpB,IAAa,QAAA,CAAA;AAAA,MACX,MAAS,GAAA;;AACP,QAAO,OAAA,CAAA,EAAA,GAAA,OAAA,CAAQ,UAAR,IAAe,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,MAAA,EAAA;AAAA;AACxB,KACD,CAAA;AAED,IAAA,MAAM,YAAe,mBAAA,MAAA,CAAA,CAAC,GAAa,EAAA,KAAA,EAAYA,MAAU,IAAiB,KAAA;AACxE,MAAA,IAAA,CAAK,QAAU,EAAA,GAAA,EAAK,KAAOA,EAAAA,IAAAA,EAAK,IAAI,CAAA;AACpC,MAAA,IAAI,SAAS,UAAY,EAAA;AAAA;AAIzB,KANmB,EAAA,cAAA,CAAA
|
|
1
|
+
{"version":3,"file":"search.vue2.mjs","sources":["../../../../../../../packages/components/search/src/search.vue"],"sourcesContent":["<script lang=\"ts\" setup>\n import { ElButton } from 'element-plus';\n import { ref, watchEffect } from 'vue';\n import { excludeObjectKeys } from '../../../utils';\n import IForm from '../../form/src/form.vue';\n import { excludeSearchPropsKeys, SearchEmits, SearchProps } from './search';\n\n defineOptions({\n name: 'ISearch',\n });\n const props = defineProps(SearchProps);\n const emit = defineEmits(SearchEmits);\n\n const bindAttrs = ref<any>();\n watchEffect(() => {\n const attrs = excludeObjectKeys(props, excludeSearchPropsKeys);\n if (!attrs.fileds) {\n attrs.fileds = [];\n }\n if (!attrs.fields.some((item: any) => item.prop === 'searchBtn')) {\n attrs.fields.push({\n prop: 'searchBtn',\n comp: 'slot',\n });\n }\n bindAttrs.value = attrs;\n });\n\n const formRef = ref();\n defineExpose({\n getRef() {\n return formRef.value?.getRef();\n },\n });\n\n const handleChange = (key: string, value: any, ref: any, comp: string) => {\n emit('change', key, value, ref, comp);\n if (comp === 'el-input') {\n // el-input change 调用查询事件\n // 即在输入框值变化和按下回车时,触发查询事件。\n // emit('search', props.model);\n }\n };\n</script>\n\n<template>\n <div class=\"i-search\">\n <IForm ref=\"formRef\" v-bind=\"bindAttrs\" @change=\"handleChange\">\n <template v-for=\"(item, key) in $slots\" :key=\"key\" #[key]>\n <slot v-if=\"key !== 'searchBtn' && key !== 'btn'\" :name=\"key\" v-bind=\"item\" />\n </template>\n <template #searchBtn>\n <div class=\"i-search__opera\">\n <template v-if=\"showDefaultBtn\">\n <ElButton type=\"primary\" :loading=\"loading\" @click=\"emit('search', model)\">{{ searchBtnText }}</ElButton>\n <ElButton :loading=\"loading\" @click=\"emit('reset')\">{{ resetBtnText }}</ElButton>\n </template>\n <template v-if=\"$slots.btn\">\n <slot name=\"btn\" />\n </template>\n </div>\n </template>\n </IForm>\n </div>\n</template>\n"],"names":["ref","_openBlock","_createElementBlock","_createVNode","IForm","_mergeProps","_createSlots","_createElementVNode","showDefaultBtn","_Fragment","_unref","loading","model","searchBtnText","resetBtnText","$slots","_renderSlot","_normalizeProps"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"segmented.vue2.mjs","sources":["../../../../../../../packages/components/segmented/src/segmented.vue"],"sourcesContent":["<script lang=\"ts\" setup>\n import { useElementSize } from '@vueuse/core';\n import { computed, nextTick, onMounted, onUnmounted, ref, useSlots, watch } from 'vue';\n import { SegmentedProps } from './segmented';\n\n defineOptions({\n name: 'ISegmented',\n });\n\n const props = defineProps(SegmentedProps);\n const emits = defineEmits(['update:modelValue', 'change']);\n\n // ref 引用\n const segmentedControl = ref<HTMLElement | null>(null);\n // 当前选中的索引\n const activeSegment = ref(-1);\n\n // 获取每个按钮的宽度\n const buttonWidths = ref<number[]>([]);\n\n const { width: cw } = useElementSize(segmentedControl);\n\n // 更新按钮宽度\n const updateButtonWidths = () => {\n nextTick(() => {\n setTimeout(() => {\n // 同样增加延迟以确保样式已完全应用\n const buttons = segmentedControl.value?.querySelectorAll('.i-segmented-control__item') || [];\n buttonWidths.value = Array.from(buttons).map(button => {\n return button.getBoundingClientRect().width;\n });\n activeSegment.value = props.segments.findIndex(it => it.value === props.modelValue);\n }, 100); // 延迟 100ms\n });\n };\n\n // 在组件挂载后获取按钮宽度\n onMounted(() => {\n updateButtonWidths();\n // 监听窗口大小变化,重新计算按钮宽度\n window.addEventListener('resize', updateButtonWidths);\n });\n\n // 监听 modelValue 的变化\n watch(\n () => props.modelValue,\n newValue => {\n activeSegment.value = props.segments.findIndex(it => it.value === newValue);\n },\n );\n\n // 在组件卸载时移除 resize 事件监听\n onUnmounted(() => {\n window.removeEventListener('resize', updateButtonWidths);\n });\n\n // 计算当前激活分段的样式偏移量\n const activeOffset = computed(() => {\n if (buttonWidths.value.length === 0) return '0px';\n const offset = buttonWidths.value.slice(0, activeSegment.value).reduce((sum, width) => sum + width, 0);\n return `${offset}px`;\n });\n\n // 切换分段的方法\n const selectSegment = (index: number, disabled?: boolean) => {\n if (disabled) return;\n activeSegment.value = index;\n nextTick(() => {\n emits('update:modelValue', props.segments[index].value);\n emits('change', props.segments[index].value);\n });\n };\n\n const slots = useSlots();\n</script>\n\n<template>\n <div ref=\"segmentedControl\" class=\"i-segmented\" :class=\"[`i-segmented__${size || 'default'}`]\">\n <div class=\"i-segmented-control\">\n <!-- 分段按钮 -->\n <div\n v-for=\"(segment, index) in segments\"\n :key=\"index\"\n class=\"i-segmented-control__item\"\n :class=\"{ active: activeSegment === index, 'i-segmented-control__disabled': segment.disabled }\"\n @click=\"selectSegment(index, segment.disabled)\"\n >\n <slot v-if=\"slots.default\" name=\"default\" :segment=\"segment\" :index=\"index\" />\n <span\n v-else\n class=\"i-segmented-label\"\n :style=\"{ width: block ? `${cw / segments.length - 20}px` : '100%' }\"\n :title=\"segment.label\"\n >{{ segment.label }}</span\n >\n </div>\n\n <!-- 平移动效指示器 -->\n <span\n class=\"indicator\"\n :style=\"{\n transform: `translateX(${activeOffset})`,\n width: block ? `calc(100% / ${segments.length})` : `${buttonWidths[activeSegment]}px`,\n }\"\n />\n </div>\n </div>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AASE,IAAA,MAAM,KAAQ,GAAA,OAAA;AACd,IAAA,MAAM,KAAQ,GAAA,MAAA;AAGd,IAAM,MAAA,gBAAA,GAAmB,IAAwB,IAAI,CAAA;AAErD,IAAM,MAAA,aAAA,GAAgB,IAAI,CAAE,CAAA,CAAA;AAG5B,IAAM,MAAA,YAAA,GAAe,GAAc,CAAA,EAAE,CAAA;AAErC,IAAA,MAAM,EAAE,KAAA,EAAO,EAAG,EAAA,GAAI,eAAe,gBAAgB,CAAA;AAGrD,IAAA,MAAM,qCAA2B,MAAA,CAAA,MAAA;AAC/B,MAAA,QAAA,CAAS,MAAM;AACb,QAAA,UAAA,CAAW,MAAM;;AAEf,UAAA,MAAM,YAAU,EAAiB,GAAA,gBAAA,CAAA,KAAA,KAAjB,IAAwB,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,gBAAA,CAAiB,kCAAiC,EAAC;AAC3F,UAAA,YAAA,CAAa,QAAQ,KAAM,CAAA,IAAA,CAAK,OAAO,CAAA,CAAE,IAAI,CAAU,MAAA,KAAA;AACrD,YAAO,OAAA,MAAA,CAAO,uBAAwB,CAAA,KAAA;AAAA,WACvC,CAAA;AACD,UAAc,aAAA,CAAA,KAAA,GAAQ,MAAM,QAAS,CAAA,SAAA,CAAU,QAAM,EAAG,CAAA,KAAA,KAAU,MAAM,UAAU,CAAA;AAAA,WACjF,GAAG,CAAA;AAAA,OACP,CAAA;AAAA,KAVwB,EAAA,oBAAA,CAAA;AAc3B,IAAA,SAAA,CAAU,MAAM;AACd,MAAmB,kBAAA,EAAA;AAEnB,MAAO,MAAA,CAAA,gBAAA,CAAiB,UAAU,kBAAkB,CAAA;AAAA,KACrD,CAAA;AAGD,IAAA,KAAA;AAAA,MACE,MAAM,KAAM,CAAA,UAAA;AAAA,MACZ,CAAY,QAAA,KAAA;AACV,QAAA,aAAA,CAAc,QAAQ,KAAM,CAAA,QAAA,CAAS,UAAU,CAAM,EAAA,KAAA,EAAA,CAAG,UAAU,QAAQ,CAAA;AAAA;AAC5E,KACF;AAGA,IAAA,WAAA,CAAY,MAAM;AAChB,MAAO,MAAA,CAAA,mBAAA,CAAoB,UAAU,kBAAkB,CAAA;AAAA,KACxD,CAAA;AAGD,IAAM,MAAA,YAAA,GAAe,SAAS,MAAM;AAClC,MAAA,IAAI,YAAa,CAAA,KAAA,CAAM,MAAW,KAAA,CAAA,EAAU,OAAA,KAAA;AAC5C,MAAA,MAAM,MAAS,GAAA,YAAA,CAAa,KAAM,CAAA,KAAA,CAAM,GAAG,aAAc,CAAA,KAAK,CAAE,CAAA,MAAA,CAAO,CAAC,GAAA,EAAK,KAAU,KAAA,GAAA,GAAM,OAAO,CAAC,CAAA;AACrG,MAAA,OAAO,GAAG,MAAM,CAAA,EAAA,CAAA;AAAA,KACjB,CAAA;AAGD,IAAM,MAAA,aAAA,mBAAiB,MAAA,CAAA,CAAA,KAAA,EAAe,QAAuB,KAAA;AAC3D,MAAA,IAAI,QAAU,EAAA;AACd,MAAA,aAAA,CAAc,KAAQ,GAAA,KAAA;AACtB,MAAA,QAAA,CAAS,MAAM;AACb,QAAA,KAAA,CAAM,mBAAqB,EAAA,KAAA,CAAM,QAAS,CAAA,KAAK,EAAE,KAAK,CAAA;AACtD,QAAA,KAAA,CAAM,QAAU,EAAA,KAAA,CAAM,QAAS,CAAA,KAAK,EAAE,KAAK,CAAA;AAAA,OAC5C,CAAA;AAAA,KANmB,EAAA,eAAA,CAAA;AAStB,IAAA,MAAM,QAAQ,QAAS,EAAA
|
|
1
|
+
{"version":3,"file":"segmented.vue2.mjs","sources":["../../../../../../../packages/components/segmented/src/segmented.vue"],"sourcesContent":["<script lang=\"ts\" setup>\n import { useElementSize } from '@vueuse/core';\n import { computed, nextTick, onMounted, onUnmounted, ref, useSlots, watch } from 'vue';\n import { SegmentedProps } from './segmented';\n\n defineOptions({\n name: 'ISegmented',\n });\n\n const props = defineProps(SegmentedProps);\n const emits = defineEmits(['update:modelValue', 'change']);\n\n // ref 引用\n const segmentedControl = ref<HTMLElement | null>(null);\n // 当前选中的索引\n const activeSegment = ref(-1);\n\n // 获取每个按钮的宽度\n const buttonWidths = ref<number[]>([]);\n\n const { width: cw } = useElementSize(segmentedControl);\n\n // 更新按钮宽度\n const updateButtonWidths = () => {\n nextTick(() => {\n setTimeout(() => {\n // 同样增加延迟以确保样式已完全应用\n const buttons = segmentedControl.value?.querySelectorAll('.i-segmented-control__item') || [];\n buttonWidths.value = Array.from(buttons).map(button => {\n return button.getBoundingClientRect().width;\n });\n activeSegment.value = props.segments.findIndex(it => it.value === props.modelValue);\n }, 100); // 延迟 100ms\n });\n };\n\n // 在组件挂载后获取按钮宽度\n onMounted(() => {\n updateButtonWidths();\n // 监听窗口大小变化,重新计算按钮宽度\n window.addEventListener('resize', updateButtonWidths);\n });\n\n // 监听 modelValue 的变化\n watch(\n () => props.modelValue,\n newValue => {\n activeSegment.value = props.segments.findIndex(it => it.value === newValue);\n },\n );\n\n // 在组件卸载时移除 resize 事件监听\n onUnmounted(() => {\n window.removeEventListener('resize', updateButtonWidths);\n });\n\n // 计算当前激活分段的样式偏移量\n const activeOffset = computed(() => {\n if (buttonWidths.value.length === 0) return '0px';\n const offset = buttonWidths.value.slice(0, activeSegment.value).reduce((sum, width) => sum + width, 0);\n return `${offset}px`;\n });\n\n // 切换分段的方法\n const selectSegment = (index: number, disabled?: boolean) => {\n if (disabled) return;\n activeSegment.value = index;\n nextTick(() => {\n emits('update:modelValue', props.segments[index].value);\n emits('change', props.segments[index].value);\n });\n };\n\n const slots = useSlots();\n</script>\n\n<template>\n <div ref=\"segmentedControl\" class=\"i-segmented\" :class=\"[`i-segmented__${size || 'default'}`]\">\n <div class=\"i-segmented-control\">\n <!-- 分段按钮 -->\n <div\n v-for=\"(segment, index) in segments\"\n :key=\"index\"\n class=\"i-segmented-control__item\"\n :class=\"{ active: activeSegment === index, 'i-segmented-control__disabled': segment.disabled }\"\n @click=\"selectSegment(index, segment.disabled)\"\n >\n <slot v-if=\"slots.default\" name=\"default\" :segment=\"segment\" :index=\"index\" />\n <span\n v-else\n class=\"i-segmented-label\"\n :style=\"{ width: block ? `${cw / segments.length - 20}px` : '100%' }\"\n :title=\"segment.label\"\n >{{ segment.label }}</span\n >\n </div>\n\n <!-- 平移动效指示器 -->\n <span\n class=\"indicator\"\n :style=\"{\n transform: `translateX(${activeOffset})`,\n width: block ? `calc(100% / ${segments.length})` : `${buttonWidths[activeSegment]}px`,\n }\"\n />\n </div>\n </div>\n</template>\n"],"names":["_createElementBlock","_normalizeClass","size","_createElementVNode","_createCommentVNode","_openBlock","_Fragment","segments","_unref","_renderSlot","block","_toDisplayString","_normalizeStyle"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.vue2.mjs","sources":["../../../../../../../packages/components/select/src/select.vue"],"sourcesContent":["<script lang=\"ts\" setup>\n import { ElOption, ElSelect } from 'element-plus';\n import { computed, inject, nextTick, ref, watch, watchEffect } from 'vue';\n import { DICT_STORE, excludeObjectKeys } from '../../../utils';\n import { SelectProps } from './select';\n\n defineOptions({\n name: 'ISelect',\n });\n const props = defineProps(SelectProps);\n const emits = defineEmits({\n visibleChange: (visible: boolean) => visible,\n removeTag: (tagValue: any) => tagValue,\n 'update:modelValue': (value: any) => value,\n clear: () => true,\n blur: (evt: MouseEvent) => evt,\n focus: (evt: MouseEvent) => evt,\n change: (value: any) => value,\n });\n const dictStore = inject(DICT_STORE);\n\n const bindAttrs = computed(() => {\n return excludeObjectKeys(props, ['data', 'dataCallback', 'optLabel', 'optValue', 'modelValue', 'action']);\n });\n\n const _loading = ref(false);\n const optionList = ref<any[]>([]);\n const selectRef = ref();\n const selectValue = ref(props.modelValue);\n\n watchEffect(() => {\n _loading.value = props.loading;\n });\n watch(\n () => props.data,\n () => setOptions(),\n { deep: true, immediate: true },\n );\n watch(\n () => props.modelValue,\n (val: any) => (selectValue.value = val),\n { deep: true, immediate: true },\n );\n\n defineExpose({\n getRef() {\n return selectRef.value;\n },\n focus() {\n selectRef.value?.focus();\n },\n blur() {\n selectRef.value?.blur();\n },\n });\n\n const handleChange = (value: any) => {\n emits('update:modelValue', value);\n emits('change', value);\n };\n\n async function setOptions() {\n _loading.value = true;\n const list = await getList();\n optionList.value = props.dataCallback ? props.dataCallback(list) : list;\n await nextTick();\n _loading.value = false;\n }\n\n async function getList() {\n if (Array.isArray(props.data)) {\n return props.data;\n } else {\n if (props?.action) return await props.action?.getDict(props.data);\n if (dictStore) return await dictStore.getDict(props.data);\n return [];\n }\n }\n function handleVisibleChange(visible: boolean) {\n emits('visibleChange', visible);\n }\n function handleRemoveTag(tagValue: any) {\n emits('removeTag', tagValue);\n }\n</script>\n\n<template>\n <ElSelect\n ref=\"selectRef\"\n v-model=\"selectValue\"\n class=\"i-select\"\n v-bind=\"bindAttrs\"\n :loading=\"_loading\"\n @change=\"handleChange\"\n @visible-change=\"handleVisibleChange\"\n @remove-tag=\"handleRemoveTag\"\n @clear=\"emits('clear')\"\n @blur=\"event => emits('blur', event)\"\n @focus=\"event => emits('focus', event)\"\n >\n <ElOption\n v-for=\"(option, index) of optionList\"\n :key=\"option[optValue]\"\n :label=\"option[optLabel]\"\n :value=\"option[optValue]\"\n :disabled=\"option?.disabled\"\n >\n <template #default>\n <slot name=\"default\" :data=\"option\" :index=\"index\" />\n </template>\n </ElOption>\n </ElSelect>\n</template>\n"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"select.vue2.mjs","sources":["../../../../../../../packages/components/select/src/select.vue"],"sourcesContent":["<script lang=\"ts\" setup>\n import { ElOption, ElSelect } from 'element-plus';\n import { computed, inject, nextTick, ref, watch, watchEffect } from 'vue';\n import { DICT_STORE, excludeObjectKeys } from '../../../utils';\n import { SelectProps } from './select';\n\n defineOptions({\n name: 'ISelect',\n });\n const props = defineProps(SelectProps);\n const emits = defineEmits({\n visibleChange: (visible: boolean) => visible,\n removeTag: (tagValue: any) => tagValue,\n 'update:modelValue': (value: any) => value,\n clear: () => true,\n blur: (evt: MouseEvent) => evt,\n focus: (evt: MouseEvent) => evt,\n change: (value: any) => value,\n });\n const dictStore = inject(DICT_STORE);\n\n const bindAttrs = computed(() => {\n return excludeObjectKeys(props, ['data', 'dataCallback', 'optLabel', 'optValue', 'modelValue', 'action']);\n });\n\n const _loading = ref(false);\n const optionList = ref<any[]>([]);\n const selectRef = ref();\n const selectValue = ref(props.modelValue);\n\n watchEffect(() => {\n _loading.value = props.loading;\n });\n watch(\n () => props.data,\n () => setOptions(),\n { deep: true, immediate: true },\n );\n watch(\n () => props.modelValue,\n (val: any) => (selectValue.value = val),\n { deep: true, immediate: true },\n );\n\n defineExpose({\n getRef() {\n return selectRef.value;\n },\n focus() {\n selectRef.value?.focus();\n },\n blur() {\n selectRef.value?.blur();\n },\n });\n\n const handleChange = (value: any) => {\n emits('update:modelValue', value);\n emits('change', value);\n };\n\n async function setOptions() {\n _loading.value = true;\n const list = await getList();\n optionList.value = props.dataCallback ? props.dataCallback(list) : list;\n await nextTick();\n _loading.value = false;\n }\n\n async function getList() {\n if (Array.isArray(props.data)) {\n return props.data;\n } else {\n if (props?.action) return await props.action?.getDict(props.data);\n if (dictStore) return await dictStore.getDict(props.data);\n return [];\n }\n }\n function handleVisibleChange(visible: boolean) {\n emits('visibleChange', visible);\n }\n function handleRemoveTag(tagValue: any) {\n emits('removeTag', tagValue);\n }\n</script>\n\n<template>\n <ElSelect\n ref=\"selectRef\"\n v-model=\"selectValue\"\n class=\"i-select\"\n v-bind=\"bindAttrs\"\n :loading=\"_loading\"\n @change=\"handleChange\"\n @visible-change=\"handleVisibleChange\"\n @remove-tag=\"handleRemoveTag\"\n @clear=\"emits('clear')\"\n @blur=\"event => emits('blur', event)\"\n @focus=\"event => emits('focus', event)\"\n >\n <ElOption\n v-for=\"(option, index) of optionList\"\n :key=\"option[optValue]\"\n :label=\"option[optLabel]\"\n :value=\"option[optValue]\"\n :disabled=\"option?.disabled\"\n >\n <template #default>\n <slot name=\"default\" :data=\"option\" :index=\"index\" />\n </template>\n </ElOption>\n </ElSelect>\n</template>\n"],"names":["_openBlock","_createBlock","_unref","_mergeProps","_createElementBlock","_Fragment","_renderList","optValue","optLabel","_renderSlot"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resizer.vue.mjs","sources":["../../../../../../../packages/components/split-pane/src/resizer.vue"],"sourcesContent":["<template>\n <div :class=\"classes\" />\n</template>\n\n<script lang=\"ts\">\n import { computed, defineComponent } from 'vue';\n\n export default defineComponent({\n name: 'Resizer',\n props: {\n split: {\n type: String,\n required: true,\n },\n className: {\n type: String,\n default: '',\n },\n },\n setup(props) {\n const classes = computed(() => {\n return ['splitter-pane-resizer', props.split, props.className].join(' ');\n });\n\n return {\n classes,\n };\n },\n });\n</script>\n\n<style scoped></style>\n"],"names":["classes"],"mappings":";;;;;;AACa,SAAA,
|
|
1
|
+
{"version":3,"file":"resizer.vue.mjs","sources":["../../../../../../../packages/components/split-pane/src/resizer.vue"],"sourcesContent":["<template>\n <div :class=\"classes\" />\n</template>\n\n<script lang=\"ts\">\n import { computed, defineComponent } from 'vue';\n\n export default defineComponent({\n name: 'Resizer',\n props: {\n split: {\n type: String,\n required: true,\n },\n className: {\n type: String,\n default: '',\n },\n },\n setup(props) {\n const classes = computed(() => {\n return ['splitter-pane-resizer', props.split, props.className].join(' ');\n });\n\n return {\n classes,\n };\n },\n });\n</script>\n\n<style scoped></style>\n"],"names":["classes"],"mappings":";;;;;;AACa,SAAA,YAAA,IAAEA,EAAAA,MAAAA,EAAO,MAAA,EAAA,MAAA,EAAA,OAAA,QAAA,EAAA;;;;;;;;;;;AAAT,MAAA,CAAA,WAAA,EAAA,aAAA,CAAA;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"split-pane.vue2.mjs","sources":["../../../../../../../packages/components/split-pane/src/split-pane.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import { computed, ref } from 'vue';\n import Resizer from './resizer.vue';\n import { SplitPaneProps } from './split-pane';\n\n defineOptions({\n name: 'ISplitPane',\n });\n\n const props = defineProps(SplitPaneProps);\n\n const emit = defineEmits(['resize']);\n\n const active = ref(false);\n const hasMoved = ref(false);\n const percent = ref(props.splitSet?.defaultPercent);\n const type = computed(() => (props.splitSet?.split === 'vertical' ? 'width' : 'height'));\n const resizeType = computed(() => (props.splitSet?.split === 'vertical' ? 'left' : 'top'));\n\n const leftClass = computed(() => ['i-splitter-pane i-splitter-paneL', props.splitSet?.split]);\n\n const rightClass = computed(() => ['i-splitter-pane i-splitter-paneR', props.splitSet?.split]);\n\n const cursor = computed(() => {\n return active.value\n ? props.splitSet?.split === 'vertical'\n ? { cursor: 'col-resize' }\n : { cursor: 'row-resize' }\n : { cursor: 'default' };\n });\n\n const onClick = () => {\n if (!hasMoved.value) {\n percent.value = 50;\n emit('resize', percent.value);\n }\n };\n\n const onMouseDown = (event: MouseEvent): void => {\n const target = event.target as HTMLElement;\n const className = target.className;\n if (className.includes('toLeft')) {\n if (percent.value === 100) {\n percent.value = props.splitSet?.defaultPercent;\n } else {\n percent.value = 0;\n }\n emit('resize', percent.value);\n } else if (className.includes('toRight')) {\n if (percent.value === 0) {\n percent.value = props.splitSet?.defaultPercent;\n } else {\n percent.value = 100;\n }\n emit('resize', percent.value);\n } else {\n active.value = true;\n hasMoved.value = false;\n }\n };\n\n const onMouseUp = (): void => {\n active.value = false;\n };\n\n const onMouseMove = (e: MouseEvent): void => {\n if (e.buttons === 0 || e.which === 0) {\n active.value = false;\n }\n\n if (active.value) {\n let offset = 0;\n let target = e.currentTarget as HTMLElement;\n if (props.splitSet?.split === 'vertical') {\n while (target) {\n offset += target.offsetLeft;\n target = target.offsetParent as HTMLElement;\n }\n } else {\n while (target) {\n offset += target.offsetTop;\n target = target.offsetParent as HTMLElement;\n }\n }\n\n const currentPage = props.splitSet?.split === 'vertical' ? e.pageX : e.pageY;\n // @ts-ignore\n const offsetWidth = e.currentTarget?.offsetWidth || 0;\n // @ts-ignore\n const offsetHeight = e.currentTarget?.offsetHeight || 0;\n const targetOffset = props.splitSet?.split === 'vertical' ? offsetWidth : offsetHeight;\n const percents = Math.floor(((currentPage - offset) / targetOffset) * 10000) / 100;\n\n if (percents > props.splitSet?.minPercent && percents < 100 - props.splitSet?.minPercent) {\n percent.value = percents;\n }\n\n emit('resize', percent.value);\n\n hasMoved.value = true;\n }\n };\n</script>\n\n<template>\n <div class=\"vue-splitter-container clearfix\" :style=\"cursor\" @mouseup=\"onMouseUp\" @mousemove=\"onMouseMove\">\n <div\n :class=\"leftClass\"\n :style=\"`${type}: ${percent === 100 ? 'calc(100% - 10px)' : `${percent}%`}; display: ${percent === 0 ? 'none' : ''}`\"\n >\n <slot name=\"paneL\" />\n </div>\n <Resizer\n :style=\"`${resizeType}:${percent}%; transform: ${percent === 100 ? 'translateX(-10px)' : ''}`\"\n :split=\"splitSet?.split\"\n @mousedown=\"onMouseDown\"\n @click=\"onClick\"\n />\n <div :class=\"rightClass\" :style=\"`${type}: ${100 - percent}%; display: ${percent === 100 ? 'none' : ''}`\">\n <slot name=\"paneR\" />\n </div>\n <div v-show=\"active\" class=\"vue-splitter-container-mask\" />\n </div>\n</template>\n"],"names":["_a"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"split-pane.vue2.mjs","sources":["../../../../../../../packages/components/split-pane/src/split-pane.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import { computed, ref } from 'vue';\n import Resizer from './resizer.vue';\n import { SplitPaneProps } from './split-pane';\n\n defineOptions({\n name: 'ISplitPane',\n });\n\n const props = defineProps(SplitPaneProps);\n\n const emit = defineEmits(['resize']);\n\n const active = ref(false);\n const hasMoved = ref(false);\n const percent = ref(props.splitSet?.defaultPercent);\n const type = computed(() => (props.splitSet?.split === 'vertical' ? 'width' : 'height'));\n const resizeType = computed(() => (props.splitSet?.split === 'vertical' ? 'left' : 'top'));\n\n const leftClass = computed(() => ['i-splitter-pane i-splitter-paneL', props.splitSet?.split]);\n\n const rightClass = computed(() => ['i-splitter-pane i-splitter-paneR', props.splitSet?.split]);\n\n const cursor = computed(() => {\n return active.value\n ? props.splitSet?.split === 'vertical'\n ? { cursor: 'col-resize' }\n : { cursor: 'row-resize' }\n : { cursor: 'default' };\n });\n\n const onClick = () => {\n if (!hasMoved.value) {\n percent.value = 50;\n emit('resize', percent.value);\n }\n };\n\n const onMouseDown = (event: MouseEvent): void => {\n const target = event.target as HTMLElement;\n const className = target.className;\n if (className.includes('toLeft')) {\n if (percent.value === 100) {\n percent.value = props.splitSet?.defaultPercent;\n } else {\n percent.value = 0;\n }\n emit('resize', percent.value);\n } else if (className.includes('toRight')) {\n if (percent.value === 0) {\n percent.value = props.splitSet?.defaultPercent;\n } else {\n percent.value = 100;\n }\n emit('resize', percent.value);\n } else {\n active.value = true;\n hasMoved.value = false;\n }\n };\n\n const onMouseUp = (): void => {\n active.value = false;\n };\n\n const onMouseMove = (e: MouseEvent): void => {\n if (e.buttons === 0 || e.which === 0) {\n active.value = false;\n }\n\n if (active.value) {\n let offset = 0;\n let target = e.currentTarget as HTMLElement;\n if (props.splitSet?.split === 'vertical') {\n while (target) {\n offset += target.offsetLeft;\n target = target.offsetParent as HTMLElement;\n }\n } else {\n while (target) {\n offset += target.offsetTop;\n target = target.offsetParent as HTMLElement;\n }\n }\n\n const currentPage = props.splitSet?.split === 'vertical' ? e.pageX : e.pageY;\n // @ts-ignore\n const offsetWidth = e.currentTarget?.offsetWidth || 0;\n // @ts-ignore\n const offsetHeight = e.currentTarget?.offsetHeight || 0;\n const targetOffset = props.splitSet?.split === 'vertical' ? offsetWidth : offsetHeight;\n const percents = Math.floor(((currentPage - offset) / targetOffset) * 10000) / 100;\n\n if (percents > props.splitSet?.minPercent && percents < 100 - props.splitSet?.minPercent) {\n percent.value = percents;\n }\n\n emit('resize', percent.value);\n\n hasMoved.value = true;\n }\n };\n</script>\n\n<template>\n <div class=\"vue-splitter-container clearfix\" :style=\"cursor\" @mouseup=\"onMouseUp\" @mousemove=\"onMouseMove\">\n <div\n :class=\"leftClass\"\n :style=\"`${type}: ${percent === 100 ? 'calc(100% - 10px)' : `${percent}%`}; display: ${percent === 0 ? 'none' : ''}`\"\n >\n <slot name=\"paneL\" />\n </div>\n <Resizer\n :style=\"`${resizeType}:${percent}%; transform: ${percent === 100 ? 'translateX(-10px)' : ''}`\"\n :split=\"splitSet?.split\"\n @mousedown=\"onMouseDown\"\n @click=\"onClick\"\n />\n <div :class=\"rightClass\" :style=\"`${type}: ${100 - percent}%; display: ${percent === 100 ? 'none' : ''}`\">\n <slot name=\"paneR\" />\n </div>\n <div v-show=\"active\" class=\"vue-splitter-container-mask\" />\n </div>\n</template>\n"],"names":["_a","_createElementBlock","_createElementVNode","_renderSlot","_createVNode","_normalizeStyle","splitSet","_withDirectives"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.vue2.mjs","sources":["../../../../../../../packages/components/table/src/table.vue"],"sourcesContent":["<script lang=\"ts\" setup>\n import { useElementSize } from '@vueuse/core';\n import { ElPagination, ElTable, ElTableColumn } from 'element-plus';\n import { computed, ref, useSlots, watch } from 'vue';\n import { excludeObjectKeys } from '../../../utils';\n import { TableProps } from './table';\n\n defineOptions({\n name: 'ITable',\n });\n\n const props = defineProps(TableProps);\n const emits = defineEmits([\n 'update:pagination',\n 'sizeChange',\n 'currentChange',\n 'select',\n 'selectAll',\n 'selectionChange',\n 'cellMouseEnter',\n 'cellMouseLeave',\n 'cellClick',\n 'cellDblclick',\n 'cellContextmenu',\n 'rowClick',\n 'rowContextmenu',\n 'rowDblclick',\n 'headerClick',\n 'headerContextmenu',\n 'sortChange',\n 'filterChange',\n 'currentChange',\n 'headerDragend',\n 'expandChange',\n ]);\n const tableAttrs = computed(() => excludeObjectKeys(props, ['height', 'columns', 'pagination', 'loading']));\n\n const tableWarpRef = ref();\n const slots = useSlots();\n\n // @ts-ignore\n const { height } = useElementSize(tableWarpRef);\n const tableHeight = computed(() => {\n if (props.height) {\n return props.height;\n } else {\n if (props.pagination?.currentPage) {\n return height.value - 50;\n }\n return height.value;\n }\n });\n\n const pagina = ref(props.pagination);\n watch(\n () => props.pagination,\n (val: any) => {\n pagina.value = {\n ...props.pagination,\n ...val,\n };\n },\n { deep: true },\n );\n\n function handleSizeChange(pageSize: number) {\n emits('update:pagination', {\n ...props.pagination,\n pageSize,\n });\n emits('sizeChange', pageSize);\n }\n\n function handleCurrentChange(currentPage: number) {\n emits('update:pagination', {\n ...props.pagination,\n currentPage,\n });\n emits('currentChange', currentPage);\n }\n\n const tableRef = ref();\n defineExpose({\n tableRef() {\n return tableRef.value;\n },\n });\n</script>\n\n<template>\n <div ref=\"tableWarpRef\" v-loading=\"loading\" class=\"i-table-warp\">\n <ElTable\n ref=\"tableRef\"\n v-bind=\"tableAttrs\"\n :height=\"tableHeight\"\n class=\"i-table\"\n @select=\"(selection, row) => emits('select', selection, row)\"\n @select-all=\"selection => emits('selectAll', selection)\"\n @selection-change=\"newSelection => emits('selectionChange', newSelection)\"\n @cell-mouse-enter=\"(row, column, cell, event) => emits('cellMouseEnter', row, column, cell, event)\"\n @cell-mouse-leave=\"(row, column, cell, event) => emits('cellMouseLeave', row, column, cell, event)\"\n @cell-click=\"(row, column, cell, event) => emits('cellClick', row, column, cell, event)\"\n @cell-dblclick=\"(row, column, cell, event) => emits('cellDblclick', row, column, cell, event)\"\n @cell-contextmenu=\"(row, column, cell, event) => emits('cellContextmenu', row, column, cell, event)\"\n @row-click=\"(row, column, event) => emits('rowClick', row, column, event)\"\n @row-contextmenu=\"(row, column, event) => emits('rowContextmenu', row, column, event)\"\n @row-dblclick=\"(row, column, event) => emits('rowDblclick', row, column, event)\"\n @header-click=\"(column, event) => emits('headerClick', column, event)\"\n @header-contextmenu=\"(column, event) => emits('headerContextmenu', column, event)\"\n @sort-change=\"(column, prop, order) => emits('sortChange', column, prop, order)\"\n @filter-change=\"filters => emits('filterChange', filters)\"\n @header-dragend=\"(newWidth, oldWidth, column, event) => emits('headerDragend', newWidth, oldWidth, column, event)\"\n @expand-change=\"(row, expandedRows) => emits('expandChange', row, expandedRows)\"\n >\n <template v-for=\"column of columns\" :key=\"column.prop\">\n <!-- todo 使用v-bind会报typescript类型错误,所以只能一个个的写上 -->\n <ElTableColumn\n :type=\"column.type\"\n :index=\"column.index\"\n :label=\"column.label\"\n :prop=\"column.prop\"\n :row-key=\"column.rowKey || 'id'\"\n :column-key=\"column.columnKey\"\n :width=\"column.width\"\n :min-width=\"column.minWidth\"\n :fixed=\"column.fixed\"\n :sortable=\"column.sortable\"\n :sort-method=\"column.sortMethod\"\n :sort-by=\"column.sortBy\"\n :sort-orders=\"column.sortOrders\"\n :resizable=\"column.resizable\"\n :show-overflow-tooltip=\"column.showOverflowTooltip\"\n :align=\"column.align\"\n :header-align=\"column.headerAlign\"\n :class-name=\"column.className\"\n :label-class-name=\"column.labelClassName\"\n :selectable=\"column.selectable\"\n :reserve-selection=\"column.reserveSelection\"\n :filters=\"column.filters\"\n :filter-placement=\"column.filterPlacement\"\n :filter-multiple=\"column.filterMultiple\"\n :filter-method=\"column.filterMethod\"\n :filtered-value=\"column.filteredValue\"\n >\n <template #default=\"scope\">\n <!-- eslint-disable-next-line -->\n <slot v-if=\"column.slot\" :name=\"column.slot\" :row=\"scope.row\" :$index=\"scope.$index\" />\n </template>\n <template v-if=\"slots[`${column.prop}TableHeader`]\" #header>\n <slot :name=\"`${column.prop}TableHeader`\" />\n </template>\n </ElTableColumn>\n </template>\n </ElTable>\n <div v-if=\"pagina.total\" class=\"i-table-pagination\">\n <ElPagination\n v-model:current-page=\"pagina.currentPage\"\n v-model:page-size=\"pagina.pageSize\"\n :small=\"pagina.small || false\"\n :disabled=\"pagina.disabled || false\"\n :background=\"pagina.background || true\"\n :total=\"pagina.total || 0\"\n :pager-count=\"pagina.pagerCount || 7\"\n :layout=\"pagina.layout || 'total, sizes, prev, pager, next, jumper'\"\n :page-sizes=\"pagina.pageSizes || [20, 30, 50, 100]\"\n @size-change=\"handleSizeChange\"\n @current-change=\"handleCurrentChange\"\n />\n </div>\n </div>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWE,IAAA,MAAM,KAAQ,GAAA,OAAA;AACd,IAAA,MAAM,KAAQ,GAAA,MAAA;AAuBd,IAAM,MAAA,UAAA,GAAa,QAAS,CAAA,MAAM,iBAAkB,CAAA,KAAA,EAAO,CAAC,QAAA,EAAU,SAAW,EAAA,YAAA,EAAc,SAAS,CAAC,CAAC,CAAA;AAE1G,IAAA,MAAM,eAAe,GAAI,EAAA;AACzB,IAAA,MAAM,QAAQ,QAAS,EAAA;AAGvB,IAAA,MAAM,EAAE,MAAA,EAAW,GAAA,cAAA,CAAe,YAAY,CAAA;AAC9C,IAAM,MAAA,WAAA,GAAc,SAAS,MAAM;;AACjC,MAAA,IAAI,MAAM,MAAQ,EAAA;AAChB,QAAA,OAAO,KAAM,CAAA,MAAA;AAAA,OACR,MAAA;AACL,QAAI,IAAA,CAAA,EAAA,GAAA,KAAA,CAAM,UAAN,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAkB,WAAa,EAAA;AACjC,UAAA,OAAO,OAAO,KAAQ,GAAA,EAAA;AAAA;AAExB,QAAA,OAAO,MAAO,CAAA,KAAA;AAAA;AAChB,KACD,CAAA;AAED,IAAM,MAAA,MAAA,GAAS,GAAI,CAAA,KAAA,CAAM,UAAU,CAAA;AACnC,IAAA,KAAA;AAAA,MACE,MAAM,KAAM,CAAA,UAAA;AAAA,MACZ,CAAC,GAAa,KAAA;AACZ,QAAA,MAAA,CAAO,KAAQ,GAAA;AAAA,UACb,GAAG,KAAM,CAAA,UAAA;AAAA,UACT,GAAG;AAAA,SACL;AAAA,OACF;AAAA,MACA,EAAE,MAAM,IAAK;AAAA,KACf;AAEA,IAAA,SAAS,iBAAiB,QAAkB,EAAA;AAC1C,MAAA,KAAA,CAAM,mBAAqB,EAAA;AAAA,QACzB,GAAG,KAAM,CAAA,UAAA;AAAA,QACT;AAAA,OACD,CAAA;AACD,MAAA,KAAA,CAAM,cAAc,QAAQ,CAAA;AAAA;AALrB,IAAA,MAAA,CAAA,gBAAA,EAAA,kBAAA,CAAA;AAQT,IAAA,SAAS,oBAAoB,WAAqB,EAAA;AAChD,MAAA,KAAA,CAAM,mBAAqB,EAAA;AAAA,QACzB,GAAG,KAAM,CAAA,UAAA;AAAA,QACT;AAAA,OACD,CAAA;AACD,MAAA,KAAA,CAAM,iBAAiB,WAAW,CAAA;AAAA;AAL3B,IAAA,MAAA,CAAA,mBAAA,EAAA,qBAAA,CAAA;AAQT,IAAA,MAAM,WAAW,GAAI,EAAA;AACrB,IAAa,QAAA,CAAA;AAAA,MACX,QAAW,GAAA;AACT,QAAA,OAAO,QAAS,CAAA,KAAA;AAAA;AAClB,KACD,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"table.vue2.mjs","sources":["../../../../../../../packages/components/table/src/table.vue"],"sourcesContent":["<script lang=\"ts\" setup>\n import { useElementSize } from '@vueuse/core';\n import { ElPagination, ElTable, ElTableColumn } from 'element-plus';\n import { computed, ref, useSlots, watch } from 'vue';\n import { excludeObjectKeys } from '../../../utils';\n import { TableProps } from './table';\n\n defineOptions({\n name: 'ITable',\n });\n\n const props = defineProps(TableProps);\n const emits = defineEmits([\n 'update:pagination',\n 'sizeChange',\n 'currentChange',\n 'select',\n 'selectAll',\n 'selectionChange',\n 'cellMouseEnter',\n 'cellMouseLeave',\n 'cellClick',\n 'cellDblclick',\n 'cellContextmenu',\n 'rowClick',\n 'rowContextmenu',\n 'rowDblclick',\n 'headerClick',\n 'headerContextmenu',\n 'sortChange',\n 'filterChange',\n 'currentChange',\n 'headerDragend',\n 'expandChange',\n ]);\n const tableAttrs = computed(() => excludeObjectKeys(props, ['height', 'columns', 'pagination', 'loading']));\n\n const tableWarpRef = ref();\n const slots = useSlots();\n\n // @ts-ignore\n const { height } = useElementSize(tableWarpRef);\n const tableHeight = computed(() => {\n if (props.height) {\n return props.height;\n } else {\n if (props.pagination?.currentPage) {\n return height.value - 50;\n }\n return height.value;\n }\n });\n\n const pagina = ref(props.pagination);\n watch(\n () => props.pagination,\n (val: any) => {\n pagina.value = {\n ...props.pagination,\n ...val,\n };\n },\n { deep: true },\n );\n\n function handleSizeChange(pageSize: number) {\n emits('update:pagination', {\n ...props.pagination,\n pageSize,\n });\n emits('sizeChange', pageSize);\n }\n\n function handleCurrentChange(currentPage: number) {\n emits('update:pagination', {\n ...props.pagination,\n currentPage,\n });\n emits('currentChange', currentPage);\n }\n\n const tableRef = ref();\n defineExpose({\n tableRef() {\n return tableRef.value;\n },\n });\n</script>\n\n<template>\n <div ref=\"tableWarpRef\" v-loading=\"loading\" class=\"i-table-warp\">\n <ElTable\n ref=\"tableRef\"\n v-bind=\"tableAttrs\"\n :height=\"tableHeight\"\n class=\"i-table\"\n @select=\"(selection, row) => emits('select', selection, row)\"\n @select-all=\"selection => emits('selectAll', selection)\"\n @selection-change=\"newSelection => emits('selectionChange', newSelection)\"\n @cell-mouse-enter=\"(row, column, cell, event) => emits('cellMouseEnter', row, column, cell, event)\"\n @cell-mouse-leave=\"(row, column, cell, event) => emits('cellMouseLeave', row, column, cell, event)\"\n @cell-click=\"(row, column, cell, event) => emits('cellClick', row, column, cell, event)\"\n @cell-dblclick=\"(row, column, cell, event) => emits('cellDblclick', row, column, cell, event)\"\n @cell-contextmenu=\"(row, column, cell, event) => emits('cellContextmenu', row, column, cell, event)\"\n @row-click=\"(row, column, event) => emits('rowClick', row, column, event)\"\n @row-contextmenu=\"(row, column, event) => emits('rowContextmenu', row, column, event)\"\n @row-dblclick=\"(row, column, event) => emits('rowDblclick', row, column, event)\"\n @header-click=\"(column, event) => emits('headerClick', column, event)\"\n @header-contextmenu=\"(column, event) => emits('headerContextmenu', column, event)\"\n @sort-change=\"(column, prop, order) => emits('sortChange', column, prop, order)\"\n @filter-change=\"filters => emits('filterChange', filters)\"\n @header-dragend=\"(newWidth, oldWidth, column, event) => emits('headerDragend', newWidth, oldWidth, column, event)\"\n @expand-change=\"(row, expandedRows) => emits('expandChange', row, expandedRows)\"\n >\n <template v-for=\"column of columns\" :key=\"column.prop\">\n <!-- todo 使用v-bind会报typescript类型错误,所以只能一个个的写上 -->\n <ElTableColumn\n :type=\"column.type\"\n :index=\"column.index\"\n :label=\"column.label\"\n :prop=\"column.prop\"\n :row-key=\"column.rowKey || 'id'\"\n :column-key=\"column.columnKey\"\n :width=\"column.width\"\n :min-width=\"column.minWidth\"\n :fixed=\"column.fixed\"\n :sortable=\"column.sortable\"\n :sort-method=\"column.sortMethod\"\n :sort-by=\"column.sortBy\"\n :sort-orders=\"column.sortOrders\"\n :resizable=\"column.resizable\"\n :show-overflow-tooltip=\"column.showOverflowTooltip\"\n :align=\"column.align\"\n :header-align=\"column.headerAlign\"\n :class-name=\"column.className\"\n :label-class-name=\"column.labelClassName\"\n :selectable=\"column.selectable\"\n :reserve-selection=\"column.reserveSelection\"\n :filters=\"column.filters\"\n :filter-placement=\"column.filterPlacement\"\n :filter-multiple=\"column.filterMultiple\"\n :filter-method=\"column.filterMethod\"\n :filtered-value=\"column.filteredValue\"\n >\n <template #default=\"scope\">\n <!-- eslint-disable-next-line -->\n <slot v-if=\"column.slot\" :name=\"column.slot\" :row=\"scope.row\" :$index=\"scope.$index\" />\n </template>\n <template v-if=\"slots[`${column.prop}TableHeader`]\" #header>\n <slot :name=\"`${column.prop}TableHeader`\" />\n </template>\n </ElTableColumn>\n </template>\n </ElTable>\n <div v-if=\"pagina.total\" class=\"i-table-pagination\">\n <ElPagination\n v-model:current-page=\"pagina.currentPage\"\n v-model:page-size=\"pagina.pageSize\"\n :small=\"pagina.small || false\"\n :disabled=\"pagina.disabled || false\"\n :background=\"pagina.background || true\"\n :total=\"pagina.total || 0\"\n :pager-count=\"pagina.pagerCount || 7\"\n :layout=\"pagina.layout || 'total, sizes, prev, pager, next, jumper'\"\n :page-sizes=\"pagina.pageSizes || [20, 30, 50, 100]\"\n @size-change=\"handleSizeChange\"\n @current-change=\"handleCurrentChange\"\n />\n </div>\n </div>\n</template>\n"],"names":["_createElementBlock","_createVNode","_unref","_mergeProps","_Fragment","_renderList","columns","_createCommentVNode","_withCtx","_renderSlot","_openBlock","loading"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tenant-enterprise.vue2.mjs","sources":["../../../../../../../packages/components/tenant-enterprise/src/tenant-enterprise.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import { ElInput, ElSelect, ElTreeV2 } from 'element-plus';\n import { inject, nextTick, onMounted, ref, shallowRef, useId, watch } from 'vue';\n import { SERVER_CONFIG, SITE_UNIT_STORE, USER_INFO } from '../../../utils';\n import { TenantEnterpriseEmits, TenantEnterpriseProps } from './tenant-enterprise';\n import TreeLine from './tree-line';\n\n defineOptions({\n name: 'ITenantEnterprise',\n });\n\n const props = defineProps(TenantEnterpriseProps);\n const emits = defineEmits(TenantEnterpriseEmits);\n\n const simpleModeBaseInfo = ref<any>({});\n const systemConfig = props?.action?.serverConfig || inject(SERVER_CONFIG);\n const isSimple = systemConfig?.menuMode === 'simple';\n const tenantStore = props?.action?.tenantStore || inject(SITE_UNIT_STORE);\n const userStore = props?.action?.user || inject(USER_INFO);\n\n const CHILDREN_KEY = 'enterpriseTreeVoList';\n const NODE_KEY = 'id';\n\n const modelValue = ref();\n const loading = ref(false);\n const treeRef = shallowRef();\n const treeContainerId = useId();\n const selectRef = shallowRef();\n const searchValue = ref('');\n const treeData = ref<any[]>([]);\n // 默认选中\n // 1、选中用户当前单位站点及其子节点;\n // 2、simple模式下,默认选中接收到的单位站点(大屏那边目前都是单选)\n const defaultCheck = ref<Record<string, any>>({\n enterpriseId: null,\n tenantId: null,\n name: null,\n });\n let cacheChangeKeys: any[] = [];\n\n onMounted(async () => {\n treeData.value = await GetTenantEnterpriseTree();\n await setDefaultCheck();\n });\n\n watch(\n () => tenantStore?.currentTenantId,\n async () => {\n treeData.value = await GetTenantEnterpriseTree();\n await setDefaultCheck();\n },\n );\n\n window.microApp?.addDataListener((val: any) => {\n // 只在 simple 模式下运行\n // simple 模式下不显示单位选择框,所以无需更新视图,只需要触发emits.change,让组件调用者知道单位发生了变更即可。\n if (isSimple && val) {\n const obj = {\n name: val.enterpriseName,\n enterpriseId: val.enterpriseId,\n tenantId: val.tenantId,\n };\n emits('change', {\n arr: [obj],\n obj,\n });\n }\n }, true);\n\n /**\n * 获取租户下的所有单位树\n */\n async function GetTenantEnterpriseTree(): Promise<any[]> {\n return (await tenantStore?.getEnterprise()) || [];\n }\n\n /**\n * 设置默认选中\n */\n async function setDefaultCheck() {\n await clearChecked();\n\n // 当前用户站点是否在当前站点树中\n // 在:默认选中当前\n defaultCheck.value.enterpriseId = simpleModeBaseInfo?.value?.enterpriseId ?? userStore?.userInfo.tenantEnterpriseId;\n defaultCheck.value.tenantId = simpleModeBaseInfo?.value?.tenantId ?? userStore?.userInfo.tenantId;\n defaultCheck.value.name = simpleModeBaseInfo?.value?.enterpriseName ?? userStore?.userInfo.enterpriseName;\n // 不在:选中第一项\n if (String(tenantStore?.getCurrentTenantId) !== String(userStore?.userInfo.tenantId)) {\n if (treeData.value.length > 0) {\n console.log('非当前用户所在站点');\n defaultCheck.value.name = treeData.value[0].enterpriseName;\n defaultCheck.value.tenantId = treeData.value[0].tenantId;\n defaultCheck.value.enterpriseId = treeData.value[0].id;\n }\n }\n\n // 选中的单位节点\n const current = findEnterprise(defaultCheck.value.enterpriseId, treeData.value);\n if (current) {\n treeRef.value?.setCheckedKeys([current.id], true);\n await handleCheckChange();\n handleVisibleChange(false);\n } else {\n console.error('未找到单位!', defaultCheck.value.enterpriseId);\n }\n }\n\n /**\n * 清空所有选中\n */\n async function clearChecked() {\n await nextTick();\n const checkedList = treeRef.value?.getCheckedKeys() || [];\n if (checkedList.length > 0) {\n treeRef.value?.setCheckedKeys(checkedList, false);\n }\n }\n\n /**\n * 根据单位ID在tree中查找单位\n */\n function findEnterprise(enterpriseId: number, tree: any[]): any {\n let enterprise = null;\n for (let i = 0; i < tree.length; i++) {\n if (tree[i].id === enterpriseId) {\n enterprise = tree[i];\n break;\n }\n if (tree[i][CHILDREN_KEY] && tree[i][CHILDREN_KEY].length) {\n enterprise = findEnterprise(enterpriseId, tree[i][CHILDREN_KEY]);\n if (enterprise) {\n break;\n }\n }\n }\n return enterprise;\n }\n /**\n * 节点选中状态变化\n */\n async function handleCheckChange() {\n await nextTick();\n const checkedList = treeRef.value?.getCheckedNodes(false) || [];\n const val = checkedList.map((item: any) => item.enterpriseName || item.tenantName);\n modelValue.value = props.multiple ? val : val[0];\n if (!props.multiple) {\n // 单选时,选中之后就隐藏下拉框\n selectRef.value.blur();\n }\n }\n\n /**\n * el-select 面板 显示、隐藏\n */\n function handleVisibleChange(visible: boolean) {\n if (!visible) {\n const diff = diffChecked();\n if (!diff) {\n const checkedList = treeRef.value?.getCheckedNodes() || [];\n if (checkedList.length === 0) {\n setDefaultCheck();\n } else {\n const arrObj: Record<string, any[]> = {\n name: [],\n enterpriseId: [],\n tenantId: [],\n };\n const arr = checkedList.map((item: any) => {\n arrObj.name.push(item.enterpriseName || item.tenantName);\n arrObj.enterpriseId.push(item.id);\n if (!arrObj.tenantId.includes(item.tenantId)) {\n arrObj.tenantId.push(item.tenantId);\n }\n return {\n name: item.enterpriseName || item.tenantName,\n enterpriseId: item.id,\n tenantId: item.tenantId || item.id,\n };\n });\n emits('change', {\n arr,\n obj: {\n name: arrObj.name.join(','),\n enterpriseId: arrObj.enterpriseId.join(','),\n tenantId: arrObj.tenantId.join(','),\n },\n });\n }\n }\n } else {\n // 重置过滤\n searchValue.value = '';\n handleSearch();\n }\n }\n\n /**\n * 比较选中节点是否发生变化\n */\n function diffChecked() {\n const checkedList = treeRef.value?.getCheckedNodes() || [];\n const checkedKeys = checkedList.map((item: any) => item[NODE_KEY]).filter(Boolean);\n // 比较 checkedKeys 和 cacheChangeKeys\n const diff = diffArr(checkedKeys, cacheChangeKeys);\n cacheChangeKeys = checkedKeys;\n return diff;\n }\n\n /**\n * 比较两个数组是否相等\n * 数组下标不影响结果,即 [1,2] 等于 [2,1] 返回true\n */\n function diffArr(arr1: number[], arr2: number[]): boolean {\n if (arr1.length !== arr2.length) {\n return false;\n }\n const sortedArr1 = [...arr1].sort();\n const sortedArr2 = [...arr2].sort();\n for (let i = 0; i < sortedArr1.length; i++) {\n if (sortedArr1[i] !== sortedArr2[i]) {\n return false;\n }\n }\n return true;\n }\n\n /**\n * 触发过滤\n */\n function handleSearch() {\n treeRef.value?.filter(searchValue.value);\n if (!searchValue.value) {\n // 如果过滤为空,则展开默认选中的节点\n setDefaultExpanded();\n }\n // 实现搜索高亮\n highlightNodes(treeData.value, searchValue.value);\n }\n\n /**\n * 高亮节点标签\n * @param nodes - 节点数组\n * @param query - 搜索关键词\n */\n function highlightNodes(nodes: any[], query: string) {\n nodes.forEach((node: any) => {\n if (node[CHILDREN_KEY] && node[CHILDREN_KEY].length > 0) {\n highlightNodes(node[CHILDREN_KEY], query);\n }\n if (query && (node.enterpriseName || node.tenantName)) {\n const label = node.enterpriseName || node.tenantName;\n const regex = new RegExp(`(${query})`, 'gi');\n node.label = label.replace(regex, '<span class=\"highlight\">$1</span>');\n } else {\n // 如果没有搜索关键词,则恢复节点标签\n node.label = node.enterpriseName || node.tenantName;\n }\n });\n }\n\n /**\n * 点击checkbox选择框\n */\n const handleCheck = async (data: any) => {\n await nextTick();\n const checkedList = treeRef.value?.getCheckedKeys() || [];\n const isChecked = checkedList.includes(data[NODE_KEY]);\n if (props.multiple) {\n // 多选\n recursionSetChecked(data, isChecked);\n } else {\n // 单选\n // 取消其他选中\n checkedList.forEach((item: any) => {\n if (item !== data[NODE_KEY]) {\n treeRef.value?.setChecked(item, false);\n }\n });\n }\n };\n\n /**\n * 递归设置选中/取消选中\n * @param data\n * @param isChecked\n */\n function recursionSetChecked(data: any, isChecked: boolean) {\n if (data[CHILDREN_KEY] && data[CHILDREN_KEY].length > 0) {\n // 选中/取消子节点\n data[CHILDREN_KEY].forEach((item: any) => {\n treeRef.value?.setChecked(item[NODE_KEY], isChecked);\n recursionSetChecked(item, isChecked);\n });\n }\n }\n\n /**\n * 点击树节点\n */\n const handleNodeClick = async (data: any) => {\n await nextTick();\n const checkedList = treeRef.value?.getCheckedKeys() || [];\n if (props.multiple) {\n const isChecked = checkedList.includes(data[NODE_KEY]);\n treeRef.value?.setChecked(data[NODE_KEY], !isChecked);\n } else {\n // 单选\n treeRef.value?.setChecked(data[NODE_KEY], true);\n // 取消其他选中\n checkedList.forEach((item: any) => {\n if (item !== data[NODE_KEY]) {\n treeRef.value?.setChecked(item, false);\n }\n });\n }\n await handleCheckChange();\n };\n\n /**\n * 节点过滤\n */\n const filterMethod = (query: string, node: any) => {\n const label = node?.enterpriseName || node?.tenantName;\n return new RegExp(query, 'i').test(label);\n };\n\n /**\n * 根据当前选中节点,设置展开的节点\n */\n function setDefaultExpanded() {\n const checkedKeys = treeRef.value?.getCheckedKeys() || [];\n if (checkedKeys.length === 0) return;\n // 1、调用 findParentEnterprise 查找父节点数组\n // 2、过滤掉无效数组,最上层的节点找不到父节点会返回null\n // 3、展开二维数组\n // 4、得到 单位ID 数组\n const expandedKeys = checkedKeys\n .map((item: any) => {\n return findParentEnterprise(item, treeData.value);\n })\n .filter(Boolean)\n .flat()\n .map((item: any) => item[NODE_KEY]);\n treeRef.value?.setExpandedKeys([...checkedKeys, ...expandedKeys]);\n\n if (treeRef.value && treeRef.value?.scrollTo) {\n const top = getNodeTop(checkedKeys[0]);\n treeRef.value.scrollTo(top);\n }\n }\n\n /**\n * 根据单位ID在tree中查找父级单位\n * @param enterpriseId - 要查找的单位ID\n * @param tree - 当前树数据\n * @returns {Array|null} - 返回从根到子的父级单位数组,未找到则返回 null\n */\n function findParentEnterprise(enterpriseId: number, tree: any[]): any[] | null {\n const traverse = (node: any, path: any[], targetId: number): any[] | null => {\n // 如果当前节点是目标节点,则返回当前路径(不包含自己)\n if (node.id === targetId) {\n return path.length > 0 ? [...path] : null;\n }\n\n // 如果有子节点,继续递归查找\n if (node[CHILDREN_KEY] && node[CHILDREN_KEY].length > 0) {\n for (let i = 0; i < node[CHILDREN_KEY].length; i++) {\n const result = traverse(node[CHILDREN_KEY][i], [...path, node], targetId);\n if (result) {\n return result;\n }\n }\n }\n\n return null;\n };\n\n // 遍历整个树,尝试在每个顶级节点下查找\n for (let i = 0; i < tree.length; i++) {\n const result = traverse(tree[i], [], enterpriseId);\n if (result) {\n return result;\n }\n }\n\n return null;\n }\n\n /**\n * 根据选中的key值,获取到节点离顶端的距离\n * @param key\n */\n function getNodeTop(key: number | string) {\n // 节点高度\n const LINE_HEIGHT = 32;\n const node = treeRef.value?.getNode(key);\n const level = node.level;\n let top = 0;\n let _node = node;\n for (let i = 1; i < level; i++) {\n const children = _node?.parent?.children || [];\n const index = children.findIndex((item: any) => item.key === _node.key);\n top += index * LINE_HEIGHT;\n _node = _node.parent;\n }\n return top;\n }\n // todo element-plus 需升级为 2.9.0+\n // @ts-ignore\n const nodeClass = (data: any, node: any) => {\n if (node.children && node.children?.length > 0) {\n return '';\n }\n return 'tenant-e-empty-node';\n };\n</script>\n\n<template>\n <div v-show=\"!isSimple\" class=\"t-tenant-enterprise\">\n <label v-if=\"showLabel\" class=\"t-tenant-enterprise__label\">{{ label }}</label>\n <ElSelect\n ref=\"selectRef\"\n v-model=\"modelValue\"\n :multiple=\"multiple\"\n collapse-tags\n :clearable=\"false\"\n style=\"width: 240px\"\n placement=\"bottom-end\"\n :popper-class=\"`tenant-enterprise-popper ${popperClass}`\"\n @visible-change=\"handleVisibleChange\"\n >\n <template #empty>\n <div class=\"t-tenant-enterprise__search\">\n <ElInput\n v-model=\"searchValue\"\n placeholder=\"输入关键词,按Enter键搜索...\"\n clearable\n maxlength=\"30\"\n @change=\"handleSearch\"\n />\n </div>\n <div :id=\"treeContainerId\" v-loading=\"loading\" class=\"p-2\">\n <ElTreeV2\n ref=\"treeRef\"\n :height=\"300\"\n class=\"tenant-enterprise-tree\"\n :class=\"{\n 'tenant-enterprise-tree__only': !multiple,\n }\"\n :data=\"treeData\"\n :props=\"{\n children: CHILDREN_KEY,\n class: nodeClass,\n }\"\n highlight-current\n :expand-on-click-node=\"false\"\n check-on-click-node\n :default-expanded-keys=\"[]\"\n show-checkbox\n check-strictly\n :default-checked-keys=\"[]\"\n :filter-method=\"filterMethod\"\n :indent=\"30\"\n :item-size=\"32\"\n :node-key=\"NODE_KEY\"\n @check=\"handleCheck\"\n @check-change=\"handleCheckChange\"\n >\n <template #default=\"{ node }\">\n <TreeLine :node=\"node\" show-label-line @click.stop=\"handleNodeClick(node.data)\">\n <template #node-label>\n <span\n :title=\"node.data?.enterpriseName || node?.data.tenantName\"\n v-html=\"node.data?.label || node.data?.enterpriseName || node?.data.tenantName\"\n />\n </template>\n </TreeLine>\n </template>\n </ElTreeV2>\n </div>\n </template>\n </ElSelect>\n </div>\n</template>\n"],"names":["_b","_a","_d","_c"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tenant-enterprise.vue2.mjs","sources":["../../../../../../../packages/components/tenant-enterprise/src/tenant-enterprise.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import { ElInput, ElSelect, ElTreeV2 } from 'element-plus';\n import { inject, nextTick, onMounted, ref, shallowRef, useId, watch } from 'vue';\n import { SERVER_CONFIG, SITE_UNIT_STORE, USER_INFO } from '../../../utils';\n import { TenantEnterpriseEmits, TenantEnterpriseProps } from './tenant-enterprise';\n import TreeLine from './tree-line';\n\n defineOptions({\n name: 'ITenantEnterprise',\n });\n\n const props = defineProps(TenantEnterpriseProps);\n const emits = defineEmits(TenantEnterpriseEmits);\n\n const simpleModeBaseInfo = ref<any>({});\n const systemConfig = props?.action?.serverConfig || inject(SERVER_CONFIG);\n const isSimple = systemConfig?.menuMode === 'simple';\n const tenantStore = props?.action?.tenantStore || inject(SITE_UNIT_STORE);\n const userStore = props?.action?.user || inject(USER_INFO);\n\n const CHILDREN_KEY = 'enterpriseTreeVoList';\n const NODE_KEY = 'id';\n\n const modelValue = ref();\n const loading = ref(false);\n const treeRef = shallowRef();\n const treeContainerId = useId();\n const selectRef = shallowRef();\n const searchValue = ref('');\n const treeData = ref<any[]>([]);\n // 默认选中\n // 1、选中用户当前单位站点及其子节点;\n // 2、simple模式下,默认选中接收到的单位站点(大屏那边目前都是单选)\n const defaultCheck = ref<Record<string, any>>({\n enterpriseId: null,\n tenantId: null,\n name: null,\n });\n let cacheChangeKeys: any[] = [];\n\n onMounted(async () => {\n treeData.value = await GetTenantEnterpriseTree();\n await setDefaultCheck();\n });\n\n watch(\n () => tenantStore?.currentTenantId,\n async () => {\n treeData.value = await GetTenantEnterpriseTree();\n await setDefaultCheck();\n },\n );\n\n window.microApp?.addDataListener((val: any) => {\n // 只在 simple 模式下运行\n // simple 模式下不显示单位选择框,所以无需更新视图,只需要触发emits.change,让组件调用者知道单位发生了变更即可。\n if (isSimple && val) {\n const obj = {\n name: val.enterpriseName,\n enterpriseId: val.enterpriseId,\n tenantId: val.tenantId,\n };\n emits('change', {\n arr: [obj],\n obj,\n });\n }\n }, true);\n\n /**\n * 获取租户下的所有单位树\n */\n async function GetTenantEnterpriseTree(): Promise<any[]> {\n return (await tenantStore?.getEnterprise()) || [];\n }\n\n /**\n * 设置默认选中\n */\n async function setDefaultCheck() {\n await clearChecked();\n\n // 当前用户站点是否在当前站点树中\n // 在:默认选中当前\n defaultCheck.value.enterpriseId = simpleModeBaseInfo?.value?.enterpriseId ?? userStore?.userInfo.tenantEnterpriseId;\n defaultCheck.value.tenantId = simpleModeBaseInfo?.value?.tenantId ?? userStore?.userInfo.tenantId;\n defaultCheck.value.name = simpleModeBaseInfo?.value?.enterpriseName ?? userStore?.userInfo.enterpriseName;\n // 不在:选中第一项\n if (String(tenantStore?.getCurrentTenantId) !== String(userStore?.userInfo.tenantId)) {\n if (treeData.value.length > 0) {\n console.log('非当前用户所在站点');\n defaultCheck.value.name = treeData.value[0].enterpriseName;\n defaultCheck.value.tenantId = treeData.value[0].tenantId;\n defaultCheck.value.enterpriseId = treeData.value[0].id;\n }\n }\n\n // 选中的单位节点\n const current = findEnterprise(defaultCheck.value.enterpriseId, treeData.value);\n if (current) {\n treeRef.value?.setCheckedKeys([current.id], true);\n await handleCheckChange();\n handleVisibleChange(false);\n } else {\n console.error('未找到单位!', defaultCheck.value.enterpriseId);\n }\n }\n\n /**\n * 清空所有选中\n */\n async function clearChecked() {\n await nextTick();\n const checkedList = treeRef.value?.getCheckedKeys() || [];\n if (checkedList.length > 0) {\n treeRef.value?.setCheckedKeys(checkedList, false);\n }\n }\n\n /**\n * 根据单位ID在tree中查找单位\n */\n function findEnterprise(enterpriseId: number, tree: any[]): any {\n let enterprise = null;\n for (let i = 0; i < tree.length; i++) {\n if (tree[i].id === enterpriseId) {\n enterprise = tree[i];\n break;\n }\n if (tree[i][CHILDREN_KEY] && tree[i][CHILDREN_KEY].length) {\n enterprise = findEnterprise(enterpriseId, tree[i][CHILDREN_KEY]);\n if (enterprise) {\n break;\n }\n }\n }\n return enterprise;\n }\n /**\n * 节点选中状态变化\n */\n async function handleCheckChange() {\n await nextTick();\n const checkedList = treeRef.value?.getCheckedNodes(false) || [];\n const val = checkedList.map((item: any) => item.enterpriseName || item.tenantName);\n modelValue.value = props.multiple ? val : val[0];\n if (!props.multiple) {\n // 单选时,选中之后就隐藏下拉框\n selectRef.value.blur();\n }\n }\n\n /**\n * el-select 面板 显示、隐藏\n */\n function handleVisibleChange(visible: boolean) {\n if (!visible) {\n const diff = diffChecked();\n if (!diff) {\n const checkedList = treeRef.value?.getCheckedNodes() || [];\n if (checkedList.length === 0) {\n setDefaultCheck();\n } else {\n const arrObj: Record<string, any[]> = {\n name: [],\n enterpriseId: [],\n tenantId: [],\n };\n const arr = checkedList.map((item: any) => {\n arrObj.name.push(item.enterpriseName || item.tenantName);\n arrObj.enterpriseId.push(item.id);\n if (!arrObj.tenantId.includes(item.tenantId)) {\n arrObj.tenantId.push(item.tenantId);\n }\n return {\n name: item.enterpriseName || item.tenantName,\n enterpriseId: item.id,\n tenantId: item.tenantId || item.id,\n };\n });\n emits('change', {\n arr,\n obj: {\n name: arrObj.name.join(','),\n enterpriseId: arrObj.enterpriseId.join(','),\n tenantId: arrObj.tenantId.join(','),\n },\n });\n }\n }\n } else {\n // 重置过滤\n searchValue.value = '';\n handleSearch();\n }\n }\n\n /**\n * 比较选中节点是否发生变化\n */\n function diffChecked() {\n const checkedList = treeRef.value?.getCheckedNodes() || [];\n const checkedKeys = checkedList.map((item: any) => item[NODE_KEY]).filter(Boolean);\n // 比较 checkedKeys 和 cacheChangeKeys\n const diff = diffArr(checkedKeys, cacheChangeKeys);\n cacheChangeKeys = checkedKeys;\n return diff;\n }\n\n /**\n * 比较两个数组是否相等\n * 数组下标不影响结果,即 [1,2] 等于 [2,1] 返回true\n */\n function diffArr(arr1: number[], arr2: number[]): boolean {\n if (arr1.length !== arr2.length) {\n return false;\n }\n const sortedArr1 = [...arr1].sort();\n const sortedArr2 = [...arr2].sort();\n for (let i = 0; i < sortedArr1.length; i++) {\n if (sortedArr1[i] !== sortedArr2[i]) {\n return false;\n }\n }\n return true;\n }\n\n /**\n * 触发过滤\n */\n function handleSearch() {\n treeRef.value?.filter(searchValue.value);\n if (!searchValue.value) {\n // 如果过滤为空,则展开默认选中的节点\n setDefaultExpanded();\n }\n // 实现搜索高亮\n highlightNodes(treeData.value, searchValue.value);\n }\n\n /**\n * 高亮节点标签\n * @param nodes - 节点数组\n * @param query - 搜索关键词\n */\n function highlightNodes(nodes: any[], query: string) {\n nodes.forEach((node: any) => {\n if (node[CHILDREN_KEY] && node[CHILDREN_KEY].length > 0) {\n highlightNodes(node[CHILDREN_KEY], query);\n }\n if (query && (node.enterpriseName || node.tenantName)) {\n const label = node.enterpriseName || node.tenantName;\n const regex = new RegExp(`(${query})`, 'gi');\n node.label = label.replace(regex, '<span class=\"highlight\">$1</span>');\n } else {\n // 如果没有搜索关键词,则恢复节点标签\n node.label = node.enterpriseName || node.tenantName;\n }\n });\n }\n\n /**\n * 点击checkbox选择框\n */\n const handleCheck = async (data: any) => {\n await nextTick();\n const checkedList = treeRef.value?.getCheckedKeys() || [];\n const isChecked = checkedList.includes(data[NODE_KEY]);\n if (props.multiple) {\n // 多选\n recursionSetChecked(data, isChecked);\n } else {\n // 单选\n // 取消其他选中\n checkedList.forEach((item: any) => {\n if (item !== data[NODE_KEY]) {\n treeRef.value?.setChecked(item, false);\n }\n });\n }\n };\n\n /**\n * 递归设置选中/取消选中\n * @param data\n * @param isChecked\n */\n function recursionSetChecked(data: any, isChecked: boolean) {\n if (data[CHILDREN_KEY] && data[CHILDREN_KEY].length > 0) {\n // 选中/取消子节点\n data[CHILDREN_KEY].forEach((item: any) => {\n treeRef.value?.setChecked(item[NODE_KEY], isChecked);\n recursionSetChecked(item, isChecked);\n });\n }\n }\n\n /**\n * 点击树节点\n */\n const handleNodeClick = async (data: any) => {\n await nextTick();\n const checkedList = treeRef.value?.getCheckedKeys() || [];\n if (props.multiple) {\n const isChecked = checkedList.includes(data[NODE_KEY]);\n treeRef.value?.setChecked(data[NODE_KEY], !isChecked);\n } else {\n // 单选\n treeRef.value?.setChecked(data[NODE_KEY], true);\n // 取消其他选中\n checkedList.forEach((item: any) => {\n if (item !== data[NODE_KEY]) {\n treeRef.value?.setChecked(item, false);\n }\n });\n }\n await handleCheckChange();\n };\n\n /**\n * 节点过滤\n */\n const filterMethod = (query: string, node: any) => {\n const label = node?.enterpriseName || node?.tenantName;\n return new RegExp(query, 'i').test(label);\n };\n\n /**\n * 根据当前选中节点,设置展开的节点\n */\n function setDefaultExpanded() {\n const checkedKeys = treeRef.value?.getCheckedKeys() || [];\n if (checkedKeys.length === 0) return;\n // 1、调用 findParentEnterprise 查找父节点数组\n // 2、过滤掉无效数组,最上层的节点找不到父节点会返回null\n // 3、展开二维数组\n // 4、得到 单位ID 数组\n const expandedKeys = checkedKeys\n .map((item: any) => {\n return findParentEnterprise(item, treeData.value);\n })\n .filter(Boolean)\n .flat()\n .map((item: any) => item[NODE_KEY]);\n treeRef.value?.setExpandedKeys([...checkedKeys, ...expandedKeys]);\n\n if (treeRef.value && treeRef.value?.scrollTo) {\n const top = getNodeTop(checkedKeys[0]);\n treeRef.value.scrollTo(top);\n }\n }\n\n /**\n * 根据单位ID在tree中查找父级单位\n * @param enterpriseId - 要查找的单位ID\n * @param tree - 当前树数据\n * @returns {Array|null} - 返回从根到子的父级单位数组,未找到则返回 null\n */\n function findParentEnterprise(enterpriseId: number, tree: any[]): any[] | null {\n const traverse = (node: any, path: any[], targetId: number): any[] | null => {\n // 如果当前节点是目标节点,则返回当前路径(不包含自己)\n if (node.id === targetId) {\n return path.length > 0 ? [...path] : null;\n }\n\n // 如果有子节点,继续递归查找\n if (node[CHILDREN_KEY] && node[CHILDREN_KEY].length > 0) {\n for (let i = 0; i < node[CHILDREN_KEY].length; i++) {\n const result = traverse(node[CHILDREN_KEY][i], [...path, node], targetId);\n if (result) {\n return result;\n }\n }\n }\n\n return null;\n };\n\n // 遍历整个树,尝试在每个顶级节点下查找\n for (let i = 0; i < tree.length; i++) {\n const result = traverse(tree[i], [], enterpriseId);\n if (result) {\n return result;\n }\n }\n\n return null;\n }\n\n /**\n * 根据选中的key值,获取到节点离顶端的距离\n * @param key\n */\n function getNodeTop(key: number | string) {\n // 节点高度\n const LINE_HEIGHT = 32;\n const node = treeRef.value?.getNode(key);\n const level = node.level;\n let top = 0;\n let _node = node;\n for (let i = 1; i < level; i++) {\n const children = _node?.parent?.children || [];\n const index = children.findIndex((item: any) => item.key === _node.key);\n top += index * LINE_HEIGHT;\n _node = _node.parent;\n }\n return top;\n }\n // todo element-plus 需升级为 2.9.0+\n // @ts-ignore\n const nodeClass = (data: any, node: any) => {\n if (node.children && node.children?.length > 0) {\n return '';\n }\n return 'tenant-e-empty-node';\n };\n</script>\n\n<template>\n <div v-show=\"!isSimple\" class=\"t-tenant-enterprise\">\n <label v-if=\"showLabel\" class=\"t-tenant-enterprise__label\">{{ label }}</label>\n <ElSelect\n ref=\"selectRef\"\n v-model=\"modelValue\"\n :multiple=\"multiple\"\n collapse-tags\n :clearable=\"false\"\n style=\"width: 240px\"\n placement=\"bottom-end\"\n :popper-class=\"`tenant-enterprise-popper ${popperClass}`\"\n @visible-change=\"handleVisibleChange\"\n >\n <template #empty>\n <div class=\"t-tenant-enterprise__search\">\n <ElInput\n v-model=\"searchValue\"\n placeholder=\"输入关键词,按Enter键搜索...\"\n clearable\n maxlength=\"30\"\n @change=\"handleSearch\"\n />\n </div>\n <div :id=\"treeContainerId\" v-loading=\"loading\" class=\"p-2\">\n <ElTreeV2\n ref=\"treeRef\"\n :height=\"300\"\n class=\"tenant-enterprise-tree\"\n :class=\"{\n 'tenant-enterprise-tree__only': !multiple,\n }\"\n :data=\"treeData\"\n :props=\"{\n children: CHILDREN_KEY,\n class: nodeClass,\n }\"\n highlight-current\n :expand-on-click-node=\"false\"\n check-on-click-node\n :default-expanded-keys=\"[]\"\n show-checkbox\n check-strictly\n :default-checked-keys=\"[]\"\n :filter-method=\"filterMethod\"\n :indent=\"30\"\n :item-size=\"32\"\n :node-key=\"NODE_KEY\"\n @check=\"handleCheck\"\n @check-change=\"handleCheckChange\"\n >\n <template #default=\"{ node }\">\n <TreeLine :node=\"node\" show-label-line @click.stop=\"handleNodeClick(node.data)\">\n <template #node-label>\n <span\n :title=\"node.data?.enterpriseName || node?.data.tenantName\"\n v-html=\"node.data?.label || node.data?.enterpriseName || node?.data.tenantName\"\n />\n </template>\n </TreeLine>\n </template>\n </ElTreeV2>\n </div>\n </template>\n </ElSelect>\n </div>\n</template>\n"],"names":["_b","_a","_d","_c","_withDirectives","_openBlock","_createElementBlock","showLabel","_toDisplayString","label","_createVNode","_unref","multiple","popperClass","_createElementVNode","_withCtx","_withModifiers"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text-button-group.vue2.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"text-button-group.vue2.mjs","sources":["../../../../../../../packages/components/text-button/src/text-button-group.vue"],"sourcesContent":["<script setup lang=\"ts\">\n import { textButtonGroupProps } from './text-button';\n import ITextButton from './text-button.vue';\n defineOptions({\n name: 'ITextButtonGroup',\n });\n defineProps(textButtonGroupProps);\n</script>\n\n<template>\n <div class=\"i-text-button-group\">\n <template v-for=\"(button, index) of group\" :key=\"`${index}${button?.text}`\">\n <slot v-if=\"button.slot\" :name=\"button.slot\" />\n <ITextButton v-else :icon=\"button.icon\" :text-color=\"button.textColor\" :disabled=\"button.disabled\">\n {{ button?.text }}\n </ITextButton>\n </template>\n </div>\n</template>\n"],"names":["_openBlock","_createElementBlock","_Fragment","group","_renderSlot","_createBlock","ITextButton","_createTextVNode","_toDisplayString"],"mappings":";;;;;;;;;;;;;;AAUE,MAAA,OAAAA,SAAA,EAAA,EAAAC,kBAOM,CAAA,KAAA,EAPN,UAOM,EAAA;AAAA,SANJD,SAAA,CAAA,IAAA,CAAA,EAAAC,kBAAA;AAAA,UAKWC,QAAA;AAAA,UALyBC,IAAAA;AAAAA,UAAAA,UAAAA,CAAAA,IAAAA,CAAAA,KAAlB,EAAA,CAAA,QAAQ,KAAK,KAAA;;;;wBAAqB,KAAK,CAAA,EAAG,iCAAQ,IAAI,CAAA;AAAA;;gBAC1D,MAAO,CAAA,IAAA,GAAnBC,UAA+C,CAAA,IAAA,CAAA,QAAf,MAAO,CAAA,IAAA,EAAI,EAAA,GAAA,EAAA,GAAA,CAAA,iBAC3CC,YAEcC,WAAA,EAAA;AAAA;kBAFO,MAAM,MAAO,CAAA,IAAA;AAAA,kBAAO,cAAY,MAAO,CAAA,SAAA;AAAA,kBAAY,UAAU,MAAO,CAAA;AAAA;mCACvF,MAAkB;AAAA,oBAAfC,eAAA;AAAA,sBAAAC,eAAA,CAAA,iCAAQ,IAAI,CAAA;AAAA,sBAAA;AAAA;AAAA;AAAA;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text-button.vue2.mjs","sources":["../../../../../../../packages/components/text-button/src/text-button.vue"],"sourcesContent":["<script lang=\"ts\" setup>\n import { ref, shallowRef, useSlots, watchEffect } from 'vue';\n import {\n builtInIcon,\n type builtInIconType,\n darkenColor,\n getElementColor,\n textButtonEmits,\n textButtonProps,\n } from './text-button';\n\n defineOptions({\n name: 'ITextButton',\n });\n const props = defineProps(textButtonProps);\n const emits = defineEmits(textButtonEmits);\n const slots = useSlots();\n const textButtonRef = shallowRef();\n\n const textButtonIcon = ref('');\n let cacheTextButtonColor = '';\n const textButtonColor = ref('');\n\n watchEffect(() => {\n if (props.icon) {\n const builtInIconKeys = Object.keys(builtInIcon);\n if (builtInIconKeys.includes(props.icon)) {\n textButtonIcon.value = builtInIcon[props.icon as builtInIconType].icon;\n textButtonColor.value =\n props.textColor || builtInIcon[props.icon as builtInIconType].color || 'var(--el-color-primary)';\n } else {\n textButtonIcon.value = props.icon;\n textButtonColor.value = props.textColor || 'var(--el-color-primary)';\n }\n } else {\n textButtonIcon.value = '';\n textButtonColor.value = props.textColor || 'var(--el-color-primary)';\n }\n });\n\n const handleMousedown = () => {\n cacheTextButtonColor = textButtonColor.value;\n textButtonColor.value = darkenColor(getElementColor(textButtonRef.value), 0.2);\n };\n\n const handleMouseup = () => {\n textButtonColor.value = cacheTextButtonColor || 'var(--el-color-primary)';\n };\n\n const handleClick = (evt: MouseEvent) => {\n if (!props.disabled) emits('click', evt);\n };\n</script>\n\n<template>\n <div\n ref=\"textButtonRef\"\n class=\"i-text-button\"\n :class=\"{\n 'i-text-button__disabled': disabled,\n }\"\n :style=\"{ color: textButtonColor }\"\n @mousedown=\"handleMousedown\"\n @mouseup=\"handleMouseup\"\n @click=\"handleClick\"\n >\n <!-- 图标 -->\n <div v-if=\"textButtonIcon || slots.icon\" class=\"i-text-button__icon\">\n <slot v-if=\"slots.icon\" name=\"icon\" />\n <i v-else class=\"iconfont\" :class=\"[textButtonIcon]\" />\n </div>\n <!-- 文本 -->\n <div class=\"i-text-button__label\">\n <slot name=\"default\" />\n </div>\n <!-- 下划线 -->\n <span class=\"i-text-button__line\" :style=\"{ backgroundColor: textButtonColor }\" />\n </div>\n</template>\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAcE,IAAA,MAAM,KAAQ,GAAA,OAAA;AACd,IAAA,MAAM,KAAQ,GAAA,MAAA;AACd,IAAA,MAAM,QAAQ,QAAS,EAAA;AACvB,IAAA,MAAM,gBAAgB,UAAW,EAAA;AAEjC,IAAM,MAAA,cAAA,GAAiB,IAAI,EAAE,CAAA;AAC7B,IAAA,IAAI,oBAAuB,GAAA,EAAA;AAC3B,IAAM,MAAA,eAAA,GAAkB,IAAI,EAAE,CAAA;AAE9B,IAAA,WAAA,CAAY,MAAM;AAChB,MAAA,IAAI,MAAM,IAAM,EAAA;AACd,QAAM,MAAA,eAAA,GAAkB,MAAO,CAAA,IAAA,CAAK,WAAW,CAAA;AAC/C,QAAA,IAAI,eAAgB,CAAA,QAAA,CAAS,KAAM,CAAA,IAAI,CAAG,EAAA;AACxC,UAAA,cAAA,CAAe,KAAQ,GAAA,WAAA,CAAY,KAAM,CAAA,IAAuB,CAAE,CAAA,IAAA;AAClE,UAAA,eAAA,CAAgB,QACd,KAAM,CAAA,SAAA,IAAa,YAAY,KAAM,CAAA,IAAuB,EAAE,KAAS,IAAA,yBAAA;AAAA,SACpE,MAAA;AACL,UAAA,cAAA,CAAe,QAAQ,KAAM,CAAA,IAAA;AAC7B,UAAgB,eAAA,CAAA,KAAA,GAAQ,MAAM,SAAa,IAAA,yBAAA;AAAA;AAC7C,OACK,MAAA;AACL,QAAA,cAAA,CAAe,KAAQ,GAAA,EAAA;AACvB,QAAgB,eAAA,CAAA,KAAA,GAAQ,MAAM,SAAa,IAAA,yBAAA;AAAA;AAC7C,KACD,CAAA;AAED,IAAA,MAAM,kCAAwB,MAAA,CAAA,MAAA;AAC5B,MAAA,oBAAA,GAAuB,eAAgB,CAAA,KAAA;AACvC,MAAA,eAAA,CAAgB,QAAQ,WAAY,CAAA,eAAA,CAAgB,aAAc,CAAA,KAAK,GAAG,GAAG,CAAA;AAAA,KAFvD,EAAA,iBAAA,CAAA;AAKxB,IAAA,MAAM,gCAAsB,MAAA,CAAA,MAAA;AAC1B,MAAA,eAAA,CAAgB,QAAQ,oBAAwB,IAAA,yBAAA;AAAA,KAD5B,EAAA,eAAA,CAAA;AAItB,IAAM,MAAA,WAAA,2BAAe,GAAoB,KAAA;AACvC,MAAA,IAAI,CAAC,KAAA,CAAM,QAAU,EAAA,KAAA,CAAM,SAAS,GAAG,CAAA;AAAA,KADrB,EAAA,aAAA,CAAA
|
|
1
|
+
{"version":3,"file":"text-button.vue2.mjs","sources":["../../../../../../../packages/components/text-button/src/text-button.vue"],"sourcesContent":["<script lang=\"ts\" setup>\n import { ref, shallowRef, useSlots, watchEffect } from 'vue';\n import {\n builtInIcon,\n type builtInIconType,\n darkenColor,\n getElementColor,\n textButtonEmits,\n textButtonProps,\n } from './text-button';\n\n defineOptions({\n name: 'ITextButton',\n });\n const props = defineProps(textButtonProps);\n const emits = defineEmits(textButtonEmits);\n const slots = useSlots();\n const textButtonRef = shallowRef();\n\n const textButtonIcon = ref('');\n let cacheTextButtonColor = '';\n const textButtonColor = ref('');\n\n watchEffect(() => {\n if (props.icon) {\n const builtInIconKeys = Object.keys(builtInIcon);\n if (builtInIconKeys.includes(props.icon)) {\n textButtonIcon.value = builtInIcon[props.icon as builtInIconType].icon;\n textButtonColor.value =\n props.textColor || builtInIcon[props.icon as builtInIconType].color || 'var(--el-color-primary)';\n } else {\n textButtonIcon.value = props.icon;\n textButtonColor.value = props.textColor || 'var(--el-color-primary)';\n }\n } else {\n textButtonIcon.value = '';\n textButtonColor.value = props.textColor || 'var(--el-color-primary)';\n }\n });\n\n const handleMousedown = () => {\n cacheTextButtonColor = textButtonColor.value;\n textButtonColor.value = darkenColor(getElementColor(textButtonRef.value), 0.2);\n };\n\n const handleMouseup = () => {\n textButtonColor.value = cacheTextButtonColor || 'var(--el-color-primary)';\n };\n\n const handleClick = (evt: MouseEvent) => {\n if (!props.disabled) emits('click', evt);\n };\n</script>\n\n<template>\n <div\n ref=\"textButtonRef\"\n class=\"i-text-button\"\n :class=\"{\n 'i-text-button__disabled': disabled,\n }\"\n :style=\"{ color: textButtonColor }\"\n @mousedown=\"handleMousedown\"\n @mouseup=\"handleMouseup\"\n @click=\"handleClick\"\n >\n <!-- 图标 -->\n <div v-if=\"textButtonIcon || slots.icon\" class=\"i-text-button__icon\">\n <slot v-if=\"slots.icon\" name=\"icon\" />\n <i v-else class=\"iconfont\" :class=\"[textButtonIcon]\" />\n </div>\n <!-- 文本 -->\n <div class=\"i-text-button__label\">\n <slot name=\"default\" />\n </div>\n <!-- 下划线 -->\n <span class=\"i-text-button__line\" :style=\"{ backgroundColor: textButtonColor }\" />\n </div>\n</template>\n"],"names":["_createElementBlock","disabled","_createCommentVNode","_unref","_openBlock","_renderSlot","_normalizeClass","_createElementVNode"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"easyPlayer.vue2.mjs","sources":["../../../../../../../packages/components/tzj-player/src/easyPlayer.vue"],"sourcesContent":["<script setup lang=\"ts\">\n
|
|
1
|
+
{"version":3,"file":"easyPlayer.vue2.mjs","sources":["../../../../../../../packages/components/tzj-player/src/easyPlayer.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport {\n nextTick,\n onBeforeUnmount,\n onMounted,\n ref,\n shallowRef,\n watch,\n} from \"vue\";\nimport { uuid } from \"./tzj-player\";\n\ndefineOptions({\n name: \"EasyPlayer\",\n});\n\nconst props = defineProps<{\n url: string;\n}>();\n\nlet player: any = null;\nconst id = uuid();\nconst playerRef = shallowRef<HTMLElement>();\nconst playSuccess = ref(true);\nconst playUrl = ref(\"\");\n\nonMounted(() => {\n initPlayer(props.url || \"\");\n});\n\nwatch(\n () => props.url,\n (newUrl) => {\n initPlayer(newUrl || \"\");\n },\n);\n\nonBeforeUnmount(() => {\n playUrl.value = \"\";\n destroy();\n});\n\ndefineExpose({\n play,\n destroy,\n});\n\nasync function initPlayer(url: string) {\n removePlayerDom();\n if (url) {\n playUrl.value = formatUrl(url);\n\n if (window?.EasyPlayerPro) {\n createPlayer();\n } else {\n const timer = setInterval(() => {\n if (window?.EasyPlayerPro) {\n createPlayer();\n clearInterval(timer);\n }\n }, 100);\n }\n }\n}\n\n// 移除播放器DOM\nfunction removePlayerDom() {\n const dom = document.getElementById(id);\n dom && dom.remove();\n}\n\n// 创建播放器DOM\nfunction createPlayerDom() {\n removePlayerDom();\n const dom = document.createElement(\"div\");\n dom.id = id;\n dom.style.width = \"100%\";\n dom.style.height = \"100%\";\n playerRef.value?.appendChild(dom);\n}\n\nasync function createPlayer() {\n createPlayerDom();\n await nextTick();\n player = new window.EasyPlayerPro(document.getElementById(id), {\n isLive: true, // 是否直播\n hasAudio: true, // 是否解析音频\n bufferTime: 0.2, // 缓存时长\n stretch: true, // 加视频拉伸\n MSE: false,\n WCS: false,\n WASM: true,\n debug: false,\n operateBtns: {\n performance: false,\n },\n });\n\n // 加载超时\n player.on(\"timeout\", () => {\n playSuccess.value = false;\n destroy();\n });\n // 播放异常\n player.on(\"error\", () => {\n playSuccess.value = false;\n destroy();\n });\n play(props.url);\n}\n\nfunction destroy() {\n if (player) {\n player.destroy();\n player = null;\n }\n removePlayerDom();\n}\n\nfunction play(url?: string) {\n if (player && (url || props.url)) {\n playUrl.value = formatUrl(url || props.url);\n player.play(playUrl.value);\n } else {\n initPlayer(url || props.url);\n }\n}\n\n/**\n * 格式化url\n * 当url为相对路径时,添加baseUrl。baseUrl为当前页面的url\n * @param url\n * @example\n * formatUrl('/test.mp4') => 'http://192.168.111.206:8080/test.mp4'\n * formatUrl('http://192.168.111.206:8080/test.mp4') => 'http://192.168.111.206:8080/test.mp4'\n */\nfunction formatUrl(url: string) {\n if (url.startsWith(\"/\")) {\n return `${window.location.origin}${url}`;\n }\n return url;\n}\n</script>\n\n<template>\n <div ref=\"playerRef\" class=\"i-tzj-player\">\n <div v-if=\"!playSuccess\" class=\"i-tzj-player__error\">无信号</div>\n <div v-if=\"!playUrl\" class=\"i-tzj-player__error\">无播放地址</div>\n </div>\n</template>\n"],"names":["_createElementBlock"],"mappings":"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"}
|
|
@@ -12,6 +12,10 @@ const _hoisted_2 = {
|
|
|
12
12
|
key: 0,
|
|
13
13
|
class: "i-tzj-player__error"
|
|
14
14
|
};
|
|
15
|
+
const _hoisted_3 = {
|
|
16
|
+
key: 1,
|
|
17
|
+
class: "i-tzj-player__error"
|
|
18
|
+
};
|
|
15
19
|
var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
16
20
|
...{
|
|
17
21
|
name: "ITzjPlayer"
|
|
@@ -59,7 +63,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
59
63
|
16
|
|
60
64
|
/* FULL_PROPS */
|
|
61
65
|
)),
|
|
62
|
-
!supportedProtocol.value ? (openBlock(), createElementBlock("div",
|
|
66
|
+
!_ctx.url ? (openBlock(), createElementBlock("div", _hoisted_2, "\u65E0\u64AD\u653E\u5730\u5740")) : !supportedProtocol.value ? (openBlock(), createElementBlock("div", _hoisted_3, " \u683C\u5F0F\u4E0D\u652F\u6301 ")) : createCommentVNode("v-if", true)
|
|
63
67
|
]);
|
|
64
68
|
};
|
|
65
69
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tzj-player.vue2.mjs","sources":["../../../../../../../packages/components/tzj-player/src/tzj-player.vue"],"sourcesContent":["<script setup lang=\"ts\">\
|
|
1
|
+
{"version":3,"file":"tzj-player.vue2.mjs","sources":["../../../../../../../packages/components/tzj-player/src/tzj-player.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { onMounted, ref, shallowRef, watch } from \"vue\";\nimport EasyPlayer from \"./easyPlayer.vue\";\nimport { isSupportedProtocol, TzjPlayerProps } from \"./tzj-player\";\nimport YsPlayer from \"./ysPlayer.vue\";\n\ndefineOptions({\n name: \"ITzjPlayer\",\n});\n\nconst props = defineProps(TzjPlayerProps);\n\nconst comp = shallowRef();\nconst compRef = shallowRef();\nconst supportedProtocol = ref(true);\n\nonMounted(() => initPlayer());\n\nwatch(\n () => [props.url, props.accessToken],\n () => initPlayer(),\n);\n\nfunction initPlayer() {\n supportedProtocol.value = isSupportedProtocol(props.url);\n if (supportedProtocol.value) {\n // 当访问令牌存在时,使用萤石云播放器(YsPlayer)\n comp.value =\n props.accessToken && props.accessToken.length > 32\n ? YsPlayer\n : EasyPlayer;\n } else {\n comp.value = null;\n }\n}\n\ndefineExpose({\n play(options?: any) {\n compRef.value?.play(options);\n },\n destroy() {\n compRef.value?.destroy();\n },\n});\n</script>\n\n<template>\n <div class=\"i-tzj-player\">\n <component :is=\"comp\" ref=\"compRef\" v-bind=\"props\" />\n <div v-if=\"!url\" class=\"i-tzj-player__error\">无播放地址</div>\n <div v-else-if=\"!supportedProtocol\" class=\"i-tzj-player__error\">\n 格式不支持\n </div>\n </div>\n</template>\n"],"names":["YsPlayer","EasyPlayer","_openBlock","_createElementBlock","_createBlock","_resolveDynamicComponent","_mergeProps","url"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAUA,IAAA,MAAM,KAAQ,GAAA,OAAA;AAEd,IAAA,MAAM,OAAO,UAAW,EAAA;AACxB,IAAA,MAAM,UAAU,UAAW,EAAA;AAC3B,IAAM,MAAA,iBAAA,GAAoB,IAAI,IAAI,CAAA;AAElC,IAAU,SAAA,CAAA,MAAM,YAAY,CAAA;AAE5B,IAAA,KAAA;AAAA,MACE,MAAM,CAAC,KAAM,CAAA,GAAA,EAAK,MAAM,WAAW,CAAA;AAAA,MACnC,MAAM,UAAW;AAAA,KACnB;AAEA,IAAA,SAAS,UAAa,GAAA;AACpB,MAAkB,iBAAA,CAAA,KAAA,GAAQ,mBAAoB,CAAA,KAAA,CAAM,GAAG,CAAA;AACvD,MAAA,IAAI,kBAAkB,KAAO,EAAA;AAE3B,QAAA,IAAA,CAAK,QACH,KAAM,CAAA,WAAA,IAAe,MAAM,WAAY,CAAA,MAAA,GAAS,KAC5CA,WACA,GAAAC,WAAA;AAAA,OACD,MAAA;AACL,QAAA,IAAA,CAAK,KAAQ,GAAA,IAAA;AAAA;AACf;AAVO,IAAA,MAAA,CAAA,UAAA,EAAA,YAAA,CAAA;AAaT,IAAa,QAAA,CAAA;AAAA,MACX,KAAK,OAAe,EAAA;;AAClB,QAAQ,CAAA,EAAA,GAAA,OAAA,CAAA,KAAA,KAAR,mBAAe,IAAK,CAAA,OAAA,CAAA;AAAA,OACtB;AAAA,MACA,OAAU,GAAA;;AACR,QAAA,CAAA,EAAA,GAAA,OAAA,CAAQ,UAAR,IAAe,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAA,EAAA;AAAA;AACjB,KACD,CAAA;;AAIC,MAAA,OAAAC,SAAA,EAAA,EAAAC,kBAMM,CAAA,KAAA,EANN,UAMM,EAAA;AAAA,oBALJ,EAAAC,WAAA;AAAA,UAAqDC,uBAAA,CAArC,KAAI,KAAA,CAAA;AAAA,UAApBC,UAAqD,CAAA;AAAA,mBAA3B,EAAA,SAAA;AAAA,YAAJ,GAAI,EAAA;AAAA,aAAkB,KAAK,CAAA;AAAA,UAAA,IAAA;AAAA,UAAA;AAAA;AAAA,SAAA;AAAA,SACrCC,KAAG,oBAAfJ,kBAAwD,CAAA,KAAA,EAAxD,UAA6C,EAAA,gCAAK,MACjC,kBAAiB,sBAAlCA,kBAEM,CAAA,KAAA,EAFN,YAAgE,kCAEhE,CAAA;;;;;;;;"}
|