修改工单明细

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', { export const queryOrders = (code) => post('api/pda/queryOrders', {
device_code: code 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', { export const startOrder = (code, order) => post('api/pda/startOrder', {
device_code: code, device_code: code,

View File

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

View File

@@ -4,7 +4,7 @@ export const queryDevices = () => {
return res return res
} }
export const queryOrders = () => { 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 return res
} }
export const startOrder = (code, order) => { export const startOrder = (code, order) => {

View File

@@ -3,21 +3,6 @@
<jxHeader type="2" title="工单明细"></jxHeader> <jxHeader type="2" title="工单明细"></jxHeader>
<div class="contianer content"> <div class="contianer content">
<div class="contianer content_wraper"> <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"> <div class="contianer mgt2 grid_wraper">
<table> <table>
<tr> <tr>
@@ -27,7 +12,8 @@
<th>计划重量</th> <th>计划重量</th>
<th>产线</th> <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>工单状态</th>
<th style="text-align: center">操作</th> <th style="text-align: center">操作</th>
</tr> </tr>
@@ -38,10 +24,34 @@
<td>{{ e.total_qty }}</td> <td>{{ e.total_qty }}</td>
<td>{{ e.resource_name }}</td> <td>{{ e.resource_name }}</td>
<td>{{ e.realstart_time }}</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>{{ e.status }}</td>
<td> <td>
<div class="zd-row btn_wraper"> <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-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 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> <button class="grid_button" :class="{'grid_button_disabled': e.checked && disabled2}" :disabled="disabled2" @click="_forceFinish(e)">强制完成</button>
@@ -57,8 +67,9 @@
<script> <script>
import jxHeader from '@components/header.vue' import jxHeader from '@components/header.vue'
// import {queryDevices, queryOrders, startOrder} from '@config/mork.js' // import {queryDevices, queryOrders} from '@config/mork.js'
import {queryDevices, queryOrders, startOrder, forceFinish} from '@config/getData.js' // import {updateOrder, startOrder, forceFinish} from '@config/getData.js'
import {queryDevices, queryOrders, updateOrder, startOrder, forceFinish} from '@config/getData.js'
export default { export default {
name: 'index', name: 'index',
components: { components: {
@@ -70,7 +81,8 @@ export default {
options: [], options: [],
dataList: [], dataList: [],
disabled1: false, disabled1: false,
disabled2: false disabled2: false,
disabled3: false
} }
}, },
beforeRouteLeave (to, from, next) { beforeRouteLeave (to, from, next) {
@@ -81,27 +93,38 @@ export default {
}, },
mounted () { mounted () {
this._queryDevices() this._queryDevices()
this._queryOrders()
}, },
activated () { activated () {
if (this.value) { this._queryOrders()
this._queryOrders(this.value)
}
}, },
methods: { methods: {
async _queryDevices () { async _queryDevices () {
let res = await queryDevices() let res = await queryDevices()
this.options = [...res] this.options = [...res]
}, },
async _queryOrders (e) { async _queryOrders () {
let res = await queryOrders(e) let res = await queryOrders()
this.dataList = [...res] this.dataList = [...res]
this.dataList.map(el => { this.dataList.map(el => {
this.$set(el, 'checked', false) this.$set(el, 'checked', false)
}) })
}, },
selectChange (e) { async _updateOrder (e) {
if (e) { this.disabled3 = true
this._queryOrders(e) 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) { async _startOrder (e) {
@@ -154,5 +177,7 @@ export default {
<style lang="stylus" scoped> <style lang="stylus" scoped>
// @import '~@style/mixin' // @import '~@style/mixin'
.btn_wraper .btn_wraper
width 2.6rem width 3.4rem
.filter-select_2
width 3.1rem
</style> </style>

View File

@@ -128,6 +128,13 @@ header
z-index: 99; z-index: 99;
padding 0 .25rem; padding 0 .25rem;
background left center / 1px 81px url('~@/images/th_bg.png') repeat-x 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 td
box-sizing: border-box; box-sizing: border-box;
overflow: hidden; overflow: hidden;