adtec-core-package 0.4.1 → 0.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/README.en.md +36 -36
  2. package/package.json +59 -59
  3. package/src/api/BasicApi.ts +17 -17
  4. package/src/api/DocumentApi.ts +27 -27
  5. package/src/api/SysDictCacheApi.ts +26 -26
  6. package/src/api/SysUserApi.ts +35 -35
  7. package/src/api/framework.ts +12 -12
  8. package/src/assets/style/ant.scss +19 -19
  9. package/src/assets/style/index.less +180 -180
  10. package/src/components/ElFlex/ElFlex.vue +297 -297
  11. package/src/components/OperationAuth/operationAuth.vue +26 -26
  12. package/src/components/Search/ElIconSearch.vue +260 -260
  13. package/src/components/Search/ElSearch.vue +154 -154
  14. package/src/components/Table/ElTableColumnEdit.vue +218 -218
  15. package/src/components/Title/ElTitle.vue +49 -49
  16. package/src/components/autoToolTip/ElAutoToolTip.vue +61 -61
  17. package/src/components/baseEcharts/index.vue +48 -48
  18. package/src/components/business/userSelect.vue +412 -412
  19. package/src/components/upload/ElUploads.vue +9 -2
  20. package/src/components/upload/FileView.vue +158 -158
  21. package/src/components/upload/FileViewComponents.vue +57 -57
  22. package/src/config/ElementPlusConfig.ts +95 -95
  23. package/src/css/elementUI/autocomplete.scss +89 -89
  24. package/src/css/elementUI/common/var.scss +1549 -1549
  25. package/src/css/elementUI/date-picker/picker.scss +219 -219
  26. package/src/css/elementUI/drawer.scss +164 -164
  27. package/src/css/elementUI/table.scss +694 -694
  28. package/src/css/elementUI/tabs.scss +659 -659
  29. package/src/directives/vKeydown.ts +93 -93
  30. package/src/hooks/useDictHooks.ts +79 -76
  31. package/src/hooks/useEcharts.ts +58 -58
  32. package/src/hooks/useFileView.ts +34 -34
  33. package/src/hooks/useMessageHooks.ts +132 -132
  34. package/src/hooks/useResetRefHooks.ts +18 -18
  35. package/src/interface/BaseEntity.ts +28 -28
  36. package/src/interface/IMdmDept.ts +82 -82
  37. package/src/interface/IOrgDeptInfo.ts +12 -12
  38. package/src/interface/ISysDictDataCacheVo.ts +46 -46
  39. package/src/interface/ISysDictType.ts +37 -37
  40. package/src/interface/ISysMenuDataVo.ts +22 -22
  41. package/src/interface/ISysMenuInfoVo.ts +83 -83
  42. package/src/interface/ISysMenuOperationVo.ts +21 -21
  43. package/src/interface/ISysUploadFiles.ts +16 -16
  44. package/src/interface/ISysUserInfo.ts +70 -70
  45. package/src/interface/IUserPermissionVo.ts +34 -34
  46. package/src/interface/Message.ts +69 -69
  47. package/src/interface/PageData.ts +17 -17
  48. package/src/interface/ResponseData.ts +16 -16
  49. package/src/interface/dictMapType.ts +11 -11
  50. package/src/interface/enum/MessageEnum.ts +41 -41
  51. package/src/mixin/globalMixin.ts +37 -37
  52. package/src/packages/index.ts +18 -18
  53. package/src/packages/text.vue +13 -13
  54. package/src/plugins/echartsConfig.ts +73 -73
  55. package/src/plugins/plugins.ts +12 -12
  56. package/src/stores/dictStore.ts +27 -20
  57. package/src/stores/messageStore.ts +49 -49
  58. package/src/stores/permissionStore.ts +108 -108
  59. package/src/stores/storeConfig.ts +23 -23
  60. package/src/stores/userInfoStore.ts +31 -31
  61. package/src/utils/AxiosConfig.ts +216 -216
