agilebuilder-ui 1.1.22 → 1.1.23

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 (66) hide show
  1. package/lib/{401-4a0b2ff3.js → 401-3aa5e355.js} +1 -1
  2. package/lib/{404-675a2b11.js → 404-aa4b2c13.js} +1 -1
  3. package/lib/{iframe-page-38a9c584.js → iframe-page-12433672.js} +1 -1
  4. package/lib/{index-e23f840f.js → index-4fa4df3f.js} +34463 -35111
  5. package/lib/super-ui.css +1 -1
  6. package/lib/super-ui.js +1 -1
  7. package/lib/super-ui.umd.cjs +93 -93
  8. package/lib/{tab-content-iframe-index-e6bc24b5.js → tab-content-iframe-index-911248d7.js} +1 -1
  9. package/lib/{tab-content-index-5a36eab4.js → tab-content-index-d82e9431.js} +11 -11
  10. package/lib/{tache-subprocess-history-59bda1ed.js → tache-subprocess-history-d52e150e.js} +1 -1
  11. package/package.json +1 -1
  12. package/packages/fs-upload-new/src/fs-upload-new.vue +0 -12
  13. package/packages/index.js +0 -11
  14. package/packages/row-form/operation.vue +2 -1
  15. package/packages/super-grid/src/apis.js +1 -55
  16. package/packages/super-grid/src/components/mobile-table-card.jsx +1 -1
  17. package/packages/super-grid/src/dynamic-input.vue +0 -1
  18. package/packages/super-grid/src/group-column.vue +1 -1
  19. package/packages/super-grid/src/index-column.vue +1 -1
  20. package/packages/super-grid/src/normal-column-content.vue +11 -175
  21. package/packages/super-grid/src/normal-column.vue +1 -1
  22. package/packages/super-grid/src/row-operation.vue +7 -7
  23. package/packages/super-grid/src/search-button.vue +2 -7
  24. package/packages/super-grid/src/search-form-advancedQuery.vue +4 -0
  25. package/packages/super-grid/src/search-form-item.vue +13 -6
  26. package/packages/super-grid/src/search-form-open.vue +83 -75
  27. package/packages/super-grid/src/search-form-ordinarySearch.vue +34 -28
  28. package/packages/super-grid/src/search-form.vue +7 -6
  29. package/packages/super-grid/src/selection-column.vue +1 -1
  30. package/packages/super-grid/src/super-grid.vue +8 -139
  31. package/packages/super-nine-grid/src/super-nine-grid.vue +0 -1
  32. package/src/i18n/langs/cn.js +0 -6
  33. package/src/i18n/langs/en.js +0 -6
  34. package/src/store/getters.js +0 -7
  35. package/src/store/index.js +0 -4
  36. package/src/styles/_layout-custom-properties.scss +3 -10
  37. package/src/styles/display-layout.scss +27 -76
  38. package/src/styles/index.scss +15 -44
  39. package/src/styles/theme/black/index.scss +34 -0
  40. package/src/styles/theme/blue/index.scss +21 -0
  41. package/src/styles/theme/blue2/index.scss +22 -0
  42. package/src/styles/theme/dark-blue/button.scss +12 -0
  43. package/src/styles/theme/dark-blue/index.scss +60 -0
  44. package/src/styles/theme/dark-blue/sidebar.scss +5 -0
  45. package/src/styles/theme/gray/index.scss +29 -0
  46. package/src/styles/theme/gray/sidebar.scss +5 -0
  47. package/src/styles/theme/green/button.scss +10 -0
  48. package/src/styles/theme/green/index.scss +60 -0
  49. package/src/styles/theme/green/sidebar.scss +5 -0
  50. package/src/styles/theme/ocean-blue/button.scss +10 -0
  51. package/src/styles/theme/ocean-blue/index.scss +60 -0
  52. package/src/styles/theme/ocean-blue/sidebar.scss +5 -0
  53. package/src/styles/theme/tiffany-blue-mobile/button.scss +10 -0
  54. package/src/styles/theme/tiffany-blue-mobile/index.scss +54 -0
  55. package/src/styles/theme/tiffany-blue-mobile/sidebar.scss +5 -0
  56. package/src/views/dsc-component/tabs/tab-content.vue +37 -28
  57. package/src/views/layout/components/AppMain.vue +1 -1
  58. package/src/views/layout/components/tabs/tab-content.vue +37 -28
  59. package/src/components/Affix/index.vue +0 -265
  60. package/src/store/modules/system.js +0 -34
  61. package/src/store/modules/table.js +0 -76
  62. package/src/styles/page-list.scss +0 -75
  63. package/src/styles/theme/default.scss +0 -39
  64. package/src/utils/iframe-communicator.js +0 -234
  65. package/src/utils/insert_css.js +0 -33
  66. package/src/utils/resize.js +0 -19
