imatrix-ui 2.9.9-dw → 2.9.11-dw

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": "imatrix-ui",
3
- "version": "2.9.9-dw",
3
+ "version": "2.9.11-dw",
4
4
  "description": "前端组件库:表格、表单、组织结构树等",
5
5
  "main": "lib/super-ui.umd.min.js",
6
6
  "private": false,
@@ -145,6 +145,8 @@ const apis = {
145
145
  if (editRows && editRows.length > 0) {
146
146
  editRows.forEach(editRow => {
147
147
  setEntityFieldValue(editRow, '$editing', false)
148
+ // 取消上一行选中状态时,触发un-edit事件,处理下拉多选选项组问题
149
+ eventBus.$emit('un-edit', { row: editRow })
148
150
  // Vue.set(editRow, '$editing', false)
149
151
  })
150
152
  }
@@ -758,6 +760,49 @@ const apis = {
758
760
  }
759
761
  const gridParams = store.get(listCode)
760
762
  return gridParams.pagination
763
+ },
764
+ // 获得该列表中,下拉选是选项组的字段信息,返回的key是属性名,value是选项集合
765
+ getOptionsValueSet(listCode) {
766
+ const result = {}
767
+ if (!listCode) {
768
+ listCode = store.get('_list_code')
769
+ }
770
+ const gridParams = store.get(listCode)
771
+ const columns = gridParams.columns
772
+ columns.forEach(col => {
773
+ if (col.valueSet && col.valueSet.length > 0) {
774
+ result[col.prop] = col.valueSet
775
+ }
776
+ })
777
+ return result
778
+ },
779
+ // 取消列表的编辑状态
780
+ restoreGridEdit(listCode) {
781
+ if (!listCode) {
782
+ listCode = store.get('_list_code')
783
+ }
784
+ const gridParams = store.get(listCode)
785
+ if (gridParams.options && gridParams.options.isFormSubTable) {
786
+ const isSubTableShowPage = gridParams.isSubTableShowPage
787
+ let gridData = []
788
+ if (isSubTableShowPage) {
789
+ gridData = gridParams.subTableData
790
+ } else {
791
+ gridData = gridParams.gridData
792
+ }
793
+ if (gridData && gridData.length > 0) {
794
+ for (let i = 0; i < gridData.length; i++) {
795
+ const row = gridData[i]
796
+ // 取消最后一个编辑行的状态
797
+ if (row.$editing !== undefined && row.$editing === true) {
798
+ setEntityFieldValue(row, '$editing', false)
799
+ // 取消上一行选中状态时,触发un-edit事件,处理下拉多选选项组问题
800
+ eventBus.$emit('un-edit', { row: row })
801
+ break
802
+ }
803
+ }
804
+ }
805
+ }
761
806
  }
762
807
  }
763
808
  export default apis
@@ -225,6 +225,7 @@ import searchFormDialog from './search-form-dialog'
225
225
  import {
226
226
  setEntityFieldValue
227
227
  } from '../../../src/utils/util'
228
+ import eventBus from './eventBus'
228
229
  import {
229
230
  getSpanValuesForColumn,
230
231
  getFirstEditableColumn,
@@ -1356,11 +1357,11 @@ export default {
1356
1357
  // 子表无记录时不需要刷新子表记录。表示是新建或修改时子表无记录,且不需要刷新子表。
1357
1358
  if (
1358
1359
  this.isSubTableEmpty(gridParams)
1359
- ){
1360
+ ) {
1360
1361
  // 表示是新建表单时,子表记录集合是空数组
1361
1362
  console.log('子表无记录----code=', this.code, gridParams)
1362
1363
  const subTableData = []
1363
- this.packageSubTableData(gridParams,subTableData)
1364
+ this.packageSubTableData(gridParams, subTableData)
1364
1365
  }
1365
1366
  this.hasLoadData = true
1366
1367
  gridParams.loaded = true
@@ -1368,7 +1369,7 @@ export default {
1368
1369
  }
1369
1370
  }
1370
1371
  },
1371
- isSubTableEmpty (gridParams) {
1372
+ isSubTableEmpty(gridParams) {
1372
1373
  return gridParams.options && gridParams.options.isFormSubTable &&
1373
1374
  ((gridParams.options.subTableData === undefined || gridParams.options.subTableData === null) ||
1374
1375
  gridParams.options.subTableData.length === 0)
@@ -1416,7 +1417,7 @@ export default {
1416
1417
  JSON.parse(JSON.stringify(this.gridData))
1417
1418
  )
1418
1419
  },
1419
- canRefreshTableData (gridParams) {
1420
+ canRefreshTableData(gridParams) {
1420
1421
  let isCanRefreshTableData = false
1421
1422
  if (gridParams.options && !gridParams.options.isFormSubTable) {
1422
1423
  // 如果不是子表时
@@ -2505,6 +2506,12 @@ export default {
2505
2506
  const validateRules = formValidatorService.getValidator(this.code)
2506
2507
  for (let i = 0; i < gridData.length; i++) {
2507
2508
  const row = gridData[i]
2509
+ // 取消最后一个编辑行的状态
2510
+ if (row.$editing !== undefined && row.$editing === true) {
2511
+ setEntityFieldValue(row, '$editing', false)
2512
+ // 取消上一行选中状态时,触发un-edit事件,处理下拉多选选项组问题
2513
+ eventBus.$emit('un-edit', { row: row })
2514
+ }
2508
2515
  let needValidate = true
2509
2516
  if (isHasEditOption('isEnableValidate', this.code)) {
2510
2517
  // 表示配置了是否启用必填验证
@@ -2574,6 +2581,8 @@ export default {
2574
2581
  if (editRows && editRows.length > 0) {
2575
2582
  editRows.forEach(editRow => {
2576
2583
  setEntityFieldValue(editRow, '$editing', false)
2584
+ // 取消上一行选中状态时,触发un-edit事件,处理下拉多选选项组问题
2585
+ eventBus.$emit('un-edit', { row: editRow })
2577
2586
  // this.$set(editRow, '$editing', false)
2578
2587
  })
2579
2588
  }