no message
parent
ce175865fa
commit
a146e3721d
|
|
@ -0,0 +1,27 @@
|
|||
import request from '@/utils/request'
|
||||
|
||||
export function add(data) {
|
||||
return request({
|
||||
url: 'api/les',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function del(ids) {
|
||||
return request({
|
||||
url: 'api/les/',
|
||||
method: 'delete',
|
||||
data: ids
|
||||
})
|
||||
}
|
||||
|
||||
export function edit(data) {
|
||||
return request({
|
||||
url: 'api/les',
|
||||
method: 'put',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export default { add, edit, del }
|
||||
|
|
@ -57,6 +57,7 @@
|
|||
<el-radio-button label="待执行">待执行</el-radio-button>
|
||||
<el-radio-button label="执行中">执行中</el-radio-button>
|
||||
<el-radio-button label="顶升">顶升</el-radio-button>
|
||||
<el-radio-button label="到达">到达</el-radio-button>
|
||||
<el-radio-button label="已完成">已完成</el-radio-button>
|
||||
<el-radio-button label="任务取消">任务取消</el-radio-button>
|
||||
</el-radio-group>
|
||||
|
|
@ -65,16 +66,17 @@
|
|||
</div>
|
||||
<!--如果想在工具栏加入更多按钮,可以使用插槽方式, slot = 'left' or 'right'-->
|
||||
<crudOperation :permission="permission" :tableKey="this.$options.name"/>
|
||||
<!-- 顶升 -->
|
||||
<el-dialog title="顶升" :visible.sync="agvTaskCallbackStatus" width="400px">
|
||||
<el-form ref="form1" :model="form1" :rules="rules" size="small" label-width="80px">
|
||||
<el-form-item label="容器号" prop="boxCode">
|
||||
<el-input v-model="form1.boxCode" style="width: 200px;"/>
|
||||
<!-- 到达 -->
|
||||
<el-dialog title="节点到达" :visible.sync="agvTaskArrivedDialog" width="400px">
|
||||
<el-form ref="agvTaskArrivedForm" :model="agvTaskArrivedForm" :rules="agvTaskArrivedRules" size="small"
|
||||
label-width="80px">
|
||||
<el-form-item label="当前节点" prop="currentPositionCode">
|
||||
<el-input v-model="agvTaskArrivedForm.currentPositionCode" style="width: 200px;"/>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button @click="agvTaskCallbackStatus = false">取 消</el-button>
|
||||
<el-button type="primary" @click="agvTaskCallbackMethod()">确 定</el-button>
|
||||
<el-button @click="agvTaskArrivedDialog = false">取 消</el-button>
|
||||
<el-button type="primary" @click="toAgvTaskArrivedContainer()">确 定</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
<!--表单组件-->
|
||||
|
|
@ -132,9 +134,9 @@
|
|||
>
|
||||
<el-table-column type="selection" width="55"/>
|
||||
<el-table-column prop="id" label="任务序号 "/>
|
||||
<el-table-column prop="stockCode" width="170" label="容器码"/>
|
||||
<el-table-column prop="startSlotCode" label="起点位置" width="130"/>
|
||||
<el-table-column prop="endSlotCode" label="终点位置" width="130" sortable :formatter="formatter"/>
|
||||
<el-table-column prop="startSlotCode" label="起点" width="130"/>
|
||||
<el-table-column prop="endSlotCode" label="多节点" width="130" sortable :formatter="formatter"/>
|
||||
<el-table-column prop="slotCode" label="当前节点" width="130" />
|
||||
<el-table-column
|
||||
prop="status"
|
||||
label="任务状态"
|
||||
|
|
@ -143,6 +145,7 @@
|
|||
{ text: '待执行', value: 'OPEN' },
|
||||
{ text: '执行中', value: 'ATCALL' },
|
||||
{ text: '顶升', value: 'UP_CONTAINER' },
|
||||
{ text: '到达', value: 'ARRIVED' },
|
||||
{ text: '已完成', value: 'FINISH' },
|
||||
{ text: '任务取消', value: 'CANCEL' }
|
||||
]"
|
||||
|
|
@ -172,17 +175,24 @@
|
|||
<el-table-column
|
||||
fixed="right"
|
||||
label="操作"
|
||||
width="200"
|
||||
width="260"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
<el-button type="warning" :disabled="scope.row.status!='ATCALL' && scope.row.status!='OPEN' "
|
||||
align="center" size="mini"
|
||||
@click="popUpBox(scope.row)"
|
||||
@click="toAgvTaskUp(scope.row)"
|
||||
>
|
||||
顶升
|
||||
</el-button>
|
||||
|
||||
<el-button type="primary" :disabled="scope.row.status!='UP_CONTAINER' && scope.row.status!='ARRIVED' "
|
||||
align="center" size="mini"
|
||||
@click="toAgvTaskArrived(scope.row)"
|
||||
>
|
||||
到达
|
||||
</el-button>
|
||||
<el-button type="success"
|
||||
:disabled="scope.row.status!='ATCALL' && scope.row.status!='UP_CONTAINER' && scope.row.status!='OPEN' "
|
||||
:disabled="scope.row.status!='ARRIVED' && scope.row.status!='OPEN' "
|
||||
align="center"
|
||||
size="mini"
|
||||
@click="toAgvTaskFinish(scope.row)"
|
||||
|
|
@ -190,7 +200,7 @@
|
|||
完成
|
||||
</el-button>
|
||||
<el-button type="danger"
|
||||
:disabled="scope.row.status!='ATCALL' && scope.row.status!='UP_CONTAINER' && scope.row.status!='OPEN' "
|
||||
:disabled="scope.row.status!='ATCALL' && scope.row.status!='UP_CONTAINER' && scope.row.status!='OPEN'&& scope.row.status!='ARRIVED' "
|
||||
align="center"
|
||||
size="mini"
|
||||
@click="toAgvTaskCANCELED(scope.row)"
|
||||
|
|
@ -267,6 +277,11 @@ export default {
|
|||
data() {
|
||||
return {
|
||||
radio3: '执行中',
|
||||
agvTaskArrivedDialog: false,
|
||||
agvTaskArrivedForm: {
|
||||
currentPositionCode: null,
|
||||
missionCode: null
|
||||
},
|
||||
permission: {
|
||||
add: ['admin', 'agvTask:add'],
|
||||
edit: ['admin', 'agvTask:edit'],
|
||||
|
|
@ -298,6 +313,11 @@ export default {
|
|||
{required: true, message: '容器号不能为空', trigger: 'blur'}
|
||||
]
|
||||
},
|
||||
agvTaskArrivedRules: {
|
||||
currentPositionCode: [
|
||||
{required: true, message: '当前位置不能为空', trigger: 'blur'}
|
||||
]
|
||||
},
|
||||
queryTypeOptions: [
|
||||
{key: 'dstStockCode', display_name: '终点位置'},
|
||||
{key: 'srcLocCode', display_name: '起点位置'},
|
||||
|
|
@ -311,9 +331,6 @@ export default {
|
|||
{key: 'jobId', display_name: '下游任务号'},
|
||||
{key: 'jobMessage', display_name: '返回报文'}
|
||||
],
|
||||
// boxCode
|
||||
agvTaskCallbackStatus: false,
|
||||
form1: { boxCode: null, missionCode: null }
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
|
@ -325,9 +342,6 @@ export default {
|
|||
return row.endSlotCode
|
||||
},
|
||||
toAgvTaskFinish(data) {
|
||||
if (data.status != 'UP_CONTAINER') {
|
||||
return this.crud.notify('容器未顶升,需顶升之后在做操作!', CRUD.NOTIFICATION_TYPE.ERROR)
|
||||
}
|
||||
crudKmres.missionStateCallback({
|
||||
missionCode: data.id,
|
||||
containerCode: data.stockCode,
|
||||
|
|
@ -357,31 +371,51 @@ export default {
|
|||
}).catch(() => {
|
||||
})
|
||||
},
|
||||
agvTaskCallbackMethod() {//顶升
|
||||
this.$refs['form1'].validate((valid) => {
|
||||
if (valid) {
|
||||
toAgvTaskUp(data) {//顶升
|
||||
crudKmres.missionStateCallback({
|
||||
missionCode: this.form1.missionCode,
|
||||
containerCode: this.form1.boxCode,
|
||||
missionCode: data.id,
|
||||
containerCode: data.stockCode,
|
||||
missionStatus: 'UP_CONTAINER'
|
||||
}).then(res => {
|
||||
this.agvTaskCallbackStatus = false
|
||||
if (res.status == 200) {
|
||||
this.crud.notify('顶升成功!', CRUD.NOTIFICATION_TYPE.SUCCESS)
|
||||
this.crud.toQuery()
|
||||
this.form1 = { boxCode: null, missionCode: null }
|
||||
} else {
|
||||
this.crud.notify(res.message, CRUD.NOTIFICATION_TYPE.ERROR)
|
||||
}
|
||||
}).catch(e => {
|
||||
this.crud.notify('顶升失败!', CRUD.NOTIFICATION_TYPE.ERROR)
|
||||
})
|
||||
|
||||
},
|
||||
toAgvTaskArrived(data) {
|
||||
//弹出顶升盒子
|
||||
this.agvTaskArrivedForm.missionCode = data.id
|
||||
this.agvTaskArrivedDialog = true
|
||||
},
|
||||
toAgvTaskArrivedContainer() {
|
||||
//到达
|
||||
this.$refs['agvTaskArrivedForm'].validate((valid) => {
|
||||
if (valid) {
|
||||
crudKmres.missionStateCallback({
|
||||
missionCode: this.agvTaskArrivedForm.missionCode,
|
||||
missionStatus: 'ARRIVED',
|
||||
currentPosition: this.agvTaskArrivedForm.currentPositionCode
|
||||
}).then(res => {
|
||||
if (res.status == 200) {
|
||||
this.agvTaskArrivedDialog = false
|
||||
this.crud.notify('到达成功!', CRUD.NOTIFICATION_TYPE.SUCCESS)
|
||||
this.crud.toQuery()
|
||||
this.agvTaskArrivedForm = {currentPositionCode: null, missionCode: null}
|
||||
} else {
|
||||
this.crud.notify(res.message, CRUD.NOTIFICATION_TYPE.ERROR)
|
||||
}
|
||||
})
|
||||
} else {
|
||||
return false
|
||||
}
|
||||
})
|
||||
},
|
||||
popUpBox(data) {//弹出顶升盒子
|
||||
this.form1.missionCode = data.id
|
||||
this.form1.boxCode = data.stockCode
|
||||
this.agvTaskCallbackStatus = true
|
||||
},
|
||||
resetQuery() {
|
||||
this.radio3 = '执行中'
|
||||
this.query.status = 'ATCALL'
|
||||
|
|
@ -400,6 +434,9 @@ export default {
|
|||
} else if (lab === '顶升') {
|
||||
this.query.status = 'UP_CONTAINER'
|
||||
this.crud.toQuery()
|
||||
} else if (lab === '到达') {
|
||||
this.query.status = 'ARRIVED'
|
||||
this.crud.toQuery()
|
||||
} else if (lab === '已完成') {
|
||||
this.query.status = 'FINISH'
|
||||
this.crud.toQuery()
|
||||
|
|
@ -413,8 +450,9 @@ export default {
|
|||
case '待执行':
|
||||
return 'info'
|
||||
case '执行中':
|
||||
return 'warning'
|
||||
case '顶升':
|
||||
return 'warning'
|
||||
case '到达':
|
||||
return 'primary'
|
||||
case '已完成':
|
||||
return 'success'
|
||||
|
|
|
|||
|
|
@ -0,0 +1,125 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<!--工具栏-->
|
||||
<div class="head-container">
|
||||
<div v-if="crud.props.searchToggle">
|
||||
<!-- 搜索 -->
|
||||
<label class="el-form-item-label">任务号</label>
|
||||
<el-input v-model="query.taskCode" clearable placeholder="任务号" style="width: 185px;" class="filter-item" @keyup.enter.native="crud.toQuery" />
|
||||
<label class="el-form-item-label">物料号</label>
|
||||
<el-input v-model="query.materialCode" clearable placeholder="物料号" style="width: 185px;" class="filter-item" @keyup.enter.native="crud.toQuery" />
|
||||
<rrOperation :crud="crud" />
|
||||
</div>
|
||||
|
||||
<!--如果想在工具栏加入更多按钮,可以使用插槽方式, slot = 'left' or 'right'-->
|
||||
<crudOperation :permission="permission" :tableKey="this.$options.name">
|
||||
|
||||
</crudOperation>
|
||||
</div>
|
||||
|
||||
<!--表格渲染-->
|
||||
<el-table ref="table" height="68vh" v-loading="crud.loading" :data="crud.data" size="small" style="width: 100%;"
|
||||
@selection-change="this.selectionChangeHandler" @row-click="this.clickRow"
|
||||
>
|
||||
<el-table-column type="selection" width="55"/>
|
||||
<el-table-column prop="xh" type="index" :index="indexMethod" label="序号"/>
|
||||
<el-table-column prop="taskCode" label="任务号"/>
|
||||
<el-table-column prop="onlineNo" label="上线单号"/>
|
||||
<el-table-column prop="materialCode" label="物料号"/>
|
||||
<el-table-column prop="boxNo" label="料箱号"/>
|
||||
<el-table-column prop="routeCode" label="编组/线路"/>
|
||||
<el-table-column prop="srcPositionCode" label="起点"/>
|
||||
<el-table-column prop="dstPositionCode" label="终点"/>
|
||||
<el-table-column prop="taskType" label="任务类型"/>
|
||||
<el-table-column prop="createBy" label="创建人"/>
|
||||
<el-table-column prop="createTime" label="日期"/>
|
||||
</el-table>
|
||||
<!--分页组件-->
|
||||
|
||||
<div style="float: right;">
|
||||
<pagination/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import crudLes from '@/api/les'
|
||||
import CRUD, { presenter, header, form, crud } from '@crud/crud'
|
||||
import rrOperation from '@crud/RR.operation'
|
||||
import crudOperation from '@crud/CRUD.operation'
|
||||
import udOperation from '@crud/UD.operation'
|
||||
import pagination from '@crud/Pagination'
|
||||
import Treeselect from '@riophae/vue-treeselect'
|
||||
import Search from '@/views/monitor/log/search.vue'
|
||||
import DateRangePicker from '@/components/DateRangePicker/index.vue'
|
||||
import { getToken } from '@/utils/auth'
|
||||
|
||||
const defaultForm = {
|
||||
id: null,
|
||||
taskCode: null,
|
||||
taskType: null,
|
||||
materialCode: null,
|
||||
routeCode: null,
|
||||
boxNo: null,
|
||||
onlineNo: null,
|
||||
srcPositionCode: null,
|
||||
dstPositionCode: null,
|
||||
createBy: null,
|
||||
updateBy: null,
|
||||
createTime: null,
|
||||
updateTime: null
|
||||
}
|
||||
export default {
|
||||
name: 'LES',
|
||||
components: { DateRangePicker, Search, Treeselect, pagination, crudOperation, rrOperation, udOperation },
|
||||
mixins: [presenter(), header(), form(defaultForm), crud()],
|
||||
cruds() {
|
||||
return CRUD({
|
||||
title: 'les任务', url: 'api/les', idField: 'id', sort: 'id,desc', crudMethod: { ...crudLes },
|
||||
optShow: {
|
||||
add: false,
|
||||
edit: false,
|
||||
del: false,
|
||||
reset: true,
|
||||
download: false
|
||||
}
|
||||
})
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
headers: {'Authorization': getToken()},
|
||||
permission: {
|
||||
add: ['admin', 'les:add'],
|
||||
edit: ['admin', 'les:edit'],
|
||||
del: ['admin', 'les:del']
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
},
|
||||
methods: {
|
||||
|
||||
indexMethod(index) {
|
||||
return index * 1 + 1
|
||||
},
|
||||
clickRow(row) {
|
||||
this.crud.getTable().clearSelection()
|
||||
this.crud.getTable().toggleRowSelection(row, true)
|
||||
|
||||
this.selectSingleClick_()
|
||||
},
|
||||
selectionChangeHandler(val) {
|
||||
this.crud.selections = val
|
||||
this.selectSingleClick_()
|
||||
},
|
||||
resetQuery() {
|
||||
this.crud.resetQuery()
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
|
|
@ -8,7 +8,7 @@ function resolve(dir) {
|
|||
}
|
||||
|
||||
const name = defaultSettings.title // 网址标题
|
||||
const port = 8081 // 端口配置
|
||||
const port = 8080 // 端口配置
|
||||
|
||||
// All configuration explanations can be find in https://cli.vuejs.org/config/
|
||||
module.exports = {
|
||||
|
|
|
|||
Loading…
Reference in New Issue