@@ -1,265 +0,0 @@
1
- <template>
2
- <div ref="affixMainRef" class="yx-affix">
3
- <div v-if="isFixed" :style="placeholderStyle" class="yx-affix-placeholder" />
4
- <div
5
- ref="affixRef"
6
- :style="affixStyle"
7
- :class="{
8
- 'yx-affix-content': true,
9
- 'is-fixed': isFixed,
10
- 'is-top': props.position === 'top',
11
- 'is-bottom': props.position === 'bottom'
12
- }"
13
- >
14
- <slot />
15
- </div>
16
- </div>
17
- </template>
18
-
19
- <script lang="ts" setup>
20
- import { defineProps, defineEmits, ref, onMounted, onUnmounted, nextTick, computed, watchEffect } from 'vue';
21
- import type { PropType, CSSProperties } from 'vue';
22
-
23
- type Position = 'top' | 'bottom';
24
- type Target = string | HTMLElement | Window;
25
-
26
- const props = defineProps({
27
- offset: {
28
- type: Number,
29
- default: 0
30
- },
31
- position: {
32
- type: String as PropType<Position>,
33
- default: 'top',
34
- validator: (value: string): value is Position => ['top', 'bottom'].includes(value)
35
- },
36
- target: {
37
- type: [String, HTMLElement] as PropType<Target>,
38
- default: () => window
39
- },
40
- autoDetectParentScroll: {
41
- type: Boolean,
42
- default: true
43
- },
44
- stickyInScrollContainer: {
45
- type: Boolean,
46
- default: true
47
- },
48
- zIndex: {
49
- type: Number,
50
- default: 100
51
- },
52
- // 是否开启间隔监听
53
- enableIntervalUpdate: {
54
- type: Boolean,
55
- default: true
56
- },
57
- enableIntervalTime: {
58
- type: Number,
59
- default: 2000
60
- }
61
- });
62
-
63
- const emits = defineEmits<{
64
- (e: 'change', fixed: boolean): void;
65
- }>();
66
-
67
- // 父级容器
68
- const affixMainRef = ref<HTMLElement | null>(null);
69
- // 悬浮容器
70
- const affixRef = ref<HTMLElement | null>(null);
71
- // 是否浮动
72
- const isFixed = ref(false);
73
- const placeholderStyle = ref<{ width?: string; height?: string }>({});
74
- const scrollContainerDatas = ref<Array<HTMLElement | Window>>([]);
75
- const scrollContainer = ref<HTMLElement | Window>(window);
76
- const adjustedOffset = ref<number>(0);
77
- const intervalId = ref<number | null>(null);
78
-
79
- // 用于获取 距离顶部 底部 距离
80
- const getAffixOffset = (containerRect: DOMRect) => {
81
- const isTop = ['top'].includes(props.position);
82
- const isBottom = ['bottom'].includes(props.position);
83
- if (!affixMainRef.value) return { isTop, isBottom };
84
-
85
- const affixMainRect = affixMainRef.value.getBoundingClientRect();
86
- const offsetTop = affixMainRect.top - containerRect.top;
87
- const offsetLeft = affixMainRect.left - containerRect.left;
88
- const offsetBottom = containerRect.height - affixMainRect.height - offsetTop;
89
- // 容器距离浏览器顶部
90
- const containerTop = containerRect.top;
91
- // 容器距离浏览器底部
92
- const containerBottom = window.innerHeight - containerRect.bottom;
93
- // 是否开启顶部悬浮
94
- const isFixTop = isTop && offsetTop <= 0;
95
- // 是否开启底部悬浮
96
- const isFixBottom = isBottom && offsetBottom <= 0;
97
- // 偏移距离
98
- const containerOffset = isTop ? containerTop : isBottom ? containerBottom : 0;
99
- return {
100
- isTop,
101
- isBottom,
102
- containerTop,
103
- containerBottom,
104
- containerOffset,
105
- offsetTop,
106
- offsetLeft,
107
- offsetBottom,
108
- // 是否开启顶部悬浮
109
- isFixTop,
110
- // 是否开启底部悬浮
111
- isFixBottom,
112
- };
113
- };
114
-
115
- // 获取滚动容器
116
- const getScrollContainer = (): Array<HTMLElement | Window> => {
117
- if (props.autoDetectParentScroll && affixRef.value) {
118
- const list: Array<HTMLElement | Window> = [];
119
- let parent: HTMLElement | null = affixRef.value.parentElement;
120
- while (parent && parent !== document.body) {
121
- const { overflowY } = window.getComputedStyle(parent);
122
- if (/(auto|scroll)/.test(overflowY)) {
123
- list.push(parent);
124
- }
125
- parent = parent.parentElement;
126
- }
127
- return [...list, window];
128
- }
129
-
130
- if (typeof props.target === 'string') {
131
- const el = document.querySelector(props.target);
132
- return [...(el ? [el as HTMLElement] : []), window];
133
- }
134
- return [window];
135
- };
136
-
137
- // 检测滚动节点
138
- const update = () => {
139
- try {
140
- if (!affixRef.value) return;
141
- const rect = affixRef.value.getBoundingClientRect();
142
- const container = scrollContainer.value;
143
- if (container === window) {
144
- const shouldFix = props.position === 'top' ? rect.top <= props.offset : rect.bottom >= window.innerHeight - props.offset;
145
- adjustedOffset.value = 0;
146
- updateFixedState(shouldFix, rect);
147
- } else if (props.stickyInScrollContainer) {
148
- const containerRect = (container as HTMLElement).getBoundingClientRect();
149
- const { isFixTop, isFixBottom, containerOffset } = getAffixOffset(containerRect);
150
- adjustedOffset.value = containerOffset ?? 0;
151
- updateFixedState(isFixTop || isFixBottom || false, rect);
152
- }
153
- } catch (error) {
154
- console.error(error)
155
- }
156
- };
157
-
158
- // 更新固定状态
159
- const updateFixedState = (shouldFix: boolean, rect: DOMRect) => {
160
- if (shouldFix !== isFixed.value || placeholderStyle.value?.height !== `${rect.height}px`) {
161
- isFixed.value = shouldFix;
162
- emits('change', shouldFix);
163
-
164
- if (shouldFix) {
165
- placeholderStyle.value = {
166
- width: `100%`,
167
- height: `${rect.height}px`
168
- };
169
- } else {
170
- placeholderStyle.value = {};
171
- }
172
- }
173
- };
174
-
175
- // 滚动事件处理
176
- const handleScroll = () => {
177
- requestAnimationFrame(update);
178
- };
179
-
180
- // 窗口大小变化处理
181
- let resizeTimer: number;
182
- const handleResize = () => {
183
- isFixed.value = false;
184
- clearTimeout(resizeTimer);
185
- resizeTimer = window.setTimeout(() => {
186
- update();
187
- }, 100);
188
- };
189
-
190
- // 组件挂载
191
- onMounted(() => {
192
- setTimeout(() => {
193
- nextTick(() => {
194
- try {
195
- // eslint-disable-next-line no-debugger
196
- if (props.enableIntervalUpdate) {
197
- intervalId.value = setInterval(handleScroll, props.enableIntervalTime);
198
- }
199
- const scrollList = getScrollContainer();
200
- console.log('检测父级滚动节点', scrollList)
201
- scrollContainerDatas.value = scrollList;
202
- scrollContainer.value = scrollList[0];
203
- scrollContainerDatas.value.forEach(dom => dom.addEventListener('scroll', handleScroll));
204
- window.addEventListener('resize', handleResize);
205
- update();
206
- } catch (error) {
207
- console.error(error)
208
- }
209
- });
210
- }, 100)
211
- });
212
-
213
- // 组件卸载
214
- onUnmounted(() => {
215
- if (scrollContainer.value) {
216
- scrollContainerDatas.value.forEach(dom => dom.removeEventListener('scroll', handleScroll));
217
- }
218
- window.removeEventListener('resize', handleResize);
219
- clearTimeout(resizeTimer);
220
- if (intervalId.value) clearInterval(intervalId.value);
221
- });
222
-
223
- watchEffect(() => {
224
- nextTick(() => {
225
- handleScroll();
226
- });
227
- });
228
-
229
- // 计算样式
230
- const affixStyle = computed(() => {
231
- if (isFixed.value) {
232
- return {
233
- position: 'fixed',
234
- width: `${affixRef.value?.offsetWidth}px`,
235
- zIndex: props.zIndex,
236
- [props.position]: `${props.offset + adjustedOffset.value}px`
237
- } as CSSProperties;
238
- }
239
- return {
240
- position: 'relative',
241
- } as CSSProperties;
242
- });
243
- </script>
244
-
245
- <style lang="scss" scoped>
246
- .yx-affix {
247
- &:has(.yx-affix-content:empty) {
248
- display: none;
249
- }
250
- .yx-affix-content {
251
- &.is-fixed {
252
- &.is-top {
253
- & > .yx-fixed-box-container {
254
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
255
- }
256
- }
257
- &.is-bottom {
258
- & > .yx-fixed-box-container {
259
- box-shadow: 0 -2px 4px rgba(0, 0, 0, 0.2);
260
- }
261
- }
262
- }
263
- }
264
- }
265
- </style>
@@ -1,34 +0,0 @@
1
- import { setTheme, getTheme } from '../../utils/auth'
2
-
3
- const state = () => ({
4
- theme: getTheme(),
5
- navExpanded: true,
6
- locale: 'zh-CN',
7
- routes: {}
8
- });
9
-
10
- const mutations = {
11
- updateState(state, payload) {
12
- Object.keys(payload).forEach(key => {
13
- if (key in state) {
14
- state[key] = payload[key];
15
- // if (['theme'].includes(key)) {
16
- // setTheme(payload[key])
17
- // }
18
- }
19
- });
20
- }
21
- };
22
-
23
- const actions = {
24
- updateSystemParams({ commit }, payload) {
25
- commit('updateState', payload);
26
- }
27
- };
28
-
29
- export default {
30
- namespaced: true,
31
- state,
32
- mutations,
33
- actions
34
- };
@@ -1,76 +0,0 @@
1
- const app = {
2
- state: {
3
- tableEditingDatas: [], // 开启编辑 表格$rowDataGuId
4
- },
5
- mutations: {
6
- /**
7
- * 切换行数据的编辑状态
8
- * @param {Object} state - 当前状态对象
9
- * @param {string} $rowDataGuId - 行数据的唯一标识
10
- */
11
- toggleRowEditing(state, $rowDataGuId) {
12
- if (state.tableEditingDatas.includes($rowDataGuId)) {
13
- state.tableEditingDatas = state.tableEditingDatas.filter(id => id !== $rowDataGuId)
14
- } else {
15
- state.tableEditingDatas = [...state.tableEditingDatas, $rowDataGuId]
16
- }
17
- },
18
- /**
19
- * 直接设置行数据的编辑状态
20
- * @param {Object} state - 当前状态对象
21
- * @param {Object} payload - 包含行数据唯一标识和编辑状态的对象
22
- * @param {string} payload.$rowDataGuId - 行数据的唯一标识
23
- * @param {boolean} payload.isEditing - 编辑状态
24
- */
25
- setRowEditing(state, { $rowDataGuId, isEditing = false }) {
26
- if ($rowDataGuId) {
27
- if (isEditing) {
28
- if (!state.tableEditingDatas.includes($rowDataGuId)) {
29
- state.tableEditingDatas = [...state.tableEditingDatas, $rowDataGuId];
30
- }
31
- } else {
32
- state.tableEditingDatas = state.tableEditingDatas.filter(id => id!== $rowDataGuId);
33
- }
34
- }
35
- },
36
- /**
37
- * 清理所有编辑状态
38
- * @param {Object} state - 当前状态对象
39
- */
40
- clearAllEditing(state) {
41
- state.tableEditingDatas = [];
42
- }
43
- },
44
- actions: {
45
- /**
46
- * 触发切换行数据编辑状态的操作
47
- * @param {Object} context - 上下文对象
48
- * @param {string} $rowDataGuId - 行数据的唯一标识
49
- */
50
- toggleEditingData({ commit }, $rowDataGuId) {
51
- commit('toggleRowEditing', $rowDataGuId)
52
- },
53
- /**
54
- * 触发直接设置行数据编辑状态的操作
55
- * @param {Object} context - 上下文对象
56
- * @param {Object} payload - 包含行数据唯一标识和编辑状态的对象
57
- * @param {string} payload.$rowDataGuId - 行数据的唯一标识
58
- * @param {boolean} payload.isEditing - 编辑状态
59
- */
60
- setRowEditing({ commit }, payload) {
61
- commit('setRowEditing', payload);
62
- },
63
- closeRowEditing({ commit }, payload) {
64
- commit('setRowEditing', payload);
65
- },
66
- /**
67
- * 触发清理所有编辑状态的操作
68
- * @param {Object} context - 上下文对象
69
- */
70
- clearAllEditing({ commit }) {
71
- commit('clearAllEditing');
72
- }
73
- },
74
- }
75
-
76
- export default app
@@ -1,75 +0,0 @@
1
- // 列表初始样式
2
- .amb-page-list-main {
3
- display: flex !important;
4
- flex-direction: column;
5
- align-items: stretch;
6
- gap: var(--layout-flex-gap, 15px);
7
-
8
- & > .super-grid-main-view {
9
- flex: 0 0 auto;
10
- }
11
-
12
- .el-pagination {
13
- flex-wrap: wrap;
14
- gap: var(--layout-form-flex-gap, 15px) 0;
15
- }
16
- }
17
-
18
- .flex-gap-15 {
19
- display: flex;
20
- gap: var(--layout-form-flex-gap, 15px);
21
- align-items: center;
22
-
23
- & .el-button {
24
- margin: 0;
25
-
26
- &+.el-button {
27
- margin: 0;
28
- }
29
- }
30
- }
31
- // 搜索栏目初始样式
32
- .amb-page-list-search-main, .operation-area {
33
- @extend .flex-gap-15;
34
- flex-wrap: wrap;
35
-
36
- & > [style*='margin-left: 10px'] {
37
- margin-left: 0;
38
- }
39
-
40
- & > .el-input__wrapper {
41
- flex-grow: 0;
42
- }
43
-
44
- & > .el-select {
45
- width: 200px;
46
- }
47
-
48
- .el-input-group {
49
- width: auto;
50
- }
51
-
52
- .el-form {
53
- @extend .flex-gap-15;
54
- flex-wrap: wrap;
55
-
56
- .el-form-item {
57
- margin: 0;
58
- }
59
- }
60
-
61
- .align-right {
62
- @extend .flex-gap-15;
63
- margin-left: auto;
64
- margin-top: auto;
65
-
66
- & > .el-input__wrapper {
67
- flex-grow: 0;
68
- }
69
- }
70
-
71
- .btn-main {
72
- @extend .flex-gap-15;
73
- gap: var(--super-grid-main-btn-view-gap, 10px);
74
- }
75
- }
@@ -1,39 +0,0 @@
1
- // 主题基础 默认样式
2
-
3
- .app-container:not(:has( > .three-column-layout, > .el-container)) {
4
- padding: var(--app-container-padding, 20px);
5
- border-radius: 6px;
6
- box-shadow: 0px 1px 8px 0px #00000019;
7
- background-color: #fff;
8
- }
9
-
10
- .flex-gap-15 {
11
- display: flex;
12
- gap: var(--layout-form-flex-gap, 15px);
13
- align-items: center;
14
-
15
- & .el-button {
16
- margin: 0;
17
-
18
- &+.el-button {
19
- margin: 0;
20
- }
21
- }
22
- }
23
-
24
- .operation-area {
25
- margin-bottom: 20px;
26
- }
27
-
28
- .operation-area-chart {
29
- padding-right: 24px;
30
- padding-top: 24px;
31
- text-align: right;
32
- }
33
-
34
- .operation-area-float {
35
- float: right;
36
- position: fixed;
37
- bottom: 0;
38
- right: 4%;
39
- }