adtec-core-package 2.2.6 → 2.2.8

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 (211) hide show
  1. package/README.en.md +36 -36
  2. package/adtec-core-package/adtec-core-package.css +1 -0
  3. package/adtec-core-package/adtec-core-package.js +41605 -0
  4. package/adtec-core-package/adtec-core-package.umd.cjs +79 -0
  5. package/adtec-core-package/favicon.ico +0 -0
  6. package/eslint.config.js +21 -11
  7. package/package.json +69 -71
  8. package/src/api/BasicApi.ts +26 -26
  9. package/src/api/DeptInfoApi.ts +19 -19
  10. package/src/api/DocumentApi.ts +27 -27
  11. package/src/api/EmployeeInfoApi.ts +17 -17
  12. package/src/api/SysDictCacheApi.ts +29 -29
  13. package/src/api/SysUserApi.ts +35 -35
  14. package/src/api/framework.ts +12 -12
  15. package/src/api/workflow/workflow.ts +31 -31
  16. package/src/api/workflow/workflowInstApi.ts +72 -72
  17. package/src/assets/style/ant.scss +19 -19
  18. package/src/assets/style/index.less +180 -180
  19. package/src/components/ElCardList.vue +64 -64
  20. package/src/components/ElFlex/ElFlex.vue +297 -297
  21. package/src/components/ElTotalTools.vue +70 -70
  22. package/src/components/OperationAuth/operationAuth.vue +32 -32
  23. package/src/components/RichTextEditor/RichTextEditor.vue +414 -414
  24. package/src/components/Scrollbars/ElScrollbars.vue +21 -21
  25. package/src/components/Search/ElIconSearch.vue +267 -267
  26. package/src/components/Search/ElSearch.vue +154 -154
  27. package/src/components/SelectInDicators/SelectInDicators.vue +225 -225
  28. package/src/components/SelectInDicators/api/DataIndicatorsApi.ts +28 -28
  29. package/src/components/SelectInDicators/interface/IComIndex.ts +26 -26
  30. package/src/components/SelectInDicators/interface/IComIndexAttri.ts +18 -18
  31. package/src/components/Table/ElTableColumnDynamic.vue +25 -25
  32. package/src/components/Table/ElTableColumnEdit.vue +265 -265
  33. package/src/components/Table/ElTableTool.ts +37 -37
  34. package/src/components/Title/ElTitle.vue +53 -53
  35. package/src/components/autoToolTip/ElAutoToolTip.vue +62 -62
  36. package/src/components/baseEcharts/index.vue +48 -48
  37. package/src/components/bpmntree/api/modules/role.ts +31 -31
  38. package/src/components/bpmntree/api/modules/user.ts +17 -17
  39. package/src/components/bpmntree/components/AdvancedFilter/Operator.vue +112 -112
  40. package/src/components/bpmntree/components/AdvancedFilter/Trigger.vue +23 -23
  41. package/src/components/bpmntree/components/AdvancedFilter/index.vue +230 -230
  42. package/src/components/bpmntree/components/AdvancedFilter/type.ts +20 -20
  43. package/src/components/bpmntree/components/FlowIcon/index.scss +7 -7
  44. package/src/components/bpmntree/components/FlowIcon/index.tsx +68 -68
  45. package/src/components/bpmntree/components/Render/render.vue +90 -90
  46. package/src/components/bpmntree/components/Render/type.ts +12 -12
  47. package/src/components/bpmntree/components/RoleSelector/RolePicker.vue +264 -264
  48. package/src/components/bpmntree/components/RoleSelector/RoleTag.vue +48 -48
  49. package/src/components/bpmntree/components/RoleSelector/index.vue +113 -113
  50. package/src/components/bpmntree/components/UserSelector/UserTag.vue +73 -73
  51. package/src/components/bpmntree/components/UserSelector/index.vue +140 -140
  52. package/src/components/bpmntree/hooks/useDraggableScroll.ts +44 -44
  53. package/src/components/bpmntree/typings/index.d.ts +1 -1
  54. package/src/components/bpmntree/views/flowDesign/index.vue +653 -653
  55. package/src/components/bpmntree/views/flowDesign/nodes/Add.vue +184 -184
  56. package/src/components/bpmntree/views/flowDesign/nodes/ApprovalNode.vue +127 -127
  57. package/src/components/bpmntree/views/flowDesign/nodes/CcNode.vue +93 -93
  58. package/src/components/bpmntree/views/flowDesign/nodes/ConcurrentNode.vue +61 -61
  59. package/src/components/bpmntree/views/flowDesign/nodes/ConditionNode.vue +60 -60
  60. package/src/components/bpmntree/views/flowDesign/nodes/EndNode.vue +80 -80
  61. package/src/components/bpmntree/views/flowDesign/nodes/ExclusiveNode.vue +20 -20
  62. package/src/components/bpmntree/views/flowDesign/nodes/GatewayNode.vue +173 -173
  63. package/src/components/bpmntree/views/flowDesign/nodes/InclusiveNode.vue +20 -20
  64. package/src/components/bpmntree/views/flowDesign/nodes/JumpNode.vue +49 -49
  65. package/src/components/bpmntree/views/flowDesign/nodes/Node.vue +346 -346
  66. package/src/components/bpmntree/views/flowDesign/nodes/NotifyNode.vue +115 -115
  67. package/src/components/bpmntree/views/flowDesign/nodes/ParallelNode.vue +20 -20
  68. package/src/components/bpmntree/views/flowDesign/nodes/PopoverView.vue +78 -78
  69. package/src/components/bpmntree/views/flowDesign/nodes/StartNode.vue +84 -84
  70. package/src/components/bpmntree/views/flowDesign/nodes/TimerNode.vue +50 -50
  71. package/src/components/bpmntree/views/flowDesign/nodes/TreeNode.vue +45 -45
  72. package/src/components/bpmntree/views/flowDesign/nodes/type.ts +196 -196
  73. package/src/components/bpmntree/views/flowDesign/panels/ApprovalPanel.vue +553 -553
  74. package/src/components/bpmntree/views/flowDesign/panels/AssigneePanel.vue +120 -120
  75. package/src/components/bpmntree/views/flowDesign/panels/CcPanel.vue +99 -99
  76. package/src/components/bpmntree/views/flowDesign/panels/ConditionPanel.vue +41 -41
  77. package/src/components/bpmntree/views/flowDesign/panels/EndPanel.vue +18 -18
  78. package/src/components/bpmntree/views/flowDesign/panels/ExecutionListeners.vue +110 -110
  79. package/src/components/bpmntree/views/flowDesign/panels/JumpPanel.vue +32 -32
  80. package/src/components/bpmntree/views/flowDesign/panels/NotifyPanel.vue +101 -101
  81. package/src/components/bpmntree/views/flowDesign/panels/ParaPanel.vue +248 -248
  82. package/src/components/bpmntree/views/flowDesign/panels/StartPanel.vue +160 -160
  83. package/src/components/bpmntree/views/flowDesign/panels/TaskListeners.vue +110 -110
  84. package/src/components/bpmntree/views/flowDesign/panels/TimerPanel.vue +51 -51
  85. package/src/components/bpmntree/views/flowDesign/panels/index.vue +85 -85
  86. package/src/components/bpmntree/views/view.index.vue +291 -291
  87. package/src/components/business/comp.selectUser.vue +60 -60
  88. package/src/components/business/comp.userForm.vue +311 -311
  89. package/src/components/business/userSelect.vue +413 -413
  90. package/src/components/icon/ElIconBtn.vue +243 -243
  91. package/src/components/kFrame/IframeOptions.ts +116 -116
  92. package/src/components/kFrame/KFrame.vue +161 -161
  93. package/src/components/tooltip/index.ts +11 -11
  94. package/src/components/tooltip/src/tooltip.ts +518 -518
  95. package/src/components/upload/ElUploads.vue +364 -364
  96. package/src/components/upload/FileView.vue +214 -214
  97. package/src/components/upload/FileViewComponents.vue +56 -56
  98. package/src/components/vxeGrid/index.vue +36 -36
  99. package/src/components/workflow/TaskOperation.vue +241 -241
  100. package/src/components/workflow/WorkflowTodoDialog.vue +83 -83
  101. package/src/components/workflow/components/AddOrMinusMultiDialog.vue +159 -159
  102. package/src/components/workflow/components/CheckDialog.vue +350 -350
  103. package/src/components/workflow/components/ProcessDetailComp.vue +149 -149
  104. package/src/components/workflow/components/ProcessDetailDialog.vue +129 -129
  105. package/src/components/workflow/components/ProcessInstance.vue +117 -117
  106. package/src/components/workflow/components/ProcessInstanceStep.vue +266 -266
  107. package/src/components/workflow/components/SelectAssigneeDialog.vue +109 -109
  108. package/src/components/workflow/components/SelectReturnActivityDialog.vue +104 -104
  109. package/src/config/ElementPlusConfig.ts +95 -95
  110. package/src/config/VxeTableConfig.ts +251 -247
  111. package/src/css/elementUI/autocomplete.scss +89 -89
  112. package/src/css/elementUI/checkbox.scss +298 -298
  113. package/src/css/elementUI/common/var.scss +1549 -1549
  114. package/src/css/elementUI/date-picker/picker.scss +219 -219
  115. package/src/css/elementUI/descriptions.scss +152 -152
  116. package/src/css/elementUI/drawer.scss +164 -164
  117. package/src/css/elementUI/radio.scss +215 -215
  118. package/src/css/elementUI/table.scss +697 -697
  119. package/src/css/elementUI/tabs.scss +659 -659
  120. package/src/css/vxeTableUI/all.scss +9 -9
  121. package/src/css/vxeTableUI/base.scss +16 -16
  122. package/src/css/vxeTableUI/components/colgroup.scss +0 -0
  123. package/src/css/vxeTableUI/components/column.scss +0 -0
  124. package/src/css/vxeTableUI/components/grid.scss +83 -83
  125. package/src/css/vxeTableUI/components/icon.scss +1017 -1017
  126. package/src/css/vxeTableUI/components/iconTable.scss +205 -205
  127. package/src/css/vxeTableUI/components/old-icon.scss +715 -715
  128. package/src/css/vxeTableUI/components/table-module/all.scss +6 -6
  129. package/src/css/vxeTableUI/components/table-module/custom.scss +490 -490
  130. package/src/css/vxeTableUI/components/table-module/edit.scss +0 -0
  131. package/src/css/vxeTableUI/components/table-module/export.scss +130 -130
  132. package/src/css/vxeTableUI/components/table-module/filter.scss +127 -127
  133. package/src/css/vxeTableUI/components/table-module/keyboard.scss +0 -0
  134. package/src/css/vxeTableUI/components/table-module/menu.scss +85 -85
  135. package/src/css/vxeTableUI/components/table-module/validator.scss +0 -0
  136. package/src/css/vxeTableUI/components/table.scss +2256 -2256
  137. package/src/css/vxeTableUI/components/toolbar.scss +99 -99
  138. package/src/css/vxeTableUI/components/ui.scss +0 -0
  139. package/src/css/vxeTableUI/components/v-x-e-table.scss +0 -0
  140. package/src/css/vxeTableUI/cssvar.scss +2 -2
  141. package/src/css/vxeTableUI/default.scss +2 -2
  142. package/src/css/vxeTableUI/helpers/baseMixin.scss +82 -82
  143. package/src/css/vxeTableUI/icon/iconfont.ttf +0 -0
  144. package/src/css/vxeTableUI/icon/iconfont.woff +0 -0
  145. package/src/css/vxeTableUI/icon/iconfont.woff2 +0 -0
  146. package/src/css/vxeTableUI/index.scss +4 -4
  147. package/src/css/vxeTableUI/modules.scss +5 -5
  148. package/src/css/vxeTableUI/theme/base.scss +88 -88
  149. package/src/css/vxeTableUI/theme/dark.scss +46 -46
  150. package/src/css/vxeTableUI/theme/light.scss +41 -41
  151. package/src/css/vxeTableUI/variable.scss +41 -41
  152. package/src/directives/vKeydown.ts +91 -91
  153. package/src/hooks/useDictHooks.ts +119 -119
  154. package/src/hooks/useEcharts.ts +58 -58
  155. package/src/hooks/useFileView.ts +11 -11
  156. package/src/hooks/useListenerHooks.ts +137 -137
  157. package/src/hooks/useMessageHooks.ts +132 -132
  158. package/src/hooks/useOpenNewMenu.ts +30 -30
  159. package/src/hooks/usePermissionHooks.ts +139 -139
  160. package/src/hooks/usePermissionToolHooks.ts +21 -21
  161. package/src/hooks/useResetRefHooks.ts +18 -18
  162. package/src/hooks/userWorkflowHooks.ts +106 -106
  163. package/src/hooks/workflowTodo.ts +85 -85
  164. package/src/interface/BaseEntity.ts +30 -30
  165. package/src/interface/IMdmDept.ts +84 -84
  166. package/src/interface/IMdmEmployee.ts +153 -153
  167. package/src/interface/IMdmEmployeeQuery.ts +21 -21
  168. package/src/interface/IMdmOrg.ts +29 -29
  169. package/src/interface/IMdmOrgQuery.ts +13 -13
  170. package/src/interface/IOrgDeptInfo.ts +12 -12
  171. package/src/interface/ISortList.ts +6 -6
  172. package/src/interface/ISysDictDataCacheVo.ts +46 -46
  173. package/src/interface/ISysDictType.ts +37 -37
  174. package/src/interface/ISysMenuDataVo.ts +22 -22
  175. package/src/interface/ISysMenuInfoVo.ts +83 -83
  176. package/src/interface/ISysMenuOperationVo.ts +21 -21
  177. package/src/interface/ISysUploadFiles.ts +16 -16
  178. package/src/interface/ISysUserInfo.ts +70 -70
  179. package/src/interface/IUserBaseInfo.ts +90 -90
  180. package/src/interface/IUserPermissionVo.ts +41 -41
  181. package/src/interface/IVxeTable.ts +1 -1
  182. package/src/interface/Message.ts +73 -72
  183. package/src/interface/PageData.ts +17 -17
  184. package/src/interface/ResponseData.ts +16 -16
  185. package/src/interface/dictMapType.ts +11 -11
  186. package/src/interface/enum/MessageEnum.ts +41 -41
  187. package/src/interface/workflow/IWfProcessDefVo.ts +14 -14
  188. package/src/interface/workflow/IWfReturnNodeVo.ts +16 -16
  189. package/src/interface/workflow/IWfTaskAskVo.ts +65 -65
  190. package/src/interface/workflow/IWfTaskQueryVo.ts +30 -30
  191. package/src/interface/workflow/IWfTaskUsersVo.ts +21 -21
  192. package/src/interface/workflow/IWfTaskVo.ts +187 -187
  193. package/src/interface/workflow/workflow.ts +22 -22
  194. package/src/mixin/globalMixin.ts +48 -48
  195. package/src/packages/index.ts +18 -18
  196. package/src/packages/text.vue +13 -13
  197. package/src/plugins/echartsConfig.ts +74 -74
  198. package/src/plugins/plugins.ts +12 -12
  199. package/src/plugins/renderDialog.ts +74 -74
  200. package/src/stores/dictStore.ts +51 -51
  201. package/src/stores/messageStore.ts +49 -49
  202. package/src/stores/permissionStore.ts +112 -112
  203. package/src/stores/storeConfig.ts +23 -23
  204. package/src/stores/userInfoStore.ts +31 -31
  205. package/src/utils/AxiosConfig.ts +226 -226
  206. package/src/utils/FrameworkUtils.ts +358 -358
  207. package/src/utils/commonUtils.ts +335 -335
  208. package/src/utils/encrypt.ts +18 -18
  209. package/src/utils/modules.ts +8 -8
  210. package/src/utils/request.ts +76 -76
  211. package/src/utils/tree.ts +50 -50
