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