From 890781f6894a4af2558e41cc5c9660477b68b9c5 Mon Sep 17 00:00:00 2001 From: yangfeng <wanwan926_4@163.com> Date: 星期三, 01 十一月 2023 19:28:08 +0800 Subject: [PATCH] 公共搜索组件修改、供应商列表及添加产品搜索框修改 --- src/views/supplierManage/supplier/index.vue | 149 ++++++------ /dev/null | 216 ------------------- src/assets/style/index.scss | 2 src/views/supplierManage/supplier/AddNewProduct.vue | 22 + src/views/supplierManage/supplier/AddSupplier.vue | 7 src/assets/img/shaixuan.png | 0 src/assets/img/xiazai.png | 0 package.json | 2 src/assets/img/shoucangfill.png | 0 src/components/makepager/CommonSearch.vue | 160 ++++++-------- src/views/other/commonDialog/SelectCommonDialog.vue | 85 +++++-- 11 files changed, 223 insertions(+), 420 deletions(-) diff --git a/package.json b/package.json index 306b480..76a31e6 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "version": "0.1.0", "private": true, "scripts": { - "serve": "vue-cli-service serve", + "serve": "vue-cli-service serve --open", "build": "vue-cli-service build", "lint": "vue-cli-service lint" }, diff --git a/src/assets/img/shaixuan.png b/src/assets/img/shaixuan.png new file mode 100644 index 0000000..ab3dd53 --- /dev/null +++ b/src/assets/img/shaixuan.png Binary files differ diff --git a/src/assets/img/shoucangfill.png b/src/assets/img/shoucangfill.png new file mode 100644 index 0000000..8ac3848 --- /dev/null +++ b/src/assets/img/shoucangfill.png Binary files differ diff --git a/src/assets/img/xiazai.png b/src/assets/img/xiazai.png new file mode 100644 index 0000000..8dd6e61 --- /dev/null +++ b/src/assets/img/xiazai.png Binary files differ diff --git a/src/assets/style/index.scss b/src/assets/style/index.scss index 89fe4ef..44f2fe4 100644 --- a/src/assets/style/index.scss +++ b/src/assets/style/index.scss @@ -136,7 +136,7 @@ } } -.border_radius_12{ +.border_radius_12 { border-radius: 12px; } diff --git a/src/components/makepager/CommonSearch.vue b/src/components/makepager/CommonSearch.vue index 7e83725..f61df8c 100644 --- a/src/components/makepager/CommonSearch.vue +++ b/src/components/makepager/CommonSearch.vue @@ -2,29 +2,24 @@ <div class="search-list"> <div class="search-top"> <div class="left"> - <el-button v-if="showAdd" type="primary" size="mini" @click="addBtn">{{ - addTitle - }}</el-button> - <div - class="download" - v-if="showDownload" - @click="downloadClick" - :style="{ cursor: showDownload ? 'pointer' : 'no-drop' }" - > - <img - src="../../../public/images/download.png" - style="width: 13px" - alt="涓嬭浇" - /> - </div> + <el-button v-if="showAdd" type="primary" size="mini" @click="addBtn"> + <div style="display: flex"> + <slot name="buttonIcon" /> + <span style="margin-top: 1px; line-height: 15px">{{ addTitle }}</span> + </div> + </el-button> <slot name="leftButton" /> + <div + v-if="showDownload" + class="download" + @click="downloadClick" + :style="{ cursor: showDownload ? 'pointer' : 'no-drop' }" + > + <img src="@/assets/img/xiazai.png" style="width: 13px" /> + </div> </div> <div v-if="amountView" class="amount"> - <div - v-if="twoTotalAmount" - class="top_left" - style="width: 8%; border: 0" - > + <div v-if="twoTotalAmount" class="top_left" style="width: 8%; border: 0px"> <dl> <dd class="font_weight">{{ twoObject.value }}</dd> <dd class="top_right_bottom">{{ twoObject.label }}</dd> @@ -37,16 +32,12 @@ </dl> </div> <div class="top_right" style="width: 50%; margin-right: 15px"> - <dl v-for="item in otherOptions" :key="item.label"> + <dl v-for="item in otherOptions" :key="item.value"> <dd class="font_weight"> {{ item.value }} </dd> <dd class="top_right_bottom"> - <span - v-if="item.status" - class="Badge" - :class="item.status" - ></span> + <span v-if="item.status" class="Badge" :class="item.status"></span> <span>{{ item.label }}</span> </dd> </dl> @@ -56,29 +47,20 @@ <div class="search"> <template v-if="isSearchForm"> <el-input - :placeholder="placeholder" - v-model.trim="searchInput" - class="input-with-select" - style="width: 410px" - clearable - @change="searchClick" - @clear="clearClick" + :placeholder="placeholder" + v-model.trim="searchInput" + class="input-with-select" + style="width: 410px" + clearable + @change="searchClick" + @clear="clearClick" > - <i - slot="suffix" - class="el-icon-search" - style="cursor: pointer" - @click="searchClick" - ></i> + <i slot="suffix" class="el-icon-search" style="cursor: pointer" @click="searchClick"></i> </el-input> </template> - <div class="search-Btn" v-if="showActionBtn"> + <div v-if="showScreen" class="search-Btn"> <div class="common"> - <img - src="../../../public/images/filter.png" - style="width: 10px" - alt="绛涢��" - /> + <img src="@/assets/img/shaixuan.png" style="width: 10px" /> <span>绛涢��</span> </div> <div class="common"> @@ -92,11 +74,7 @@ </div> </div> <div v-if="showSet"> - <i - class="el-icon-setting cursor_pointer font_size_30" - style="color: rgb(128,128,128)" - @click="inspectionConfigClick" - ></i> + <i class="el-icon-setting cursor_pointer font_size_30" style="color: gray" @click="inspectionConfigClick"></i> </div> <div class="right"> <slot name="rightButton"></slot> @@ -112,32 +90,32 @@ props: { showAdd: { type: Boolean, - default: true, + default: true }, showDownload: { type: Boolean, - default: false, + default: false }, showActionBtn: { type: Boolean, - default: true, + default: true }, placeholder: { type: String, - default: "璇疯緭鍏ュ唴瀹�", + default: "璇疯緭鍏ュ唴瀹�" }, addTitle: { type: String, - default: "娣诲姞", + default: "娣诲姞" }, totalObject: { type: Object, default: () => { return { value: 0, - label: "鍏ㄩ儴鐗╂枡", - }; - }, + label: "鍏ㄩ儴鐗╂枡" + } + } }, otherOptions: { type: Array, @@ -145,98 +123,102 @@ { value: 2, label: "瀹夊叏搴撳瓨", - status: "success", + status: "success" }, { value: 12, label: "娆犳枡", - status: "error", + status: "error" }, { value: 2, label: "瀹夊叏搴撳瓨", - status: "success", + status: "success" }, { value: 12, label: "娆犳枡", - status: "error", - }, - ], + status: "error" + } + ] }, searchSel: { type: Object, default: () => { return { value: "name", - label: "", - }; - }, + label: "" + } + } }, twoTotalAmount: { type: Boolean, - default: false, + default: false }, twoObject: { type: Object, default: () => { return { value: 0, - label: "杞﹂棿鎬婚噺", - }; - }, + label: "杞﹂棿鎬婚噺" + } + } }, amountView: { type: Boolean, - default: true, + default: true }, isSearchForm: { type: Boolean, - default: true, + default: true }, showSet: { type: Boolean, - default: false, + default: false }, inputName: { type: String, - default: "", + default: "" }, + showScreen: { + type: Boolean, + default: true + } }, watch: { inputName(val) { - this.searchInput = val; - }, + this.searchInput = val + } }, data() { return { searchInput: "", - searchSelValue: this.searchSel, - }; + searchSelValue: this.searchSel + } }, methods: { // 鎼滅储 searchClick() { - this.$emit("searchClick", this.searchInput); + this.$emit("searchClick", this.searchInput) }, // 娓呴櫎 clearClick() { - this.$emit("clearClick", 1); + this.$emit("clearClick", 1) }, // 娣诲姞 addBtn() { - this.$emit("addCommonClick"); + this.$emit("addCommonClick") }, // 涓嬭浇 downloadClick() { - this.$emit("downloadClick"); + this.$emit("downloadClick") }, // 妯″叿-妫�鏌ラ厤缃� inspectionConfigClick() { - this.$emit("inspectionConfigClick"); - }, - }, -}; + this.$emit("inspectionConfigClick") + } + } +} </script> <!-- Add "scoped" attribute to limit CSS to this component only --> @@ -280,7 +262,7 @@ .font_weight { font-weight: 500; font-size: 18px; - font-family: "DIN Alternate",serif; + font-family: "DIN Alternate", serif; } .top_right_bottom { font-size: 12px; @@ -300,7 +282,7 @@ .font_weight { font-weight: 500; font-size: 18px; - font-family: "DIN Alternate",serif; + font-family: "DIN Alternate", serif; } .top_right_bottom { font-size: 12px; diff --git a/src/views/other/commonDialog/SelectCommonDialog.vue b/src/views/other/commonDialog/SelectCommonDialog.vue index cfe8f7b..2e31f18 100644 --- a/src/views/other/commonDialog/SelectCommonDialog.vue +++ b/src/views/other/commonDialog/SelectCommonDialog.vue @@ -31,7 +31,10 @@ <TableCommonView ref="tableListRef" :table-list="tableList" :select-box="false" @selCommonClick="selNameClick"> </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> </el-dialog> @@ -39,9 +42,12 @@ </template> <script> -import { getProductListFromGrpc,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, @@ -53,16 +59,16 @@ } } }, - sign:{ - type:String, - default:'' + sign: { + type: String, + default: "" } }, components: {}, computed: {}, data() { return { - dialogWidth: "50%", + dialogWidth: "40%", editConfig: this.editCommonConfig, queryInput: "", select: "鍏ㄩ儴瀛楁", @@ -74,7 +80,14 @@ search_map: {}, searchSel: {}, keyword: "", - keywordType: "" + keywordType: "", + showProductCol: ["浜у搧鍚嶇О", "浜у搧缂栧彿"], + tableProductColumn: [ + { label: "浜у搧鍚嶇О", prop: "name", isClick: true }, + { label: "浜у搧缂栧彿", prop: "number" } + ], + showCol: [], + tableColumn: [] } }, created() { @@ -82,23 +95,40 @@ 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" } - ] - } - this.searchSel = { value: "name", label: "浜у搧鍚嶇О" } + this.showCol = this.showProductCol + 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) }, // 璇锋眰鏁版嵁 async getData() { @@ -109,11 +139,12 @@ }, // 浜у搧鍚嶇О async getProductList() { - - let fn = this.sign == "purchase" ? getProductList : getProductListFromGrpc; - await fn({ - page: 1, - pageSize: 100 + let fn = this.sign == "purchase" ? getProductList : getProductListFromGrpc + await fn({ + productName: this.keywordType === "浜у搧鍚嶇О" ? this.keyword : "", + productNumber: this.keywordType === "浜у搧缂栧彿" ? this.keyword : "", + page: this.pagerOptions.currPage, + pageSize: this.pagerOptions.pageSize }).then((res) => { console.log(res.data) if (res.data.code === 200) { @@ -123,7 +154,8 @@ ...item } }) - this.tableList.tableInfomation = list.slice(0, 5) || [] + this.tableList.tableInfomation = list + this.pagerOptions.totalCount = res.data.data.total } else { this.tableList.tableInfomation = [] } @@ -185,9 +217,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 { diff --git a/src/views/other/product/index.vue b/src/views/other/product/index.vue deleted file mode 100644 index 9b43bd8..0000000 --- a/src/views/other/product/index.vue +++ /dev/null @@ -1,216 +0,0 @@ -<template> - <div class="product"> - <div v-if="isDetail" class="detail-top"> - <DetailListCommonBtn :query-class-options="queryClassOptions" /> - <PagerView class="page" :pager-options="pagerOptions" v-on="pagerEvents" /> - </div> - <div v-else class="top"> - <SearchCommonView - ref="searchCommonView" - :query-class-options="queryClassOptions" - :search-options="searchOptions" - :search-sel="searchSel" - @searchClick="searchClick" - @resetClick="resetClick" - /> - <div class="btn-pager"> - <PublicFunctionBtnView :statistics="true" :operates-list="operatesList" @batchDelete="delClick" /> - <PagerView class="page" :pager-options="pagerOptions" v-on="pagerEvents" /> - </div> - </div> - <TableCommonView - ref="tableListRef" - v-loading="loading" - :table-list="tableList" - :select-box="!isDetail" - @getSelectArray="getSelectArray" - > - <!-- <template slot="tableButton"> - <el-table-column label="鎿嶄綔" width="60" fixed="right"> - <template slot-scope="scope"> - <el-button @click="handleClick(scope.row)" type="text" size="small">缂栬緫</el-button> - </template> - </el-table-column> - </template> --> - </TableCommonView> - </div> -</template> - -<script> -import { getProductList } from "@/api/common/other" -import pageMixin from "@/components/makepager/pager/mixin/pageMixin" - -export default { - name: "ProductView", - props: { - isDetail: { - type: Boolean, - default: false - }, - addConfig: { - type: Object, - default: () => { - return {} - } - } - }, - mixins: [pageMixin], - components: {}, - computed: {}, - data() { - return { - tableList: {}, - loading: false, - activeName: "second", - queryClassValue: "1", - queryClassOptions: [ - { value: "1", label: "鍏ㄩ儴" }, - { value: "2", label: "浠婃棩鑱旂郴" }, - { value: "3", label: "鏈懆鑱旂郴" }, - { value: "4", label: "鏈湀鑱旂郴" } - ], - searchOptions: [], - operatesList: [ - { id: "1", name: "鍏变韩" }, - { id: "2", name: "鎵归噺缂栬緫" }, - { id: "3", name: "瀵煎嚭" }, - { id: "4", name: "涓嬭浇鍏ㄩ儴闄勪欢" }, - { id: "5", name: "鏇存敼鍒涘缓浜�" }, - { id: "6", name: "鏍戠粨鏋勮缃�" }, - { id: "7", name: "瀹℃壒璁剧疆" }, - { id: "8", name: "鍥炶棰勮鍒楀" } - ], - editConfig: { - visible: false, - title: "鏂板缓", - infomation: {} - }, - saleChanceName: "", - contactsDeail: { - visible: false, - infomation: {} - }, - clientDeail: { - visible: false, - infomation: {} - }, - selValueList: [], - searchSel: { - value: "topic", - label: "" - }, - search_map: {} - } - }, - created() { - this.setTable() - if (!this.isDetail) { - this.search_map = {} - } else { - this.search_map = { - [this.addConfig.id_name]: this.addConfig.client_name - } - } - this.getData(this.search_map) - }, - methods: { - setTable() { - this.tableList = { - tableInfomation: [], - tableColumn: [ - { label: "浜у搧鍚嶇О", prop: "topic" }, - { label: "浜у搧缂栧彿", prop: "client_name" }, - { label: "浜у搧绫诲埆", prop: "contact_name" }, - { label: "瑙勬牸鍨嬪彿", prop: "client_status" }, - { label: "璁¢噺鍗曚綅", prop: "contact_information_name" }, - { label: "浜у搧鎶ヤ环", prop: "follow_time" }, - { label: "鍙傝�冩垚鏈环", prop: "next_follow_time" }, - { label: "鎬诲簱瀛樻暟閲�", prop: "member_name" }, - { label: "璐熻矗浜�", prop: "record" } - ] - } - 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 }) - } - }, - // 璇锋眰鏁版嵁 - async getData() { - this.loading = true - await getProductList({ - productName: "", - productNumber: "", - page: this.pagerOptions.currPage, - pageSize: this.pagerOptions.pageSize - }) - .then((res) => { - console.log(res) - if (res.code === 200) { - if (res.data.list && res.data.list.length > 0) { - const list = res.data.list.map((item) => { - return { - ...item - } - }) - this.tableList.tableInfomation = list || [] - this.pagerOptions.totalCount = res.data.count - } else { - this.tableList.tableInfomation = [] - } - } else { - this.tableList.tableInfomation = [] - } - this.loading = false - }) - .catch((err) => { - console.log(err) - this.tableList.tableInfomation = [] - this.loading = false - }) - }, - // 鎼滅储 - searchClick(val, content) { - console.log(val, content) - this.search_map = { - [val.value]: content - } - this.getData() - }, - resetClick() { - this.search_map = {} - this.getData() - }, - getSelectArray(val) { - console.log(val) - this.selValueList = [] - const list = val.map((item) => { - return item.id - }) - this.selValueList = list - } - } -} -</script> - -<!-- Add "scoped" attribute to limit CSS to this component only --> -<style lang="scss" scoped> -.product { - .top { - margin-bottom: 20px; - .btn-pager { - display: flex; - .page { - margin-left: auto; - } - } - } - .detail-top { - display: flex; - .page { - margin-left: auto; - } - } -} -</style> diff --git a/src/views/supplierManage/supplier/AddNewProduct.vue b/src/views/supplierManage/supplier/AddNewProduct.vue index cee0353..4ebb1bc 100644 --- a/src/views/supplierManage/supplier/AddNewProduct.vue +++ b/src/views/supplierManage/supplier/AddNewProduct.vue @@ -96,16 +96,18 @@ if (this.editConfig.title === "娣诲姞") { createProduct({ list: this.tableData - }).then((res) => { - console.log(res) - this.editConfig.visible = false - if (res.code === 200) { - this.$message.success("娣诲姞鎴愬姛") - this.$parent.getProductList() - } - }).catch(e=>{ - console.log(e) }) + .then((res) => { + console.log(res) + this.editConfig.visible = false + if (res.code === 200) { + this.$message.success("娣诲姞鎴愬姛") + this.$parent.getProductList() + } + }) + .catch((e) => { + console.log(e) + }) } else { const params = this.saveParams() updateProduct(params).then((res) => { @@ -164,7 +166,7 @@ this.productTableList = { tableData: this.tableData, tableColumn: [ - { label: "浜у搧鍚嶇О", prop: "name", productName: true, isRequird: true }, + { label: "浜у搧鍚嶇О", prop: "name", productName: true, isRequird: true, width: 250 }, { label: "浜у搧缂栫爜", prop: "number" }, { label: "璁¢噺鍗曚綅", prop: "unit" }, { label: "瑙勬牸鍨嬪彿", prop: "specifications" }, diff --git a/src/views/supplierManage/supplier/AddSupplier.vue b/src/views/supplierManage/supplier/AddSupplier.vue index 93e1654..68bad59 100644 --- a/src/views/supplierManage/supplier/AddSupplier.vue +++ b/src/views/supplierManage/supplier/AddSupplier.vue @@ -236,7 +236,7 @@ computed: {}, data() { return { - dialogWidth: "60%", + dialogWidth: "50%", editConfig: this.addCommonConfig, rules: { name: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }], @@ -493,11 +493,6 @@ .file-content { display: flex; } - } - .dialog-footer { - background-color: #f5f5f5; - height: 55px; - line-height: 55px; } } } diff --git a/src/views/supplierManage/supplier/index.vue b/src/views/supplierManage/supplier/index.vue index 0755ae7..d3bccbd 100644 --- a/src/views/supplierManage/supplier/index.vue +++ b/src/views/supplierManage/supplier/index.vue @@ -4,14 +4,14 @@ <div class="filter"> <div class="filter-card"> <CommonSearch - :show-add="true" - add-title="鏂板缓" - @addCommonClick="addBtnClick" - :show-download="false" - :amount-view="false" - :show-action-btn="false" - :placeholder="'璇疯緭鍏ヤ緵搴斿晢鍚嶇О'" - @searchClick="onFilterSearch" + :show-add="true" + add-title="鏂板缓" + @addCommonClick="addBtnClick" + :show-download="true" + :amount-view="false" + :show-action-btn="false" + :placeholder="'璇疯緭鍏ヤ緵搴斿晢鍚嶇О'" + @searchClick="onFilterSearch" /> </div> </div> @@ -19,21 +19,21 @@ <div class="body-card"> <div class="list-view"> <TableCommonView - ref="tableSupplier" - :table-list="tableList" - @selCommonClick="selCommonClick" - @tableRowClick="tableRowClick" - @selTableCol="selTableCol" + ref="tableSupplier" + :table-list="tableList" + @selCommonClick="selCommonClick" + @tableRowClick="tableRowClick" + @selTableCol="selTableCol" > <template slot="tableButton"> <el-table-column label="鎿嶄綔" width="100"> <template slot-scope="scope"> <el-button - v-if="scope.row.status === 0" - @click="enableClick(scope.row, '鍚敤')" - type="text" - size="small" - >鍚敤</el-button + v-if="scope.row.status === 0" + @click="enableClick(scope.row, '鍚敤')" + type="text" + size="small" + >鍚敤</el-button > <el-button v-else @click="enableClick(scope.row, '鍋滅敤')" type="text" size="small">鍋滅敤</el-button> <el-button @click="modifyClick(scope.row)" type="text" size="small">淇敼</el-button> @@ -47,18 +47,18 @@ </div> </div> </div> - </div> <div class="bottom"> <div class="simple-filter"> <div class="simple-filter-card"> <CommonSearch - :show-add="false" - :show-download="false" - :amount-view="false" - :show-action-btn="false" - :placeholder="'璇疯緭鍏ヤ骇鍝佸悕绉�'" - @searchClick="onProductFilterSearch" + :show-add="false" + :show-download="false" + :amount-view="false" + :show-screen="false" + :show-action-btn="false" + :placeholder="'璇疯緭鍏ヤ骇鍝佸悕绉�'" + @searchClick="onProductFilterSearch" > <template slot="leftButton"> <div class="sub-title"><span class="sub-title-decorator"></span>鍙彁渚涚殑浜у搧</div> @@ -74,11 +74,11 @@ <div class="body-card"> <div class="list-view"> <TableCommonView - ref="tableListProduct" - :table-list="productTableList" - @selCommonClick="selCommonClick" - @getSelectArray="getSelectArray" - @selTableCol="selProductTableCol" + ref="tableListProduct" + :table-list="productTableList" + @selCommonClick="selCommonClick" + @getSelectArray="getSelectArray" + @selTableCol="selProductTableCol" > <template slot="tableButton"> <el-table-column label="鎿嶄綔" width="170"> @@ -93,10 +93,10 @@ </div> <div class="btn-pager"> <PagerView - class="page" - :pager-options="productPagerOptions" - @size-change="productChangeHandler" - @current-change="currentProductHandler" + class="page" + :pager-options="productPagerOptions" + @size-change="productChangeHandler" + @current-change="currentProductHandler" /> </div> </div> @@ -130,7 +130,7 @@ computed: {}, data() { return { - searchSupplierName: '', + searchSupplierName: "", tableList: {}, // 渚涘簲鍟嗗垪琛� productTableList: {}, // 浜у搧鍒楄〃 selValueList: [], @@ -160,7 +160,7 @@ totalCount: 0 }, supplierId: 0, - showCol:['渚涘簲鍟嗙紪鍙�','渚涘簲鍟嗗悕绉�','渚涘簲鍟嗙被鍨�','鎵�灞炶涓�','鑱旂郴浜�','鑱旂郴鐢佃瘽','鐘舵��'], + showCol: ["渚涘簲鍟嗙紪鍙�", "渚涘簲鍟嗗悕绉�", "渚涘簲鍟嗙被鍨�", "鎵�灞炶涓�", "鑱旂郴浜�", "鑱旂郴鐢佃瘽", "鐘舵��"], tableColumn: [ { label: "渚涘簲鍟嗙紪鍙�", prop: "number", min: 190, isCommonClick: true }, { label: "渚涘簲鍟嗗悕绉�", prop: "name", min: 130, default: true }, @@ -171,8 +171,8 @@ { label: "鐘舵��", prop: "status_name", min: 130 }, { label: "鍒涘缓鏃堕棿", prop: "created_at", min: 130 } ], - showProductCol:['浜у搧缂栫爜','浜у搧鍚嶇О','浜у搧瑙勬牸','鍗曚綅','閲囪喘浠锋牸','渚涜揣鏃堕暱(澶�)','鐗╂祦鏃堕暱(澶�)'], - productColumn:[ + showProductCol: ["浜у搧缂栫爜", "浜у搧鍚嶇О", "浜у搧瑙勬牸", "鍗曚綅", "閲囪喘浠锋牸", "渚涜揣鏃堕暱(澶�)", "鐗╂祦鏃堕暱(澶�)"], + productColumn: [ { label: "浜у搧缂栫爜", prop: "number", min: 190 }, { label: "浜у搧鍚嶇О", prop: "name", min: 130, default: true }, { label: "浜у搧瑙勬牸", prop: "specifications", min: 130 }, @@ -189,19 +189,19 @@ this.getData() }, methods: { - setColumnVisible(showCol){ - return this.tableColumn.map(ele=>{ + setColumnVisible(showCol) { + return this.tableColumn.map((ele) => { return { ...ele, isShowColumn: showCol.includes(ele.label) } }) }, - setProductColumnVisible(showCol){ - return this.productColumn.map(ele=>{ + setProductColumnVisible(showCol) { + return this.productColumn.map((ele) => { return { ...ele, - isShowColumn:showCol.includes(ele.label) + isShowColumn: showCol.includes(ele.label) } }) }, @@ -213,9 +213,9 @@ ref: "tableListRef", showcol: this.showCol, allcol: [], - tableColumn: this.setColumnVisible(this.showCol), + tableColumn: this.setColumnVisible(this.showCol) } - this.tableList.allcol = this.tableList.tableColumn.filter(ele=>!ele.default).map(ele=>ele.label); + 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++) { @@ -225,8 +225,8 @@ } }, selTableCol(val) { - this.showcol = val; - this.tableList.tableColumn = this.setColumnVisible(val); + this.showcol = val + this.tableList.tableColumn = this.setColumnVisible(val) }, setProductTable() { this.productTableList = { @@ -235,7 +235,7 @@ selectIndex: true, showcol: this.showProductCol, allcol: [], - tableColumn: this.setProductColumnVisible(this.showProductCol), + tableColumn: this.setProductColumnVisible(this.showProductCol) } this.searchProductOptions = [] for (let i = 0; i < this.productTableList.tableColumn.length; i++) { @@ -244,12 +244,14 @@ this.searchProductOptions.push({ value: value, label: label }) } - this.productTableList.allcol = this.productTableList.tableColumn.filter(ele=>!ele.default).map(ele=>ele.label); - console.log('this.productTableList',this.productTableList) + this.productTableList.allcol = this.productTableList.tableColumn + .filter((ele) => !ele.default) + .map((ele) => ele.label) + console.log("this.productTableList", this.productTableList) }, selProductTableCol(val) { - this.showProductCol = val; - this.productTableList.tableColumn = this.setProductColumnVisible(val); + this.showProductCol = val + this.productTableList.tableColumn = this.setProductColumnVisible(val) }, // 璇锋眰鏁版嵁 getData() { @@ -282,13 +284,13 @@ }) // 閲嶆柊鑾峰彇渚涘簲鍟嗗垪琛ㄥ悗搴旇閲嶇疆浜у搧鍒楄〃椤电爜 - this.productPagerOptions.currPage = 1; + this.productPagerOptions.currPage = 1 // 濡傛灉渚涘簲鍟嗗垪琛ㄤ负绌�,鍒欏彲鎻愪緵浜у搧鍒楄〃涔熷簲涓虹┖ - if (list.length){ + if (list.length) { this.getProductList() - }else { - this.productTableList.tableInfomation=[] - this.productPagerOptions.currPage = 1; + } else { + this.productTableList.tableInfomation = [] + this.productPagerOptions.currPage = 1 this.productPagerOptions.totalCount = 0 } } @@ -314,15 +316,15 @@ }) }, // 鎼滅储渚涘簲鍟� - onFilterSearch(searchText){ - this.searchSupplierName = searchText ??'' + onFilterSearch(searchText) { + this.searchSupplierName = searchText ?? "" this.pagerOptions.currPage = 1 this.getSupplierList() }, // 鎼滅储浜у搧 - onProductFilterSearch(searchText){ + onProductFilterSearch(searchText) { this.productPagerOptions.currPage = 1 - this.getProductList('name', searchText) + this.getProductList("name", searchText) }, // 鏂板缓渚涘簲鍟� addBtnClick() { @@ -423,32 +425,32 @@ <!-- Add "scoped" attribute to limit CSS to this component only --> <style lang="scss" scoped> -.supplier{ +.supplier { height: 100%; overflow: hidden; - .top{ + .top { position: relative; height: 55%; - .body{ + .body { position: relative; height: calc(100% - 92px); } } - .bottom{ + .bottom { position: relative; height: 45%; - .body{ + .body { position: relative; height: calc(100% - 40px); padding-top: 0; } } - .filter{ + .filter { height: 80px; display: flex; align-items: center; padding: 12px 20px 0 20px; - &-card{ + &-card { height: 80px; display: flex; align-items: center; @@ -459,13 +461,13 @@ background-color: #fff; } } - .simple-filter{ + .simple-filter { height: 40px; box-sizing: border-box; display: flex; align-items: center; padding: 0 20px; - &-card{ + &-card { height: 80px; display: flex; align-items: center; @@ -473,7 +475,7 @@ flex: 1; } } - .body{ + .body { box-sizing: border-box; padding: 10px 20px; border-radius: 12px; @@ -504,7 +506,7 @@ } } } -.sub-title{ +.sub-title { flex-shrink: 0; margin-right: 20px; font-size: 16px; @@ -513,7 +515,7 @@ line-height: 28px; position: relative; padding-left: 12px; - &-decorator{ + &-decorator { position: absolute; height: 100%; width: 4px; @@ -522,5 +524,4 @@ left: 0; } } - </style> -- Gitblit v1.8.0