diff --git a/src/assets/imgs/ic_guoqi.png b/src/assets/imgs/ic_guoqi.png new file mode 100644 index 0000000000000000000000000000000000000000..6b3f62152c2621d31b9ba7da00ba9b8cf5d0818c Binary files /dev/null and b/src/assets/imgs/ic_guoqi.png differ diff --git a/src/assets/imgs/ic_true.png b/src/assets/imgs/ic_true.png index 7b0fb73962ad00595f9ecde919272d497fa66dda..e93a2fa62d11a6612af7c210d051d0bef78792e4 100644 Binary files a/src/assets/imgs/ic_true.png and b/src/assets/imgs/ic_true.png differ diff --git a/src/components/apass-list.vue b/src/components/apass-list.vue index 46dbea14172af439bd5cee21ebe746b4ea8dbc1e..d511cedfec16f4587350a6b59b68b0eada2acf7a 100644 --- a/src/components/apass-list.vue +++ b/src/components/apass-list.vue @@ -4,6 +4,8 @@
+ +
+ +
+ + + + + +
+
@@ -51,7 +75,7 @@
@@ -84,6 +108,10 @@ export default { type: Array, default: () => [], }, + otherFilter: { + type: Array, + default: () => [], + }, listHeader: { type: Array, default: () => [], @@ -116,8 +144,21 @@ export default { currentPage: 1, timer: null, pageSizes: [15, 50, 100], + selectFilter: [], }), methods: { + initOtherFilter() { + this.otherFilter.forEach((item) => { + this.$set(this.filter, item.prop, item.default); + + this.selectFilter.push({ + name: item.name, + prop: item.prop, + value: item.default, + options: item.options, + }); + }); + }, searchAction(value) { this.listAction(); }, @@ -140,8 +181,15 @@ export default { } this.timer = setTimeout(() => { + let selectFilter = {}; + + this.selectFilter.forEach((item) => { + selectFilter[item.prop] = item.value; + }); + this.$emit("list-action", { ...this.filter, + ...selectFilter, keyword: this.searchValue, size: this.pageSize, page: this.currentPage, @@ -150,6 +198,10 @@ export default { }, }, mounted() { + if (this.otherFilter && this.otherFilter.length > 0) { + this.initOtherFilter(); + } + this.listAction(); }, }; @@ -182,7 +234,17 @@ export default { justify-content: space-between; align-items: center; } -.header-container .el-button + .el-button { +.header-container .select_container { + display: inline-block; + vertical-align: middle; +} +.header-container .select_container .select_title { + font-size: 14px; + color: #242c43; + margin-right: 10px; +} +.header-container .el-button + .el-button, +.header-container .select_container + .select_container { margin-left: 25px; } .apass_filter { diff --git a/src/components/apass-table.vue b/src/components/apass-table.vue index bfab22d8609ab4a1c9ae6155bf691ec10c0ad24b..7c07779862541d6ae83d6cd5d590e5fe561d9a01 100644 --- a/src/components/apass-table.vue +++ b/src/components/apass-table.vue @@ -1,7 +1,10 @@