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.
- package/README.en.md +36 -36
- package/package.json +59 -59
- package/src/api/BasicApi.ts +17 -17
- package/src/api/DocumentApi.ts +27 -27
- package/src/api/SysDictCacheApi.ts +26 -26
- package/src/api/SysUserApi.ts +35 -35
- package/src/api/framework.ts +12 -12
- package/src/assets/style/ant.scss +19 -19
- package/src/assets/style/index.less +180 -180
- package/src/components/ElFlex/ElFlex.vue +297 -297
- package/src/components/OperationAuth/operationAuth.vue +26 -26
- package/src/components/Search/ElIconSearch.vue +260 -260
- package/src/components/Search/ElSearch.vue +154 -154
- package/src/components/Table/ElTableColumnEdit.vue +218 -218
- package/src/components/Title/ElTitle.vue +49 -49
- package/src/components/autoToolTip/ElAutoToolTip.vue +61 -61
- package/src/components/baseEcharts/index.vue +48 -48
- package/src/components/business/userSelect.vue +412 -412
- package/src/components/upload/ElUploads.vue +9 -2
- package/src/components/upload/FileView.vue +158 -158
- package/src/components/upload/FileViewComponents.vue +57 -57
- package/src/config/ElementPlusConfig.ts +95 -95
- package/src/css/elementUI/autocomplete.scss +89 -89
- package/src/css/elementUI/common/var.scss +1549 -1549
- package/src/css/elementUI/date-picker/picker.scss +219 -219
- package/src/css/elementUI/drawer.scss +164 -164
- package/src/css/elementUI/table.scss +694 -694
- package/src/css/elementUI/tabs.scss +659 -659
- package/src/directives/vKeydown.ts +93 -93
- package/src/hooks/useDictHooks.ts +79 -76
- package/src/hooks/useEcharts.ts +58 -58
- package/src/hooks/useFileView.ts +34 -34
- package/src/hooks/useMessageHooks.ts +132 -132
- package/src/hooks/useResetRefHooks.ts +18 -18
- package/src/interface/BaseEntity.ts +28 -28
- package/src/interface/IMdmDept.ts +82 -82
- package/src/interface/IOrgDeptInfo.ts +12 -12
- package/src/interface/ISysDictDataCacheVo.ts +46 -46
- package/src/interface/ISysDictType.ts +37 -37
- package/src/interface/ISysMenuDataVo.ts +22 -22
- package/src/interface/ISysMenuInfoVo.ts +83 -83
- package/src/interface/ISysMenuOperationVo.ts +21 -21
- package/src/interface/ISysUploadFiles.ts +16 -16
- package/src/interface/ISysUserInfo.ts +70 -70
- package/src/interface/IUserPermissionVo.ts +34 -34
- package/src/interface/Message.ts +69 -69
- package/src/interface/PageData.ts +17 -17
- package/src/interface/ResponseData.ts +16 -16
- package/src/interface/dictMapType.ts +11 -11
- package/src/interface/enum/MessageEnum.ts +41 -41
- package/src/mixin/globalMixin.ts +37 -37
- package/src/packages/index.ts +18 -18
- package/src/packages/text.vue +13 -13
- package/src/plugins/echartsConfig.ts +73 -73
- package/src/plugins/plugins.ts +12 -12
- package/src/stores/dictStore.ts +27 -20
- package/src/stores/messageStore.ts +49 -49
- package/src/stores/permissionStore.ts +108 -108
- package/src/stores/storeConfig.ts +23 -23
- package/src/stores/userInfoStore.ts +31 -31
- 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 {
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import type
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
export default function useDictHooks(dictTypes?: string[]) {
|
|
8
|
-
const dictStores = dictStore()
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
const
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
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
|
+
}
|
package/src/hooks/useEcharts.ts
CHANGED
|
@@ -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 }
|
package/src/hooks/useFileView.ts
CHANGED
|
@@ -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
|