Browse Source

修改盘点 2024/7/8 16:58:41

hella_vue3
zhang_li 3 months ago
parent
commit
a148be3127
  1. 14
      src/mycomponents/balance/location.vue
  2. 4
      src/mycomponents/scan/winScanPackAndLocation.vue
  3. 6
      src/pages/count/coms/comCountDetailcards.vue
  4. 2
      src/pages/count/coms/comCountJobCard.vue
  5. 39
      src/pages/count/job/countBlindDetail.vue
  6. 20
      src/pages/count/job/countJob.vue
  7. 6
      src/pages/count/job/countLightDetail.vue
  8. 4
      src/uni_modules/uni-combox/components/uni-combox/uni-combox.vue

14
src/mycomponents/balance/location.vue

@ -1,12 +1,12 @@
<template> <template>
<view class="card_view"> <view class="card_view">
<text class="card_location">{{title}}</text> <text class="card_location">{{ title }}</text>
<text class="card_content ">{{locationCode}}</text> <text class="card_content" style="font-size: 37rpx">{{ locationCode }}</text>
</view> </view>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
const props = defineProps({ const props = defineProps({
locationCode: { locationCode: {
type: String, type: String,
default: '' default: ''
@ -14,10 +14,8 @@
title: { title: {
type: String, type: String,
default: '库位' default: '库位'
}, }
})
})
</script> </script>
<style> <style></style>
</style>

4
src/mycomponents/scan/winScanPackAndLocation.vue

@ -10,7 +10,7 @@
</view> </view>
</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-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%; font-size: 40rpx"> 来源库位 </view> <view class="uni-center" style="width: 25%; font-size: 35rpx"> 来源库位 </view>
<!-- style="width: 75%;padding: 8rpx" --> <!-- style="width: 75%;padding: 8rpx" -->
<view class=""> <view class="">
<!-- <input v-model="fromLocationCode" placeholder="请扫描来源库位" :focus="locationOnFocus" <!-- <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> <uni-combox :candidates="fromLocationList" v-model="fromLocationCode" placeholder="请扫描来源库位" @confirm="handleConfirm" style="height: 30rpx; border: 1px solid #fff"></uni-combox>
</view> </view>
<view v-else> <view v-else>
<text style="padding: 5px; font-size: 50rpx"> <text style="padding: 5px; font-size: 40rpx">
{{ fromLocationCode }} {{ fromLocationCode }}
</text> </text>
</view> </view>

6
src/pages/count/coms/comCountDetailcards.vue

@ -8,7 +8,7 @@
</view> </view>
<view class=""> <view class="">
<view class="uni-flex uni-row"> <view class="uni-flex uni-row">
<compareQty :dataContent="dataContent" :recommendQty="dataContent.recommendQty" :handleQty="dataContent.handleQty" :isShowRecommendQty="isShowRecommendQty"> </compareQty> <compareQty :dataContent="dataContent" :recommendQty="dataContent.recommendQty" :handleQty="dataContent.handleQty" :isShowRecommendQty="isShowRecommendQty" :isShowRecommendQty="isShowRecommendQty"> </compareQty>
</view> </view>
<!-- <view v-if="dataContent.scaned" style="margin-top: 10rpx; float: right;"> <!-- <view v-if="dataContent.scaned" style="margin-top: 10rpx; float: right;">
<button type="primary" size="mini" @click="edit">编辑</button> <button type="primary" size="mini" @click="edit">编辑</button>
@ -51,6 +51,10 @@ const props = defineProps({
type: Boolean, type: Boolean,
default: false default: false
}, },
isShowRecommendQty: {
type: Boolean,
default: true
},
isShowRecommendQty: { isShowRecommendQty: {
type: Boolean, type: Boolean,
default: true default: true

2
src/pages/count/coms/comCountJobCard.vue

@ -1,7 +1,7 @@
<template> <template>
<job-com-main-card :dataContent="dataContent"> <job-com-main-card :dataContent="dataContent">
<!-- <jobComMainDetailCard :dataContent="dataContent"></jobComMainDetailCard> --> <!-- <jobComMainDetailCard :dataContent="dataContent"></jobComMainDetailCard> -->
<to-location title="盘点库位" :locationCode="dataContent.toLocationCode || dataContent.locationCode"> </to-location> <to-location style="margin-left: 20rpx" title="盘点库位" :locationCode="dataContent.countSplitCode"> </to-location>
<view class="" style="margin-left: 40rpx; font-size: 32rpx; font-weight: bold"> 阶段 : {{ handleGetCountStageName(dataContent.stage) }} </view> <view class="" style="margin-left: 40rpx; font-size: 32rpx; font-weight: bold"> 阶段 : {{ handleGetCountStageName(dataContent.stage) }} </view>
<view class="" style="margin-left: 40rpx; font-size: 32rpx; font-weight: bold"> 策略 : {{ isOpenCount(dataContent.isOpenCount) }} </view> <view class="" style="margin-left: 40rpx; font-size: 32rpx; font-weight: bold"> 策略 : {{ isOpenCount(dataContent.isOpenCount) }} </view>
</job-com-main-card> </job-com-main-card>

39
src/pages/count/job/countBlindDetail.vue

@ -34,7 +34,7 @@
<uni-swipe-action-item @click="swipeClick($event, item)" :right-options="item.scaned ? scanOptions : detailOptions"> <uni-swipe-action-item @click="swipeClick($event, item)" :right-options="item.scaned ? scanOptions : detailOptions">
<view class="uni-flex uni-row" style="align-items: center" :class="item.scaned ? 'scan_view' : 'item'"> <view class="uni-flex uni-row" style="align-items: center" :class="item.scaned ? 'scan_view' : 'item'">
<view class="" style="font-size: 30rpx; font-weight: bold"> {{ index + 1 }}. </view> <view class="" style="font-size: 30rpx; font-weight: bold"> {{ index + 1 }}. </view>
<comCountDetailcards :ref="'countDetail_' + index" :dataContent="item" :index="index" @editItem="editItem" :settingParam="jobContent" @remove="updateData" @updateData="updateData"> </comCountDetailcards> <comCountDetailcards :ref="'countDetail_' + index" :dataContent="item" :index="index" @editItem="editItem" :settingParam="jobContent" @remove="updateData" :isShowRecommendQty="false" @updateData="updateData"> </comCountDetailcards>
</view> </view>
<view class="split_line"></view> <view class="split_line"></view>
</uni-swipe-action-item> </uni-swipe-action-item>
@ -54,7 +54,7 @@
</view> </view>
<win-scan-button @goScan="openScanPopup"></win-scan-button> <win-scan-button @goScan="openScanPopup"></win-scan-button>
<win-scan-pack-and-location ref="scanPopup" :noShowBalanceMessage="true" :queryBalance="false" @getResult="getScanResult"> </win-scan-pack-and-location> <win-scan-pack-and-location :allowModifyLocation="false" ref="scanPopup" :noShowBalanceMessage="true" :queryBalance="true" @getResult="getScanResult"> </win-scan-pack-and-location>
<count-qty-edit ref="countQtyEdit" @confirm="editConfirm" @close="editClose" :isShowStatus="true" :allowEditStatus="editInventoryStatus" :isShowBalance="jobContent.isOpenCount == 'TRUE'"> </count-qty-edit> <count-qty-edit ref="countQtyEdit" @confirm="editConfirm" @close="editClose" :isShowStatus="true" :allowEditStatus="editInventoryStatus" :isShowBalance="jobContent.isOpenCount == 'TRUE'"> </count-qty-edit>
<detail-info-popup ref="detailInfoPopup"></detail-info-popup> <detail-info-popup ref="detailInfoPopup"></detail-info-popup>
<comMessage ref="comMessage"></comMessage> <comMessage ref="comMessage"></comMessage>
@ -207,15 +207,15 @@ export default {
} else { } else {
that.jobContent = res.data that.jobContent = res.data
that.jobStatus = res.data.status that.jobStatus = res.data.status
that.fromLocationCode = that.jobContent.locationCode that.fromLocationCode = that.jobContent.countSplitCode
// res.data.subList.forEach(item => { res.data.subList.forEach((item) => {
// item.recommendQty = item.qty item.recommendQty = item.qty
// item.handleQty = 0 item.handleQty = 0
// item.countTime = new Date() item.countTime = new Date()
// item.fromLocationCode =that.fromLocationCode; item.fromLocationCode = that.fromLocationCode
// }) })
// that.allDetails = res.data.subList; that.allDetails = res.data.subList
// that.allCount = res.data.subList.length; that.allCount = res.data.subList.length
that.initList() that.initList()
} }
}) })
@ -297,18 +297,25 @@ export default {
const { packingNumber } = result.label const { packingNumber } = result.label
const pack = result.package const pack = result.package
const { batch } = result.label const { batch } = result.label
const inventoryStatus = 'OK' const inventoryStatus = result.balance ? result.balance.inventoryStatus : 'OK'
const qty = result.label.qty ? result.label.qty : 0 const qty = result.balance ? result.balance.qty : 0
// //
const items = this.allDetails.filter((r) => r.itemCode === itemCode && r.packingNumber === packingNumber && r.batch === batch && r.inventoryStatus === inventoryStatus) const items = this.allDetails.filter((r) => r.itemCode === itemCode && r.packingNumber === packingNumber && r.batch === batch && r.inventoryStatus === inventoryStatus)
// , // ,
if (items.length == 0) { if (items.length == 0) {
this.$refs.comMessage.showQuestionMessage(`包装【${result.label.packingNumber}】不在任务列表中,是否要添加到列表中?`, (res) => {
//
if (res) {
const detail = this.createAddDetailInfo(pack, qty) const detail = this.createAddDetailInfo(pack, qty)
detail.countTime = new Date() detail.countTime = new Date()
this.allDetails.push(detail) this.allDetails.push(detail)
this.updateList() this.updateList()
this.$refs.countQtyEdit.openEditPopupShowSeconds(detail, null) this.$refs.countQtyEdit.openEditPopupShowSeconds(detail, null)
} else {
this.scanPopupGetFocus()
}
})
} else { } else {
const selectItem = items[0] const selectItem = items[0]
// //
@ -324,7 +331,7 @@ export default {
} else { } else {
// //
selectItem.scaned = true selectItem.scaned = true
selectItem.recommendQty = Number(qty) selectItem.balanceQty = Number(qty)
selectItem.handleQty = Number(qty) selectItem.handleQty = Number(qty)
selectItem.packQty = pack.packQty selectItem.packQty = pack.packQty
selectItem.packUnit = pack.packUnit selectItem.packUnit = pack.packUnit
@ -372,7 +379,7 @@ export default {
// //
createAddDetailInfo(pack, qty) { createAddDetailInfo(pack, qty) {
const detail = { const detail = {
id: this.jobContent.masterId, // masterId: this.jobContent.id, //
scaned: true, scaned: true,
countDetailNumber: '', countDetailNumber: '',
ownerCode: '', ownerCode: '',
@ -396,6 +403,7 @@ export default {
countQty: 0, countQty: 0,
balanceQty: 0, balanceQty: 0,
fromLocationCode: this.fromLocationCode, fromLocationCode: this.fromLocationCode,
locationCode: this.fromLocationCode,
creator: this.$store.state.user.id, creator: this.$store.state.user.id,
countTime: new Date() countTime: new Date()
} }
@ -538,6 +546,7 @@ page {
/* #ifdef H5 */ /* #ifdef H5 */
top: 88rpx; top: 88rpx;
/* #endif */ /* #endif */
left: 0; left: 0;
width: 100%; width: 100%;
background-color: #fff; background-color: #fff;

20
src/pages/count/job/countJob.vue

@ -126,6 +126,11 @@ const getList = (type) => {
action: 'in', action: 'in',
value: status.value value: status.value
}) })
filters.push({
column: 'countSplitType',
action: '==',
value: 'locationCode'
})
// filters.push({ // filters.push({
// column: 'accept_user_id', // column: 'accept_user_id',
// action: '==', // action: '==',
@ -167,9 +172,17 @@ const getList = (type) => {
}) })
} }
const openJobDetail = (item) => { const openJobDetail = (item) => {
//
if (item.isOpenCount == 'TRUE') {
uni.navigateTo({
url: `./countLightDetail?id=${item.id}&status=${item.status}`
})
} else {
//
uni.navigateTo({ uni.navigateTo({
url: `./countDetail?id=${item.id}&status=${item.status}` url: `./countBlindDetail?id=${item.id}&status=${item.status}`
}) })
}
} }
const selectedItem = (item) => { const selectedItem = (item) => {
openJobDetail(item) openJobDetail(item)
@ -249,6 +262,11 @@ const getDataListByType = (code) => {
action: '==', action: '==',
value: code value: code
}) })
filters.push({
column: 'countSplitType',
action: '==',
value: 'locationCode'
})
const params = { const params = {
filters, filters,
pageNo: 1, pageNo: 1,

6
src/pages/count/job/countLightDetail.vue

@ -58,7 +58,7 @@
</view> </view>
<win-scan-button @goScan="openScanPopup"></win-scan-button> <win-scan-button @goScan="openScanPopup"></win-scan-button>
<win-scan-pack-and-location ref="scanPopup" :noShowBalanceMessage="true" @getCountScanResult="getScanResult"> </win-scan-pack-and-location> <win-scan-pack-and-location :allowModifyLocation="false" ref="scanPopup" :noShowBalanceMessage="true" @getCountScanResult="getScanResult"> </win-scan-pack-and-location>
<count-qty-edit ref="countQtyEditRef" @confirm="editConfirm" @close="editClose" :isShowStatus="true" :allowEditStatus="editInventoryStatus" :isShowBalance="jobContent.isOpenCount == 'TRUE'"> </count-qty-edit> <count-qty-edit ref="countQtyEditRef" @confirm="editConfirm" @close="editClose" :isShowStatus="true" :allowEditStatus="editInventoryStatus" :isShowBalance="jobContent.isOpenCount == 'TRUE'"> </count-qty-edit>
<detail-info-popup ref="detailInfoPopupRef"></detail-info-popup> <detail-info-popup ref="detailInfoPopupRef"></detail-info-popup>
<com-message ref="comMessageRef" /> <com-message ref="comMessageRef" />
@ -196,7 +196,7 @@ const getDetail = () => {
} else { } else {
jobContent.value = res.data jobContent.value = res.data
jobStatus.value = res.data.status jobStatus.value = res.data.status
fromLocationCode.value = jobContent.value.locationCode fromLocationCode.value = jobContent.value.countSplitCode
res.data.subList.forEach((item) => { res.data.subList.forEach((item) => {
item.recommendQty = item.qty item.recommendQty = item.qty
item.handleQty = 0 item.handleQty = 0
@ -365,7 +365,7 @@ const editClose = () => {
// //
const createAddDetailInfo = (pack, qty) => { const createAddDetailInfo = (pack, qty) => {
const detail = { const detail = {
id: jobContent.value.masterId, // id: jobContent.value.id, //
scaned: true, scaned: true,
countDetailNumber: '', countDetailNumber: '',
ownerCode: '', ownerCode: '',

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

@ -240,7 +240,7 @@ export default {
cursor: pointer; cursor: pointer;
/* #endif */ /* #endif */
line-height: 36px; line-height: 36px;
font-size: 60rpx; font-size: 45rpx;
text-align: center; text-align: center;
// border-bottom: solid 1px #DDDDDD; // border-bottom: solid 1px #DDDDDD;
padding: 0px 10px; padding: 0px 10px;
@ -290,6 +290,6 @@ export default {
border: none; border: none;
} }
.uni-input-input { .uni-input-input {
font-size: 60rpx; font-size: 40rpx;
} }
</style> </style>

Loading…
Cancel
Save