no message
parent
fcced4d59d
commit
0bcc406420
|
|
@ -23,5 +23,18 @@ export function edit(data) {
|
|||
data
|
||||
})
|
||||
}
|
||||
export function getAsnList() {
|
||||
return request({
|
||||
url: 'api/asn/getAsnList',
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
export function startAsn(id) {
|
||||
return request({
|
||||
url: 'api/asn/startAsn',
|
||||
method: 'post',
|
||||
data: id
|
||||
})
|
||||
}
|
||||
|
||||
export default { add, edit, del }
|
||||
export default { add, edit, del, getAsnList, startAsn }
|
||||
|
|
|
|||
|
|
@ -23,5 +23,10 @@ export function edit(data) {
|
|||
data
|
||||
})
|
||||
}
|
||||
|
||||
export function getBillType() {
|
||||
return request({
|
||||
url: 'api/billType/getBillType',
|
||||
method: 'post'
|
||||
})
|
||||
}
|
||||
export default { add, edit, del }
|
||||
|
|
|
|||
|
|
@ -7,7 +7,6 @@ export function getPoints(params) {
|
|||
params
|
||||
})
|
||||
}
|
||||
|
||||
export function add(data) {
|
||||
return request({
|
||||
url: 'api/point',
|
||||
|
|
|
|||
|
|
@ -1,132 +0,0 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<!--工具栏-->
|
||||
<div class="head-container">
|
||||
<!--如果想在工具栏加入更多按钮,可以使用插槽方式, slot = 'left' or 'right'-->
|
||||
<crudOperation :permission="permission" :tableKey="this.$options.name"/>
|
||||
<!--表单组件-->
|
||||
<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-item label="仓库" prop="deptId">
|
||||
<el-select v-model="dept.deptId" filterable placeholder="请选择">
|
||||
<el-option
|
||||
v-for="item in depts"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="单据类型ID">
|
||||
未设置字典,请手动设置 Select
|
||||
</el-form-item>
|
||||
<el-form-item label="来源ID">
|
||||
<el-input v-model="form.sourceId" style="width: 370px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="客户ID">
|
||||
未设置字典,请手动设置 Select
|
||||
</el-form-item>
|
||||
<el-form-item label="系统单号">
|
||||
<el-input v-model="form.relatedbill1" style="width: 370px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="客户订单号">
|
||||
<el-input v-model="form.relatedbill2" style="width: 370px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="地址">
|
||||
<el-input v-model="form.address" :rows="3" type="textarea" style="width: 370px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="用户ID">
|
||||
<el-input v-model="form.userId" style="width: 370px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="用户名">
|
||||
<el-input v-model="form.username" style="width: 370px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="创建时间">
|
||||
<el-date-picker v-model="form.createTime" type="datetime" style="width: 370px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="订单时间">
|
||||
<el-date-picker v-model="form.orderDate" type="datetime" style="width: 370px;" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="text" @click="crud.cancelCU">取消</el-button>
|
||||
<el-button :loading="crud.status.cu === 2" type="primary" @click="crud.submitCU">确认</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<!--表格渲染-->
|
||||
<el-table 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 prop="id" label="ID" />
|
||||
<el-table-column prop="deptId" label="仓库ID" />
|
||||
<el-table-column prop="billTypeId" label="单据类型ID" />
|
||||
<el-table-column prop="sourceId" label="来源ID" />
|
||||
<el-table-column prop="structureId" label="客户ID" />
|
||||
<el-table-column prop="relatedbill1" label="系统单号" />
|
||||
<el-table-column prop="relatedbill2" label="客户订单号" />
|
||||
<el-table-column prop="address" label="地址" />
|
||||
<el-table-column prop="userId" label="用户ID" />
|
||||
<el-table-column prop="username" label="用户名" />
|
||||
<el-table-column prop="createTime" label="创建时间" />
|
||||
<el-table-column prop="orderDate" label="订单时间" />
|
||||
<el-table-column v-if="checkPer(['admin','asn:edit','asn:del'])" label="操作" width="150px" align="center">
|
||||
<template slot-scope="scope">
|
||||
<udOperation
|
||||
:data="scope.row"
|
||||
:permission="permission"
|
||||
/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<!--分页组件-->
|
||||
<pagination />
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import crudDept from '@/api/system/dept'
|
||||
import crudAsn from '@/api/asn'
|
||||
import CRUD, { presenter, header, form, crud } from '@crud/crud'
|
||||
import rrOperation from '@crud/RR.operation.vue'
|
||||
import crudOperation from '@crud/CRUD.operation.vue'
|
||||
import udOperation from '@crud/UD.operation.vue'
|
||||
import pagination from '@crud/Pagination.vue'
|
||||
|
||||
const defaultForm = { id: null, deptId: null, billTypeId: null, sourceId: null, structureId: null, relatedbill1: null, relatedbill2: null, address: null, userId: null, username: null, createTime: null, orderDate: null }
|
||||
export default {
|
||||
name: 'Asn',
|
||||
components: { pagination, crudOperation, rrOperation, udOperation },
|
||||
mixins: [presenter(), header(), form(defaultForm), crud()],
|
||||
cruds() {
|
||||
return CRUD({ title: 'asn', url: 'api/asn', idField: 'id', sort: 'id,desc', crudMethod: { ...crudAsn }})
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
dept:{
|
||||
deptId:""
|
||||
},
|
||||
depts:[],
|
||||
permission: {
|
||||
add: ['admin', 'asn:add'],
|
||||
edit: ['admin', 'asn:edit'],
|
||||
del: ['admin', 'asn:del']
|
||||
},
|
||||
rules: {
|
||||
deptId: [
|
||||
{ required: true, message: '仓库ID不能为空', trigger: 'blur' }
|
||||
]
|
||||
} }
|
||||
},
|
||||
methods: {
|
||||
// 钩子:在获取表格数据之前执行,false 则代表不获取数据
|
||||
[CRUD.HOOK.beforeRefresh]() {
|
||||
return true
|
||||
},
|
||||
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
|
|
@ -48,6 +48,9 @@
|
|||
<el-form-item label="名称" prop="name">
|
||||
<el-input v-model="form.name" style="width: 370px;"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="上游识别码" prop="name">
|
||||
<el-input v-model="form.sourceName" style="width: 370px;"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="类型" prop="type">
|
||||
<el-select v-model="form.type" style="width: 370px;" filterable placeholder="请选择">
|
||||
<el-option
|
||||
|
|
@ -77,6 +80,7 @@
|
|||
<el-table-column prop="xh" label="序号" type="index" width="50"/>
|
||||
<el-table-column prop="code" label="编号"/>
|
||||
<el-table-column prop="name" label="名称"/>
|
||||
<el-table-column prop="sourceName" label="上游识别码"/>
|
||||
<el-table-column prop="type" label="类型">
|
||||
<template slot-scope="scope">
|
||||
{{ dict.label.bill_type[scope.row.type] }}
|
||||
|
|
|
|||
|
|
@ -4,8 +4,8 @@
|
|||
<div class="head-container">
|
||||
<div v-if="crud.props.searchToggle">
|
||||
<!-- 搜索 -->
|
||||
<label class="el-form-item-label">代码</label>
|
||||
<el-input v-model="query.code" clearable placeholder="请输入代码" style="width: 185px;" class="filter-item"
|
||||
<label class="el-form-item-label">sku</label>
|
||||
<el-input v-model="query.code" clearable placeholder="请输入sku" style="width: 185px;" class="filter-item"
|
||||
@keyup.enter.native="crud.toQuery"/>
|
||||
|
||||
<label class="el-form-item-label">名称</label>
|
||||
|
|
@ -54,7 +54,7 @@
|
|||
<el-dialog :close-on-click-modal="false" :before-close="crud.cancelCU" :visible.sync="crud.status.cu > 0"
|
||||
:title="crud.status.title" width="600px">
|
||||
<el-form ref="form" :model="form" :inline="true" :rules="rules" size="small" label-width="66px">
|
||||
<el-form-item label="代码" prop="code">
|
||||
<el-form-item label="sku" prop="code">
|
||||
<el-input v-model="form.code" style="width: 180px;"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="名称" prop="name">
|
||||
|
|
@ -63,14 +63,14 @@
|
|||
<el-form-item label="装载数">
|
||||
<el-input v-model="form.extendD1" style="width: 180px;"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="类型" prop="goodType">
|
||||
<el-form-item label="存储库区" prop="goodType">
|
||||
<el-select v-model="form.goodType" filterable placeholder="请选择" style="width: 180px;"
|
||||
:default-first-option="true">
|
||||
<el-option
|
||||
v-for="item in dict.item_type"
|
||||
v-for="item in areas"
|
||||
:key="item.id"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
:label="item.name"
|
||||
:value="item.code"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
|
@ -130,12 +130,9 @@
|
|||
@selection-change="crud.selectionChangeHandler">
|
||||
<el-table-column type="selection" width="55"/>
|
||||
<el-table-column prop="xh" label="序号" type="index" width="50"/>
|
||||
<el-table-column prop="code" label="代码" width="150"/>
|
||||
<el-table-column prop="code" label="sku" width="150"/>
|
||||
<el-table-column prop="name" label="名称" width="150"/>
|
||||
<el-table-column prop="goodType" label="类型" width="150">
|
||||
<template slot-scope="scope">
|
||||
{{ dict.label.item_type[scope.row.goodType] }}
|
||||
</template>
|
||||
<el-table-column prop="goodType" label="存储库区" width="150">
|
||||
</el-table-column>
|
||||
<el-table-column prop="extendD1" label="容器装载数"/>
|
||||
<el-table-column prop="unit" label="单位">
|
||||
|
|
@ -161,7 +158,7 @@
|
|||
</el-table-column>
|
||||
<el-table-column prop="agvScene.name" label="AGV场景" v-if="false">
|
||||
</el-table-column>
|
||||
<el-table-column v-if="checkPer(['admin','item:edit'])" label="操作" width="150px" align="center">
|
||||
<el-table-column v-if="checkPer(['admin','item:edit'])" label="操作" fixed="right" width="150px" align="center">
|
||||
<template slot-scope="scope">
|
||||
<udOperation
|
||||
:data="scope.row"
|
||||
|
|
@ -189,6 +186,7 @@ import udOperation from '@crud/UD.operation'
|
|||
import pagination from '@crud/Pagination'
|
||||
import DonMessage from "@/utils/message";
|
||||
import {getToken} from "@/utils/auth";
|
||||
import {getAres} from "@/api/area";
|
||||
|
||||
const defaultForm = {id: null}
|
||||
export default {
|
||||
|
|
@ -211,6 +209,7 @@ export default {
|
|||
return {
|
||||
headers: { 'Authorization': getToken() },
|
||||
fileList: [],
|
||||
areas: [],
|
||||
permission: {
|
||||
add: ['admin', 'item:add'],
|
||||
edit: ['admin', 'item:edit'],
|
||||
|
|
@ -218,7 +217,7 @@ export default {
|
|||
},
|
||||
rules: {
|
||||
code: [
|
||||
{required: true, message: '代码不能为空', trigger: 'blur'}
|
||||
{required: true, message: 'sku不能为空', trigger: 'blur'}
|
||||
],
|
||||
name: [
|
||||
{required: true, message: '名称不能为空', trigger: 'blur'}
|
||||
|
|
@ -231,7 +230,7 @@ export default {
|
|||
]
|
||||
},
|
||||
queryTypeOptions: [
|
||||
{key: 'code', display_name: '代码'},
|
||||
{key: 'code', display_name: 'sku'},
|
||||
{key: 'name', display_name: '名称'},
|
||||
{key: 'specs', display_name: '规格'}
|
||||
],
|
||||
|
|
@ -240,8 +239,19 @@ export default {
|
|||
}, mounted() {
|
||||
//初始化数据
|
||||
this.getAgvSceneAllDate();
|
||||
this.getArea()
|
||||
},
|
||||
methods: {
|
||||
getArea() {
|
||||
getAres({size: 50}).then(res => {
|
||||
this.areas = res.content.map(function (obj) {
|
||||
if (obj.hasChildren) {
|
||||
obj.children = null
|
||||
}
|
||||
return obj
|
||||
})
|
||||
})
|
||||
},
|
||||
handleSuccess(response, file, fileList,crud) {
|
||||
|
||||
let myError = response.toString();//转字符串
|
||||
|
|
|
|||
|
|
@ -37,28 +37,36 @@
|
|||
:value="area.name"
|
||||
/>
|
||||
</el-select>
|
||||
|
||||
<label class="el-form-item-label">冷却区-小库区编号</label>
|
||||
<el-select
|
||||
v-model="query.beatCode"
|
||||
clearable
|
||||
size="small"
|
||||
placeholder="小库区编号"
|
||||
class="filter-item"
|
||||
style="width: 100px"
|
||||
@change="crud.toQuery"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in dict.smallArea"
|
||||
:key="item.id"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
<rrOperation :crud="crud"/>
|
||||
</div>
|
||||
<!--如果想在工具栏加入更多按钮,可以使用插槽方式, slot = 'left' or 'right'-->
|
||||
<crudOperation :permission="permission" :tableKey="this.$options.name">
|
||||
<el-button
|
||||
slot="right"
|
||||
class="filter-item"
|
||||
type="primary"
|
||||
icon="el-icon-edit"
|
||||
size="mini"
|
||||
v-show="true"
|
||||
:loading="crud.delAllLoading"
|
||||
:disabled="crud.selections.length === 0 "
|
||||
@click="EmptyCarBackStatus=true"
|
||||
>
|
||||
容器入场
|
||||
</el-button>
|
||||
<el-button
|
||||
slot="right"
|
||||
class="filter-item"
|
||||
type="primary"
|
||||
icon="el-icon-edit"
|
||||
size="mini"
|
||||
v-show="true"
|
||||
:loading="crud.delAllLoading"
|
||||
:disabled="crud.selections.length === 0 "
|
||||
@click="callEmptyCarStatus=true"
|
||||
>
|
||||
容器搬运
|
||||
</el-button>
|
||||
<el-upload
|
||||
class="upload-demo"
|
||||
slot='right'
|
||||
|
|
@ -71,44 +79,42 @@
|
|||
:show-file-list="true">
|
||||
<el-button size="mini" type="success" icon="el-icon-upload2">导入</el-button>
|
||||
</el-upload>
|
||||
|
||||
<el-button
|
||||
slot="right"
|
||||
class="filter-item"
|
||||
size="mini"
|
||||
type="danger"
|
||||
icon="el-icon-s-order"
|
||||
@click="MultiAdjust"
|
||||
>批量调整
|
||||
</el-button>
|
||||
</crudOperation>
|
||||
|
||||
<!-- 批量调整界面-->
|
||||
<multiAdjust ref="multiAdjust"/>
|
||||
<!-- 呼叫空车 -->
|
||||
<el-dialog title="地标点绑定" :visible.sync="callEmptyCarStatus" width="400px">
|
||||
<!-- 容器搬运 -->
|
||||
<el-dialog title="容器搬运" :visible.sync="callEmptyCarStatus" width="400px">
|
||||
<el-form ref="from1" :model="from1" :rules="rules" size="small" label-width="80px">
|
||||
<el-form-item label="地标点" prop="pointCode">
|
||||
<el-form-item label="目标点" prop="pointCode">
|
||||
<el-input v-model="from1.pointCode" style="width: 180px;"/>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="callEmptyCarStatus = false">取 消</el-button>
|
||||
<el-button type="primary" @click="callEmpty()">确 定</el-button>
|
||||
<el-button type="primary" @click="callEmpty(crud.selections)">确 定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<!-- 空车入库 -->
|
||||
<el-dialog title="空车入库" :visible.sync="EmptyCarBackStatus" width="400px">
|
||||
<!-- 容器入场 -->
|
||||
<el-dialog title="容器入场" :visible.sync="EmptyCarBackStatus" width="400px">
|
||||
<el-form ref="fromBack" :model="fromBack" :rules="rules" size="small" label-width="80px">
|
||||
<el-form-item label="地标点" prop="pointCode">
|
||||
<el-input v-model="fromBack.pointCode" style="width: 180px;"/>
|
||||
<el-form-item label="容器类型" prop="storageType">
|
||||
<el-select v-model="fromBack.storageType" value-key="id" filterable placeholder="请选择">
|
||||
<el-option
|
||||
v-for="item in storageTypes"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.code"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="EmptyCarBackStatus = false">取 消</el-button>
|
||||
<el-button type="primary" @click="callStockBackIn()">确 定</el-button>
|
||||
<el-button type="primary" @click="callStockBackIn(crud.selections)">确 定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
||||
<viewFullStockIn ref="fullStockIn"/>
|
||||
<viewFullStockOut ref="fullStockOut"/>
|
||||
<!--表单组件-->
|
||||
|
|
@ -144,11 +150,9 @@
|
|||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="状态">
|
||||
<el-select
|
||||
v-model="form.status"
|
||||
clearable
|
||||
size="small"
|
||||
placeholder="状态"
|
||||
class="filter-item"
|
||||
|
|
@ -162,7 +166,16 @@
|
|||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="存储类型(容器)">
|
||||
<el-select v-model="form.storageType" clearable value-key="id" filterable placeholder="请选择" style="width: 370px;">
|
||||
<el-option
|
||||
v-for="item in storageTypes"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item.code"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="描述">
|
||||
<el-input type="textarea" v-model="form.description" style="width: 370px;"/>
|
||||
</el-form-item>
|
||||
|
|
@ -184,21 +197,19 @@
|
|||
{{ dict.label.point_type[scope.row.type] }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column :show-overflow-tooltip="true" prop="area" label="库区">
|
||||
<template slot-scope="scope">
|
||||
<div>{{ scope.row.area.name }}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column :show-overflow-tooltip="true" prop="status" label="状态">
|
||||
<template slot-scope="scope">
|
||||
{{ dict.label.use_status[scope.row.status] }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="description" label="存储类型"/>
|
||||
<el-table-column :show-overflow-tooltip="true" prop="areaName" label="库区">
|
||||
<el-table-column prop="storageType" label="存储类型(容器)">
|
||||
<template slot-scope="scope">
|
||||
<div>{{ scope.row.area.name }}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="beatCode" label="冷却区-小库区编号"/>
|
||||
<el-table-column :show-overflow-tooltip="true" prop="deptName" label="仓库">
|
||||
<template slot-scope="scope">
|
||||
<div>{{ scope.row.dept.name }}</div>
|
||||
<span v-if="scope.row.storageType !=null">{{ scope.row.storageType }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="启用" align="center" prop="enabled">
|
||||
|
|
@ -211,7 +222,7 @@
|
|||
/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column v-if="checkPer(['admin','item:edit'])" label="操作" width="60px" align="center">
|
||||
<el-table-column v-if="checkPer(['admin','item:edit'])" label="操作" width="160px" align="center">
|
||||
<template slot-scope="scope">
|
||||
<udOperation
|
||||
:data="scope.row"
|
||||
|
|
@ -219,7 +230,9 @@
|
|||
:show-dle="false"
|
||||
:showPointIn="true"
|
||||
style="float: left"
|
||||
/>
|
||||
>
|
||||
</udOperation>
|
||||
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column
|
||||
|
|
@ -228,8 +241,7 @@
|
|||
<template slot-scope="scope">
|
||||
<el-button type="primary" v-if="false" align="center" size="mini" @click="callEmptyCarStatusOffOn(scope.row)">呼叫空车
|
||||
</el-button>
|
||||
<el-button @click="showFullStockIn(scope.row)" v-if="false" type="primary" align="center" size="small">满车入库
|
||||
</el-button>
|
||||
|
||||
<el-button @click="showFullStockOut(scope.row)" v-if="false" type="primary" align="center" size="small">呼叫满车
|
||||
</el-button>
|
||||
<el-button @click="emptyCarBack(scope.row)" v-if="false" type="primary" align="center" size="small">空车入库</el-button>
|
||||
|
|
@ -259,8 +271,9 @@ import viewFullStockIn from '@/views/base-data/point/fullStockIn.vue';
|
|||
import viewFullStockOut from '@/views/base-data/point/fullStockOut.vue';
|
||||
import pointUrl from '@/api/point'
|
||||
import multiAdjust from "@/views/base-data/point/multiAdjust.vue";
|
||||
import {getStockTypes} from "@/api/stockType";
|
||||
|
||||
const defaultForm = {id: null, status: 'FREE', enabled: 1, code: null, name: null, description: null, area: null}
|
||||
const defaultForm = {id: null, status: 'FREE', enabled: 1, code: null, name: null, description: null, area: null, storageType: null}
|
||||
export default {
|
||||
name: 'Point',
|
||||
components: {
|
||||
|
|
@ -286,8 +299,10 @@ export default {
|
|||
return {
|
||||
//地标点数据
|
||||
fileList:[],
|
||||
//存储类型(容器)
|
||||
storageTypes:[],
|
||||
from1: [],
|
||||
fromBack: [],
|
||||
fromBack: {storageType: null,ids:[]},
|
||||
pointListData: [],
|
||||
headers: {'Authorization': getToken()},
|
||||
queryTypeOptions: [
|
||||
|
|
@ -300,7 +315,7 @@ export default {
|
|||
],
|
||||
callStock: {
|
||||
pointCode: '',
|
||||
agvScene: 'ZC'
|
||||
ids: []
|
||||
},
|
||||
callStockBack: {
|
||||
pointCode: '',
|
||||
|
|
@ -333,6 +348,7 @@ export default {
|
|||
this.getArea()
|
||||
//获取点位表的数据
|
||||
this.getPointListData();
|
||||
this.getStorageTypes();
|
||||
},
|
||||
methods: {
|
||||
handleSuccess(response, file, fileList, crud) {
|
||||
|
|
@ -376,26 +392,45 @@ export default {
|
|||
})
|
||||
})
|
||||
},
|
||||
//呼叫空车
|
||||
callEmpty() {
|
||||
this.callStock.pointCode = this.from1.pointCode
|
||||
this.callStock.agvScene = "ZC"
|
||||
pointUrl.pointCallStock(this.callStock).then(res => {
|
||||
this.callEmptyCarStatus = false;
|
||||
this.crud.notify("呼叫成功", CRUD.NOTIFICATION_TYPE.SUCCESS);
|
||||
}).catch(e => {
|
||||
this.crud.notify("呼叫失败", CRUD.NOTIFICATION_TYPE.ERROR);
|
||||
getStorageTypes() {
|
||||
getStockTypes({ }).then(res => {
|
||||
this.storageTypes= res.content.map(function(obj) {
|
||||
if (obj.hasChildren) {
|
||||
obj.children = null
|
||||
}
|
||||
return obj
|
||||
})
|
||||
})
|
||||
},
|
||||
//空车入库
|
||||
callStockBackIn() {
|
||||
this.callStockBack.pointCode = this.fromBack.pointCode
|
||||
this.callStockBack.agvScene = "ZC"
|
||||
pointUrl.pointStockBack(this.callStockBack).then(res => {
|
||||
this.EmptyCarBackStatus = false;
|
||||
this.crud.notify("呼叫成功", CRUD.NOTIFICATION_TYPE.SUCCESS);
|
||||
//容器搬运
|
||||
callEmpty(datas) {
|
||||
const ids = [];
|
||||
for (let i = 0; i < datas.length; i++) {
|
||||
ids.push(datas[i].id)
|
||||
}
|
||||
this.callStock.pointCode = this.from1.pointCode
|
||||
this.callStock.ids=ids
|
||||
pointUrl.pointCallStock(this.callStock).then(res => {
|
||||
this.callEmptyCarStatus = false;
|
||||
this.crud.toQuery()
|
||||
this.crud.notify("搬运成功", CRUD.NOTIFICATION_TYPE.SUCCESS);
|
||||
}).catch(e => {
|
||||
this.crud.notify("呼叫失败", CRUD.NOTIFICATION_TYPE.ERROR);
|
||||
this.crud.notify("搬运失败", CRUD.NOTIFICATION_TYPE.ERROR);
|
||||
})
|
||||
},
|
||||
//容器入场
|
||||
callStockBackIn(datas) {
|
||||
const ids = [];
|
||||
for (let i = 0; i < datas.length; i++) {
|
||||
ids.push(datas[i].id)
|
||||
}
|
||||
this.fromBack.ids=ids;
|
||||
pointUrl.pointStockBack(this.fromBack).then(res => {
|
||||
this.EmptyCarBackStatus = false;
|
||||
this.crud.toQuery()
|
||||
this.crud.notify("入场成功", CRUD.NOTIFICATION_TYPE.SUCCESS);
|
||||
}).catch(e => {
|
||||
this.crud.notify("入场失败", CRUD.NOTIFICATION_TYPE.ERROR);
|
||||
})
|
||||
},
|
||||
//获取点位表的数据
|
||||
|
|
|
|||
|
|
@ -0,0 +1,185 @@
|
|||
<template>
|
||||
<div class="app-container">
|
||||
<!--工具栏-->
|
||||
<div class="head-container">
|
||||
<!--如果想在工具栏加入更多按钮,可以使用插槽方式, slot = 'left' or 'right'-->
|
||||
<crudOperation :permission="permission" :table-key="this.$options.name">
|
||||
<el-button
|
||||
slot="left"
|
||||
v-permission="permission.add"
|
||||
class="filter-item"
|
||||
type="primary"
|
||||
size="mini"
|
||||
icon="el-icon-document-add"
|
||||
@click="startAsn(crud.selections[0].id)"
|
||||
>
|
||||
开始收货
|
||||
</el-button>
|
||||
</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-form ref="form" :model="form" :rules="rules" size="small" label-width="80px">
|
||||
<el-form-item label="订单来源">
|
||||
<el-input v-model="form.orderOrigin" style="width: 370px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="货主">
|
||||
<el-input v-model="form.structure" style="width: 370px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="系统单号">
|
||||
<el-input v-model="form.relatedBill1" style="width: 370px;" />
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="订单状态">
|
||||
<el-input v-model="form.status" style="width: 370px;" />
|
||||
</el-form-item>-->
|
||||
<el-form-item label="订单状态">
|
||||
<el-select
|
||||
v-model="form.status"
|
||||
filterable
|
||||
placeholder="订单状态"
|
||||
style="width: 370px;"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in dict.asn_status"
|
||||
:key="item.id"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="单据类型">
|
||||
<el-select
|
||||
v-model="form.billType"
|
||||
filterable
|
||||
placeholder="单据类型"
|
||||
style="width: 370px;"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in billTypeList"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="text" @click="crud.cancelCU">取消</el-button>
|
||||
<el-button :loading="crud.status.cu === 2" type="primary" @click="crud.submitCU">确认</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<!--表格渲染-->
|
||||
<el-table 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 prop="dept.name" label="仓库" />
|
||||
<el-table-column prop="billType.name" label="单据类型" />
|
||||
<el-table-column prop="orderOrigin" label="订单来源" />
|
||||
<el-table-column prop="structure" label="货主" />
|
||||
<el-table-column prop="erTime" label="操作时间" />
|
||||
<el-table-column prop="relatedBill1" label="系统单号" />
|
||||
<el-table-column prop="status" label="订单状态">
|
||||
<template slot-scope="scope">
|
||||
{{ dict.label.asn_status[scope.row.status] }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="createTime" label="创建时间" />
|
||||
<el-table-column prop="orderDate" label="订单时间" />
|
||||
<el-table-column v-if="checkPer(['admin','asn:edit','asn:del'])" label="操作" width="350px" align="center">
|
||||
<template slot-scope="scope">
|
||||
<!-- <udOperation
|
||||
:data="scope.row"
|
||||
:permission="permission"
|
||||
>
|
||||
</udOperation>-->
|
||||
<el-button
|
||||
slot="left"
|
||||
v-permission="permission.add"
|
||||
class="filter-item"
|
||||
type="primary"
|
||||
size="mini"
|
||||
icon="el-icon-document-add"
|
||||
@click="jumpAsnDetail(scope.row.relatedBill1)"
|
||||
>
|
||||
查看明细
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<!--分页组件-->
|
||||
<pagination />
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import crudAsn from '@/api/asn'
|
||||
import CRUD, { presenter, header, form, crud } from '@crud/crud'
|
||||
import rrOperation from '@crud/RR.operation'
|
||||
import crudOperation from '@crud/CRUD.operation'
|
||||
import udOperation from '@crud/UD.operation'
|
||||
import pagination from '@crud/Pagination'
|
||||
import { getItems } from '@/api/item'
|
||||
import { getBillType } from '@/api/billType'
|
||||
import crudAsnDetail from "@/api/asnDetail";
|
||||
import DonMessage from "@/utils/message";
|
||||
|
||||
const defaultForm = { id: null, dept: null, billType: null, orderOrigin: null, structure: null, erTime: null, relatedBill1: null, relatedBill2: null, sourceName: null, status: null, address: null, createBy: null, updateBy: null, createTime: null, updateTime: null, orderDate: null }
|
||||
export default {
|
||||
name: 'Asn',
|
||||
components: { pagination, crudOperation, rrOperation, udOperation },
|
||||
mixins: [presenter(), header(), form(defaultForm), crud()],
|
||||
dicts: ['asn_status'],
|
||||
cruds() {
|
||||
return CRUD({ title: 'asn', url: 'api/asn', idField: 'id', sort: 'id,desc', crudMethod: { ...crudAsn }})
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
permission: {
|
||||
add: ['admin', 'asn:add'],
|
||||
edit: ['admin', 'asn:edit'],
|
||||
del: ['admin', 'asn:del']
|
||||
},
|
||||
billTypeList: [],
|
||||
rules: {
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.getBillType()
|
||||
},
|
||||
methods: {
|
||||
// 钩子:在获取表格数据之前执行,false 则代表不获取数据
|
||||
[CRUD.HOOK.beforeRefresh]() {
|
||||
return true
|
||||
},
|
||||
jumpAsnDetail(relatedBill1) {
|
||||
// 路径/home对应我在router目录下index.js中定义的path属性值
|
||||
this.$router.push({ path: '/business-data/asnDetail/asnDetail', query: { relatedBill1: relatedBill1 }})
|
||||
},
|
||||
startAsn(id) {
|
||||
crudAsn.startAsn(id).then(res => {
|
||||
console.log('res:' + res)
|
||||
if (res.status === 200) {
|
||||
DonMessage.success(res.message)
|
||||
} else {
|
||||
DonMessage.error(res.message)
|
||||
}
|
||||
this.crud.toQuery()
|
||||
})
|
||||
},
|
||||
getBillType() {
|
||||
getBillType({}).then(res => {
|
||||
this.billTypeList = res.map(function(obj) {
|
||||
if (obj.hasChildren) {
|
||||
obj.children = null
|
||||
}
|
||||
return obj
|
||||
})
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
</style>
|
||||
|
|
@ -5,6 +5,8 @@
|
|||
<!-- 搜索 -->
|
||||
<!-- <el-input v-model="query.itemCode" clearable placeholder="物料代码" style="width: 140px;" class="filter-item"-->
|
||||
<!-- @keyup.enter.native="crud.toQuery"/>-->
|
||||
<el-input v-model="query.relatedBill1" clearable placeholder="入库单号" style="width: 140px;" class="filter-item"
|
||||
@keyup.enter.native="crud.toQuery"/>
|
||||
<el-select v-model="query.itemCode" placeholder="物料代码" style="width: 140px;" class="filter-item">
|
||||
<el-option
|
||||
@keyup.enter.native="crud.toQuery"
|
||||
|
|
@ -106,7 +108,7 @@
|
|||
<AsnTask ref="asnTask"/>
|
||||
</div>
|
||||
<!--MO票采集表单组件-->
|
||||
<el-dialog title="MO票采集" :visible.sync="collectMO" width="400px">
|
||||
<!-- <el-dialog title="MO票采集" :visible.sync="collectMO" width="400px">
|
||||
<el-form ref="form2" :model="form2" :rules="rules" size="small" label-width="80px">
|
||||
<el-form-item label="MO票" prop="po">
|
||||
<el-input v-model="form2.po" style="width: 200px;"/>
|
||||
|
|
@ -127,9 +129,9 @@
|
|||
<el-button @click="collectMO= false">取 消</el-button>
|
||||
<el-button type="primary" @click="collectMO2()">确 定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</el-dialog>-->
|
||||
<!-- 容器更换 -->
|
||||
<el-dialog title="容器更换" :visible.sync="ontainerReplacementOnOff" width="400px">
|
||||
<!-- <el-dialog title="容器更换" :visible.sync="ontainerReplacementOnOff" width="400px">
|
||||
<el-form ref="form3" :model="form3" :rules="rules" size="small" label-width="80px">
|
||||
<el-form-item label="原容器" prop="stockName">
|
||||
<el-input v-model="form3.stockName" style="width: 200px;" readonly="true"/>
|
||||
|
|
@ -150,28 +152,30 @@
|
|||
<el-button @click="ontainerReplacementOnOff= false">取 消</el-button>
|
||||
<el-button type="primary" @click="performContainerChange">确 定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</el-dialog>-->
|
||||
<!--表单组件-->
|
||||
<el-dialog :close-on-click-modal="false" :before-close="crud.cancelCU" :visible.sync="crud.status.cu > 0"
|
||||
:title="crud.status.title" width="400px">
|
||||
<el-form ref="form" :model="form" :rules="rules" size="small" label-width="80px">
|
||||
<el-form-item label="物料" prop="item">
|
||||
<el-select v-model="form.item" @focus="getItem" value-key="id" filterable placeholder="请选择物料"
|
||||
style="width: 200px;">
|
||||
:title="crud.status.title" width="500px">
|
||||
<el-form ref="form" :model="form" :rules="rules" size="small" label-width="100px">
|
||||
<!-- <el-form-item label="所属订单">
|
||||
<el-input v-model="form.asn.relatedBill1" style="width: 200px;"/>
|
||||
</el-form-item>-->
|
||||
<el-form-item label="所属订单" prop="item">
|
||||
<el-select v-model="form.asn.relatedBill1" value-key="id" filterable placeholder="请所属订单"
|
||||
style="width: 200px;" @change="applicantTypes">
|
||||
<el-option
|
||||
@click.native="WuLiaoClick(item.packNumber)"
|
||||
v-for="item in items"
|
||||
:key="item.id"
|
||||
:label="item.code"
|
||||
:value="item"
|
||||
v-for="item in asnList"
|
||||
:key="item.id"
|
||||
:label="item.relatedBill1"
|
||||
:value="item.relatedBill1"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="容器" prop="stock">
|
||||
<el-select v-model="form.stock" @focus="getStock" value-key="id" filterable placeholder="请选择容器"
|
||||
<el-form-item label="物料" prop="item" style="width: 200px">
|
||||
<el-select v-model="form.item" value-key="id" filterable placeholder="请选择物料"
|
||||
style="width: 200px;">
|
||||
<el-option
|
||||
v-for="item in stocks"
|
||||
v-for="item in items"
|
||||
:key="item.id"
|
||||
:label="item.code"
|
||||
:value="item"
|
||||
|
|
@ -181,11 +185,14 @@
|
|||
<el-form-item label="订单数量">
|
||||
<el-input v-model="form.orderQty" style="width: 200px;"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="批次号">
|
||||
<el-form-item label="成品物料编码">
|
||||
<el-input v-model="form.propC1" style="width: 200px;"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="备注">
|
||||
<el-input v-model="form.remark" style="width: 200px;"/>
|
||||
<el-form-item label="中标批次名称">
|
||||
<el-input v-model="form.propC2" style="width: 200px;"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="序列号">
|
||||
<el-input type="textarea" v-model="form.propC3" style="width: 270px;"/>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
|
|
@ -196,8 +203,17 @@
|
|||
<!--表格渲染-->
|
||||
<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">
|
||||
<el-table-column type="selection" width="55"/>
|
||||
<el-table-column prop="xh" type="index" :index="indexMethod" label="序号"/>
|
||||
<el-table-column prop="asn.relatedBill1" label="入库单号" width="100"/>
|
||||
<el-table-column prop="asn.status" label="入库单状态" width="100">
|
||||
<template slot-scope="scope">
|
||||
{{ dict.label.asn_status[scope.row.asn.status] }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column :show-overflow-tooltip="true" prop="lineNo" width="50" label="行号">
|
||||
<template slot-scope="scope">
|
||||
<div>{{ scope.row.lineNo }}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column :show-overflow-tooltip="true" prop="itemCode" label="物料编码">
|
||||
<template slot-scope="scope">
|
||||
<div>{{ scope.row.item.code }}</div>
|
||||
|
|
@ -208,11 +224,6 @@
|
|||
<div>{{ scope.row.item.name }}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column :show-overflow-tooltip="true" prop="stock" label="容器">
|
||||
<template slot-scope="scope">
|
||||
<div>{{ scope.row.stock == null ? '' : scope.row.stock.code }}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="status" label="状态">
|
||||
<template slot-scope="scope">
|
||||
{{ dict.label.asn_status[scope.row.status] }}
|
||||
|
|
@ -220,12 +231,20 @@
|
|||
</el-table-column>
|
||||
<el-table-column prop="orderQty" label="订单数量"/>
|
||||
<el-table-column prop="receivedQty" label="收货数量"/>
|
||||
<el-table-column prop="propC1" label="批次号"/>
|
||||
<el-table-column prop="po" label="MO票" width="200"/>
|
||||
<el-table-column prop="orderNumber" label="工单号" width="200"/>
|
||||
<el-table-column prop="remark" label="备注"/>
|
||||
<el-table-column prop="createBy" label="创建人"/>
|
||||
<el-table-column prop="propC1" label="中标批次名称"/>
|
||||
<el-table-column prop="propC2" label="成品物料编码"/>
|
||||
<el-table-column prop="propC3" label="序列号" :show-overflow-tooltip="true"/>
|
||||
<el-table-column prop="createTime" label="创建时间" width="135" sortable/>
|
||||
<el-table-column v-if="checkPer(['admin','item:edit'])" label="操作" fixed="right" width="200px" align="center">
|
||||
<template slot-scope="scope">
|
||||
<udOperation
|
||||
:data="scope.row"
|
||||
:permission="permission"
|
||||
:show-dle="true"
|
||||
>
|
||||
</udOperation>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<!--分页组件-->
|
||||
|
||||
|
|
@ -245,6 +264,7 @@ import udOperation from '@crud/UD.operation'
|
|||
import pagination from '@crud/Pagination'
|
||||
import {getItems, getItemsList} from "@/api/item"
|
||||
import {queryKyStockList} from "@/api/stock"
|
||||
import {getAsnList} from "@/api/asn"
|
||||
import Treeselect from '@riophae/vue-treeselect'
|
||||
import Search from "@/views/monitor/log/search.vue"
|
||||
import AsnTask from "@/views/business-data/asnDetail/viewAsnTask"
|
||||
|
|
@ -254,7 +274,7 @@ import {getToken} from "@/utils/auth";
|
|||
|
||||
const defaultForm = {
|
||||
id: null,
|
||||
asnId: null,
|
||||
asn: {relatedBill1:null},
|
||||
item: null,
|
||||
stock: null,
|
||||
lineNo: null,
|
||||
|
|
@ -290,20 +310,22 @@ export default {
|
|||
dicts: ['asn_status'],
|
||||
cruds() {
|
||||
return CRUD({
|
||||
title: '收货数据', url: 'api/asnDetail', idField: 'id', sort: 'id,desc', crudMethod: {...crudAsnDetail},
|
||||
title: '收货明细', url: 'api/asnDetail', idField: 'id', sort: 'id,desc', crudMethod: {...crudAsnDetail},
|
||||
optShow: {
|
||||
add: true,
|
||||
edit: false,
|
||||
del: false,
|
||||
reset: true,
|
||||
download: true
|
||||
}
|
||||
},
|
||||
queryOnPresenterCreated: false
|
||||
})
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
headers: {'Authorization': getToken()},
|
||||
fileList:[],
|
||||
asnList: [],
|
||||
items: [],
|
||||
stocks: [],
|
||||
form2: {po: null, stock: null},
|
||||
|
|
@ -342,9 +364,25 @@ export default {
|
|||
},
|
||||
mounted() {
|
||||
//初始化数据
|
||||
this.itemDataGet();
|
||||
this.itemDataGet()
|
||||
this.getItem()
|
||||
this.jumpAsnDetail()
|
||||
this.getAsns()
|
||||
},
|
||||
methods: {
|
||||
applicantTypes(value){
|
||||
this.asnList.forEach(item => {
|
||||
if(item.id===item.id){
|
||||
console.log("item:"+item)
|
||||
this.form.asn.value = item
|
||||
}
|
||||
})
|
||||
},
|
||||
jumpAsnDetail() {
|
||||
this.query.relatedBill1 = this.$route.query.relatedBill1
|
||||
defaultForm.asn.relatedBill1=this.query.relatedBill1
|
||||
this.crud.toQuery()
|
||||
},
|
||||
handleSuccess(response, file, fileList, crud) {
|
||||
let myError = response.toString();//转字符串
|
||||
DonMessage.success("" + response['message'])
|
||||
|
|
@ -371,6 +409,16 @@ export default {
|
|||
})
|
||||
})
|
||||
},
|
||||
getAsns() {
|
||||
getAsnList({}).then(res => {
|
||||
this.asnList = res.map(function (obj) {
|
||||
if (obj.hasChildren) {
|
||||
obj.children = null
|
||||
}
|
||||
return obj
|
||||
})
|
||||
})
|
||||
},
|
||||
getStock() {
|
||||
queryKyStockList({}).then(res => {
|
||||
this.stocks = res.map(function (obj) {
|
||||
|
|
|
|||
|
|
@ -8,7 +8,6 @@
|
|||
<label class="el-form-item-label">创建日期</label>
|
||||
<date-range-picker v-model="query.createTime" style="width: 365px;" class="filter-item"/>
|
||||
|
||||
<label class="el-form-item-label">容器编码</label>
|
||||
<el-input
|
||||
v-model="query.stockCode"
|
||||
clearable
|
||||
|
|
@ -16,18 +15,13 @@
|
|||
style="width: 170px;"
|
||||
class="filter-item"
|
||||
@keyup.enter.native="crud.toQuery"/>
|
||||
<label class="el-form-item-label">起点位置</label>
|
||||
<el-input v-model="query.startSlotCode" clearable placeholder="起点位置" style="width: 170px;"
|
||||
class="filter-item" @keyup.enter.native="crud.toQuery"/>
|
||||
<label class="el-form-item-label">终点位置</label>
|
||||
<el-input v-model="query.endSlotCode" clearable placeholder="终点位置" style="width: 140px;"
|
||||
class="filter-item" @keyup.enter.native="crud.toQuery"/>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<div>
|
||||
<label class="el-form-item-label">任务序号</label>
|
||||
<el-input
|
||||
v-model="query.id"
|
||||
clearable
|
||||
|
|
@ -35,8 +29,6 @@
|
|||
style="width: 140px;"
|
||||
class="filter-item"
|
||||
@keyup.enter.native="crud.toQuery"/>
|
||||
|
||||
<label class="el-form-item-label">任务组号</label>
|
||||
<el-input
|
||||
v-model="query.jobForce"
|
||||
clearable
|
||||
|
|
@ -44,8 +36,6 @@
|
|||
style="width: 140px;"
|
||||
class="filter-item"
|
||||
@keyup.enter.native="crud.toQuery"/>
|
||||
|
||||
<label class="el-form-item-label">任务状态</label>
|
||||
<el-select v-model="query.status" clearable multiple placeholder="请选择" style="width: 170px;"
|
||||
class="filter-item"
|
||||
@keyup.enter.native="crud.toQuery">
|
||||
|
|
@ -56,8 +46,6 @@
|
|||
:value="taskStatus.value"
|
||||
/>
|
||||
</el-select>
|
||||
|
||||
<label class="el-form-item-label">任务类型</label>
|
||||
<el-select v-model="query.type" clearable placeholder="请选择" style="width: 170px;" class="filter-item"
|
||||
@keyup.enter.native="crud.toQuery">
|
||||
<el-option
|
||||
|
|
@ -153,9 +141,8 @@
|
|||
@selection-change="crud.selectionChangeHandler">
|
||||
<el-table-column type="selection" width="55"/>
|
||||
<el-table-column prop="id" label="任务序号" v-if="this.radio3=='货架' || this.radio3=='全部'"/>
|
||||
<el-table-column prop="jobForce" width="160" label="任务组号" v-if="this.radio3!='货架' "/>
|
||||
<el-table-column prop="stockCode" width="170" label="容器码"/>
|
||||
|
||||
<!-- <el-table-column prop="jobForce" width="160" label="任务组号" v-if="this.radio3!='货架' "/>-->
|
||||
<el-table-column prop="stockTypeCode" width="170" label="容器类型"/>
|
||||
<el-table-column prop="startSlotCode" label="起点位置" width="130"/>
|
||||
<el-table-column prop="endSlotCode" label="终点位置" width="130" sortable :formatter="formatter"/>
|
||||
<el-table-column prop="status" label="任务状态">
|
||||
|
|
@ -165,7 +152,13 @@
|
|||
</el-table-column>
|
||||
<el-table-column prop="type" label="任务类型">
|
||||
<template slot-scope="scope">
|
||||
{{ dict.label.task_type[scope.row.type] }}
|
||||
<span v-if="dict.label.task_type[scope.row.type] ==null">{{ scope.row.type }}</span>
|
||||
<span v-if="scope.row.type !=null">{{ dict.label.task_type[scope.row.type] }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="jobType" label="工作类型">
|
||||
<template slot-scope="scope">
|
||||
{{ scope.row.jobType }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="jobPriority" label="优先级" width="60"/>
|
||||
|
|
|
|||
|
|
@ -38,7 +38,19 @@
|
|||
<el-input v-model="query.dstPointCode" clearable placeholder="目标点位" style="width: 185px;" class="filter-item" @keyup.enter.native="crud.toQuery" />
|
||||
<rrOperation :crud="crud" />
|
||||
<!--如果想在工具栏加入更多按钮,可以使用插槽方式, slot = 'left' or 'right'-->
|
||||
<crudOperation :permission="permission" :tableKey="this.$options.name" />
|
||||
<crudOperation :permission="permission" :tableKey="this.$options.name">
|
||||
<el-button
|
||||
slot="right"
|
||||
class="filter-item"
|
||||
type="primary"
|
||||
size="mini"
|
||||
@click=""
|
||||
icon="el-icon-document-add"
|
||||
v-if="false"
|
||||
>
|
||||
生成搬运任务
|
||||
</el-button>
|
||||
</crudOperation>
|
||||
<!--表单组件-->
|
||||
|
||||
<!--表格渲染-->
|
||||
|
|
@ -47,24 +59,38 @@
|
|||
<el-table-column prop="xh" type="index" :index="indexMethod" label="序号"/>
|
||||
<el-table-column :show-overflow-tooltip="true" prop="itemCode" label="物料编码">
|
||||
<template slot-scope="scope">
|
||||
<div>{{ scope.row.item.code }}</div>
|
||||
<div>{{ scope.row.itemKey.item.code }}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column :show-overflow-tooltip="true" prop="itemName" label="物料名称">
|
||||
<template slot-scope="scope">
|
||||
<div>{{ scope.row.item.name }}</div>
|
||||
<div>{{ scope.row.itemKey.item.name }}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="srcStockCode" label="容器编码" />
|
||||
<el-table-column prop="srcPointCode" label="原点位" />
|
||||
<el-table-column prop="dstPointCode" label="目标点位" />
|
||||
<el-table-column prop="agvStatus" label="任务状态">
|
||||
<template slot-scope="scope">
|
||||
{{ dict.label.task_status[scope.row.agvTask.status] }}
|
||||
<span v-if="dict.label.asn_status[scope.row.taskStatus] ==null">{{ scope.row.taskStatus }}</span>
|
||||
<span v-if="scope.row.taskStatus !=null">{{ dict.label.asn_status[scope.row.taskStatus] }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="srcPointCode" label="原点位">
|
||||
<template slot-scope="scope">
|
||||
<div v-if="scope.row.srcPoint !=null">{{ scope.row.srcPoint.code }}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="dstPointCode" label="目标点位">
|
||||
<template slot-scope="scope">
|
||||
<div v-if="scope.row.dstPoint !=null">{{ scope.row.dstPoint.code }}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="planQty" label="计划数量" />
|
||||
<el-table-column prop="moveQty" label="移位数量" />
|
||||
<el-table-column prop="itemKey.propC1" label="批次号" />
|
||||
<el-table-column prop="itemKey.propC2" label="字符" />
|
||||
<el-table-column prop="itemKey.propC3" label="计划单号" />
|
||||
<el-table-column prop="itemKey.propC4" label="厂家供货码" />
|
||||
<el-table-column prop="itemKey.propC5" label="供货数量" />
|
||||
<el-table-column prop="itemKey.propC6" :show-overflow-tooltip="true" label="流水号" />
|
||||
<el-table-column prop="createBy" label="创建人" />
|
||||
<el-table-column prop="createTime" label="创建时间" />
|
||||
</el-table>
|
||||
|
|
@ -86,12 +112,12 @@ import pagination from '@crud/Pagination'
|
|||
import DateRangePicker from "@/components/DateRangePicker/index.vue";
|
||||
import {getItemsList} from "@/api/item";
|
||||
|
||||
const defaultForm = { id: null, itemId: null, itemKeyId: null, billCode: null, taskType: null, asnDetailId: null, moveDetailId: null, waveDetailId: null, pickDetailId: null, srcStockId: null, dstStockId: null, srcPointId: null, dstPointId: 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, 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 {
|
||||
name: 'Task',
|
||||
components: {DateRangePicker, pagination, crudOperation, rrOperation, udOperation},
|
||||
mixins: [presenter(), header(), form(defaultForm), crud()],
|
||||
dicts: ['task_status'],
|
||||
dicts: ['task_status','asn_status'],
|
||||
cruds() {
|
||||
return CRUD({
|
||||
query: {taskType: ['ASN']},
|
||||
|
|
@ -130,7 +156,7 @@ export default {
|
|||
}
|
||||
},
|
||||
mounted() {
|
||||
//初始化数据
|
||||
// 初始化数据
|
||||
this.itemDataGet();
|
||||
},
|
||||
methods: {
|
||||
|
|
@ -141,7 +167,7 @@ export default {
|
|||
indexMethod(index) {
|
||||
return index * 1 + 1;
|
||||
},
|
||||
//物料数据
|
||||
// 物料数据
|
||||
itemDataGet() {
|
||||
getItemsList().then(res => {
|
||||
this.itemListData = res;
|
||||
|
|
|
|||
|
|
@ -110,7 +110,7 @@ export default {
|
|||
name: 'Dept',
|
||||
components: { Treeselect, crudOperation, rrOperation, udOperation, DateRangePicker },
|
||||
cruds() {
|
||||
return CRUD({ title: '部门', url: 'api/dept', crudMethod: { ...crudDept }})
|
||||
return CRUD({ title: '仓库', url: 'api/dept', crudMethod: { ...crudDept }})
|
||||
},
|
||||
mixins: [presenter(), header(), form(defaultForm), crud()],
|
||||
// 设置数据字典
|
||||
|
|
|
|||
Loading…
Reference in New Issue