Browse Source

修改直接退料

wms3.0_pda
Niext 1 year ago
parent
commit
caf443185a
  1. 47
      mycomponents/scan/winScanPackAndPosition.vue
  2. 67
      mycomponents/workstation/workstation.vue
  3. 11
      pages/issue/coms/comIssueRequestCreator.vue
  4. 11
      pages/issue/coms/comIssueRequestDetailCard.vue
  5. 8
      pages/issue/job/issueDetail.vue
  6. 10
      pages/issue/record/issueRecord.vue
  7. 11
      pages/productionReturn/coms/comReturnRecord.vue
  8. 8
      pages/productionReturn/coms/comReturnRecordTitle.vue
  9. 27
      pages/productionReturn/record/returnToHold.vue
  10. 21
      pages/productionReturn/record/returnToStore.vue

47
mycomponents/scan/winScanPackAndPosition.vue

@ -34,8 +34,8 @@
</view> </view>
<view class=""> <view class="">
<view class=""> <view class="">
<win-com-scan ref="comscan" :placeholder="title" @getResult="getScanResult" :headerType="headerType" <win-com-scan ref="comscan" :placeholder="title" @getResult="getScanResult"
:isShowHistory="isShowHistory" :clearResult="true"></win-com-scan> :headerType="headerType" :isShowHistory="isShowHistory" :clearResult="true"></win-com-scan>
</view> </view>
</view> </view>
</view> </view>
@ -133,7 +133,9 @@
positionInfo: this.positionInfo, positionInfo: this.positionInfo,
workshopCode: this.workshopCode, workshopCode: this.workshopCode,
productionLineCode: this.productionLineCode, productionLineCode: this.productionLineCode,
workStationCode:this.workStationCode workStationCode: this.workStationCode,
rawLocationCode: this.rawLocationCode,
fgLocationCode: this.fgLocationCode,
} }
if (result.success) { if (result.success) {
this.isEditPosition = false this.isEditPosition = false
@ -156,8 +158,7 @@
}, },
showErrorMessage(message) { showErrorMessage(message) {
this.$refs.comMessage.showErrorMessage(message, res => { this.$refs.comMessage.showErrorMessage(message, res => {
if (res) { if (res) {}
}
}); });
}, },
@ -178,24 +179,24 @@
this.productionLineName = e[1].label this.productionLineName = e[1].label
this.workStationName = e[2].label this.workStationName = e[2].label
// let shop = this.positionList.find(shop => shop.value == this.workshopCode); let shop = this.positionList.find(shop => shop.value == this.workshopCode);
// if (shop != undefined && shop.children != undefined) { if (shop != undefined && shop.children != undefined) {
// let prodLine = shop.children.find(line => line.value == this.productionLineCode); let prodLine = shop.children.find(line => line.value == this.productionLineCode);
// if (prodLine != undefined && prodLine.children != undefined) { if (prodLine != undefined && prodLine.children != undefined) {
// let station = prodLine.children.find(r => r.value == this.workStationCode); let station = prodLine.children.find(r => r.value == this.workStationCode);
// if (station.rawLocationCode == '' && station.rawLocationCode == null) { if (station.rawLocationCode == '' && station.rawLocationCode == null) {
// this.showErrorMessage(this.workStationName + ",") this.showErrorMessage(this.workStationName + "的原材料库位为空,请重新选择")
// return; return;
// } else { } else {
// this.rawLocationCode = station.rawLocationCode; this.rawLocationCode = station.rawLocationCode;
// this.fgLocationCode = station.fgLocationCode; this.fgLocationCode = station.fgLocationCode;
// } }
// } else { } else {
// this.showErrorMessage("线-") this.showErrorMessage("生产线-工位基础信息维护错误")
// } }
// } else { } else {
// this.showErrorMessage("-线") this.showErrorMessage("车间-生产线基础信息维护错误")
// } }
}, },
} }
} }

67
mycomponents/workstation/workstation.vue

