From eab06fbfcf4577eac399992b5ab11df3f3ff7456 Mon Sep 17 00:00:00 2001
From: yangfeng <wanwan926_4@163.com>
Date: 星期五, 03 十一月 2023 11:44:32 +0800
Subject: [PATCH] 搜索和弹窗按钮公共组件和产品搜索功能优化
---
src/views/productManage/product/index.vue | 21 +++++++---
src/components/makepager/SearchCommonView.vue | 24 ++++++++----
src/components/makepager/FormBtnsView.vue | 19 ++++++---
3 files changed, 42 insertions(+), 22 deletions(-)
diff --git a/src/components/makepager/FormBtnsView.vue b/src/components/makepager/FormBtnsView.vue
index b27b6b1..37119ca 100644
--- a/src/components/makepager/FormBtnsView.vue
+++ b/src/components/makepager/FormBtnsView.vue
@@ -7,9 +7,10 @@
<div class="right-label">棰濆鐨勪环鏍�</div>
</div>
</div> -->
- <div v-if="!showProduct && !showWarehouse && !showPosition && !addProduct"
- class="sub-number left_border cursor_pointer"
- @click="inLibraryClick()"
+ <div
+ v-if="!showProduct && !showWarehouse && !showPosition && !addProduct"
+ class="sub-number left_border cursor_pointer"
+ @click="inLibraryClick()"
>
<div class="left"><i class="el-icon-present"></i></div>
<div class="right">
@@ -51,18 +52,18 @@
<div v-if="!showProduct && !showWarehouse && !showPosition" class="sub-number no-cursor">
<div class="left"><i class="el-icon-refresh"></i></div>
<div class="right">
- <div class="right-label">{{ (countObject?.reorderRule ?? 0) }}</div>
+ <div class="right-label">{{ countObject?.reorderRule ?? 0 }}</div>
<div class="right-label">閲嶈璐ц鍒�</div>
</div>
</div>
<div v-if="showProduct" class="sub-number left_border yes-cursor" @click="productClick">
<div class="left"><i class="el-icon-s-fold"></i></div>
<div class="right">
- <div class="right-label">{{ (countObject?.product ?? 0) }}</div>
+ <div class="right-label">{{ countObject?.product ?? 0 }}</div>
<div class="right-label">浜у搧</div>
</div>
</div>
- <div v-if="!showWarehouse" class="sub-number left_border no-cursor">
+ <div v-if="!showWarehouse" class="sub-number left_border yes-cursor" @click="listingRulesClick">
<div class="left"><i class="el-icon-refresh"></i></div>
<div class="right">
<div class="right-one">涓婃灦瑙勫垯</div>
@@ -151,8 +152,12 @@
this.$emit("productClick")
},
// 鍦ㄥ簱
- inLibraryClick(){
+ inLibraryClick() {
this.$emit("inLibraryClick")
+ },
+ // 涓婃灦瑙勫垯
+ listingRulesClick() {
+ this.$emit("listingRulesClick")
}
}
}
diff --git a/src/components/makepager/SearchCommonView.vue b/src/components/makepager/SearchCommonView.vue
index c44e993..dd328e8 100644
--- a/src/components/makepager/SearchCommonView.vue
+++ b/src/components/makepager/SearchCommonView.vue
@@ -54,7 +54,7 @@
<template v-if="selectArr?.length > 0" slot="prepend">
<div style="display: flex">
<div v-for="(val, i) in selectArr" :key="i" class="pre-views">
- <span style="margin-left: 5px">{{ val }}</span>
+ <span style="margin-left: 5px">{{ val.title }}</span>
<i @click="delSelectClick(val)" class="el-icon-close" style="margint: 0 5px"></i>
</div>
</div>
@@ -88,9 +88,9 @@
</div>
<el-dropdown-menu slot="dropdown">
<el-dropdown-item
- v-for="(item, key) in taskStatusMap"
+ v-for="(item, key) in screenArray"
:key="key"
- :command="item.title"
+ :command="{ command: item.title, ...item }"
:class="{ selected: status == item.title }"
>
<div class="dropdown-view">
@@ -224,6 +224,14 @@
showSreen: {
type: Boolean,
default: true
+ },
+ searchTaskMap: {
+ type: Array,
+ default: () => []
+ },
+ screenArray: {
+ type: Array,
+ default: () => []
}
},
watch: {
@@ -243,13 +251,12 @@
searchInput: "",
searchSelValue: this.searchSel,
status: "",
- taskStatusMap: [
- { value: "0", type: "default", title: "瀹屾垚" },
- { value: "1", type: "default", title: "灏辩窉" }
- ],
selList: [],
selectArr: []
}
+ },
+ mounted() {
+ this.selectArr = this.searchTaskMap
},
methods: {
// 鎼滅储
@@ -302,6 +309,7 @@
this.selectArr.findIndex((e) => e === item),
1
)
+ this.$emit("delSelectClick", item)
}
}
}
@@ -400,7 +408,7 @@
}
}
.pre-views {
- border: 1px solid #ccc;
+ border: 1px solid #c0c0c0;
font-size: 12px;
margin-right: 5px;
border-radius: 3px;
diff --git a/src/views/productManage/product/index.vue b/src/views/productManage/product/index.vue
index 0b32e39..2eed6ad 100644
--- a/src/views/productManage/product/index.vue
+++ b/src/views/productManage/product/index.vue
@@ -5,8 +5,10 @@
:add-title="'鏂板缓'"
:placeholder="'璇疯緭鍏ヤ骇鍝佸悕绉�'"
:amount-view="false"
+ :search-task-map="searchTaskMap"
@addCommonClick="addBtnClick"
@searchClick="searchClick"
+ @delSelectClick="delSelectClick"
/>
</div>
<div class="list-view">
@@ -54,11 +56,7 @@
</div>
<!-- 鍒楄〃褰㈠紡 -->
<div v-if="isIconIndex === '2'" class="product-list">
- <TableCommonView
- ref="tableListRef"
- :table-list="tableList"
- @selTableCol="selTableCol"
- >
+ <TableCommonView ref="tableListRef" :table-list="tableList" @selTableCol="selTableCol">
<template slot="tableButton">
<el-table-column label="鎿嶄綔" width="90" align="center">
<template slot-scope="scope">
@@ -114,16 +112,20 @@
url: "https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg",
pageSizes: [15, 30],
keyWord: "",
- categoryId: null
+ categoryId: null,
+ searchTaskMap: []
}
},
created() {
this.setTable()
let query = this.$route.query
if (query) {
+ console.log("ssssss")
this.categoryId = query.id ? Number(query.id) : null
this.pagerOptions.currPage = 1
+ this.searchTaskMap = query.id ? [{ categoryId: this.categoryId, title: query.categoryName }] : []
}
+
this.getData()
},
methods: {
@@ -272,7 +274,7 @@
this.editConfig.visible = true
},
// 缂栬緫
- editRow(row){
+ editRow(row) {
this.editConfig.autoEdit = true
this.editConfig.title = "缂栬緫"
this.editConfig.infomation = { ...row }
@@ -290,6 +292,11 @@
this.pagerOptions.pageSize = 15
}
this.getData()
+ },
+ // 鍒犻櫎浜у搧绫诲瀷
+ delSelectClick() {
+ this.categoryId = 0
+ this.getData()
}
}
}
--
Gitblit v1.8.0