From 1888b426ff2b6a529f5fdef0f0453dadef71824b Mon Sep 17 00:00:00 2001 From: haoxuan <haoxuan> Date: 星期三, 17 四月 2024 10:17:38 +0800 Subject: [PATCH] 隐藏多单位的问题 --- src/views/reportForm/inventoryReport/index.vue | 318 ++++++++++++++++++++++++++-------------------------- 1 files changed, 157 insertions(+), 161 deletions(-) diff --git a/src/views/reportForm/inventoryReport/index.vue b/src/views/reportForm/inventoryReport/index.vue index 114cc63..52fa318 100644 --- a/src/views/reportForm/inventoryReport/index.vue +++ b/src/views/reportForm/inventoryReport/index.vue @@ -3,8 +3,9 @@ <div class="rightContent"> <div class="top"> <SearchCommonView + :showAdd="false" :add-title="'鏂板缓'" - :placeholder="'璇疯緭鍏ュ弬鑰�'" + :placeholder="'璇疯緭鍏ヤ骇鍝佸悕绉版垨浜у搧绫诲埆'" :amount-view="false" @addCommonClick="addBtnClick" @searchClick="getList" @@ -21,25 +22,22 @@ v-for="(item, index) in warehouseList" :key="index" v-model="stashRadio" - :label="item.name" + :label="item.code" @change="radioHandleChange" >{{ item.name }}</el-radio > - <!-- <el-radio v-model="stashRadio" label="2">澶囬�夐」</el-radio> --> + <!-- @click.prevent.native="checkRadio(item.code)" 鍙栨秷鍗曢�夐」 --> </template> </div> <p style="margin-top: 30px">绫诲埆</p> <el-checkbox-group v-model="checkList" @change="checkListHandler"> - <el-checkbox - v-for="item in categoryList" - :key="item.id" - :label="item.id" - >{{ item.name }}</el-checkbox - > + <el-checkbox v-for="item in categoryList" :key="item.id" :label="item.id"> + {{ item.name }} + </el-checkbox> </el-checkbox-group> </div> - <div class="con_right"> - <div class="list-view"> + <div class="list-view"> + <div class="table"> <TableCommonView ref="tableListRef" :table-list="tableList" @@ -50,26 +48,20 @@ <template slot="tableButton"> <el-table-column label="鎿嶄綔" width="220" align="center"> <template slot-scope="scope"> - <span @click="handleHistoryClick(scope.row)"> + <span @click="handleHistoryClick(scope.row)" class="yes-cursor"> <i class="el-icon-refresh-left"></i> <span>鍘嗗彶</span> </span> - <span @click="handleAddGoods(scope)" class="margin_left_5px"> + <span @click="handleAddGoods(scope.row)" class="margin_left_5px;" style="cursor: pointer"> <i class="el-icon-refresh"></i> <span>琛ヨ揣</span> </span> <template> - <span - @click="handleLocation(scope)" - class="margin_left_5px" - > + <span @click="handleLocation(scope)" class="margin_left_5px yes-cursor"> <i class="el-icon-menu"></i> <span>浣嶇疆</span> </span> - <span - @click="handleForecast(scope)" - class="margin_left_5px" - > + <span @click="handleForecast(scope)" class="margin_left_5px no-cursor"> <i class="el-icon-s-data"></i> <span>棰勬祴</span> </span> @@ -78,38 +70,25 @@ </el-table-column> </template> </TableCommonView> - <div class="btn-pager"> - <PagerView - class="page" - :pager-options="pagerOptions" - :page-size="pageSizes" - v-on="pagerEvents" - /> - </div> + </div> + <div class="btn-pager"> + <PagerView class="page" :pager-options="pagerOptions" :page-size="pageSizes" v-on="pagerEvents" /> </div> </div> </div> <!-- 缂栬緫 dialog--> - <AddOverviewDialog - v-if="editConfig.visible" - :edit-common-config="editConfig" - :add-name="this.$route.params.name" - /> + <AddOverviewDialog v-if="editConfig.visible" :edit-common-config="editConfig" :add-name="this.$route.params.name" /> </div> </template> <script> -import pageMixin from "@/components/makepager/pager/mixin/pageMixin"; -import AddOverviewDialog from "@/views/overview/AddOverviewDialog"; -import { - getInventoryData, - getProductCategoryList, - getWarehouseList, -} from "@/api/reportForm/inventoryRwport"; +import pageMixin from "@/components/makepager/pager/mixin/pageMixin" +import AddOverviewDialog from "@/views/overview/AddOverviewDialog" +import { getInventoryData, getProductCategoryList, getWarehouseList } from "@/api/reportForm/inventoryRwport" export default { - name: "InboundOutboundDetail", + name: "inventoryReport", props: {}, components: { AddOverviewDialog }, mixins: [pageMixin], @@ -130,7 +109,7 @@ inStorage: "100.00", // 鍏ュ簱 toStore: "20.00", // 鍑哄簱 forecast: "0.00", //棰勬祴 - unit: "浠�", //鍗曚綅 + unit: "浠�" //鍗曚綅 }, { product: "鍗楁柟涓濆发12306xxx", @@ -142,8 +121,8 @@ inStorage: "0.00", toStore: "0.00", forecast: "0.00", - unit: "浠�", - }, + unit: "浠�" + } ], tableList: {}, showcol: ["浜у搧绫诲埆", "鍗曚綅鎴愭湰", "鎬讳环鍊�", "鍏ュ簱", "鍑哄簱"], @@ -152,12 +131,12 @@ commonDetail: { visible: false, title: "鏂板缓", - infomation: {}, + infomation: {} }, editConfig: { visible: false, title: "鏂板缓", - infomation: {}, + infomation: {} }, productId: this.$route.params.id, productName: this.$route.params.name, @@ -169,48 +148,56 @@ pageSizes: [15, 30], oldRadioBtn: "", metaTitle: this.$route.meta.title, - }; + searchStr: this.$route.params.name ?? "" + } }, created() { - this.setTable(); - this.getData(); //搴撳瓨鎶ヨ〃 - this.getStashData(); // 浠撳簱鍒楄〃鏁版嵁 - this.getProductCategoryList(); + this.setTable() + this.getData() //搴撳瓨鎶ヨ〃 + this.getStashData() // 浠撳簱鍒楄〃鏁版嵁 + this.getProductCategoryList() }, mounted() { - this.countSums(); + this.countSums() }, methods: { checkListHandler(e) { - this.categoryListId = e; - this.getData(); + this.categoryListId = e + this.getData() }, radioHandleChange(e) { - this.warehouseListName = e; - this.getData(); + this.warehouseListName = e + this.getData() }, + // checkRadio(val){ + // console.log(val) + // val == this.stashRadio ? this.stashRadio = '' : this.stashRadio = val + // this.warehouseListName = val + // this.getData() + // }, setTable() { if (this.isIconIndex === "1") { - this.pageSizes = [30, 60]; - this.pagerOptions.pageSize = 30; + this.pageSizes = [30, 60] + this.pagerOptions.pageSize = 30 } this.tableList = { tableInfomation: [], - selectBox: true, + selectBox: false, + selectIndex: true, showcol: this.showcol, countcol: this.countcol, allcol: [], - tableColumn: this.setTableColumn(this.showcol), - }; + tableColumn: this.setTableColumn(this.showcol) + } // this.tableList.tableInfomation = this.testArr; - let allcol = []; + let allcol = [] for (let i = 0; i < this.tableList.tableColumn.length; i++) { if (!this.tableList.tableColumn[i].default) { - const label = this.tableList.tableColumn[i].label; - allcol.push(label); + const label = this.tableList.tableColumn[i].label + allcol.push(label) } } - this.tableList.allcol = allcol; + this.tableList.allcol = allcol }, setTableColumn(showcol) { let tableColumn = [ @@ -219,20 +206,21 @@ prop: "productName", default: true, width: 300, - isShowColumn: true, + isShowColumn: true // date: true, // 鏄惁涓烘棩鏈熸牸寮� }, { label: "浜у搧绫诲埆", prop: "productType", default: true, - isShowColumn: showcol.includes("浜у搧绫诲埆"), + isShowColumn: showcol.includes("浜у搧绫诲埆") }, { label: "鍗曚綅鎴愭湰", prop: "cost", default: false, isShowColumn: showcol.includes("鍗曚綅鎴愭湰"), + textAlign: "right" }, { label: "鎬讳环鍊�", @@ -240,6 +228,7 @@ default: false, isShowColumn: showcol.includes("鎬讳环鍊�"), unit: "锟�", + textAlign: "right" }, { label: "鍦ㄥ簱", @@ -247,6 +236,7 @@ default: true, isShowColumn: true, unit: "", + textAlign: "right" }, { label: "鍙敤搴撳瓨", @@ -254,6 +244,7 @@ default: true, isShowColumn: true, unit: "", + textAlign: "right" }, { label: "鍏ュ簱", @@ -261,6 +252,7 @@ default: false, isShowColumn: showcol.includes("鍏ュ簱"), unit: "", + textAlign: "right" }, { label: "鍑哄簱", @@ -268,83 +260,83 @@ isShowColumn: showcol.includes("鍑哄簱"), default: false, unit: "", + textAlign: "right" }, { label: "棰勬祴", prop: "forecast", isShowColumn: showcol.includes("棰勬祴"), default: false, - unit: "", + unit: "" }, { label: "鍗曚綅", prop: "unit", default: true, - isShowColumn: true, - }, - ]; - return tableColumn; + isShowColumn: true + } + ] + return tableColumn }, selTableCol(val) { - this.showcol = val; - this.tableList.tableColumn = this.setTableColumn(val); + this.showcol = val + this.tableList.tableColumn = this.setTableColumn(val) }, getList(val) { - console.log(val); + this.searchStr = val + this.getData() }, // 琛岀偣鍑� tableRowClick(row) { - console.log(row); + console.log(row) // this.editConfig.visible = true; - this.editConfig.title = "鏌ョ湅"; - this.editConfig.infomation = { ...row }; + this.editConfig.title = "鏌ョ湅" + this.editConfig.infomation = { ...row } }, // 鏂板缓 addBtnClick() { // this.editConfig.visible = true; - this.editConfig.title = "鏂板缓"; - this.getData(); + // this.editConfig.title = "鏂板缓" + // this.getData() }, // 鐘舵�� getStatus(val) { - return val === 1 ? "鑽夌" : val === 3 ? "灏辩华" : "瀹屾垚"; + return val === 1 ? "鑽夌" : val === 3 ? "灏辩华" : "瀹屾垚" }, // 鍘嗗彶 handleHistoryClick(row) { this.$router.push({ name: "inboundOutboundDetail", params: { - name: this.metaTitle, - product: { - page: this.pagerOptions.currPage, - pageSize: this.pagerOptions.pageSize, - produceId: row.produceId, - productName: row.productName, - unit: row.unit, - }, - pageName:"鎶ヨ〃", - paramsKey: { - amount: "amount", - status: "status", //鐘舵�� - productName:"productName", //浜у搧鍚嶇О - contactedName: "contactedName", - date: "date", - fromLocation: "fromLocation", - number: "number", - toLocation: "toLocation", - unit: "unit", - }, - }, - }); + keyWord: row.productName, + produceId: row.produceId, + unit: row.unit, + productName: row.productName, + name: "鎶ヨ〃" + } + }) }, // 琛ヨ揣 handleAddGoods(row) { - console.log(row); + this.$router.push({ + name: "orderPoint", + params: { + productId: row.produceId + } + }) }, // 浣嶇疆 - handleLocation() { - this.$router.push("/reportForm/locationReport"); + handleLocation(row) { + this.$router.push({ + name: "locationReport", + params: { + // keyWord:row.row.productName, + wareHouseCode: this.warehouseListName, + productId: row.row.produceId, + name: "搴撳瓨鎶ヨ〃" + } + }) }, // 棰勬祴 handleForecast() {}, @@ -361,90 +353,94 @@ inStorage: item.inStorage, // 鍏ュ簱 toStore: item.toStore, // 鍑哄簱 forecast: item.forecast, //棰勬祴 - unit: item.unit, //鍗曚綅 - }; - this.testArr.push(obj); - }); + unit: item.unit //鍗曚綅 + } + this.testArr.push(obj) + }) }, //鎺ュ彛璇锋眰----------------------------------------------------------------------------------------------- // 鑾峰彇搴撳瓨鎶ヨ〃鏁版嵁 - async getData() { + async getInventoryData(params) { + await getInventoryData(params).then((res) => { + if (res.code === 200) { + const list = res.data + this.tableList.tableInfomation = list || [] + this.pagerOptions.totalCount = res.total + } + }) + }, + getData() { let params = { + keyWord: this.searchStr, categoryIds: this.categoryListId, page: this.pagerOptions.currPage, pageSize: this.pagerOptions.pageSize, - warehouseCode: this.warehouseListName, - }; - await getInventoryData(params).then((res) => { - if (res.code === 200) { - const list = res.data; - this.tableList.tableInfomation = list || []; - this.pagerOptions.totalCount = res.total; - } - }); + warehouseCode: this.warehouseListName + } + this.getInventoryData(params) }, // 鑾峰彇浜у搧绫诲瀷鍒楄〃鏁版嵁 async getProductCategoryList() { await getProductCategoryList({ keyWord: "", page: this.pagerOptions.currPage, - pageSize: this.pagerOptions.pageSize, + pageSize: this.pagerOptions.pageSize }).then((res) => { if (res.code === 200) { - this.categoryList = res.data; + this.categoryList = res.data } - }); + }) }, // 璇锋眰浠撳簱鍒楄〃鏁版嵁 async getStashData() { await getWarehouseList({ keyword: "", page: this.pagerOptions.currPage, - pageSize: this.pagerOptions.pageSize, + pageSize: this.pagerOptions.pageSize }).then((res) => { - if (res.data.code === 200) { - this.warehouseList = res.data.data; + if (res.code === 200) { + this.warehouseList = res.data } - }); - }, - }, -}; + }) + } + } +} </script> <!-- Add "scoped" attribute to limit CSS to this component only --> <style lang="scss" scoped> -.rightContent { - height: 100%; - background: #e6ecf2; - // width: 100%; - padding: 10px; - .top { - margin-bottom: 20px; - height: 60px; - background: #fff; - border-radius: 8px; +.content_wrap { + height: calc(100% - 0px); + display: flex; + justify-content: space-between; + .con_left { + width: 200px; + .el-checkbox-group { + width: 100%; + display: flex; + flex-direction: column; + } + .stash { + display: flex; + flex-direction: column; + } } - .content_wrap { - height: calc(100% - 50px); - display: flex; - justify-content: space-between; - .con_left { - width: 200px; - .el-checkbox-group { - display: flex; - flex-direction: column; - } - .stash { - display: flex; - flex-direction: column; - } - } - .con_right { - width: calc(100% - 200px); - } + .list-view { + flex: 1; } } - -// } +::v-deep { + .el-checkbox { + padding: 5px; + } + .el-checkbox__label { + width: 95%; + box-sizing: border-box; + padding-right: 5px; + word-break: break-all; + word-wrap: break-word; + white-space: pre-wrap !important; + } +} </style> -- Gitblit v1.8.0