空管出入库
This commit is contained in:
@@ -4,62 +4,34 @@
|
|||||||
<view class="zd_content">
|
<view class="zd_content">
|
||||||
<view class="zd_wrapper">
|
<view class="zd_wrapper">
|
||||||
<view class="filter_item">
|
<view class="filter_item">
|
||||||
<view class="filter_label_wraper">
|
<view class="filter_label">区域</view>
|
||||||
<span class="filter_label">点位</span>
|
|
||||||
</view>
|
|
||||||
<view class="filter_input_wraper">
|
<view class="filter_input_wraper">
|
||||||
<search-box
|
<uni-data-select v-model="index1" :localdata="options1" @change="selectChange1"></uni-data-select>
|
||||||
v-model="val1"
|
</view>
|
||||||
/>
|
</view>
|
||||||
|
<view class="filter_item">
|
||||||
|
<view class="filter_label">设备</view>
|
||||||
|
<view class="filter_input_wraper">
|
||||||
|
<uni-data-select v-model="index2" :localdata="options2" @change="selectChange2"></uni-data-select>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="filter_item">
|
<view class="filter_item">
|
||||||
<view class="filter_label">物料</view>
|
<view class="filter_label">物料</view>
|
||||||
<view class="filter_input_wraper">
|
<view class="filter_input_wraper">
|
||||||
<input type="text" class="filter_input" v-model="val2">
|
<uni-data-select v-model="index3" :localdata="options3" @change="selectChange3"></uni-data-select>
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
<view class="filter_item">
|
|
||||||
<view class="filter_label">区域</view>
|
|
||||||
<view class="filter_input_wraper">
|
|
||||||
<uni-data-select v-model="index" :localdata="options" @change="selectChange"></uni-data-select>
|
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="filter_item">
|
<view class="filter_item">
|
||||||
<view class="filter_label">数量</view>
|
<view class="filter_label">数量</view>
|
||||||
<view class="filter_input_wraper">
|
<view class="filter_input_wraper">
|
||||||
<input type="text" class="filter_input" v-model="qty">
|
<input type="text" class="filter_input filter_input_disabled" v-model="qty" disabled="disabled">
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="zd_wrapper grid-wraper">
|
|
||||||
<view class="slide_new">
|
|
||||||
<table>
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th>序号</th>
|
|
||||||
<th>点位</th>
|
|
||||||
<th>物料编码</th>
|
|
||||||
<th>物料名称</th>
|
|
||||||
<th>数量</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<tr v-for="(e, i) in dataList" :key="i" @click="toCheck(e)" :class="{'checked': e.point_code === pkId}">
|
|
||||||
<td>{{Number(i) + 1}}</td>
|
|
||||||
<td>{{e.point_code}}</td>
|
|
||||||
<td>{{e.material_code}}</td>
|
|
||||||
<td>{{e.material_name}}</td>
|
|
||||||
<td>{{e.qty}}</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
</view>
|
</view>
|
||||||
<view class="submit-bar">
|
<view class="submit-bar">
|
||||||
<button class="submit-button" :class="{'btn-disabled': !pkId}" :disabled="disabled" @tap="_emptyConfirm">入库确认</button>
|
<button class="submit-button" :class="{'btn-disabled': !qty || !index1 || !index3}" :disabled="disabled" @tap="_emptyConfirm">入库设置</button>
|
||||||
<button class="submit-button" @tap="_queryMaterialInfo">查询</button>
|
<button class="submit-button" :class="{'btn-disabled': !index2}" @tap="_taskQuerydevice">查询</button>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
@@ -67,7 +39,7 @@
|
|||||||
<script>
|
<script>
|
||||||
import NavBar from '@/components/NavBar.vue'
|
import NavBar from '@/components/NavBar.vue'
|
||||||
import SearchBox from '@/components/SearchBox.vue'
|
import SearchBox from '@/components/SearchBox.vue'
|
||||||
import {queryProductArea, queryMaterialInfo1, emptyConfirm} from '@/utils/getData2.js'
|
import {queryProductArea, taskQuerydevice, queryDeviceList, queryPaperMaterial, emptyConfirm} from '@/utils/getData2.js'
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
NavBar,
|
NavBar,
|
||||||
@@ -75,71 +47,104 @@
|
|||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
val1: '',
|
options1: [],
|
||||||
val2: '',
|
index1: '',
|
||||||
options: [],
|
options2: [],
|
||||||
index: '',
|
index2: '1',
|
||||||
|
options3: [],
|
||||||
|
index3: '',
|
||||||
qty: '',
|
qty: '',
|
||||||
dataList: [],
|
|
||||||
pkId: '',
|
|
||||||
pkObj: {},
|
|
||||||
disabled: false
|
disabled: false
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
created () {
|
created () {
|
||||||
this._queryProductArea()
|
this._queryProductArea()
|
||||||
this._queryMaterialInfo()
|
this._queryDeviceList()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
/** 选择器 */
|
/** 选择器1 */
|
||||||
selectChange(e) {
|
selectChange1(e) {
|
||||||
this.index = e
|
this.index1 = e
|
||||||
|
},
|
||||||
|
/** 选择器2 */
|
||||||
|
selectChange2(e) {
|
||||||
|
this.index2 = e
|
||||||
|
},
|
||||||
|
/** 选择器3 */
|
||||||
|
selectChange3(e) {
|
||||||
|
this.index3 = e
|
||||||
},
|
},
|
||||||
/** 生产区域下拉框查询 */
|
/** 生产区域下拉框查询 */
|
||||||
async _queryProductArea () {
|
async _queryProductArea () {
|
||||||
let res = await queryProductArea()
|
let res = await queryProductArea()
|
||||||
this.options = [...res.data]
|
this.options1 = [...res.data]
|
||||||
},
|
},
|
||||||
/** 初始化查询 */
|
/** 查询设备下拉框 */
|
||||||
async _queryMaterialInfo () {
|
async _queryDeviceList () {
|
||||||
let res = await queryMaterialInfo1(this.val1, this.val2, this.index, '2')
|
let res = await queryDeviceList()
|
||||||
this.dataList = [...res.data]
|
this.options2 = [...res.rows]
|
||||||
|
},
|
||||||
|
/**查询物料下拉框*/
|
||||||
|
async _queryPaperMaterial (code) {
|
||||||
|
let res = await queryDeviceList(code)
|
||||||
|
this.options3 = [...res.rows]
|
||||||
|
},
|
||||||
|
/** 查询物料、数量 */
|
||||||
|
async _taskQuerydevice () {
|
||||||
|
if (!this.index2) {
|
||||||
|
uni.showToast({
|
||||||
|
title: '请选择设备',
|
||||||
|
icon: 'none'
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
let res = await taskQuerydevice([{device_code: this.index2}])
|
||||||
|
// this.index3 = res.material_code
|
||||||
|
this.qty = res.qty
|
||||||
|
this._queryPaperMaterial(res.material_code)
|
||||||
},
|
},
|
||||||
/** 确认 */
|
/** 确认 */
|
||||||
async _emptyConfirm () {
|
async _emptyConfirm () {
|
||||||
this.disabled = true
|
this.disabled = true
|
||||||
if (!this.pkId) {
|
if (!this.index2) {
|
||||||
|
uni.showToast({
|
||||||
|
title: '设备不能为空',
|
||||||
|
icon: 'none'
|
||||||
|
})
|
||||||
|
this.disabled = false
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if (!this.index3) {
|
||||||
|
uni.showToast({
|
||||||
|
title: '物料不能为空',
|
||||||
|
icon: 'none'
|
||||||
|
})
|
||||||
|
this.disabled = false
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if (!this.qty) {
|
||||||
|
uni.showToast({
|
||||||
|
title: '数量不能为空',
|
||||||
|
icon: 'none'
|
||||||
|
})
|
||||||
this.disabled = false
|
this.disabled = false
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
let res = await emptyConfirm(this.pkObj, this.qty, this.val1, '2')
|
let res = await emptyConfirm(this.qty, this.index3, this.index2, '1')
|
||||||
this.disabled = false
|
this.disabled = false
|
||||||
this.pkId = ''
|
|
||||||
this.pkObj = {}
|
|
||||||
this._queryMaterialInfo()
|
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
title: res.message,
|
title: res.message,
|
||||||
icon: 'none'
|
icon: 'none'
|
||||||
})
|
})
|
||||||
|
this.index1 = ''
|
||||||
|
this.index2 = ''
|
||||||
|
this.index3 = ''
|
||||||
|
this.qty = ''
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
this.disabled = false
|
this.disabled = false
|
||||||
}
|
}
|
||||||
},
|
|
||||||
toCheck (e) {
|
|
||||||
this.pkId = this.pkId === e.point_code ? '' : e.point_code
|
|
||||||
this.pkObj = this.pkId === e.point_code ? e : {}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="stylus">
|
|
||||||
.slide_new table td:first-child, .slide_new table th:first-child
|
|
||||||
width 92rpx
|
|
||||||
.slide_new table td:nth-child(2), .slide_new table th:nth-child(2)
|
|
||||||
position sticky
|
|
||||||
left 89rpx
|
|
||||||
z-index 102
|
|
||||||
box-shadow 1px 0 2px rgba(0,0,0,.12)
|
|
||||||
</style>
|
|
||||||
|
|||||||
@@ -3,22 +3,6 @@
|
|||||||
<nav-bar title="空管出库"></nav-bar>
|
<nav-bar title="空管出库"></nav-bar>
|
||||||
<view class="zd_content">
|
<view class="zd_content">
|
||||||
<view class="zd_wrapper">
|
<view class="zd_wrapper">
|
||||||
<view class="filter_item">
|
|
||||||
<view class="filter_label_wraper">
|
|
||||||
<span class="filter_label">点位</span>
|
|
||||||
</view>
|
|
||||||
<view class="filter_input_wraper">
|
|
||||||
<search-box
|
|
||||||
v-model="val1"
|
|
||||||
/>
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
<view class="filter_item">
|
|
||||||
<view class="filter_label">物料</view>
|
|
||||||
<view class="filter_input_wraper">
|
|
||||||
<input type="text" class="filter_input" v-model="val2">
|
|
||||||
</view>
|
|
||||||
</view>
|
|
||||||
<view class="filter_item">
|
<view class="filter_item">
|
||||||
<view class="filter_label">区域</view>
|
<view class="filter_label">区域</view>
|
||||||
<view class="filter_input_wraper">
|
<view class="filter_input_wraper">
|
||||||
@@ -37,19 +21,15 @@
|
|||||||
<table>
|
<table>
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th>序号</th>
|
<th>设备</th>
|
||||||
<th>点位</th>
|
|
||||||
<th>物料编码</th>
|
<th>物料编码</th>
|
||||||
<th>物料名称</th>
|
|
||||||
<th>数量</th>
|
<th>数量</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr v-for="(e, i) in dataList" :key="i" @click="toCheck(e)" :class="{'checked': e.point_code === pkId}">
|
<tr v-for="(e, i) in dataList" :key="i" @click="toCheck(e)" :class="{'checked': e.device_code === pkId}">
|
||||||
<td>{{Number(i) + 1}}</td>
|
<td>{{e.device_code}}</td>
|
||||||
<td>{{e.point_code}}</td>
|
|
||||||
<td>{{e.material_code}}</td>
|
<td>{{e.material_code}}</td>
|
||||||
<td>{{e.material_name}}</td>
|
|
||||||
<td>{{e.qty}}</td>
|
<td>{{e.qty}}</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
@@ -58,8 +38,8 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="submit-bar">
|
<view class="submit-bar">
|
||||||
<button class="submit-button" :class="{'btn-disabled': !pkId}" :disabled="disabled" @tap="_emptyConfirm">出库确认</button>
|
<button class="submit-button" :class="{'btn-disabled': !pkId || !qty}" :disabled="disabled" @tap="_emptyConfirm">确认</button>
|
||||||
<button class="submit-button" @tap="_queryMaterialInfo">查询</button>
|
<button class="submit-button" @tap="_queryPaperTubeInfo">查询</button>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
@@ -67,7 +47,7 @@
|
|||||||
<script>
|
<script>
|
||||||
import NavBar from '@/components/NavBar.vue'
|
import NavBar from '@/components/NavBar.vue'
|
||||||
import SearchBox from '@/components/SearchBox.vue'
|
import SearchBox from '@/components/SearchBox.vue'
|
||||||
import {queryProductArea, queryMaterialInfo1, emptyConfirm} from '@/utils/getData2.js'
|
import {queryProductArea, emptyConfirm} from '@/utils/getData2.js'
|
||||||
export default {
|
export default {
|
||||||
components: {
|
components: {
|
||||||
NavBar,
|
NavBar,
|
||||||
@@ -75,8 +55,6 @@
|
|||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
val1: '',
|
|
||||||
val2: '',
|
|
||||||
options: [],
|
options: [],
|
||||||
index: '',
|
index: '',
|
||||||
qty: '',
|
qty: '',
|
||||||
@@ -88,7 +66,6 @@
|
|||||||
},
|
},
|
||||||
created () {
|
created () {
|
||||||
this._queryProductArea()
|
this._queryProductArea()
|
||||||
this._queryMaterialInfo()
|
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
/** 选择器 */
|
/** 选择器 */
|
||||||
@@ -101,23 +78,35 @@
|
|||||||
this.options = [...res.data]
|
this.options = [...res.data]
|
||||||
},
|
},
|
||||||
/** 初始化查询 */
|
/** 初始化查询 */
|
||||||
async _queryMaterialInfo () {
|
async _queryPaperTubeInfo () {
|
||||||
let res = await queryMaterialInfo1(this.val1, this.val2, this.index, '1')
|
let res = await queryMaterialInfo1(this.index)
|
||||||
this.dataList = [...res.data]
|
this.dataList = [...res.rows]
|
||||||
},
|
},
|
||||||
/** 确认 */
|
/** 确认 */
|
||||||
async _emptyConfirm () {
|
async _emptyConfirm () {
|
||||||
this.disabled = true
|
this.disabled = true
|
||||||
if (!this.pkId) {
|
if (!this.pkId) {
|
||||||
|
uni.showToast({
|
||||||
|
title: '请选择一行',
|
||||||
|
icon: 'none'
|
||||||
|
})
|
||||||
|
this.disabled = false
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if (!this.qty) {
|
||||||
|
uni.showToast({
|
||||||
|
title: '请填写数量',
|
||||||
|
icon: 'none'
|
||||||
|
})
|
||||||
this.disabled = false
|
this.disabled = false
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
let res = await emptyConfirm(this.pkObj, this.qty, this.val1, '1')
|
let res = await emptyConfirm(this.qty, this.pkObj.material_code, this.pkObj.device_code, '2')
|
||||||
this.disabled = false
|
this.disabled = false
|
||||||
this.pkId = ''
|
this.pkId = ''
|
||||||
this.pkObj = {}
|
this.pkObj = {}
|
||||||
this._queryMaterialInfo()
|
this._queryPaperTubeInfo()
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
title: res.message,
|
title: res.message,
|
||||||
icon: 'none'
|
icon: 'none'
|
||||||
@@ -127,8 +116,8 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
toCheck (e) {
|
toCheck (e) {
|
||||||
this.pkId = this.pkId === e.point_code ? '' : e.point_code
|
this.pkId = this.pkId === e.device_code ? '' : e.device_code
|
||||||
this.pkObj = this.pkId === e.point_code ? e : {}
|
this.pkObj = this.pkId === e.device_code ? e : {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -109,15 +109,15 @@ export const queryMaterialInfo1 = (code, mcode, area, option) => request({
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
// 1.3入库确认
|
// 1.3入库确认
|
||||||
export const emptyConfirm = (jo, qty, code, option) => request({
|
// export const emptyConfirm = (jo, qty, code, option) => request({
|
||||||
url:'api/pda/empty/confirm',
|
// url:'api/pda/empty/confirm',
|
||||||
data: {
|
// data: {
|
||||||
raw_jo: jo,
|
// raw_jo: jo,
|
||||||
qty: qty,
|
// qty: qty,
|
||||||
material_code: code,
|
// material_code: code,
|
||||||
option: option
|
// option: option
|
||||||
}
|
// }
|
||||||
})
|
// })
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 空轴套管
|
* 空轴套管
|
||||||
@@ -496,4 +496,42 @@ data: {
|
|||||||
box_no: no,
|
box_no: no,
|
||||||
point_code: code
|
point_code: code
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 空管出入库
|
||||||
|
*/
|
||||||
|
// 1.1查询纸管库设备下拉框
|
||||||
|
export const queryDeviceList = () => request({
|
||||||
|
url:'api/pda/paper/queryDeviceList',
|
||||||
|
data: {}
|
||||||
|
})
|
||||||
|
// 1.2查询纸管物料下拉框
|
||||||
|
export const queryPaperMaterial = (code) => request({
|
||||||
|
url:'api/pda/paper/queryPaperMaterial',
|
||||||
|
data: {
|
||||||
|
material_code: code
|
||||||
|
}
|
||||||
|
})
|
||||||
|
// 1.3查询纸管物料
|
||||||
|
export const taskQuerydevice = (jarr) => request({
|
||||||
|
url:'api/wms/task/querydevice',
|
||||||
|
data: jarr
|
||||||
|
})
|
||||||
|
// 1.4入库设置/出库确认
|
||||||
|
export const emptyConfirm = (qty, mater, code, option) => request({
|
||||||
|
url:'api/pda/empty/confirm',
|
||||||
|
data: {
|
||||||
|
qty: qty,
|
||||||
|
material_code: mater,
|
||||||
|
device_code: code,
|
||||||
|
option: option
|
||||||
|
}
|
||||||
|
})
|
||||||
|
// 1.5查询纸管库信息
|
||||||
|
export const queryPaperTubeInfo = (area) => request({
|
||||||
|
url:'api/pda/paper/queryPaperTubeInfo',
|
||||||
|
data: {
|
||||||
|
product_area: area
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|||||||
Reference in New Issue
Block a user