@@ -1,214 +1,214 @@
1
- <!--创建人 丁盼-->
2
- <!--说明: 文件查看-->
3
- <!--创建时间: 2024/12/3 上午10:06-->
4
- <!--修改时间: 2024/12/3 上午10:06-->
5
- <template>
6
- <!-- <el-dialog :title="title" v-model="model" @close="model = false" width="100%">-->
7
- <Teleport to="body" v-if="model">
8
- <div
9
- v-loading="loading"
10
- element-loading-text="下载中,请稍后。。。"
11
- style="
12
- position: absolute;
13
- z-index: 9999;
14
- width: 100%;
15
- height: 100%;
16
- top: 0;
17
- left: 0;
18
- background: rgb(0, 0, 0, 0.5);
19
- text-align: center;
20
- vertical-align: middle;
21
- display: flex;
22
- align-items: center;
23
- justify-content: center;
24
- "
25
- >
26
- <el-icon @click="download" style="
27
- position: absolute;
28
- top: 10%;
29
- right: 10%;
30
- font-size: 30px;
31
- color: rgba(0,0,0,0.5);
32
- cursor: pointer;"><Download /></el-icon>
33
- <el-icon
34
- @click="model = false"
35
- style="
36
- position: absolute;
37
- top: 20px;
38
- right: 20px;
39
- font-size: 30px;
40
- color: #f5f5f5;
41
- opacity: 0.6;
42
- cursor: pointer;
43
- "
44
- ><CircleClose
45
- /></el-icon>
46
-
47
-
48
- <DocumentEditor
49
- id="docEditor"
50
- :documentServerUrl="documentServerUrl"
51
- :config="configcomp"
52
- :events_onDocumentReady="onDocumentReady"
53
- :onLoadComponentError="onLoadComponentError"
54
- />
55
- </div>
56
- </Teleport>
57
- <!-- </el-dialog>-->
58
- </template>
59
- <script setup lang="ts">
60
- import { DocumentEditor } from '@onlyoffice/document-editor-vue'
61
- import { computed, onBeforeMount, onMounted, ref } from 'vue'
62
- import { userInfoStore } from '../../stores/userInfoStore'
63
- import { useVModel } from '@vueuse/core'
64
- import { CircleClose, Download } from '@element-plus/icons-vue'
65
- import framework from '../../api/framework'
66
- import frameworkUtils from '../../utils/FrameworkUtils'
67
- import { ElIcon } from 'element-plus'
68
- const userinfo = userInfoStore()
69
- const model = defineModel()
70
- const loading=ref(false)
71
- const documentServerUrl = ref('')
72
- const documentServerCallbackUrl = ref('')
73
-
74
- import request from '../../utils/AxiosConfig'
75
-
76
-
77
- // 定义Props类型
78
- const props = defineProps({
79
- /**
80
- * @default ''
81
- * @description 文件标题
82
- */
83
- title: {
84
- type: String,
85
- default: '',
86
- },
87
- /**
88
- * @default ''
89
- * @description 文件Url地址
90
- */
91
- url: {
92
- type: String,
93
- default: '',
94
- },
95
- /**
96
- * @default ''
97
- * @description 文件id
98
- */
99
- fileId: {
100
- type: String,
101
- default: '',
102
- },
103
- /**
104
- * @type {"view" | "edit"}
105
- * @default ''
106
- * @description 文件id
107
- */
108
- edit: {
109
- type: String,
110
- default: 'view',
111
- },
112
- })
113
- const emit = defineEmits(['update:title', 'update:url', 'update:fileId', 'update:edit'])
114
- const title = useVModel(props, 'title', emit)
115
- const fileId = useVModel(props, 'fileId', emit)
116
- const url = useVModel(props, 'url', emit)
117
- const edit = useVModel(props, 'edit', emit)
118
- const getFileType = () => {
119
- if ((url.value + '').indexOf('.docx') !== -1 || (url.value + '').indexOf('.doc') !== -1) {
120
- return 'docx'
121
- } else if ((url.value + '').indexOf('.pdf') !== -1) {
122
- return 'pdf'
123
- } else if ((url.value + '').indexOf('.xlsx') !== -1 || (url.value + '').indexOf('.xls') !== -1) {
124
- return 'xlsx'
125
- } else if ((url.value + '').indexOf('.pptx') !== -1 || (url.value + '').indexOf('.pptx') !== -1) {
126
- return 'pptx'
127
- }
128
- }
129
- const getDocumentType = () => {
130
- if ((url.value + '').indexOf('.docx') !== -1 || (url.value + '').indexOf('.doc') !== -1) {
131
- return 'word'
132
- } else if ((url.value + '').indexOf('.pdf') !== -1) {
133
- return 'pdf'
134
- } else if ((url.value + '').indexOf('.xlsx') !== -1 || (url.value + '').indexOf('.xls') !== -1) {
135
- return 'cell'
136
- } else if ((url.value + '').indexOf('.pptx') !== -1 || (url.value + '').indexOf('.pptx') !== -1) {
137
- return 'slide'
138
- }
139
- }
140
- const download= async ()=>{
141
- try{
142
- loading.value=true
143
- const data=await framework.getFileAccessAddress(fileId.value)
144
- const res=await request<any>({
145
- url: data.url,
146
- method: 'get',
147
- responseType: 'blob',
148
- })
149
- const viewSrc = new Blob([res.data], {
150
- type: 'application/'+getFileType(),
151
- })
152
- var link = document.createElement('a')
153
- link.href = window.URL.createObjectURL(viewSrc)
154
- link.download = title.value
155
- link.click()
156
- //释放内存
157
- window.URL.revokeObjectURL(link.href)
158
-
159
- }catch (err){
160
- frameworkUtils.messageError(err)
161
- }finally {
162
- loading.value = false
163
- }
164
- }
165
- const configcomp = computed(() => {
166
- return {
167
- document: {
168
- fileType: getFileType(),
169
- title: title.value,
170
- url: url.value + '',
171
- permissions: {
172
- download: false,
173
- edit: false,
174
- print: false,
175
- },
176
- },
177
- type:"embedded",
178
- documentType: getDocumentType(),
179
- editorConfig: {
180
- callbackUrl: documentServerCallbackUrl.value + '?fileId=' + fileId.value,
181
- lang: 'zh-CN',
182
- customization: {
183
- autosave: false,
184
- zoom: 95,
185
- },
186
- embedded: {
187
- // embedUrl: documentServerCallbackUrl.value + '?fileId=' + fileId.value,
188
- // fullscreenUrl: documentServerCallbackUrl.value + '?fileId=' + fileId.value,
189
- saveUrl: url.value + '',
190
- // shareUrl: documentServerCallbackUrl.value + '?fileId=' + fileId.value,
191
- toolbarDocked: 'top',
192
- },
193
- // customization: {
194
- // autosave: false,
195
- // },
196
- user: {
197
- id: userinfo.getUserInfo.userCode,
198
- name: userinfo.getUserInfo.userName,
199
- },
200
- },
201
- height: '90%',
202
- width: '90%',
203
- }
204
- })
205
- const onDocumentReady = () => {}
206
- const onLoadComponentError = () => {}
207
- onBeforeMount(() => {
208
- const config = JSON.parse(localStorage.getItem('systemConfig') + '')
209
- documentServerUrl.value = config.documentServerUrl
210
- documentServerCallbackUrl.value = config.documentServerCallbackUrl
211
- })
212
- onMounted(() => {})
213
- </script>
214
- <style scoped lang="scss"></style>
1
+ <!--创建人 丁盼-->
2
+ <!--说明: 文件查看-->
3
+ <!--创建时间: 2024/12/3 上午10:06-->
4
+ <!--修改时间: 2024/12/3 上午10:06-->
5
+ <template>
6
+ <!-- <el-dialog :title="title" v-model="model" @close="model = false" width="100%">-->
7
+ <Teleport to="body" v-if="model">
8
+ <div
9
+ v-loading="loading"
10
+ element-loading-text="下载中,请稍后。。。"
11
+ style="
12
+ position: absolute;
13
+ z-index: 9999;
14
+ width: 100%;
15
+ height: 100%;
16
+ top: 0;
17
+ left: 0;
18
+ background: rgb(0, 0, 0, 0.5);
19
+ text-align: center;
20
+ vertical-align: middle;
21
+ display: flex;
22
+ align-items: center;
23
+ justify-content: center;
24
+ "
25
+ >
26
+ <el-icon @click="download" style="
27
+ position: absolute;
28
+ top: 10%;
29
+ right: 10%;
30
+ font-size: 30px;
31
+ color: rgba(0,0,0,0.5);
32
+ cursor: pointer;"><Download /></el-icon>
33
+ <el-icon
34
+ @click="model = false"
35
+ style="
36
+ position: absolute;
37
+ top: 20px;
38
+ right: 20px;
39
+ font-size: 30px;
40
+ color: #f5f5f5;
41
+ opacity: 0.6;
42
+ cursor: pointer;
43
+ "
44
+ ><CircleClose
45
+ /></el-icon>
46
+
47
+
48
+ <DocumentEditor
49
+ id="docEditor"
50
+ :documentServerUrl="documentServerUrl"
51
+ :config="configcomp"
52
+ :events_onDocumentReady="onDocumentReady"
53
+ :onLoadComponentError="onLoadComponentError"
54
+ />
55
+ </div>
56
+ </Teleport>
57
+ <!-- </el-dialog>-->
58
+ </template>
59
+ <script setup lang="ts">
60
+ import { DocumentEditor } from '@onlyoffice/document-editor-vue'
61
+ import { computed, onBeforeMount, onMounted, ref } from 'vue'
62
+ import { userInfoStore } from '../../stores/userInfoStore'
63
+ import { useVModel } from '@vueuse/core'
64
+ import { CircleClose, Download } from '@element-plus/icons-vue'
65
+ import framework from '../../api/framework'
66
+ import frameworkUtils from '../../utils/FrameworkUtils'
67
+ import { ElIcon } from 'element-plus'
68
+ const userinfo = userInfoStore()
69
+ const model = defineModel()
70
+ const loading=ref(false)
71
+ const documentServerUrl = ref('')
72
+ const documentServerCallbackUrl = ref('')
73
+
74
+ import request from '../../utils/AxiosConfig'
75
+
76
+
77
+ // 定义Props类型
78
+ const props = defineProps({
79
+ /**
80
+ * @default ''
81
+ * @description 文件标题
82
+ */
83
+ title: {
84
+ type: String,
85
+ default: '',
86
+ },
87
+ /**
88
+ * @default ''
89
+ * @description 文件Url地址
90
+ */
91
+ url: {
92
+ type: String,
93
+ default: '',
94
+ },
95
+ /**
96
+ * @default ''
97
+ * @description 文件id
98
+ */
99
+ fileId: {
100
+ type: String,
101
+ default: '',
102
+ },
103
+ /**
104
+ * @type {"view" | "edit"}
105
+ * @default ''
106
+ * @description 文件id
107
+ */
108
+ edit: {
109
+ type: String,
110
+ default: 'view',
111
+ },
112
+ })
113
+ const emit = defineEmits(['update:title', 'update:url', 'update:fileId', 'update:edit'])
114
+ const title = useVModel(props, 'title', emit)
115
+ const fileId = useVModel(props, 'fileId', emit)
116
+ const url = useVModel(props, 'url', emit)
117
+ const edit = useVModel(props, 'edit', emit)
118
+ const getFileType = () => {
119
+ if ((url.value + '').indexOf('.docx') !== -1 || (url.value + '').indexOf('.doc') !== -1) {
120
+ return 'docx'
121
+ } else if ((url.value + '').indexOf('.pdf') !== -1) {
122
+ return 'pdf'
123
+ } else if ((url.value + '').indexOf('.xlsx') !== -1 || (url.value + '').indexOf('.xls') !== -1) {
124
+ return 'xlsx'
125
+ } else if ((url.value + '').indexOf('.pptx') !== -1 || (url.value + '').indexOf('.pptx') !== -1) {
126
+ return 'pptx'
127
+ }
128
+ }
129
+ const getDocumentType = () => {
130
+ if ((url.value + '').indexOf('.docx') !== -1 || (url.value + '').indexOf('.doc') !== -1) {
131
+ return 'word'
132
+ } else if ((url.value + '').indexOf('.pdf') !== -1) {
133
+ return 'pdf'
134
+ } else if ((url.value + '').indexOf('.xlsx') !== -1 || (url.value + '').indexOf('.xls') !== -1) {
135
+ return 'cell'
136
+ } else if ((url.value + '').indexOf('.pptx') !== -1 || (url.value + '').indexOf('.pptx') !== -1) {
137
+ return 'slide'
138
+ }
139
+ }
140
+ const download= async ()=>{
141
+ try{
142
+ loading.value=true
143
+ const data=await framework.getFileAccessAddress(fileId.value)
144
+ const res=await request<any>({
145
+ url: data.url,
146
+ method: 'get',
147
+ responseType: 'blob',
148
+ })
149
+ const viewSrc = new Blob([res.data], {
150
+ type: 'application/'+getFileType(),
151
+ })
152
+ var link = document.createElement('a')
153
+ link.href = window.URL.createObjectURL(viewSrc)
154
+ link.download = title.value
155
+ link.click()
156
+ //释放内存
157
+ window.URL.revokeObjectURL(link.href)
158
+
159
+ }catch (err){
160
+ frameworkUtils.messageError(err)
161
+ }finally {
162
+ loading.value = false
163
+ }
164
+ }
165
+ const configcomp = computed(() => {
166
+ return {
167
+ document: {
168
+ fileType: getFileType(),
169
+ title: title.value,
170
+ url: url.value + '',
171
+ permissions: {
172
+ download: false,
173
+ edit: false,
174
+ print: false,
175
+ },
176
+ },
177
+ type:"embedded",
178
+ documentType: getDocumentType(),
179
+ editorConfig: {
180
+ callbackUrl: documentServerCallbackUrl.value + '?fileId=' + fileId.value,
181
+ lang: 'zh-CN',
182
+ customization: {
183
+ autosave: false,
184
+ zoom: 95,
185
+ },
186
+ embedded: {
187
+ // embedUrl: documentServerCallbackUrl.value + '?fileId=' + fileId.value,
188
+ // fullscreenUrl: documentServerCallbackUrl.value + '?fileId=' + fileId.value,
189
+ saveUrl: url.value + '',
190
+ // shareUrl: documentServerCallbackUrl.value + '?fileId=' + fileId.value,
191
+ toolbarDocked: 'top',
192
+ },
193
+ // customization: {
194
+ // autosave: false,
195
+ // },
196
+ user: {
197
+ id: userinfo.getUserInfo.userCode,
198
+ name: userinfo.getUserInfo.userName,
199
+ },
200
+ },
201
+ height: '90%',
202
+ width: '90%',
203
+ }
204
+ })
205
+ const onDocumentReady = () => {}
206
+ const onLoadComponentError = () => {}
207
+ onBeforeMount(() => {
208
+ const config = JSON.parse(localStorage.getItem('systemConfig') + '')
209
+ documentServerUrl.value = config.documentServerUrl
210
+ documentServerCallbackUrl.value = config.documentServerCallbackUrl
211
+ })
212
+ onMounted(() => {})
213
+ </script>
214
+ <style scoped lang="scss"></style>
@@ -1,56 +1,56 @@
1
- <template>
2
- <file-view
3
- v-if="isVisible"
4
- v-model="isVisible"
5
- :title="fileTitle"
6
- :url="viewUrl"
7
- :fileId="fileId"
8
- :edit="edit"
9
- ></file-view>
10
- </template>
11
-
12
- <script setup lang="ts">
13
- import { ref } from 'vue'
14
- const isVisible = ref(false)
15
- //@ts-ignore
16
- import 'vue-img-viewr/styles/index.css'
17
- //@ts-ignore
18
- import ImgViewr, { showImages } from 'vue-img-viewr'
19
- import documentApi from '../../api/DocumentApi.ts'
20
- import frameworkUtils from '../../utils/FrameworkUtils.ts'
21
- import framework from '../../api/framework.ts'
22
- import FileView from './FileView.vue'
23
- const fileTitle = ref('')
24
- const viewUrl = ref('')
25
- const fileId = ref('')
26
- const edit = ref('view')
27
-
28
- const viewFile = async (id: string) => {
29
- //根据文件id获取文件信息
30
- try {
31
- const data = await documentApi.getUpLoadFilesVoById(id)
32
- const data1 = await framework.getFileAccessAddress(data.id)
33
- if ('.jpg,.jpeg,.png,.gif,.bmp,.JPG,.JPEG,.PBG,.GIF,.BMP'.includes(data.type)) {
34
- showImages({
35
- urls: [data1.url],
36
- index: 0,
37
- })
38
- } else {
39
- fileTitle.value = data.name
40
- viewUrl.value = data1.url
41
- fileId.value = data.id
42
- isVisible.value = true
43
- }
44
- } catch (err: any) {
45
- frameworkUtils.messageError(err)
46
- }
47
- }
48
-
49
- defineExpose<{
50
- viewFile: (id: string) => void
51
- }>({
52
- viewFile,
53
- })
54
- </script>
55
-
56
- <style scoped></style>
1
+ <template>
2
+ <file-view
3
+ v-if="isVisible"
4
+ v-model="isVisible"
5
+ :title="fileTitle"
6
+ :url="viewUrl"
7
+ :fileId="fileId"
8
+ :edit="edit"
9
+ ></file-view>
10
+ </template>
11
+
12
+ <script setup lang="ts">
13
+ import { ref } from 'vue'
14
+ const isVisible = ref(false)
15
+ //@ts-ignore
16
+ import 'vue-img-viewr/styles/index.css'
17
+ //@ts-ignore
18
+ import ImgViewr, { showImages } from 'vue-img-viewr'
19
+ import documentApi from '../../api/DocumentApi.ts'
20
+ import frameworkUtils from '../../utils/FrameworkUtils.ts'
21
+ import framework from '../../api/framework.ts'
22
+ import FileView from './FileView.vue'
23
+ const fileTitle = ref('')
24
+ const viewUrl = ref('')
25
+ const fileId = ref('')
26
+ const edit = ref('view')
27
+
28
+ const viewFile = async (id: string) => {
29
+ //根据文件id获取文件信息
30
+ try {
31
+ const data = await documentApi.getUpLoadFilesVoById(id)
32
+ const data1 = await framework.getFileAccessAddress(data.id)
33
+ if ('.jpg,.jpeg,.png,.gif,.bmp,.JPG,.JPEG,.PBG,.GIF,.BMP'.includes(data.type)) {
34
+ showImages({
35
+ urls: [data1.url],
36
+ index: 0,
37
+ })
38
+ } else {
39
+ fileTitle.value = data.name
40
+ viewUrl.value = data1.url
41
+ fileId.value = data.id
42
+ isVisible.value = true
43
+ }
44
+ } catch (err: any) {
45
+ frameworkUtils.messageError(err)
46
+ }
47
+ }
48
+
49
+ defineExpose<{
50
+ viewFile: (id: string) => void
51
+ }>({
52
+ viewFile,
53
+ })
54
+ </script>
55
+
56
+ <style scoped></style>
@@ -1,36 +1,36 @@
1
- <template>
2
- <el-flex>
3
- <component :is="h(VxeGrid, { ...$attrs, ref: changeRef }, $slots)"></component>
4
- </el-flex>
5
- </template>
6
-
7
- <script setup lang="ts">
8
- //@ts-ignore
9
- import { components, initVxeTableInPage } from 'adtec-core-package/src/config/VxeTableConfig'
10
- // 导入默认的语言
11
- import { defineComponent, getCurrentInstance, h } from 'vue'
12
- const { VxeGrid } = components
13
- defineComponent({
14
- components: {
15
- VxeGrid,
16
- },
17
- })
18
- const { renderComponent = { enableElementPlus: true, enableExcel: false, enablePdf: false } } =
19
- defineProps<{
20
- renderComponent?: {
21
- enableElementPlus?: boolean
22
- enableExcel?: boolean
23
- enablePdf?: boolean
24
- }
25
- }>()
26
-
27
- initVxeTableInPage(renderComponent.enableExcel,renderComponent.enablePdf)
28
-
29
- const vm = getCurrentInstance()
30
-
31
- const changeRef = (exposed: any) => {
32
- vm && (vm.exposed = exposed)
33
- }
34
- </script>
35
-
36
- <style scoped lang="scss"></style>
1
+ <template>
2
+ <el-flex>
3
+ <component :is="h(VxeGrid, { ...$attrs, ref: changeRef }, $slots)"></component>
4
+ </el-flex>
5
+ </template>
6
+
7
+ <script setup lang="ts">
8
+ //@ts-ignore
9
+ import { components, initVxeTableInPage } from 'adtec-core-package/src/config/VxeTableConfig'
10
+ // 导入默认的语言
11
+ import { defineComponent, getCurrentInstance, h } from 'vue'
12
+ const { VxeGrid } = components
13
+ defineComponent({
14
+ components: {
15
+ VxeGrid,
16
+ },
17
+ })
18
+ const { renderComponent = { enableElementPlus: true, enableExcel: false, enablePdf: false } } =
19
+ defineProps<{
20
+ renderComponent?: {
21
+ enableElementPlus?: boolean
22
+ enableExcel?: boolean
23
+ enablePdf?: boolean
24
+ }
25
+ }>()
26
+
27
+ initVxeTableInPage(renderComponent.enableExcel,renderComponent.enablePdf)
28
+
29
+ const vm = getCurrentInstance()
30
+
31
+ const changeRef = (exposed: any) => {
32
+ vm && (vm.exposed = exposed)
33
+ }
34
+ </script>
35
+
36
+ <style scoped lang="scss"></style>