修改工单明细

This commit is contained in:
2025-02-14 17:59:32 +08:00
parent 0b9457dc43
commit a98fa10ba1
5 changed files with 70 additions and 32 deletions

View File

@@ -6,6 +6,12 @@ export const queryDevices = () => post('api/pda/queryDevices', {})
export const queryOrders = (code) => post('api/pda/queryOrders', {
device_code: code
})
// 修改起点终点
export const updateOrder = (scode, ncode, order) => post('api/pda/updateOrder', {
start_device_code: scode,
next_device_code: ncode,
mfg_order_name: order
})
// 开始工单
export const startOrder = (code, order) => post('api/pda/startOrder', {
device_code: code,

View File

@@ -1,7 +1,7 @@
import Vue from 'vue'
import axios from 'axios'
import store from '../vuex/store'
import router from '@/router'
// import router from '@/router'
axios.defaults.timeout = 5000
axios.defaults.headers.post['Content-Type'] = 'application/json;charset=UTF-8'
@@ -37,7 +37,7 @@ axios.interceptors.response.use(
case 400:
break
case 401:
router.push('/login')
// router.push('/login')
break
}
return Promise.reject(error.response.data)

View File

@@ -4,7 +4,7 @@ export const queryDevices = () => {
return res
}
export const queryOrders = () => {
let res = [{mfg_order_name: '001'}, {mfg_order_name: '2'}, {mfg_order_name: '3'}, {mfg_order_name: '4'}]
let res = [{mfg_order_name: '001', point_code: '10001'}, {mfg_order_name: '2', point_code: ''}, {mfg_order_name: '3', point_code: ''}, {mfg_order_name: '4', point_code: ''}]
return res
}
export const startOrder = (code, order) => {

View File

@@ -3,21 +3,6 @@
<jxHeader type="2" 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>
<div class="contianer mgt2 grid_wraper">
<table>
<tr>
@@ -27,7 +12,8 @@
<th>计划重量</th>
<th>产线</th>
<th>开工时间</th>
<th>站点编码</th>
<th><div style="width: 3.1rem">起点编码</div></th>
<th><div style="width: 3.1rem">终点编码</div></th>
<th>工单状态</th>
<th style="text-align: center">操作</th>
</tr>
@@ -38,10 +24,34 @@
<td>{{ e.total_qty }}</td>
<td>{{ e.resource_name }}</td>
<td>{{ e.realstart_time }}</td>
<td>{{ e.point_code }}</td>
<td>
<div class="filter-select_2">
<el-select v-model="e.start_device_code" placeholder="请选择">
<el-option
v-for="item in options"
:key="item.device_code"
:label="item.device_name"
:value="item.device_code">
</el-option>
</el-select>
</div>
</td>
<td>
<div class="filter-select_2">
<el-select v-model="e.next_device_code" placeholder="请选择">
<el-option
v-for="item in options"
:key="item.device_code"
:label="item.device_name"
:value="item.device_code">
</el-option>
</el-select>
</div>
</td>
<td>{{ e.status }}</td>
<td>
<div class="zd-row btn_wraper">
<button class="grid_button" :class="{'grid_button_disabled': e.checked && disabled3}" :disabled="disabled3" @click="_updateOrder(e)">修改</button>
<button v-if="e.status === '执行中'" class="grid_button" @click="toJump(e)">执行中</button>
<button v-else class="grid_button" :class="{'grid_button_disabled': e.checked && disabled1}" :disabled="disabled1" @click="_startOrder(e)">开始</button>
<button class="grid_button" :class="{'grid_button_disabled': e.checked && disabled2}" :disabled="disabled2" @click="_forceFinish(e)">强制完成</button>
@@ -57,8 +67,9 @@
<script>
import jxHeader from '@components/header.vue'
// import {queryDevices, queryOrders, startOrder} from '@config/mork.js'
import {queryDevices, queryOrders, startOrder, forceFinish} from '@config/getData.js'
// import {queryDevices, queryOrders} from '@config/mork.js'
// import {updateOrder, startOrder, forceFinish} from '@config/getData.js'
import {queryDevices, queryOrders, updateOrder, startOrder, forceFinish} from '@config/getData.js'
export default {
name: 'index',
components: {
@@ -70,7 +81,8 @@ export default {
options: [],
dataList: [],
disabled1: false,
disabled2: false
disabled2: false,
disabled3: false
}
},
beforeRouteLeave (to, from, next) {
@@ -81,27 +93,38 @@ export default {
},
mounted () {
this._queryDevices()
this._queryOrders()
},
activated () {
if (this.value) {
this._queryOrders(this.value)
}
this._queryOrders()
},
methods: {
async _queryDevices () {
let res = await queryDevices()
this.options = [...res]
},
async _queryOrders (e) {
let res = await queryOrders(e)
async _queryOrders () {
let res = await queryOrders()
this.dataList = [...res]
this.dataList.map(el => {
this.$set(el, 'checked', false)
})
},
selectChange (e) {
if (e) {
this._queryOrders(e)
async _updateOrder (e) {
this.disabled3 = true
e.checked = true
try {
let res = await updateOrder(e.start_device_code, e.next_device_code, e.mfg_order_name)
this._queryOrders(this.value)
this.$message({
message: res.message,
type: 'success'
})
this.disabled3 = false
e.checked = false
} catch (e) {
this.disabled3 = false
e.checked = false
}
},
async _startOrder (e) {
@@ -154,5 +177,7 @@ export default {
<style lang="stylus" scoped>
// @import '~@style/mixin'
.btn_wraper
width 2.6rem
width 3.4rem
.filter-select_2
width 3.1rem
</style>

View File

@@ -128,6 +128,13 @@ header
z-index: 99;
padding 0 .25rem;
background left center / 1px 81px url('~@/images/th_bg.png') repeat-x
div
font-size: .36rem;
font-family: SourceHanSansCN-Bold;
line-height: .81rem;
color: #AFBED8;
font-weight: bold;
font-style: italic;
td
box-sizing: border-box;
overflow: hidden;