@ -0,0 +1,67 @@
<template>
<view class="header_job_top">
<view class="cen_card">
<view class="cell_box uni-flex uni-row">
<view class="cell_info">
<view class="text_lightblue">车间</view>
<view>{{workshopCode}}</view>
</view>
<view class="cell_info">
<view class="text_lightblue">生产线</view>
<view>{{productionLineCode}}</view>
</view>
<view class="cell_info">
<view class="text_lightblue">工位</view>
<view>{{ workStationCode }}</view>
</view>
<view class="cell_info">
<view class="text_lightblue">原材料库位</view>
<view>{{ rawLocationCode }}</view>
</view>
<!-- <view class="cell_info">
<view class="text_lightblue">成品库位</view>
<view>{{ fgLocationCode }}</view>
</view> -->
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
};
},
watch: {},
props: {
workshopCode: {
type: String,
default: ""
},
productionLineCode: {
type: String,
default: ""
},
workStationCode: {
type: String,
default: ""
},
rawLocationCode: {
type: String,
default: ""
},
fgLocationCode: {
type: String,
default: ""
},
},
methods: {}
}
</script>
<style>
</style>

11
pages/issue/coms/comIssueRequestCreator.vue

@ -1,8 +1,11 @@
<template> <template>
<view class="" style="background-color: #fff;"> <view class="" style="background-color: #fff;">
<view class="uni-flex uni-column"> <view class="uni-flex uni-column">
<com-issue-request-info :workShopCode="dataContent.workshopCode" :dataContent="dataContent"> <!-- <com-issue-request-info :workShopCode="dataContent.workshopCode" :dataContent="dataContent">
</com-issue-request-info> </com-issue-request-info> -->
<work-station :workshopCode="dataContent.workShopCode" :productionLineCode="dataContent.productionLineCode"
:workStationCode="dataContent.workStationCode" :rawLocationCode="dataContent.toLocationCode"></work-station>
<uni-swipe-action ref="swipeAction"> <uni-swipe-action ref="swipeAction">
<view v-for="(item, index) in dataContent.subList" :key="index"> <view v-for="(item, index) in dataContent.subList" :key="index">
<uni-swipe-action-item @click="swipeClick($event,item)" :right-options="detailOptions"> <uni-swipe-action-item @click="swipeClick($event,item)" :right-options="detailOptions">
@ -26,6 +29,7 @@
import itemQty from '@/mycomponents/item/itemQty.vue' import itemQty from '@/mycomponents/item/itemQty.vue'
import comIssueRequestInfo from '@/pages/issue/coms/comIssueRequestInfo.vue' import comIssueRequestInfo from '@/pages/issue/coms/comIssueRequestInfo.vue'
import requestDetailInfoPopup from '@/pages/issue/coms/requestDetailInfoPopup.vue' import requestDetailInfoPopup from '@/pages/issue/coms/requestDetailInfoPopup.vue'
import workStation from '@/mycomponents/workStation/workStation.vue'
import { import {
getDetailOption, getDetailOption,
@ -42,7 +46,8 @@
comMessage, comMessage,
itemQty, itemQty,
comIssueRequestInfo, comIssueRequestInfo,
requestDetailInfoPopup requestDetailInfoPopup,
workStation
}, },
props: { props: {
dataContent: { dataContent: {

11
pages/issue/coms/comIssueRequestDetailCard.vue

@ -1,8 +1,11 @@
<template> <template>
<view class="" style="background-color: #fff;"> <view class="" style="background-color: #fff;">
<view class="uni-flex uni-column"> <view class="uni-flex uni-column">
<com-issue-request-info :workShopCode="dataContent.workshopCode" :dataContent="requestItem"> <!-- <com-issue-request-info :workShopCode="dataContent.workshopCode" :dataContent="requestItem">
</com-issue-request-info> </com-issue-request-info> -->
<work-station :workshopCode="dataContent.workShopCode" :productionLineCode="requestItem.productionLineCode"
:workStationCode="requestItem.workStationCode" :rawLocationCode="requestItem.toLocationCode"></work-station>
<uni-swipe-action ref="swipeAction"> <uni-swipe-action ref="swipeAction">
<view v-for="(item, index) in dataContent.subList" :key="index"> <view v-for="(item, index) in dataContent.subList" :key="index">
<uni-swipe-action-item @click="swipeClick($event,item)" :right-options="detailOptions"> <uni-swipe-action-item @click="swipeClick($event,item)" :right-options="detailOptions">
@ -27,6 +30,7 @@
import itemQty from '@/mycomponents/item/itemQty.vue' import itemQty from '@/mycomponents/item/itemQty.vue'
import comIssueRequestInfo from '@/pages/issue/coms/comIssueRequestInfo.vue' import comIssueRequestInfo from '@/pages/issue/coms/comIssueRequestInfo.vue'
import requestDetailInfoPopup from '@/pages/issue/coms/requestDetailInfoPopup.vue' import requestDetailInfoPopup from '@/pages/issue/coms/requestDetailInfoPopup.vue'
import workStation from '@/mycomponents/workStation/workStation.vue'
import { import {
getDetailOption, getDetailOption,
@ -43,7 +47,8 @@
comMessage, comMessage,
itemQty, itemQty,
comIssueRequestInfo, comIssueRequestInfo,
requestDetailInfoPopup requestDetailInfoPopup,
workStation
}, },
props: { props: {
dataContent: { dataContent: {

8
pages/issue/job/issueDetail.vue

@ -11,8 +11,8 @@
<view class="page-main"> <view class="page-main">
<scroll-view scroll-y="true" class="page-main-scroll"> <scroll-view scroll-y="true" class="page-main-scroll">
<view v-for="(toLocation, index) in detailSource"> <view v-for="(toLocation, index) in detailSource">
<com-issue-request-info :workShopCode="jobContent.workShopCode" :dataContent="toLocation"> <work-station :workshopCode="jobContent.workShopCode" :productionLineCode="toLocation.productionLineCode"
</com-issue-request-info> :workStationCode="toLocation.workStationCode" :rawLocationCode="toLocation.toLocationCode"></work-station>
<com-issue-detail-card ref='comIssueDetailCard' :dataContent="toLocation" @updateData='updateData'> <com-issue-detail-card ref='comIssueDetailCard' :dataContent="toLocation" @updateData='updateData'>
</com-issue-detail-card> </com-issue-detail-card>
</view> </view>
@ -68,6 +68,7 @@
import comMessage from '@/mycomponents/common/comMessage.vue' import comMessage from '@/mycomponents/common/comMessage.vue'
import comIssueRequestInfo from '@/pages/issue/coms/comIssueRequestInfo.vue' import comIssueRequestInfo from '@/pages/issue/coms/comIssueRequestInfo.vue'
import jobTop from '@/mycomponents/job/jobTop.vue' import jobTop from '@/mycomponents/job/jobTop.vue'
import workStation from '@/mycomponents/workStation/workStation.vue'
export default { export default {
name: 'issueDetail', name: 'issueDetail',
@ -78,7 +79,8 @@
comIssueRequestInfo, comIssueRequestInfo,
comScanIssuePack, comScanIssuePack,
comMessage, comMessage,
jobTop jobTop,
workStation
}, },
data() { data() {
return { return {

10
pages/issue/record/issueRecord.vue

@ -8,8 +8,10 @@
<scroll-view scroll-y="true" class=""> <scroll-view scroll-y="true" class="">
<view v-for="(toLocation, index) in detailSource"> <view v-for="(toLocation, index) in detailSource">
<view class="uni-row uni-flex"> <view class="uni-row uni-flex">
<com-issue-request-info :workShopCode="workShopCode" :dataContent="toLocation"> <!-- <com-issue-request-info :workShopCode="workShopCode" :dataContent="toLocation">
</com-issue-request-info> </com-issue-request-info> -->
<work-station :workshopCode="workShopCode" :productionLineCode="toLocation.productionLineCode"
:workStationCode="toLocation.workStationCode" :rawLocationCode="toLocation.toLocationCode"></work-station>
</view> </view>
<com-issue-detail-card ref='comIssueDetailCard' :dataContent="toLocation" <com-issue-detail-card ref='comIssueDetailCard' :dataContent="toLocation"
@updateData='updateData'> @updateData='updateData'>
@ -64,6 +66,7 @@
import comIssueDetailCard from '@/pages/issue/coms/comIssueDetailCard.vue' import comIssueDetailCard from '@/pages/issue/coms/comIssueDetailCard.vue'
import winScanButton from '@/mycomponents/scan/winScanButton.vue' import winScanButton from '@/mycomponents/scan/winScanButton.vue'
import comScanIssuePack from '@/pages/issue/coms/comScanIssuePack.vue' import comScanIssuePack from '@/pages/issue/coms/comScanIssuePack.vue'
import workStation from '@/mycomponents/workStation/workStation.vue'
export default { export default {
name: '', name: '',
@ -76,7 +79,8 @@
comIssueRequestInfo, comIssueRequestInfo,
comIssueDetailCard, comIssueDetailCard,
winScanButton, winScanButton,
comScanIssuePack comScanIssuePack,
workStation
}, },
data() { data() {
return { return {

11
pages/productionReturn/coms/comReturnRecord.vue

@ -16,8 +16,8 @@
<uni-swipe-action ref="swipeAction"> <uni-swipe-action ref="swipeAction">
<uni-swipe-action-item @click="swipeClick($event,item,index)" <uni-swipe-action-item @click="swipeClick($event,item,index)"
:right-options="item.scaned?scanOptions:detailOptions"> :right-options="item.scaned?scanOptions:detailOptions">
<balance :dataContent="item" :isShowStdPack="false" :isShowStatus="true" <balance :dataContent="item" :isShowStdPack="false" :isShowStatus="true" :isShowPack="true"
:isShowPack="true" :isShowLocation="false" :isShowToLocation="true"></balance> :isShowLocation="false" :isShowToLocation="isShowToLocation"></balance>
<!-- <production-label :dataContent="item" :packageContent="item.package" <!-- <production-label :dataContent="item" :packageContent="item.package"
:isShowLocation="false"> :isShowLocation="false">
</production-label> --> </production-label> -->
@ -27,7 +27,8 @@
</view> </view>
</uni-collapse-item> </uni-collapse-item>
</uni-collapse> </uni-collapse>
<recommend-qty-edit ref="recommendQtyEdit" :dataContent="editItem" :handleQty="editItem.qty" @confirm="confirm" :isShowStatus="isShowStatus"></recommend-qty-edit> <recommend-qty-edit ref="recommendQtyEdit" :dataContent="editItem" :handleQty="editItem.qty" @confirm="confirm"
:isShowStatus="isShowStatus"></recommend-qty-edit>
<package-detail-popup ref='packageDetailPopup'> <package-detail-popup ref='packageDetailPopup'>
</package-detail-popup> </package-detail-popup>
<comMessage ref="comMessage"></comMessage> <comMessage ref="comMessage"></comMessage>
@ -81,6 +82,10 @@
isShowStatus: { isShowStatus: {
type: Boolean, type: Boolean,
default: false default: false
},
isShowToLocation: {
type: Boolean,
default: true
} }
}, },
watch: { watch: {

8
pages/productionReturn/coms/comReturnRecordTitle.vue

@ -14,6 +14,10 @@
<view class="text_lightblue">工位</view> <view class="text_lightblue">工位</view>
<view>{{ workStationCode }}</view> <view>{{ workStationCode }}</view>
</view> </view>
<view class="cell_info">
<view class="text_lightblue">原材料库位</view>
<view>{{ rawLocationCode }}</view>
</view>
</view> </view>
</view> </view>
</view> </view>
@ -41,6 +45,10 @@
type: String, type: String,
default: "" default: ""
}, },
rawLocationCode: {
type: String,
default: ""
},
}, },
methods: {} methods: {}

27
pages/productionReturn/record/returnToHold.vue

@ -5,8 +5,9 @@
</view> </view>
<view class="page-wraper" v-if="detailSource.length>0"> <view class="page-wraper" v-if="detailSource.length>0">
<view class="page-header"> <view class="page-header">
<comReturnRecordTitle :workshopCode="workshopCode" :productionLineCode="productionLineCode" <work-station :workshopCode="workshopCode" :productionLineCode="productionLineCode"
:workStationCode="workStationCode"></comReturnRecordTitle> :workStationCode="workStationCode" :rawLocationCode="rawLocationCode"
:fgLocationCode="fgLocationCode"></work-station>
</view> </view>
<u-line /> <u-line />
<view class="page-main"> <view class="page-main">
@ -14,7 +15,7 @@
<view class="detail-list" v-for="(item, index) in detailSource" :key="item.id"> <view class="detail-list" v-for="(item, index) in detailSource" :key="item.id">
<view class=""> <view class="">
<comReturnRecord :dataContent="item" :index="index" @removeItem="removeItem(index,item)" <comReturnRecord :dataContent="item" :index="index" @removeItem="removeItem(index,item)"
@updateData="updateData" @removePack="removePack"> @updateData="updateData" @removePack="removePack" :isShowToLocation="false">
</comReturnRecord> </comReturnRecord>
</view> </view>
<u-line /> <u-line />
@ -26,6 +27,16 @@
<view class="uni-flex u-col-center space-between padding_10" <view class="uni-flex u-col-center space-between padding_10"
style="background-color:ghostwhite; width: 100%; "> style="background-color:ghostwhite; width: 100%; ">
<view class=""> <view class="">
<view class="">
<view class="uni-flex uni-row u-col-center" @click="showLocation">
<view>
目标库位
<text style="font-size: 35rpx;color:#3FBAFF;">&nbsp HOLD</text>
</view>
<image v-if="isShowEdit" style="width:45rpx;height: 45rpx;"
src="/static/icons/icons_edit.svg"></image>
</view>
</view>
</view> </view>
<view class=" uni-flex uni-row"> <view class=" uni-flex uni-row">
<button class="btn_single_commit" hover-class="btn_commit_after" @click="commit">提交</button> <button class="btn_single_commit" hover-class="btn_commit_after" @click="commit">提交</button>
@ -69,8 +80,7 @@
import winScanPack from '@/mycomponents/scan/winScanPack.vue' import winScanPack from '@/mycomponents/scan/winScanPack.vue'
import winScanPackAndPosition from "@/mycomponents/scan/winScanPackAndPosition.vue" import winScanPackAndPosition from "@/mycomponents/scan/winScanPackAndPosition.vue"
import comReturnRecordTitle from '@/pages/productionReturn/coms/comReturnRecordTitle.vue' import comReturnRecordTitle from '@/pages/productionReturn/coms/comReturnRecordTitle.vue'
import workStation from '@/mycomponents/workStation/workStation.vue'
export default { export default {
name: 'comReturn', name: 'comReturn',
@ -82,7 +92,8 @@
comMessage, comMessage,
comReturnRecord, comReturnRecord,
winScanPack, winScanPack,
winScanPackAndPosition winScanPackAndPosition,
workStation
}, },
watch: {}, watch: {},
@ -156,6 +167,7 @@
this.workshopCode = param.workshopCode; this.workshopCode = param.workshopCode;
this.productionLineCode = param.productionLineCode; this.productionLineCode = param.productionLineCode;
this.workStationCode = param.workStationCode; this.workStationCode = param.workStationCode;
this.rawLocationCode = param.rawLocationCode;
let label = result.label; let label = result.label;
let pack = result.package; let pack = result.package;
@ -216,7 +228,8 @@
detail.inventoryStatus = "HOLD" detail.inventoryStatus = "HOLD"
detail.stdPackQty = pack.stdPackQty; detail.stdPackQty = pack.stdPackQty;
detail.stdPackUnit = pack.stdPackUnit; detail.stdPackUnit = pack.stdPackUnit;
detail.batch = pack.batch;
detail.packingNumber = pack.number;
detail.package = pack; detail.package = pack;
detail.label = label; detail.label = label;
return detail; return detail;

21
pages/productionReturn/record/returnToStore.vue

@ -5,8 +5,9 @@
</view> </view>
<view class="page-wraper" v-if="detailSource.length>0"> <view class="page-wraper" v-if="detailSource.length>0">
<view class="page-header"> <view class="page-header">
<comReturnRecordTitle :workshopCode="workshopCode" :productionLineCode="productionLineCode" <work-station :workshopCode="workshopCode" :productionLineCode="productionLineCode"
:workStationCode="workStationCode"></comReturnRecordTitle> :workStationCode="workStationCode" :rawLocationCode="rawLocationCode"
:fgLocationCode="fgLocationCode"></work-station>
</view> </view>
<u-line /> <u-line />
<view class="page-main"> <view class="page-main">
@ -70,8 +71,7 @@
import winScanPack from '@/mycomponents/scan/winScanPack.vue' import winScanPack from '@/mycomponents/scan/winScanPack.vue'
import winScanPackAndPosition from "@/mycomponents/scan/winScanPackAndPosition.vue" import winScanPackAndPosition from "@/mycomponents/scan/winScanPackAndPosition.vue"
import comReturnRecordTitle from '@/pages/productionReturn/coms/comReturnRecordTitle.vue' import comReturnRecordTitle from '@/pages/productionReturn/coms/comReturnRecordTitle.vue'
import workStation from '@/mycomponents/workStation/workStation.vue'
export default { export default {
name: 'comReturn', name: 'comReturn',
@ -83,7 +83,8 @@
comMessage, comMessage,
comReturnRecord, comReturnRecord,
winScanPack, winScanPack,
winScanPackAndPosition winScanPackAndPosition,
workStation
}, },
watch: {}, watch: {},
@ -158,10 +159,13 @@
this.workshopCode = param.workshopCode; this.workshopCode = param.workshopCode;
this.productionLineCode = param.productionLineCode; this.productionLineCode = param.productionLineCode;
this.workStationCode = param.workStationCode; this.workStationCode = param.workStationCode;
this.rawLocationCode = param.rawLocationCode;
debugger;
let label = result.label; let label = result.label;
let pack = result.package; let pack = result.package;
var item = this.detailSource.find(res => { var item = this.detailSource.find(res => {
if (res.itemCode == label.itemCode) { if (res.itemCode == label.itemCode) {
return res return res
@ -169,7 +173,6 @@
}) })
if (item == undefined) { if (item == undefined) {
// //
this.getRecommendLocation(label, pack, toLocation => { this.getRecommendLocation(label, pack, toLocation => {
var itemp = this.createItemInfo(label, pack); var itemp = this.createItemInfo(label, pack);
@ -178,11 +181,8 @@
newDetail.toWarehouseCode = toLocation.warehouseCode; newDetail.toWarehouseCode = toLocation.warehouseCode;
itemp.subList.push(newDetail); itemp.subList.push(newDetail);
this.detailSource.push(itemp) this.detailSource.push(itemp)
}) })
} else { } else {
var detail = item.subList.find(r => { var detail = item.subList.find(r => {
if (r.packingNumber == label.packingNumber && if (r.packingNumber == label.packingNumber &&
@ -229,7 +229,8 @@
detail.inventoryStatus = "OK" detail.inventoryStatus = "OK"
detail.stdPackQty = pack.stdPackQty; detail.stdPackQty = pack.stdPackQty;
detail.stdPackUnit = pack.stdPackUnit; detail.stdPackUnit = pack.stdPackUnit;
detail.batch = pack.batch;
detail.packingNumber = pack.number;
detail.package = pack; detail.package = pack;
detail.label = label; detail.label = label;
return detail; return detail;

Loading…
Cancel
Save