From 98d4e2b26ce3a542b8ab6f2c04b9e56f9dd95f42 Mon Sep 17 00:00:00 2001
From: yangfeng <wanwan926_4@163.com>
Date: 星期五, 29 三月 2024 10:36:27 +0800
Subject: [PATCH] 供应商管理列表搜索功能修改6202
---
src/views/other/commonDialog/SelectCommonDialog.vue | 147 +++++++++++++++++++++++++++++++++++++++----------
1 files changed, 117 insertions(+), 30 deletions(-)
diff --git a/src/views/other/commonDialog/SelectCommonDialog.vue b/src/views/other/commonDialog/SelectCommonDialog.vue
index f5597b4..e0e3748 100644
--- a/src/views/other/commonDialog/SelectCommonDialog.vue
+++ b/src/views/other/commonDialog/SelectCommonDialog.vue
@@ -28,37 +28,68 @@
<el-button type="primary" size="mini" disabled>蹇�熷垱寤�</el-button> -->
</div>
</div>
- <TableCommonView ref="tableListRef" :table-list="tableList" :select-box="false" @selCommonClick="selNameClick">
+ <TableCommonView
+ class="bg-list"
+ ref="tableListRef"
+ :table-list="tableList"
+ :select-box="editCommonConfig.isSelectBox"
+ :selectBoxList="selectBoxList"
+ @selCommonClick="selNameClick"
+ @selTableCol="selTableCol"
+ @getSelectArray="getSelectArray"
+ >
</TableCommonView>
<div slot="footer" class="dialog-footer">
- <div class="remark">璇存槑锛氭敮鎸佸瀛楁妯$硦鏌ヨ锛屼粎鏄剧ず绗﹀悎鏉′欢鐨勫墠5鏉℃暟鎹�</div>
+ <!-- <div class="remark">璇存槑锛氭敮鎸佸瀛楁妯$硦鏌ヨ锛屼粎鏄剧ず绗﹀悎鏉′欢鐨勫墠5鏉℃暟鎹�</div> -->
+ <div class="btn-pager">
+ <PagerView class="page" :pager-options="pagerOptions" v-on="pagerEvents" />
+ </div>
</div>
+ </div>
+ <div slot="footer" class="dialog-footer" v-if="editCommonConfig.isSelectBox">
+ <el-button type="primary" size="small" @click="saveClick()">纭畾</el-button>
+ <el-button size="small" @click="editConfig.editVisible = false">鍙栨秷</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
-import { getProductList } from "@/api/productManage/product"
+import { getProductListFromGrpc, getProductList } from "@/api/productManage/product"
+import pageMixin from "@/components/makepager/pager/mixin/pageMixin"
+
export default {
name: "EditSelCommonDialog",
+ mixins: [pageMixin],
props: {
editCommonConfig: {
type: Object,
default: () => {
return {
editVisible: false,
+ isSelectBox: false,
title: "",
+ clientId: 0,
+ isRequest: true,
+ client_name: "",
tableInfomation: []
}
}
+ },
+ sign: {
+ type: String,
+ default: ""
+ },
+ selectBoxList: {
+ type: Array,
+ default: () => []
}
},
components: {},
computed: {},
data() {
return {
- dialogWidth: "50%",
+ dialogWidth: "40%",
editConfig: this.editCommonConfig,
queryInput: "",
select: "鍏ㄩ儴瀛楁",
@@ -70,7 +101,21 @@
search_map: {},
searchSel: {},
keyword: "",
- keywordType: ""
+ keywordType: "",
+ showPurchaseCol: ["浜у搧鍚嶇О", "浜у搧缂栧彿", "渚涘簲鍟�", "閲囪喘鍗曚环", "鍗曚綅", "浜у搧瑙勬牸", "鍨嬪彿"],
+ showProductCol: ["浜у搧鍚嶇О", "浜у搧缂栧彿", "閲囪喘鍗曚环", "鍗曚綅", "浜у搧瑙勬牸", "鍨嬪彿"],
+ tableProductColumn: [
+ { label: "浜у搧鍚嶇О", prop: "name", isClick: true },
+ { label: "浜у搧缂栧彿", prop: "number" },
+ { label: "渚涘簲鍟�", prop: "supplierName" },
+ { label: "閲囪喘鍗曚环", prop: "purchasePrice" },
+ { label: "鍗曚綅", prop: "unit" },
+ { label: "浜у搧瑙勬牸", prop: "specifications" },
+ { label: "鍨嬪彿", prop: "modelNumber" }
+ ],
+ showCol: [],
+ tableColumn: [],
+ selectArray: []
}
},
created() {
@@ -78,23 +123,53 @@
this.getData()
},
methods: {
+ setColumnVisible(showCol) {
+ return this.tableColumn.map((ele) => {
+ return {
+ ...ele,
+ isShowColumn: showCol.includes(ele.label)
+ }
+ })
+ },
setTable() {
if (this.editConfig.title === "浜у搧鍚嶇О") {
- this.tableList = {
- tableInfomation: [],
- tableColumn: [
- { label: "浜у搧鍚嶇О", prop: "name", isClick: true },
- { label: "浜у搧缂栧彿", prop: "number" }
- ]
+ if (this.sign == "purchase") {
+ this.showCol = this.showPurchaseCol
+ } else {
+ this.showCol = this.showProductCol
}
- this.searchSel = { value: "name", label: "浜у搧鍚嶇О" }
+
+ this.tableColumn = this.tableProductColumn
}
+ this.tableList = {
+ tableInfomation: [],
+ selectIndex: true,
+ highlight: true,
+ ref: "tableListRef",
+ showcol: this.showCol,
+ allcol: [],
+ tableColumn: this.setColumnVisible(this.showCol)
+ }
+ this.tableList.allcol = this.tableList.tableColumn.filter((ele) => !ele.default).map((ele) => ele.label)
+
this.searchOptions = []
for (let i = 0; i < this.tableList.tableColumn.length; i++) {
const label = this.tableList.tableColumn[i].label
const value = this.tableList.tableColumn[i].prop
this.searchOptions.push({ value: value, label: label })
}
+ },
+ selTableCol(val) {
+ this.showcol = val
+ this.tableList.tableColumn = this.setColumnVisible(val)
+ },
+ // 鍒楄〃澶氶��
+ getSelectArray(val) {
+ this.selectArray = val
+ },
+ saveClick() {
+ this.$emit("getSelectArray", this.selectArray)
+ this.editConfig.editVisible = false
},
// 璇锋眰鏁版嵁
async getData() {
@@ -105,19 +180,28 @@
},
// 浜у搧鍚嶇О
async getProductList() {
- await getProductList({
- page: 1,
- pageSize: 100
+ let fn = this.sign == "purchase" ? getProductList : getProductListFromGrpc
+ await fn({
+ keyword: this.keyword,
+ page: this.pagerOptions.currPage,
+ pageSize: this.pagerOptions.pageSize
}).then((res) => {
- console.log(res.data)
- if (res.data.code === 200) {
- if (res.data.data.list && res.data.data.list.length > 0) {
- const list = res.data.data.list.map((item) => {
- return {
- ...item
+ if (res.code === 200) {
+ if (res.data.list && res.data.list.length > 0) {
+ const list = res.data.list.map((item) => {
+ if (this.sign == "purchase") {
+ return {
+ ...item,
+ supplierName: item.supplier?.name
+ }
+ } else {
+ return {
+ ...item
+ }
}
})
- this.tableList.tableInfomation = list.slice(0, 5) || []
+ this.tableList.tableInfomation = list
+ this.pagerOptions.totalCount = res.data.total
} else {
this.tableList.tableInfomation = []
}
@@ -135,13 +219,9 @@
}
},
// 鎼滅储
- searchClick(val, content) {
- console.log(val, content)
- this.search_map = {
- [val.value]: content
- }
+ searchClick(content) {
+ console.log(content)
this.keyword = content
- this.keywordType = val.label
this.getData()
},
resetClick() {
@@ -179,9 +259,16 @@
cursor: pointer;
}
.dialog-footer {
- height: 40px;
- line-height: 40px;
+ height: 50px;
+ line-height: 50px;
color: red;
+ .btn-pager {
+ display: flex;
+ margin-top: 0px;
+ .page {
+ margin-left: auto;
+ }
+ }
}
::v-deep {
.input-with-select .el-input-group__prepend {
--
Gitblit v1.8.0