Files
hht-tongbo/pages/ProductManage/SboProcess.vue
2022-11-11 18:22:26 +08:00

206 lines
5.1 KiB
Vue

<template>
<view class="zd_container">
<nav-bar title="生箔工序"></nav-bar>
<view class="zd_content">
<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_wraper">
<span class="filter_label">母卷</span>
</view>
<view class="filter_input_wraper">
<search-box v-model="val2" />
</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>
<th>理论长度</th>
<th>开始时间</th>
<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.container_name === pkId}">
<td>{{e.status_name}}</td>
<td>{{e.mfg_order_name}}</td>
<td>{{e.container_name}}</td>
<td>{{e.point_code}}</td>
<td>{{e.product_name}}</td>
<td>{{e.theory_height}}</td>
<td>{{e.realstart_time}}</td>
<td>{{e.realend_time}}</td>
<td>{{e.productin_qty}}</td>
<td>{{e.agvno}}</td>
<td>{{e.product_area}}</td>
<td>{{e.update_time}}</td>
</tr>
</tbody>
</table>
</view>
</view>
</view>
<view class="submit-bar">
<button class="submit-button" :class="{'btn-disabled': !pkId}" :disabled="disabled1" @tap="_needEmptyAxis">呼叫空轴</button>
<button class="submit-button" :class="{'btn-disabled': !pkId}" :disabled="disabled2" @tap="_confirmBlanking">确认下卷</button>
<button class="submit-button" :class="{'btn-disabled': !pkId}" :disabled="disabled3" @tap="_finishBlanking">下卷完成</button>
<button class="submit-button" :class="{'btn-disabled': !pkId}" :disabled="disabled4" @tap="_finish">结束</button>
<button class="submit-button" @tap="_queryRawFoilList">查询</button>
</view>
</view>
</template>
<script>
import NavBar from '@/components/NavBar.vue'
import SearchBox from '@/components/SearchBox.vue'
import {queryRawFoilList, needEmptyAxis, confirmBlanking, finishBlanking, finish} from '@/utils/getData1.js'
export default {
components: {
NavBar,
SearchBox
},
data() {
return {
val1: '',
val2: '',
dataList: [],
pkId: '',
pkObj: {},
disabled1: false,
disabled2: false,
disabled3: false,
disabled4: false
};
},
created () {
this._queryRawFoilList()
},
methods: {
handleChange (e) {
// console.log(e)
},
/** 初始化查询 */
async _queryRawFoilList () {
let res = await queryRawFoilList(this.val1, this.val2)
this.dataList = [...res.data]
},
async _needEmptyAxis () {
this.disabled1 = true
if (!this.pkId) {
this.disabled1 = false
return
}
try {
let res = await needEmptyAxis(this.pkObj)
this.disabled1 = false
this.pkId = ''
this.pkObj = {}
this._queryRawFoilList()
uni.showToast({
title: res.message,
icon: 'none'
})
} catch (e) {
this.disabled1 = false
}
},
async _confirmBlanking () {
this.disabled2 = true
if (!this.pkId) {
this.disabled2 = false
return
}
try {
let res = await confirmBlanking(this.pkObj)
this.disabled2 = false
this.pkId = ''
this.pkObj = {}
this._queryRawFoilList()
uni.showToast({
title: res.message,
icon: 'none'
})
} catch (e) {
this.disabled2 = false
}
},
async _finishBlanking () {
this.disabled3 = true
if (!this.pkId) {
this.disabled3 = false
return
}
try {
let res = await finishBlanking(this.pkObj)
uni.showToast({
title: res.message,
icon: 'none'
})
this.disabled3 = false
this.pkId = ''
this.pkObj = {}
this._queryRawFoilList()
} catch (e) {
this.disabled3 = false
}
},
async _finish () {
this.disabled4 = true
if (!this.pkId) {
this.disabled4 = false
return
}
try {
let res = await finish(this.pkObj)
uni.showToast({
title: res.message,
icon: 'none'
})
this.disabled4 = false
this.pkId = ''
this.pkObj = {}
this._queryRawFoilList()
} catch (e) {
this.disabled4 = false
}
},
toCheck (e) {
this.pkId = this.pkId === e.container_name ? '' : e.container_name
this.pkObj = this.pkId === e.container_name ? e : {}
}
}
}
</script>
<style lang="stylus">
.zd_content
padding-bottom 154rpx
.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>