no message
parent
28e014b2c9
commit
c76576efe4
|
|
@ -160,11 +160,22 @@
|
|||
{{ dict.label.point_type[scope.row.type] }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column :show-overflow-tooltip="true" prop="status" label="状态">
|
||||
|
||||
<el-table-column
|
||||
prop="status"
|
||||
label="状态"
|
||||
width="100"
|
||||
:filters="[{ text: '空闲', value: 'FREE' }, { text: '占用', value: 'USED' }]"
|
||||
:filter-method="filterTag"
|
||||
filter-placement="bottom-end">
|
||||
<template slot-scope="scope">
|
||||
{{ dict.label.use_status[scope.row.status] }}
|
||||
<el-tag
|
||||
:type="dict.label.use_status[scope.row.status] === '空闲' ? 'success' : 'danger'"
|
||||
disable-transitions> {{ dict.label.use_status[scope.row.status] }}
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column :show-overflow-tooltip="true" prop="areaName" label="库区">
|
||||
<template slot-scope="scope">
|
||||
<div>{{ scope.row.area.name }}</div>
|
||||
|
|
@ -201,13 +212,13 @@
|
|||
<script>
|
||||
import crudPoint from '@/api/point'
|
||||
import crudArea from '@/api/area'
|
||||
import CRUD, { presenter, header, form, crud } from '@crud/crud'
|
||||
import CRUD, {presenter, header, form, crud} from '@crud/crud'
|
||||
import crudOperation from '@crud/CRUD.operation'
|
||||
import udOperation from '@crud/UD.operation'
|
||||
import rrOperation from '@crud/RR.operation'
|
||||
import pagination from '@crud/Pagination'
|
||||
import { getToken } from '@/utils/auth'
|
||||
import { mapGetters } from 'vuex'
|
||||
import {getToken} from '@/utils/auth'
|
||||
import {mapGetters} from 'vuex'
|
||||
|
||||
const defaultForm = {
|
||||
id: null,
|
||||
|
|
@ -232,7 +243,7 @@ export default {
|
|||
dicts: ['base_staus', 'use_status', 'point_type', 'agv_on_off', 'smallArea', 'item_height'],
|
||||
cruds() {
|
||||
return CRUD({
|
||||
title: '点位', url: 'api/point', idField: 'id', sort: 'id,desc', crudMethod: { ...crudPoint },
|
||||
title: '点位', url: 'api/point', idField: 'id', sort: 'id,desc', crudMethod: {...crudPoint},
|
||||
optShow: {
|
||||
add: true,
|
||||
edit: false,
|
||||
|
|
@ -288,14 +299,14 @@ export default {
|
|||
from1: [],
|
||||
fromBack: [],
|
||||
pointListData: [],
|
||||
headers: { 'Authorization': getToken() },
|
||||
headers: {'Authorization': getToken()},
|
||||
queryTypeOptions: [
|
||||
{ key: 'code', display_name: '代码' },
|
||||
{ key: 'name', display_name: '名称' },
|
||||
{ key: 'status', display_name: '状态' },
|
||||
{ key: 'beatCode', display_name: '区域编码' },
|
||||
{ key: 'areaCode', display_name: '仓库' },
|
||||
{ key: 'enabled', display_name: '启用' }
|
||||
{key: 'code', display_name: '代码'},
|
||||
{key: 'name', display_name: '名称'},
|
||||
{key: 'status', display_name: '状态'},
|
||||
{key: 'beatCode', display_name: '区域编码'},
|
||||
{key: 'areaCode', display_name: '仓库'},
|
||||
{key: 'enabled', display_name: '启用'}
|
||||
],
|
||||
areas: [],
|
||||
permission: {
|
||||
|
|
@ -305,22 +316,22 @@ export default {
|
|||
},
|
||||
rules: {
|
||||
code: [
|
||||
{ validator: validateCode, required: true, trigger: 'blur' }
|
||||
{validator: validateCode, required: true, trigger: 'blur'}
|
||||
],
|
||||
type: [
|
||||
{ required: true, message: '类型不能为空', trigger: 'blur' }
|
||||
{required: true, message: '类型不能为空', trigger: 'blur'}
|
||||
],
|
||||
area: [
|
||||
{ required: true, message: '库区不能为空', trigger: 'blur' }
|
||||
{required: true, message: '库区不能为空', trigger: 'blur'}
|
||||
],
|
||||
posX: [
|
||||
{ required: true, message: '排不能为空', trigger: 'blur' }
|
||||
{required: true, message: '排不能为空', trigger: 'blur'}
|
||||
],
|
||||
posY: [
|
||||
{ required: true, message: '列不能为空', trigger: 'blur' }
|
||||
{required: true, message: '列不能为空', trigger: 'blur'}
|
||||
],
|
||||
posZ: [
|
||||
{ required: true, message: '层不能为空', trigger: 'blur' }
|
||||
{required: true, message: '层不能为空', trigger: 'blur'}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
@ -364,6 +375,9 @@ export default {
|
|||
crudArea.queryAreaAll({}).then(res => {
|
||||
this.areas = res
|
||||
})
|
||||
},
|
||||
filterTag(value, row) {
|
||||
return row.status === value
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -160,11 +160,22 @@
|
|||
<div>{{ scope.row.stockType }}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column :show-overflow-tooltip="true" prop="area" label="状态">
|
||||
|
||||
<el-table-column
|
||||
prop="status"
|
||||
label="状态"
|
||||
width="100"
|
||||
:filters="[{ text: '空闲', value: 'FREE' }, { text: '占用', value: 'USED' }]"
|
||||
:filter-method="filterTag"
|
||||
filter-placement="bottom-end">
|
||||
<template slot-scope="scope">
|
||||
{{ dict.label.use_status[scope.row.status] }}
|
||||
<el-tag
|
||||
:type="dict.label.use_status[scope.row.status] === '空闲' ? 'success' : 'danger'"
|
||||
disable-transitions> {{ dict.label.use_status[scope.row.status] }}
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="启用" align="center" prop="enabled">
|
||||
<template slot-scope="scope">
|
||||
<el-switch
|
||||
|
|
@ -207,13 +218,13 @@
|
|||
import crudStock from '@/api/stock'
|
||||
import crudPoint from '@/api/point'
|
||||
import crudArea from '@/api/area'
|
||||
import CRUD, { presenter, header, form, crud } from '@crud/crud'
|
||||
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 { getToken } from '@/utils/auth'
|
||||
import { mapGetters } from 'vuex'
|
||||
import {getToken} from '@/utils/auth'
|
||||
import {mapGetters} from 'vuex'
|
||||
|
||||
const defaultForm = {
|
||||
id: null,
|
||||
|
|
@ -243,12 +254,12 @@ const defaultForm = {
|
|||
}
|
||||
export default {
|
||||
name: 'Stock',
|
||||
components: { pagination, crudOperation, rrOperation, udOperation },
|
||||
components: {pagination, crudOperation, rrOperation, udOperation},
|
||||
mixins: [presenter(), header(), form(defaultForm), crud()],
|
||||
dicts: ['base_staus', 'use_status', 'stock_type'],
|
||||
cruds() {
|
||||
return CRUD({
|
||||
title: '容器', url: 'api/stock', idField: 'id', sort: 'id,asc', crudMethod: { ...crudStock },
|
||||
title: '容器', url: 'api/stock', idField: 'id', sort: 'id,asc', crudMethod: {...crudStock},
|
||||
optShow: {
|
||||
add: true,
|
||||
edit: false,
|
||||
|
|
@ -270,7 +281,7 @@ export default {
|
|||
fileList: [],
|
||||
areas: [],
|
||||
points: [],
|
||||
headers: { 'Authorization': getToken() },
|
||||
headers: {'Authorization': getToken()},
|
||||
permission: {
|
||||
add: ['admin', 'stock:add'],
|
||||
edit: ['admin', 'stock:edit'],
|
||||
|
|
@ -278,13 +289,13 @@ export default {
|
|||
},
|
||||
rules: {
|
||||
id: [
|
||||
{ required: true, message: '容器ID不能为空', trigger: 'blur' }
|
||||
{required: true, message: '容器ID不能为空', trigger: 'blur'}
|
||||
],
|
||||
code: [
|
||||
{ required: true, message: '容器代码不能为空', trigger: 'blur' }
|
||||
{required: true, message: '容器代码不能为空', trigger: 'blur'}
|
||||
],
|
||||
stockType: [
|
||||
{ required: true, message: '容器类型不能为空', trigger: 'blur' }
|
||||
{required: true, message: '容器类型不能为空', trigger: 'blur'}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
@ -335,6 +346,9 @@ export default {
|
|||
crudPoint.queryPointAll({enabled: true}).then(res => {
|
||||
this.points = res
|
||||
})
|
||||
},
|
||||
filterTag(value, row) {
|
||||
return row.status === value
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@
|
|||
<div class="head-container">
|
||||
<div v-if="crud.props.searchToggle" type="flex">
|
||||
<!-- 搜索 -->
|
||||
<div>
|
||||
<label class="el-form-item-label">创建日期</label>
|
||||
<date-range-picker v-model="query.createTime" style="width: 250px;" class="filter-item"/>
|
||||
|
||||
|
|
@ -26,7 +25,6 @@
|
|||
class="filter-item" @keyup.enter.native="crud.toQuery"
|
||||
/>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div>
|
||||
|
|
@ -372,8 +370,7 @@ export default {
|
|||
},
|
||||
resetQuery() {
|
||||
this.radio3 = '执行中';
|
||||
this.query = { status: 'ATCALL', createTime: '', stockCode: '', startSlotCode: '', endSlotCode: '', type: '' };
|
||||
this.crud.toQuery();
|
||||
this.crud.resetQuery()
|
||||
},
|
||||
clickChange(lab) {
|
||||
if (lab === '全部') {
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@
|
|||
<!--工具栏-->
|
||||
<div class="head-container">
|
||||
<label class="el-form-item-label">物料编码</label>
|
||||
<el-select v-model="query.itemCode" placeholder="物料编码" filterable clearable style="width: 170px;" class="filter-item">
|
||||
<el-select v-model="query.itemCode" placeholder="物料编码" filterable clearable style="width: 170px;"
|
||||
class="filter-item">
|
||||
<el-option
|
||||
@keyup.enter.native="crud.toQuery"
|
||||
v-for="item in this.items"
|
||||
|
|
@ -78,9 +79,29 @@
|
|||
<el-table-column prop="itemKey.orderNumber" label="箱号"/>
|
||||
<el-table-column prop="srcPointCode" label="原点位"/>
|
||||
<el-table-column prop="dstPointCode" label="目标点位"/>
|
||||
<el-table-column prop="taskStatus" label="任务状态">
|
||||
|
||||
<el-table-column
|
||||
prop="taskStatus"
|
||||
label="任务状态"
|
||||
width="100"
|
||||
:filters="[
|
||||
{ text: '待执行', value: 'OPEN' },
|
||||
{ text: '执行中', value: 'ATCALL' },
|
||||
{ text: '顶升', value: 'UP_CONTAINER' },
|
||||
{ text: '已到站', value: 'ARRIVED' },
|
||||
{ text: '已完成', value: 'FINISH' },
|
||||
{ text: '任务取消', value: 'CANCEL' }
|
||||
]"
|
||||
:filter-method="filterTag"
|
||||
filter-placement="bottom-end"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
{{ dict.label.task_status[scope.row.taskStatus] }}
|
||||
<el-tag
|
||||
:type="getStatusType(scope.row.taskStatus)"
|
||||
disable-transitions
|
||||
>
|
||||
{{ dict.label.task_status[scope.row.taskStatus] }}
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="planQty" label="计划数量"/>
|
||||
|
|
@ -98,7 +119,7 @@
|
|||
<script>
|
||||
import crudTask from '@/api/task'
|
||||
import crudItem from '@/api/item'
|
||||
import CRUD, { presenter, header, form, crud } from '@crud/crud'
|
||||
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'
|
||||
|
|
@ -139,17 +160,17 @@ const defaultForm = {
|
|||
}
|
||||
export default {
|
||||
name: 'asnTask',
|
||||
components: { DateRangePicker,pagination, crudOperation, rrOperation, udOperation },
|
||||
components: {DateRangePicker, pagination, crudOperation, rrOperation, udOperation},
|
||||
mixins: [presenter(), header(), form(defaultForm), crud()],
|
||||
dicts: ['task_status'],
|
||||
cruds() {
|
||||
return CRUD({
|
||||
query: { taskType: ['ASN'] },
|
||||
query: {taskType: ['ASN']},
|
||||
title: '入库任务',
|
||||
url: 'api/task',
|
||||
idField: 'id',
|
||||
sort: 'id,desc',
|
||||
crudMethod: { ...crudTask },
|
||||
crudMethod: {...crudTask},
|
||||
optShow: {
|
||||
add: false,
|
||||
edit: false,
|
||||
|
|
@ -170,11 +191,11 @@ export default {
|
|||
},
|
||||
rules: {},
|
||||
queryTypeOptions: [
|
||||
{ key: 'itemCode', display_name: '物料代码' },
|
||||
{ key: 'itemName', display_name: '物料名称' },
|
||||
{ key: 'taskStatus', display_name: '任务状态' },
|
||||
{ key: 'srcPointCode', display_name: '源点位编码' },
|
||||
{ key: 'dstPointCode', display_name: '目标点位编码' }
|
||||
{key: 'itemCode', display_name: '物料代码'},
|
||||
{key: 'itemName', display_name: '物料名称'},
|
||||
{key: 'taskStatus', display_name: '任务状态'},
|
||||
{key: 'srcPointCode', display_name: '源点位编码'},
|
||||
{key: 'dstPointCode', display_name: '目标点位编码'}
|
||||
],
|
||||
items: []
|
||||
}
|
||||
|
|
@ -193,11 +214,31 @@ export default {
|
|||
},
|
||||
//物料数据
|
||||
getItem() {
|
||||
crudItem.queryItemAll({ enabled: true }).then(res => {
|
||||
crudItem.queryItemAll({enabled: true}).then(res => {
|
||||
this.items = res
|
||||
}).catch(e => {
|
||||
this.crud.notify('物料加载失败', CRUD.NOTIFICATION_TYPE.ERROR)
|
||||
})
|
||||
},
|
||||
getStatusType(status) {
|
||||
switch (this.dict.label.task_status[status]) {
|
||||
case '待执行':
|
||||
return 'info'
|
||||
case '执行中':
|
||||
return 'warning'
|
||||
case '顶升':
|
||||
return 'primary'
|
||||
case '已完成':
|
||||
case '已到站':
|
||||
return 'success'
|
||||
case '任务取消':
|
||||
return 'danger'
|
||||
default:
|
||||
return ''
|
||||
}
|
||||
},
|
||||
filterTag(value, row) {
|
||||
return row.taskStatus === value
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,37 +2,51 @@
|
|||
<div class="app-container">
|
||||
<!--工具栏-->
|
||||
<div class="head-container">
|
||||
<label class="el-form-item-label" v-show="false">物料编码</label>
|
||||
<el-select v-show="false" v-model="query.itemCode" @focus="getItem" value-key="id" filterable multiple
|
||||
placeholder="请选择物料" style="width: 150px;" class="filter-item" @keyup.enter.native="crud.toQuery">
|
||||
<el-option
|
||||
v-for="item in items"
|
||||
:key="item.id"
|
||||
:label="item.code"
|
||||
:value="item.code"
|
||||
/>
|
||||
</el-select>
|
||||
<!--
|
||||
<el-input v-model="query.itemCode" clearable placeholder="请输入物料编码" style="width: 140px;" class="filter-item" @keyup.enter.native="crud.toQuery" />
|
||||
-->
|
||||
<label class="el-form-item-label">物料编码</label>
|
||||
<el-input v-model="query.itemCodeOne" clearable placeholder="请输入物料编码" style="width: 150px;"
|
||||
class="filter-item" @keyup.enter.native="crud.toQuery"/>
|
||||
<label class="el-form-item-label">物料名称</label>
|
||||
<el-input v-model="query.itemName" clearable placeholder="请输入物料名称" style="width: 150px;"
|
||||
class="filter-item" @keyup.enter.native="crud.toQuery"/>
|
||||
<div v-if="crud.props.searchToggle" type="flex">
|
||||
<label class="el-form-item-label" v-show="false">物料编码</label>
|
||||
<el-select v-show="false" v-model="query.itemCode" @focus="getItem" value-key="id" filterable multiple
|
||||
placeholder="请选择物料" style="width: 150px;" class="filter-item"
|
||||
@keyup.enter.native="crud.toQuery">
|
||||
<el-option
|
||||
v-for="item in items"
|
||||
:key="item.id"
|
||||
:label="item.code"
|
||||
:value="item.code"
|
||||
/>
|
||||
</el-select>
|
||||
|
||||
<label class="el-form-item-label">批次号</label>
|
||||
<el-input v-model="query.propC1" clearable placeholder="请输入批次号" style="width: 150px;" class="filter-item"
|
||||
@keyup.enter.native="crud.toQuery"/>
|
||||
<label class="el-form-item-label">物料编码</label>
|
||||
<el-input v-model="query.itemCodeOne" clearable placeholder="请输入物料编码" style="width: 150px;"
|
||||
class="filter-item" @keyup.enter.native="crud.toQuery"/>
|
||||
<label class="el-form-item-label">物料名称</label>
|
||||
<el-input v-model="query.itemName" clearable placeholder="请输入物料名称" style="width: 150px;"
|
||||
class="filter-item" @keyup.enter.native="crud.toQuery"/>
|
||||
|
||||
<label class="el-form-item-label">容器号</label>
|
||||
<el-input v-model="query.stockName" clearable placeholder="请输入容器号" style="width: 150px;" class="filter-item"
|
||||
@keyup.enter.native="crud.toQuery"/>
|
||||
<rrOperation :crud="crud"/>
|
||||
<label class="el-form-item-label">批次号</label>
|
||||
<el-input v-model="query.propC1" clearable placeholder="请输入批次号" style="width: 150px;" class="filter-item"
|
||||
@keyup.enter.native="crud.toQuery"/>
|
||||
|
||||
<el-button class="filter-item" size="mini" type="warning" icon="el-icon-refresh-left" @click="resetQuery">重置
|
||||
</el-button>
|
||||
<label class="el-form-item-label">容器号</label>
|
||||
<el-input v-model="query.stockName" clearable placeholder="请输入容器号" style="width: 150px;"
|
||||
class="filter-item"
|
||||
@keyup.enter.native="crud.toQuery"/>
|
||||
<rrOperation :crud="crud"/>
|
||||
|
||||
<el-button class="filter-item" size="mini" type="warning" icon="el-icon-refresh-left" @click="resetQuery">重置
|
||||
</el-button>
|
||||
|
||||
<div class="statusButton" style="border-bottom: solid lightgray 1px;">
|
||||
<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-button label="大件">大件</el-radio-button>
|
||||
<el-radio-button label="翻包">翻包</el-radio-button>
|
||||
<el-radio-button label="叫料">叫料</el-radio-button>
|
||||
</el-radio-group>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!--如果想在工具栏加入更多按钮,可以使用插槽方式, slot = 'left' or 'right'-->
|
||||
<crudOperation :permission="permission" :tableKey="this.$options.name"/>
|
||||
|
|
@ -203,6 +217,7 @@ export default {
|
|||
},
|
||||
data() {
|
||||
return {
|
||||
radio3: '小件',
|
||||
points: [],
|
||||
stocks: [],
|
||||
items: [],
|
||||
|
|
@ -241,6 +256,7 @@ export default {
|
|||
this.crud.toQuery();
|
||||
},
|
||||
resetQuery() {
|
||||
this.radio3 = '小件';
|
||||
this.crud.resetQuery()
|
||||
},
|
||||
getSummaries(param) {
|
||||
|
|
@ -269,6 +285,24 @@ export default {
|
|||
});
|
||||
|
||||
return sums;
|
||||
},
|
||||
clickChange(lab) {
|
||||
if (lab === '全部') {
|
||||
this.query.status = ''
|
||||
this.crud.toQuery()
|
||||
} else if (lab === '小件') {
|
||||
this.query.areaName = '小件存储区'
|
||||
this.crud.toQuery()
|
||||
} else if (lab === '大件') {
|
||||
this.query.areaName = '大件存储区'
|
||||
this.crud.toQuery()
|
||||
} else if (lab === '翻包') {
|
||||
this.query.areaName = ['小件翻包区', '大件翻包区']
|
||||
this.crud.toQuery()
|
||||
} else if (lab === '叫料') {
|
||||
this.query.areaName = ['小件翻包存储区', '小件翻包存储区']
|
||||
this.crud.toQuery()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -10,7 +10,8 @@
|
|||
/>
|
||||
|
||||
<label class="el-form-item-label">工单状态</label>
|
||||
<el-select v-model="query.status" filterable clearable placeholder="请选择" class="filter-item" style="width: 180px;">
|
||||
<el-select v-model="query.status" filterable clearable placeholder="请选择" class="filter-item"
|
||||
style="width: 180px;">
|
||||
<el-option
|
||||
v-for="item in dict.pick_status"
|
||||
:key="item.id"
|
||||
|
|
@ -130,9 +131,29 @@
|
|||
<el-table-column prop="code" label="出库单编码" width="180" v-element-table-tooltip/>
|
||||
<el-table-column prop="gdCode" label="工单编码" v-element-table-tooltip/>
|
||||
<el-table-column prop="lineNo" label="顺序号"/>
|
||||
<el-table-column prop="status" label="状态">
|
||||
<el-table-column
|
||||
prop="status"
|
||||
label="状态"
|
||||
width="100"
|
||||
:filters="[
|
||||
{ text: '打开', value: 'OPEN' },
|
||||
{ text: '部分分配', value: 'ASSIGN' },
|
||||
{ text: '已分配', value: 'ALLOCATE' },
|
||||
{ text: '拣货中', value: 'PICKUP' },
|
||||
{ text: '拣货完成', value: 'PICK_ALL' },
|
||||
{ text: '叫料中', value: 'SHIP_PART' },
|
||||
{ text: '已关闭', value: 'CLOSE' }
|
||||
]"
|
||||
:filter-method="filterTag"
|
||||
filter-placement="bottom-end"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
{{ dict.label.pick_status[scope.row.status] }}
|
||||
<el-tag
|
||||
:type="getStatusType(scope.row.status)"
|
||||
disable-transitions
|
||||
>
|
||||
{{ dict.label.pick_status[scope.row.status] }}
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="cpCodeOrDpCode" label="成品代码/单品代码"/>
|
||||
|
|
@ -163,16 +184,16 @@
|
|||
|
||||
<script>
|
||||
import crudPick from '@/api/pick'
|
||||
import crudPickDetail, { findByAllPickDetail } from '@/api/pickDetail'
|
||||
import crudPickDetail, {findByAllPickDetail} from '@/api/pickDetail'
|
||||
import crudItem from '@/api/item'
|
||||
import crudBigItem from '@/api/bigItem'
|
||||
import CRUD, { presenter, header, form, crud } from '@crud/crud'
|
||||
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 { none } from 'html-webpack-plugin/lib/chunksorter'
|
||||
import {none} from 'html-webpack-plugin/lib/chunksorter'
|
||||
|
||||
const defaultForm = {
|
||||
id: null,
|
||||
|
|
@ -189,7 +210,7 @@ const defaultForm = {
|
|||
export default {
|
||||
name: 'Pick',
|
||||
dicts: ['pick_status'],
|
||||
components: { pagination, crudOperation, rrOperation, udOperation },
|
||||
components: {pagination, crudOperation, rrOperation, udOperation},
|
||||
mixins: [presenter(), header(), form(defaultForm), crud()],
|
||||
cruds() {
|
||||
return CRUD({
|
||||
|
|
@ -197,7 +218,7 @@ export default {
|
|||
url: 'api/pick',
|
||||
idField: 'id',
|
||||
sort: ['lineNo,asc'],
|
||||
crudMethod: { ...crudPick },
|
||||
crudMethod: {...crudPick},
|
||||
optShow: {
|
||||
add: false,
|
||||
edit: false,
|
||||
|
|
@ -221,19 +242,19 @@ export default {
|
|||
},
|
||||
rules: {
|
||||
gdCode: [
|
||||
{ required: true, message: '请选择工单编码', trigger: 'blur' }
|
||||
{required: true, message: '请选择工单编码', trigger: 'blur'}
|
||||
],
|
||||
lineNo: [
|
||||
{ required: true, message: '请输入顺序号', trigger: 'blur' }
|
||||
{required: true, message: '请输入顺序号', trigger: 'blur'}
|
||||
],
|
||||
status: [
|
||||
{ required: true, message: '请选择状态', trigger: 'blur' }
|
||||
{required: true, message: '请选择状态', trigger: 'blur'}
|
||||
],
|
||||
cpCodeOrDpCode: [
|
||||
{ required: true, message: '请选择成品代码/单品代码', trigger: 'blur' }
|
||||
{required: true, message: '请选择成品代码/单品代码', trigger: 'blur'}
|
||||
],
|
||||
station: [
|
||||
{ required: true, message: '请输入需求工位', trigger: 'blur' }
|
||||
{required: true, message: '请输入需求工位', trigger: 'blur'}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
@ -249,17 +270,17 @@ export default {
|
|||
// 清空数组,防止重复添加
|
||||
this.itemAndBigItem = []
|
||||
|
||||
crudItem.queryItemAll({ enabled: true }).then(res => {
|
||||
crudItem.queryItemAll({enabled: true}).then(res => {
|
||||
res.forEach(item => {
|
||||
const cpCodeAndDpCode = { code: null }
|
||||
const cpCodeAndDpCode = {code: null}
|
||||
cpCodeAndDpCode.code = item.code
|
||||
this.itemAndBigItem.push(cpCodeAndDpCode)
|
||||
})
|
||||
})
|
||||
|
||||
crudBigItem.queryBigItemAll({ enabled: true }).then(res => {
|
||||
crudBigItem.queryBigItemAll({enabled: true}).then(res => {
|
||||
res.forEach(item => {
|
||||
const cpCodeAndDpCode = { code: null }
|
||||
const cpCodeAndDpCode = {code: null}
|
||||
cpCodeAndDpCode.code = item.code
|
||||
this.itemAndBigItem.push(cpCodeAndDpCode)
|
||||
})
|
||||
|
|
@ -271,7 +292,7 @@ export default {
|
|||
// 展开的时候expandedRows有值,收起的时候为空.
|
||||
this.loading = true
|
||||
if (expandedRows.length > 0) {
|
||||
crudPickDetail.findByAllPickDetail({ pickId: row.id }).then(res => {
|
||||
crudPickDetail.findByAllPickDetail({pickId: row.id}).then(res => {
|
||||
// 遍历当前页面表
|
||||
this.$set(row, 'pickDetails', res)
|
||||
setTimeout(() => {
|
||||
|
|
@ -290,6 +311,28 @@ export default {
|
|||
this.$refs.table.toggleRowExpansion(row)
|
||||
}
|
||||
*/
|
||||
},
|
||||
getStatusType(status) {
|
||||
switch (this.dict.label.pick_status[status]) {
|
||||
case '打开':
|
||||
return 'info'
|
||||
case '部分分配':
|
||||
case '已分配':
|
||||
return 'warning'
|
||||
case '拣货中':
|
||||
case '拣货完成':
|
||||
return 'primary'
|
||||
case '叫料中':
|
||||
case '已关闭':
|
||||
return 'success'
|
||||
case '已取消':
|
||||
return 'danger'
|
||||
default:
|
||||
return ''
|
||||
}
|
||||
},
|
||||
filterTag(value, row) {
|
||||
return row.status === value
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,8 @@
|
|||
<!--工具栏-->
|
||||
<div class="head-container">
|
||||
<label class="el-form-item-label">物料编码</label>
|
||||
<el-select v-model="query.itemCode" placeholder="物料编码" filterable clearable style="width: 170px;" class="filter-item">
|
||||
<el-select v-model="query.itemCode" placeholder="物料编码" filterable clearable style="width: 170px;"
|
||||
class="filter-item">
|
||||
<el-option
|
||||
@keyup.enter.native="crud.toQuery"
|
||||
v-for="item in this.items"
|
||||
|
|
@ -78,10 +79,28 @@
|
|||
<div>{{ scope.row.item.name }}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column prop="taskStatus" label="任务状态">
|
||||
<el-table-column
|
||||
prop="taskStatus"
|
||||
label="任务状态"
|
||||
width="100"
|
||||
:filters="[
|
||||
{ text: '待执行', value: 'OPEN' },
|
||||
{ text: '执行中', value: 'ATCALL' },
|
||||
{ text: '顶升', value: 'UP_CONTAINER' },
|
||||
{ text: '已到站', value: 'ARRIVED' },
|
||||
{ text: '已完成', value: 'FINISH' },
|
||||
{ text: '任务取消', value: 'CANCEL' }
|
||||
]"
|
||||
:filter-method="filterTag"
|
||||
filter-placement="bottom-end"
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
{{ dict.label.task_status[scope.row.taskStatus] }}
|
||||
<el-tag
|
||||
:type="getStatusType(scope.row.taskStatus)"
|
||||
disable-transitions
|
||||
>
|
||||
{{ dict.label.task_status[scope.row.taskStatus] }}
|
||||
</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="srcPointCode" label="原点位"/>
|
||||
|
|
@ -101,7 +120,7 @@
|
|||
<script>
|
||||
import crudTask from '@/api/task'
|
||||
import crudItem from '@/api/item'
|
||||
import CRUD, { presenter, header, form, crud } from '@crud/crud'
|
||||
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'
|
||||
|
|
@ -142,17 +161,17 @@ const defaultForm = {
|
|||
}
|
||||
export default {
|
||||
name: 'PickTask',
|
||||
components: { DateRangePicker, pagination, crudOperation, rrOperation, udOperation },
|
||||
components: {DateRangePicker, pagination, crudOperation, rrOperation, udOperation},
|
||||
mixins: [presenter(), header(), form(defaultForm), crud()],
|
||||
dicts: ['task_status'],
|
||||
cruds() {
|
||||
return CRUD({
|
||||
query: { taskType: ['PICK'] },
|
||||
query: {taskType: ['PICK']},
|
||||
title: '出库任务',
|
||||
url: 'api/task',
|
||||
idField: 'id',
|
||||
sort: 'id,desc',
|
||||
crudMethod: { ...crudTask },
|
||||
crudMethod: {...crudTask},
|
||||
optShow: {
|
||||
add: false,
|
||||
edit: false,
|
||||
|
|
@ -189,11 +208,31 @@ export default {
|
|||
},
|
||||
//物料数据
|
||||
getItem() {
|
||||
crudItem.queryItemAll({ enabled: true }).then(res => {
|
||||
crudItem.queryItemAll({enabled: true}).then(res => {
|
||||
this.items = res
|
||||
}).catch(e => {
|
||||
this.crud.notify('物料加载失败', CRUD.NOTIFICATION_TYPE.ERROR)
|
||||
})
|
||||
},
|
||||
getStatusType(status) {
|
||||
switch (this.dict.label.task_status[status]) {
|
||||
case '待执行':
|
||||
return 'info'
|
||||
case '执行中':
|
||||
return 'warning'
|
||||
case '顶升':
|
||||
return 'primary'
|
||||
case '已完成':
|
||||
case '已到站':
|
||||
return 'success'
|
||||
case '任务取消':
|
||||
return 'danger'
|
||||
default:
|
||||
return ''
|
||||
}
|
||||
},
|
||||
filterTag(value, row) {
|
||||
return row.taskStatus === value
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue