131 lines
3.6 KiB
Vue
131 lines
3.6 KiB
Vue
<template>
|
|
<div class="contianer">
|
|
<jxHeader title="工单明细"></jxHeader>
|
|
<div class="contianer content">
|
|
<div class="contianer content_wraper">
|
|
<div class="zd-row filter_wraper">
|
|
<div class="zd-col-6 zd-row">
|
|
<div class="zd-col-6 filter-label">设备号</div>
|
|
<div class="zd-col-17 filter-select">
|
|
<el-select v-model="value" placeholder="请选择" @change="selectChange">
|
|
<el-option
|
|
v-for="item in options"
|
|
:key="item.device_code"
|
|
:label="item.device_name"
|
|
:value="item.device_code">
|
|
</el-option>
|
|
</el-select>
|
|
</div>
|
|
</div>
|
|
<div class="zd-col-18 zd-row jcflexend">
|
|
<button class="button btn-primary" :class="{'btn-info': !pkId}" :disabled="disabled" @click="_startOrder">开始</button>
|
|
<button class="button btn-primary mgl2" :class="{'btn-info': !pkId}" :disabled="disabled" @click="_forceFinish">强制完成</button>
|
|
</div>
|
|
</div>
|
|
<div class="contianer mgt2 grid_wraper">
|
|
<table>
|
|
<tr>
|
|
<th>工单编码</th>
|
|
<th>产品编号</th>
|
|
<th>产品名称</th>
|
|
<th>计划重量</th>
|
|
<th>产线</th>
|
|
<th>开工时间</th>
|
|
<th>站点编码</th>
|
|
<th>工单状态</th>
|
|
</tr>
|
|
<tr v-for="(e, i) in dataList" :key="i" :class="{'tr_selected': pkId === e.mfg_order_name}" @click="toCheck(e)">
|
|
<td>{{ e.mfg_order_name }}</td>
|
|
<td>{{ e.product_name }}</td>
|
|
<td>{{ e.description }}</td>
|
|
<td>{{ e.total_qty }}</td>
|
|
<td>{{ e.resource_name }}</td>
|
|
<td>{{ e.StartTime }}</td>
|
|
<td>{{ e.point_code }}</td>
|
|
<td>{{ e.status }}</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import jxHeader from '@components/header.vue'
|
|
import {queryDevices, queryOrders, startOrder} from '@config/mork.js'
|
|
import {forceFinish} from '@config/getData.js'
|
|
export default {
|
|
components: {
|
|
jxHeader
|
|
},
|
|
data () {
|
|
return {
|
|
timer: null,
|
|
value: '',
|
|
options: [],
|
|
dataList: [],
|
|
pkId: '',
|
|
disabled: false
|
|
}
|
|
},
|
|
mounted () {
|
|
this._queryDevices()
|
|
},
|
|
methods: {
|
|
async _queryDevices () {
|
|
let res = await queryDevices()
|
|
this.options = [...res]
|
|
},
|
|
async _queryOrders (e) {
|
|
let res = await queryOrders(e)
|
|
this.dataList = [...res]
|
|
},
|
|
selectChange (e) {
|
|
if (e) {
|
|
this._queryOrders(e)
|
|
}
|
|
},
|
|
toCheck (e) {
|
|
this.pkId = this.pkId === e.mfg_order_name ? '' : e.mfg_order_name
|
|
},
|
|
async _startOrder () {
|
|
this.disabled = true
|
|
if (!this.pkId) {
|
|
this.disabled = false
|
|
return
|
|
}
|
|
try {
|
|
let res = await startOrder(this.value, this.pkId)
|
|
if (res.message) {
|
|
this.$router.push('/task')
|
|
}
|
|
} catch (e) {
|
|
this.disabled = false
|
|
}
|
|
},
|
|
async _forceFinish () {
|
|
this.disabled = true
|
|
if (!this.pkId) {
|
|
this.disabled = false
|
|
return
|
|
}
|
|
try {
|
|
let res = await forceFinish(this.pkId)
|
|
this.$message({
|
|
message: res.message,
|
|
type: 'success'
|
|
})
|
|
this.disabled = false
|
|
} catch (e) {
|
|
this.disabled = false
|
|
}
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style lang="stylus" scoped>
|
|
// @import '~@style/mixin'
|
|
</style>
|