入库确认接口

This commit is contained in:
2022-10-27 19:33:24 +08:00
parent 14bc93df59
commit b2230e730d
5 changed files with 220 additions and 245 deletions

View File

@@ -29,40 +29,20 @@
<table> <table>
<thead> <thead>
<tr> <tr>
<th>序号</th> <th>木箱码</th>
<th>选择</th>
<th>订单号</th>
<th>子卷号</th> <th>子卷号</th>
<th>机台编号</th> <th>物料编码</th>
<th>分切组</th> <th>物料名称</th>
<th>生产顺序</th> <th>重量KG</th>
<th>生产日期</th>
<th>纸筒/FRP管</th>
<th>纸筒物料编码</th>
<th>纸筒物料描述</th>
<th>纸筒规格</th>
<th>FRP管物料编码</th>
<th>FRP管物料描述</th>
<th>FRP管规格</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<tr v-for="(e, i) in dataList" :key="i" :class="{'checked': e.checked}"> <tr v-for="(e, i) in dataList" :key="i" @click="toCheck(e)" :class="{'checked': e.package_box_SN === pkId}">
<td>{{Number(i) + 1}}</td> <td>{{e.package_box_SN}}</td>
<td><span class="iconfont icon_unchecked" :class="{'icon_checked': e.checked}" @tap="toCheck(e)">&#xe66b;</span></td>
<td>{{e.mfg_order_name}}</td>
<td>{{e.container_name}}</td> <td>{{e.container_name}}</td>
<td>{{e.point_code}}</td> <td>{{e.product_name}}</td>
<td>{{e.split_group}}</td> <td>{{e.product_description}}</td>
<td>{{e.manufacture_sort}}</td> <td>{{e.net_weight}}</td>
<td>{{e.manufacture_date}}</td>
<td>{{e.paper_tube_or_FRP}}</td>
<td>{{e.paper_tube_material}}</td>
<td>{{e.paper_tube_description}}</td>
<td>{{e.paper_tube_model}}</td>
<td>{{e.FRP_material}}</td>
<td>{{e.FRP_description}}</td>
<td>{{e.FRP_model}}</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
@@ -70,8 +50,9 @@
</view> </view>
</view> </view>
<view class="submit-bar"> <view class="submit-bar">
<button class="submit-button" :class="{'btn-disabled': !checkArr.length || !val2}" :disabled="disabled" @tap="_casingConfirm">补码</button> <button class="submit-button" :class="{'btn-disabled': !pkId || !val2}" :disabled="disabled" @tap="_stConfirm">入库确认</button>
<button class="submit-button" @tap="_queryMaterialInfo">入库确认</button> <button class="submit-button" :class="{'btn-disabled': !pkId}" :disabled="disabled1" @tap="_stPrint">补码</button>
<button class="submit-button" @tap="_boxQuery">查询</button>
</view> </view>
</view> </view>
</template> </template>
@@ -79,7 +60,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 {queryMaterialInfo2, casingConfirm} from '@/utils/getData2.js' import {boxQuery, stConfirm, stPrint} from '@/utils/getData2.js'
export default { export default {
components: { components: {
NavBar, NavBar,
@@ -89,64 +70,73 @@
return { return {
val1: '', val1: '',
val2: '', val2: '',
qty: '',
dataList: [], dataList: [],
pkId: '',
pkObj: {},
disabled: false, disabled: false,
checkArr: [] disabled1: false
}; };
}, },
created () { created () {
// this._queryMaterialInfo() this._boxQuery()
}, },
methods: { methods: {
/** 初始化查询 */ /** 初始化查询 */
async _queryMaterialInfo () { async _boxQuery () {
let res = await queryMaterialInfo2(this.val1, this.index) let res = await boxQuery(this.val1, this.val2, '2')
res.data.map(el => {
this.$set(el, 'checked', false)
})
this.dataList = [...res.data] this.dataList = [...res.data]
}, },
/** 确认 */ /** 确认 */
async _casingConfirm () { async _stConfirm () {
this.disabled = true this.disabled = true
if (!this.checkArr.length || !this.val2) { if (!this.val2 || !this.pkId) {
this.disabled = false this.disabled = false
return return
} }
try { try {
let res = await casingConfirm(this.checkArr, this.val2) let res = await stConfirm(this.pkObj, this.val2)
uni.showToast({ uni.showToast({
title: res.message, title: res.message,
icon: 'none' icon: 'none'
}) })
this.pkId = ''
this.pkObj = {}
this.disabled = false this.disabled = false
this.checkArr = [] this._boxQuery()
this._queryMaterialInfo()
} catch (e) { } catch (e) {
this.disabled = false this.disabled = false
} }
}, },
/** 补码 */
async _stPrint () {
this.disabled1 = true
if (!this.pkId) {
this.disabled1 = false
return
}
try {
let res = await stPrint(this.pkObj)
uni.showToast({
title: res.message,
icon: 'none'
})
this.pkId = ''
this.pkObj = {}
this.disabled1 = false
this._boxQuery()
} catch (e) {
this.disabled1 = false
}
},
toCheck (e) { toCheck (e) {
e.checked = !e.checked this.pkId = this.pkId === e.package_box_SN ? '' : e.package_box_SN
this.checkArr = this.dataList.filter(i => { return i.checked === true }) this.pkObj = this.pkId === e.package_box_SN ? e : {}
} }
} }
} }
</script> </script>
<style lang="stylus"> <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
width 92rpx
z-index 102
.slide_new table td:nth-child(3), .slide_new table th:nth-child(3)
position sticky
left 176rpx
z-index 103
box-shadow 1px 0 2px rgba(0,0,0,.12)
</style> </style>

