wkjp-list-page 1.0.22 → 1.0.24
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/README.md +3 -1
- package/package.json +1 -1
- package/src/components/CommonListPage.vue +51 -21
package/README.md
CHANGED
|
@@ -89,7 +89,7 @@ deviceListApi(params) {
|
|
|
89
89
|
**情况:** 运营想自定义表头、列太多想藏起来。
|
|
90
90
|
**默认:** **`columns` 达到 10 列及以上**(可用 **`column-config-auto-min`** 改阈值)时,表格最右侧自动出现 **表头设置** 齿轮;悬停齿轮显示 **「配置字段」** 提示(可用 **`column-config-tooltip`** 修改)。
|
|
91
91
|
**可选:** `:enable-column-config="true"` 强制开启;`:enable-column-config="false"` 强制关闭。
|
|
92
|
-
**作用:** 弹层内可 **搜索字段**、**显示/未显示** 分组、开关显隐、拖拽排序;**复选框列(`type: selection
|
|
92
|
+
**作用:** 弹层内可 **搜索字段**、**显示/未显示** 分组、开关显隐、拖拽排序;**复选框列(`type: selection`)不出现在设置里**且表格始终保留;列上 **`showInColumnConfig: false`** 可排除在表头设置外(表格仍显示该列);**固定列**左侧显示「固定」且不可拖不可关。点 **确认** 后才会作用到表格并触发 **`columns-change`**,点 **取消** / 关闭 / 再次点齿轮则放弃本次修改。
|
|
93
93
|
|
|
94
94
|
### 2.2 不想要「查询」按钮,或想改按钮上的字
|
|
95
95
|
|
|
@@ -344,6 +344,8 @@ deviceListTransformList(list) {
|
|
|
344
344
|
| `emptyText` / `defaultText` | 空值时显示文案;**`emptyText` 优先**;都不设则用 **`cell-empty-text`**(默认 `--`)。 |
|
|
345
345
|
| `width` / `minWidth` | 显式指定后不再自动算宽;仍可配合上面的 tooltip 规则。 |
|
|
346
346
|
| `showOverflowTooltip` | 显式 `true` / `false` 时优先于自动规则。 |
|
|
347
|
+
| `showInColumnConfig` | 是否出现在 **表头设置** 弹层,默认 **`true`**;为 **`false`** 时不出现在设置里(不可被用户隐藏),表格仍渲染。兼容 **`columnConfigShow`**。 |
|
|
348
|
+
| `configFixed` | 在表头设置中视为固定列,不可拖、不可关(常与 `fixed` 联用)。 |
|
|
347
349
|
|
|
348
350
|
---
|
|
349
351
|
|
package/package.json
CHANGED
|
@@ -368,9 +368,14 @@ export default {
|
|
|
368
368
|
showQueryButton: { type: Boolean, default: true },
|
|
369
369
|
/** 主查询按钮文案 */
|
|
370
370
|
queryButtonText: { type: String, default: "查询" },
|
|
371
|
-
/**
|
|
371
|
+
/** 是否显示「重置」按钮(在查询按钮右侧):将 `filters` 恢复为进入页面时的快照 */
|
|
372
372
|
showClearQueryButton: { type: Boolean, default: true },
|
|
373
|
-
clearQueryButtonText: { type: String, default: "
|
|
373
|
+
clearQueryButtonText: { type: String, default: "重置" },
|
|
374
|
+
/**
|
|
375
|
+
* 点击「重置」后是否自动 `fetchList`。默认 **true**:恢复查询条件后重新拉表。
|
|
376
|
+
* 带「请选择…再查询」等前置校验的页面请设为 **false**,仅重置条件不请求。
|
|
377
|
+
*/
|
|
378
|
+
fetchOnClearQuery: { type: Boolean, default: true },
|
|
374
379
|
/**
|
|
375
380
|
* 搜索区折叠:显式 `true` / `false` 强制开/关;
|
|
376
381
|
* 未传时 **`searchOption` 超过 `searchVisibleMax`(默认 6)** 自动显示「展开查询」。
|
|
@@ -440,7 +445,7 @@ export default {
|
|
|
440
445
|
columnConfigPanelMaxHeight: null,
|
|
441
446
|
configColumns: [],
|
|
442
447
|
appliedColumns: [],
|
|
443
|
-
/** 进入页时 filters
|
|
448
|
+
/** 进入页时 filters 的快照,用于「重置」 */
|
|
444
449
|
initialFiltersSnapshot: null,
|
|
445
450
|
initialFiltersCaptured: false
|
|
446
451
|
};
|
|
@@ -654,9 +659,12 @@ export default {
|
|
|
654
659
|
isBuiltinCellColumn(col) {
|
|
655
660
|
return col && ["selection", "index", "expand"].indexOf(col.type) !== -1;
|
|
656
661
|
},
|
|
657
|
-
/**
|
|
662
|
+
/** 复选框、展开列及 showInColumnConfig:false 不参与表头设置 */
|
|
658
663
|
isConfigPanelColumn(col) {
|
|
659
|
-
|
|
664
|
+
if (!col) return false;
|
|
665
|
+
if (col.type === "selection" || col.type === "expand") return false;
|
|
666
|
+
if (col.showInColumnConfig === false) return false;
|
|
667
|
+
return true;
|
|
660
668
|
},
|
|
661
669
|
textDisplayLength(text) {
|
|
662
670
|
return String(text == null ? "" : text).length;
|
|
@@ -732,7 +740,11 @@ export default {
|
|
|
732
740
|
captureInitialFilters() {
|
|
733
741
|
if (this.initialFiltersCaptured || !this.filters) return;
|
|
734
742
|
try {
|
|
735
|
-
|
|
743
|
+
const snap = {};
|
|
744
|
+
Object.keys(this.filters).forEach((key) => {
|
|
745
|
+
snap[key] = this.cloneFilterValue(this.filters[key]);
|
|
746
|
+
});
|
|
747
|
+
this.initialFiltersSnapshot = snap;
|
|
736
748
|
this.initialFiltersCaptured = true;
|
|
737
749
|
} catch (e) {
|
|
738
750
|
this.initialFiltersSnapshot = null;
|
|
@@ -751,14 +763,34 @@ export default {
|
|
|
751
763
|
const snap = this.initialFiltersSnapshot;
|
|
752
764
|
const f = this.filters;
|
|
753
765
|
if (!snap || !f) return;
|
|
754
|
-
Object.keys(
|
|
755
|
-
|
|
766
|
+
Object.keys(f).forEach((key) => {
|
|
767
|
+
const val = Object.prototype.hasOwnProperty.call(snap, key)
|
|
768
|
+
? snap[key]
|
|
769
|
+
: undefined;
|
|
770
|
+
this.$set(f, key, this.cloneFilterValue(val));
|
|
771
|
+
});
|
|
772
|
+
},
|
|
773
|
+
resetListWithoutFetch() {
|
|
774
|
+
this.innerPagination.page = 1;
|
|
775
|
+
this.innerTableData = [];
|
|
776
|
+
this.innerPagination.total = 0;
|
|
777
|
+
this.syncPaginationToFilters();
|
|
778
|
+
this.$emit("fetched", {
|
|
779
|
+
list: [],
|
|
780
|
+
total: 0,
|
|
781
|
+
page: this.innerPagination.page,
|
|
782
|
+
pageSize: this.innerPagination.pageSize,
|
|
783
|
+
raw: null,
|
|
756
784
|
});
|
|
757
785
|
},
|
|
758
786
|
handleClearQueryClick() {
|
|
759
787
|
this.applyInitialFiltersSnapshot();
|
|
760
|
-
this.fetchList({ resetPage: true });
|
|
761
788
|
this.$emit("clear-query");
|
|
789
|
+
if (this.fetchOnClearQuery) {
|
|
790
|
+
this.fetchList({ resetPage: true });
|
|
791
|
+
} else {
|
|
792
|
+
this.resetListWithoutFetch();
|
|
793
|
+
}
|
|
762
794
|
},
|
|
763
795
|
resolveValue(item) {
|
|
764
796
|
if (Object.prototype.hasOwnProperty.call(item, "value")) return item.value;
|
|
@@ -1652,21 +1684,21 @@ export default {
|
|
|
1652
1684
|
color: #409eff;
|
|
1653
1685
|
}
|
|
1654
1686
|
|
|
1655
|
-
/* ----------
|
|
1687
|
+
/* ---------- 列表表格(极细外框兜底:空数据区不塌陷、无粗网格线) ---------- */
|
|
1656
1688
|
.common-list-page /deep/ .el-table {
|
|
1657
1689
|
overflow: hidden;
|
|
1658
1690
|
font-size: 12px;
|
|
1659
1691
|
color: #606266;
|
|
1660
|
-
border: none;
|
|
1692
|
+
border: none !important;
|
|
1661
1693
|
border-radius: 2px;
|
|
1662
1694
|
outline: 1px solid #ebeef5;
|
|
1663
1695
|
outline-offset: -1px;
|
|
1664
1696
|
}
|
|
1665
1697
|
|
|
1666
1698
|
.common-list-page /deep/ .el-table::before,
|
|
1667
|
-
.common-list-page /deep/ .el-table--
|
|
1668
|
-
.common-list-page /deep/ .el-table--
|
|
1669
|
-
display: none;
|
|
1699
|
+
.common-list-page /deep/ .el-table.el-table--border::after,
|
|
1700
|
+
.common-list-page /deep/ .el-table.el-table--group::after {
|
|
1701
|
+
display: none !important;
|
|
1670
1702
|
}
|
|
1671
1703
|
|
|
1672
1704
|
.common-list-page /deep/ .el-table__empty-block {
|
|
@@ -1684,7 +1716,8 @@ export default {
|
|
|
1684
1716
|
}
|
|
1685
1717
|
|
|
1686
1718
|
.common-list-page /deep/ .el-table__fixed .el-table__body tr td.el-table__cell,
|
|
1687
|
-
.common-list-page /deep/ .el-table__fixed-right .el-table__body tr td.el-table__cell
|
|
1719
|
+
.common-list-page /deep/ .el-table__fixed-right .el-table__body tr td.el-table__cell,
|
|
1720
|
+
.common-list-page /deep/ .el-table__body tr:last-child td.el-table__cell {
|
|
1688
1721
|
border-bottom: 1px solid #f0f2f5 !important;
|
|
1689
1722
|
}
|
|
1690
1723
|
|
|
@@ -1708,10 +1741,6 @@ export default {
|
|
|
1708
1741
|
vertical-align: middle;
|
|
1709
1742
|
}
|
|
1710
1743
|
|
|
1711
|
-
.common-list-page /deep/ .el-table__body tr:last-child td.el-table__cell {
|
|
1712
|
-
border-bottom: 1px solid #f0f2f5 !important;
|
|
1713
|
-
}
|
|
1714
|
-
|
|
1715
1744
|
.common-list-page /deep/ .el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell {
|
|
1716
1745
|
background: #fafbfc;
|
|
1717
1746
|
}
|
|
@@ -1721,9 +1750,10 @@ export default {
|
|
|
1721
1750
|
}
|
|
1722
1751
|
|
|
1723
1752
|
.common-list-page /deep/ .el-table .cell {
|
|
1753
|
+
vertical-align: middle;
|
|
1724
1754
|
line-height: 1.5;
|
|
1725
|
-
padding-left:
|
|
1726
|
-
padding-right:
|
|
1755
|
+
padding-left: 10px !important;
|
|
1756
|
+
padding-right: 10px !important;
|
|
1727
1757
|
word-break: break-word;
|
|
1728
1758
|
}
|
|
1729
1759
|
|