agilebuilder-ui 1.1.29-dingtalkphoto2 → 1.1.30-sit1

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 (56) hide show
  1. package/lib/{401-0311919c.js → 401-4b9f051d.js} +1 -1
  2. package/lib/{404-d3325636.js → 404-402fd5f3.js} +1 -1
  3. package/lib/{iframe-page-9bc89f23.js → iframe-page-018ff792.js} +1 -1
  4. package/lib/{index-3a58d4bf.js → index-c0c9807f.js} +19187 -19200
  5. package/lib/super-ui.css +1 -1
  6. package/lib/super-ui.js +1 -1
  7. package/lib/super-ui.umd.cjs +94 -91
  8. package/lib/{tab-content-iframe-index-b9af19c7.js → tab-content-iframe-index-bccda4d3.js} +1 -1
  9. package/lib/{tab-content-index-c4821c60.js → tab-content-index-fc423676.js} +25 -24
  10. package/lib/{tache-subprocess-history-35f638e5.js → tache-subprocess-history-30f0a85b.js} +1 -1
  11. package/package.json +1 -1
  12. package/packages/dynamic-source-select/src/dynamic-source-select.vue +5 -1
  13. package/packages/fs-preview/src/fs-preview.vue +75 -53
  14. package/packages/fs-upload-list/src/fs-upload-list.vue +12 -10
  15. package/packages/fs-upload-new/src/file-upload-mobile/file-upload-app.vue +17 -9
  16. package/packages/fs-upload-new/src/file-upload-mobile/file-upload-browser.vue +6 -3
  17. package/packages/fs-upload-new/src/file-upload-mobile/file-upload.vue +1 -1
  18. package/packages/multipart-upload/src/multipart-upload-form.vue +12 -7
  19. package/packages/organization-input/src/organization-input.vue +1 -1
  20. package/packages/row-form/operation.vue +1 -0
  21. package/packages/super-grid/src/components/mobile-table-card.jsx +12 -2
  22. package/packages/super-grid/src/custom-formatter.js +10 -7
  23. package/packages/super-grid/src/dynamic-input.vue +12 -11
  24. package/packages/super-grid/src/index-column.vue +24 -15
  25. package/packages/super-grid/src/normal-column-content.vue +19 -2
  26. package/packages/super-grid/src/normal-column.vue +14 -13
  27. package/packages/super-grid/src/row-operation.vue +49 -27
  28. package/packages/super-grid/src/selection-column.vue +2 -12
  29. package/packages/super-grid/src/super-grid.vue +28 -8
  30. package/packages/workflow-history-list/src/workflow-history-list.vue +101 -160
  31. package/src/components/Affix/index.vue +19 -12
  32. package/src/i18n/langs/cn.js +293 -294
  33. package/src/i18n/langs/en.js +292 -304
  34. package/src/permission.js +1 -1
  35. package/src/store/modules/table.js +1 -0
  36. package/src/styles/_layout-custom-properties.scss +2 -2
  37. package/src/styles/display-layout.scss +16 -4
  38. package/src/styles/index.scss +17 -16
  39. package/src/styles/theme/black/index.scss +6 -0
  40. package/src/styles/theme/dark-blue/button.scss +6 -6
  41. package/src/styles/theme/dark-blue/card.scss +11 -15
  42. package/src/styles/theme/dark-blue/index.scss +1 -4
  43. package/src/styles/theme/dark-blue/sidebar.scss +0 -5
  44. package/src/styles/theme/default.scss +1 -1
  45. package/src/styles/theme/green/button.scss +2 -2
  46. package/src/styles/theme/green/index.scss +1 -4
  47. package/src/styles/theme/green/sidebar.scss +0 -5
  48. package/src/styles/theme/ocean-blue/button.scss +2 -2
  49. package/src/styles/theme/ocean-blue/index.scss +1 -4
  50. package/src/styles/theme/ocean-blue/sidebar.scss +0 -5
  51. package/src/styles/theme/tiffany-blue-mobile/button.scss +2 -2
  52. package/src/styles/theme/tiffany-blue-mobile/index.scss +1 -5
  53. package/src/styles/theme/tiffany-blue-mobile/sidebar.scss +0 -5
  54. package/src/utils/iframe-communicator.js +222 -222
  55. package/src/utils/jump-page-utils.js +1 -1
  56. package/vite.config.js +2 -1