@@ -1,93 +1,93 @@
1
- /**
2
- * Create by丁盼
3
- * 说明: v-keydown
4
- * 创建时间: 2024/12/12 15:51
5
- * 修改时间: 2024/12/12 15:51
6
- */
7
- import { useEventBus } from '@vueuse/core'
8
- const vKeydown = {
9
- beforeMount: (el: HTMLElement) => {
10
- el.addEventListener('keydown', (e) => {
11
- if (e.key === 'Tab') {
12
- const el = e.target as HTMLElement
13
- if (el.tagName === 'INPUT' || el.tagName === 'TEXTAREA') {
14
- //查找上级DIV 节点 取消编辑
15
- let b = true
16
- let i = 0
17
- let parent: any = el
18
- while (b) {
19
- parent = parent.parentElement
20
- if (parent.className.indexOf('el-table-column-edit') > -1) {
21
- b = false
22
- } else {
23
- i++
24
- if (i > 5) {
25
- b = false
26
- }
27
- }
28
- }
29
- const bus = useEventBus<string>(parent.id)
30
- bus.emit()
31
- //寻找下一个编辑的单元格
32
- //找到el-table__cell' 节点
33
- b = true
34
- i = 0
35
- while (b) {
36
- parent = parent.parentElement
37
- if (parent.className.indexOf('el-table__cell') > -1) {
38
- b = false
39
- } else {
40
- i++
41
- if (i > 5) {
42
- b = false
43
- }
44
- }
45
- }
46
- b = true
47
- i = 0
48
- while (b) {
49
- if (parent.nextElementSibling) {
50
- const input = parent.nextElementSibling.getElementsByClassName('el-table-column-edit')
51
- if (input.length > 0) {
52
- setTimeout(() => {
53
- input[0].click()
54
- }, 10)
55
- b = false
56
- e.stopPropagation()
57
- return false
58
- } else {
59
- parent = parent.nextElementSibling
60
- i++
61
- if (i > 5) {
62
- b = false
63
- }
64
- }
65
- } else {
66
- b = false
67
- }
68
- }
69
- //如果当前行结束判断下一行数据
70
- const tr = parent.parentNode.nextElementSibling
71
- try {
72
- for (let j = 0; j < tr.children.length; j++) {
73
- const input = tr.children[j].getElementsByClassName('el-table-column-edit')
74
- if (input.length > 0) {
75
- setTimeout(() => {
76
- input[0].click()
77
- e.stopPropagation()
78
- }, 10)
79
- break
80
- }
81
- }
82
- } catch {
83
- /* empty */
84
- }
85
- }
86
- }
87
- })
88
- },
89
- unmounted: (el: HTMLElement) => {
90
- el.removeEventListener('keydown', () => {})
91
- },
92
- }
93
- export default vKeydown
1
+ /**
2
+ * Create by丁盼
3
+ * 说明: v-keydown
4
+ * 创建时间: 2024/12/12 15:51
5
+ * 修改时间: 2024/12/12 15:51
6
+ */
7
+ import { useEventBus } from '@vueuse/core'
8
+ const vKeydown = {
9
+ beforeMount: (el: HTMLElement) => {
10
+ el.addEventListener('keydown', (e) => {
11
+ if (e.key === 'Tab') {
12
+ const el = e.target as HTMLElement
13
+ if (el.tagName === 'INPUT' || el.tagName === 'TEXTAREA') {
14
+ //查找上级DIV 节点 取消编辑
15
+ let b = true
16
+ let i = 0
17
+ let parent: any = el
18
+ while (b) {
19
+ parent = parent.parentElement
20
+ if (parent.className.indexOf('el-table-column-edit') > -1) {
21
+ b = false
22
+ } else {
23
+ i++
24
+ if (i > 5) {
25
+ b = false
26
+ }
27
+ }
28
+ }
29
+ const bus = useEventBus<string>(parent.id)
30
+ bus.emit()
31
+ //寻找下一个编辑的单元格
32
+ //找到el-table__cell' 节点
33
+ b = true
34
+ i = 0
35
+ while (b) {
36
+ parent = parent.parentElement
37
+ if (parent.className.indexOf('el-table__cell') > -1) {
38
+ b = false
39
+ } else {
40
+ i++
41
+ if (i > 5) {
42
+ b = false
43
+ }
44
+ }
45
+ }
46
+ b = true
47
+ i = 0
48
+ while (b) {
49
+ if (parent.nextElementSibling) {
50
+ const input = parent.nextElementSibling.getElementsByClassName('el-table-column-edit')
51
+ if (input.length > 0) {
52
+ setTimeout(() => {
53
+ input[0].click()
54
+ }, 10)
55
+ b = false
56
+ e.stopPropagation()
57
+ return false
58
+ } else {
59
+ parent = parent.nextElementSibling
60
+ i++
61
+ if (i > 5) {
62
+ b = false
63
+ }
64
+ }
65
+ } else {
66
+ b = false
67
+ }
68
+ }
69
+ //如果当前行结束判断下一行数据
70
+ const tr = parent.parentNode.nextElementSibling
71
+ try {
72
+ for (let j = 0; j < tr.children.length; j++) {
73
+ const input = tr.children[j].getElementsByClassName('el-table-column-edit')
74
+ if (input.length > 0) {
75
+ setTimeout(() => {
76
+ input[0].click()
77
+ e.stopPropagation()
78
+ }, 10)
79
+ break
80
+ }
81
+ }
82
+ } catch {
83
+ /* empty */
84
+ }
85
+ }
86
+ }
87
+ })
88
+ },
89
+ unmounted: (el: HTMLElement) => {
90
+ el.removeEventListener('keydown', () => {})
91
+ },
92
+ }
93
+ export default vKeydown
@@ -1,76 +1,79 @@
1
- import { storeToRefs } from 'pinia'
2
- import { ElMessage } from 'element-plus'
3
- import SysDictCacheApi from '../api/SysDictCacheApi'
4
- import type { ISysDictDataCacheVo } from '../interface/ISysDictDataCacheVo'
5
- import { dictStore } from '../stores/dictStore'
6
-
7
- export default function useDictHooks(dictTypes?: string[]) {
8
- const dictStores = dictStore()
9
- const { dictMap, dictDefaultValueMap, dictDataMap } = storeToRefs(dictStores)
10
- const getDict = async (dictTypes: string[]) => {
11
- try {
12
- if (!dictTypes || !dictTypes.length) return
13
- // 判断是否存在缓存数据,如果存在则不请求接口
14
- const dictKeySet = new Set(Object.keys(dictMap.value))
15
- const uncachedDictTypes = dictTypes.filter((dictType) => !dictKeySet.has(dictType))
16
- if (!uncachedDictTypes.length) return
17
- const data = await SysDictCacheApi.batchGetSysDictDataCacheVo(uncachedDictTypes)
18
- dictMap.value = { ...dictMap.value, ...data }
19
- // 获取默认值
20
- Object.keys(data).forEach((item: string) => {
21
- findDefaultValue(data[item], item)
22
- const dataMap = new Map<string, ISysDictDataCacheVo>()
23
- packageDictDataMap(dataMap, data[item])
24
- dictDataMap.value.set(item, dataMap)
25
- })
26
- } catch (error: any) {
27
- ElMessage.error(error.msg || error.message)
28
- }
29
- }
30
-
31
- const packageDictDataMap = async (
32
- map: Map<string, ISysDictDataCacheVo>,
33
- list?: ISysDictDataCacheVo[],
34
- ) => {
35
- if (list && list.length) {
36
- list.forEach((item: ISysDictDataCacheVo) => {
37
- map.set(item.value, { ...item, ...{ children: undefined } })
38
- packageDictDataMap(map, item.children)
39
- })
40
- }
41
- }
42
-
43
- const findDefaultValue = async (list: ISysDictDataCacheVo[], type: string) => {
44
- const find = getDefaultValue(list)
45
- find && dictDefaultValueMap.value.set(type, find)
46
- }
47
-
48
- const getDefaultValue = (list?: ISysDictDataCacheVo[]): ISysDictDataCacheVo | undefined => {
49
- if (list && list.length) {
50
- const find = list.find((item: ISysDictDataCacheVo) => item.isDefault === '1')
51
- if (find) return find
52
- for (const iSysDictDataCacheVo of list) {
53
- const res = getDefaultValue(iSysDictDataCacheVo.children)
54
- if (res) return res
55
- }
56
- }
57
- }
58
-
59
- const getDictName = (value?: string, dictType?: string) => {
60
- return dictDataMap.value.get(dictType!)?.get(value!)?.label || value
61
- }
62
-
63
- const getDictData = (value: string, dictType: string) => {
64
- return dictDataMap.value.get(dictType)?.get(value)
65
- }
66
- if (dictTypes && dictTypes.length) {
67
- getDict(dictTypes).then(() => {})
68
- }
69
- return {
70
- dictMap,
71
- dictDefaultValueMap,
72
- getDict,
73
- getDictName,
74
- getDictData,
75
- }
76
- }
1
+ import { ElMessage } from 'element-plus'
2
+ import SysDictCacheApi from '../api/SysDictCacheApi'
3
+ import type { ISysDictDataCacheVo } from '../interface/ISysDictDataCacheVo'
4
+ import { type dictDataMapVoType, dictStore } from '../stores/dictStore'
5
+ import { computed, toRefs } from 'vue'
6
+
7
+ export default function useDictHooks(dictTypes?: string[]) {
8
+ const dictStores = dictStore()
9
+ const getDict = async (dictTypes?: string[]) => {
10
+ try {
11
+ if (!dictTypes || !dictTypes.length) return
12
+ //判断是否存在缓存数据,如果存在则不请求接口
13
+ const dictKeySet = new Set(Object.keys(dictStores.dictMap))
14
+ const uncachedDictTypes = dictTypes.filter((dictType) => !dictKeySet.has(dictType))
15
+ if (!uncachedDictTypes.length) return
16
+ const data = await SysDictCacheApi.batchGetSysDictDataCacheVo(dictTypes)
17
+ dictStores.dictMap = { ...dictStores.dictMap, ...data }
18
+ // 获取默认值
19
+ Object.keys(data).forEach((item: string) => {
20
+ findDefaultValue(data[item], item)
21
+ const dataMap: dictDataMapVoType = {}
22
+ packageDictDataMap(dataMap, data[item])
23
+ dictStores.dictDataMap[item] = dataMap
24
+ })
25
+ } catch (error: any) {
26
+ ElMessage.error(error.msg || error.message)
27
+ }
28
+ }
29
+
30
+ const packageDictDataMap = async (map: dictDataMapVoType, list?: ISysDictDataCacheVo[]) => {
31
+ if (list && list.length) {
32
+ list.forEach((item: ISysDictDataCacheVo) => {
33
+ map[item.value] = { ...item, ...{ children: undefined } }
34
+ packageDictDataMap(map, item.children)
35
+ })
36
+ }
37
+ }
38
+
39
+ const findDefaultValue = async (list: ISysDictDataCacheVo[], type: string) => {
40
+ const find = getDefaultValue(list)
41
+ if (find) {
42
+ dictStores.dictDefaultValueMap[type] = find
43
+ }
44
+ }
45
+
46
+ const getDefaultValue = (list?: ISysDictDataCacheVo[]): ISysDictDataCacheVo | undefined => {
47
+ if (list && list.length) {
48
+ const find = list.find((item: ISysDictDataCacheVo) => item.isDefault === '1')
49
+ if (find) return find
50
+ for (const iSysDictDataCacheVo of list) {
51
+ const res = getDefaultValue(iSysDictDataCacheVo.children)
52
+ if (res) return res
53
+ }
54
+ }
55
+ }
56
+
57
+ const getDictName = (value?: string, dictType?: string) => {
58
+ if (dictStores.dictDataMap[dictType!]) {
59
+ return dictStores.dictDataMap[dictType!][value!]?.label || value
60
+ }
61
+ return value
62
+ }
63
+
64
+ const getDictData = (value: string, dictType: string) => {
65
+ return dictStores.dictDataMap[dictType!][value!]
66
+ }
67
+ if (dictTypes && dictTypes.length) {
68
+ getDict(dictTypes).then(() => {
69
+ })
70
+ }
71
+
72
+ return {
73
+ dictMap: computed(() => dictStores.dictMap),
74
+ dictDefaultValueMap: computed(() => dictStores.dictDefaultValueMap),
75
+ getDict,
76
+ getDictName,
77
+ getDictData
78
+ }
79
+ }
@@ -1,58 +1,58 @@
1
- /**
2
- * 创建人 胡啸东
3
- * 说明: useEcharts
4
- * 创建时间: 2024/11/4 下午4:51
5
- * 修改时间: 2024/11/4 下午4:51
6
- */
7
- import type { Ref } from 'vue'
8
- import { onBeforeUnmount, onDeactivated, onMounted, shallowRef, unref } from 'vue'
9
- import echarts from '../plugins/echartsConfig.ts'
10
-
11
- export type EChartsCoreOption = echarts.EChartsCoreOption
12
-
13
- const useEcharts = (elRef: Ref<HTMLDivElement>, options: EChartsCoreOption) => {
14
- const charts = shallowRef<echarts.ECharts>()
15
-
16
- const setOptions = (options: EChartsCoreOption) => {
17
- charts.value && charts.value.setOption(options)
18
- }
19
-
20
- // 初始化
21
- const initCharts = (themeColor?: Array<string>) => {
22
- const el = unref(elRef)
23
- if (!el || !unref(el)) {
24
- return
25
- }
26
- charts.value = echarts.init(el)
27
- if (themeColor) {
28
- options.color = themeColor
29
- }
30
- setOptions(options)
31
- }
32
-
33
- // 重新窗口变化时,重新计算
34
- const resize = () => {
35
- charts.value && charts.value.resize()
36
- }
37
-
38
- onMounted(() => {
39
- window.addEventListener('resize', resize)
40
- })
41
-
42
- // 页面keepAlive时,不监听页面
43
- onDeactivated(() => {
44
- window.removeEventListener('resize', resize)
45
- })
46
-
47
- onBeforeUnmount(() => {
48
- window.removeEventListener('resize', resize)
49
- })
50
-
51
- return {
52
- initCharts,
53
- setOptions,
54
- resize,
55
- }
56
- }
57
-
58
- export { useEcharts }
1
+ /**
2
+ * 创建人 胡啸东
3
+ * 说明: useEcharts
4
+ * 创建时间: 2024/11/4 下午4:51
5
+ * 修改时间: 2024/11/4 下午4:51
6
+ */
7
+ import type { Ref } from 'vue'
8
+ import { onBeforeUnmount, onDeactivated, onMounted, shallowRef, unref } from 'vue'
9
+ import echarts from '../plugins/echartsConfig.ts'
10
+
11
+ export type EChartsCoreOption = echarts.EChartsCoreOption
12
+
13
+ const useEcharts = (elRef: Ref<HTMLDivElement>, options: EChartsCoreOption) => {
14
+ const charts = shallowRef<echarts.ECharts>()
15
+
16
+ const setOptions = (options: EChartsCoreOption) => {
17
+ charts.value && charts.value.setOption(options)
18
+ }
19
+
20
+ // 初始化
21
+ const initCharts = (themeColor?: Array<string>) => {
22
+ const el = unref(elRef)
23
+ if (!el || !unref(el)) {
24
+ return
25
+ }
26
+ charts.value = echarts.init(el)
27
+ if (themeColor) {
28
+ options.color = themeColor
29
+ }
30
+ setOptions(options)
31
+ }
32
+
33
+ // 重新窗口变化时,重新计算
34
+ const resize = () => {
35
+ charts.value && charts.value.resize()
36
+ }
37
+
38
+ onMounted(() => {
39
+ window.addEventListener('resize', resize)
40
+ })
41
+
42
+ // 页面keepAlive时,不监听页面
43
+ onDeactivated(() => {
44
+ window.removeEventListener('resize', resize)
45
+ })
46
+
47
+ onBeforeUnmount(() => {
48
+ window.removeEventListener('resize', resize)
49
+ })
50
+
51
+ return {
52
+ initCharts,
53
+ setOptions,
54
+ resize,
55
+ }
56
+ }
57
+
58
+ export { useEcharts }
@@ -1,34 +1,34 @@
1
- import { ref, onMounted, onUnmounted, createApp } from 'vue'
2
- import FileView from '../components/upload/FileViewComponents.vue'
3
-
4
- const useFileView = () => {
5
- const ref_fileView = ref(null)
6
-
7
- const fileView = (id: string) => {
8
- if (ref_fileView.value) {
9
- //@ts-ignore
10
- ref_fileView.value?.viewFile(id)
11
- }
12
- }
13
-
14
- onMounted(() => {
15
- const container = document.createElement('div')
16
- document.body.appendChild(container)
17
- //@ts-ignore
18
- ref_fileView.value = createApp(FileView).mount(container)
19
- onUnmounted(() => {
20
- try {
21
- //@ts-ignore
22
- ref_fileView?.value.$destroy()
23
- } catch {
24
- /* empty */
25
- }
26
- document.body.removeChild(container)
27
- })
28
- })
29
- return {
30
- fileView,
31
- }
32
- }
33
-
34
- export default useFileView
1
+ import { ref, onMounted, onUnmounted, createApp } from 'vue'
2
+ import FileView from '../components/upload/FileViewComponents.vue'
3
+
4
+ const useFileView = () => {
5
+ const ref_fileView = ref(null)
6
+
7
+ const fileView = (id: string) => {
8
+ if (ref_fileView.value) {
9
+ //@ts-ignore
10
+ ref_fileView.value?.viewFile(id)
11
+ }
12
+ }
13
+
14
+ onMounted(() => {
15
+ const container = document.createElement('div')
16
+ document.body.appendChild(container)
17
+ //@ts-ignore
18
+ ref_fileView.value = createApp(FileView).mount(container)
19
+ onUnmounted(() => {
20
+ try {
21
+ //@ts-ignore
22
+ ref_fileView?.value.$destroy()
23
+ } catch {
24
+ /* empty */
25
+ }
26
+ document.body.removeChild(container)
27
+ })
28
+ })
29
+ return {
30
+ fileView,
31
+ }
32
+ }
33
+
34
+ export default useFileView