Files
hht-zzzw-uni/pages/zw/materbox-instore.vue
2025-08-19 10:16:55 +08:00

278 lines
7.5 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<view class="zd_container">
<!-- 料桶组盘 -->
<nav-bar :title="title"></nav-bar>
<view class="zd_content">
<view class="zd_wrapper">
<view class="zd-row border-bottom">
<view class="zd-col-7">
<span class="filter_label">仓位编码</span>
</view>
<view class="zd-col-17">
<search-box
v-model="val1"
/>
</view>
</view>
<view class="zd-row border-bottom">
<view class="zd-col-7">
<span class="filter_label">料桶编码</span>
</view>
<view class="zd-col-17">
<search-box
v-model="val2"
@handleChange="handleChange"
/>
</view>
</view>
<view v-if="Object.prototype.toString.call(currentData) === '[object Object]' ">
<view class="zd-row border-bottom">
<view class="zd-col-7">
<span class="filter_label filter_input_disabled">托盘码</span>
</view>
<view class="zd-col-17">
<input type="text" class="filter_input filter_input_disabled" v-model="currentData.storagevehicle_code" disabled>
</view>
</view>
<view class="zd-row border-bottom">
<view class="zd-col-7">
<span class="filter_label filter_input_disabled">批次</span>
</view>
<view class="zd-col-17">
<input type="text" class="filter_input filter_input_disabled" v-model="currentData.pcsn" disabled>
</view>
</view>
<view class="zd-row border-bottom">
<view class="zd-col-7">
<span class="filter_label filter_input_disabled">数量</span>
</view>
<view class="zd-col-17">
<input type="text" class="filter_input filter_input_disabled" v-model="currentData.qty" disabled>
</view>
</view>
<view class="zd-row border-bottom">
<view class="zd-col-7">
<span class="filter_label filter_input_disabled">单位</span>
</view>
<view class="zd-col-17">
<input type="text" class="filter_input filter_input_disabled" v-model="currentData.qty_unit_name" disabled>
</view>
</view>
<view class="zd-row border-bottom">
<view class="zd-col-7">
<span class="filter_label filter_input_disabled">供应商</span>
</view>
<view class="zd-col-17">
<input type="text" class="filter_input filter_input_disabled" v-model="currentData.supp_name" disabled>
</view>
</view>
<view class="zd-row border-bottom">
<view class="zd-col-7">
<span class="filter_label filter_input_disabled">物料编码</span>
</view>
<view class="zd-col-17">
<input type="text" class="filter_input filter_input_disabled" v-model="currentData.material_code" disabled>
</view>
</view>
<view class="zd-row border-bottom">
<view class="zd-col-7">
<span class="filter_label filter_input_disabled">物料名称</span>
</view>
<view class="zd-col-17">
<input type="text" class="filter_input filter_input_disabled" v-model="currentData.material_name" disabled>
</view>
</view>
<view class="zd-row border-bottom">
<view class="zd-col-7">
<span class="filter_label filter_input_disabled">物料规格</span>
</view>
<view class="zd-col-17">
<input type="text" class="filter_input filter_input_disabled" v-model="currentData.material_spec" disabled>
</view>
</view>
<view class="zd-row border-bottom">
<view class="zd-col-7">
<span class="filter_label filter_input_disabled">物料类型</span>
</view>
<view class="zd-col-17">
<input type="text" class="filter_input filter_input_disabled" v-model="currentData.material_model" disabled>
</view>
</view>
</view>
<view v-if="typeof currentData === 'string'">
<view class="msg_item">提示当前是空载具</view>
</view>
</view>
</view>
<view class="zd-row submit-bar">
<!-- <button class="zd-col-11 button-primary" :class="{'button-info': !val1}" :disabled="disabled" @tap="_checkStruct">检查站点</button> -->
<button class="zd-col-7 button-primary" :class="{'button-info': !val1}" :disabled="disabled" @tap="_jbGetLtInfo">刷新数据</button>
<button class="zd-col-7 button-primary" :class="{'button-info': !val1}" :disabled="disabled3" @tap="_jbEmptyTakeOut">空桶取出</button>
<button class="zd-col-8 button-primary" :class="{'button-info': !val1 || !val2 || flag === '2'}" :disabled="disabled2" @tap="_confirmSet">确认放置</button>
</view>
</view>
</template>
<script>
import NavBar from '@/components/NavBar.vue'
import SearchBox from '@/components/SearchBox.vue'
import {checkStruct, jbGetLtInfo, jbEmptyTakeOut, confirmSet} from '@/utils/getData4.js'
export default {
components: {
NavBar,
SearchBox
},
data() {
return {
title: '',
val1: '',
val2: '',
flag: '',
currentData: {},
disabled: false,
disabled2: false,
disabled3: false
};
},
onLoad (options) {
this.title = options.title
},
created () {
},
methods: {
clearUp () {
this.val1 = ''
this.val2 = ''
this.disabled = false
},
clearUp2 () {
this.val1 = ''
this.val2 = ''
this.disabled2 = false
},
clearUp3 () {
this.val1 = ''
this.disabled3 = false
},
handleChange (e) {
if (e) {
this._jbGetLtInfo()
}
},
async _checkStruct () {
this.disabled = true
if (!this.val1) {
this.disabled = false
return
}
try {
let res = await checkStruct(this.val1)
if (res.code === '200') {
this.flag = res.data.flag
uni.showToast({
title: res.message,
icon: 'none'
})
this.clearUp()
} else {
uni.showToast({
title: res.message,
icon: 'none'
})
this.disabled = false
}
} catch (e) {
this.disabled = false
}
},
async _jbGetLtInfo () {
this.disabled = true
if (!this.val1) {
this.disabled = false
return
}
try {
let res = await jbGetLtInfo(this.val1, this.val2)
if (res.code === '200') {
this.currentData = res.data
uni.showToast({
title: res.message,
icon: 'none'
})
this.clearUp()
} else {
uni.showToast({
title: res.message,
icon: 'none'
})
this.disabled = false
}
} catch (e) {
this.disabled = false
}
},
async _jbEmptyTakeOut () {
this.disabled3 = true
if (!this.val1) {
this.disabled3 = false
return
}
try {
let res = await jbEmptyTakeOut(this.val1)
if (res.code === '200') {
uni.showToast({
title: res.message,
icon: 'none'
})
this.clearUp3()
} else {
uni.showToast({
title: res.message,
icon: 'none'
})
this.disabled3 = false
}
} catch (e) {
this.disabled3 = false
}
},
async _confirmSet () {
this.disabled2 = true
if (!this.val1 || !this.val2 || this.flag === '2') {
this.disabled2 = false
return
}
try {
let res = await confirmSet(this.val1, this.val2)
if (res.code === '200') {
uni.showToast({
title: res.message,
icon: 'none'
})
this.clearUp()
} else {
uni.showToast({
title: res.message,
icon: 'none'
})
this.disabled2 = false
}
} catch (e) {
this.disabled2 = false
}
}
}
}
</script>
<style lang="stylus">
.msg_item {
font-size: 28rpx;
line-height: 30rpx;
font-weight: 700;
color: #ff6a00;
margin-top: 30rpx;
word-break: break-all;
}
</style>