doway-coms 1.6.84 → 1.6.86

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": "1.6.84",
3
+ "version": "1.6.86",
4
4
  "description": "doway组件库",
5
5
  "author": "dowaysoft",
6
6
  "main": "packages/index.js",
@@ -9,7 +9,7 @@
9
9
  ><a-icon slot="prefix" type="search" />
10
10
  </a-input>
11
11
  </div>
12
- <div :style="{ height: height-160+'px', overflow:'auto' }" class="field-content">
12
+ <div :style="{ height: height-250+'px', overflow:'auto' }" class="field-content">
13
13
  <div class="field-card">
14
14
  <div class="card-tltle">显示字段</div>
15
15
  <div ref="dragForm">
@@ -20,10 +20,10 @@
20
20
  :data-id="item.currentKey"
21
21
  class="drag-row show-sort"
22
22
  >
23
- <div style="margin-right: 7px;">
23
+ <div style="margin-right: 7px;" class="move">
24
24
  <img src="../../styles/icon/drag.svg" alt="" style="width: 20px" >
25
25
  </div>
26
- <div>{{ item.title }}</div>
26
+ <div style="flex: 1;" class="move">{{ item.title }}</div>
27
27
  <div style="margin-left: auto;"><a-switch v-model="item.visible" @change="onCheckboxChange(item)" size="small"/></div>
28
28
  </div>
29
29
  </div>
@@ -115,8 +115,12 @@ export default {
115
115
  this.setOptions()
116
116
  },