@@ -93,7 +93,7 @@
93
93
  @input="cellEvent('input', $event)"
94
94
  />
95
95
  <el-time-picker
96
- v-else-if="type === 'timePicker'"
96
+ v-else-if="type === 'timePicker' || (type === 'input' && column.dataType === 'TIME')"
97
97
  ref="item"
98
98
  v-model="innerValue"
99
99
  :disabled="disabled"
@@ -108,7 +108,7 @@
108
108
  />
109
109
  <!--必须有@input ,否则无法输入值-->
110
110
  <el-date-picker
111
- v-else-if="type === 'time' || column.dataType === 'TIME'"
111
+ v-else-if="type === 'time'"
112
112
  ref="item"
113
113
  v-model="innerValue"
114
114
  :disabled="disabled"
@@ -132,6 +132,7 @@
132
132
  :disabled="disabled"
133
133
  :placeholder="$t('imatrixUIMessage.pleaseEnterContent')"
134
134
  :title="innerValue"
135
+ :type="column.dataType === 'INTEGER' || column.dataType === 'LONG' ? 'number' : 'text'"
135
136
  clearable
136
137
  @blur="cellEvent('blur', $event)"
137
138
  @change="cellEvent('change', $event)"
@@ -926,14 +927,14 @@ export default {
926
927
  let selectTittle = ''
927
928
  if (typeof val === 'string') {
928
929
  // 单选
929
- this.options.forEach((item) => {
930
+ this.options?.forEach((item) => {
930
931
  if (item.value === val) {
931
932
  selectTittle = item.label
932
933
  }
933
934
  })
934
935
  } else {
935
936
  // 多选
936
- this.options.forEach((item) => {
937
+ this.options?.forEach((item) => {
937
938
  val.forEach((Vtem) => {
938
939
  if (item.value === Vtem) {
939
940
  selectTittle = selectTittle + item.label + ','
@@ -1743,7 +1744,7 @@ export default {
1743
1744
  if (!this.innerValue || this.innerValue.indexOf(saveAll) >= 0) {
1744
1745
  this.innerValue = []
1745
1746
  }
1746
- this.options.forEach((item) => {
1747
+ this.options?.forEach((item) => {
1747
1748
  if (this.innerValue.indexOf(item.value) === -1) {
1748
1749
  this.innerValue.push(item.value)
1749
1750
  }
@@ -1832,12 +1833,8 @@ export default {
1832
1833
  },
1833
1834
  // 时间格式判断是否是字符串类型,显示格式
1834
1835
  isFormat() {
1835
- if (this.type === 'time' && this.column.dataType === 'TIME') {
1836
+ if (this.type === 'dateTimePicker') {
1836
1837
  return 'YYYY-MM-DD HH:mm:ss'
1837
- } else if (this.type === 'dateTimePicker') {
1838
- return 'YYYY-MM-DD HH:mm:ss'
1839
- } else if (this.type === 'date' && this.column.dataType === 'DATE') {
1840
- return 'YYYY-MM-DD'
1841
1838
  } else if (this.type === 'timePicker') {
1842
1839
  if (this.column.originalFormat) {
1843
1840
  return this.column.originalFormat
@@ -1847,8 +1844,12 @@ export default {
1847
1844
  return 'YYYY'
1848
1845
  } else if (this.type === 'month') {
1849
1846
  return 'MM'
1850
- } else if (this.dataType === 'TIME') {
1847
+ } else if (this.type === 'date') {
1848
+ return 'YYYY-MM-DD'
1849
+ } else if (this.type === 'time' || this.column.dataType === 'TIME') {
1851
1850
  return 'HH:mm:ss'
1851
+ } else if (this.column.dataType === 'DATE') {
1852
+ return 'YYYY-MM-DD'
1852
1853
  }
1853
1854
  return 'YYYY-MM-DD'
1854
1855
  },
@@ -1,16 +1,17 @@
1
1
  <template>
2
2
  <el-table-column
3
- align="center"
3
+ header-align="center"
4
+ show-overflow-tooltip
5
+ :align="align"
4
6
  :fixed="fixed"
5
- :width="70"
7
+ :width="width"
8
+ :min-width="minWidth"
6
9
  >
7
10
  <template v-slot:header>
8
11
  <span class="cell--span">{{ $t('superGrid.index') }}</span>
9
12
  </template>
10
13
  <template v-slot="scope">
11
- <span class="cell--span">
12
- {{ scope.$index + startIndex }}
13
- </span>
14
+ {{ scope.$index + startIndex }}
14
15
  </template>
15
16
  </el-table-column>
16
17
  </template>
@@ -43,19 +44,27 @@ export default {
43
44
  type: Object,
44
45
  default: null,
45
46
  },
47
+ isDataChildren: {
48
+ type: Boolean,
49
+ default: false,
50
+ }
46
51
  },
47
52
  computed: {
53
+ align() {
54
+ if (this.isDataChildren) return 'left'
55
+ return 'center'
56
+ },
57
+ width() {
58
+ if (this.isDataChildren) return undefined
59
+ return 70
60
+ },
61
+ minWidth() {
62
+ if (this.isDataChildren) return 100
63
+ return undefined
64
+ },
48
65
  fixed() {
49
- if (
50
- this.column.fixed &&
51
- (this.column.fixed === 'false' || this.column.fixed === '')
52
- ) {
53
- return false
54
- }
55
- // 序号只支持左固定
56
- if (this.column.fixed && this.column.fixed === 'right') {
57
- return 'left'
58
- }
66
+ if (!this.column.fixed) return false
67
+ if (['null', 'false', 'undefined'].includes(this.column.fixed)) return false
59
68
  return this.column.fixed
60
69
  },
61
70
  startIndex() {
@@ -35,15 +35,16 @@
35
35
  @open-page="openPageEvent"
36
36
  />
37
37
  <div v-else class="column-text-main">
38
- <div v-if="lineEdit.editable && isEditable && !isHideEdit && !isContentViewText" class="column-text-edit-main" @click="onEditing">
38
+ <div v-if="lineEdit.editable && (options?.configureObj?.props?.base?.columnEditable ?? false) && isEditable && !isHideEdit && !isContentViewText" class="column-text-edit-main" @click="onEditing">
39
39
  <el-icon :size="14" color="#409eff"><Edit /></el-icon>
40
- <span v-if="[undefined, null, ''].includes(row[column.prop])" table-column-placeholder>请点击输入</span>
40
+ <span v-if="[undefined, null, ''].includes(row[column.prop])" table-column-placeholder>{{ $t('superGrid.editablePlaceholder') }}</span>
41
41
  </div>
42
42
  <span v-if="column.operations" class="grid-operation-buttons">
43
43
  <span
44
44
  v-for="(operation, operationIndex) in column.operations"
45
45
  :key="operationIndex"
46
46
  :class="isShowForm ? '' : 'cell--span'"
47
+ class="buttons-row-content-span"
47
48
  >
48
49
  <el-dropdown
49
50
  v-if="operation.isGroup"
@@ -100,6 +101,7 @@
100
101
  :row-index="rowIndex"
101
102
  :list-code="listCode"
102
103
  :parent-form-data="parentFormData"
104
+ is-table-btn-link
103
105
  />
104
106
  </span>
105
107
  </span>
@@ -358,6 +360,7 @@ import { $emit, $off, $on } from '../../utils/gogocodeTransfer'
358
360
  import {
359
361
  ArrowKeyAction,
360
362
  getColumnValues,
363
+ isDisableEdit,
361
364
  getFileList,
362
365
  isDynamicDataSourceSource,
363
366
  isHasEditOption,
@@ -617,6 +620,7 @@ export default {
617
620
  if (gridParams && gridParams.options && gridParams.options.isFormSubTable) {
618
621
  this.isFormSubTable = gridParams.options.isFormSubTable
619
622
  }
623
+ this.disabled = isDisableEdit(this.column.prop, this.listCode, this.row)
620
624
  if (
621
625
  gridParams &&
622
626
  gridParams.options &&
@@ -671,6 +675,10 @@ export default {
671
675
  this.requiredClass = this.isRequired(this.row.$editing) ? 'm-requried' : ''
672
676
  },
673
677
  mounted() {
678
+ // 监听取消自定义编辑事件
679
+ eventBus.$on('clearTableAllStartEditing', () => {
680
+ this.clearAllEditing()
681
+ })
674
682
  // 监听保存时点击按钮事件线触发
675
683
  $on(eventBus, 'un-edit', (param) => {
676
684
  // 处理多选选项组问题保存问题
@@ -759,6 +767,7 @@ export default {
759
767
  if (this.$parent.$parent && this.$parent.$parent.$options._componentTag === 'GroupColumn') {
760
768
  eventBus.$off('prohibitToEdit')
761
769
  }
770
+ eventBus.$off('clearTableAllStartEditing')
762
771
  },
763
772
  methods: {
764
773
  ...customFormatter,
@@ -1137,6 +1146,7 @@ export default {
1137
1146
  return 'primary'
1138
1147
  },
1139
1148
  changeDisabled(state) {
1149
+ debugger
1140
1150
  this.disabled = state
1141
1151
  },
1142
1152
  refreshList() {
@@ -1199,6 +1209,13 @@ export default {
1199
1209
  align-items: center;
1200
1210
  gap: 10px;
1201
1211
 
1212
+ [table-column-placeholder] {
1213
+ display: block;
1214
+ white-space: nowrap;
1215
+ overflow: hidden;
1216
+ text-overflow: ellipsis;
1217
+ }
1218
+
1202
1219
  &::after {
1203
1220
  content: ' ';
1204
1221
  position: absolute;
@@ -76,6 +76,7 @@ import FsPreview from '../../fs-preview'
76
76
  import RichEditorViewer from '../../rich-editor/viewer.vue'
77
77
  import GridIcon from './components/grid-icon.vue'
78
78
  import NormalColumnContent from './normal-column-content.vue'
79
+ import eventBus from './eventBus'
79
80
  export default {
80
81
  components: {
81
82
  DynamicInput,
@@ -189,17 +190,8 @@ export default {
189
190
  }
190
191
  },
191
192
  fixed() {
192
- if (
193
- (this.column.fixed && this.column.fixed === 'false') ||
194
- this.column.fixed === undefined ||
195
- this.column.fixed === ''
196
- ) {
197
- return false
198
- }
199
- if (this.column.prop === 'operation' && this.column.fixed && this.column.fixed === 'left') {
200
- // 操作列居右固定
201
- return 'right'
202
- }
193
+ if (!this.column.fixed) return false
194
+ if (['null', 'false', 'undefined'].includes(this.column.fixed)) return false
203
195
  return this.column.fixed
204
196
  },
205
197
  sortable() {
@@ -297,8 +289,17 @@ export default {
297
289
  gridParams.options &&
298
290
  gridParams.options.showOperationButton
299
291
  },
300
- mounted() {},
301
- unmounted() {},
292
+ mounted() {
293
+ if(this.column.prop === 'operation'){
294
+ const that = this
295
+ eventBus.$on('change-add-state',(value)=>{
296
+ that.isShowAdd = value
297
+ })
298
+ }
299
+ },
300
+ unmounted() {
301
+ eventBus.$off('change-add-state')
302
+ },
302
303
  methods: {
303
304
  ...customFormatter,
304
305
  ...apis,
@@ -4,41 +4,39 @@
4
4
  <span :style="myStyle">
5
5
  <template v-if="isShowButton()">
6
6
  <template v-if="label">
7
- <!-- <el-tooltip :content="label" class="item" effect="dark" placement="top-start"> -->
8
- <component
9
- v-bind="operationSetting"
10
- :is="elementType"
11
- v-if="operationSetting.permission"
12
- v-permission="operationSetting.permission"
13
- :disabled="preventReclick"
14
- @mousedown="onClickFun(operationSetting)"
15
- >{{ label }}</component
16
- >
17
- <component
18
- v-bind="operationSetting"
19
- :is="elementType"
20
- v-else
21
- :disabled="preventReclick"
22
- @mousedown="onClickFun(operationSetting)"
23
- >{{ label }}</component
24
- >
25
- <!-- </el-tooltip> -->
7
+ <template v-if="operationSettingData.permission">
8
+ <component
9
+ v-bind="operationSettingData"
10
+ :is="isElementType"
11
+ v-permission="operationSettingData.permission"
12
+ :disabled="preventReclick"
13
+ @mousedown="onClickFun(operationSettingData)"
14
+ >{{ label }}</component>
15
+ </template>
16
+ <template v-else>
17
+ <component
18
+ v-bind="operationSettingData"
19
+ :is="isElementType"
20
+ :disabled="preventReclick"
21
+ @mousedown="onClickFun(operationSettingData)"
22
+ >{{ label }}</component>
23
+ </template>
26
24
  </template>
27
25
  <template v-else>
28
26
  <component
29
- v-bind="operationSetting"
30
- :is="elementType"
31
- v-if="operationSetting.permission"
32
- v-permission="operationSetting.permission"
27
+ v-bind="operationSettingData"
28
+ :is="isElementType"
29
+ v-if="operationSettingData.permission"
30
+ v-permission="operationSettingData.permission"
33
31
  :disabled="preventReclick"
34
- @mousedown="onClickFun(operationSetting)"
32
+ @mousedown="onClickFun(operationSettingData)"
35
33
  />
36
34
  <component
37
- v-bind="operationSetting"
38
- :is="elementType"
35
+ v-bind="operationSettingData"
36
+ :is="isElementType"
39
37
  v-else
40
38
  :disabled="preventReclick"
41
- @mousedown="onClickFun(operationSetting)"
39
+ @mousedown="onClickFun(operationSettingData)"
42
40
  />
43
41
  </template>
44
42
  </template>
@@ -58,6 +56,10 @@ export default {
58
56
  type: Boolean,
59
57
  default: false,
60
58
  },
59
+ isTableBtnLink: {
60
+ type: [Boolean],
61
+ default: false,
62
+ },
61
63
  isShow: {
62
64
  type: [Boolean, Function],
63
65
  default: true,
@@ -107,6 +109,26 @@ export default {
107
109
  },
108
110
  computed: {
109
111
  ...mapGetters(['preventReclick']),
112
+ // 是否自动开启表格 按钮 转 文字按钮
113
+ isTableBtnLinkShow() {
114
+ if (this.operationSetting.text) return true
115
+ if (this.isTableBtnLink && this.elementType === 'el-button') {
116
+ return [this.operationSetting.text, this.operationSetting.plain, this.operationSetting.round].every(v => v === undefined)
117
+ }
118
+ return false
119
+ },
120
+ operationSettingData() {
121
+ const dataList = { ...this.operationSetting }
122
+ if (this.isTableBtnLinkShow) {
123
+ dataList.underline = false
124
+ delete dataList.text
125
+ }
126
+ return dataList
127
+ },
128
+ isElementType() {
129
+ if (this.isTableBtnLinkShow) return 'el-link'
130
+ return this.elementType
131
+ }
110
132
  },
111
133
  created() {
112
134
  if (
@@ -27,18 +27,8 @@ export default {
27
27
  },
28
28
  computed: {
29
29
  fixed() {
30
- if (
31
- this.column.fixed === undefined ||
32
- this.column.fixed === null ||
33
- this.column.fixed === '' ||
34
- this.column.fixed === 'false'
35
- ) {
36
- return false
37
- }
38
- // 左右都固定会导致列表显示速度慢,暂只支持左侧固定
39
- if (this.column.fixed && this.column.fixed === 'right') {
40
- return 'left'
41
- }
30
+ if (!this.column.fixed) return false
31
+ if (['null', 'false', 'undefined'].includes(this.column.fixed)) return false
42
32
  return this.column.fixed
43
33
  },
44
34
  },
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <div data-v="1.0.0" class="super-grid-main-view" :style="subTableStyle" @click="onClickTableMain">
2
+ <div v-resize="onResize" data-v="1.0.0" class="super-grid-main-view" :style="subTableStyle" @click="onClickTableMain">
3
3
  <search-form
4
4
  v-if="!isFormSubTable && hasLoadedColumns && query && query.showType === 'embedded'"
5
5
  v-show="!isMobile || (isMobile && isShowMobileSearch)"
@@ -305,7 +305,12 @@ export default {
305
305
  additionalParamMap: {
306
306
  type: Object,
307
307
  default: null
308
- }
308
+ },
309
+ // 手动控制高度偏移
310
+ manualHeightOffset: {
311
+ type: [undefined, Number],
312
+ default: undefined
313
+ },
309
314
  },
310
315
  data() {
311
316
  let parentProp
@@ -453,15 +458,19 @@ export default {
453
458
  }
454
459
  },
455
460
  computed: {
461
+ // 高度偏移
462
+ heightOffset() {
463
+ return Number(this.manualHeightOffset ?? this.options?.configureObj?.props?.size?.pc?.heightOffset ?? 33)
464
+ },
456
465
  // 限制高度最低值
457
466
  hasMaxHeight() {
458
467
  if (this.maxHeight) {
459
- return this.maxHeight <= 100 ? 100 : this.maxHeight ?? undefined
468
+ return this.maxHeight <= 100 ? 100 : this.maxHeight + this.heightOffset ?? undefined
460
469
  }
461
470
  return undefined
462
471
  },
463
472
 
464
- // 是指固钉高度最低值
473
+ // 是指固定高度最低值
465
474
  hasTableHeight() {
466
475
  if (this.tableHeight) {
467
476
  return this.tableHeight <= 100 ? 100 : this.tableHeight ?? undefined
@@ -473,7 +482,7 @@ export default {
473
482
  },
474
483
  // 是否显示卡片
475
484
  isShowCard() {
476
- return this.isShowAutoCard && this.isMobileListCard && !this.options.isAdministerListView
485
+ return this.isShowAutoCard && this.isMobileListCard && !this.options.isAdministerListView && (this.options?.configureObj?.props?.base?.isMobileCard ?? true)
477
486
  },
478
487
  visibleColumns() {
479
488
  const gridParams = store.get(this.code)
@@ -688,7 +697,7 @@ export default {
688
697
  this.$nextTick(() => {
689
698
  if (newVal) {
690
699
  // 手动触发新单元格的点击事件
691
- newVal.click()
700
+ newVal.click()
692
701
  }
693
702
  if (oldVal) {
694
703
  // 清空上一个单元格的选中样式
@@ -800,7 +809,7 @@ export default {
800
809
  }
801
810
  )
802
811
  }
803
-
812
+ window.addEventListener('resize', this.resizeTableHeight);
804
813
  this.$watch(
805
814
  'hasLoadData',
806
815
  function (newVal, oldVal) {
@@ -899,11 +908,17 @@ export default {
899
908
  )
900
909
  })
901
910
  },
911
+ beforeDestroy() {
912
+ window.removeEventListener('resize', this.resizeTableHeight);
913
+ },
902
914
  methods: {
903
915
  ...events,
904
916
  ...publicMethods,
905
917
  ...superGridService,
906
918
  ...apis,
919
+ onResize(entry) {
920
+ this.resizeTableHeight()
921
+ },
907
922
  onClickMain() {
908
923
  // 清理编辑选中
909
924
  storeVuex?.dispatch?.('clearAllEditing')
@@ -3270,6 +3285,7 @@ export default {
3270
3285
  'options': this.options,
3271
3286
  'current-page': this.currentPage,
3272
3287
  'pagination': this.pagination,
3288
+ 'is-data-children': this.tableDatas.some(d => Array.isArray(d?.children)),
3273
3289
  'grid-data': this.isSubTableShowPage ? this.subTableData : this.gridData,
3274
3290
  'page-grid-data': this.isSubTableShowPage ? this.getSubTableGridData(this.subTableData) : this.gridData,
3275
3291
  ...(myCustomFormatter ? {
@@ -3296,6 +3312,9 @@ export default {
3296
3312
  column
3297
3313
  }
3298
3314
  }
3315
+ },
3316
+ changeOperationAddState(state){
3317
+ eventBus.$emit('change-add-state', state)
3299
3318
  }
3300
3319
  },
3301
3320
  emits: [
@@ -3309,7 +3328,8 @@ export default {
3309
3328
  'un-edit',
3310
3329
  'refresMainTableFields',
3311
3330
  'refresh',
3312
- 'cancel-search'
3331
+ 'cancel-search',
3332
+ 'changeOperationAddState'
3313
3333
  ]
3314
3334
  }
3315
3335
  </script>