人工入库完成后更新点位当前存储容器类型,释放点位状态

main
bbl\baobl 2024-03-25 11:22:32 +08:00
parent 9485d328a0
commit 9c86b08e0c
13 changed files with 217 additions and 73 deletions

View File

@ -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 }

View File

@ -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) {

View File

@ -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}

View File

@ -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: '确定',

View File

@ -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}条数据呼叫确认?`, '提示', {

View File

@ -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] }}

View File

@ -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: {

View File

@ -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()
}) })
}, },

View File

@ -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] }}

View File

@ -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()
}) })
} }

View File

@ -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>

View File

@ -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"
> >

View File

@ -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