zhang_li
3 months ago
12 changed files with 303 additions and 276 deletions
@ -1,280 +1,269 @@ |
|||
<template> |
|||
<!-- <page-meta root-font-size="18px"></page-meta> --> |
|||
<view class=""> |
|||
<com-blank-view @goScan='openScanPopup' v-if="containerNumber==''"></com-blank-view> |
|||
<!-- <page-meta root-font-size="18px"></page-meta> --> |
|||
<view class=""> |
|||
<com-blank-view @goScan="openScanPopup" v-if="containerNumber == ''"></com-blank-view> |
|||
|
|||
<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> |
|||
<z-tabs :list="tabList" @change="tabChange" /> |
|||
</view> |
|||
<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> |
|||
<z-tabs :list="tabList" @change="tabChange" /> |
|||
</view> |
|||
</template> |
|||
<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> |
|||
</view> |
|||
<view v-if="tabIndex == 1" v-for="(item, index) in dataList"> |
|||
<comLocationDetailCard :dataContent="item" style="margin: 10rpx"></comLocationDetailCard> |
|||
</view> |
|||
</view> |
|||
</my-paging> |
|||
|
|||
</template> |
|||
<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> |
|||
</view> |
|||
<view v-if="tabIndex == 1" v-for="(item, index) in dataList"> |
|||
<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> |
|||
<show-modal ref="modal"></show-modal> |
|||
<comMessage ref="comMessage"></comMessage> |
|||
|
|||
</view> |
|||
、 |
|||
<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 { |
|||
maxPageSize, |
|||
goHome |
|||
} from '@/common/basic.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' |
|||
|
|||
export default { |
|||
name: 'location', |
|||
components: { |
|||
locationInfo, |
|||
comBlankView, |
|||
winScanButton, |
|||
comLocationDetailCard, |
|||
containerInfo, |
|||
winScanContainer |
|||
|
|||
}, |
|||
data() { |
|||
return { |
|||
containerInfo: {}, |
|||
containerNumber: '', |
|||
summarys: [], |
|||
balances: [], |
|||
// 每页数据量 |
|||
pageSize: 1000, |
|||
// 当前页 |
|||
pageCurrent: 1, |
|||
// 数据总量 |
|||
scrollTop: 0, |
|||
old: { |
|||
scrollTop: 0 |
|||
}, |
|||
import { getBalanceByContainerNumber, getBalanceByContainerNumberGroup, getContainerByNumber } from '@/api/request2.js' |
|||
|
|||
detailList: [], |
|||
summarysList: [], |
|||
dataList: [], |
|||
tabList: ['汇总', '明细'], |
|||
tabIndex: 0, |
|||
}; |
|||
}, |
|||
onLoad() { |
|||
}, |
|||
onNavigationBarButtonTap(e) { |
|||
if (e.index === 0) { |
|||
goHome(); |
|||
} |
|||
}, |
|||
filters: {}, |
|||
mounted() { |
|||
this.openScanPopup() |
|||
}, |
|||
methods: { |
|||
openScanPopup() { |
|||
var test =this.$refs; |
|||
this.$refs.scanPopup.openScanPopup(); |
|||
}, |
|||
closeScanPopup() { |
|||
this.$refs.scanPopup.closeScanPopup(); |
|||
}, |
|||
getScanCode(code) { |
|||
this.containerNumber = ''; |
|||
this.summarys = []; |
|||
this.balances = []; |
|||
this.occupieds = []; |
|||
this.containerNumber = code.number; |
|||
this.containerInfo = code; |
|||
this.tabChange(0) |
|||
// this.getItemInfo(code.number); |
|||
}, |
|||
import { maxPageSize, goHome } from '@/common/basic.js' |
|||
|
|||
getItemInfo(code) { |
|||
uni.showLoading({ |
|||
title: "正在查询器具信息...", |
|||
mask: true |
|||
}); |
|||
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.tabChange(0) |
|||
} else { |
|||
this.showMessage('未查找到器具【' + code + '】'); |
|||
} |
|||
import { calc } from '@/common/calc.js' |
|||
|
|||
}).catch(error => { |
|||
uni.hideLoading(); |
|||
this.containerNumber = ""; |
|||
this.showMessage(error); |
|||
}) |
|||
}, |
|||
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' |
|||
|
|||
getSummary(pageNo, pageSize) { |
|||
let that = this; |
|||
uni.showLoading({ |
|||
title: "加载中...", |
|||
mask: true |
|||
}); |
|||
var params = { |
|||
containerNumber: this.containerNumber, |
|||
pageNo: pageNo, |
|||
pageSize: pageSize |
|||
} |
|||
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); |
|||
} else { |
|||
this.$refs.paging.complete(false); |
|||
this.showMessage('未查找到器具【' + this.containerNumber + '】的库存信息'); |
|||
} |
|||
}).catch(error => { |
|||
this.$refs.paging.complete(false); |
|||
uni.hideLoading(); |
|||
this.showMessage(error); |
|||
}) |
|||
export default { |
|||
name: 'location', |
|||
components: { |
|||
locationInfo, |
|||
comBlankView, |
|||
winScanButton, |
|||
comLocationDetailCard, |
|||
containerInfo, |
|||
winScanContainer |
|||
}, |
|||
data() { |
|||
return { |
|||
containerInfo: {}, |
|||
containerNumber: '', |
|||
summarys: [], |
|||
balances: [], |
|||
// 每页数据量 |
|||
pageSize: 1000, |
|||
// 当前页 |
|||
pageCurrent: 1, |
|||
// 数据总量 |
|||
scrollTop: 0, |
|||
old: { |
|||
scrollTop: 0 |
|||
}, |
|||
|
|||
}, |
|||
detailList: [], |
|||
summarysList: [], |
|||
dataList: [], |
|||
tabList: ['汇总', '明细'], |
|||
tabIndex: 0 |
|||
} |
|||
}, |
|||
onLoad(e) { |
|||
uni.setNavigationBarTitle({ |
|||
title: e.title |
|||
}) |
|||
}, |
|||
onNavigationBarButtonTap(e) { |
|||
if (e.index === 0) { |
|||
goHome() |
|||
} |
|||
}, |
|||
filters: {}, |
|||
mounted() { |
|||
this.openScanPopup() |
|||
}, |
|||
methods: { |
|||
openScanPopup() { |
|||
const test = this.$refs |
|||
this.$refs.scanPopup.openScanPopup() |
|||
}, |
|||
closeScanPopup() { |
|||
this.$refs.scanPopup.closeScanPopup() |
|||
}, |
|||
getScanCode(code) { |
|||
this.containerNumber = '' |
|||
this.summarys = [] |
|||
this.balances = [] |
|||
this.occupieds = [] |
|||
this.containerNumber = code.number |
|||
this.containerInfo = code |
|||
this.tabChange(0) |
|||
// this.getItemInfo(code.number); |
|||
}, |
|||
|
|||
getDetailList(pageNo, pageSize) { |
|||
let that = this; |
|||
uni.showLoading({ |
|||
title: "加载中...", |
|||
mask: true |
|||
}); |
|||
var params = { |
|||
containerNumber: this.containerNumber, |
|||
pageNo: pageNo, |
|||
pageSize: pageSize |
|||
} |
|||
getBalanceByContainerNumber(params).then(res => { |
|||
uni.hideLoading(); |
|||
if (res.data.total > 0) { |
|||
this.detailList = this.setShowList(res.data.list) |
|||
this.$refs.paging.complete(this.detailList); |
|||
} else { |
|||
this.$refs.paging.complete(false); |
|||
this.showMessage('未查找到器具【' + this.containerNumber + '】的库存信息'); |
|||
} |
|||
}).catch(error => { |
|||
this.$refs.paging.complete(false); |
|||
uni.hideLoading(); |
|||
this.showMessage(error); |
|||
}) |
|||
}, |
|||
getItemInfo(code) { |
|||
uni.showLoading({ |
|||
title: '正在查询器具信息...', |
|||
mask: true |
|||
}) |
|||
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.tabChange(0) |
|||
} else { |
|||
this.showMessage(`未查找到器具【${code}】`) |
|||
} |
|||
}) |
|||
.catch((error) => { |
|||
uni.hideLoading() |
|||
this.containerNumber = '' |
|||
this.showMessage(error) |
|||
}) |
|||
}, |
|||
|
|||
setShowList(list) { |
|||
var resultlist = []; |
|||
list.forEach(res => { |
|||
var temp = resultlist.find(res1 => |
|||
res1.itemCode == res.itemCode) |
|||
getSummary(pageNo, pageSize) { |
|||
const that = this |
|||
uni.showLoading({ |
|||
title: '加载中...', |
|||
mask: true |
|||
}) |
|||
const params = { |
|||
containerNumber: this.containerNumber, |
|||
pageNo, |
|||
pageSize |
|||
} |
|||
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) |
|||
} else { |
|||
this.$refs.paging.complete(false) |
|||
this.showMessage(`未查找到器具【${this.containerNumber}】的库存信息`) |
|||
} |
|||
}) |
|||
.catch((error) => { |
|||
this.$refs.paging.complete(false) |
|||
uni.hideLoading() |
|||
this.showMessage(error) |
|||
}) |
|||
}, |
|||
|
|||
if (temp == undefined) { |
|||
var data = { |
|||
itemCode: res.itemCode, |
|||
qty: Number(res.qty), |
|||
uom: res.uom, |
|||
list: [] |
|||
} |
|||
var item = { |
|||
packingNumber: res.packingNumber, |
|||
batch: res.batch, |
|||
uom: res.uom, |
|||
qty: Number(res.qty), |
|||
inventoryStatus: res.inventoryStatus, |
|||
} |
|||
data.list.push(item) |
|||
resultlist.push(data) |
|||
} else { |
|||
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, |
|||
} |
|||
temp.list.push(item) |
|||
} |
|||
}) |
|||
return resultlist; |
|||
}, |
|||
getDetailList(pageNo, pageSize) { |
|||
const that = this |
|||
uni.showLoading({ |
|||
title: '加载中...', |
|||
mask: true |
|||
}) |
|||
const params = { |
|||
containerNumber: this.containerNumber, |
|||
pageNo, |
|||
pageSize |
|||
} |
|||
getBalanceByContainerNumber(params) |
|||
.then((res) => { |
|||
uni.hideLoading() |
|||
if (res.data.total > 0) { |
|||
this.detailList = this.setShowList(res.data.list) |
|||
this.$refs.paging.complete(this.detailList) |
|||
} else { |
|||
this.$refs.paging.complete(false) |
|||
this.showMessage(`未查找到器具【${this.containerNumber}】的库存信息`) |
|||
} |
|||
}) |
|||
.catch((error) => { |
|||
this.$refs.paging.complete(false) |
|||
uni.hideLoading() |
|||
this.showMessage(error) |
|||
}) |
|||
}, |
|||
|
|||
getContentByTab(index, pageNo, pageSize) { |
|||
if (index === 0) { |
|||
this.getSummary(pageNo, pageSize); |
|||
} else if (index === 1) this.getDetailList(pageNo, pageSize) |
|||
setShowList(list) { |
|||
const resultlist = [] |
|||
list.forEach((res) => { |
|||
const temp = resultlist.find((res1) => res1.itemCode == res.itemCode) |
|||
|
|||
}, |
|||
if (temp == undefined) { |
|||
const data = { |
|||
itemCode: res.itemCode, |
|||
qty: Number(res.qty), |
|||
uom: res.uom, |
|||
list: [] |
|||
} |
|||
var item = { |
|||
packingNumber: res.packingNumber, |
|||
batch: res.batch, |
|||
uom: res.uom, |
|||
qty: Number(res.qty), |
|||
inventoryStatus: res.inventoryStatus |
|||
} |
|||
data.list.push(item) |
|||
resultlist.push(data) |
|||
} else { |
|||
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 |
|||
} |
|||
temp.list.push(item) |
|||
} |
|||
}) |
|||
return resultlist |
|||
}, |
|||
|
|||
upper: function(e) {}, |
|||
lower: function(e) {}, |
|||
tabChange(index) { |
|||
this.tabIndex = index; |
|||
this.$refs.paging.reload(true); |
|||
}, |
|||
showMessage(message) { |
|||
this.$refs.comMessage.showErrorMessage(message, res => { |
|||
if (res) { |
|||
this.afterCloseMessage() |
|||
} |
|||
}); |
|||
}, |
|||
afterCloseMessage() { |
|||
if (this.$refs.scanPopup != undefined) { |
|||
this.$refs.scanPopup.getfocus(); |
|||
} |
|||
}, |
|||
queryList(pageNo, pageSize) { |
|||
console.log("加载", pageNo) |
|||
if (this.containerNumber != "") { |
|||
this.getContentByTab(this.tabIndex, pageNo, pageSize) |
|||
} |
|||
getContentByTab(index, pageNo, pageSize) { |
|||
if (index === 0) { |
|||
this.getSummary(pageNo, pageSize) |
|||
} else if (index === 1) this.getDetailList(pageNo, pageSize) |
|||
}, |
|||
|
|||
}, |
|||
} |
|||
}; |
|||
upper(e) {}, |
|||
lower(e) {}, |
|||
tabChange(index) { |
|||
this.tabIndex = index |
|||
this.$refs.paging.reload(true) |
|||
}, |
|||
showMessage(message) { |
|||
this.$refs.comMessage.showErrorMessage(message, (res) => { |
|||
if (res) { |
|||
this.afterCloseMessage() |
|||
} |
|||
}) |
|||
}, |
|||
afterCloseMessage() { |
|||
if (this.$refs.scanPopup != undefined) { |
|||
this.$refs.scanPopup.getfocus() |
|||
} |
|||
}, |
|||
queryList(pageNo, pageSize) { |
|||
console.log('加载', pageNo) |
|||
if (this.containerNumber != '') { |
|||
this.getContentByTab(this.tabIndex, pageNo, pageSize) |
|||
} |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style scoped lang="scss"> |
|||
page { |
|||
height: 100%; |
|||
} |
|||
page { |
|||
height: 100%; |
|||
} |
|||
</style> |
|||
|
Loading…
Reference in new issue