agilebuilder-ui 1.1.36-sit3 → 1.1.36-sit5
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-0fa43826.js → 401-dff6f99e.js} +1 -1
- package/lib/{404-f66635fb.js → 404-1062cf9d.js} +1 -1
- package/lib/{iframe-page-cbf17c8b.js → iframe-page-e229c419.js} +1 -1
- package/lib/{index-e982c337.js → index-09cd1ad3.js} +7863 -7812
- package/lib/super-ui.css +1 -1
- package/lib/super-ui.js +1 -1
- package/lib/super-ui.umd.cjs +75 -75
- package/lib/{tab-content-iframe-index-3eed6086.js → tab-content-iframe-index-0c3b2101.js} +1 -1
- package/lib/{tab-content-index-deae4aab.js → tab-content-index-dcdefb56.js} +1 -1
- package/lib/{tache-subprocess-history-cd6d062b.js → tache-subprocess-history-06b435b8.js} +1 -1
- package/package.json +1 -1
- package/packages/fs-preview/src/fs-preview.vue +20 -2
- package/packages/fs-upload-list/src/fs-upload-list.vue +30 -7
- package/packages/fs-upload-new/src/fs-preview-new.vue +27 -15
- package/packages/super-grid/src/dynamic-input.vue +57 -1
- package/src/utils/util.js +19 -0
|
@@ -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-09cd1ad3.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-09cd1ad3.js";
|
|
2
2
|
import { resolveComponent as u, openBlock as d, createBlock as b, withCtx as g, createVNode as v, TransitionGroup as L, createElementBlock as p, Fragment as T, renderList as C, 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-09cd1ad3.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
|
@@ -37,7 +37,16 @@
|
|
|
37
37
|
</span>
|
|
38
38
|
</template>
|
|
39
39
|
<el-table :show-header="false" :data="fileList" max-height="60vh">
|
|
40
|
-
<el-table-column prop="showName" show-overflow-tooltip
|
|
40
|
+
<el-table-column prop="showName" show-overflow-tooltip>
|
|
41
|
+
<template v-slot="scope">
|
|
42
|
+
<div style="display: flex; align-items: center">
|
|
43
|
+
<super-icon :iconValue="getFileIconByName(scope.row.showName)" />
|
|
44
|
+
<span style="margin-left: 10px; cursor: pointer" @click="previewSingle(scope.row)">
|
|
45
|
+
{{ scope.row.showName }}
|
|
46
|
+
</span>
|
|
47
|
+
</div>
|
|
48
|
+
</template>
|
|
49
|
+
</el-table-column>
|
|
41
50
|
<el-table-column width="80" align="center">
|
|
42
51
|
<template v-slot="scope">
|
|
43
52
|
<div style="margin: -10px 0">
|
|
@@ -69,6 +78,7 @@ import { isPlateSys, getSystemFrontendUrl } from '../../../src/utils/common-util
|
|
|
69
78
|
import { isImage, getEntityFieldValue } from '../../../src/utils/util'
|
|
70
79
|
import { packageFile } from '../../super-grid/src/utils'
|
|
71
80
|
import { getToken } from '../../../src/utils/auth'
|
|
81
|
+
import { getFileIconByName } from '../../../src/utils/file-util'
|
|
72
82
|
import { Base64 } from 'js-base64'
|
|
73
83
|
export default {
|
|
74
84
|
components: {
|
|
@@ -284,10 +294,18 @@ export default {
|
|
|
284
294
|
},
|
|
285
295
|
formatFileName(fileName) {
|
|
286
296
|
return fileName.replace('#', '~~').replace('?', '~$').replace('&', '$')
|
|
297
|
+
},
|
|
298
|
+
getFileIconByName(fileName) {
|
|
299
|
+
return getFileIconByName(fileName)
|
|
287
300
|
}
|
|
288
301
|
},
|
|
289
302
|
emits: ['close']
|
|
290
303
|
}
|
|
291
304
|
</script>
|
|
292
305
|
|
|
293
|
-
<style lang="scss" scoped
|
|
306
|
+
<style lang="scss" scoped>
|
|
307
|
+
.amb-color-iconfont {
|
|
308
|
+
width: 30px;
|
|
309
|
+
height: 30px;
|
|
310
|
+
}
|
|
311
|
+
</style>
|
|
@@ -82,22 +82,35 @@
|
|
|
82
82
|
</span>
|
|
83
83
|
</template>
|
|
84
84
|
<el-table :data="showFileList" :show-header="false">
|
|
85
|
-
<el-table-column prop="showName" width="300"
|
|
85
|
+
<el-table-column prop="showName" width="300" show-overflow-tooltip>
|
|
86
|
+
<template v-slot="scope">
|
|
87
|
+
<div style="display: flex; align-items: center">
|
|
88
|
+
<super-icon :iconValue="getFileIconByName(scope.row.showName)" />
|
|
89
|
+
<span style="margin-left: 10px; cursor: pointer" @click="previewSingle(scope.row)">
|
|
90
|
+
{{ scope.row.showName }}
|
|
91
|
+
</span>
|
|
92
|
+
</div>
|
|
93
|
+
</template>
|
|
94
|
+
</el-table-column>
|
|
86
95
|
<el-table-column align="right">
|
|
87
96
|
<template v-slot="scope">
|
|
88
97
|
<el-tooltip :content="$t('imatrixUIPublicModel.preview')" class="item" effect="dark" placement="top">
|
|
89
|
-
<el-
|
|
90
|
-
<el-icon
|
|
91
|
-
|
|
98
|
+
<el-button type="text" @click="previewSingle(scope.row)">
|
|
99
|
+
<el-icon style="cursor: pointer">
|
|
100
|
+
<el-icon-view />
|
|
101
|
+
</el-icon>
|
|
102
|
+
</el-button>
|
|
92
103
|
</el-tooltip>
|
|
93
104
|
</template>
|
|
94
105
|
</el-table-column>
|
|
95
106
|
<el-table-column v-if="!disabled">
|
|
96
107
|
<template v-slot="scope">
|
|
97
108
|
<el-tooltip :content="$t('imatrixUIPublicModel.delete')" class="item" effect="dark" placement="top">
|
|
98
|
-
<el-
|
|
99
|
-
<el-icon
|
|
100
|
-
|
|
109
|
+
<el-button type="text" @click="deleteRow(scope.$index)">
|
|
110
|
+
<el-icon style="cursor: pointer">
|
|
111
|
+
<el-icon-delete />
|
|
112
|
+
</el-icon>
|
|
113
|
+
</el-button>
|
|
101
114
|
</el-tooltip>
|
|
102
115
|
</template>
|
|
103
116
|
</el-table-column>
|
|
@@ -144,6 +157,7 @@ import FsPreview from '../../fs-preview/src/fs-preview.vue'
|
|
|
144
157
|
import { packageFile } from '../../super-grid/src/utils'
|
|
145
158
|
import FileUploadInputMobile from '../../fs-upload-new/src/file-upload-mobile/file-upload-input.vue'
|
|
146
159
|
import { Base64 } from 'js-base64'
|
|
160
|
+
import { getFileIconByName } from '../../../src/utils/file-util'
|
|
147
161
|
export default {
|
|
148
162
|
name: 'FsUploadList',
|
|
149
163
|
props: {
|
|
@@ -418,8 +432,17 @@ export default {
|
|
|
418
432
|
},
|
|
419
433
|
uploadFileDone(data) {
|
|
420
434
|
this.$refs.fileUploadRef.uploadFileDone(data)
|
|
435
|
+
},
|
|
436
|
+
getFileIconByName(fileName) {
|
|
437
|
+
return getFileIconByName(fileName)
|
|
421
438
|
}
|
|
422
439
|
},
|
|
423
440
|
emits: ['close', 'upload-success', 'delete-success', 'delete', 'update:value', 'close', 'update:value']
|
|
424
441
|
}
|
|
425
442
|
</script>
|
|
443
|
+
<style lang="scss" scoped>
|
|
444
|
+
.amb-color-iconfont {
|
|
445
|
+
width: 30px;
|
|
446
|
+
height: 30px;
|
|
447
|
+
}
|
|
448
|
+
</style>
|
|
@@ -2,21 +2,26 @@
|
|
|
2
2
|
<div>
|
|
3
3
|
<div v-if="!isMobile">
|
|
4
4
|
<div v-for="(file, index) in fileList" :key="index" style="width: 100%">
|
|
5
|
-
<el-tag>
|
|
6
|
-
<
|
|
7
|
-
<
|
|
8
|
-
|
|
9
|
-
<
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
5
|
+
<el-tag color="white" size="large">
|
|
6
|
+
<template #default>
|
|
7
|
+
<div style="display: flex; align-items: center">
|
|
8
|
+
<!-- 'amb-color-icon-XLS' -->
|
|
9
|
+
<super-icon :iconValue="getFileIconByName(file.showName)" />
|
|
10
|
+
<el-tooltip content="预览" placement="top">
|
|
11
|
+
<span style="cursor: pointer" @click="preview(file.showName, file.serverPath)">
|
|
12
|
+
<span style="margin-left: 6.5px">{{ file.showName }}</span>
|
|
13
|
+
</span>
|
|
14
|
+
</el-tooltip>
|
|
15
|
+
<el-tooltip v-if="!disabled" content="下载" placement="top">
|
|
16
|
+
<el-icon style="margin-left: 10px" @click="handleDownload(file)">
|
|
17
|
+
<Download />
|
|
18
|
+
</el-icon>
|
|
19
|
+
</el-tooltip>
|
|
20
|
+
<el-tooltip v-if="!disabled" content="移除" placement="top">
|
|
21
|
+
<el-icon @click="handleOnRemove(file)"><Close /></el-icon>
|
|
22
|
+
</el-tooltip>
|
|
23
|
+
</div>
|
|
24
|
+
</template>
|
|
20
25
|
</el-tag>
|
|
21
26
|
</div>
|
|
22
27
|
</div>
|
|
@@ -53,6 +58,7 @@ import { getSystemFrontendUrl, isPlateSys, isMobileBrowser, getReplaceUrlDomain
|
|
|
53
58
|
import { getToken } from '../../../src/utils/auth'
|
|
54
59
|
import { isImage } from '../../../src/utils/util'
|
|
55
60
|
import { Base64 } from 'js-base64'
|
|
61
|
+
import { getFileIconByName } from '../../../src/utils/file-util'
|
|
56
62
|
const props = defineProps({
|
|
57
63
|
systemCode: {
|
|
58
64
|
type: String,
|
|
@@ -264,3 +270,9 @@ const isPreview = (fileName: string) => {
|
|
|
264
270
|
return false
|
|
265
271
|
}
|
|
266
272
|
</script>
|
|
273
|
+
<style lang="scss" scoped>
|
|
274
|
+
.amb-color-iconfont {
|
|
275
|
+
width: 30px;
|
|
276
|
+
height: 30px;
|
|
277
|
+
}
|
|
278
|
+
</style>
|
|
@@ -468,6 +468,7 @@
|
|
|
468
468
|
:check-strictly="isCheckStrictly"
|
|
469
469
|
:department-info="departmentInfo"
|
|
470
470
|
:disabled="disabled"
|
|
471
|
+
:limit-filter-column="controlConfig?.limitFilterColumn"
|
|
471
472
|
:fields="fields"
|
|
472
473
|
:is-join-table="isJoinTable"
|
|
473
474
|
:models="row"
|
|
@@ -528,7 +529,12 @@ import {
|
|
|
528
529
|
getControlConfig
|
|
529
530
|
} from './utils'
|
|
530
531
|
import dynamicSourceSelect from '../../dynamic-source-select/src/dynamic-source-select.vue'
|
|
531
|
-
import {
|
|
532
|
+
import {
|
|
533
|
+
getEntityFieldValue,
|
|
534
|
+
setEntityFieldValue,
|
|
535
|
+
getPropValueNew,
|
|
536
|
+
watchPageContextDynamicVariable
|
|
537
|
+
} from '../../../src/utils/util'
|
|
532
538
|
import { getToken } from '../../../src/utils/auth'
|
|
533
539
|
import apis from './apis'
|
|
534
540
|
import ViewImageDialog from './view-image-dialog.vue'
|
|
@@ -831,6 +837,7 @@ export default {
|
|
|
831
837
|
}
|
|
832
838
|
}
|
|
833
839
|
}
|
|
840
|
+
|
|
834
841
|
if (this.column.orgTreeSet) {
|
|
835
842
|
const orgTreeSet = JSON.parse(this.column.orgTreeSet)
|
|
836
843
|
if (this.type.indexOf('DeptTree') > 0 && orgTreeSet.checkStrictly) {
|
|
@@ -1032,6 +1039,7 @@ export default {
|
|
|
1032
1039
|
// 说明是工作组树
|
|
1033
1040
|
this.wgTree = true
|
|
1034
1041
|
}
|
|
1042
|
+
this.deptScopeLimit()
|
|
1035
1043
|
}
|
|
1036
1044
|
},
|
|
1037
1045
|
orgTreeSetSort() {
|
|
@@ -2010,6 +2018,54 @@ export default {
|
|
|
2010
2018
|
// 表示没有跳转页面配置
|
|
2011
2019
|
this.callCustomEvent(eventName)
|
|
2012
2020
|
}
|
|
2021
|
+
},
|
|
2022
|
+
deptScopeLimit() {
|
|
2023
|
+
debugger
|
|
2024
|
+
if (this.controlConfig && this.controlConfig.deptScope) {
|
|
2025
|
+
// 表示有部门范围限制
|
|
2026
|
+
if (this.controlConfig.deptScope == 'field' && this.controlConfig.deptScopeField) {
|
|
2027
|
+
if (this.controlConfig.deptScopeField.indexOf('${row.') === 0) {
|
|
2028
|
+
// 表示是行记录的字段
|
|
2029
|
+
const fieldName = this.controlConfig.deptScopeField.replace('${row.', '').replace('}', '')
|
|
2030
|
+
if (this.row[fieldName]) {
|
|
2031
|
+
this.departmentInfo = this.row[fieldName].split(',')
|
|
2032
|
+
} else {
|
|
2033
|
+
this.departmentInfo = []
|
|
2034
|
+
}
|
|
2035
|
+
this.$watch('row.' + fieldName, (newVal, oldVal) => {
|
|
2036
|
+
if (newVal) {
|
|
2037
|
+
this.departmentInfo = newVal.split(',')
|
|
2038
|
+
} else {
|
|
2039
|
+
this.departmentInfo = []
|
|
2040
|
+
}
|
|
2041
|
+
})
|
|
2042
|
+
} else {
|
|
2043
|
+
// 表示是页面pageContext的字段
|
|
2044
|
+
this.setLimitDepartmentInfo()
|
|
2045
|
+
if (!this.controlConfig.deptScopeField.indexOf('${fixed.') === 0) {
|
|
2046
|
+
watchPageContextDynamicVariable(
|
|
2047
|
+
this,
|
|
2048
|
+
this.pageContext,
|
|
2049
|
+
this.controlConfig.deptScopeField,
|
|
2050
|
+
(newVal, oldVal) => {
|
|
2051
|
+
this.setLimitDepartmentInfo()
|
|
2052
|
+
}
|
|
2053
|
+
)
|
|
2054
|
+
}
|
|
2055
|
+
}
|
|
2056
|
+
} else if (this.controlConfig.deptScope == 'depts' && this.controlConfig.deptScopeCodes) {
|
|
2057
|
+
// 表示固定部门范围
|
|
2058
|
+
this.departmentInfo = this.controlConfig.deptScopeCodes.split(',')
|
|
2059
|
+
}
|
|
2060
|
+
}
|
|
2061
|
+
},
|
|
2062
|
+
setLimitDepartmentInfo() {
|
|
2063
|
+
const deptScopeFieldValue = getPropValueNew(this.controlConfig.deptScopeField, this.pageContext, this.row)
|
|
2064
|
+
if (deptScopeFieldValue) {
|
|
2065
|
+
this.departmentInfo = deptScopeFieldValue.split(',')
|
|
2066
|
+
} else {
|
|
2067
|
+
this.departmentInfo = []
|
|
2068
|
+
}
|
|
2013
2069
|
}
|
|
2014
2070
|
}
|
|
2015
2071
|
}
|
package/src/utils/util.js
CHANGED
|
@@ -624,6 +624,7 @@ export function getPropValueNew(propValue, pageContext, row) {
|
|
|
624
624
|
let value = null
|
|
625
625
|
if (propValue && propValue !== null && propValue !== '') {
|
|
626
626
|
const entity = pageContext && pageContext.entity ? pageContext.entity.data : null
|
|
627
|
+
const pageVar = pageContext && pageContext.entity ? pageContext.entity.page : null
|
|
627
628
|
const additionalParamMap = getAdditionalParamMap(pageContext)
|
|
628
629
|
const contextParameterMap = pageContext && pageContext.entity ? pageContext.entity.context : null
|
|
629
630
|
const parentEntity =
|
|
@@ -643,6 +644,9 @@ export function getPropValueNew(propValue, pageContext, row) {
|
|
|
643
644
|
const propName = propValue.replace('${row.', '').replace('}', '')
|
|
644
645
|
value = getEntityFieldValue(row, propName)
|
|
645
646
|
}
|
|
647
|
+
} else if (propValue.indexOf('${page.') === 0) {
|
|
648
|
+
const variable = propValue.replace('${page.', '').replace('}', '')
|
|
649
|
+
value = pageVar ? pageVar[variable] : null
|
|
646
650
|
} else if (
|
|
647
651
|
propValue.includes('${context.') ||
|
|
648
652
|
propValue.includes('${request.') ||
|
|
@@ -930,3 +934,18 @@ export function isImage(fileName) {
|
|
|
930
934
|
return false
|
|
931
935
|
}
|
|
932
936
|
}
|
|
937
|
+
|
|
938
|
+
export function watchPageContextDynamicVariable(that, pageContext, variable, callback) {
|
|
939
|
+
const match = variable.match(/\${(.*?)}/)
|
|
940
|
+
if (!match) return
|
|
941
|
+
const path = match ? match[1].split('.') : []
|
|
942
|
+
if (path && path.length > 0) {
|
|
943
|
+
// 监听 pageContext.entity[type][field][xxx]... 的变化
|
|
944
|
+
that.$watch(
|
|
945
|
+
() => path.reduce((obj, key) => obj[key], pageContext.entity),
|
|
946
|
+
(newVal, oldVal) => {
|
|
947
|
+
callback(newVal, oldVal)
|
|
948
|
+
}
|
|
949
|
+
)
|
|
950
|
+
}
|
|
951
|
+
}
|