no message

main
暴炳林 2025-03-28 16:42:15 +08:00
parent 8d54774396
commit fc6f1f569b
6 changed files with 163 additions and 55 deletions

View File

@ -61,5 +61,11 @@ export function toAgvTaskFinish(data) {
data
})
}
export default { add, edit, del,missionStateCallback,agvTaskCallback ,sendAgvTask,toAgvTaskFinish}
export function cancelInboundTask(data) {
return request({
url: '/api/agvTask/cancelInboundTask',
method: 'post',
data
})
}
export default { add, edit, del,missionStateCallback,agvTaskCallback ,sendAgvTask,toAgvTaskFinish,cancelInboundTask}

View File

@ -167,7 +167,7 @@ export default {
}
},
created() {
this.crud.updateProp('searchToggle', true)
this.crud.updateProp('searchToggle', false)
},
mounted() {
//

View File

@ -1,9 +1,8 @@
<!--搜索与重置-->
<template>
<el-button-group>
<el-button class="filter-item" size="mini" type="success" icon="el-icon-search" @click="crud.toQuery"></el-button>
<el-button class="filter-item" size="mini" type="warning" icon="el-icon-refresh-left" @click="resetQuery()"></el-button>
<!-- <el-button class="filter-item" size="mini" type="warning" icon="el-icon-icomoon-ignorek" @click="crud.resetQuery()"></el-button>-->
<el-button-group class="button-group">
<el-button class="filter-item" size="mini" type="success" icon="el-icon-search" @click="crud.toQuery"></el-button>
<el-button class="filter-item" size="mini" type="warning" icon="el-icon-refresh-left" @click="resetQuery()"></el-button>
</el-button-group>
</template>
<script>
@ -24,3 +23,8 @@ export default {
}
}
</script>
<style scoped>
.button-group.el-button +.el-button {
margin-left: 10px;
}
</style>

View File

