mooho-base-admin-plus 2.2.13 → 2.2.14

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,7 +1,7 @@
1
1
  {
2
2
  "name": "mooho-base-admin-plus",
3
3
  "description": "MOOHO basic framework for admin by Vue3",
4
- "version": "2.2.13",
4
+ "version": "2.2.14",
5
5
  "author": "jinyifan <jinyifan@mooho.com.cn>",
6
6
  "license": "MIT",
7
7
  "private": false,
@@ -338,12 +338,19 @@
338
338
  }
339
339
  },
340
340
  computed: {
341
+ // 表格数据
341
342
  data() {
342
343
  return this.$refs.table.data;
343
344
  },
345
+ // 表格
344
346
  table() {
345
347
  return this.$refs.table;
346
348
  },
349
+ // 筛选条件数据
350
+ filterData() {
351
+ return this.$refs.tableFilter.data;
352
+ },
353
+ // 屏幕宽度
347
354
  screenWidth() {
348
355
  return document.body.clientWidth * 0.8;
349
356
  }
@@ -239,12 +239,15 @@
239
239
  import customModelApi from '../../api/customModel';
240
240
  import DialogSelect from '../input/dialog-select.vue';
241
241
  import dateFormat from 'date-fns/format';
242
+ import { assign, defaultsDeep } from 'lodash';
242
243
 
243
244
  export default {
244
245
  mixins: [mixin, mixinPage],
245
246
  components: { DialogSelect },
246
247
  data() {
247
- return {};
248
+ return {
249
+ data: {}
250
+ };
248
251
  },
249
252
  async created() {
250
253
  this.init();
@@ -255,7 +258,7 @@
255
258
  type: Object
256
259
  },
257
260
  // 筛选项数据
258
- data: {
261
+ filter: {
259
262
  type: Object
260
263
  },
261
264
  // 字段
@@ -272,6 +275,13 @@
272
275
  methods: {
273
276
  init() {
274
277
  let data = this.data;
278
+
279
+ // 默认值
280
+ if (this.filter) {
281
+ defaultsDeep(data, this.filter);
282
+ assign(this.filter, data);
283
+ }
284
+
275
285
  this.columns.forEach(item => {
276
286
  if (item.defaultValue) {
277
287
  if (item.defaultValue == '{today}') {
@@ -299,6 +309,8 @@
299
309
  } else if (item.dataType === 'Boolean' && item.defaultValue.toUpperCase == 'FALSE') {
300
310
  this.setFilterData(data, item, false);
301
311
  } else {
312
+ console.log('this.setFilterData', data, item, item.defaultValue);
313
+
302
314
  this.setFilterData(data, item, item.defaultValue);
303
315
  }
304
316
  }
@@ -380,7 +392,7 @@
380
392
 
381
393
  this.columns
382
394
  .filter(column => {
383
- return !column.isStaticItem && !!(column.source || '').trim() && !!(column.param || '').trim() && !column.dataType.startsWith('Enum:');
395
+ return !column.isStaticItem && !!(column.source || '').trim() && !!(column.param || '').trim() && !(column.dataType && column.dataType.startsWith('Enum:'));
384
396
  })
385
397
  .forEach(column => {
386
398
  let param = JSON.parse(column.param);
@@ -501,6 +513,7 @@
501
513
  // },
502
514
  // 选项变化事件
503
515
  onSelectDataChange(sender, selected) {
516
+ console.log('onSelectDataChange', sender, selected);
504
517
  let code;
505
518
  if (sender.code.endsWith('ID')) {
506
519
  code = sender.code.substr(0, sender.code.length - 2);
@@ -556,7 +569,7 @@
556
569
  if (
557
570
  !column.isStaticItem &&
558
571
  !!(column.source || '').trim() &&
559
- !column.dataType.startsWith('Enum:') &&
572
+ !(column.dataType && column.dataType.startsWith('Enum:')) &&
560
573
  (sender == null ||
561
574
  sender.triggers.some(item => {
562
575
  return item.id === column.id;
@@ -610,7 +610,7 @@
610
610
  // 数据源中包含变量需要刷新
611
611
  this.columns
612
612
  .filter(column => {
613
- return !!(column.source || '').trim() && !!(column.param || '').trim() && !column.dataType.startsWith('Enum:');
613
+ return !!(column.source || '').trim() && !!(column.param || '').trim() && !(column.dataType && column.dataType.startsWith('Enum:'));
614
614
  })
615
615
  .forEach(column => {
616
616
  let param = JSON.parse(column.param);
@@ -756,7 +756,7 @@
756
756
  this.columns.forEach(function (column) {
757
757
  if (
758
758
  !!(column.source || '').trim() &&
759
- !column.dataType.startsWith('Enum:') &&
759
+ !(column.dataType && column.dataType.startsWith('Enum:')) &&
760
760
  (sender == null ||
761
761
  sender.triggers.some(item => {
762
762
  return item.id === column.id;
@@ -785,7 +785,7 @@
785
785
  column.triggers.forEach(item => {
786
786
  item.needClear = true;
787
787
  });
788
- } else if (column.needRefresh && !!(column.source || '').trim() && !column.dataType.startsWith('Enum:')) {
788
+ } else if (column.needRefresh && !!(column.source || '').trim() && !(column.dataType && column.dataType.startsWith('Enum:'))) {
789
789
  let param = this.getParam(this.data, column);
790
790
 
791
791
  if (
@@ -1011,7 +1011,7 @@
1011
1011
  // 数据源中包含变量需要刷新
1012
1012
  this.columns
1013
1013
  .filter(column => {
1014
- return !column.isStaticItem && !!(column.source || '').trim() && !!(column.param || '').trim() && !column.dataType.startsWith('Enum:');
1014
+ return !column.isStaticItem && !!(column.source || '').trim() && !!(column.param || '').trim() && !(column.dataType && column.dataType.startsWith('Enum:'));
1015
1015
  })
1016
1016
  .forEach(column => {
1017
1017
  let param = JSON.parse(column.param);
@@ -1333,7 +1333,7 @@
1333
1333
  if (
1334
1334
  !column.isStaticItem &&
1335
1335
  !!(column.source || '').trim() &&
1336
- !column.dataType.startsWith('Enum:') &&
1336
+ !(column.dataType && column.dataType.startsWith('Enum:')) &&
1337
1337
  (sender == null ||
1338
1338
  sender.triggers.some(item => {
1339
1339
  return item.code == column.code;
@@ -1366,7 +1366,7 @@
1366
1366
  column.triggers.forEach(item => {
1367
1367
  item.needClear = true;
1368
1368
  });
1369
- } else if (column.needRefresh && !!(column.source || '').trim() && !column.dataType.startsWith('Enum:')) {
1369
+ } else if (column.needRefresh && !!(column.source || '').trim() && !(column.dataType && column.dataType.startsWith('Enum:'))) {
1370
1370
  let param = this.getParam(this.data, column);
1371
1371
 
1372
1372
  if (
@@ -23,20 +23,20 @@
23
23
  @binding {object} table 表格对象
24
24
  @binding {object} filter 筛选对象
25
25
  -->
26
- <slot name="filter" :table="this" :filter="filter">
26
+ <slot name="filter" :table="this">
27
27
  <!--
28
28
  @slot 自定义筛选栏
29
29
  -->
30
30
  <slot name="customFilter"></slot>
31
- <table-filter ref="tableFilter" :data="filter" :columns="filterColumns" :table-view="tableView" @on-keyup="onKeyup">
32
- <template #column="{ filter, column }">
31
+ <table-filter ref="tableFilter" :filter="filter" :columns="filterColumns" :table-view="tableView" @on-keyup="onKeyup">
32
+ <template #column="{ column }">
33
33
  <!--
34
34
  @slot 筛选栏自定义列
35
35
  @binding {object} filter 筛选条件对象
36
36
  @binding {object} column 列对象
37
37
  @binding {string} code 列代码
38
38
  -->
39
- <slot name="filterColumn" :filter="filter" :column="column" :code="column.code"></slot>
39
+ <slot name="filterColumn" :column="column" :code="column.code"></slot>
40
40
  </template>
41
41
  </table-filter>
42
42
  <Col v-bind="getGrid(tableView.filterWidth)" :style="{ 'text-align': tableView.filterAlign == null ? 'left' : tableView.filterAlign.toLowerCase() }">
@@ -902,6 +902,10 @@
902
902
  } else {
903
903
  return this.height;
904
904
  }
905
+ },
906
+ // 筛选条件数据
907
+ filterData() {
908
+ return this.$refs.tableFilter.data;
905
909
  }
906
910
  },
907
911
  watch: {
@@ -1501,8 +1505,8 @@
1501
1505
  * @public
1502
1506
  */
1503
1507
  resetFilter() {
1504
- for (let key in this.filter) {
1505
- delete this.filter[key];
1508
+ for (let key in this.filterData) {
1509
+ delete this.filterData[key];
1506
1510
  }
1507
1511
 
1508
1512
  //this.$forceUpdate();
@@ -1668,7 +1672,7 @@
1668
1672
 
1669
1673
  //this.$forceUpdate();
1670
1674
  } else {
1671
- if (!!(column.source || '').trim() && !column.dataType.startsWith('Enum:')) {
1675
+ if (!!(column.source || '').trim() && !(column.dataType && column.dataType.startsWith('Enum:'))) {
1672
1676
  this.data.forEach(row => {
1673
1677
  if (row._dataSource && row._dataSource[column.code]) {
1674
1678
  return;
@@ -1696,7 +1700,7 @@
1696
1700
  // 数据源中包含变量需要刷新
1697
1701
  this.columns
1698
1702
  .filter(column => {
1699
- return !column.isStaticItem && !!(column.source || '').trim() && !!(column.param || '').trim() && !column.dataType.startsWith('Enum:');
1703
+ return !column.isStaticItem && !!(column.source || '').trim() && !!(column.param || '').trim() && !(column.dataType && column.dataType.startsWith('Enum:'));
1700
1704
  })
1701
1705
  .forEach(column => {
1702
1706
  let param = JSON.parse(column.param);
@@ -1910,7 +1914,7 @@
1910
1914
  if (
1911
1915
  !column.isStaticItem &&
1912
1916
  !!(column.source || '').trim() &&
1913
- !column.dataType.startsWith('Enum:') &&
1917
+ !(column.dataType && column.dataType.startsWith('Enum:')) &&
1914
1918
  (sender == null ||
1915
1919
  sender.triggers.some(item => {
1916
1920
  return item.code == column.code;
@@ -1941,7 +1945,7 @@
1941
1945
  column.triggers.forEach(item => {
1942
1946
  data._needClear[item.code] = true;
1943
1947
  });
1944
- } else if (data._needRefresh[column.code] && !!(column.source || '').trim() && !column.dataType.startsWith('Enum:')) {
1948
+ } else if (data._needRefresh[column.code] && !!(column.source || '').trim() && !(column.dataType && column.dataType.startsWith('Enum:'))) {
1945
1949
  let param = this.getParam(data, column, this.parentData);
1946
1950
 
1947
1951
  if (
@@ -2083,9 +2087,11 @@
2083
2087
  },
2084
2088
  // 合并后最终的筛选项
2085
2089
  getAllFilter() {
2090
+ console.log('getAllFilter');
2091
+
2086
2092
  let filter = {
2087
2093
  ...this.viewFilter,
2088
- ...this.filter
2094
+ ...this.filterData
2089
2095
  };
2090
2096
 
2091
2097
  for (let key in filter) {
@@ -2101,7 +2107,7 @@
2101
2107
  let data = this.staticData;
2102
2108
 
2103
2109
  if (!this.filterDisable) {
2104
- let filter = this.filter;
2110
+ let filter = this.filterData;
2105
2111
 
2106
2112
  for (let key in filter) {
2107
2113
  let column = key;