From 0f8844dcb400fcdee4ea7831336a6aff382a8cc2 Mon Sep 17 00:00:00 2001 From: songshankun <songshankun@foxmail.com> Date: 星期六, 23 九月 2023 14:59:16 +0800 Subject: [PATCH] fix: 修复搜索供应商列表结果为空时产品列表不为空的bug, 修复产品列表翻页后搜索供应商时产品列表页码未重置的bug, 修复供应商列表/产品列表/采购订单/质检单/退货单翻页后再搜索页码未重置的bug --- src/views/purchaseManage/purchase/index.vue | 329 ++++++++++++++++++++++++++++-------------------------- 1 files changed, 172 insertions(+), 157 deletions(-) diff --git a/src/views/purchaseManage/purchase/index.vue b/src/views/purchaseManage/purchase/index.vue index 7f4dfa0..faee6f8 100644 --- a/src/views/purchaseManage/purchase/index.vue +++ b/src/views/purchaseManage/purchase/index.vue @@ -1,88 +1,102 @@ <template> - <div class="rightContent"> - <div class="content-box" v-loading="tableLoading"> - <div class="supplier-search"> - <SearchCommonView - ref="searchCommonView" - :inputSelect="false" - placeholder="鍙緭鍏ヤ緵搴斿晢,鐗╂枡,閲囪喘鍗曠瓑鎼滅储" - @searchClick="searchClick" - @resetClick="resetClick" + <div class="purchase" v-loading="tableLoading"> + <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" /> - <div class="add-view"> - <el-button type="primary" size="mini" @click="addBtnClick">鏂板缓</el-button> - </div> </div> - <template> - <TableCommonView - class="content-table" - ref="tableListRef" - :table-list="tableList" - @selCommonClick="selCommonClick" - > - <template slot="tableButton"> - <el-table-column label="鐘舵��" width="120"> - <template slot-scope="scope"> - {{ getpurchaseStatus(scope.row.status) }} - </template> - </el-table-column> - <el-table-column label="鎿嶄綔" width="120" fixed="right"> - <template slot-scope="scope"> - <el-button type="text" size="small" @click="editClick(scope.row)" style="margin-right: 5px" + </div> + + <div class="body"> + <div class="body-card"> + <div class="list-view"> + <TableCommonView + ref="tableListRef" + :table-list="tableList" + @selCommonClick="selCommonClick" + @selTableCol="selTableCol" + > + <template slot="tableButton"> + <el-table-column label="鐘舵��" width="120"> + <template slot-scope="scope"> + {{ getpurchaseStatus(scope.row.status) }} + </template> + </el-table-column> + <el-table-column label="鎿嶄綔" width="120" fixed="right"> + <template slot-scope="scope"> + <el-button type="text" size="small" @click="editClick(scope.row)" style="margin-right: 5px" >缂栬緫</el-button - > - <el-button @click="submitClick(scope.row)" type="text" size="small">鎻愪氦</el-button> - </template> - </el-table-column> - </template> - </TableCommonView> + > + <el-button @click="submitClick(scope.row)" type="text" size="small">鎻愪氦</el-button> + </template> + </el-table-column> + </template> + </TableCommonView> + </div> <div class="btn-pager"> <PagerView class="page" :pager-options="pagerOptions" v-on="pagerEvents" /> </div> - </template> + </div> </div> - + + <!-- 鏂板缓/缂栬緫閿�鍞嚎绱� --> <!-- <AddSalesLeadDialog v-if="editSalesLeadConfig.visible" :edit-rightContent-config="editSalesLeadConfig" /> --> <!-- 璇︽儏 --> - <DetailSupplier v-if="commonDetail.visible" :common-detail="commonDetail" /> + <DetailSupplier v-if="commonDetail.visible" :common-detail="commonDetail" /> <!-- 鏂板缓/缂栬緫 --> <AddPurchase v-if="editConfig.visible" :edit-common-config="editConfig" /> </div> </template> <script> - import pageMixin from "@/components/makepager/pager/mixin/pageMixin" -import { - getPurchaseList,getPurchaseInfo,submitPurchase, -} from "@/api/purchaseManage/purchase"; +import { getPurchaseList, getPurchaseInfo, submitPurchase } from "@/api/purchaseManage/purchase" import DetailSupplier from "@/views/purchaseManage/purchase/DetailSupplier" import AddPurchase from "@/views/purchaseManage/purchase/components/AddPurchase" -import { getDataByType } from "@/api/data"; +import { getDataByType } from "@/api/data" export default { name: "SupplierManage", props: {}, - components: { DetailSupplier,AddPurchase }, + components: { DetailSupplier, AddPurchase }, mixins: [pageMixin], computed: {}, data() { return { - tableLoading:false, + tableLoading: false, tableList: {}, // 鍒楄〃 selValueList: [], commonDetail: { visible: false, infomation: {} }, - search:'', - editRow:{}, + search: "", + editRow: {}, editConfig: { visible: false, title: "鍒涘缓", infomation: {} }, - purchaseStatusList:getDataByType('purchaseStatus'), + purchaseStatusList: getDataByType("purchaseStatus"), + tableColumn: [ + { label: "閲囪喘鍗曞彿", prop: "number", min: 150, isCommonClick: true ,default:true}, + { label: "閲囪喘鍗曞悕绉�", prop: "name", min: 130, isCommonClick: true }, + { label: "鍗曟嵁绫诲瀷", prop: "orderType", min: 130 }, + { label: "渚涘簲鍟嗗悕绉�", prop: "contact", min: 130 }, + { label: "閲囪喘鏁伴噺", prop: "quantity", min: 130 }, + { label: "鏀惰揣浠撳簱", prop: "warehouse", min: 130 }, + { label: "缁忓姙浜�", prop: "handledBy", min: 130 }, + { label: "鍒跺崟浜�", prop: "creator", min: 130 } + ], + showCol: ['閲囪喘鍗曞彿', '閲囪喘鍗曞悕绉�', '鍗曟嵁绫诲瀷', '渚涘簲鍟嗗悕绉�', '閲囪喘鏁伴噺', '鏀惰揣浠撳簱'] } }, created() { @@ -94,28 +108,34 @@ if (val) { for (let i in this.purchaseStatusList) { if (this.purchaseStatusList[i].id == val) { - return this.purchaseStatusList[i].name; + return this.purchaseStatusList[i].name } } } else { - return "--"; + return "--" } + }, + setColumnVisible(showCol){ + return this.tableColumn.map(ele=>{ + return { + ...ele, + isShowColumn:showCol.includes(ele.label) + } + }) }, setTable() { this.tableList = { tableInfomation: [], selectIndex: true, - tableColumn: [ - { label: "閲囪喘鍗曞彿", prop: "number", min: 150, isCommonClick: true }, - { label: "閲囪喘鍗曞悕绉�", prop: "name", min: 130, isCommonClick: true}, - { label: "鍗曟嵁绫诲瀷", prop: "orderType", min: 130 }, - { label: "渚涘簲鍟嗗悕绉�", prop: "contact", min: 130 }, - { label: "閲囪喘鏁伴噺", prop: "quantity", min: 130 }, - { label: "鏀惰揣浠撳簱", prop: "warehouse", min: 130 }, - { label: "缁忓姙浜�", prop: "handledBy", min: 130 }, - { label: "鍒跺崟浜�", prop: "creator", min: 130 }, - ] + showcol: this.showCol, + allcol: [], + tableColumn:this.setColumnVisible(this.showCol) } + this.tableList.allcol = this.tableList.tableColumn.filter(ele=>!ele.default).map(ele=>ele.label); + }, + selTableCol(val) { + this.showcol = val; + this.tableList.tableColumn = this.setColumnVisible(val); }, // 璇锋眰鏁版嵁 async getData() { @@ -136,13 +156,9 @@ }) }, // 鎼滅储 - searchClick(val, content) { - console.log(val, content) - this.search = content - this.getData() - }, - resetClick() { - this.search = '' + onFilterSearch(searchText){ + this.search = searchText ?? '' + this.pagerOptions.currPage = 1 this.getData() }, // 鏂板缓 @@ -152,89 +168,88 @@ this.editConfig.visible = true this.editConfig.title = "鍒涘缓" this.editConfig.infomation = { - productList:[], - purchaseTypeId:'', - supplierId:'', - supplierName:'', - orderSource:'鎵嬪姩鍒涘缓', - name:'', - contact:'', - phone:'', - signingDate:'', - deliveryDate:'', - remark:'', - wholeDiscountType:null, - wholeDiscount:0, - priceAdjustmentType:null, - priceAdjustment:0, - realTotalPrice:0, - } + productList: [], + purchaseTypeId: "", + supplierId: "", + supplierName: "", + orderSource: "鎵嬪姩鍒涘缓", + name: "", + contact: "", + phone: "", + signingDate: "", + deliveryDate: "", + remark: "", + wholeDiscountType: null, + wholeDiscount: 0, + priceAdjustmentType: null, + priceAdjustment: 0, + realTotalPrice: 0 + } }, - + // 缂栬緫 - editClick(row){ - this.tableLoading=true - getPurchaseInfo({id:row.ID}).then((res) => { + editClick(row) { + this.tableLoading = true + getPurchaseInfo({ id: row.ID }).then((res) => { if (res.code == 200) { - this.tableLoading=false + this.tableLoading = false this.editConfig.visible = true this.editConfig.title = "缂栬緫" - this.editConfig.infomation = { - productList:res.data.productList, - supplierName:res.data.purchase.supplier.name, - ...res.data.purchase, - } - }else{ - this.$message.error(res.msg?res.msg+',':''+'鑾峰彇淇℃伅澶辫触锛�') + this.editConfig.infomation = { + productList: res.data.productList, + supplierName: res.data.purchase.supplier.name, + ...res.data.purchase + } + } else { + this.$message.error(res.msg ? res.msg + "," : "" + "鑾峰彇淇℃伅澶辫触锛�") } }) - setTimeout(()=>{ - this.tableLoading=false - },3000) + setTimeout(() => { + this.tableLoading = false + }, 3000) // this.editRow = row; // this.$refs.add.islook = true; - }, // 纭鍙戣揣 submitClick(row) { - this.$confirm("鏄惁鎻愪氦?", "鎻愮ず", { - confirmButtonText: "纭畾", - cancelButtonText: "鍙栨秷", - type: "warning" - }) - .then(() => { - console.log("dddd") - submitPurchase({ id: row.ID }).then((response) => { - if (response.code === 200) { - this.$message.success("鎻愪氦鎴愬姛") - this.getData() - } else { - this.$message.warning("鎻愪氦澶辫触") - } - }) + this.$confirm("鏄惁鎻愪氦?", "鎻愮ず", { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + type: "warning" + }) + .then(() => { + console.log("dddd") + submitPurchase({ id: row.ID }).then((response) => { + if (response.code === 200) { + this.$message.success("鎻愪氦鎴愬姛") + this.getData() + } else { + this.$message.warning("鎻愪氦澶辫触") + } }) - .catch(() => {}) + }) + .catch(() => {}) }, - + // 璇︽儏 selCommonClick(row) { console.log(row) - this.tableLoading=true - getPurchaseInfo({id:row.ID}).then((res) => { + this.tableLoading = true + getPurchaseInfo({ id: row.ID }).then((res) => { if (res.code == 200) { - this.tableLoading=false + this.tableLoading = false this.commonDetail.visible = true - this.commonDetail.infomation = { - productList:res.data.productList, + this.commonDetail.infomation = { + productList: res.data.productList, ...res.data.purchase - } - }else{ - this.$message.error(res.msg?res.msg+',':''+'鑾峰彇淇℃伅澶辫触锛�') + } + } else { + this.$message.error(res.msg ? res.msg + "," : "" + "鑾峰彇淇℃伅澶辫触锛�") } }) - setTimeout(()=>{ - this.tableLoading=false - },3000) + setTimeout(() => { + this.tableLoading = false + }, 3000) } } } @@ -242,40 +257,40 @@ <!-- Add "scoped" attribute to limit CSS to this component only --> <style lang="scss" scoped> -.rightContent { - width:100%; - height:calc(100% - 10px); - .content-box { - height:100%; - .supplier-search { +.purchase{ + height: 100%; + overflow: hidden; + background-color: transparent; + .filter{ + height: 80px; + display: flex; + align-items: center; + padding: 12px 20px 0 20px; + &-card{ + height: 80px; display: flex; align-items: center; - .add-view { - margin-left: auto; - margin-right: 20px; - } - } - .content-table{ - // height:calc(100% - 60px - 42px); - } - .btn-pager { - display: flex; - .page { - margin-left: auto; - } + box-sizing: border-box; + padding: 10px 20px; + flex: 1; + border-radius: 12px; + background-color: #fff; } } - .bottom { - .product-search { - display: flex; - align-items: center; - .search { - margin-left: auto; - } - .add-view { - margin-left: 20px; - margin-right: 20px; - } + .body{ + box-sizing: border-box; + padding: 10px 20px; + border-radius: 12px; + height: calc(100% - 92px); + &-card { + background-color: #fff; + border-radius: 12px; + height: 100%; + overflow: hidden; + } + .list-view { + height: calc(100% - 60px); + overflow: hidden; } .btn-pager { display: flex; -- Gitblit v1.8.0