agilebuilder-ui 1.1.40 → 1.1.41
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/lib/{401-7bd60242.js → 401-deb6f978.js} +1 -1
- package/lib/{404-d2daf8d0.js → 404-ca0b33ee.js} +1 -1
- package/lib/{iframe-page-4c181c23.js → iframe-page-eb39ba95.js} +1 -1
- package/lib/{index-e9efe5c2.js → index-a36c91b2.js} +4233 -4229
- package/lib/super-ui.css +1 -1
- package/lib/super-ui.js +1 -1
- package/lib/super-ui.umd.cjs +64 -64
- package/lib/{tab-content-iframe-index-77bf55ca.js → tab-content-iframe-index-094835e7.js} +1 -1
- package/lib/{tab-content-index-8157438c.js → tab-content-index-92b24462.js} +1 -1
- package/lib/{tache-subprocess-history-bc9f1bea.js → tache-subprocess-history-0d32337a.js} +1 -1
- package/package.json +1 -1
- package/packages/fs-preview/src/fs-preview.vue +194 -89
- package/packages/fs-upload-list/src/fs-upload-list.vue +60 -204
- package/packages/fs-upload-new/src/fs-upload-new.vue +1 -1
- package/packages/super-grid/src/dynamic-input.vue +3 -26
- package/packages/super-grid/src/normal-column-content.vue +8 -6
- package/packages/super-grid/src/search-methods.js +489 -577
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { openBlock as r, createElementBlock as t, createCommentVNode as o } from "vue";
|
|
2
|
-
import { _ as s } from "./index-
|
|
2
|
+
import { _ as s } from "./index-a36c91b2.js";
|
|
3
3
|
const u = ["src"], f = s({ data: () => ({ src: null }), watch: { $route(n, c) {
|
|
4
4
|
this.src = this.$route.query.src;
|
|
5
5
|
} }, mounted() {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { _ as f, c as _, g as x, b as P, s as h, m as M, M as O, i as I } from "./index-
|
|
1
|
+
import { _ as f, c as _, g as x, b as P, s as h, m as M, M as O, i as I } from "./index-a36c91b2.js";
|
|
2
2
|
import { resolveComponent as u, openBlock as l, createBlock as b, withCtx as g, createVNode as v, TransitionGroup as L, createElementBlock as p, Fragment as C, renderList as T, createElementVNode as m, toDisplayString as w, normalizeClass as S, createCommentVNode as y } from "vue";
|
|
3
3
|
const k = { class: "no-redirect" }, A = f({ name: "Breadcrumb", data: () => ({ levelList: null }), computed: { levelListWithTitle() {
|
|
4
4
|
return this.levelList.filter((e) => e.meta.title !== void 0 && e.meta.title !== null);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { resolveComponent as t, openBlock as a, createElementBlock as s, createElementVNode as y, createVNode as l, withCtx as r, createTextVNode as n, toDisplayString as p, createCommentVNode as c, createBlock as h } from "vue";
|
|
2
|
-
import { _ as I } from "./index-
|
|
2
|
+
import { _ as I } from "./index-a36c91b2.js";
|
|
3
3
|
const g = { style: { "padding-bottom": "10px" } }, k = { key: 0, class: "graphDiv" }, N = I({ name: "TacheSubprocessHistory", data: () => ({ type: "graph", workflowId: null }), created() {
|
|
4
4
|
const o = this.$route.query.workflowId;
|
|
5
5
|
o && (this.workflowId = parseInt(o));
|
package/package.json
CHANGED
|
@@ -1,24 +1,78 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div
|
|
3
|
-
<div
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
2
|
+
<div ref="fsPreviewRef">
|
|
3
|
+
<div ref="filePreviewRef" @dblclick="dblclickEvent" class="fs-preview-container">
|
|
4
|
+
<slot name="prefix"></slot>
|
|
5
|
+
<template v-if="firstFileName">
|
|
6
|
+
<div class="fs-preview-container">
|
|
7
|
+
<super-icon :iconValue="getFileIconByName(firstFileName)" />
|
|
8
|
+
</div>
|
|
9
|
+
<span :title="firstFileName" ref="nameRef" class="amb-list-preivew-name">
|
|
10
|
+
{{ firstFileName }}
|
|
11
|
+
</span>
|
|
12
|
+
</template>
|
|
13
|
+
<div v-if="firstFileName" ref="toolRef" class="fs-preview-tool">
|
|
14
|
+
<el-link v-if="enableDelete && !disabled" type="danger" :underline="false" @click="deleteFirst()">
|
|
15
|
+
{{ $t('fsUpload.delete') }}
|
|
16
|
+
</el-link>
|
|
17
|
+
<el-link
|
|
18
|
+
v-if="!disabled || !fileSetObj.disabledNoPreview"
|
|
19
|
+
type="primary"
|
|
20
|
+
:underline="false"
|
|
21
|
+
@click="previewFirst()"
|
|
22
|
+
>
|
|
23
|
+
{{ $t('fsUpload.preview') }}
|
|
24
|
+
</el-link>
|
|
25
|
+
<el-link
|
|
26
|
+
v-if="!disabled || !fileSetObj.disabledNoDownload"
|
|
27
|
+
type="primary"
|
|
28
|
+
:underline="false"
|
|
29
|
+
@click="downloadFirst()"
|
|
30
|
+
>
|
|
31
|
+
{{ $t('fsUpload.download') }}
|
|
32
|
+
</el-link>
|
|
33
|
+
<el-divider v-if="showMultipleFile" direction="vertical" />
|
|
34
|
+
<el-popover :width="450" trigger="click">
|
|
35
|
+
<template #reference>
|
|
36
|
+
<el-button v-if="showMultipleFile" type="primary" round size="small" @click="showMultiView">
|
|
37
|
+
更多
|
|
38
|
+
<el-icon><ArrowDownBold /></el-icon>
|
|
39
|
+
</el-button>
|
|
40
|
+
</template>
|
|
41
|
+
<div style="max-height: 300px; overflow-y: auto">
|
|
42
|
+
<div v-for="(item, index) in fileList" :ref="item.serverPath" :key="item.serverPath" class="file-item">
|
|
43
|
+
<div style="display: flex; align-items: center; flex: 1">
|
|
44
|
+
<span>
|
|
45
|
+
<super-icon :iconValue="getFileIconByName(item.showName)" />
|
|
46
|
+
</span>
|
|
47
|
+
<span class="amb-list-preivew-name" style="width: 230px; margin-left: 10px">
|
|
48
|
+
{{ item.showName }}
|
|
49
|
+
</span>
|
|
50
|
+
</div>
|
|
51
|
+
<div class="file-actions">
|
|
52
|
+
<el-link v-if="enableDelete" type="danger" underline @click="deleteFile(item)">
|
|
53
|
+
{{ $t('fsUpload.delete') }}
|
|
54
|
+
</el-link>
|
|
55
|
+
<el-link
|
|
56
|
+
type="primary"
|
|
57
|
+
v-if="!disabled || !fileSetObj.disabledNoPreview"
|
|
58
|
+
underline
|
|
59
|
+
@click="previewSingle(item)"
|
|
60
|
+
>
|
|
61
|
+
{{ $t('fsUpload.preview') }}
|
|
62
|
+
</el-link>
|
|
63
|
+
<el-link
|
|
64
|
+
type="primary"
|
|
65
|
+
v-if="!disabled || !fileSetObj.disabledNoDownload"
|
|
66
|
+
underline
|
|
67
|
+
@click="donwloadFile(index)"
|
|
68
|
+
>
|
|
69
|
+
{{ $t('fsUpload.download') }}
|
|
70
|
+
</el-link>
|
|
71
|
+
</div>
|
|
72
|
+
</div>
|
|
73
|
+
</div>
|
|
74
|
+
</el-popover>
|
|
75
|
+
</div>
|
|
22
76
|
</div>
|
|
23
77
|
<el-image-viewer
|
|
24
78
|
v-if="showPreviewSingleImage"
|
|
@@ -26,67 +80,6 @@
|
|
|
26
80
|
:url-list="[previewImageInfo.src]"
|
|
27
81
|
@close="showPreviewSingleImage = false"
|
|
28
82
|
/>
|
|
29
|
-
<el-dialog
|
|
30
|
-
layout-mobile="bottom"
|
|
31
|
-
:append-to-body="true"
|
|
32
|
-
:show-close="true"
|
|
33
|
-
:title="$t('imatrixUIPublicModel.preview')"
|
|
34
|
-
v-model="showPreviewMulti"
|
|
35
|
-
width="30%"
|
|
36
|
-
@close="$emit('close')"
|
|
37
|
-
>
|
|
38
|
-
<template v-slot:title>
|
|
39
|
-
<span
|
|
40
|
-
>{{ $t('imatrixUIPublicModel.preview') }}
|
|
41
|
-
<!-- <i v-if="downloadable" class="el-icon-download" style="padding-left:5px;cursor:pointer;color:#409EFF" @click="downloadFile()" /> -->
|
|
42
|
-
<!-- <i v-if="deleteable" class="el-icon-delete" style="padding-left:5px;cursor:pointer;color:#F56C6C" @click="deleteFile()" /> -->
|
|
43
|
-
</span>
|
|
44
|
-
</template>
|
|
45
|
-
<el-table :show-header="false" :data="fileList" max-height="60vh">
|
|
46
|
-
<el-table-column prop="showName" show-overflow-tooltip>
|
|
47
|
-
<template v-slot="scope">
|
|
48
|
-
<div style="display: flex; align-items: center">
|
|
49
|
-
<span>
|
|
50
|
-
<super-icon :iconValue="getFileIconByName(scope.row.showName)" />
|
|
51
|
-
</span>
|
|
52
|
-
<span class="amb-list-preivew-name" @click="previewSingle(scope.row)">
|
|
53
|
-
{{ scope.row.showName }}
|
|
54
|
-
</span>
|
|
55
|
-
</div>
|
|
56
|
-
</template>
|
|
57
|
-
</el-table-column>
|
|
58
|
-
<el-table-column width="80" align="center">
|
|
59
|
-
<template v-slot="scope">
|
|
60
|
-
<div style="margin: -10px 0">
|
|
61
|
-
<el-tooltip
|
|
62
|
-
v-if="!fileSetObj.disabledNoPreview"
|
|
63
|
-
:content="$t('imatrixUIPublicModel.preview')"
|
|
64
|
-
class="item"
|
|
65
|
-
effect="dark"
|
|
66
|
-
placement="top"
|
|
67
|
-
>
|
|
68
|
-
<el-button type="text" @click="previewSingle(scope.row)">
|
|
69
|
-
<el-icon style="cursor: pointer"><el-icon-view /></el-icon>
|
|
70
|
-
</el-button>
|
|
71
|
-
</el-tooltip>
|
|
72
|
-
<el-tooltip
|
|
73
|
-
v-if="!fileSetObj.disabledNoDownload"
|
|
74
|
-
:content="$t('imatrixUIPublicModel.download')"
|
|
75
|
-
class="item"
|
|
76
|
-
effect="dark"
|
|
77
|
-
placement="top"
|
|
78
|
-
>
|
|
79
|
-
<el-button type="text" @click="donwloadFile(scope.$index, fileList)">
|
|
80
|
-
<el-icon v-if="downloadable" style="cursor: pointer">
|
|
81
|
-
<el-icon-download />
|
|
82
|
-
</el-icon>
|
|
83
|
-
</el-button>
|
|
84
|
-
</el-tooltip>
|
|
85
|
-
</div>
|
|
86
|
-
</template>
|
|
87
|
-
</el-table-column>
|
|
88
|
-
</el-table>
|
|
89
|
-
</el-dialog>
|
|
90
83
|
</div>
|
|
91
84
|
</template>
|
|
92
85
|
|
|
@@ -100,6 +93,7 @@ import { packageFile } from '../../super-grid/src/utils'
|
|
|
100
93
|
import { getToken } from '../../../src/utils/auth'
|
|
101
94
|
import { getFileIconByName } from '../../../src/utils/file-util'
|
|
102
95
|
import { Base64 } from 'js-base64'
|
|
96
|
+
import { ElMessage } from 'element-plus'
|
|
103
97
|
export default {
|
|
104
98
|
components: {
|
|
105
99
|
ElIconPaperclip,
|
|
@@ -108,6 +102,10 @@ export default {
|
|
|
108
102
|
},
|
|
109
103
|
name: 'FsPreview',
|
|
110
104
|
props: {
|
|
105
|
+
width: {
|
|
106
|
+
type: [String, Number],
|
|
107
|
+
default: '100%'
|
|
108
|
+
},
|
|
111
109
|
label: {
|
|
112
110
|
type: String,
|
|
113
111
|
default: null
|
|
@@ -135,6 +133,10 @@ export default {
|
|
|
135
133
|
disabled: {
|
|
136
134
|
type: Boolean,
|
|
137
135
|
default: false
|
|
136
|
+
},
|
|
137
|
+
enableDelete: {
|
|
138
|
+
type: Boolean,
|
|
139
|
+
default: false
|
|
138
140
|
}
|
|
139
141
|
},
|
|
140
142
|
data() {
|
|
@@ -144,7 +146,23 @@ export default {
|
|
|
144
146
|
previewImageInfo: {},
|
|
145
147
|
fileList: [],
|
|
146
148
|
downloadable: true,
|
|
147
|
-
keyValueParam: {}
|
|
149
|
+
keyValueParam: {},
|
|
150
|
+
showMultipleFile: false,
|
|
151
|
+
firstFileUUid: ''
|
|
152
|
+
}
|
|
153
|
+
},
|
|
154
|
+
computed: {
|
|
155
|
+
firstFileName() {
|
|
156
|
+
if (this.label?.indexOf(',') > -1) {
|
|
157
|
+
this.showMultipleFile = true
|
|
158
|
+
return this.label.split(',')[0]
|
|
159
|
+
} else {
|
|
160
|
+
this.showMultipleFile = false
|
|
161
|
+
return this.label
|
|
162
|
+
}
|
|
163
|
+
},
|
|
164
|
+
lab() {
|
|
165
|
+
return this.label || this.fileInfo.showName || '文件预览'
|
|
148
166
|
}
|
|
149
167
|
},
|
|
150
168
|
created() {
|
|
@@ -157,6 +175,25 @@ export default {
|
|
|
157
175
|
dblclickEvent() {
|
|
158
176
|
clearTimeout(this.time)
|
|
159
177
|
},
|
|
178
|
+
getFirstFile() {
|
|
179
|
+
const { showName, serverPath } = this.getShowNameAndUuidKey()
|
|
180
|
+
if (serverPath) {
|
|
181
|
+
const uuids = serverPath.split(',')
|
|
182
|
+
if (uuids.length > 1) {
|
|
183
|
+
return { showName: showName.split(',')[0], serverPath: serverPath.split(',')[0] }
|
|
184
|
+
} else {
|
|
185
|
+
return { showName: showName, serverPath: serverPath }
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
return null
|
|
189
|
+
},
|
|
190
|
+
previewFirst() {
|
|
191
|
+
this.previewSingle(this.getFirstFile())
|
|
192
|
+
},
|
|
193
|
+
downloadFirst() {
|
|
194
|
+
const { showName, serverPath } = this.getFirstFile()
|
|
195
|
+
this.download(showName, serverPath)
|
|
196
|
+
},
|
|
160
197
|
previewSingle(fileInfo) {
|
|
161
198
|
fileInfo = packageFile(fileInfo.showName, fileInfo.serverPath)
|
|
162
199
|
if (isImage(fileInfo.showName)) {
|
|
@@ -188,9 +225,6 @@ export default {
|
|
|
188
225
|
serverPath = getEntityFieldValue(this.entity, this.keyValueParam.serverPath)
|
|
189
226
|
showName = getEntityFieldValue(this.entity, this.keyValueParam.showName)
|
|
190
227
|
}
|
|
191
|
-
if (!serverPath) {
|
|
192
|
-
ElMessage.error(this.$t('imatrixUIMessage.filePathNotFound'))
|
|
193
|
-
}
|
|
194
228
|
return {
|
|
195
229
|
showName: showName,
|
|
196
230
|
serverPath: serverPath
|
|
@@ -273,7 +307,7 @@ export default {
|
|
|
273
307
|
window.open(previewUrl, showName)
|
|
274
308
|
}
|
|
275
309
|
},
|
|
276
|
-
donwloadFile(index
|
|
310
|
+
donwloadFile(index) {
|
|
277
311
|
const showName = this.formatFileName(this.fileList[index].showName)
|
|
278
312
|
if (!this.fileList[index].src) {
|
|
279
313
|
this.download(showName, this.fileList[index].serverPath)
|
|
@@ -327,22 +361,93 @@ export default {
|
|
|
327
361
|
},
|
|
328
362
|
getFileIconByName(fileName) {
|
|
329
363
|
return getFileIconByName(fileName)
|
|
364
|
+
},
|
|
365
|
+
showMultiView() {
|
|
366
|
+
const { showName, serverPath } = this.getShowNameAndUuidKey()
|
|
367
|
+
if (serverPath) {
|
|
368
|
+
const uuids = serverPath.split(',')
|
|
369
|
+
if (uuids.length > 1) {
|
|
370
|
+
const baseURL = window.$vueApp.config.globalProperties.baseURL
|
|
371
|
+
const baseAPI = window.$vueApp.config.globalProperties.baseAPI
|
|
372
|
+
let tempAction = baseURL + '/common/fs-upload/search-file-names'
|
|
373
|
+
if (isPlateSys(window.$vueApp.config.globalProperties.systemCode)) {
|
|
374
|
+
tempAction = baseAPI + '/api/search-file-names'
|
|
375
|
+
}
|
|
376
|
+
this.$http.post(tempAction, uuids).then((result) => {
|
|
377
|
+
this.fileList = []
|
|
378
|
+
uuids.forEach((uuid) => {
|
|
379
|
+
this.fileList.push({ showName: result[uuid], serverPath: uuid })
|
|
380
|
+
})
|
|
381
|
+
})
|
|
382
|
+
}
|
|
383
|
+
}
|
|
384
|
+
},
|
|
385
|
+
deleteFirst() {
|
|
386
|
+
const fileInfo = this.getFirstFile()
|
|
387
|
+
this.$emit('delete-file', fileInfo)
|
|
388
|
+
this.fileList = this.fileList.filter((item) => item.serverPath !== fileInfo.serverPath)
|
|
389
|
+
ElMessage.success('文件已删除')
|
|
390
|
+
},
|
|
391
|
+
deleteFile(fileInfo) {
|
|
392
|
+
this.$emit('delete-file', fileInfo)
|
|
393
|
+
this.fileList = this.fileList.filter((item) => item.serverPath !== fileInfo.serverPath)
|
|
394
|
+
ElMessage.success('文件已删除')
|
|
330
395
|
}
|
|
331
396
|
},
|
|
332
|
-
emits: ['close']
|
|
397
|
+
emits: ['close', 'delete-file']
|
|
333
398
|
}
|
|
334
399
|
</script>
|
|
335
400
|
|
|
336
401
|
<style lang="scss" scoped>
|
|
402
|
+
.fs-preview-container {
|
|
403
|
+
display: flex;
|
|
404
|
+
align-items: center;
|
|
405
|
+
gap: 5px;
|
|
406
|
+
justify-content: space-between;
|
|
407
|
+
}
|
|
408
|
+
|
|
409
|
+
.fs-preview-tool {
|
|
410
|
+
display: flex;
|
|
411
|
+
align-items: center;
|
|
412
|
+
flex-shrink: 0;
|
|
413
|
+
min-width: max-content;
|
|
414
|
+
margin-left: auto; /* 添加这行,将工具栏推到右侧 */
|
|
415
|
+
}
|
|
337
416
|
.amb-color-iconfont {
|
|
338
417
|
width: 30px;
|
|
339
418
|
height: 30px;
|
|
340
419
|
}
|
|
341
420
|
.amb-list-preivew-name {
|
|
342
|
-
margin-left: 10px;
|
|
343
|
-
cursor: pointer;
|
|
344
421
|
overflow: hidden;
|
|
345
422
|
text-overflow: ellipsis;
|
|
346
423
|
white-space: nowrap;
|
|
347
424
|
}
|
|
425
|
+
|
|
426
|
+
.el-link + .el-link {
|
|
427
|
+
margin-left: 5px;
|
|
428
|
+
}
|
|
429
|
+
.file-item {
|
|
430
|
+
display: flex;
|
|
431
|
+
align-items: center;
|
|
432
|
+
justify-content: space-between; /* 添加这行来分布空间 */
|
|
433
|
+
gap: 10px;
|
|
434
|
+
height: 40px;
|
|
435
|
+
padding: 10px;
|
|
436
|
+
border-radius: 8px;
|
|
437
|
+
transition: background-color 0.2s;
|
|
438
|
+
|
|
439
|
+
&:hover {
|
|
440
|
+
color: var(--el-button-hover-text-color, #409eff);
|
|
441
|
+
border-color: var(--el-button-hover-border-color, rgb(197.7, 225.9, 255));
|
|
442
|
+
background-color: var(--el-button-hover-bg-color, rgb(235.9, 245.3, 255));
|
|
443
|
+
outline: none;
|
|
444
|
+
}
|
|
445
|
+
}
|
|
446
|
+
|
|
447
|
+
.file-actions {
|
|
448
|
+
display: flex;
|
|
449
|
+
align-items: center;
|
|
450
|
+
gap: 5px;
|
|
451
|
+
flex-shrink: 0; /* 防止按钮被压缩 */
|
|
452
|
+
}
|
|
348
453
|
</style>
|