agilebuilder-ui 1.0.49 → 1.0.51

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agilebuilder-ui",
3
- "version": "1.0.49",
3
+ "version": "1.0.51",
4
4
  "type": "module",
5
5
  "private": false,
6
6
  "main": "./lib/super-ui.js",
@@ -194,13 +194,19 @@ export default {
194
194
  isSql: {
195
195
  type: Boolean,
196
196
  default: false
197
- }
197
+ },
198
+ openFsUpload:{
199
+ type: Boolean,
200
+ default: true
201
+ }
198
202
  },
199
203
  created() {},
200
204
  mounted() {},
201
205
  methods: {
202
206
  openAnnexUpload() {
203
- this.annexUploadFlag = true
207
+ if (this.openFsUpload){
208
+ this.annexUploadFlag = true
209
+ }
204
210
  },
205
211
  handleBeforeUpload(file) {
206
212
  let limitFileSize = this.fileSetObj.limitFileSize
@@ -7,6 +7,7 @@
7
7
  :show-file-list="false"
8
8
  auto-upload
9
9
  :headers="headers"
10
+ :disabled="!openFsUpload"
10
11
  :action="defaultAction"
11
12
  :multiple="multiple"
12
13
  :before-upload="handleBeforeUpload"
@@ -30,6 +31,10 @@ import { getToken } from '../../../src/utils/auth'
30
31
  import type { UploadFile, UploadFiles } from 'element-plus'
31
32
  import fsPreviewNew from './fs-preview-new.vue'
32
33
  const props = defineProps({
34
+ openFsUpload:{
35
+ type: Boolean,
36
+ default: true
37
+ },
33
38
  systemCode: {
34
39
  type: String,
35
40
  default: ''
@@ -10,6 +10,7 @@
10
10
  :headers="headers"
11
11
  :action="defaultAction"
12
12
  :multiple="multiple"
13
+ :disabled="!openFsUpload"
13
14
  :before-upload="handleBeforeUpload"
14
15
  :before-remove="beforeRemove"
15
16
  :on-success="onSuccess"
@@ -33,6 +34,10 @@ import { getToken } from '../../../src/utils/auth'
33
34
  import type { UploadFile, UploadFiles } from 'element-plus'
34
35
  import fsPreviewNew from './fs-preview-new.vue'
35
36
  const props = defineProps({
37
+ openFsUpload:{
38
+ type: Boolean,
39
+ default: true
40
+ },
36
41
  systemCode: {
37
42
  type: String,
38
43
  default: ''
@@ -5,6 +5,7 @@
5
5
  :row="entity"
6
6
  :disabled="disabled"
7
7
  :fileInfo="fileInfo"
8
+ :openFsUpload="openFsUpload"
8
9
  :fileSetObj="{ accept: accept, multiple: multiple, limitFileSize: limitFileSize }"
9
10
  @upload-success="onInputUploadSuccess"
10
11
  @delete-success="onInputDeleteSuccess"
@@ -29,6 +30,7 @@
29
30
  :beforeDownload="beforeDownload"
30
31
  :pageContext="pageContext"
31
32
  :configure="configure"
33
+ :openFsUpload="openFsUpload"
32
34
  />
33
35
  <fs-drag-upload
34
36
  v-else-if="displayType === 'drag'"
@@ -50,6 +52,7 @@
50
52
  :beforeDownload="beforeDownload"
51
53
  :pageContext="pageContext"
52
54
  :configure="configure"
55
+ :openFsUpload="openFsUpload"
53
56
  />
54
57
  </template>
55
58
  <script setup lang="ts">
@@ -57,6 +60,10 @@ import FsDragUpload from './fs-drag-upload.vue'
57
60
  import FsButtonUpload from './fs-button-upload.vue'
58
61
  import { ref, defineProps } from 'vue'
59
62
  const props = defineProps({
63
+ openFsUpload:{
64
+ type: Object,
65
+ default: true
66
+ },
60
67
  entity: {
61
68
  type: Object,
62
69
  default: () => {
@@ -174,6 +174,11 @@ export default {
174
174
  type: String,
175
175
  default: ',',
176
176
  },
177
+ // 是否打开树
178
+ openTree:{
179
+ type: Boolean,
180
+ default: true,
181
+ }
177
182
  },
178
183
  data() {
179
184
  return {
@@ -194,17 +199,19 @@ export default {
194
199
  },
195
200
  // 打开组织树
196
201
  showOrganizationTree() {
197
- let isMulti = this.multiple
198
- if (typeof isMulti === 'undefined') {
199
- isMulti = false
200
- }
201
- if (isMulti === true) {
202
- // 多选时才需要显示结果集合
203
- this.getSelectInfo()
204
- }
205
- this.$emit('focus')
206
- this.showOrganizationTreeFlag = true
207
- this.$emit('show-tree')
202
+ if (this.openTree){
203
+ let isMulti = this.multiple
204
+ if (typeof isMulti === 'undefined') {
205
+ isMulti = false
206
+ }
207
+ if (isMulti === true) {
208
+ // 多选时才需要显示结果集合
209
+ this.getSelectInfo()
210
+ }
211
+ this.$emit('focus')
212
+ this.showOrganizationTreeFlag = true
213
+ this.$emit('show-tree')
214
+ }
208
215
  },
209
216
  getPropName(prop, isJoinTable, tableName) {
210
217
  return getPropNameWhenJoinTable(prop, isJoinTable, tableName)
@@ -131,7 +131,7 @@ export default {
131
131
  toolbar: {
132
132
  type: [String, Array],
133
133
  default:
134
- ' undo redo | formatselect fontsizeselect bold italic strikethrough underline hr forecolor backcolor | image | ' +
134
+ ' undo redo | formatselect fontsizeselect bold italic strikethrough underline hr forecolor backcolor| link | image | ' +
135
135
  ' lineheight bullist numlist table | print fullscreen preview ',
136
136
  },
137
137
  },
@@ -131,7 +131,7 @@ const apis = {
131
131
  }
132
132
  },
133
133
  // 新建行
134
- createRow(listCode, row) {
134
+ createRow(listCode, row, options) {
135
135
  return new Promise((resolve, reject) => {
136
136
  if (!listCode) {
137
137
  listCode = store.get('_list_code')
@@ -245,7 +245,9 @@ const apis = {
245
245
  gridParams.defaultValueColumns,
246
246
  gridParams.additionalParamMap,
247
247
  gridParams.contextParameter,
248
- row
248
+ row,
249
+ listCode,
250
+ options?options.getDefaultValueFunc: null
249
251
  )
250
252
 
251
253
  // console.log('创建行记录要添加的新行1', row)
@@ -356,7 +358,8 @@ const apis = {
356
358
  additionalParamMap,
357
359
  contextParameter,
358
360
  row,
359
- listCode
361
+ listCode,
362
+ getDefaultValueFunc
360
363
  ) {
361
364
  if (!row) {
362
365
  row = {}
@@ -366,7 +369,7 @@ const apis = {
366
369
  }
367
370
  const gridParams = store.get(listCode)
368
371
  if (gridParams && gridParams.allColumns) {
369
- this.setColumnsDefaultValue(gridParams.allColumns, row)
372
+ this.setColumnsDefaultValue(gridParams.allColumns, row, gridParams, getDefaultValueFunc)
370
373
  }
371
374
  if (defaultValueColumns && defaultValueColumns.length > 0) {
372
375
  for (var i = 0; i < defaultValueColumns.length; i++) {
@@ -401,7 +404,7 @@ const apis = {
401
404
  return row
402
405
  },
403
406
  // 设置默认值null
404
- setColumnsDefaultValue(allColumns, row) {
407
+ setColumnsDefaultValue(allColumns, row, gridParams, getDefaultValueFunc) {
405
408
  for (let i = 0; i < allColumns.length; i++) {
406
409
  const column = allColumns[i]
407
410
  const prop = column.prop
@@ -414,7 +417,18 @@ const apis = {
414
417
  } else {
415
418
  if (row[prop] === undefined) {
416
419
  // 不是操作列,才需要设值
417
- setEntityFieldValue(row, prop, null)
420
+ const defaultValueSet = column.defaultValue
421
+ let defaultValue = null
422
+ console.log('setColumnsDefaultValue111------')
423
+ if(!getDefaultValueFunc) {
424
+ console.log('setColumnsDefaultValue22---getDefaultValueFunc222---')
425
+ defaultValue = getDefaultValueFunc(gridParams.pageContext, defaultValueSet, null, null)
426
+ console.log('setColumnsDefaultValue33---defaultValue---', defaultValue)
427
+ if(defaultValue === undefined) {
428
+ defaultValue = null
429
+ }
430
+ }
431
+ setEntityFieldValue(row, prop, defaultValue)
418
432
  }
419
433
  }
420
434
  }
@@ -1346,5 +1360,21 @@ const apis = {
1346
1360
  }
1347
1361
  }
1348
1362
  },
1363
+ refreshChildData(listCode, gridData, isShowPageArea) {
1364
+ const gridParams = store.get(listCode)
1365
+ if (isShowPageArea === undefined ||
1366
+ isShowPageArea === null ||
1367
+ isShowPageArea === false) {
1368
+ // 子表不分页
1369
+ // console.log('refreshChildData111====', listCode + 'listCode', gridData)
1370
+ gridParams.gridData = gridData
1371
+ this.gridData = gridData
1372
+ } else {
1373
+ // 子表分页
1374
+ // console.log('refreshChildData222====', listCode + 'listCode', gridData)
1375
+ gridParams.subTableData = gridData
1376
+ this.subTableData = gridData
1377
+ }
1378
+ }
1349
1379
  }
1350
1380
  export default apis
@@ -270,19 +270,21 @@
270
270
  :title="getMyHyperLinkSetting(scope.row).title"
271
271
  class="ellipsis cell--span"
272
272
  >{{ getMyHyperLinkSetting(scope.row).label
273
- }}<i
274
- v-if="getMyHyperLinkSetting(scope.row).icon"
275
- :class="getMyHyperLinkSetting(scope.row).icon"
276
- /></span>
273
+ }}
274
+ <el-icon v-if="getMyHyperLinkSetting(scope.row).icon">
275
+ <component :is="getMyHyperLinkSetting(scope.row).icon"/>
276
+ </el-icon>
277
+ </span>
277
278
  <span
278
279
  v-else
279
280
  :id="column.prop + 'DomData' + scope.$index"
280
281
  class="cell--span"
281
282
  >{{ getMyHyperLinkSetting(scope.row).label
282
- }}<i
283
- v-if="getMyHyperLinkSetting(scope.row).icon"
284
- :class="getMyHyperLinkSetting(scope.row).icon"
285
- /></span>
283
+ }}
284
+ <el-icon v-if="getMyHyperLinkSetting(scope.row).icon">
285
+ <component :is="getMyHyperLinkSetting(scope.row).icon"/>
286
+ </el-icon>
287
+ </span>
286
288
  </el-link>
287
289
  <span
288
290
  v-else-if="isShowOverflowTooltip"
@@ -378,19 +380,21 @@
378
380
  :title="$escapeHtml(getMyHyperLinkSetting(scope.row).title)"
379
381
  class="ellipsis cell--span"
380
382
  >{{ $escapeHtml(getMyHyperLinkSetting(scope.row).label)
381
- }}<i
382
- v-if="getMyHyperLinkSetting(scope.row).icon"
383
- :class="getMyHyperLinkSetting(scope.row).icon"
384
- /></span>
383
+ }}
384
+ <el-icon v-if="getMyHyperLinkSetting(scope.row).icon">
385
+ <component :is="getMyHyperLinkSetting(scope.row).icon"/>
386
+ </el-icon>
387
+ </span>
385
388
  <span
386
389
  v-else
387
390
  :id="column.prop + 'DomData' + scope.$index"
388
391
  class="cell--span"
389
392
  >{{ $escapeHtml(getMyHyperLinkSetting(scope.row).label)
390
- }}<i
391
- v-if="getMyHyperLinkSetting(scope.row).icon"
392
- :class="getMyHyperLinkSetting(scope.row).icon"
393
- /></span>
393
+ }}
394
+ <el-icon v-if="getMyHyperLinkSetting(scope.row).icon">
395
+ <component :is="getMyHyperLinkSetting(scope.row).icon"/>
396
+ </el-icon>
397
+ </span>
394
398
  </el-link>
395
399
  <!-- 富文本 -->
396
400
  <span
@@ -474,7 +478,7 @@ import ViewImageDialog from './view-image-dialog.vue'
474
478
  import eventBus from './eventBus'
475
479
  import FsPreview from '../../fs-preview'
476
480
  import RichEditorViewer from '../../rich-editor/viewer.vue'
477
- import GridIcon from './components/grid-icon'
481
+ import GridIcon from './components/grid-icon.vue'
478
482
  export default {
479
483
  components: {
480
484
  DynamicInput,
@@ -48,6 +48,7 @@
48
48
 
49
49
  <script>
50
50
  import { $on, $off, $once, $emit } from '../../utils/gogocodeTransfer'
51
+ import eventBus from './eventBus'
51
52
  export default {
52
53
  props: {
53
54
  r: {
@@ -87,6 +88,16 @@ export default {
87
88
  number2,
88
89
  }
89
90
  },
91
+ mounted() {
92
+ // 查询条件重置时,数值区间组件的值需要清空
93
+ eventBus.$on('reset', () => {
94
+ this.number1 = null
95
+ this.number2 = null
96
+ })
97
+ },
98
+ destroyed() {
99
+ eventBus.$off('reset')
100
+ },
90
101
  watch: {
91
102
  itemValue: {
92
103
  deep: true,
@@ -99,7 +99,7 @@ import {$on, $off, $once, $emit} from '../../utils/gogocodeTransfer'
99
99
  import searchMethods from './search-methods'
100
100
  // import searchFormNumber from './search-form-number.vue'
101
101
  import searchFormOrdinarySearch from './search-form-ordinarySearch.vue'
102
- import searchFormAdvancedQuery from './search-form-advancedQuery'
102
+ import searchFormAdvancedQuery from './search-form-advancedQuery.vue'
103
103
  import store from './store'
104
104
  // import { isOptionFunction, getSearchObject } from './utils'
105
105
  import {addDynamicProp, addDynamicPropDateSection} from './utils'
@@ -514,6 +514,8 @@ export default {
514
514
  this.$refs.searchFormAdvancedQuery.resetForm()
515
515
  $emit(this, 'reset')
516
516
  }
517
+ // 数值区间组件重置时无法清空值问题
518
+ eventBus.$emit('reset')
517
519
  // 子组件重置完成后调用reset方法 同步执行
518
520
  // this.$emit('reset')
519
521
  },
@@ -74,7 +74,7 @@
74
74
  >
75
75
  <template v-if="myCustomFormatter">
76
76
  <component
77
- :is="getComponentType(column.prop)"
77
+ :is="getComponentType(column)"
78
78
  v-for="(column, index) in visibleColumns"
79
79
  :ref="column.prop"
80
80
  :key="column.label + index"
@@ -82,7 +82,7 @@
82
82
  :is-sql="isSql"
83
83
  :list-code="code"
84
84
  :custom-format="
85
- getComponentType(column.prop) === 'GroupColumn'
85
+ getComponentType(column) === 'GroupColumn'
86
86
  ? myCustomFormatter
87
87
  : myCustomFormatter[column.prop]
88
88
  "
@@ -108,7 +108,7 @@
108
108
  </template>
109
109
  <template v-else>
110
110
  <component
111
- :is="getComponentType(column.prop)"
111
+ :is="getComponentType(column)"
112
112
  v-for="(column, index) in visibleColumns"
113
113
  :ref="column.prop"
114
114
  :key="column.label + index"
@@ -2288,7 +2288,8 @@ export default {
2288
2288
  }
2289
2289
  return searchParam
2290
2290
  },
2291
- getComponentType(prop) {
2291
+ getComponentType (column) {
2292
+ const prop = column
2292
2293
  let type = 'NormalColumn'
2293
2294
  if (prop === '$index') {
2294
2295
  type = 'IndexColumn'
@@ -2296,7 +2297,7 @@ export default {
2296
2297
  // 设置选中行时使用
2297
2298
  store.get(this.code).isMulitiSelect = true
2298
2299
  type = 'SelectionColumn'
2299
- } else if (prop === undefined) {
2300
+ } else if (prop === undefined && column.children && column.children.length > 0) {
2300
2301
  type = 'GroupColumn'
2301
2302
  }
2302
2303
  // console.log('%c描述-180428','color:#2E3435;background:#F8BB07;padding:3px;border-radius:2px',this.myCustomFormatter);
@@ -184,11 +184,17 @@ function getUserPermissionMenusBySystemCode(systemCode) {
184
184
  * @returns
185
185
  */
186
186
  function getDevPlatformPermissions(roleCodes) {
187
+ let systemCode
188
+ if (window.$vueApp.config.globalProperties.customSystem) {
189
+ systemCode = window.$vueApp.config.globalProperties.customSystem
190
+ } else {
191
+ systemCode = window.$vueApp.config.globalProperties.systemCode
192
+ }
187
193
  return request.get(
188
194
  window.$vueApp.config.globalProperties.baseAPI +
189
195
  '/component/devp-permissions?roleCodes=' +roleCodes +
190
196
  '&_t=' +
191
- new Date().getTime()
197
+ new Date().getTime() + '&systemCode=' + systemCode
192
198
  )
193
199
  }
194
200
 
@@ -76,10 +76,12 @@ const cn = {
76
76
  fileUpload: '文件上传',
77
77
  selectYear: '选择年',
78
78
  search: '查询',
79
- forbiddenException: '您没有权限访问该资源',
79
+ forbiddenException: '您没有权限访问',
80
80
  theButtonIsNotBoundToAResource: '该按钮未绑定资源,请先绑定资源',
81
81
  asyncExport: '正在异步导出,请等待消息通知!',
82
82
  selectedWorkingGroup: '已选工作组',
83
+ forbiddenExceptionLinkUrl: '请点击进行权限申请',
84
+ forbiddenExceptionLinkUser: '如有疑问请联系'
83
85
  },
84
86
  // 列表组件
85
87
  superGrid: {
@@ -77,11 +77,13 @@ const en = {
77
77
  fileUpload: 'File Upload',
78
78
  selectYear: 'Select Year',
79
79
  search: 'Search',
80
- forbiddenException: 'You do not have permission to access this resource',
80
+ forbiddenException: 'You do not have permission to access',
81
81
  theButtonIsNotBoundToAResource:
82
82
  'The button is not bound to a resource, Bind the resource first',
83
83
  asyncExport: 'Asynchronous export, please wait for message notification!',
84
84
  selectedWorkingGroup: 'Selected working group',
85
+ forbiddenExceptionLinkUrl: 'please click to apply',
86
+ forbiddenExceptionLinkUser: 'if you have any questions,please contact'
85
87
  },
86
88
  superGrid: {
87
89
  columnConfig: 'Column Config',
@@ -19,26 +19,21 @@
19
19
  border-color: $--button-primary-btn-color;
20
20
  }
21
21
 
22
- .operation-area .el-button--primary {
23
- border-radius: 4px;
24
- background: $--button-primary-btn-color;
25
- border-color: $--button-primary-btn-color;
26
- }
27
-
28
- .operation-area .el-button--primary:hover{
29
- color: $--button-primary-btn-color;
30
- background: $--button-primary-btn-color;
31
- }
32
-
33
22
  .button--default {
34
23
  border-radius: 4px;
35
24
  border-color: $--color-primary;
36
25
  color: $--color-primary;
37
26
  }
38
27
 
28
+ .button--default:hover{
29
+ color: $--color-primary;
30
+ background-color: $--color-hover;
31
+ border-color: $--color-primary;
32
+ }
33
+
39
34
  .menuDownBtn .el-button-group .el-button {
40
- border-color: #005eba;
41
- color: #005eba;
35
+ border-color: $--button-default-border-color;
36
+ color: $--button-default-font-color;
42
37
  }
43
38
 
44
39
  .is-plain {
@@ -80,4 +75,30 @@
80
75
  .el-radio__input.is-checked + .el-radio__label {
81
76
  color: $--color-primary;
82
77
  }
78
+
79
+ //下拉菜单
80
+ .el-dropdown__list .el-dropdown-menu .el-dropdown-menu__item:hover{
81
+ color: $--select-font-color;
82
+ background-color: $th-cell-background;
83
+ }
84
+
85
+ //警告按钮
86
+ .el-button--danger{
87
+ background-color: #FFFFFF;
88
+ color: #8C8C8C;
89
+ border: 1px solid #E3E3E3;
90
+ }
91
+ //工作流结束按钮
92
+ .workflow-end-button{
93
+ background-color: #ee6666;
94
+ border-color: #ee6666;
95
+ color: #FFFFFF;
96
+ }
97
+ //撤回按钮
98
+ .button--return {
99
+ background-color: #FFFFFF;
100
+ color: #8C8C8C;
101
+ border: 1px solid #E3E3E3;
102
+ }
103
+
83
104
  }
@@ -1,3 +1,4 @@
1
+ @import "./ocean-blue.scss";
1
2
  .ocean-blue {
2
3
  $titleColor: rgba(0, 0, 0, 0.85);
3
4
 
@@ -43,11 +44,12 @@
43
44
  .platform-card {
44
45
  .el-card__header {
45
46
  height: 40px;
46
- background: #F0F8FE;
47
- color: #005EBA;
47
+ background: $--card-header-color;
48
+ color: #333333;
48
49
  font-family: Source Han Sans CN;
49
50
  font-weight: medium;
50
51
  font-size: 14px;
52
+ font-weight: bold;
51
53
  text-align: left;
52
54
  padding: 9px 0px 9px 20px;
53
55
  }
@@ -55,6 +57,10 @@
55
57
  .el-card__header>div {
56
58
  line-height: 22px;
57
59
  }
60
+ .el-card__header>div>span {
61
+ border-left: 3px solid $--color-primary;
62
+ padding-left: 5px;
63
+ }
58
64
  }
59
65
  .card-style {
60
66
  width: 100%;
@@ -7,4 +7,7 @@
7
7
  background-color: $--color-primary;
8
8
  border-color: $--color-primary;
9
9
  }
10
+ .el-checkbox-group .is-checked .el-checkbox__label{
11
+ color: $--color-primary;
12
+ }
10
13
  }
@@ -5,6 +5,7 @@
5
5
  @import './card.scss';
6
6
  @import './tab.scss';
7
7
  @import './input.scss';
8
+ @import './select.scss';
8
9
  @import './form.scss';
9
10
  @import './pagination.scss';
10
11
  @import './button.scss';
@@ -1,6 +1,7 @@
1
1
  /* 改变主题色变量 */
2
2
  $--color-primary: #0089BA;
3
3
  $--color-hover: #ebf6f9;
4
+ $--color-card: #E5EFFF;
4
5
  $--button-default-border-color: $--color-primary;
5
6
  $--button-default-font-color: $--color-primary;
6
7
  $--button-font-weight: regular;
@@ -10,6 +11,8 @@ $--button-primary-btn-color: #05a0da;
10
11
  $--menu-dont-color: $--color-primary;
11
12
  //选中的字体颜色
12
13
  $--select-font-color: $--color-primary;
14
+ //卡片头部颜色
15
+ $--card-header-color: $--color-card;
13
16
 
14
17
  $--menu-hove-background-color: $--color-hover;
15
18
  $--button-opt-background-color: #0780ED;
@@ -0,0 +1,6 @@
1
+ @import "./ocean-blue.scss";
2
+ .ocean-blue {
3
+ .el-select-dropdown__list .is-selected{
4
+ color: $--select-font-color;
5
+ }
6
+ }