View File

@@ -29,40 +29,20 @@
<table> <table>
<thead> <thead>
<tr> <tr>
<th>序号</th> <th>木箱码</th>
<th>选择</th>
<th>订单号</th>
<th>子卷号</th> <th>子卷号</th>
<th>机台编号</th> <th>物料编码</th>
<th>分切组</th> <th>物料名称</th>
<th>生产顺序</th> <th>重量KG</th>
<th>生产日期</th>
<th>纸筒/FRP管</th>
<th>纸筒物料编码</th>
<th>纸筒物料描述</th>
<th>纸筒规格</th>
<th>FRP管物料编码</th>
<th>FRP管物料描述</th>
<th>FRP管规格</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<tr v-for="(e, i) in dataList" :key="i" :class="{'checked': e.checked}"> <tr v-for="(e, i) in dataList" :key="i" @click="toCheck(e)" :class="{'checked': e.package_box_SN === pkId}">
<td>{{Number(i) + 1}}</td> <td>{{e.package_box_SN}}</td>
<td><span class="iconfont icon_unchecked" :class="{'icon_checked': e.checked}" @tap="toCheck(e)">&#xe66b;</span></td>
<td>{{e.mfg_order_name}}</td>
<td>{{e.container_name}}</td> <td>{{e.container_name}}</td>
<td>{{e.point_code}}</td> <td>{{e.product_name}}</td>
<td>{{e.split_group}}</td> <td>{{e.product_description}}</td>
<td>{{e.manufacture_sort}}</td> <td>{{e.net_weight}}</td>
<td>{{e.manufacture_date}}</td>
<td>{{e.paper_tube_or_FRP}}</td>
<td>{{e.paper_tube_material}}</td>
<td>{{e.paper_tube_description}}</td>
<td>{{e.paper_tube_model}}</td>
<td>{{e.FRP_material}}</td>
<td>{{e.FRP_description}}</td>
<td>{{e.FRP_model}}</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
@@ -70,8 +50,8 @@
</view> </view>
</view> </view>
<view class="submit-bar"> <view class="submit-bar">
<button class="submit-button" :class="{'btn-disabled': !checkArr.length || !val2}" :disabled="disabled" @tap="_casingConfirm">报废入库</button> <button class="submit-button" :class="{'btn-disabled': !pkId || !val2}" :disabled="disabled" @tap="_stConfirm">入库确认</button>
<button class="submit-button" @tap="_queryMaterialInfo">入库确认</button> <button class="submit-button" @tap="_boxQuery">查询</button>
</view> </view>
</view> </view>
</template> </template>
@@ -79,7 +59,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 {queryMaterialInfo2, casingConfirm} from '@/utils/getData2.js' import {boxQuery, stConfirm} from '@/utils/getData2.js'
export default { export default {
components: { components: {
NavBar, NavBar,
@@ -89,64 +69,50 @@
return { return {
val1: '', val1: '',
val2: '', val2: '',
qty: '',
dataList: [], dataList: [],
disabled: false, pkId: '',
checkArr: [] pkObj: {},
disabled: false
}; };
}, },
created () { created () {
// this._queryMaterialInfo() this._boxQuery()
}, },
methods: { methods: {
/** 初始化查询 */ /** 初始化查询 */
async _queryMaterialInfo () { async _boxQuery () {
let res = await queryMaterialInfo2(this.val1, this.index) let res = await boxQuery(this.val1, this.val2, '1')
res.data.map(el => {
this.$set(el, 'checked', false)
})
this.dataList = [...res.data] this.dataList = [...res.data]
}, },
/** 确认 */ /** 确认 */
async _casingConfirm () { async _stConfirm () {
this.disabled = true this.disabled = true
if (!this.checkArr.length || !this.val2) { if (!this.val2 || !this.pkId) {
this.disabled = false this.disabled = false
return return
} }
try { try {
let res = await casingConfirm(this.checkArr, this.val2) let res = await stConfirm(this.pkObj, this.val2)
uni.showToast({ uni.showToast({
title: res.message, title: res.message,
icon: 'none' icon: 'none'
}) })
this.pkId = ''
this.pkObj = {}
this.disabled = false this.disabled = false
this.checkArr = [] this._boxQuery()
this._queryMaterialInfo()
} catch (e) { } catch (e) {
this.disabled = false this.disabled = false
} }
}, },
toCheck (e) { toCheck (e) {
e.checked = !e.checked this.pkId = this.pkId === e.package_box_SN ? '' : e.package_box_SN
this.checkArr = this.dataList.filter(i => { return i.checked === true }) this.pkObj = this.pkId === e.package_box_SN ? e : {}
} }
} }
} }
</script> </script>
<style lang="stylus"> <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
width 92rpx
z-index 102
.slide_new table td:nth-child(3), .slide_new table th:nth-child(3)
position sticky
left 176rpx
z-index 103
box-shadow 1px 0 2px rgba(0,0,0,.12)
</style> </style>

