Browse Source

采购上架弹出扫描页面2024/7/8 14:26:20

hella_vue3
zhang_li 3 months ago
parent
commit
48e2bd6cbc
  1. 4
      src/mycomponents/scan/winScanPackAndLocation.vue
  2. 2
      src/pages/index/index.vue
  3. 7
      src/pages/issue/coms/comScanIssuePack.vue
  4. 18
      src/pages/login/index.vue
  5. 4
      src/pages/package/record/overPackageRecord.vue
  6. 11
      src/pages/purchaseReceipt/job/receiptDetail.vue
  7. 1
      src/pages/putaway/job/putawayJob.vue
  8. 141
      src/pages/query/location.vue
  9. 42
      src/uni_modules/uni-combox/components/uni-combox/uni-combox.vue

4
src/mycomponents/scan/winScanPackAndLocation.vue

@ -10,7 +10,7 @@
</view>
</view>
<view class="uni-flex uni-row" style="align-items: center; background-color: #fff; margin-left: 20rpx; margin-right: 20rpx; border-radius: 8rpx; height: 30px">
<view class="uni-center" style="width: 25%"> 来源库位 </view>
<view class="uni-center" style="width: 25%; font-size: 40rpx"> 来源库位 </view>
<!-- style="width: 75%;padding: 8rpx" -->
<view class="">
<!-- <input v-model="fromLocationCode" placeholder="请扫描来源库位" :focus="locationOnFocus"
@ -20,7 +20,7 @@
<uni-combox :candidates="fromLocationList" v-model="fromLocationCode" placeholder="请扫描来源库位" @confirm="handleConfirm" style="height: 30rpx; border: 1px solid #fff"></uni-combox>
</view>
<view v-else>
<text style="padding: 5px">
<text style="padding: 5px; font-size: 50rpx">
{{ fromLocationCode }}
</text>
</view>

2
src/pages/index/index.vue

