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 | 344 +++++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 234 insertions(+), 110 deletions(-) diff --git a/src/views/reportForm/inboundOutboundDetail/index.vue b/src/views/reportForm/inboundOutboundDetail/index.vue index 0531503..059c3cf 100644 --- a/src/views/reportForm/inboundOutboundDetail/index.vue +++ b/src/views/reportForm/inboundOutboundDetail/index.vue @@ -4,43 +4,78 @@ <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" - /> + <PagerView class="page" :pager-options="pagerOptions" v-on="pagerEvents" /> </div> </div> - <!-- 缂栬緫 --> - <AddOverviewDialog - v-if="editConfig.visible" - :edit-common-config="editConfig" + <!-- 鏌ョ湅/缂栬緫 --> + <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 { getHistory } from "@/api/reportForm/inventoryRwport"; -import { getProductOperatonList } from "@/api/product/product"; +import pageMixin from "@/components/makepager/pager/mixin/pageMixin" +import { getHistory,getOperationInfo } from "@/api/reportForm/inventoryRwport" +// import { getProductOperatonList } from "@/api/product/product" -import AddOverviewDialog from "@/views/overview/AddOverviewDialog"; - +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: {}, @@ -49,194 +84,283 @@ computed: {}, data() { return { + unitList:[], tableList: {}, showcol: ["鐘舵��"], searchOptions: [], commonDetail: { visible: false, title: "鏂板缓", - infomation: {}, + infomation: {} }, editConfig: { visible: false, title: "鏂板缓", - infomation: {}, + infomation: {} }, - productId: this.$route.params.id, - productName: this.$route.params.name, - }; + params: {}, + baseOperationTypeList:getDataByType("baseOperationTypeTwo"), + } }, created() { this.setTable() console.log(this.$route.params) - var paramsData = sessionStorage.getItem("paramsList") + var paramsList = sessionStorage.getItem("paramsList") let params = {} - if (paramsData) { + 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) - this.getData() + 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: [], 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 }, setTableColumn(showcol) { let tableColumn = [ { label: "鏃ユ湡", - prop: this.$route.params.paramsKey.date, + prop: "date", isShowColumn: true, default: true, - date: true, + // date: true }, { label: "鍗曞彿", - prop: this.$route.params.paramsKey.number, + prop: "number", isShowColumn: true, - default: true, + default: true }, { label: "浜у搧", - prop: this.$route.params.paramsKey.productName, + 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: this.$route.params.paramsKey.fromLocation, + prop: "fromLocation", isShowColumn: true, - default: true, + default: true }, { label: "鑷�", - prop: this.$route.params.paramsKey.toLocation, + prop: "toLocation", isShowColumn: true, - default: true, + default: true }, - { + /*{ label: "鏁伴噺", - prop: this.$route.params.paramsKey.amount, + prop: "amount", isShowColumn: true, - default: true, + default: true }, { label: "鍗曚綅", - prop: this.$route.params.paramsKey.unit, + prop: "unit", isShowColumn: true, - default: true, + default: true + },*/ + { + label: "閲嶉噺", + prop: "weight", + isShowColumn: true, + default: true }, { label: "鐘舵��", - prop: this.$route.params.paramsKey.status, + prop: "status", width: 120, isShowColumn: showcol.includes("鐘舵��"), default: false, status: true, isCallMethod: true, - getCallMethod: this.getStatus, + getCallMethod: this.getStatus }, { label: "瀹屾垚鑰�", - prop: this.$route.params.paramsKey.contactedName, + prop: "contactedName", isShowColumn: showcol.includes("瀹屾垚鑰�"), - default: false, - }, - ]; - return tableColumn; + default: false + } + ] + return tableColumn }, selTableCol(val) { - this.showcol = val; - this.tableList.tableColumn = this.setTableColumn(val); + this.showcol = val + this.tableList.tableColumn = this.setTableColumn(val) + }, + 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.$route.params.pageName == "浜у搧") { - await getProductOperatonList({ - productId: this.productId, + 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, + 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; + 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||[] } - }); - } else if (this.$route.params.pageName == "鎶ヨ〃") { - await getHistory(this.$route.params.product).then((res) => { - if (res.code === 200) { - 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,"琛宺ow") - this.editConfig.visible = true; - this.editConfig.title = "鏌ョ湅"; - this.editConfig.infomation = { ...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 = "鏌ョ湅" }, // 鏂板缓 addBtnClick() { // this.editConfig.visible = true - this.editConfig.title = "鏂板缓"; + this.editConfig.title = "鏂板缓" }, // 鐘舵�� getStatus(val) { - console.log(val,"val鐘舵��") - return val === 1 ? "鑽夌" : val === 3 ? "灏辩华" : "瀹屾垚"; - }, - }, -}; + 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