From 5ecb7958c96d3f0b6d47b79aff7eb306c2cf690f Mon Sep 17 00:00:00 2001 From: charles <981744753@qq.com> Date: 星期二, 06 八月 2024 11:16:58 +0800 Subject: [PATCH] gitlab上面的wms转移到公司git --- src/views/reportForm/inboundOutboundDetail/index.vue | 305 +++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 236 insertions(+), 69 deletions(-) diff --git a/src/views/reportForm/inboundOutboundDetail/index.vue b/src/views/reportForm/inboundOutboundDetail/index.vue index 8ac2cc1..059c3cf 100644 --- a/src/views/reportForm/inboundOutboundDetail/index.vue +++ b/src/views/reportForm/inboundOutboundDetail/index.vue @@ -4,39 +4,87 @@ <SearchCommonView :add-title="'鏂板缓'" :showAdd="false" - :placeholder="'璇疯緭鍏ュ弬鑰�'" + :placeholder="'璇锋牴鎹崟鍙枫�佷骇鍝併�佷笟鍔$被鍨嬭繘琛屾悳绱�'" :amount-view="false" + :inputName="params.keyWord" + :showDownload="true" + @downloadClick="downHttpClick" @addCommonClick="addBtnClick" @searchClick="getList" /> </div> <div class="list-view"> - <TableCommonView - ref="tableListRef" - :table-list="tableList" - @selTableCol="selTableCol" - @tableRowClick="tableRowClick" - ></TableCommonView> + <div class="table"> + <TableCommonView + ref="tableListRef" + :table-list="tableList" + @selTableCol="selTableCol" + @tableRowClick="tableRowClick" + > + <template slot="tableButton"> + <el-table-column label="鏁伴噺" prop='amount'> + <el-table-column v-for="unit in unitList" :label="unit.name" prop='amount' min="90"> + <template slot-scope="scope"> + {{getUnitValue(scope.row.amountMoreUnits,unit.name,scope.row.amount,scope.row.unit)}} + </template> + </el-table-column> + <!--<el-table-column label="浠�" prop='amount' min="90"> + <template slot-scope="scope"> + {{getUnitValue(scope.row.amountMoreUnits,'浠�',scope.row.amount,scope.row.unit)}} + </template> + </el-table-column> + <el-table-column label="鍖�" prop='amount' min="90"> + <template slot-scope="scope"> + {{getUnitValue(scope.row.amountMoreUnits,'鍖�',scope.row.amount,scope.row.unit)}} + </template> + </el-table-column> + <el-table-column label="绫虫暟" prop='amount' min="90"> + <template slot-scope="scope"> + {{getUnitValue(scope.row.amountMoreUnits,'绫虫暟',scope.row.amount,scope.row.unit)}} + </template> + </el-table-column> + <el-table-column label="閲嶉噺" prop='amount' min="90"> + <template slot-scope="scope"> + {{getUnitValue(scope.row.beginMoreUnitsArr,'閲嶉噺',scope.row.beginAmount,scope.row.unit)}} + </template> + </el-table-column>--> + </el-table-column> + </template> + </TableCommonView> + </div> <div class="btn-pager"> <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" + /> </div> </template> <script> import pageMixin from "@/components/makepager/pager/mixin/pageMixin" -import { getProductList } from "@/api/product/product" -// import DetailProduct from "@/views/productManage/product/DetailProduct" +import { getHistory,getOperationInfo } from "@/api/reportForm/inventoryRwport" +// import { getProductOperatonList } from "@/api/product/product" +import AddOverviewDialog from "@/views/overview/AddOverviewDialog" +import { getDataByType } from "@/api/data" +import { downloadHistory } from "@/api/downFile" +import FileSaver from 'file-saver' +import _ from 'lodash' +import { getUnitInfo } from "@/api/basic/standard"; export default { name: "InboundOutboundDetail", props: {}, - components: {}, + components: { AddOverviewDialog }, mixins: [pageMixin], computed: {}, data() { return { + unitList:[], tableList: {}, showcol: ["鐘舵��"], searchOptions: [], @@ -49,14 +97,69 @@ visible: false, title: "鏂板缓", infomation: {} - } + }, + params: {}, + baseOperationTypeList:getDataByType("baseOperationTypeTwo"), } }, created() { this.setTable() - this.getData() + console.log(this.$route.params) + var paramsList = sessionStorage.getItem("paramsList") + let params = {} + if (paramsList) { + params = JSON.parse(sessionStorage.getItem("paramsList")) + } else { + params = this.$route.params + sessionStorage.setItem("paramsList", JSON.stringify(params)) + } + this.params = params + console.log(this.params,'====111') + this.getData(); + this.getUnitInfo(); + }, + // 椤甸潰閿�姣佷箣鍓� + beforeDestroy() { + sessionStorage.removeItem("paramsList") }, methods: { + async getUnitInfo(){ + const { code,data }=await getUnitInfo(); + if(code===200){ + this.unitList=data; + } + }, + getUnitValue(list,val,num,unit){ + let string='--' + if(list){ + if(list.length>0){ + for(let i in list){ + if(list[i].unit==val){ + string=list[i].amount + break; + } + } + } + } + if(unit==val){ + string=num + } + return string + }, + // 涓嬭浇 + downHttpClick: _.debounce(function(){ + downloadHistory({ + keyWord:this.params.keyWord, + page: this.pagerOptions.currPage, + pageSize: this.pagerOptions.pageSize, + baseOperationType:1 + }).then(res => { + if (res) { + FileSaver.saveAs(res, '鍏ュ簱鏄庣粏鎶ヨ〃.xlsx'); + this.$message.success("涓嬭浇鎴愬姛锛�"); + } + }) + }, 1000), setTable() { this.tableList = { tableInfomation: [], @@ -78,43 +181,64 @@ let tableColumn = [ { label: "鏃ユ湡", - prop: "id", + prop: "date", isShowColumn: true, - default: true + default: true, + // date: true }, { - label: "鍙傝��", - prop: "id", + label: "鍗曞彿", + prop: "number", isShowColumn: true, default: true }, { label: "浜у搧", - prop: "id", + prop: "productName", isShowColumn: true, default: true }, { + label: "浜у搧缂栫爜", + prop: "productId", + isShowColumn: true, + default: true + }, + { + label: "涓氬姟绫诲瀷", + prop: "operationTypeName", + isShowColumn: true, + default: true, + // conversion: true, + // getStatus: this.getBaseOperationTypeList + }, + { label: "浠�", - prop: "deviceName", + prop: "fromLocation", isShowColumn: true, default: true }, { label: "鑷�", - prop: "id", + prop: "toLocation", + isShowColumn: true, + default: true + }, + /*{ + label: "鏁伴噺", + prop: "amount", isShowColumn: true, default: true }, { - label: "鍏徃", - prop: "shopName", - isShowColumn: showcol.includes("鍏徃"), - default: false - }, + label: "鍗曚綅", + prop: "unit", + isShowColumn: true, + default: true + },*/ { - label: "鏁伴噺", - prop: "deviceId", + label: "閲嶉噺", + prop: "weight", isShowColumn: true, default: true }, @@ -124,11 +248,13 @@ width: 120, isShowColumn: showcol.includes("鐘舵��"), default: false, - status: true + status: true, + isCallMethod: true, + getCallMethod: this.getStatus }, { label: "瀹屾垚鑰�", - prop: "preTime", + prop: "contactedName", isShowColumn: showcol.includes("瀹屾垚鑰�"), default: false } @@ -139,61 +265,102 @@ this.showcol = val this.tableList.tableColumn = this.setTableColumn(val) }, - // 璇锋眰鏁版嵁 - async getData(val, content) { - await getProductList({ - [val]: content, - page: this.pagerOptions.currPage, - pageSize: this.pagerOptions.pageSize - }).then((res) => { - if (res.data.code === 200) { - const list = res.data.data.list.map((item) => { - return { - ...item, - supplierNumber: item.supplier.number, - status: "灏辩华", - preTime: "2023-09-04 11:20:00" - } - }) - this.tableList.tableInfomation = list || [] - this.pagerOptions.totalCount = res.data.data.total + getBaseOperationTypeList(val){ + let string = "--" + if (val) { + for (let i in this.baseOperationTypeList) { + if (this.baseOperationTypeList[i].id == val) { + return this.baseOperationTypeList[i].name + } } - }) + } + return string + }, + // 搴撳瓨鎶ヨ〃璺宠浆璇锋眰鏁版嵁 + async getData() { + if (this.params.name === "鎶ヨ〃") { + await getHistory({ + keyWord:this.params.keyWord, + produceId:this.params.produceId, + unit:this.params.unit, + productName:this.params.productName, + page: this.pagerOptions.currPage, + pageSize: this.pagerOptions.pageSize + }).then((res) => { + if (res.code === 200&&res.data) { + res.data.map((item)=>{ + let dateObject = new Date(item.date); + let formattedDateString = dateObject.toISOString().split('T')[0]; + item.date=formattedDateString + }) + this.tableList.tableInfomation = res.data||[] + }else{ + this.tableList.tableInfomation = res.data||[] + } + this.pagerOptions.totalCount = res.total + }) + } else { + await getHistory({ + baseOperationType:1, + keyWord:this.params.keyWord, + page: this.pagerOptions.currPage, + pageSize: this.pagerOptions.pageSize + }).then((res) => { + if (res.code === 200&&res.data) { + res.data.map((item)=>{ + if(item.status===""){ + item.status=4 + } + let dateObject = new Date(item.date); + let formattedDateString = dateObject.toISOString().split('T')[0]; + item.date=formattedDateString + }) + this.tableList.tableInfomation = res.data||[] + }else{ + this.tableList.tableInfomation = res.data||[] + } + this.pagerOptions.totalCount = res.total + }) + } }, // 鎼滅储 getList(val) { - console.log(val) + this.params.keyWord=val; + this.getData() }, // 琛岀偣鍑� - tableRowClick(row) { - console.log(row) + async tableRowClick(row) { + console.log(row,"鐪嬬湅row") + // window.sessionStorage.sessionStorage.setItem('paramsData', { + // // name: "鎷煎澶曚粨搴�-鍑哄簱", + // workType: row.baseOperationType, + // id: row.operationId, + // // code: "PX" + // }); + + await getOperationInfo(row.operationId).then((res)=>{ + res.data.location=res.data.toLocation.id; + res.data.toLocation=res.data.toLocation.id; + res.data.details.forEach(item=>{ + item.toLocationId=item.toLocation.name; + }) + this.editConfig.infomation = { ...res.data,workType:res.baseOperationType } + }) this.editConfig.visible = true - this.editConfig.title = "缂栬緫" - this.editConfig.infomation = { ...row } + this.editConfig.title = "鏌ョ湅" }, // 鏂板缓 addBtnClick() { - this.editConfig.visible = true + // this.editConfig.visible = true this.editConfig.title = "鏂板缓" + }, + // 鐘舵�� + getStatus(val) { + return val === 1 ? "鑽夌" : val === 3 ? "灏辩华" : val===4?"瀹屾垚":val===5?"宸插彇娑�":" " } } } </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); -// } -// } -</style> +<style lang="scss" scoped></style> -- Gitblit v1.8.0