人工入库完成后更新点位当前存储容器类型,释放点位状态
parent
9485d328a0
commit
9c86b08e0c
|
|
@ -36,5 +36,12 @@ export function startAsn(id) {
|
||||||
data: id
|
data: id
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
export function cancelAsn(id) {
|
||||||
|
return request({
|
||||||
|
url: 'api/asn/cancelAsn',
|
||||||
|
method: 'post',
|
||||||
|
data: id
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
export default { add, edit, del, getAsnList, startAsn }
|
export default { add, edit, del, getAsnList, startAsn, cancelAsn }
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,10 @@
|
||||||
import request from '@/utils/request'
|
import request from '@/utils/request'
|
||||||
|
|
||||||
export function getPoints() {
|
export function getPoints(data) {
|
||||||
return request({
|
return request({
|
||||||
url: 'api/point/getPointList',
|
url: 'api/point/getPointList',
|
||||||
method: 'post'
|
method: 'post',
|
||||||
|
data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
export function add(data) {
|
export function add(data) {
|
||||||
|
|
|
||||||
|
|
@ -28,6 +28,13 @@ export function edit(data) {
|
||||||
data
|
data
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
export function devanRfid(data) {
|
||||||
|
return request({
|
||||||
|
url: 'api/task/devanRfid',
|
||||||
|
method: 'post',
|
||||||
|
data
|
||||||
|
})
|
||||||
|
}
|
||||||
export function manualReceiving(data) {
|
export function manualReceiving(data) {
|
||||||
return request({
|
return request({
|
||||||
url: 'api/task/manualReceiving',
|
url: 'api/task/manualReceiving',
|
||||||
|
|
@ -43,4 +50,4 @@ export function queryPickTask(id) {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
export default { add, edit, del ,getTaskInfo,queryPickTask,manualReceiving}
|
export default { add, edit, del ,getTaskInfo,queryPickTask,manualReceiving,devanRfid}
|
||||||
|
|
|
||||||
|
|
@ -51,8 +51,14 @@
|
||||||
<el-form-item label="上游识别码" prop="name">
|
<el-form-item label="上游识别码" prop="name">
|
||||||
<el-input v-model="form.sourceName" style="width: 370px;"/>
|
<el-input v-model="form.sourceName" style="width: 370px;"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="类型" prop="type">
|
<!-- <el-form-item label="操作方式" prop="type">
|
||||||
<el-select v-model="form.type" style="width: 370px;" filterable placeholder="请选择">
|
<el-select
|
||||||
|
v-model="form.type"
|
||||||
|
size="small"
|
||||||
|
placeholder="操作方式"
|
||||||
|
class="filter-item"
|
||||||
|
style="width: 370px"
|
||||||
|
>
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in dict.bill_type"
|
v-for="item in dict.bill_type"
|
||||||
:key="item.id"
|
:key="item.id"
|
||||||
|
|
@ -61,7 +67,16 @@
|
||||||
/>
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item label="地标" prop="point" >
|
||||||
|
<el-select v-model="form.point" value-key="id" filterable placeholder="请选择" style="width: 370px;">
|
||||||
|
<el-option
|
||||||
|
v-for="item in pointList"
|
||||||
|
:key="item.id"
|
||||||
|
:label="item.name"
|
||||||
|
:value="item"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>-->
|
||||||
</el-form>
|
</el-form>
|
||||||
<div slot="footer" class="dialog-footer">
|
<div slot="footer" class="dialog-footer">
|
||||||
<el-button type="text" @click="crud.cancelCU">取消</el-button>
|
<el-button type="text" @click="crud.cancelCU">取消</el-button>
|
||||||
|
|
@ -81,12 +96,16 @@
|
||||||
<el-table-column prop="code" label="编号"/>
|
<el-table-column prop="code" label="编号"/>
|
||||||
<el-table-column prop="name" label="名称"/>
|
<el-table-column prop="name" label="名称"/>
|
||||||
<el-table-column prop="sourceName" label="上游识别码"/>
|
<el-table-column prop="sourceName" label="上游识别码"/>
|
||||||
<el-table-column prop="type" label="类型">
|
<!-- <el-table-column prop="type" label="类型">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
{{ dict.label.bill_type[scope.row.type] }}
|
{{ dict.label.bill_type[scope.row.type] }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
<el-table-column :show-overflow-tooltip="true" prop="pointName" label="点位编码">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<div v-if="scope.row.point!=null">{{ scope.row.point.code }}</div>
|
||||||
|
</template>
|
||||||
|
</el-table-column>-->
|
||||||
<el-table-column prop="enabled" label="启用">
|
<el-table-column prop="enabled" label="启用">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<el-switch
|
<el-switch
|
||||||
|
|
@ -124,6 +143,7 @@ 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 rrOperation from "@crud/RR.operation.vue";
|
import rrOperation from "@crud/RR.operation.vue";
|
||||||
|
import crudPoint from "@/api/point";
|
||||||
|
|
||||||
const defaultForm = {
|
const defaultForm = {
|
||||||
id: null,
|
id: null,
|
||||||
|
|
@ -131,6 +151,7 @@ const defaultForm = {
|
||||||
name: null,
|
name: null,
|
||||||
deptId: null,
|
deptId: null,
|
||||||
type: null,
|
type: null,
|
||||||
|
point: null,
|
||||||
sourceName: null,
|
sourceName: null,
|
||||||
sourceId: null,
|
sourceId: null,
|
||||||
createBy: null,
|
createBy: null,
|
||||||
|
|
@ -166,6 +187,7 @@ export default {
|
||||||
edit: ['admin', 'billType:edit'],
|
edit: ['admin', 'billType:edit'],
|
||||||
del: ['admin', 'billType:del']
|
del: ['admin', 'billType:del']
|
||||||
},
|
},
|
||||||
|
pointList: [],
|
||||||
rules: {
|
rules: {
|
||||||
code: [
|
code: [
|
||||||
{required: true, message: '请输入编号', trigger: 'blur'},
|
{required: true, message: '请输入编号', trigger: 'blur'},
|
||||||
|
|
@ -175,15 +197,29 @@ export default {
|
||||||
],
|
],
|
||||||
type: [
|
type: [
|
||||||
{required: true, message: '请选择类型', trigger: 'blur'},
|
{required: true, message: '请选择类型', trigger: 'blur'},
|
||||||
],
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
mounted() {
|
||||||
|
// this.getPoint()
|
||||||
|
},
|
||||||
methods: {
|
methods: {
|
||||||
// 钩子:在获取表格数据之前执行,false 则代表不获取数据
|
// 钩子:在获取表格数据之前执行,false 则代表不获取数据
|
||||||
[CRUD.HOOK.beforeRefresh]() {
|
[CRUD.HOOK.beforeRefresh]() {
|
||||||
return true
|
return true
|
||||||
},
|
},
|
||||||
|
// 加载地标
|
||||||
|
getPoint() {
|
||||||
|
crudPoint.getPoints({ }).then(res => {
|
||||||
|
this.pointList = res.map(function(obj) {
|
||||||
|
if (obj.hasChildren) {
|
||||||
|
obj.children = null
|
||||||
|
}
|
||||||
|
return obj
|
||||||
|
})
|
||||||
|
})
|
||||||
|
},
|
||||||
changeEnabled(data, val) {
|
changeEnabled(data, val) {
|
||||||
this.$confirm('此操作将 "' + this.dict.label.base_staus[val] + '" ' + data.name + ', 是否继续?', '提示', {
|
this.$confirm('此操作将 "' + this.dict.label.base_staus[val] + '" ' + data.name + ', 是否继续?', '提示', {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: '确定',
|
||||||
|
|
|
||||||
|
|
@ -44,11 +44,22 @@
|
||||||
<el-form-item label="名称" prop="name">
|
<el-form-item label="名称" prop="name">
|
||||||
<el-input v-model="form.name" style="width: 370px;"/>
|
<el-input v-model="form.name" style="width: 370px;"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="业务类型">
|
<el-form-item label="单据类型" prop="lampStatus">
|
||||||
|
<el-select v-model="form.lampStatus" value-key="id" filterable placeholder="请选择单据类型"
|
||||||
|
style="width: 370px;">
|
||||||
|
<el-option
|
||||||
|
v-for="item in billTypeList"
|
||||||
|
:key="item.id"
|
||||||
|
:label="item.name"
|
||||||
|
:value="item.code"
|
||||||
|
/>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="操作方式" prop="lampCode">
|
||||||
<el-select
|
<el-select
|
||||||
v-model="form.lampCode"
|
v-model="form.lampCode"
|
||||||
size="small"
|
size="small"
|
||||||
placeholder="业务类型"
|
placeholder="操作方式"
|
||||||
class="filter-item"
|
class="filter-item"
|
||||||
style="width: 370px"
|
style="width: 370px"
|
||||||
>
|
>
|
||||||
|
|
@ -61,7 +72,7 @@
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="地标" prop="point" >
|
<el-form-item label="地标" prop="point" >
|
||||||
<el-select v-model="form.point" value-key="id" filterable placeholder="请选择" style="width: 370px;">
|
<el-select v-model="form.point" value-key="id" clearable filterable placeholder="请选择" style="width: 370px;">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in pointList"
|
v-for="item in pointList"
|
||||||
:key="item.id"
|
:key="item.id"
|
||||||
|
|
@ -89,7 +100,8 @@
|
||||||
<el-table-column type="selection" width="55"/>
|
<el-table-column type="selection" width="55"/>
|
||||||
<el-table-column prop="code" label="编号"/>
|
<el-table-column prop="code" label="编号"/>
|
||||||
<el-table-column prop="name" label="名称"/>
|
<el-table-column prop="name" label="名称"/>
|
||||||
<el-table-column :show-overflow-tooltip="true" prop="status" label="业务类型">
|
<el-table-column prop="lampStatus" label="单据类型"/>
|
||||||
|
<el-table-column :show-overflow-tooltip="true" prop="status" label="操作方式">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
{{ dict.label.bill_type[scope.row.lampCode] }}
|
{{ dict.label.bill_type[scope.row.lampCode] }}
|
||||||
</template>
|
</template>
|
||||||
|
|
@ -140,15 +152,19 @@ import pagination from '@crud/Pagination'
|
||||||
import {getItems} from "@/api/item"
|
import {getItems} from "@/api/item"
|
||||||
import crudPoint, {getPoints} from "@/api/point"
|
import crudPoint, {getPoints} from "@/api/point"
|
||||||
import DonMessage from '@/utils/message'
|
import DonMessage from '@/utils/message'
|
||||||
import crudBillType from '@/api/billType'
|
import crudBillType, {getBillType} from '@/api/billType'
|
||||||
import { mapGetters } from 'vuex'
|
import { mapGetters } from 'vuex'
|
||||||
import { getToken } from '@/utils/auth'
|
import { getToken } from '@/utils/auth'
|
||||||
|
import {getAres} from "@/api/area";
|
||||||
|
|
||||||
const defaultForm = {
|
const defaultForm = {
|
||||||
id: null,
|
id: null,
|
||||||
code: null,
|
code: null,
|
||||||
|
name: null,
|
||||||
item: null,
|
item: null,
|
||||||
point: null,
|
point: null,
|
||||||
|
lampCode: null,
|
||||||
|
lampStatus: null,
|
||||||
createBy: null,
|
createBy: null,
|
||||||
updateBy: null,
|
updateBy: null,
|
||||||
createTime: null,
|
createTime: null,
|
||||||
|
|
@ -184,12 +200,14 @@ export default {
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
this.getPoint()
|
this.getPoint()
|
||||||
|
this.getBillType()
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
headers: { 'Authorization': getToken() },
|
headers: { 'Authorization': getToken() },
|
||||||
items: [],
|
items: [],
|
||||||
pointList: [],
|
pointList: [],
|
||||||
|
billTypeList: [],
|
||||||
params: {
|
params: {
|
||||||
type: ''
|
type: ''
|
||||||
},
|
},
|
||||||
|
|
@ -203,11 +221,8 @@ export default {
|
||||||
code: [
|
code: [
|
||||||
{required: true, message: '编号必填', trigger: 'blur'}
|
{required: true, message: '编号必填', trigger: 'blur'}
|
||||||
],
|
],
|
||||||
item: [
|
lampCode: [
|
||||||
{required: true, message: '物料必填', trigger: 'blur'}
|
{required: true, message: '操作方式', trigger: 'blur'}
|
||||||
],
|
|
||||||
point: [
|
|
||||||
{required: true, message: '点位必填', trigger: 'blur'}
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -228,6 +243,16 @@ export default {
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
getBillType() {
|
||||||
|
getBillType({}).then(res => {
|
||||||
|
this.billTypeList = res.map(function(obj) {
|
||||||
|
if (obj.hasChildren) {
|
||||||
|
obj.children = null
|
||||||
|
}
|
||||||
|
return obj
|
||||||
|
})
|
||||||
|
})
|
||||||
|
},
|
||||||
callBox(datas) {
|
callBox(datas) {
|
||||||
if (this.$refs.table.selection.length >= 1) {
|
if (this.$refs.table.selection.length >= 1) {
|
||||||
this.$confirm(`选中的${datas.length}条数据呼叫确认?`, '提示', {
|
this.$confirm(`选中的${datas.length}条数据呼叫确认?`, '提示', {
|
||||||
|
|
|
||||||
|
|
@ -53,7 +53,7 @@
|
||||||
<!--表单组件-->
|
<!--表单组件-->
|
||||||
<el-dialog :close-on-click-modal="false" :before-close="crud.cancelCU" :visible.sync="crud.status.cu > 0"
|
<el-dialog :close-on-click-modal="false" :before-close="crud.cancelCU" :visible.sync="crud.status.cu > 0"
|
||||||
:title="crud.status.title" width="600px">
|
:title="crud.status.title" width="600px">
|
||||||
<el-form ref="form" :model="form" :inline="true" :rules="rules" size="small" label-width="66px">
|
<el-form ref="form" :model="form" :inline="true" :rules="rules" size="small" label-width="80px">
|
||||||
<el-form-item label="sku" prop="code">
|
<el-form-item label="sku" prop="code">
|
||||||
<el-input v-model="form.code" style="width: 180px;"/>
|
<el-input v-model="form.code" style="width: 180px;"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
@ -134,7 +134,7 @@
|
||||||
<el-table-column prop="name" label="名称" width="150"/>
|
<el-table-column prop="name" label="名称" width="150"/>
|
||||||
<el-table-column prop="goodType" label="存储库区" width="150">
|
<el-table-column prop="goodType" label="存储库区" width="150">
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="extendD1" label="容器装载数"/>
|
<el-table-column prop="extendD1" label="装载数"/>
|
||||||
<el-table-column prop="unit" label="单位">
|
<el-table-column prop="unit" label="单位">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
{{ dict.label.item_unit[scope.row.unit] }}
|
{{ dict.label.item_unit[scope.row.unit] }}
|
||||||
|
|
|
||||||
|
|
@ -119,8 +119,8 @@
|
||||||
<viewFullStockOut ref="fullStockOut"/>
|
<viewFullStockOut ref="fullStockOut"/>
|
||||||
<!--表单组件-->
|
<!--表单组件-->
|
||||||
<el-dialog :close-on-click-modal="false" :before-close="crud.cancelCU" :visible.sync="crud.status.cu > 0"
|
<el-dialog :close-on-click-modal="false" :before-close="crud.cancelCU" :visible.sync="crud.status.cu > 0"
|
||||||
:title="crud.status.title" width="500px">
|
:title="crud.status.title" width="510px">
|
||||||
<el-form ref="form" :model="form" :rules="rules" size="small" label-width="80px">
|
<el-form ref="form" :model="form" :inline="true" :rules="rules" size="small" label-width="80px">
|
||||||
|
|
||||||
<el-form-item label="代码" prop="code">
|
<el-form-item label="代码" prop="code">
|
||||||
<el-input v-model="form.code" style="width: 370px;"/>
|
<el-input v-model="form.code" style="width: 370px;"/>
|
||||||
|
|
@ -166,7 +166,7 @@
|
||||||
/>
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="存储类型(容器)">
|
<el-form-item label="当前容器">
|
||||||
<el-select v-model="form.storageType" clearable value-key="id" filterable placeholder="请选择" style="width: 370px;">
|
<el-select v-model="form.storageType" clearable value-key="id" filterable placeholder="请选择" style="width: 370px;">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in storageTypes"
|
v-for="item in storageTypes"
|
||||||
|
|
@ -176,6 +176,12 @@
|
||||||
/>
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item label="深浅位">
|
||||||
|
<el-input type="heat" v-model="form.heat" style="width: 100px;"/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="深浅位组">
|
||||||
|
<el-input type="beatCode" v-model="form.beatCode" style="width: 100px;"/>
|
||||||
|
</el-form-item>
|
||||||
<el-form-item label="描述">
|
<el-form-item label="描述">
|
||||||
<el-input type="textarea" v-model="form.description" style="width: 370px;"/>
|
<el-input type="textarea" v-model="form.description" style="width: 370px;"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
@ -207,11 +213,21 @@
|
||||||
{{ dict.label.use_status[scope.row.status] }}
|
{{ dict.label.use_status[scope.row.status] }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="storageType" label="存储类型(容器)">
|
<el-table-column prop="storageType" label="当前容器">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<span v-if="scope.row.storageType !=null">{{ scope.row.storageType }}</span>
|
<span v-if="scope.row.storageType !=null">{{ scope.row.storageType }}</span>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
<el-table-column prop="heat" label="深浅位">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span v-if="scope.row.heat !=null">{{ scope.row.heat }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="beatCode" label="深浅位组">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span v-if="scope.row.beatCode !=null">{{ scope.row.beatCode }}</span>
|
||||||
|
</template>
|
||||||
|
</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
|
||||||
|
|
@ -273,7 +289,7 @@ import pointUrl from '@/api/point'
|
||||||
import multiAdjust from "@/views/base-data/point/multiAdjust.vue";
|
import multiAdjust from "@/views/base-data/point/multiAdjust.vue";
|
||||||
import {getStockTypes} from "@/api/stockType";
|
import {getStockTypes} from "@/api/stockType";
|
||||||
|
|
||||||
const defaultForm = {id: null, status: 'FREE', enabled: 1, code: null, name: null, description: null, area: null, storageType: null}
|
const defaultForm = {id: null, status: 'FREE', enabled: 1, code: null, name: null, description: null, area: null, storageType: null,beatCode: null,heat: null}
|
||||||
export default {
|
export default {
|
||||||
name: 'Point',
|
name: 'Point',
|
||||||
components: {
|
components: {
|
||||||
|
|
|
||||||
|
|
@ -11,22 +11,38 @@
|
||||||
type="primary"
|
type="primary"
|
||||||
size="mini"
|
size="mini"
|
||||||
icon="el-icon-document-add"
|
icon="el-icon-document-add"
|
||||||
|
:disabled="crud.selections.length !== 1 || this.crud.selections[0].status!=='OPEN'"
|
||||||
@click="startAsn(crud.selections[0].id)"
|
@click="startAsn(crud.selections[0].id)"
|
||||||
>
|
>
|
||||||
开始收货
|
占用库位
|
||||||
|
</el-button>
|
||||||
|
<el-button
|
||||||
|
slot="left"
|
||||||
|
v-permission="permission.add"
|
||||||
|
class="filter-item"
|
||||||
|
type="primary"
|
||||||
|
size="mini"
|
||||||
|
icon="el-icon-document-add"
|
||||||
|
:disabled="crud.selections.length !== 1 || this.crud.selections[0].status!=='ACTIVE'"
|
||||||
|
@click="cancelAsn(crud.selections[0].id)"
|
||||||
|
>
|
||||||
|
取消占用
|
||||||
</el-button>
|
</el-button>
|
||||||
</crudOperation>
|
</crudOperation>
|
||||||
<!--表单组件-->
|
<!--表单组件-->
|
||||||
<el-dialog :close-on-click-modal="false" :before-close="crud.cancelCU" :visible.sync="crud.status.cu > 0" :title="crud.status.title" width="500px">
|
<el-dialog :close-on-click-modal="false" :before-close="crud.cancelCU" :visible.sync="crud.status.cu > 0" :title="crud.status.title" width="500px">
|
||||||
<el-form ref="form" :model="form" :rules="rules" size="small" label-width="80px">
|
<el-form ref="form" :model="form" :rules="rules" size="small" label-width="80px">
|
||||||
|
<el-form-item label="系统单号">
|
||||||
|
<el-input v-model="form.relatedBill1" style="width: 370px;" />
|
||||||
|
</el-form-item>
|
||||||
<el-form-item label="订单来源">
|
<el-form-item label="订单来源">
|
||||||
<el-input v-model="form.orderOrigin" style="width: 370px;" />
|
<el-input v-model="form.orderOrigin" style="width: 370px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="货主">
|
<el-form-item label="货主">
|
||||||
<el-input v-model="form.structure" style="width: 370px;" />
|
<el-input v-model="form.structure" style="width: 370px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="系统单号">
|
<el-form-item label="登记单号">
|
||||||
<el-input v-model="form.relatedBill1" style="width: 370px;" />
|
<el-input v-model="form.relatedBill2" style="width: 370px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- <el-form-item label="订单状态">
|
<!-- <el-form-item label="订单状态">
|
||||||
<el-input v-model="form.status" style="width: 370px;" />
|
<el-input v-model="form.status" style="width: 370px;" />
|
||||||
|
|
@ -66,12 +82,13 @@
|
||||||
<!--表格渲染-->
|
<!--表格渲染-->
|
||||||
<el-table border ref="table" v-loading="crud.loading" :data="crud.data" size="small" style="width: 100%;" @selection-change="crud.selectionChangeHandler">
|
<el-table border ref="table" 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 type="selection" width="55" />
|
||||||
|
<el-table-column prop="relatedBill1" label="系统单号" />
|
||||||
|
<el-table-column prop="relatedBill2" label="登记单号" />
|
||||||
<el-table-column prop="dept.name" label="仓库" />
|
<el-table-column prop="dept.name" label="仓库" />
|
||||||
<el-table-column prop="billType.name" label="单据类型" />
|
<el-table-column prop="billType.name" label="单据类型" />
|
||||||
<el-table-column prop="orderOrigin" label="订单来源" />
|
<el-table-column prop="orderOrigin" label="订单来源" />
|
||||||
<el-table-column prop="structure" label="货主" />
|
<el-table-column prop="structure" label="货主" />
|
||||||
<el-table-column prop="erTime" label="操作时间" />
|
<el-table-column prop="erTime" label="操作时间" />
|
||||||
<el-table-column prop="relatedBill1" label="系统单号" />
|
|
||||||
<el-table-column prop="status" label="订单状态">
|
<el-table-column prop="status" label="订单状态">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
{{ dict.label.asn_status[scope.row.status] }}
|
{{ dict.label.asn_status[scope.row.status] }}
|
||||||
|
|
@ -79,15 +96,9 @@
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="createTime" label="创建时间" />
|
<el-table-column prop="createTime" label="创建时间" />
|
||||||
<el-table-column prop="orderDate" label="订单时间" />
|
<el-table-column prop="orderDate" label="订单时间" />
|
||||||
<el-table-column v-if="checkPer(['admin','asn:edit','asn:del'])" label="操作" align="center">
|
<el-table-column v-if="checkPer(['admin','asn:edit','asn:del'])" fixed="right" label="操作" align="center">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<!-- <udOperation
|
|
||||||
:data="scope.row"
|
|
||||||
:permission="permission"
|
|
||||||
>
|
|
||||||
</udOperation>-->
|
|
||||||
<el-button
|
<el-button
|
||||||
slot="left"
|
|
||||||
v-permission="permission.add"
|
v-permission="permission.add"
|
||||||
class="filter-item"
|
class="filter-item"
|
||||||
type="primary"
|
type="primary"
|
||||||
|
|
@ -152,13 +163,22 @@ export default {
|
||||||
this.$router.push({ path: '/business-data/asnDetail/asnDetail', query: { relatedBill1: relatedBill1 }})
|
this.$router.push({ path: '/business-data/asnDetail/asnDetail', query: { relatedBill1: relatedBill1 }})
|
||||||
},
|
},
|
||||||
startAsn(id) {
|
startAsn(id) {
|
||||||
|
this.$confirm(`确定开始收货?`, '提示', {
|
||||||
|
confirmButtonText: '确定',
|
||||||
|
cancelButtonText: '取消',
|
||||||
|
type: 'warning'
|
||||||
|
}).then(() => {
|
||||||
crudAsn.startAsn(id).then(res => {
|
crudAsn.startAsn(id).then(res => {
|
||||||
console.log('res:' + res)
|
this.crud.notify(res.message,res.status)
|
||||||
if (res.status === 200) {
|
this.crud.toQuery()
|
||||||
DonMessage.success(res.message)
|
})
|
||||||
} else {
|
}).catch(() => {
|
||||||
DonMessage.error(res.message)
|
DonMessage.success('收货失败!');
|
||||||
}
|
})
|
||||||
|
},
|
||||||
|
cancelAsn(id) {
|
||||||
|
crudAsn.cancelAsn(id).then(res => {
|
||||||
|
this.crud.notify(res.message,res.status)
|
||||||
this.crud.toQuery()
|
this.crud.toQuery()
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -204,6 +204,7 @@
|
||||||
<el-table ref="table" height="68vh" v-loading="crud.loading" :data="crud.data" size="small" style="width: 100%;"
|
<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" border>
|
@selection-change="this.selectionChangeHandler" @row-click="this.clickRow" border>
|
||||||
<el-table-column prop="asn.relatedBill1" label="入库单号" width="100"/>
|
<el-table-column prop="asn.relatedBill1" label="入库单号" width="100"/>
|
||||||
|
<el-table-column prop="asn.billType.name" label="单据类型" width="100"/>
|
||||||
<el-table-column prop="asn.status" label="入库单状态" width="100">
|
<el-table-column prop="asn.status" label="入库单状态" width="100">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
{{ dict.label.asn_status[scope.row.asn.status] }}
|
{{ dict.label.asn_status[scope.row.asn.status] }}
|
||||||
|
|
@ -224,6 +225,11 @@
|
||||||
<div>{{ scope.row.item.name }}</div>
|
<div>{{ scope.row.item.name }}</div>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
|
<el-table-column :show-overflow-tooltip="true" prop="propC4" label="操作方式">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<div>{{ scope.row.propC4 }}</div>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column prop="status" label="状态">
|
<el-table-column prop="status" label="状态">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
{{ dict.label.asn_status[scope.row.status] }}
|
{{ dict.label.asn_status[scope.row.status] }}
|
||||||
|
|
|
||||||
|
|
@ -52,8 +52,8 @@
|
||||||
</el-button>
|
</el-button>
|
||||||
</crudOperation>
|
</crudOperation>
|
||||||
<!--表单组件-->
|
<!--表单组件-->
|
||||||
<el-dialog title="人工入库" :visible.sync="ManualReceivingFlag" width="400px">
|
<el-dialog title="人工入库" :visible.sync="ManualReceivingFlag" width="600px">
|
||||||
<el-form ref="fromBack" :model="fromManualReceiving" :rules="rules" size="small" label-width="80px">
|
<el-form ref="fromBack" :inline="true" :model="fromManualReceiving" :rules="rules" size="mini" label-width="120px">
|
||||||
<!-- <el-form-item label="容器类型" prop="storageType">
|
<!-- <el-form-item label="容器类型" prop="storageType">
|
||||||
<el-select v-model="fromBack.storageType" value-key="id" filterable placeholder="请选择">
|
<el-select v-model="fromBack.storageType" value-key="id" filterable placeholder="请选择">
|
||||||
<el-option
|
<el-option
|
||||||
|
|
@ -65,10 +65,28 @@
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>-->
|
</el-form-item>-->
|
||||||
<el-form-item label="RFID" prop="RFID">
|
<el-form-item label="RFID" prop="RFID">
|
||||||
<el-input v-model="fromManualReceiving.RFID" :rows="3" type="textarea" style="width: 270px;"/>
|
<el-input v-model="fromManualReceiving.RFID" :rows="3" type="textarea" style="width: 350px;" @change="devan_rfid()"/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="登记单号" prop="relatedBill2">
|
||||||
|
<el-input v-model="fromManualReceiving.relatedBill2" :disabled="true" style="width: 100px;"/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="系统单号" prop="relatedBill1">
|
||||||
|
<el-input v-model="fromManualReceiving.relatedBill1" :disabled="true" style="width: 100px;"/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="sku" prop="sku">
|
||||||
|
<el-input v-model="fromManualReceiving.sku" :disabled="true" style="width: 330px;"/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="明细行数" prop="lineNo">
|
||||||
|
<el-input v-model="fromManualReceiving.lineNos" :disabled="true" style="width: 100px;"/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="剩余订单数量" prop="orderQty">
|
||||||
|
<el-input v-model="fromManualReceiving.orderQty" :disabled="true" style="width: 100px;"/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="收货数量" prop="receivedQty">
|
||||||
|
<el-input v-model="fromManualReceiving.receivedQty" :disabled="true" style="width: 330px;"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="目标库位" prop="RFID">
|
<el-form-item label="目标库位" prop="RFID">
|
||||||
<el-select v-model="fromManualReceiving.pointId" clearable value-key="id" filterable placeholder="请选择" style="width: 270px;">
|
<el-select v-model="fromManualReceiving.pointId" clearable value-key="id" filterable placeholder="请选择" style="width: 330px;">
|
||||||
<el-option
|
<el-option
|
||||||
v-for="item in pointList"
|
v-for="item in pointList"
|
||||||
:key="item.id"
|
:key="item.id"
|
||||||
|
|
@ -119,7 +137,7 @@
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="beSkip" label="是否AGV任务" />
|
<el-table-column prop="beSkip" label="是否AGV任务" />
|
||||||
<el-table-column prop="putCode" label="单品流水号" />
|
<el-table-column prop="putCode" :show-overflow-tooltip="true" label="单品流水号" />
|
||||||
<el-table-column prop="planQty" label="计划数量" />
|
<el-table-column prop="planQty" label="计划数量" />
|
||||||
<el-table-column prop="moveQty" label="移位数量" />
|
<el-table-column prop="moveQty" label="移位数量" />
|
||||||
<el-table-column prop="itemKey.propC1" label="批次号" />
|
<el-table-column prop="itemKey.propC1" label="批次号" />
|
||||||
|
|
@ -140,7 +158,7 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import crudTask from '@/api/task'
|
import crudTask, { devanRfid } from '@/api/task'
|
||||||
import DonMessage from "@/utils/message";
|
import DonMessage from "@/utils/message";
|
||||||
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'
|
||||||
|
|
@ -151,6 +169,7 @@ import DateRangePicker from "@/components/DateRangePicker/index.vue";
|
||||||
import {getItemsList} from "@/api/item";
|
import {getItemsList} from "@/api/item";
|
||||||
import {getPoints} from "@/api/point";
|
import {getPoints} from "@/api/point";
|
||||||
import {getStockTypes} from "@/api/stockType";
|
import {getStockTypes} from "@/api/stockType";
|
||||||
|
import {devan} from "@/api/inventory";
|
||||||
|
|
||||||
const defaultForm = { id: null, itemId: null,agvTask: null, itemKeyId: null, billCode: null, taskType: null, asnDetailId: null, moveDetailId: null, waveDetailId: null, pickDetailId: null, srcStockId: null, dstStockId: null, srcPoint: null, dstPoint: null, srcStockCode: null, dstStockCode: null, srcPointCode: null, dstPointCode: null, invStatus: null, taskStatus: null, beSkip: null, beBack: null, planQty: null, moveQty: null, putCode: null, invId: null, deptId: null, createBy: null, updateBy: null, createTime: null, updateTime: null }
|
const defaultForm = { id: null, itemId: null,agvTask: null, itemKeyId: null, billCode: null, taskType: null, asnDetailId: null, moveDetailId: null, waveDetailId: null, pickDetailId: null, srcStockId: null, dstStockId: null, srcPoint: null, dstPoint: null, srcStockCode: null, dstStockCode: null, srcPointCode: null, dstPointCode: null, invStatus: null, taskStatus: null, beSkip: null, beBack: null, planQty: null, moveQty: null, putCode: null, invId: null, deptId: null, createBy: null, updateBy: null, createTime: null, updateTime: null }
|
||||||
export default {
|
export default {
|
||||||
|
|
@ -160,7 +179,7 @@ export default {
|
||||||
dicts: ['task_status','asn_status'],
|
dicts: ['task_status','asn_status'],
|
||||||
cruds() {
|
cruds() {
|
||||||
return CRUD({
|
return CRUD({
|
||||||
query: {taskType: ['ASN']},
|
query: {taskType: ['FC_RK']},
|
||||||
title: '收货任务',
|
title: '收货任务',
|
||||||
url: 'api/task',
|
url: 'api/task',
|
||||||
idField: 'id',
|
idField: 'id',
|
||||||
|
|
@ -200,13 +219,13 @@ export default {
|
||||||
itemListData: [],
|
itemListData: [],
|
||||||
pointList: [],
|
pointList: [],
|
||||||
// 人工入库
|
// 人工入库
|
||||||
fromManualReceiving:{RFID:null,pointId:null}
|
fromManualReceiving:{ RFID:null,pointId:null }
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
// 初始化数据
|
// 初始化数据
|
||||||
this.itemDataGet();
|
this.itemDataGet();
|
||||||
this.getPoints();
|
this.getPoints(null);
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
// 钩子:在获取表格数据之前执行,false 则代表不获取数据
|
// 钩子:在获取表格数据之前执行,false 则代表不获取数据
|
||||||
|
|
@ -228,8 +247,18 @@ export default {
|
||||||
});
|
});
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
getPoints() {
|
// 解析RFID码
|
||||||
getPoints({ }).then(res => {
|
devan_rfid() {
|
||||||
|
console.log("解析RFID码")
|
||||||
|
devanRfid(this.fromManualReceiving.RFID).then(res => {
|
||||||
|
if (res.status === 200) {
|
||||||
|
this.fromManualReceiving = res.data
|
||||||
|
this.getPoints(res.data.billCode);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
getPoints(billCode) {
|
||||||
|
getPoints(billCode+"").then(res => {
|
||||||
this.pointList= res.map(function(obj) {
|
this.pointList= res.map(function(obj) {
|
||||||
if (obj.hasChildren) {
|
if (obj.hasChildren) {
|
||||||
obj.children = null
|
obj.children = null
|
||||||
|
|
@ -240,12 +269,7 @@ export default {
|
||||||
},
|
},
|
||||||
manualReceiving(){
|
manualReceiving(){
|
||||||
crudTask.manualReceiving(this.fromManualReceiving).then(res => {
|
crudTask.manualReceiving(this.fromManualReceiving).then(res => {
|
||||||
console.log('res:' + res.status)
|
this.crud.notify(res.message, res.status)
|
||||||
if (res.status === 200) {
|
|
||||||
DonMessage.success(res.message)
|
|
||||||
} else {
|
|
||||||
DonMessage.error(res.message)
|
|
||||||
}
|
|
||||||
this.crud.toQuery()
|
this.crud.toQuery()
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -183,12 +183,14 @@
|
||||||
v-loading="crud.loading"
|
v-loading="crud.loading"
|
||||||
show-summary
|
show-summary
|
||||||
:data="crud.data"
|
:data="crud.data"
|
||||||
|
border
|
||||||
size="small"
|
size="small"
|
||||||
style="width: 100%;"
|
style="width: 100%;"
|
||||||
height="70vh"
|
height="70vh"
|
||||||
@selection-change="crud.selectionChangeHandler"
|
@selection-change="crud.selectionChangeHandler"
|
||||||
>
|
>
|
||||||
<el-table-column type="selection" width="55" />
|
<el-table-column type="selection" width="55" />
|
||||||
|
<el-table-column prop="id" label="库存ID" />
|
||||||
<el-table-column :show-overflow-tooltip="true" prop="itemCode" label="物料编码">
|
<el-table-column :show-overflow-tooltip="true" prop="itemCode" label="物料编码">
|
||||||
<template slot-scope="scope">
|
<template slot-scope="scope">
|
||||||
<div>{{ scope.row.itemKey.item.code }}</div>
|
<div>{{ scope.row.itemKey.item.code }}</div>
|
||||||
|
|
|
||||||
|
|
@ -222,11 +222,11 @@
|
||||||
<el-form-item label="序列号">
|
<el-form-item label="序列号">
|
||||||
<el-input v-model="form.propC3" style="width: 135px;" />
|
<el-input v-model="form.propC3" style="width: 135px;" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="业务类型">
|
<el-form-item label="操作方式">
|
||||||
<el-select
|
<el-select
|
||||||
v-model="form.propC4"
|
v-model="form.propC4"
|
||||||
size="small"
|
size="small"
|
||||||
placeholder="业务类型"
|
placeholder="操作方式"
|
||||||
class="filter-item"
|
class="filter-item"
|
||||||
style="width: 135px"
|
style="width: 135px"
|
||||||
>
|
>
|
||||||
|
|
|
||||||
|
|
@ -15,12 +15,12 @@
|
||||||
</el-input>
|
</el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item prop="code">
|
<el-form-item prop="code">
|
||||||
<el-input v-model="loginForm.code" auto-complete="off" placeholder="验证码" style="width: 63%" @keyup.enter.native="handleLogin">
|
<!-- <el-input v-model="loginForm.code" auto-complete="off" placeholder="验证码" style="width: 63%" @keyup.enter.native="handleLogin">
|
||||||
<svg-icon slot="prefix" icon-class="validCode" class="el-input__icon input-icon" />
|
<svg-icon slot="prefix" icon-class="validCode" class="el-input__icon input-icon" />
|
||||||
</el-input>
|
</el-input>-->
|
||||||
<div class="login-code">
|
<!-- <div class="login-code">
|
||||||
<img :src="codeUrl" @click="getCode">
|
<img :src="codeUrl" @click="getCode">
|
||||||
</div>
|
</div>-->
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-checkbox v-model="loginForm.rememberMe" style="margin:0 0 25px 0;">
|
<el-checkbox v-model="loginForm.rememberMe" style="margin:0 0 25px 0;">
|
||||||
记住我
|
记住我
|
||||||
|
|
@ -65,7 +65,7 @@ export default {
|
||||||
loginRules: {
|
loginRules: {
|
||||||
username: [{ required: true, trigger: 'blur', message: '用户名不能为空' }],
|
username: [{ required: true, trigger: 'blur', message: '用户名不能为空' }],
|
||||||
password: [{ required: true, trigger: 'blur', message: '密码不能为空' }],
|
password: [{ required: true, trigger: 'blur', message: '密码不能为空' }],
|
||||||
code: [{ required: true, trigger: 'change', message: '验证码不能为空' }]
|
// code: [{ required: true, trigger: 'change', message: '验证码不能为空' }]
|
||||||
},
|
},
|
||||||
loading: false,
|
loading: false,
|
||||||
redirect: undefined
|
redirect: undefined
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue