<add>[important]添加箱式线任务的查询功能
This commit is contained in:
parent
08a2f6b046
commit
ee5526e31e
8
src/axios/convey.js
Normal file
8
src/axios/convey.js
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
import axios from '@/axios/base/base.axios';
|
||||
|
||||
export default {
|
||||
// 分页查询箱式线任务
|
||||
getConveyTaskWithPage(req) {
|
||||
return axios.post('/api/wcs/conveyTask/queryConveyTaskWithPage', req)
|
||||
}
|
||||
}
|
||||
32
src/enum/convey/convey.task.status.enum.js
Normal file
32
src/enum/convey/convey.task.status.enum.js
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
// 箱式线任务状态
|
||||
export const conveyTaskStatusEnum = {
|
||||
create: {
|
||||
value: 0,
|
||||
label: '任务创建',
|
||||
color: 'info'
|
||||
},
|
||||
moved: {
|
||||
value: 1,
|
||||
label: '已经移栽',
|
||||
color: 'warning'
|
||||
},
|
||||
arrive: {
|
||||
value: 2,
|
||||
label: '已到达',
|
||||
color: 'success'
|
||||
}
|
||||
}
|
||||
|
||||
export function formatterConveyTaskStatusEnum(value) {
|
||||
switch (parseInt(value)){
|
||||
case conveyTaskStatusEnum.create.value:
|
||||
return {label: conveyTaskStatusEnum.create.label, color: conveyTaskStatusEnum.create.color};
|
||||
case conveyTaskStatusEnum.moved.value:
|
||||
return {label: conveyTaskStatusEnum.moved.label, color: conveyTaskStatusEnum.moved.color};
|
||||
case conveyTaskStatusEnum.arrive.value:
|
||||
return {label: conveyTaskStatusEnum.arrive.label, color: conveyTaskStatusEnum.arrive.color};
|
||||
|
||||
default:
|
||||
return {label: `未知类型:${value}`, color: 'danger'};
|
||||
}
|
||||
}
|
||||
38
src/enum/convey/convey.task.type.enum.js
Normal file
38
src/enum/convey/convey.task.type.enum.js
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
// 箱式线任务类型
|
||||
export const conveyTaskTypeEnum = {
|
||||
pick: {
|
||||
value: 1,
|
||||
label: '拣选任务',
|
||||
color: 'primary'
|
||||
},
|
||||
replenish: {
|
||||
value: 2,
|
||||
label: '补货任务',
|
||||
color: 'warning'
|
||||
},
|
||||
deliver: {
|
||||
value: 3,
|
||||
label: '发货任务',
|
||||
color: 'success'
|
||||
},
|
||||
check: {
|
||||
value: 4,
|
||||
label: '复核任务',
|
||||
color: 'info'
|
||||
}
|
||||
}
|
||||
|
||||
export function formatterConveyTaskTypeEnum(value) {
|
||||
switch (parseInt(value)){
|
||||
case conveyTaskTypeEnum.pick.value:
|
||||
return {label: conveyTaskTypeEnum.pick.label, color: conveyTaskTypeEnum.pick.color};
|
||||
case conveyTaskTypeEnum.replenish.value:
|
||||
return {label: conveyTaskTypeEnum.replenish.label, color: conveyTaskTypeEnum.replenish.color};
|
||||
case conveyTaskTypeEnum.deliver.value:
|
||||
return {label: conveyTaskTypeEnum.deliver.label, color: conveyTaskTypeEnum.deliver.color};
|
||||
case conveyTaskTypeEnum.check.value:
|
||||
return {label: conveyTaskTypeEnum.check.label, color: conveyTaskTypeEnum.check.color};
|
||||
default:
|
||||
return {label: `未知类型:${value}`, color: 'danger'};
|
||||
}
|
||||
}
|
||||
|
|
@ -19,10 +19,11 @@ const routes = [
|
|||
{ path: 'wmsTask', name: 'wmsTask', component:() => import('../view/tab/taskManage/WmsTask.vue') }, // Wms任务管理
|
||||
{ path: 'wcsTask', name: 'wcsTask', component:() => import('../view/tab/taskManage/WcsTask.vue') }, // Wcs任务管理
|
||||
{ path: 'elTagTask', name: 'elTagTask', component:() => import('../view/tab/taskManage/ElTagTask.vue') }, // 电子标签任务管理
|
||||
{ path: 'conveyTask', name: 'conveyTask', component:() => import('../view/tab/taskManage/ConveyTask.vue') }, // 输送线任务管理
|
||||
// 设备管理
|
||||
{ path: 'location', name: 'location', component:() => import('@/view/tab/equipmentManage/LocationData.vue') }, // 点位/库位管理
|
||||
{ path: 'stackerData', name: 'stackerData', component:() => import('@/view/tab/equipmentManage/StackerData.vue') }, // 堆垛机管理
|
||||
{path: 'elTagLocationData', name: 'elTagLocationData', component:() => import('@/view/tab/equipmentManage/ElTagLocationData.vue')}, // 电子标签货位管理
|
||||
{ path: 'elTagLocationData', name: 'elTagLocationData', component:() => import('@/view/tab/equipmentManage/ElTagLocationData.vue')}, // 电子标签货位管理
|
||||
// 数据查询
|
||||
{ path: 'apiAccept', name: 'apiAccept', component:() => import('../view/tab/dataQuery/ApiAccept.vue') }, // 接口接收记录
|
||||
{ path: 'apiRequest', name: 'apiRequest', component:() => import('../view/tab/dataQuery/ApiRequest.vue') }, // 接口请求记录
|
||||
|
|
|
|||
127
src/view/component/conveyTask/ConveyTaskList.vue
Normal file
127
src/view/component/conveyTask/ConveyTaskList.vue
Normal file
|
|
@ -0,0 +1,127 @@
|
|||
<!-- -->
|
||||
<template>
|
||||
<div>
|
||||
<el-row style="width: calc(100vw - 270px)">
|
||||
<h5>箱式线任务列表</h5>
|
||||
<el-table :data="modelValue" border stripe max-height="calc(100vh - 550px)">
|
||||
<el-table-column fixed prop="taskId" label="任务号" width="230px" align="center" show-overflow-tooltip/>
|
||||
<el-table-column fixed prop="taskGroup" label="任务组" width="120px" align="center" show-overflow-tooltip/>
|
||||
<el-table-column prop="vehicleNo" label="载具号" width="120px" align="center" show-overflow-tooltip/>
|
||||
<el-table-column prop="taskType" label="任务类型" width="140px" align="center">
|
||||
<template #default="scope">
|
||||
<el-tag class="ml-2" :type=formatterConveyTaskTypeEnum(scope.row.taskType).color>
|
||||
{{formatterConveyTaskTypeEnum(scope.row.taskType).label }}</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="taskStatus" label="任务状态" width="140px" align="center">
|
||||
<template #default="scope">
|
||||
<el-tag class="ml-2" :type=formatterConveyTaskStatusEnum(scope.row.taskStatus).color>
|
||||
{{formatterConveyTaskStatusEnum(scope.row.taskStatus).label }}</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="location" label="目标点位" width="100px" align="center" show-overflow-tooltip/>
|
||||
<el-table-column prop="arriveLocation" label="实际点位" width="100px" align="center" show-overflow-tooltip/>
|
||||
<el-table-column prop="createPerson" label="创建人" width="100px" align="center" show-overflow-tooltip/>
|
||||
<el-table-column prop="createTime" label="创建时间" :formatter="formatterTime" width="160px" align="center" show-overflow-tooltip/>
|
||||
<el-table-column prop="moveTime" label="移栽时间" :formatter="formatterTime" width="160px" align="center" show-overflow-tooltip/>
|
||||
<el-table-column prop="completeTime" label="完成时间" :formatter="formatterTime" width="160px" align="center" show-overflow-tooltip/>
|
||||
<el-table-column prop="remark" label="备注" show-overflow-tooltip min-width="80px"/>
|
||||
<el-table-column fixed="right" label="操作" align="center" width="80">
|
||||
<template #default="scope">
|
||||
<el-button-group class="ml-4">
|
||||
<el-tooltip content="编辑任务" placement="top" effect="light">
|
||||
<el-button type="warning" size="small" @click="edit(scope.row)">
|
||||
<el-icon><Edit/></el-icon>
|
||||
</el-button>
|
||||
</el-tooltip>
|
||||
</el-button-group>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</el-row>
|
||||
<el-row style="margin-top: 15px">
|
||||
<el-pagination
|
||||
small
|
||||
v-if="searchParams.page.totalRow > 0"
|
||||
background
|
||||
v-model:page-size="searchParams.page.pageSize"
|
||||
v-model:current-page="searchParams.page.pageIndex"
|
||||
:page-sizes="[20, 50, 100, 200, 500]"
|
||||
layout="prev, pager, next, jumper, sizes, total"
|
||||
:total="searchParams.page.totalRow"
|
||||
@size-change="searchData"
|
||||
@current-change="searchData"
|
||||
/>
|
||||
</el-row>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
// import 《组件名称》 from '《组件路径》 ';
|
||||
|
||||
|
||||
import {Edit, Switch} from "@element-plus/icons-vue";
|
||||
import {formatterConveyTaskStatusEnum} from "@/enum/convey/convey.task.status.enum";
|
||||
import {formatterConveyTaskTypeEnum} from "@/enum/convey/convey.task.type.enum";
|
||||
import formatterTime from "@/plugins/formatter/formatter.time";
|
||||
|
||||
export default {
|
||||
// import 引入的组件需要注入到对象中才能使用
|
||||
components: {Edit, Switch},
|
||||
props: ['modelValue', 'searchParams'],
|
||||
emits: ['update:modelValue', 'update:searchParams', 'pageChange'],
|
||||
data() {
|
||||
// 这里存放数据
|
||||
return {}
|
||||
},
|
||||
// 计算属性 类似于 data 概念
|
||||
computed: {
|
||||
},
|
||||
// 监控 data 中的数据变化
|
||||
watch: {},
|
||||
// 方法集合
|
||||
methods: {
|
||||
formatterTime: formatterTime.formatCellValueTime,
|
||||
formatterConveyTaskTypeEnum,
|
||||
formatterConveyTaskStatusEnum,
|
||||
searchData(){
|
||||
this.$emit('pageChange', this.searchParams)
|
||||
},
|
||||
edit(row) {
|
||||
|
||||
}
|
||||
},
|
||||
// 组合式 API
|
||||
setup() {
|
||||
},
|
||||
// 创建之前
|
||||
beforeCreate() {
|
||||
},
|
||||
// 创建完成(可以访问 this 实例)
|
||||
created() {
|
||||
},
|
||||
// 生命周期 - 挂载之前
|
||||
beforeMount() {
|
||||
},
|
||||
// 生命周期 - 挂载完成(可以访问 DOM 元素)
|
||||
mounted() {
|
||||
},
|
||||
// 更新之前
|
||||
beforeUpdate() {
|
||||
},
|
||||
// 更新之后
|
||||
updated() {
|
||||
},
|
||||
// 销毁之前
|
||||
beforeUnmount() {
|
||||
},
|
||||
// 销毁完成
|
||||
unmounted() {
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
||||
|
||||
</style>
|
||||
147
src/view/component/conveyTask/SearchForm.vue
Normal file
147
src/view/component/conveyTask/SearchForm.vue
Normal file
|
|
@ -0,0 +1,147 @@
|
|||
<!-- -->
|
||||
<template>
|
||||
<div style="border-radius: 5px; border: #2c3e5033 solid 1px; padding: 10px">
|
||||
<el-row>
|
||||
<el-form :model="searchParams" label-width="120" label-position="left" >
|
||||
<el-form-item label="查询关键字:">
|
||||
<el-input placeholder="输入 任务号/任务组/箱号/点位 查询..." v-model="searchParams.searchStr" clearable></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="任务类型:">
|
||||
<el-select v-model="searchParams.conveyTaskType" multiple placeholder="请选择需要查询的任务类型">
|
||||
<el-option v-for="item in conveyTaskTypeEnum" :key="item.value" :label="item.label" :value="item.value"/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="任务状态:">
|
||||
<el-select v-model="searchParams.conveyTaskStatus" multiple placeholder="请选择需要查询的任务状态">
|
||||
<el-option v-for="item in conveyTaskStatusEnum" :key="item.value" :label="item.label" :value="item.value"/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="任务创建时间:">
|
||||
<el-date-picker
|
||||
v-model="searchParams.timeRange"
|
||||
type="datetimerange"
|
||||
format="YYYY-MM-DD HH:mm:ss"
|
||||
value-format="YYYY-MM-DDTHH:mm:ss"
|
||||
unlink-panels
|
||||
range-separator="至"
|
||||
start-placeholder="开始时间"
|
||||
end-placeholder="截止时间"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-button type="primary" @click="searchBtn">查询/刷新</el-button>
|
||||
<el-button type="success" @click="showAddForm = true">新增任务</el-button>
|
||||
</el-row>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
// import 《组件名称》 from '《组件路径》 ';
|
||||
|
||||
import conveyApi from "@/axios/convey";
|
||||
import {conveyTaskTypeEnum} from "@/enum/convey/convey.task.type.enum";
|
||||
import {conveyTaskStatusEnum} from "@/enum/convey/convey.task.status.enum";
|
||||
import {ElLoading, ElMessage} from "element-plus";
|
||||
|
||||
export default {
|
||||
// import 引入的组件需要注入到对象中才能使用
|
||||
components: {},
|
||||
props: ['searchParams', 'modelValue'],
|
||||
emits: ['update:searchParams', 'update:modelValue'],
|
||||
data() {
|
||||
// 这里存放数据
|
||||
return {}
|
||||
},
|
||||
// 计算属性 类似于 data 概念
|
||||
computed: {
|
||||
conveyTaskStatusEnum() {
|
||||
return conveyTaskStatusEnum
|
||||
},
|
||||
conveyTaskTypeEnum() {
|
||||
return conveyTaskTypeEnum
|
||||
}
|
||||
},
|
||||
// 监控 data 中的数据变化
|
||||
watch: {},
|
||||
// 方法集合
|
||||
methods: {
|
||||
searchBtn() {
|
||||
this.searchParams.page.pageIndex = 1;
|
||||
this.searchParams.page.pageSize = 50;
|
||||
this.$emit('update:searchParams', this.searchParams);
|
||||
this.searchData(this.searchParams);
|
||||
},
|
||||
searchData(searchParams) {
|
||||
const loading = ElLoading.service({
|
||||
lock: true,
|
||||
text: '加载中...',
|
||||
})
|
||||
this.$emit('update:modelValue', [])
|
||||
conveyApi.getConveyTaskWithPage(searchParams).then((response) => {
|
||||
const responseData = response.data
|
||||
if (responseData.code === 0) {
|
||||
ElMessage({
|
||||
message: '查询成功',
|
||||
type: 'success',
|
||||
})
|
||||
// 正确请求,展示数据
|
||||
this.searchParams.page.totalRow = parseInt(responseData["tag"])
|
||||
this.$emit('update:searchParams', this.searchParams)
|
||||
this.$emit('update:modelValue', Object.freeze(responseData["returnData"]))
|
||||
} else {
|
||||
// 服务报错
|
||||
ElMessage({
|
||||
message: '服务器返回失败:' + responseData.msg,
|
||||
type: 'warning',
|
||||
})
|
||||
}
|
||||
}).catch((ex) => {
|
||||
// 通讯报错
|
||||
ElMessage({
|
||||
message: '请求服务器失败:' + ex,
|
||||
type: 'error',
|
||||
})
|
||||
}).finally(() => {
|
||||
loading.close()
|
||||
})
|
||||
},
|
||||
showAddForm() {
|
||||
|
||||
}
|
||||
},
|
||||
// 组合式 API
|
||||
setup() {
|
||||
},
|
||||
// 创建之前
|
||||
beforeCreate() {
|
||||
},
|
||||
// 创建完成(可以访问 this 实例)
|
||||
created() {
|
||||
},
|
||||
// 生命周期 - 挂载之前
|
||||
beforeMount() {
|
||||
},
|
||||
// 生命周期 - 挂载完成(可以访问 DOM 元素)
|
||||
mounted() {
|
||||
},
|
||||
// 更新之前
|
||||
beforeUpdate() {
|
||||
},
|
||||
// 更新之后
|
||||
updated() {
|
||||
},
|
||||
// 销毁之前
|
||||
beforeUnmount() {
|
||||
},
|
||||
// 销毁完成
|
||||
unmounted() {
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
||||
|
||||
</style>
|
||||
86
src/view/tab/taskManage/ConveyTask.vue
Normal file
86
src/view/tab/taskManage/ConveyTask.vue
Normal file
|
|
@ -0,0 +1,86 @@
|
|||
<!-- -->
|
||||
<template>
|
||||
<div>
|
||||
<el-row >
|
||||
<SearchForm ref="searchForm" v-model:searchParams="searchParams" v-model="conveyTaskList" style="width: 100%"></SearchForm>
|
||||
</el-row>
|
||||
<el-row>
|
||||
<ConveyTaskList v-model="conveyTaskList" v-model:searchParams="searchParams" @pageChange="pageChange"></ConveyTaskList>
|
||||
</el-row>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
// import 《组件名称》 from '《组件路径》 ';
|
||||
import SearchForm from "@/view/component/conveyTask/SearchForm.vue";
|
||||
import ConveyTaskList from "@/view/component/conveyTask/ConveyTaskList.vue";
|
||||
|
||||
export default {
|
||||
// import 引入的组件需要注入到对象中才能使用
|
||||
components: { SearchForm, ConveyTaskList},
|
||||
props: [],
|
||||
emits: [],
|
||||
data() {
|
||||
// 这里存放数据
|
||||
return {
|
||||
// 搜索参数
|
||||
searchParams: {
|
||||
searchStr: '',
|
||||
conveyTaskType: [1,2,3,4],
|
||||
conveyTaskStatus: [0,1,],
|
||||
timeRange: [],
|
||||
page: {
|
||||
pageIndex: 1,
|
||||
pageSize: 50,
|
||||
totalRow: 0
|
||||
}
|
||||
},
|
||||
// 任务列表
|
||||
conveyTaskList: []
|
||||
}
|
||||
},
|
||||
// 计算属性 类似于 data 概念
|
||||
computed: {},
|
||||
// 监控 data 中的数据变化
|
||||
watch: {},
|
||||
// 方法集合
|
||||
methods: {
|
||||
pageChange() {
|
||||
this.$refs.searchForm.searchData(this.searchParams)
|
||||
}
|
||||
},
|
||||
// 组合式 API
|
||||
setup() {
|
||||
},
|
||||
// 创建之前
|
||||
beforeCreate() {
|
||||
},
|
||||
// 创建完成(可以访问 this 实例)
|
||||
created() {
|
||||
},
|
||||
// 生命周期 - 挂载之前
|
||||
beforeMount() {
|
||||
},
|
||||
// 生命周期 - 挂载完成(可以访问 DOM 元素)
|
||||
mounted() {
|
||||
},
|
||||
// 更新之前
|
||||
beforeUpdate() {
|
||||
},
|
||||
// 更新之后
|
||||
updated() {
|
||||
},
|
||||
// 销毁之前
|
||||
beforeUnmount() {
|
||||
},
|
||||
// 销毁完成
|
||||
unmounted() {
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
|
||||
|
||||
</style>
|
||||
Loading…
Reference in New Issue
Block a user