doway-coms 2.1.5 → 2.1.7

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": "doway-coms",
3
- "version": "2.1.5",
3
+ "version": "2.1.7",
4
4
  "description": "doway组件库",
5
5
  "author": "dowaysoft",
6
6
  "main": "packages/index.js",
@@ -236,6 +236,25 @@
236
236
  </a-select>
237
237
  </div>
238
238
  </template>
239
+ <template #multiSelect_edit="scope">
240
+ <div class="interceptor-class">
241
+ <a-select
242
+ v-model="scope.row[scope.column.property]"
243
+ @change="cellValueChange(scope)"
244
+ mode="multiple"
245
+ size="small"
246
+ :max-tag-count="scope.column.params.maxTagCount"
247
+ class="inner-cell-control"
248
+ >
249
+ <a-select-option
250
+ v-for="loopSource in scope.column.params.dataSource"
251
+ :key="loopSource.value"
252
+ :value="loopSource.value"
253
+ >{{ loopSource.caption }}</a-select-option
254
+ >
255
+ </a-select>
256
+ </div>
257
+ </template>
239
258
  <template #time_edit="scope" class="interceptor-class">
240
259
  <div class="interceptor-class">
241
260
  <a-time-picker
@@ -516,6 +535,48 @@
516
535
  <a-button @click="filterConfirm(scope.column)">确认</a-button>
517
536
  </div>
518
537
  </template>
538
+ <template #multiSelect_filter="scope">
539
+ <div class="interceptor-class">
540
+ <a-checkbox-group
541
+ v-model="scope.column.filters[0].data.displayValues"
542
+ @keyup.enter.native="filterConfirm(scope.column)"
543
+ >
544
+ <a-input
545
+ placeholder="请输入搜索内容"
546
+ @change="displayValueSearchTextChange(scope.column)"
547
+ v-model="scope.column.filters[0].data.displayValueSearchText"
548
+ :addon-before="
549
+ '已选' + scope.column.filters[0].data.displayValues.length
550
+ "
551
+ />
552
+ <div style="max-height: 200px; overflow-y: scroll">
553
+ <div
554
+ style="text-align: left"
555
+ v-for="loopSource in scope.column.params.dataSource"
556
+ :key="loopSource.value"
557
+ >
558
+ <a-checkbox
559
+ v-show="
560
+ loopSource.caption.indexOf(
561
+ scope.column.filters[0].data.displayValueSearchText
562
+ ) > -1
563
+ "
564
+ :value="loopSource.value"
565
+ style="margin: 5px 0"
566
+ >{{ loopSource.caption }}
567
+ </a-checkbox>
568
+ </div>
569
+ </div>
570
+ </a-checkbox-group>
571
+ <br />
572
+ <a-button
573
+ @click="saveFilterTable(scope.column)"
574
+ v-if="moduleCode && dataCode"
575
+ >默认配置</a-button
576
+ >
577
+ <a-button @click="filterConfirm(scope.column)">确认</a-button>
578
+ </div>
579
+ </template>
519
580
  <template #checkbox_filter="scope">
520
581
  <div class="interceptor-class">
521
582
  <a-checkbox-group
@@ -685,6 +746,7 @@ import BaseGridAdjust from '../../BaseGridAdjust/index'
685
746
  import { saveUserModuleDataFieldApi } from '../../utils/api'
686
747
  import { gridDefaultValueDisplay } from '../../utils/filters'
687
748
  import SeqSetting from './SeqSetting'
