|
|
@ -1,64 +1,50 @@ |
|
|
|
<template> |
|
|
|
<!-- <page-meta root-font-size="18px"></page-meta> --> |
|
|
|
<view class=""> |
|
|
|
<com-blank-view @goScan='openScanPopup' v-if="containerNumber==''"></com-blank-view> |
|
|
|
<com-blank-view @goScan="openScanPopup" v-if="containerNumber == ''"></com-blank-view> |
|
|
|
|
|
|
|
<my-paging v-show="containerNumber!=''" ref="paging" v-model="dataList" @query="queryList"> |
|
|
|
<my-paging v-show="containerNumber != ''" ref="paging" v-model="dataList" @query="queryList"> |
|
|
|
<!-- 需要固定在顶部不滚动的view放在slot="top"的view中,如果需要跟着滚动,则不要设置slot="top" --> |
|
|
|
<template #top> |
|
|
|
<view v-if="containerNumber!=''"> |
|
|
|
<containerInfo :itemDetail="containerInfo" ></containerInfo> |
|
|
|
<view class='split_line'></view> |
|
|
|
<view v-if="containerNumber != ''"> |
|
|
|
<containerInfo :itemDetail="containerInfo"></containerInfo> |
|
|
|
<view class="split_line"></view> |
|
|
|
<z-tabs :list="tabList" @change="tabChange" /> |
|
|
|
</view> |
|
|
|
|
|
|
|
</template> |
|
|
|
<view class="" style="padding-bottom: 50rpx;"> |
|
|
|
<view class="" style="padding-bottom: 50rpx"> |
|
|
|
<view v-if="tabIndex == 0" v-for="(item, index) in dataList"> |
|
|
|
<comLocationDetailCard :isShowPack="false" :dataContent="item" style='margin: 10rpx;'> |
|
|
|
</comLocationDetailCard> |
|
|
|
<comLocationDetailCard :isShowPack="false" :dataContent="item" style="margin: 10rpx"> </comLocationDetailCard> |
|
|
|
</view> |
|
|
|
<view v-if="tabIndex == 1" v-for="(item, index) in dataList"> |
|
|
|
<comLocationDetailCard :dataContent="item" style='margin: 10rpx;'></comLocationDetailCard> |
|
|
|
<comLocationDetailCard :dataContent="item" style="margin: 10rpx"></comLocationDetailCard> |
|
|
|
</view> |
|
|
|
</view> |
|
|
|
|
|
|
|
</my-paging> |
|
|
|
|
|
|
|
、 |
|
|
|
<win-scan-button @goScan='openScanPopup' v-if="containerNumber!=''"></win-scan-button> |
|
|
|
<winScanContainer ref="scanPopup" title='器具代码' @getContainer='getScanCode'> |
|
|
|
</winScanContainer> |
|
|
|
<win-scan-button @goScan="openScanPopup" v-if="containerNumber != ''"></win-scan-button> |
|
|
|
<winScanContainer ref="scanPopup" title="器具代码" @getContainer="getScanCode"> </winScanContainer> |
|
|
|
<show-modal ref="modal"></show-modal> |
|
|
|
<comMessage ref="comMessage"></comMessage> |
|
|
|
|
|
|
|
</view> |
|
|
|
</template> |
|
|
|
|
|
|
|
<script> |
|
|
|
import { |
|
|
|
getBalanceByContainerNumber, |
|
|
|
getBalanceByContainerNumberGroup, |
|
|
|
getContainerByNumber |
|
|
|
} from '@/api/request2.js'; |
|
|
|
import { getBalanceByContainerNumber, getBalanceByContainerNumberGroup, getContainerByNumber } from '@/api/request2.js' |
|
|
|
|
|
|
|
import { |
|
|
|
maxPageSize, |
|
|
|
goHome |
|
|
|
} from '@/common/basic.js'; |
|
|
|
import { maxPageSize, goHome } from '@/common/basic.js' |
|
|
|
|
|
|
|
import { |
|
|
|
calc |
|
|
|
} from '@/common/calc.js'; |
|
|
|
import { calc } from '@/common/calc.js' |
|
|
|
|
|
|
|
import locationInfo from '@/mycomponents/location/locationInfo.vue' |
|
|
|
import comBlankView from '@/mycomponents/common/comBlankView.vue' |
|
|
|
import winScanButton from '@/mycomponents/scan/winScanButton.vue' |
|
|
|
import comLocationDetailCard from '@/pages/query/coms/comLocationDetailCard.vue' |
|
|
|
import winScanContainer from "@/mycomponents/scan/winScanContainer.vue" |
|
|
|
import containerInfo from '@/mycomponents/container/containerInfo.vue' |
|
|
|
import locationInfo from '@/mycomponents/location/locationInfo.vue' |
|
|
|
import comBlankView from '@/mycomponents/common/comBlankView.vue' |
|
|
|
import winScanButton from '@/mycomponents/scan/winScanButton.vue' |
|
|
|
import comLocationDetailCard from '@/pages/query/coms/comLocationDetailCard.vue' |
|
|
|
import winScanContainer from '@/mycomponents/scan/winScanContainer.vue' |
|
|
|
import containerInfo from '@/mycomponents/container/containerInfo.vue' |
|
|
|
|
|
|
|
export default { |
|
|
|
export default { |
|
|
|
name: 'location', |
|
|
|
components: { |
|
|
|
locationInfo, |
|
|
@ -67,7 +53,6 @@ |
|
|
|
comLocationDetailCard, |
|
|
|
containerInfo, |
|
|
|
winScanContainer |
|
|
|
|
|
|
|
}, |
|
|
|
data() { |
|
|
|
return { |
|
|
@ -89,14 +74,17 @@ |
|
|
|
summarysList: [], |
|
|
|
dataList: [], |
|
|
|
tabList: ['汇总', '明细'], |
|
|
|
tabIndex: 0, |
|
|
|
}; |
|
|
|
tabIndex: 0 |
|
|
|
} |
|
|
|
}, |
|
|
|
onLoad() { |
|
|
|
onLoad(e) { |
|
|
|
uni.setNavigationBarTitle({ |
|
|
|
title: e.title |
|
|
|
}) |
|
|
|
}, |
|
|
|
onNavigationBarButtonTap(e) { |
|
|
|
if (e.index === 0) { |
|
|
|
goHome(); |
|
|
|
goHome() |
|
|
|
} |
|
|
|
}, |
|
|
|
filters: {}, |
|
|
@ -105,109 +93,112 @@ |
|
|
|
}, |
|
|
|
methods: { |
|
|
|
openScanPopup() { |
|
|
|
var test =this.$refs; |
|
|
|
this.$refs.scanPopup.openScanPopup(); |
|
|
|
const test = this.$refs |
|
|
|
this.$refs.scanPopup.openScanPopup() |
|
|
|
}, |
|
|
|
closeScanPopup() { |
|
|
|
this.$refs.scanPopup.closeScanPopup(); |
|
|
|
this.$refs.scanPopup.closeScanPopup() |
|
|
|
}, |
|
|
|
getScanCode(code) { |
|
|
|
this.containerNumber = ''; |
|
|
|
this.summarys = []; |
|
|
|
this.balances = []; |
|
|
|
this.occupieds = []; |
|
|
|
this.containerNumber = code.number; |
|
|
|
this.containerInfo = code; |
|
|
|
this.containerNumber = '' |
|
|
|
this.summarys = [] |
|
|
|
this.balances = [] |
|
|
|
this.occupieds = [] |
|
|
|
this.containerNumber = code.number |
|
|
|
this.containerInfo = code |
|
|
|
this.tabChange(0) |
|
|
|
// this.getItemInfo(code.number); |
|
|
|
}, |
|
|
|
|
|
|
|
getItemInfo(code) { |
|
|
|
uni.showLoading({ |
|
|
|
title: "正在查询器具信息...", |
|
|
|
title: '正在查询器具信息...', |
|
|
|
mask: true |
|
|
|
}); |
|
|
|
getContainerByNumber(code).then(res => { |
|
|
|
uni.hideLoading(); |
|
|
|
}) |
|
|
|
getContainerByNumber(code) |
|
|
|
.then((res) => { |
|
|
|
uni.hideLoading() |
|
|
|
if (res.data.list.length > 0) { |
|
|
|
this.closeScanPopup(); |
|
|
|
this.containerNumber = res.data.list[0].number; |
|
|
|
this.containerInfo = res.data.list[0]; |
|
|
|
this.closeScanPopup() |
|
|
|
this.containerNumber = res.data.list[0].number |
|
|
|
this.containerInfo = res.data.list[0] |
|
|
|
this.tabChange(0) |
|
|
|
} else { |
|
|
|
this.showMessage('未查找到器具【' + code + '】'); |
|
|
|
this.showMessage(`未查找到器具【${code}】`) |
|
|
|
} |
|
|
|
|
|
|
|
}).catch(error => { |
|
|
|
uni.hideLoading(); |
|
|
|
this.containerNumber = ""; |
|
|
|
this.showMessage(error); |
|
|
|
}) |
|
|
|
.catch((error) => { |
|
|
|
uni.hideLoading() |
|
|
|
this.containerNumber = '' |
|
|
|
this.showMessage(error) |
|
|
|
}) |
|
|
|
}, |
|
|
|
|
|
|
|
getSummary(pageNo, pageSize) { |
|
|
|
let that = this; |
|
|
|
const that = this |
|
|
|
uni.showLoading({ |
|
|
|
title: "加载中...", |
|
|
|
title: '加载中...', |
|
|
|
mask: true |
|
|
|
}); |
|
|
|
var params = { |
|
|
|
}) |
|
|
|
const params = { |
|
|
|
containerNumber: this.containerNumber, |
|
|
|
pageNo: pageNo, |
|
|
|
pageSize: pageSize |
|
|
|
pageNo, |
|
|
|
pageSize |
|
|
|
} |
|
|
|
getBalanceByContainerNumberGroup(params).then(res => { |
|
|
|
uni.hideLoading(); |
|
|
|
getBalanceByContainerNumberGroup(params) |
|
|
|
.then((res) => { |
|
|
|
uni.hideLoading() |
|
|
|
if (res.data.list.length > 0) { |
|
|
|
this.summarysList = this.setShowList(res.data.list) |
|
|
|
this.$refs.paging.complete(this.summarysList); |
|
|
|
this.$refs.paging.complete(this.summarysList) |
|
|
|
} else { |
|
|
|
this.$refs.paging.complete(false); |
|
|
|
this.showMessage('未查找到器具【' + this.containerNumber + '】的库存信息'); |
|
|
|
this.$refs.paging.complete(false) |
|
|
|
this.showMessage(`未查找到器具【${this.containerNumber}】的库存信息`) |
|
|
|
} |
|
|
|
}).catch(error => { |
|
|
|
this.$refs.paging.complete(false); |
|
|
|
uni.hideLoading(); |
|
|
|
this.showMessage(error); |
|
|
|
}) |
|
|
|
|
|
|
|
.catch((error) => { |
|
|
|
this.$refs.paging.complete(false) |
|
|
|
uni.hideLoading() |
|
|
|
this.showMessage(error) |
|
|
|
}) |
|
|
|
}, |
|
|
|
|
|
|
|
getDetailList(pageNo, pageSize) { |
|
|
|
let that = this; |
|
|
|
const that = this |
|
|
|
uni.showLoading({ |
|
|
|
title: "加载中...", |
|
|
|
title: '加载中...', |
|
|
|
mask: true |
|
|
|
}); |
|
|
|
var params = { |
|
|
|
}) |
|
|
|
const params = { |
|
|
|
containerNumber: this.containerNumber, |
|
|
|
pageNo: pageNo, |
|
|
|
pageSize: pageSize |
|
|
|
pageNo, |
|
|
|
pageSize |
|
|
|
} |
|
|
|
getBalanceByContainerNumber(params).then(res => { |
|
|
|
uni.hideLoading(); |
|
|
|
getBalanceByContainerNumber(params) |
|
|
|
.then((res) => { |
|
|
|
uni.hideLoading() |
|
|
|
if (res.data.total > 0) { |
|
|
|
this.detailList = this.setShowList(res.data.list) |
|
|
|
this.$refs.paging.complete(this.detailList); |
|
|
|
this.$refs.paging.complete(this.detailList) |
|
|
|
} else { |
|
|
|
this.$refs.paging.complete(false); |
|
|
|
this.showMessage('未查找到器具【' + this.containerNumber + '】的库存信息'); |
|
|
|
this.$refs.paging.complete(false) |
|
|
|
this.showMessage(`未查找到器具【${this.containerNumber}】的库存信息`) |
|
|
|
} |
|
|
|
}).catch(error => { |
|
|
|
this.$refs.paging.complete(false); |
|
|
|
uni.hideLoading(); |
|
|
|
this.showMessage(error); |
|
|
|
}) |
|
|
|
.catch((error) => { |
|
|
|
this.$refs.paging.complete(false) |
|
|
|
uni.hideLoading() |
|
|
|
this.showMessage(error) |
|
|
|
}) |
|
|
|
}, |
|
|
|
|
|
|
|
setShowList(list) { |
|
|
|
var resultlist = []; |
|
|
|
list.forEach(res => { |
|
|
|
var temp = resultlist.find(res1 => |
|
|
|
res1.itemCode == res.itemCode) |
|
|
|
const resultlist = [] |
|
|
|
list.forEach((res) => { |
|
|
|
const temp = resultlist.find((res1) => res1.itemCode == res.itemCode) |
|
|
|
|
|
|
|
if (temp == undefined) { |
|
|
|
var data = { |
|
|
|
const data = { |
|
|
|
itemCode: res.itemCode, |
|
|
|
qty: Number(res.qty), |
|
|
|
uom: res.uom, |
|
|
@ -218,63 +209,61 @@ |
|
|
|
batch: res.batch, |
|
|
|
uom: res.uom, |
|
|
|
qty: Number(res.qty), |
|
|
|
inventoryStatus: res.inventoryStatus, |
|
|
|
inventoryStatus: res.inventoryStatus |
|
|
|
} |
|
|
|
data.list.push(item) |
|
|
|
resultlist.push(data) |
|
|
|
} else { |
|
|
|
temp.qty = calc.add(temp.qty,res.qty) |
|
|
|
temp.qty = calc.add(temp.qty, res.qty) |
|
|
|
var item = { |
|
|
|
packingNumber: res.packingNumber, |
|
|
|
batch: res.batch, |
|
|
|
uom: res.uom, |
|
|
|
qty: Number(res.qty), |
|
|
|
inventoryStatus: res.inventoryStatus, |
|
|
|
inventoryStatus: res.inventoryStatus |
|
|
|
} |
|
|
|
temp.list.push(item) |
|
|
|
} |
|
|
|
}) |
|
|
|
return resultlist; |
|
|
|
return resultlist |
|
|
|
}, |
|
|
|
|
|
|
|
getContentByTab(index, pageNo, pageSize) { |
|
|
|
if (index === 0) { |
|
|
|
this.getSummary(pageNo, pageSize); |
|
|
|
this.getSummary(pageNo, pageSize) |
|
|
|
} else if (index === 1) this.getDetailList(pageNo, pageSize) |
|
|
|
|
|
|
|
}, |
|
|
|
|
|
|
|
upper: function(e) {}, |
|
|
|
lower: function(e) {}, |
|
|
|
upper(e) {}, |
|
|
|
lower(e) {}, |
|
|
|
tabChange(index) { |
|
|
|
this.tabIndex = index; |
|
|
|
this.$refs.paging.reload(true); |
|
|
|
this.tabIndex = index |
|
|
|
this.$refs.paging.reload(true) |
|
|
|
}, |
|
|
|
showMessage(message) { |
|
|
|
this.$refs.comMessage.showErrorMessage(message, res => { |
|
|
|
this.$refs.comMessage.showErrorMessage(message, (res) => { |
|
|
|
if (res) { |
|
|
|
this.afterCloseMessage() |
|
|
|
} |
|
|
|
}); |
|
|
|
}) |
|
|
|
}, |
|
|
|
afterCloseMessage() { |
|
|
|
if (this.$refs.scanPopup != undefined) { |
|
|
|
this.$refs.scanPopup.getfocus(); |
|
|
|
this.$refs.scanPopup.getfocus() |
|
|
|
} |
|
|
|
}, |
|
|
|
queryList(pageNo, pageSize) { |
|
|
|
console.log("加载", pageNo) |
|
|
|
if (this.containerNumber != "") { |
|
|
|
console.log('加载', pageNo) |
|
|
|
if (this.containerNumber != '') { |
|
|
|
this.getContentByTab(this.tabIndex, pageNo, pageSize) |
|
|
|
} |
|
|
|
|
|
|
|
}, |
|
|
|
} |
|
|
|
}; |
|
|
|
} |
|
|
|
} |
|
|
|
</script> |
|
|
|
|
|
|
|
<style scoped lang="scss"> |
|
|
|
page { |
|
|
|
page { |
|
|
|
height: 100%; |
|
|
|
} |
|
|
|
} |
|
|
|
</style> |
|
|
|