View File

@@ -35,40 +35,34 @@
<table> <table>
<thead> <thead>
<tr> <tr>
<th>序号</th> <th>状态</th>
<th>选择</th> <th>工单号</th>
<th>订单</th> <th>母卷</th>
<th>子卷号</th> <th>机台编码</th>
<th>机台编号</th> <th>产品编码</th>
<th>分切组</th> <th>理论长度</th>
<th>生产顺序</th> <th>开始时间</th>
<th>生产日期</th> <th>结束时间</th>
<th>纸筒/FRP管</th> <th>总重量</th>
<th>纸筒物料编码</th> <th>车号</th>
<th>纸筒物料描述</th> <th>生产区域</th>
<th>纸筒规格</th> <th>更新时间</th>
<th>FRP管物料编码</th>
<th>FRP管物料描述</th>
<th>FRP管规格</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<tr v-for="(e, i) in dataList" :key="i" :class="{'checked': e.checked}"> <tr v-for="(e, i) in dataList" :key="i" @click="toCheck(e)" :class="{'checked': e.container_name === pkId}">
<td>{{Number(i) + 1}}</td> <td>{{e.status_name}}</td>
<td><span class="iconfont icon_unchecked" :class="{'icon_checked': e.checked}" @tap="toCheck(e)">&#xe66b;</span></td>
<td>{{e.mfg_order_name}}</td> <td>{{e.mfg_order_name}}</td>
<td>{{e.container_name}}</td> <td>{{e.container_name}}</td>
<td>{{e.point_code}}</td> <td>{{e.point_code}}</td>
<td>{{e.split_group}}</td> <td>{{e.product_name}}</td>
<td>{{e.manufacture_sort}}</td> <td>{{e.theory_height}}</td>
<td>{{e.manufacture_date}}</td> <td>{{e.realstart_time}}</td>
<td>{{e.paper_tube_or_FRP}}</td> <td>{{e.realend_time}}</td>
<td>{{e.paper_tube_material}}</td> <td>{{e.productin_qty}}</td>
<td>{{e.paper_tube_description}}</td> <td>{{e.agvno}}</td>
<td>{{e.paper_tube_model}}</td> <td>{{e.product_area}}</td>
<td>{{e.FRP_material}}</td> <td>{{e.update_time}}</td>
<td>{{e.FRP_description}}</td>
<td>{{e.FRP_model}}</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
@@ -76,7 +70,8 @@
</view> </view>
</view> </view>
<view class="submit-bar"> <view class="submit-bar">
<button class="submit-button" :class="{'btn-disabled': !checkArr.length || !val2}" :disabled="disabled" @tap="_casingConfirm">确认入库</button> <button class="submit-button" :class="{'btn-disabled': !val1 || !pkId || !index}" :disabled="disabled" @tap="_confirmInstor">确认入库</button>
<button class="submit-button" @tap="_coolIOQuery">查询</button>
</view> </view>
</view> </view>
</template> </template>
@@ -84,7 +79,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, queryMaterialInfo2, casingConfirm} from '@/utils/getData2.js' import {coolIOQuery, confirmInstor} from '@/utils/getData2.js'
export default { export default {
components: { components: {
NavBar, NavBar,
@@ -94,75 +89,56 @@
return { return {
val1: '', val1: '',
val2: '', val2: '',
options: [], options: [{value: '0', label: '否'}, {value: '1', label: '是'}],
index: '', index: '',
qty: '',
dataList: [], dataList: [],
disabled: false, pkId: '',
checkArr: [] pkObj: {},
disabled: false
}; };
}, },
created () { created () {
// this._queryProductArea() this._coolIOQuery()
}, },
methods: { methods: {
/** 选择器 */ /** 选择器 */
selectChange(e) { selectChange(e) {
this.index = e this.index = e
}, },
/** 生产区域下拉框查询 */
async _queryProductArea () {
let res = await queryProductArea()
this.options = [...res.data]
},
/** 初始化查询 */ /** 初始化查询 */
async _queryMaterialInfo () { async _coolIOQuery () {
let res = await queryMaterialInfo2(this.val1, this.index) let res = await coolIOQuery(this.val2)
res.data.map(el => {
this.$set(el, 'checked', false)
})
this.dataList = [...res.data] this.dataList = [...res.data]
}, },
/** 确认 */ /** 确认 */
async _casingConfirm () { async _confirmInstor () {
this.disabled = true this.disabled = true
if (!this.checkArr.length || !this.val2) { if (!this.val1) {
this.disabled = false this.disabled = false
return return
} }
try { try {
let res = await casingConfirm(this.checkArr, this.val2) let res = await confirmInstor(this.pkObj, this.val1, this.index)
uni.showToast({ uni.showToast({
title: res.message, title: res.message,
icon: 'none' icon: 'none'
}) })
this.disabled = false this.disabled = false
this.checkArr = [] this.pkId = ''
this._queryMaterialInfo() this.pkObj = {}
this._coolIOQuery()
} catch (e) { } catch (e) {
this.disabled = false this.disabled = false
} }
}, },
toCheck (e) { toCheck (e) {
e.checked = !e.checked this.pkId = this.pkId === e.container_name ? '' : e.container_name
this.checkArr = this.dataList.filter(i => { return i.checked === true }) this.pkObj = this.pkId === e.container_name ? e : {}
} }
} }
} }
</script> </script>
<style lang="stylus"> <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
width 92rpx
z-index 102
.slide_new table td:nth-child(3), .slide_new table th:nth-child(3)
position sticky
left 176rpx
z-index 103
box-shadow 1px 0 2px rgba(0,0,0,.12)
</style> </style>