749
+ import request from '../../utils/request'
688
750
  export default {
689
751
  name: 'BaseGrid',
690
752
  components: {
@@ -1253,7 +1315,8 @@ export default {
1253
1315
  // }
1254
1316
  } else if (
1255
1317
  tempControlType === controlType.dropmulti ||
1256
- tempControlType === controlType.select
1318
+ tempControlType === controlType.select ||
1319
+ tempControlType === controlType.multiSelect
1257
1320
  ) {
1258
1321
  //下拉多选
1259
1322
  tempExpTag.expressions.push({
@@ -1742,6 +1805,37 @@ export default {
1742
1805
  colParams['replaceFields'] = originCol.replaceFields
1743
1806
  colParams['field'] = originCol.field
1744
1807
  }
1808
+ if (originCol.controlType === controlType.multiSelect) {
1809
+ colParams['controlEdit'] = true
1810
+ if (originCol.maxTagCount) {
1811
+ colParams['maxTagCount'] = originCol.maxTagCount
1812
+ } else {
1813
+ colParams['maxTagCount'] = 1
1814
+ }
1815
+ if (originCol.isLocal) {
1816
+ colParams['dataSource'] = originCol.dataSource
1817
+ } else {
1818
+ let postData = {
1819
+ begin: 1,
1820
+ size: 0,
1821
+ expression: { expressions: [], operator: 'and' },
1822
+ sorts: [],
1823
+ }
1824
+ request({
1825
+ data: postData,
1826
+ method: 'post',
1827
+ url: originCol.api,
1828
+ }).then((res) => {
1829
+ console.log(res)
1830
+ colParams['dataSource'] = XEUtils.map(res.content, (item) => {
1831
+ return {
1832
+ value: item[originCol.value],
1833
+ caption: item[originCol.caption],
1834
+ }
1835
+ })
1836
+ })
1837
+ }
1838
+ }
1745
1839
  if (originCol.controlType === controlType.text) {
1746
1840
  colParams['controlEdit'] = true
1747
1841
  }
@@ -2064,14 +2158,16 @@ export default {
2064
2158
  displayValues: [],
2065
2159
  displayValueSearchText: '',
2066
2160
  }
2067
- } else{
2068
- loopCol.filters = [{
2069
- data: {
2070
- bindingValues: [],
2071
- displayValues: [],
2072
- displayValueSearchText: '',
2161
+ } else {
2162
+ loopCol.filters = [
2163
+ {
2164
+ data: {
2165
+ bindingValues: [],
2166
+ displayValues: [],
2167
+ displayValueSearchText: '',
2168
+ },
2073
2169
  },
2074
- }]
2170
+ ]
2075
2171
  }
2076
2172
  }
2077
2173
  find.extraInfo.order
@@ -2614,12 +2710,13 @@ export default {
2614
2710
  ) {
2615
2711
  if (column.params && column.params.route) {
2616
2712
  let tempRouteName = column.params.route.name
2617
- let tempRouteQuery = column.params.route.field
2713
+ let tempRouteQuery = row[column.params.route.field]
2618
2714
  if (XEUtils.isArray(tempRouteName)) {
2619
2715
  //需要不同条件跳转不同页面
2620
2716
  for (let i = 0; i < tempRouteName.length; i++) {
2621
2717
  if (tempRouteName[i].value === row[tempRouteName[i].field]) {
2622
- tempRouteQuery = row[tempRouteName[i].query] || row[column.params.route.field]
2718
+ tempRouteQuery =
2719
+ row[tempRouteName[i].query] || row[column.params.route.field]
2623
2720
  tempRouteName = tempRouteName[i].name
2624
2721
  break
2625
2722
  }
@@ -2765,6 +2862,7 @@ export default {
2765
2862
  colInfo.filters[0].data.bindingValues = []
2766
2863
  XEUtils.arrayEach(colInfo.filters[0].data.displayValues, (item) => {
2767
2864
  if (
2865
+ colInfo.params.controlType === controlType.multiSelect ||
2768
2866
  colInfo.params.controlType === controlType.select ||
2769
2867
  colInfo.params.controlType === controlType.checkbox
2770
2868
  ) {
@@ -2833,7 +2931,10 @@ export default {
2833
2931
  if (tempDate[0] <= cellValue && cellValue <= tempDate[1]) {
2834
2932
  currentVisible = true
2835
2933
  }
2836
- } else if (column.params.controlType === controlType.select) {
2934
+ } else if (
2935
+ column.params.controlType === controlType.select ||
2936
+ column.params.controlType === controlType.multiSelect
2937
+ ) {
2837
2938
  // 下拉
2838
2939
  data.push(item)
2839
2940
  } else if (column.params.controlType === controlType.checkbox) {
@@ -2880,6 +2981,7 @@ export default {
2880
2981
 
2881
2982
  if (
2882
2983
  loopColInfo.params.controlType === controlType.select ||
2984
+ loopColInfo.params.controlType === controlType.multiSelect ||
2883
2985
  loopColInfo.params.controlType === controlType.checkbox
2884
2986
  ) {
2885
2987
  colFilterExpression.expressions.push({
@@ -2892,7 +2994,6 @@ export default {
2892
2994
  this.filterStr.push(tempStr)
2893
2995
  return
2894
2996
  }
2895
-
2896
2997
  XEUtils.arrayEach(filterBindingValues, (loopBindingValue) => {
2897
2998
  let tempPushExp = {
2898
2999
  field: loopColInfo.field,
@@ -2961,7 +3062,10 @@ export default {
2961
3062
  XEUtils.arrayEach(column.filters[0].data.bindingValues, (item) => {
2962
3063
  column.filters[0].data.displayValues.push(item)
2963
3064
  })
2964
- if (column.params.controlType !== controlType.select) {
3065
+ if (
3066
+ column.params.controlType !== controlType.select &&
3067
+ column.params.controlType !== controlType.multiSelect
3068
+ ) {
2965
3069
  column.filters[0].data.displayValues.push({
2966
3070
  value: [null, null],
2967
3071
  })
@@ -3101,7 +3205,10 @@ export default {
3101
3205
  tempDate.push(x.value[0]), tempDate.push(x.value[1])
3102
3206
  curretnArr.push(tempDate.join('~'))
3103
3207
  })
3104
- } else if (info.column.params.controlType === controlType.select) {
3208
+ } else if (
3209
+ info.column.params.controlType === controlType.select ||
3210
+ info.column.params.controlType === controlType.multiSelect
3211
+ ) {
3105
3212
  // 下拉
3106
3213
  returnOperator = '包含'
3107
3214
  displayValues.forEach((x) => {
@@ -3138,6 +3245,7 @@ export default {
3138
3245
  XEUtils.arrayEach(colInfo.filters[0].data.displayValues, (item) => {
3139
3246
  if (
3140
3247
  colInfo.params.controlType === controlType.select ||
3248
+ colInfo.params.controlType === controlType.multiSelect ||
3141
3249
  colInfo.params.controlType === controlType.checkbox
3142
3250
  ) {
3143
3251
  // 复选清空筛选初始数据过滤
@@ -60,7 +60,8 @@ export const sysRowState = {
60
60
  x_axis: 'x_axis',
61
61
  y_axis: 'y_axis',
62
62
  series: 'series',
63
- treeSelect: 'treeSelect'
63
+ treeSelect: 'treeSelect',
64
+ multiSelect: 'multiSelect'
64
65
  }
65
66
  export const dataType = {
66
67
  frame: 'frame',
@@ -447,12 +447,18 @@ export function gridDefaultValueDisplay(rowInfo,colInfo){
447
447
  case controlType.checkbox:
448
448
  displayValue = displayValue===true?'是':'否'
449
449
  break
450
- case controlType.select:
450
+ case controlType.select:
451
451
  const item = colInfo.params.dataSource.find(
452
452
  item => item.value === displayValue
453
453
  )
454
454
  displayValue = item ? item.caption :displayValue
455
- break
455
+ break
456
+ case controlType.multiSelect:
457
+ displayValue = XEUtils.map(displayValue, item => {
458
+ return XEUtils.find(colInfo.params.dataSource, loop => loop.value === item).caption
459
+ })
460
+ displayValue = displayValue.join(',')
461
+ break
456
462
 
457
463
  }
458
464
  return displayValue