@ -351,7 +351,7 @@ const getDictory = () => {
console.log('包装规格获取失败', res)
})
const switchCode = 'FgPutawayLocationCodeValidate,SemiPutawayLocationCodeValidate,PurchasePutawayToLocationCodeValidate,IssueToLocationCodeValidate,fgProductReceipCommitValidate,purchasereceiptPrintPDA'
const switchCode = 'FgPutawayLocationCodeValidate,SemiPutawayLocationCodeValidate,PurchasePutawayToLocationCodeValidate,IssueToLocationCodeValidate,fgProductReceipCommitValidate,purchasereceiptPrintPDA,purchaseReceiptLocationCodeValidate'
getSwitchByCode(switchCode)
.then((res) => {

7
src/pages/issue/coms/comScanIssuePack.vue

@ -11,9 +11,9 @@
</view>
</view>
<view class="uni-flex uni-row" style="align-items: center; background-color: #fff; margin-left: 20rpx; margin-right: 20rpx; margin-top: 8rpx; border-radius: 8rpx">
<view class="uni-center" style="width: 25%"> 来源库位 </view>
<view class="uni-center" style="width: 25%; font-size: 35rpx"> 来源库位 </view>
<view class="" style="width: 75%; padding: 8rpx">
<uni-combox :candidates="fromLocationList" v-model="fromLocationCode" placeholder="请选择库位" @confirm="fromLocationUpdate"></uni-combox>
<uni-combox class="my-combox" :candidates="fromLocationList" v-model="fromLocationCode" placeholder="请选择库位" @confirm="fromLocationUpdate" :inputStyle="inputStyleObject"></uni-combox>
</view>
</view>
@ -94,6 +94,9 @@ const defaultValueList = ref([])
const fromInventoryStatuses = ref('')
const packageInfo = ref({})
const label = ref({})
const inputStyleObject = ref({
fontSize: '100rpx'
})
const toLocationCombox = ref()
const comscansimulate = ref()
const comMessageRef = ref()

18
src/pages/login/index.vue

@ -3,7 +3,8 @@
<image mode="widthFix" class="loginimg" src="../../static/icons_ui/login_bg.png"></image>
<view class="login_title">
<text>您好欢迎使用</text><br />
WMS仓库管理系统
WMS仓库管理系统<br />
版本: {{ version }}
</view>
<view class="bgf login_wrap">
<view class="loginbox">
@ -83,6 +84,7 @@ const showPassword = ref(true)
const imageSrc = ref('')
const code = ref('')
const uuid = ref('')
const version = ref('')
const comMessageRef = ref('')
//
onNavigationBarButtonTap((e) => {
@ -186,6 +188,18 @@ const getCode = () => {
.catch((error) => {
showErrorMessage(error)
})
getAppVersion()
}
const getAppVersion = () => {
const systemInfo = uni.getSystemInfoSync()
// #ifdef H5
version.value = systemInfo.appVersion
console.log(systemInfo.appVersion, '版本号')
// #endif
// #ifdef APP
version.value = systemInfo.appWgtVersion
// #endif
}
</script>
@ -214,7 +228,7 @@ page {
.mytabline {
flex: 1;
text-align: center;
padding: 20rpx 0;
padding: 10rpx 0;
color: #666;
position: relative;
font-size: 0.875rem;

4
src/pages/package/record/overPackageRecord.vue

@ -52,7 +52,7 @@
</view>
<win-scan-button @goScan="openScanPopup"></win-scan-button>
</view>
<winComScanBalance ref="scanPopup" @getBalance="getScanResult" businesstypeCode="OverPackage"> </winComScanBalance>
<winComScanBalance ref="scanPopup" @getBalance="getScanResult" bussinessCode="OverPackage"> </winComScanBalance>
<com-message ref="comMessageRef" />
</view>
</template>
@ -413,7 +413,7 @@ const showCommitSuccessMessage = (hint, pointData) => {
fromLocationCode.value = ''
dataContent.value = {}
if (pointData.length > 0) {
uni.redirectTo({
uni.navigateTo({
url: `/pages/point/index?points=${JSON.stringify(pointData)}`
})
}

11
src/pages/purchaseReceipt/job/receiptDetail.vue

@ -36,7 +36,7 @@
<view style="background-color: ghostwhite; width: 100%">
<view v-if="operation == 'receipt'" class="uni-flex u-col-center space-between padding_10">
<view>
<locationCompare ref="locationCompareRef" title="收货库位" :recommendLocationCode="jobToLocationCode" :locationCode="toLocationCode" @getLocation="scanLocationCode" :locationAreaTypeList="toLocationAreaTypeList"> </locationCompare>
<locationCompare ref="locationCompareRef" title="收货库位" :recommendLocationCode="jobToLocationCode" :locationCode="toLocationCode" :locationAreaTypeList="toLocationAreaTypeList"> </locationCompare>
</view>
<view>
<button class="btn_single_commit" hover-class="btn_commit_after" @click="commit">提交</button>
@ -97,6 +97,7 @@ const operation = ref('')
const scanedPackingNumber = ref('')
const status = ref('')
const switchCode = ref('')
const isCheckLocation = ref('purchaseReceiptLocationCodeValidate') //
const reasonText = ref('')
const comMessageRef = ref()
const locationCompareRef = ref()
@ -108,7 +109,7 @@ onLoad((option) => {
scanedPackingNumber.value = option.scaned || ''
status.value = option.status || ''
operation.value = option.operation
switchCode.value = 'purchasereceiptPrintPDA'
switchCode.value = 'purchasereceiptPrintPDA' // pda
})
onShow(() => {
@ -181,6 +182,12 @@ const getDetail = () => {
jobStatus.value = res.data.status
jobToLocationCode.value = subList.value[0].toLocationCode
detailSource.value = getTreeDataSource(subList.value)
isCheckLocation.value = getSwitchInfoByCode(isCheckLocation.value)
if (isCheckLocation.value) {
toLocationCode.value = ''
} else {
toLocationCode.value = jobToLocationCode.value
}
isAllReceived.value = false
nextTick(() => {
detailSource.value.forEach((r) => {

1
src/pages/putaway/job/putawayJob.vue

@ -134,6 +134,7 @@ const getList = (type) => {
uni.hideLoading()
if (type === 'refresh') {
uni.stopPullDownRefresh()
openScanPopup()
}
const { list } = res.data

141
src/pages/query/location.vue

@ -1,12 +1,12 @@
<template>
<!-- <page-meta root-font-size="18px"></page-meta> -->
<view class="">
<view class="" style="width: 100%; position: fixed; top: 20rpx; right: 0">
<view class="uni-flex" style="flex-direction: column">
<view class="" style="width: 100%; position: fixed; top: 0; right: 0">
<com-blank-view @goScan="openScanPopup" v-if="locationCode == ''"></com-blank-view>
<location-info :locationDetail="locationDetail" v-if="locationCode"></location-info>
<z-tabs v-if="locationCode" :list="tabList" @change="tabChange" />
</view>
<view style="margin-top: 200rpx; width: 100%">
<view style="padding-top: 200rpx; width: 100%">
<view v-if="totalCount > 0" style="margin: 10rpx; font-size: 35rpx; font-weight: bold">总数 : {{ totalCount }} </view>
<view v-for="(item, index) in dataList" style="width: 100%">
<view class="uni-flex uni-row" style="align-items: center; background-color: #fff; border-radius: 10rpx; margin: 10rpx">
@ -175,56 +175,104 @@ const getDetailList = (pageNo, pageSize, type) => {
showMessage(error)
})
}
const getExpectin = (pageNo, pageSize, type) => {
uni.showLoading({
title: '加载中...',
mask: true
})
if (type === 'refresh') {
pageNo.value = 1
dataList.value = []
}
const params = {
pageNo: pageNo.value,
pageSize,
filters: [
{
column: 'locationCode',
action: '==',
value: locationCode.value
}
]
}
const 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)
getExpectInByLocationCode(params)
.then((res) => {
uni.hideLoading()
if (type === 'refresh') {
uni.stopPullDownRefresh()
}
const { list } = res.data
totalCount.value = res.data.total
loadingType.value = 'loadmore'
if (list == null || list.length == 0) {
loadingType.value = 'nomore'
return
}
dataList.value = type === 'refresh' ? list : dataList.value.concat(list)
pageNo.value++
})
.catch((error) => {
uni.hideLoading()
showMessage(error)
})
return resultlist
}
const ontabtap = (e) => {
const index = e.target.dataset.current || e.currentTarget.dataset.current
tabIndex.value = index
getContentByTab(tabIndex.value)
const getExpectOut = (pageNo, pageSize, type) => {
uni.showLoading({
title: '加载中...',
mask: true
})
if (type === 'refresh') {
pageNo.value = 1
dataList.value = []
}
const params = {
pageNo: pageNo.value,
pageSize,
filters: [
{
column: 'locationCode',
action: '==',
value: locationCode.value
}
]
}
const getContentByTab = (index, pageNo, pageSize) => {
getExpectOutByLocationCode(params)
.then((res) => {
uni.hideLoading()
if (type === 'refresh') {
uni.stopPullDownRefresh()
}
const { list } = res.data
totalCount.value = res.data.total
loadingType.value = 'loadmore'
if (list == null || list.length == 0) {
loadingType.value = 'nomore'
return
}
dataList.value = type === 'refresh' ? list : dataList.value.concat(list)
pageNo.value++
})
.catch((error) => {
uni.hideLoading()
showMessage(error)
})
}
const getContentByTab = (index, pageNo, pageSize, type) => {
if (index === 0) {
getSummary(pageNo, pageSize)
getSummary(pageNo, pageSize, type)
} else if (index === 1) {
getDetailList(pageNo, pageSize)
getDetailList(pageNo, pageSize, type)
} else if (index === 2) {
dataIn.value = balances.value
getExpectin(pageNo, pageSize, type)
} else if (index == 3) {
dataOut.value = balances.value
getExpectin(pageNo, pageSize, type)
}
}
@ -242,12 +290,7 @@ const afterCloseMessage = () => {
}
const tabChange = (index) => {
tabIndex.value = index
paging.value.reload(true)
}
const queryList = (pageNo, pageSize) => {
if (locationCode.value != '') {
getContentByTab(tabIndex.value, pageNo, pageSize)
}
getContentByTab(index, pageNo.value, pageSize.value, 'refresh')
}
</script>

42
src/uni_modules/uni-combox/components/uni-combox/uni-combox.vue

@ -4,11 +4,8 @@
<text>{{ label }}</text>
</view>
<view class="uni-combox__input-box" :style="inputStyle">
<input class="uni-combox__input " type="text" :placeholder="placeholder"
placeholder-class="uni-combox__input-plac" v-model="inputVal" @input="onInput" @focus="onFocus"
@blur="onBlur" @confirm ="confirm"/>
<uni-icons :type="showSelector? 'top' : 'bottom'" size="14" color="#999" @click="toggleSelector">
</uni-icons>
<input class="uni-combox__input" type="text" :placeholder="placeholder" placeholder-class="uni-combox__input-plac" v-model="inputVal" @input="onInput" @focus="onFocus" @blur="onBlur" @confirm="confirm" />
<uni-icons :type="showSelector ? 'top' : 'bottom'" size="14" color="#999" @click="toggleSelector"> </uni-icons>
</view>
<view class="uni-combox__selector" v-if="showSelector">
<view class="uni-popper__arrow"></view>
@ -16,8 +13,7 @@
<view class="uni-combox__selector-empty" v-if="filterCandidatesLength === 0">
<text>{{ emptyTips }}</text>
</view>
<view class="uni-combox__selector-item" v-for="(item,index) in filterCandidates" :key="index"
@click="onSelectorClick(index)">
<view class="uni-combox__selector-item" v-for="(item, index) in filterCandidates" :key="index" @click="onSelectorClick(index)">
<text>{{ item }}</text>
</view>
</scroll-view>
@ -81,7 +77,7 @@
modelValue: {
type: [String, Number],
default: ''
},
}
// #endif
},
data() {
@ -93,7 +89,7 @@
computed: {
labelStyle() {
if (this.labelWidth === 'auto') {
return ""
return ''
}
return `width: ${this.labelWidth}`
@ -101,7 +97,7 @@
inputStyle() {
if (this.inputWidth === 'auto') {
return ""
return ''
}
return `width: ${this.inputWidth}`
@ -110,7 +106,7 @@
// return this.candidates.filter((item) => {
// return item.toString().indexOf(this.inputVal) > -1
// })
return this.candidates;
return this.candidates
},
filterCandidatesLength() {
return this.filterCandidates.length
@ -131,7 +127,7 @@
this.inputVal = newVal
},
immediate: true
},
}
// #endif
},
methods: {
@ -164,15 +160,14 @@
this.$emit('update:modelValue', this.inputVal)
})
}
}
}
</script>
<style lang="scss" scoped>
<style lang="scss">
.uni-combox {
font-size: 14px;
border: 1px solid #DCDFE6;
border: 1px solid #dcdfe6;
border-radius: 4px;
padding: 6px 10px;
position: relative;
@ -205,8 +200,8 @@
.uni-combox__input {
flex: 1;
font-size: 14px;
height: 22px;
line-height: 22px;
height: 26px;
line-height: 26px;
}
.uni-combox__input-plac {
@ -222,8 +217,8 @@
top: calc(100% + 12px);
left: 0;
width: 100%;
background-color: #FFFFFF;
border: 1px solid #EBEEF5;
background-color: #ffffff;
border: 1px solid #ebeef5;
border-radius: 6px;
box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
z-index: 2;
@ -245,7 +240,7 @@
cursor: pointer;
/* #endif */
line-height: 36px;
font-size: 14px;
font-size: 60rpx;
text-align: center;
// border-bottom: solid 1px #DDDDDD;
padding: 0px 10px;
@ -280,11 +275,11 @@
left: 10%;
margin-right: 3px;
border-top-width: 0;
border-bottom-color: #EBEEF5;
border-bottom-color: #ebeef5;
}
.uni-popper__arrow::after {
content: " ";
content: ' ';
top: 1px;
margin-left: -6px;
border-top-width: 0;
@ -294,4 +289,7 @@
.uni-combox__no-border {
border: none;
}
.uni-input-input {
font-size: 60rpx;
}
</style>

Loading…
Cancel
Save