117
117
  methods: {
118
+ updateColumns(currentColumns) {
119
+ this.adjustUserDefineColumns = JSON.parse(JSON.stringify(currentColumns))
120
+ this.setColumnsOptions()
121
+ },
118
122
  setColumnsOptions() {
119
- this.adjustUserDefineColumns = this.userDefineColumns;
123
+ this.adjustUserDefineColumns = this.userDefineColumns
120
124
  // 设置唯一标识,用于保存时找到字段并重新排序
121
125
  this.adjustUserDefineColumns.forEach((x, index)=> x.currentKey = index + x.field)
122
126
  this.columns = [];
@@ -146,6 +150,7 @@ export default {
146
150
  vm.options = {
147
151
  group:'sortableDrag',
148
152
  animation: 200,
153
+ handle:".move",
149
154
  sort: true,
150
155
  filter: ".not-sort", // not-sort用来控制筛选时不可拖拽
151
156
  forceFallback: true, // 禁用html5原生拖拽行为,使得可以同时使用拖拽及鼠标滚轴
@@ -207,14 +212,6 @@ export default {
207
212
  })
208
213
  saveUserModuleDataFieldApi(postData)
209
214
  .then(res => {
210
- // 更改columns序号
211
- // vm.columns.forEach(column => {
212
- // let tempObject = postData.fields.find(x => x.field == column.field)
213
- // if (tempObject) {
214
- // column.sort = tempObject.sort
215
- // }
216
- // })
217
- // console.log('1',vm.columns);
218
215
  // 返回表格组件触发更新
219
216
  vm.$emit('saveSeqConfig',postData, res.content)
220
217
  })
@@ -242,8 +239,8 @@ export default {
242
239
  background-color: #f7f7f7;
243
240
  }
244
241
  .drag-row {
242
+ cursor: pointer;
245
243
  padding-right: 5px;
246
- font-size: 15px;
247
244
  height: 36px;
248
245
  display: flex;
249
246
  align-items: center;
@@ -266,6 +263,7 @@ export default {
266
263
  }
267
264
  .field-card {
268
265
  margin: 10px 10px 0px 0px;
266
+ font-size: 15px;
269
267
  .card-tltle {
270
268
  margin-bottom: 10px;
271
269
  }
@@ -1,7 +1,13 @@
1
1
  <template>
2
- <div :style="{ height: height - 40 + 'px' }">
3
- <div class="head-tag" v-if="tagData.length">
4
- <a-tag closable v-for="item in tagData" :key="item.column.field" @close="tagClosable(item.column)">
2
+ <div :style="{ height: height-tagHeight-10 + 'px' }">
3
+ <div class="head-tag" v-if="tagData.length" ref="tagView">
4
+ <a-tag
5
+ closable
6
+ v-for="item in tagData"
7
+ :key="item.column.field"
8
+ @close="tagClosable(item.column)"
9
+ @change="tagChange"
10
+ >
5
11
  <span>{{ tagContent(item) }} </span>
6
12
  </a-tag>
7
13
  <span style="color:#006cd9;cursor:pointer;font-size: 14px;" @click="clearFilter">清空</span>
@@ -90,6 +96,7 @@
90
96
  trigger="click"
91
97
  placement="rightTop"
92
98
  overlayClassName='popover-content-card'
99
+ style="top:40px"
93
100
  >
94
101
  <template slot="title">
95
102
  <div style="font-size: 17px;">表头设置</div>
@@ -512,7 +519,7 @@
512
519
  </div>
513
520
  </template>
514
521
  </VxeGrid>
515
- <VxeModal
522
+ <!-- <VxeModal
516
523
  v-model="showGridColumnUserDefine"
517
524
  title="表格布局设置"
518
525
  width="70%"
@@ -537,7 +544,7 @@
537
544
  确认
538
545
  </a-button>
539
546
  </template>
540
- </VxeModal>
547
+ </VxeModal> -->
541
548
  </div>
542
549
  </template>
543
550
  <script>
@@ -682,6 +689,7 @@ export default {
682
689
  filterExpression: [],
683
690
  filterStr: [],
684
691
  // 表格上方显示全部筛选条件
692
+ tagHeight: 0,
685
693
  tagData: [],
686
694
  // 默认配置条件-存储初始字段参数
687
695
  defaultPostData: {},
@@ -744,7 +752,7 @@ export default {
744
752
  props: {
745
753
  isSeqPopover: {
746
754
  type: Boolean,
747
- default: false,
755
+ default: true,
748
756
  },
749
757
  showOverFlow: {
750
758
  type: Boolean,
@@ -927,7 +935,16 @@ export default {
927
935
  beforeCreate() {
928
936
  this.simpleImage = Empty.PRESENTED_IMAGE_SIMPLE;
929
937
  },
930
-
938
+ watch: {
939
+ tagData: {
940
+ handler: function(newVal) {
941
+ this.$nextTick(()=>{
942
+ this.tagChange()
943
+ })
944
+ },
945
+ deep: true
946
+ }
947
+ },
931
948
  created() {
932
949
 
933
950
  try{
@@ -1035,6 +1052,10 @@ export default {
1035
1052
  })
1036
1053
  },
1037
1054
  methods: {
1055
+ tagChange() {
1056
+ if (!this.$refs.tagView) return
1057
+ this.tagHeight = this.$refs.tagView.offsetHeight
1058
+ },
1038
1059
  // 取消当前字段筛选
1039
1060
  tagClosable(colInfo) {
1040
1061
  colInfo.filters[0].data.bindingValues = [];
@@ -1819,7 +1840,6 @@ export default {
1819
1840
  ).item;
1820
1841
  tempCol.visible = loopCol.params.show;
1821
1842
  tempCol.width = loopCol.width;
1822
- // tempCol.width = colWidth;
1823
1843
  //设置顺序
1824
1844
  tempCol.params["tempCustomSort"] = tempData.sort;
1825
1845
  this.setCustomGridParentSort(
@@ -1866,6 +1886,8 @@ export default {
1866
1886
  },
1867
1887
  // 确认保存自定义表格信息,更新表格
1868
1888
  saveSeqConfig(emitColumns, resData) {
1889
+ // 深拷贝一份参数用来初始化后赋值筛选排序
1890
+ let seqColumns = JSON.parse(JSON.stringify(emitColumns))
1869
1891
  // 获取表格字段数据
1870
1892
  let tableCollectColumn = this.$refs.baseGrid.getTableColumn().collectColumn;
1871
1893
  // 表格排序信息更新
@@ -1873,6 +1895,7 @@ export default {
1873
1895
  const find = XEUtils.find(emitColumns.fields, item => loopCol.field === item.field)
1874
1896
  if (find) {
1875
1897
  loopCol.params.sort = find.sort
1898
+ loopCol.visible = !find.hidden
1876
1899
  }
1877
1900
  })
1878
1901
  //设置表格顺序
@@ -1882,8 +1905,24 @@ export default {
1882
1905
  );
1883
1906
  // 更新表格
1884
1907
  this.$refs.baseGrid.reloadColumn(tableCollectColumn)
1885
- this.userDefineColumns = this.tableCollectColumn
1886
- // this.$refs.baseAdjustGridView.setColumnsOptions()
1908
+ tableCollectColumn.forEach((loopCol) => {
1909
+ const find = XEUtils.find(seqColumns.fields, item => loopCol.field === item.field)
1910
+ if (!find) {
1911
+ return
1912
+ }
1913
+ find.extraInfo.filterExpression ?
1914
+ loopCol.filters = find.extraInfo.filterExpression :
1915
+ loopCol.filters[0].data = {
1916
+ bindingValues: [],
1917
+ displayValues: [],
1918
+ displayValueSearchText:''
1919
+ }
1920
+ find.extraInfo.order ?
1921
+ loopCol.order = find.extraInfo.order :
1922
+ loopCol.order = null
1923
+ loopCol.visible = !find.hidden
1924
+ })
1925
+ this.$refs.baseAdjustGridView.updateColumns(tableCollectColumn)
1887
1926
  //清空store缓存
1888
1927
  this.$store.commit(
1889
1928
  "SET_MODULE_VIEW_INFO",{
@@ -2562,7 +2601,7 @@ export default {
2562
2601
  colInfo.filters[0].data.bindingValues.push(item);
2563
2602
  this.$set(col.filters[0].data,'bindingValues',colInfo.filters[0].data.bindingValues)
2564
2603
  } else {
2565
- if (item.value[0] || item.value[1]) {
2604
+ if (item.value[0] || item.value[1]||item.value[0]==0||item.value[1]==0) {
2566
2605
  colInfo.filters[0].data.bindingValues.push(item);
2567
2606
  this.$set(col.filters[0].data,'bindingValues',colInfo.filters[0].data.bindingValues)
2568
2607
  }
@@ -2783,20 +2822,14 @@ export default {
2783
2822
  saveTableHeight() {
2784
2823
  let vm = this
2785
2824
  // 去除操作列和序号、多选框列
2786
- let showColumns = vm.$refs.baseGrid.getTableColumn().collectColumn
2787
- .filter(x=>
2788
- (x.field !== "operation") &&
2789
- (x.field !== undefined) &&
2790
- x.visible
2825
+ let resizeColumns = JSON.parse(JSON.stringify(
2826
+ vm.$refs.baseGrid.getTableColumn().collectColumn
2827
+ .filter(x=>
2828
+ (x.field !== "operation") &&
2829
+ (x.field !== undefined)
2830
+ )
2791
2831
  )
2792
- let notShowColumns = vm.$refs.baseGrid.getTableColumn().collectColumn
2793
- .filter(x=>
2794
- (x.field !== "operation") &&
2795
- (x.field !== undefined) &&
2796
- !x.visible
2797
- )
2798
- let resizeColumns = []
2799
- resizeColumns.push(...showColumns, ...notShowColumns)
2832
+ )
2800
2833
  // 保存参数
2801
2834
  let postData = {
2802
2835
  moduleCode: vm.moduleCode,
@@ -2804,24 +2837,37 @@ export default {
2804
2837
  fields: [],
2805
2838
  }
2806
2839
  resizeColumns.forEach((item, index)=> {
2840
+ item.width = item.resizeWidth ? item.resizeWidth : item.width
2841
+ // 获取初始字段筛选条件,用于避免赋值宽度将普通筛选条件加入默认筛选
2842
+ let tempObject = vm.defaultPostData.fields.find(x => x.field == item.field)
2807
2843
  let tempData = {
2808
2844
  field: item.field,
2809
2845
  sort: index + 1,
2810
2846
  hidden: !item.visible,
2811
- width: item.resizeWidth,
2847
+ width: item.width,
2812
2848
  extraInfo:{}
2813
2849
  }
2814
- if (item.filters && item.filters[0].data.bindingValues.length) {
2850
+ if (
2851
+ tempObject.extraInfo.filterExpression &&
2852
+ tempObject.extraInfo.filterExpression[0].data.bindingValues.length
2853
+ ) {
2815
2854
  item.filters[0].checked = true;
2816
- tempData.extraInfo.filterExpression = item.filters
2855
+ tempData.extraInfo.filterExpression = tempObject.extraInfo.filterExpression
2817
2856
  }
2818
- if (item.order) {
2819
- tempData.extraInfo.order = item.order
2857
+ if (tempObject.extraInfo.order) {
2858
+ tempData.extraInfo.order = tempObject.extraInfo.order
2820
2859
  }
2821
2860
  postData.fields.push(tempData)
2822
2861
  })
2823
2862
  saveUserModuleDataFieldApi(postData)
2824
- .then(res => {})
2863
+ .then(res => {
2864
+ // 更新默认参数
2865
+ vm.defaultPostData = postData
2866
+ // 更新拖拽弹窗数据,避免宽度改变失效
2867
+ if (vm.$refs.baseAdjustGridView) {
2868
+ vm.$refs.baseAdjustGridView.updateColumns(resizeColumns)
2869
+ }
2870
+ })
2825
2871
  .catch((err) => {
2826
2872
  console.debug(err)
2827
2873
  })
@@ -2829,9 +2875,12 @@ export default {
2829
2875
  // 头部筛选条件展示内容
2830
2876
  tagContent(info) {
2831
2877
  let displayValues = info.column.filters[0].data.displayValues
2878
+ // 筛选条件
2879
+ let returnOperator = null
2832
2880
  // 筛选条件重组数组
2833
2881
  let curretnArr = []
2834
2882
  if(info.column.params.controlType === controlType.number) {
2883
+ returnOperator = '范围'
2835
2884
  // 数字范围选择
2836
2885
  // 去除空值
2837
2886
  displayValues = displayValues.filter(f=>f.value[0])
@@ -2848,6 +2897,7 @@ export default {
2848
2897
  ) {
2849
2898
  // 日期范围选择
2850
2899
  // 去除空值
2900
+ returnOperator = '范围'
2851
2901
  displayValues = displayValues.filter(f=>f.value[0])
2852
2902
  displayValues.forEach(x=> {
2853
2903
  let tempDate = []
@@ -2857,16 +2907,19 @@ export default {
2857
2907
  })
2858
2908
  } else if (info.column.params.controlType === controlType.select) {
2859
2909
  // 下拉
2910
+ returnOperator = '包含'
2860
2911
  displayValues.forEach(x=> {
2861
2912
  let findValue = info.column.params.dataSource.find(f=>f.value == x)
2862
2913
  curretnArr.push(findValue?findValue.caption : x)
2863
2914
  })
2864
2915
  } else if (info.column.params.controlType === controlType.checkbox) {
2916
+ returnOperator = '包含'
2865
2917
  // 单选
2866
2918
  displayValues.forEach(x=> curretnArr.push(x?'是':'否'))
2867
2919
  } else {
2868
2920
  // 其余字符串
2869
2921
  // 去除空值
2922
+ returnOperator = '包含'
2870
2923
  displayValues = displayValues.filter(f=>f.value[0])
2871
2924
  displayValues.forEach(display=> {
2872
2925
  curretnArr.push(display.value[0])
@@ -2878,7 +2931,7 @@ export default {
2878
2931
  // 筛选值数组拼接为字符串
2879
2932
  let curretnValue = '"' + curretnArr.join(' , ') + '"'
2880
2933
  // 三项内容拼接-字段名、筛选条件(组件暂时只有包含)、字段编码
2881
- returnField = title + ' ' + '包含' + ' ' + curretnValue
2934
+ returnField = title + ' ' + returnOperator + ' ' + curretnValue
2882
2935
  return returnField
2883
2936
  },
2884
2937
  // 保存默认配置条件
@@ -2912,8 +2965,7 @@ export default {
2912
2965
  .then(res => {
2913
2966
  // 更新默认参数
2914
2967
  this.defaultPostData = postData
2915
- console.debug('2',this.defaultPostData);
2916
- this.$refs.baseGrid.closeFilter();
2968
+ this.$refs.baseGrid.closeFilter()
2917
2969
  // 初始标签
2918
2970
  this.tagData = JSON.parse(JSON.stringify(this.$refs.baseGrid.getCheckedFilters()))
2919
2971
  // 设置表格顺序
@@ -2921,20 +2973,21 @@ export default {
2921
2973
  tableCollectColumn,
2922
2974
  (p) => p.params.tempCustomSort
2923
2975
  );
2924
- //设置筛选过滤条件
2976
+ //设置筛选过滤条件及排序,用于保存后回调刷新
2925
2977
  this.setFilterExpression();
2926
2978
  let data = []
2927
2979
  this.$refs.baseGrid.getSortColumns().forEach(x=> {
2928
2980
  data.push([x.field,x.order])
2929
2981
  })
2930
2982
  this.$emit("sortChange", data);
2983
+
2931
2984
  //清空store缓存
2932
2985
  this.$store.commit(
2933
2986
  "SET_MODULE_VIEW_INFO",{
2934
2987
  moduleCode:this.moduleCode,
2935
2988
  info:res.content
2936
2989
  }
2937
- );
2990
+ )
2938
2991
  })
2939
2992
  .catch((err) => {
2940
2993
  console.debug(err)
@@ -2985,6 +3038,7 @@ export default {
2985
3038
  }
2986
3039
  .popover-content-card .ant-popover-inner {
2987
3040
  padding-left: 12px;
3041
+ top: 40px;
2988
3042
  }
2989
3043
  .popover-content-card .ant-popover-inner-content {
2990
3044
  padding: 0px;
@@ -3105,10 +3159,6 @@ export default {
3105
3159
  border-radius: 0;
3106
3160
  border: 0;
3107
3161
  background-color: #f6f7f9;
3108
-
3109
- // :hover {
3110
- // background-color: #e9ebf0 ;
3111
- // }
3112
3162
  .anticon-close {
3113
3163
  font-size: 14px;
3114
3164
  }
@@ -552,6 +552,8 @@ export default {
552
552
  this.searchData();
553
553
  } else {
554
554
  this.$refs.pulldownRef.hidePanel();
555
+ // 点击输入框隐藏panel时清空输入框
556
+ this.currentValue = ''
555
557
  }
556
558
  },
557
559
  /**