View File

@@ -35,40 +35,26 @@
<table> <table>
<thead> <thead>
<tr> <tr>
<th>序号</th> <th>点位</th>
<th>选择</th> <th>母卷号</th>
<th>订单</th> <th>产品编</th>
<th>子卷号</th> <th>产品描述</th>
<th>机台编号</th> <th>总重量</th>
<th>分切组</th> <th>入烘箱时间</th>
<th>生产顺序</th> <th>出烘箱时间</th>
<th>生产日期</th> <th>是否烘烤</th>
<th>纸筒/FRP管</th>
<th>纸筒物料编码</th>
<th>纸筒物料描述</th>
<th>纸筒规格</th>
<th>FRP管物料编码</th>
<th>FRP管物料描述</th>
<th>FRP管规格</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
<tr v-for="(e, i) in dataList" :key="i" :class="{'checked': e.checked}"> <tr v-for="(e, i) in dataList" :key="i" @click="toCheck(e)" :class="{'checked': e.point_code === pkId}">
<td>{{Number(i) + 1}}</td>
<td><span class="iconfont icon_unchecked" :class="{'icon_checked': e.checked}" @tap="toCheck(e)">&#xe66b;</span></td>
<td>{{e.mfg_order_name}}</td>
<td>{{e.container_name}}</td>
<td>{{e.point_code}}</td> <td>{{e.point_code}}</td>
<td>{{e.split_group}}</td> <td>{{e.container_name}}</td>
<td>{{e.manufacture_sort}}</td> <td>{{e.product_name}}</td>
<td>{{e.manufacture_date}}</td> <td>{{e.description}}</td>
<td>{{e.paper_tube_or_FRP}}</td> <td>{{e.productin_qty}}</td>
<td>{{e.paper_tube_material}}</td> <td>{{e.in_time}}</td>
<td>{{e.paper_tube_description}}</td> <td>{{e.out_time}}</td>
<td>{{e.paper_tube_model}}</td> <td>{{e.is_bake}}</td>
<td>{{e.FRP_material}}</td>
<td>{{e.FRP_description}}</td>
<td>{{e.FRP_model}}</td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
@@ -76,8 +62,8 @@
</view> </view>
</view> </view>
<view class="submit-bar"> <view class="submit-bar">
<button class="submit-button" :class="{'btn-disabled': !checkArr.length || !val2}" :disabled="disabled" @tap="_casingConfirm">确认出库</button> <button class="submit-button" :class="{'btn-disabled': !pkId}" :disabled="disabled" @tap="_outconfirmInstor">确认出库</button>
<button class="submit-button" @tap="_queryMaterialInfo">查询</button> <button class="submit-button" @tap="_outcoolIOQuery">查询</button>
</view> </view>
</view> </view>
</template> </template>
@@ -85,7 +71,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, queryMaterialInfo2, casingConfirm} from '@/utils/getData2.js' import {queryProductArea, outcoolIOQuery, outconfirmInstor} from '@/utils/getData2.js'
export default { export default {
components: { components: {
NavBar, NavBar,
@@ -97,15 +83,14 @@
val2: '', val2: '',
options: [], options: [],
index: '', index: '',
qty: '',
dataList: [], dataList: [],
disabled: false, pkId: '',
checkArr: [] pkObj: {},
disabled: false
}; };
}, },
created () { created () {
// this._queryProductArea() this._outcoolIOQuery()
// this._queryMaterialInfo()
}, },
methods: { methods: {
/** 选择器 */ /** 选择器 */
@@ -118,53 +103,39 @@
this.options = [...res.data] this.options = [...res.data]
}, },
/** 初始化查询 */ /** 初始化查询 */
async _queryMaterialInfo () { async _outcoolIOQuery () {
let res = await queryMaterialInfo2(this.val1, this.index) let res = await outcoolIOQuery(this.val2, this.index, this.val1)
res.data.map(el => {
this.$set(el, 'checked', false)
})
this.dataList = [...res.data] this.dataList = [...res.data]
}, },
/** 确认 */ /** 确认 */
async _casingConfirm () { async _outconfirmInstor () {
this.disabled = true this.disabled = true
if (!this.checkArr.length || !this.val2) { if (!this.pkId) {
this.disabled = false this.disabled = false
return return
} }
try { try {
let res = await casingConfirm(this.checkArr, this.val2) let res = await outconfirmInstor(this.pkObj)
uni.showToast({ uni.showToast({
title: res.message, title: res.message,
icon: 'none' icon: 'none'
}) })
this.disabled = false this.disabled = false
this.checkArr = [] this.pkId = ''
this._queryMaterialInfo() this.pkObj = {}
this._outcoolIOQuery()
} catch (e) { } catch (e) {
this.disabled = false this.disabled = false
} }
}, },
toCheck (e) { toCheck (e) {
e.checked = !e.checked this.pkId = this.pkId === e.point_code ? '' : e.point_code
this.checkArr = this.dataList.filter(i => { return i.checked === true }) this.pkObj = this.pkId === e.point_code ? e : {}
} }
} }
} }
</script> </script>
<style lang="stylus"> <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
width 92rpx
z-index 102
.slide_new table td:nth-child(3), .slide_new table th:nth-child(3)
position sticky
left 176rpx
z-index 103
box-shadow 1px 0 2px rgba(0,0,0,.12)
</style> </style>