@ -2,45 +2,38 @@
<div class="app-container">
<!--工具栏-->
<div class="head-container">
<div v-if="crud.props.searchToggle" type="flex">
<!-- 搜索 -->
<date-range-picker start-placeholder="" v-model="query.createTime" class="date-item" />
<el-input
v-model="query.jobId"
clearable
placeholder="任务编号"
style="width: 140px;"
class="filter-item"
@keyup.enter.native="crud.toQuery"/>
<el-input v-model="query.startSlotCode" clearable placeholder="起点位置" style="width: 120px;"
class="filter-item" @keyup.enter.native="crud.toQuery"/>
<el-input v-model="query.endSlotCode" clearable placeholder="终点位置" style="width: 120px;"
class="filter-item" @keyup.enter.native="crud.toQuery"/>
<el-input v-model="query.stockTypeCode" clearable placeholder="容器类型" style="width: 220px;"
class="filter-item" @keyup.enter.native="crud.toQuery"/>
<el-select v-model="query.status" clearable multiple placeholder="任务状态" style="width: 180px;"
class="filter-item">
<el-option
v-for="taskStatus in dict.task_status"
:key="taskStatus.id"
:label="taskStatus.label"
:value="taskStatus.value"
/>
</el-select>
<el-select v-model="query.jobType" @change="crud.toQuery" clearable placeholder="工作类型" style="width: 120px;" class="filter-item">
<el-option
v-for="taskType in dict.task_type"
:key="taskType.id"
:label="taskType.label"
:value="taskType.value"
/>
</el-select>
<el-input v-model="query.jobPriorityType" clearable placeholder="执行时长/分钟" style="width: 220px;"
class="filter-item" @keyup.enter.native="crud.toQuery"/>
<rrOperation :crud="crud"/>
</div>
<QueryAgvTask />
<!--如果想在工具栏加入更多按钮可以使用插槽方式 slot = 'left' or 'right'-->
<crudOperation :permission="permission" :tableKey="this.$options.name"/>
<crudOperation :permission="permission" :tableKey="this.$options.name">
<el-button
v-permission="permission.edit"
slot="right"
class="filter-item"
type="success"
size="mini"
v-show="true"
:loading="crud.delAllLoading"
:disabled="crud.selections.length != 1 || crud.selections[0].status!='OPEN'"
@click="butSendAgvTask(crud.selections[0].id)"
>
发送
</el-button>
<el-button
v-permission="permission.edit"
slot="right"
class="filter-item"
type="info"
size="mini"
v-show="true"
disabled ="false"
:loading="crud.delAllLoading"
@click="cancelInboundTask(crud.selections[0])"
>
取消入库
</el-button>
<!-- :disabled="!(crud.selections.length === 1 && crud.selections[0] && (crud.selections[0].status === 'ATCALL' || crud.selections[0].status === 'ATWORK'))" @click="cancelInboundTask(crud.selections[0])"-->
</crudOperation>
<!-- 顶升 -->
<el-dialog title="顶升" :visible.sync="agvTaskCallbackStatus" width="400px">
<el-form ref="form1" :model="form1" :rules="rules" size="small" label-width="80px">
@ -53,6 +46,10 @@
<el-button type="primary" @click="agvTaskCallbackMethod()"> </el-button>
</span>
</el-dialog>
<el-radio-group v-model="radio3" @change="clickChange" size="small">
<el-radio-button label="未完成">未完成</el-radio-button>
<el-radio-button label="全部"> 全部</el-radio-button>
</el-radio-group>
<!--表单组件-->
<el-dialog :close-on-click-modal="false" :before-close="crud.cancelCU" :visible.sync="crud.status.cu > 0"
:title="crud.status.title" width="500px">
@ -99,8 +96,7 @@
</div>
</el-dialog>
<!--表格渲染-->
<el-table
border
<el-table border
ref="table"
v-loading="crud.loading"
:data="crud.data"
@ -173,6 +169,7 @@ import udOperation from '@crud/UD.operation'
import pagination from '@crud/Pagination'
import DateRangePicker from "@/components/DateRangePicker/index.vue";
import DonMessage from "@/utils/message";
import QueryAgvTask from './queryAgvTask';
const defaultForm = {
id: null,
@ -197,7 +194,7 @@ const defaultForm = {
}
export default {
name: 'AgvTask',
components: {DateRangePicker, pagination, crudOperation, rrOperation, udOperation},
components: {DateRangePicker, pagination, crudOperation, rrOperation, udOperation, QueryAgvTask},
mixins: [presenter(), header(), form(defaultForm), crud()],
dicts: ['base_staus', 'task_status', 'task_type'],
cruds() {
@ -213,7 +210,8 @@ export default {
del: false,
reset: false,
download: true
}
},
queryOnPresenterCreated: false //
})
},
data() {
@ -264,6 +262,9 @@ export default {
form1: {boxCode: null, missionCode: null}
}
},
mounted() {
this.resetQuery()
},
methods: {
// false
[CRUD.HOOK.beforeRefresh]() {
@ -284,6 +285,12 @@ export default {
this.crud.toQuery()
})
},
cancelInboundTask(row) {//
crudAgvTask.cancelInboundTask(row.id).then(res => {
this.crud.notify(res.message, res.status);
this.crud.toQuery()
})
},
agvTaskCallbackMethod() {//
this.$refs['form1'].validate((valid) => {
if (valid) {
@ -310,17 +317,18 @@ export default {
this.agvTaskCallbackStatus = true;
},
resetQuery() {
this.radio3 = '全部';
this.crud.resetQuery()
this.radio3 = '未完成';
this.clickChange(this.radio3)
},
/*clickChange(lab) {
clickChange(lab) {
if (lab === "全部") {
this.crud.resetQuery();
} else if (lab === "未完成") {
this.query.jobType = 'RACK'
this.query.status = ['OPEN', 'ATCALL', 'ATWORK']
this.crud.toQuery();
}
}*/
}
}
}
</script>

View File

@ -0,0 +1,89 @@
<template>
<el-dialog :visible.sync="crud.props.searchToggle" title="查询条件">
<date-range-picker start-placeholder="" v-model="query.createTime" class="date-item"/>
<el-input
v-model="query.jobId"
clearable
placeholder="任务编号"
style="width: 140px;"
class="filter-item"
@keyup.enter.native="crud.toQuery"/>
<el-input
v-model="query.startSlotCode"
clearable
placeholder="起点位置"
style="width: 120px;"
class="filter-item"
@keyup.enter.native="crud.toQuery"/>
<el-input
v-model="query.endSlotCode"
clearable
placeholder="终点位置"
style="width: 120px;"
class="filter-item"
@keyup.enter.native="crud.toQuery"/>
<el-input
v-model="query.stockTypeCode"
clearable
placeholder="容器类型"
style="width: 220px;"
class="filter-item"
@keyup.enter.native="crud.toQuery"/>
<el-select
v-model="query.status"
clearable
multiple
placeholder="任务状态"
style="width: 180px;"
class="filter-item">
<el-option
v-for="taskStatus in taskStatus"
:key="taskStatus.id"
:label="taskStatus.label"
:value="taskStatus.value"
/>
</el-select>
<el-select v-model="query.jobType" @change="crud.toQuery" clearable placeholder="工作类型" style="width: 120px;" class="filter-item">
<el-option
v-for="taskType in taskTypes"
:key="taskType.id"
:label="taskType.label"
:value="taskType.value"
/>
</el-select>
<el-input
v-model="query.jobPriorityType"
clearable
placeholder="执行时长/分钟"
style="width: 140px;"
class="filter-item"
@keyup.enter.native="crud.toQuery"/>
<rrOperation :crud="crud"/>
</el-dialog>
</template>
<script>
import {header} from '@crud/crud'
import rrOperation from '@crud/RR.operation'
import DateRangePicker from '@/components/DateRangePicker/index.vue'
// eslint-disable-next-line no-unused-vars
const defaultForm = {}
export default {
name: 'QueryAgvTask',
components: { DateRangePicker, rrOperation },
mixins: [header()],
computed: {
taskStatus() {
return this.$parent.dict.task_status
},
taskTypes() {
return this.$parent.dict.task_type
}
}
}
</script>
<style scoped>
</style>

View File

@ -122,7 +122,8 @@
<!--表格渲染-->
<el-table border ref="table" height="66vh" v-loading="crud.loading" :data="crud.data" size="small" style="width: 100%;" @selection-change="crud.selectionChangeHandler">
<el-table-column type="selection" width="55" />
<el-table-column prop="xh" type="index" :index="indexMethod" label="序号"/>
<!-- <el-table-column prop="xh" type="index" :index="indexMethod" label="序号"/>-->
<el-table-column prop="id" label="序号"/>
<el-table-column :show-overflow-tooltip="true" prop="itemCode" label="物料编码">
<template slot-scope="scope">
<div>{{ scope.row.item.code }}</div>