From 25b727a5dc28f3c2d225c5e017da58f35c6b84b3 Mon Sep 17 00:00:00 2001 From: zzq <a13193816592@163.com> Date: 星期二, 26 九月 2023 19:38:40 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/zzq' --- src/views/reportForm/inventoryReport/index.vue | 346 +++++++++++++++++++++---------- src/views/reportForm/locationReport/index.vue | 286 ++++++++++++++++--------- src/api/reportForm/inventoryRwport.js | 5 3 files changed, 420 insertions(+), 217 deletions(-) diff --git a/src/api/reportForm/inventoryRwport.js b/src/api/reportForm/inventoryRwport.js new file mode 100644 index 0000000..7e1c92d --- /dev/null +++ b/src/api/reportForm/inventoryRwport.js @@ -0,0 +1,5 @@ +// 搴撳瓨鎶ヨ〃 +// import request from "@/common/untils/request.js" +// import axios from "axios" + +// 鏂板缓搴撳瓨鎶ヨ〃 \ No newline at end of file diff --git a/src/views/reportForm/inventoryReport/index.vue b/src/views/reportForm/inventoryReport/index.vue index d65260c..be0d63d 100644 --- a/src/views/reportForm/inventoryReport/index.vue +++ b/src/views/reportForm/inventoryReport/index.vue @@ -1,35 +1,95 @@ +<!-- 搴撳瓨鎶ヨ〃 --> <template> <div class="rightContent"> <div class="top"> <SearchCommonView :add-title="'鏂板缓'" - :showAdd="false" :placeholder="'璇疯緭鍏ュ弬鑰�'" :amount-view="false" @addCommonClick="addBtnClick" @searchClick="getList" /> </div> - <div class="list-view"> - <TableCommonView - ref="tableListRef" - :table-list="tableList" - @selTableCol="selTableCol" - @tableRowClick="tableRowClick" - ></TableCommonView> - <div class="btn-pager"> - <PagerView class="page" :pager-options="pagerOptions" v-on="pagerEvents" /> + + <div class="content_wrap"> + <div class="con_left"> + <p>绫诲埆</p> + <el-checkbox-group v-model="checkList"> + <el-checkbox label="涓濈桓鍒跺搧"></el-checkbox> + <el-checkbox label="涓濈桓鍒跺搧/瀹跺叿鏈�"></el-checkbox> + <el-checkbox label="涓濈桓鍒跺搧/鐪熶笣鍚婂甫"></el-checkbox> + <el-checkbox label="涓濈桓鍒跺搧/鐪熶笣濂楄"></el-checkbox> + <el-checkbox label="涓濈桓鍒跺搧/鐪熶笣鐫¤"></el-checkbox> + <el-checkbox label="涓濈桓鍒跺搧/铓曚笣琚�"></el-checkbox> + </el-checkbox-group> + </div> + <div class="con_right"> + <div class="list-view"> + <TableCommonView + ref="tableListRef" + :table-list="tableList" + @selTableCol="selTableCol" + @tableRowClick="tableRowClick" + > + <template slot="tableButton"> + <el-table-column + label="鎿嶄綔" + width="220" + align="center" + > + <template slot-scope="scope"> + <span @click="handleHistoryClick(scope.row)"> + <i class="el-icon-refresh-left"></i> + <span>鍘嗗彶</span> + </span> + <span @click="handleAddGoods(scope)" class="margin_left_5px"> + <i class="el-icon-refresh"></i> + <span>琛ヨ揣</span> + </span> + <template> + <span + @click="handleLocation(scope)" + class="margin_left_5px" + > + <i class="el-icon-menu"></i> + <span>浣嶇疆</span> + </span> + <span + @click="handleForecast(scope)" + class="margin_left_5px" + > + <i class="el-icon-s-data"></i> + <span>棰勬祴</span> + </span> + </template> + </template> + </el-table-column> + </template> + </TableCommonView> + <div class="btn-pager"> + <PagerView + class="page" + :pager-options="pagerOptions" + v-on="pagerEvents" + /> + </div> + </div> </div> </div> - <!-- 缂栬緫 --> - <AddOverviewDialog v-if="editConfig.visible" :edit-common-config="editConfig" :add-name="this.$route.params.name" /> + + <!-- 缂栬緫 dialog--> + <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 { getProductOperatonList } from "@/api/product/product" -import AddOverviewDialog from "@/views/overview/AddOverviewDialog" +import pageMixin from "@/components/makepager/pager/mixin/pageMixin"; +import { getProductOperatonList } from "@/api/product/product"; +import AddOverviewDialog from "@/views/overview/AddOverviewDialog"; export default { name: "InboundOutboundDetail", @@ -39,26 +99,54 @@ computed: {}, data() { return { + checkList: [], + + testArr: [ + { + product: "鍗楁柟涓濆发xxx", + category: "涓濈桓鍒跺搧/鐪熶笣鐫¤", + cost: "800.00", + totalPrices: "0.00", + inStore: "0.00", + availableStore: "0.00", + inStorage: "0.00", + toStore: "0.00", + forecast: "0.00", + unit: "浠�", + }, + { + product: "鍗楁柟涓濆发12306xxx", + category: "涓濈桓鍒跺搧/鐪熶笣鐫¤", + cost: "9980.00", + totalPrices: "0.00", + inStore: "0.00", + availableStore: "0.00", + inStorage: "0.00", + toStore: "0.00", + forecast: "0.00", + unit: "浠�", + }, + ], tableList: {}, - showcol: ["鐘舵��"], + showcol: ["浜у搧绫诲埆", "鍗曚綅鎴愭湰", "鎬讳环鍊�", "鍏ュ簱", "鍑哄簱"], searchOptions: [], commonDetail: { visible: false, title: "鏂板缓", - infomation: {} + infomation: {}, }, editConfig: { visible: false, title: "鏂板缓", - infomation: {} + infomation: {}, }, productId: this.$route.params.id, - productName: this.$route.params.name - } + productName: this.$route.params.name, + }; }, created() { - this.setTable() - this.getData() + this.setTable(); + // this.getData(); }, methods: { setTable() { @@ -67,144 +155,180 @@ selectBox: true, showcol: this.showcol, allcol: [], - tableColumn: this.setTableColumn(this.showcol) - } - let allcol = [] + tableColumn: this.setTableColumn(this.showcol), + }; + this.tableList.tableInfomation = this.testArr; + 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 = [ { - label: "鏃ユ湡", - prop: "operationDate", + label: "浜у搧", + prop: "product", isShowColumn: true, default: true, - date: true + width:300, + + // date: true, // 鏄惁涓烘棩鏈熸牸寮� }, { - label: "鍗曞彿", - prop: "number", + label: "浜у搧绫诲埆", + prop: "category", isShowColumn: true, - default: true + default: true, + isShowColumn: showcol.includes("浜у搧绫诲埆"), }, { - label: "浜у搧", - prop: "productName", + label: "鍗曚綅鎴愭湰", + prop: "cost", isShowColumn: true, - default: true + default: false, + isShowColumn: showcol.includes("鍗曚綅鎴愭湰"), }, { - label: "浠�", - prop: "from", + label: "鎬讳环鍊�", + prop: "totalPrices", isShowColumn: true, - default: true + default: false, + isShowColumn: showcol.includes("鎬讳环鍊�"), }, { - label: "鑷�", - prop: "to", + label: "鍦ㄥ簱", + prop: "inStore", isShowColumn: true, - default: true + default: true, }, { - label: "鏁伴噺", - prop: "amount", + label: "鍙敤搴撳瓨", + prop: "availableStore", isShowColumn: true, - default: true + default: true, + }, + { + label: "鍏ュ簱", + prop: "inStorage", + isShowColumn: true, + default: false, + isShowColumn: showcol.includes("鍏ュ簱"), + }, + { + label: "鍑哄簱", + prop: "toStore", + isShowColumn: true, + isShowColumn: showcol.includes("鍑哄簱"), + default: false, + }, + { + label: "棰勬祴", + prop: "forecast", + isShowColumn: false, + isShowColumn: showcol.includes("棰勬祴"), + default: false, }, { label: "鍗曚綅", prop: "unit", isShowColumn: true, - default: true + default: true, + // price:true + // status: true, + // propType: "mulitple", + // conversion: true, }, - { - label: "鐘舵��", - prop: "status", - width: 120, - isShowColumn: showcol.includes("鐘舵��"), - default: false, - status: true, - isCallMethod: true, - getCallMethod: this.getStatus - }, - { - label: "瀹屾垚鑰�", - prop: "admin", - isShowColumn: showcol.includes("瀹屾垚鑰�"), - default: false - } - ] - return tableColumn + ]; + return tableColumn; }, selTableCol(val) { - this.showcol = val - this.tableList.tableColumn = this.setTableColumn(val) + this.showcol = val; + this.tableList.tableColumn = this.setTableColumn(val); }, // 璇锋眰鏁版嵁 - async getData() { - await getProductOperatonList({ - productId: this.productId, - page: this.pagerOptions.currPage, - pageSize: this.pagerOptions.pageSize - }).then((res) => { - if (res.code === 200) { - const list = res.data.map((item) => { - return { - ...item, - from: item.fromLocation.name, - to: item.toLocation.name, - productName: this.productName - } - }) - this.tableList.tableInfomation = list || [] - this.pagerOptions.totalCount = res.total - } - }) - }, + // async getData() { + // await getProductOperatonList({ + // productId: this.productId, + // page: this.pagerOptions.currPage, + // pageSize: this.pagerOptions.pageSize, + // }).then((res) => { + // if (res.code === 200) { + // const list = res.data.map((item) => { + // return { + // ...item, + // from: item.fromLocation.name, + // to: item.toLocation.name, + // productName: this.productName, + // }; + // }); + // this.tableList.tableInfomation = list || []; + // this.pagerOptions.totalCount = res.total; + // } + // }); + // }, // 鎼滅储 getList(val) { - console.log(val) + console.log(val); }, // 琛岀偣鍑� tableRowClick(row) { - console.log(row) - this.editConfig.visible = true - this.editConfig.title = "鏌ョ湅" - this.editConfig.infomation = { ...row } + console.log(row); + // this.editConfig.visible = true; + this.editConfig.title = "鏌ョ湅"; + this.editConfig.infomation = { ...row }; }, // 鏂板缓 addBtnClick() { - this.editConfig.visible = true - this.editConfig.title = "鏂板缓" + this.editConfig.visible = true; + this.editConfig.title = "鏂板缓"; }, // 鐘舵�� getStatus(val) { - return val === 1 ? "鑽夌" : val === 3 ? "灏辩华" : "瀹屾垚" - } - } -} + return val === 1 ? "鑽夌" : val === 3 ? "灏辩华" : "瀹屾垚"; + }, + // 鍘嗗彶 + handleHistoryClick(row) { + console.log(row, "two"); + }, + // 琛ヨ揣 + handleAddGoods(row) {}, + // 浣嶇疆 + handleLocation() {}, + // 棰勬祴 + handleForecast() {}, + }, +}; </script> <!-- Add "scoped" attribute to limit CSS to this component only --> <style lang="scss" scoped> -// .rightContent { -// height: 100%; -// background: #e6ecf2; -// padding: 10px; -// .top { -// margin-bottom: 20px; -// height: 60px; -// background: #fff; -// border-radius: 8px; -// } -// .list-view { -// height: calc(100% - 120px); -// } +.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% - 50px); + display: flex; + justify-content: space-between; + .con_left { + width: 200px; + } + .con_right { + width: calc(100% - 200px); + } + } +} + // } </style> diff --git a/src/views/reportForm/locationReport/index.vue b/src/views/reportForm/locationReport/index.vue index 39736e4..3de4f88 100644 --- a/src/views/reportForm/locationReport/index.vue +++ b/src/views/reportForm/locationReport/index.vue @@ -1,14 +1,16 @@ <template> <div class="rightContent"> <div class="top"> - <SearchCommonView - :add-title="'鏂板缓'" - :showAdd="false" - :placeholder="'璇疯緭鍏ュ弬鑰�'" - :amount-view="false" - @addCommonClick="addBtnClick" - @searchClick="getList" - /> + <div> + <SearchCommonView + :add-title="'鏂板缓'" + :showAdd="true" + :placeholder="'璇疯緭鍏ュ弬鑰�'" + :amount-view="false" + @addCommonClick="addBtnClick" + @searchClick="getList" + /> + </div> </div> <div class="list-view"> <TableCommonView @@ -16,20 +18,47 @@ :table-list="tableList" @selTableCol="selTableCol" @tableRowClick="tableRowClick" - ></TableCommonView> + > + <template slot="tableButton"> + <el-table-column + label="鎿嶄綔" + width="210" + align="center" + > + <template slot-scope="scope"> + <span @click="handleHistoryClick(scope.row)"> + <i class="el-icon-refresh-left"></i> + <span>鍘嗗彶</span> + </span> + <span @click="handleAddGoods(scope)" class="margin_left_5px"> + <i class="el-icon-refresh"></i> + <span>琛ヨ揣</span> + </span> + </template> + </el-table-column> + </template> + </TableCommonView> <div class="btn-pager"> - <PagerView class="page" :pager-options="pagerOptions" v-on="pagerEvents" /> + <PagerView + class="page" + :pager-options="pagerOptions" + v-on="pagerEvents" + /> </div> </div> <!-- 缂栬緫 --> - <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 { getProductOperatonList } from "@/api/product/product" -import AddOverviewDialog from "@/views/overview/AddOverviewDialog" +import pageMixin from "@/components/makepager/pager/mixin/pageMixin"; +import { getProductOperatonList } from "@/api/product/product"; +import AddOverviewDialog from "@/views/overview/AddOverviewDialog"; export default { name: "InventoryReport", @@ -40,171 +69,216 @@ data() { return { tableList: {}, - showcol: ["鐘舵��"], + showcol: ["瀛樺偍绫诲埆", "浜у搧绫诲埆", "棰勭暀鏁伴噺", "浠峰��"], + testArr: [ + { + product:"HC/閿�鍞尯/b鍖�", + category:"涓濈桓鍒跺搧/鐪熶笣鐫¤", + cost:"800.00", + totalPrices:"0.00", + inStore:"0.00", + availableStore:"0.00", + inStorage:"0.00", + toStore:"0.00", + forecast:"0.00", + unit:"浠�" + }, + { + product:"HC閿�鍞尯/A鍖�", + category:"涓濈桓鍒跺搧/鐪熶笣鐫¤", + cost:"9980.00", + totalPrices:"0.00", + inStore:"0.00", + availableStore:"0.00", + inStorage:"0.00", + toStore:"0.00", + forecast:"0.00", + unit:"浠�" + }, + ], searchOptions: [], commonDetail: { visible: false, title: "鏂板缓", - infomation: {} + infomation: {}, }, editConfig: { visible: false, title: "鏂板缓", - infomation: {} + infomation: {}, }, productId: this.$route.params.id, - productName: this.$route.params.name - } + productName: this.$route.params.name, + }; }, created() { - this.setTable() - this.getData() + this.setTable(); + // this.getData(); }, methods: { setTable() { this.tableList = { - tableInfomation: [], + tableInfomation:[], selectBox: true, showcol: this.showcol, allcol: [], - tableColumn: this.setTableColumn(this.showcol) - } - let allcol = [] + tableColumn: this.setTableColumn(this.showcol), + }; + 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; + this.tableList.tableInfomation=this.testArr }, setTableColumn(showcol) { let tableColumn = [ + /* + product:"鍗楁柟涓濆发xxx", + category:"涓濈桓鍒跺搧/鐪熶笣鐫¤", + cost:"800.00", + totalPrices:"0.00", + inStore:"0.00", + availableStore:"0.00", + inStorage:"0.00", + toStore:"0.00", + forecast:"0.00", + unit:"浠�" + */ { - label: "鏃ユ湡", - prop: "operationDate", + label: "浣嶇疆", + prop: "product", isShowColumn: true, default: true, - date: true }, + { - label: "鍗曞彿", - prop: "number", + label: "瀛樺偍绫诲埆", + prop: "category", isShowColumn: true, - default: true + default: false, + isShowColumn: showcol.includes("瀛樺偍绫诲埆"), }, { label: "浜у搧", - prop: "productName", + prop: "cost", isShowColumn: true, - default: true + default: true, }, { - label: "浠�", - prop: "from", + label: "浜у搧绫诲埆", + prop: "totalPrices", isShowColumn: true, - default: true + default: false, + isShowColumn: showcol.includes("浜у搧绫诲埆"), }, { - label: "鑷�", - prop: "to", + label: "鍦ㄥ簱鏁伴噺", + prop: "inStore", isShowColumn: true, - default: true + default: true, }, { - label: "鏁伴噺", - prop: "amount", - isShowColumn: true, - default: true + label: "棰勭暀鏁伴噺", + prop: "availableStore", + // isShowColumn: true, + default: false, + isShowColumn: showcol.includes("棰勭暀鏁伴噺"), }, { label: "鍗曚綅", prop: "unit", isShowColumn: true, - default: true + default: true, }, { - label: "鐘舵��", - prop: "status", + label: "浠峰��", + prop: "toStore", width: 120, - isShowColumn: showcol.includes("鐘舵��"), default: false, - status: true, - isCallMethod: true, - getCallMethod: this.getStatus + // status: true, + // isCallMethod: true, + // getCallMethod: this.getStatus, + isShowColumn: showcol.includes("浠峰��"), }, - { - label: "瀹屾垚鑰�", - prop: "admin", - isShowColumn: showcol.includes("瀹屾垚鑰�"), - default: false - } - ] - return tableColumn + ]; + return tableColumn; }, selTableCol(val) { - this.showcol = val - this.tableList.tableColumn = this.setTableColumn(val) + this.showcol = val; + this.tableList.tableColumn = this.setTableColumn(val); }, // 璇锋眰鏁版嵁 - async getData() { - await getProductOperatonList({ - productId: this.productId, - page: this.pagerOptions.currPage, - pageSize: this.pagerOptions.pageSize - }).then((res) => { - if (res.code === 200) { - const list = res.data.map((item) => { - return { - ...item, - from: item.fromLocation.name, - to: item.toLocation.name, - productName: this.productName - } - }) - this.tableList.tableInfomation = list || [] - this.pagerOptions.totalCount = res.total - } - }) - }, + // async getData() { + // await getProductOperatonList({ + // productId: this.productId, + // page: this.pagerOptions.currPage, + // pageSize: this.pagerOptions.pageSize, + // }).then((res) => { + // if (res.code === 200) { + // const list = res.data.map((item) => { + // return { + // ...item, + // from: item.fromLocation.name, + // to: item.toLocation.name, + // productName: this.productName, + // }; + // }); + // this.tableList.tableInfomation = list || []; + // this.pagerOptions.totalCount = res.total; + // } + // }); + // }, + // 鎼滅储 getList(val) { - console.log(val) + console.log(val); }, // 琛岀偣鍑� tableRowClick(row) { - console.log(row) - this.editConfig.visible = true - this.editConfig.title = "鏌ョ湅" - this.editConfig.infomation = { ...row } + console.log(row); + this.editConfig.visible = true; + this.editConfig.title = "鏌ョ湅"; + this.editConfig.infomation = { ...row }; }, // 鏂板缓 addBtnClick() { - this.editConfig.visible = true - this.editConfig.title = "鏂板缓" + this.editConfig.visible = true; + this.editConfig.title = "鏂板缓"; }, // 鐘舵�� getStatus(val) { - return val === 1 ? "鑽夌" : val === 3 ? "灏辩华" : "瀹屾垚" + return val === 1 ? "鑽夌" : val === 3 ? "灏辩华" : "瀹屾垚"; + }, + // 鍘嗗彶 + handleHistoryClick(){ + + }, + // 琛ヨ揣 + handleAddGoods(){ + } - } -} + }, +}; </script> <!-- Add "scoped" attribute to limit CSS to this component only --> <style lang="scss" scoped> -// .rightContent { -// height: 100%; -// background: #e6ecf2; -// padding: 10px; -// .top { -// margin-bottom: 20px; -// height: 60px; -// background: #fff; -// border-radius: 8px; -// } -// .list-view { -// height: calc(100% - 120px); -// } +.rightContent { + height: 100%; + background: #e6ecf2; + padding: 10px; +// .top { +// margin-bottom: 20px; +// height: 60px; +// background: #fff; +// border-radius: 8px; // } + .list-view { + height: calc(100% - 150px); + } +} </style> -- Gitblit v1.8.0