View File

@@ -92,4 +92,76 @@ export const outConfirm = (code, rows) => request({
point_code: code, point_code: code,
cut_rows: rows cut_rows: rows
} }
})
/**
* 半成品入库
*/
// 1.1半成品入库初始化查询
export const coolIOQuery = (name) => request({
url:'api/pda/coolIn/coolIOQuery',
data: {
container_name: name
}
})
// 1.2确认入库
export const confirmInstor = (raw_jo, code, is_bake) => request({
url:'api/pda/coolIn/confirmInstor',
data: {
raw_jo: raw_jo,
point_code: code,
is_bake: is_bake
}
})
/**
* 半成品出库
*/
// 1.1半成品出库初始化查询
export const outcoolIOQuery = (name, area, code) => request({
url:'api/pda/coolOut/coolIOQuery',
data: {
container_name: name,
product_area: area,
point_code: code
}
})
// 1.2确认出库
export const outconfirmInstor = (raw_jo, code, is_bake) => request({
url:'api/pda/coolOut/confirmInstor',
data: {
raw_jo: raw_jo
}
})
/**
* 报废入库
*/
// 1.1入库初始化查询
export const boxQuery = (no, option, code) => request({
url:'api/pda/st/boxQuery',
data: {
box_no: no,
option: option,
point_code: code
}
})
// 1.2确认出库
export const stConfirm = (box_jo, code) => request({
url:'api/pda/st/confirm',
data: {
box_jo: box_jo,
point_code: code
}
})
/**
* 入库确认
*/
// 1.3补码
export const stPrint = (box_jo) => request({
url:'api/pda/st/print',
data: {
box_jo: box_jo
}
}) })