no message
parent
20dc4a2ff4
commit
5f7d3812cf
|
|
@ -47,5 +47,12 @@ export function agvTaskCallback(data) {
|
|||
data
|
||||
})
|
||||
}
|
||||
export function sendAgvTask(data) {
|
||||
return request({
|
||||
url: '/api/agvTask/sendAgvTask',
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
export default { add, edit, del,missionStateCallback,agvTaskCallback }
|
||||
export default { add, edit, del,missionStateCallback,agvTaskCallback ,sendAgvTask}
|
||||
|
|
|
|||
|
|
@ -1,10 +1,13 @@
|
|||
import request from '@/utils/request'
|
||||
|
||||
export function getPoints(data) {
|
||||
export function getPoints(areaCode, asnType) {
|
||||
return request({
|
||||
url: 'api/point/getPointList',
|
||||
method: 'post',
|
||||
data
|
||||
data: {
|
||||
'areaCode': areaCode,
|
||||
'asnType': asnType
|
||||
}
|
||||
})
|
||||
}
|
||||
export function add(data) {
|
||||
|
|
|
|||
|
|
@ -69,5 +69,26 @@ export function picking(datas) {
|
|||
data: datas
|
||||
})
|
||||
}
|
||||
export function STAgvReceiving(datas) {
|
||||
return request({
|
||||
url: 'api/task/STAgvReceiving',
|
||||
method: 'post',
|
||||
data: datas
|
||||
})
|
||||
}
|
||||
export function butSTputaway(datas) {
|
||||
return request({
|
||||
url: 'api/task/butSTputaway',
|
||||
method: 'post',
|
||||
data: datas
|
||||
})
|
||||
}
|
||||
export function rmCkPickUp(ids) {
|
||||
return request({
|
||||
url: 'api/task/rmCkPickUp',
|
||||
method: 'post',
|
||||
data: ids
|
||||
})
|
||||
}
|
||||
|
||||
export default { add, edit, del, getTaskInfo, queryPickTask, manualReceiving, picking, devanRfid, replaceInv }
|
||||
export default { add, edit, del, getTaskInfo, queryPickTask, manualReceiving, picking, devanRfid, replaceInv, STAgvReceiving, butSTputaway, rmCkPickUp }
|
||||
|
|
|
|||
|
|
@ -0,0 +1,7 @@
|
|||
<!-- Generated by IcoMoon.io -->
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="512" height="512" viewBox="0 0 512 512">
|
||||
<title></title>
|
||||
<g id="icomoon-ignore">
|
||||
</g>
|
||||
<path d="M256 0c-141.385 0-256 114.615-256 256s114.615 256 256 256 256-114.615 256-256-114.615-256-256-256zM256 448c-106.039 0-192-85.961-192-192s85.961-192 192-192c106.039 0 192 85.961 192 192s-85.961 192-192 192zM160 256c0-53.019 42.981-96 96-96s96 42.981 96 96c0 53.019-42.981 96-96 96s-96-42.981-96-96z"></path>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 503 B |
|
|
@ -0,0 +1,7 @@
|
|||
<!-- Generated by IcoMoon.io -->
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" width="512" height="512" viewBox="0 0 512 512">
|
||||
<title></title>
|
||||
<g id="icomoon-ignore">
|
||||
</g>
|
||||
<path d="M256 0c-141.385 0-256 114.615-256 256s114.615 256 256 256 256-114.615 256-256-114.615-256-256-256zM256 448c-106.039 0-192-85.961-192-192s85.961-192 192-192c106.039 0 192 85.961 192 192s-85.961 192-192 192z"></path>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 411 B |
|
|
@ -5,8 +5,9 @@
|
|||
vertical-align: middle;
|
||||
margin: 0 3px 10px 0;
|
||||
input {
|
||||
height: 30.5px;
|
||||
line-height: 30.5px;
|
||||
size: 3px;
|
||||
height: 28.5px;
|
||||
line-height: 28.5px;
|
||||
}
|
||||
}
|
||||
.el-form-item-label {
|
||||
|
|
@ -16,20 +17,20 @@
|
|||
vertical-align: middle;
|
||||
font-size: 14px;
|
||||
color: #606266;
|
||||
line-height: 30.5px;
|
||||
line-height: 28.5px;
|
||||
padding: 0 7px 0 7px;
|
||||
}
|
||||
.el-button+.el-button {
|
||||
margin-left: 0 !important;
|
||||
}
|
||||
.el-select__caret.el-input__icon.el-icon-arrow-up{
|
||||
line-height: 30.5px;
|
||||
line-height: 28.5px;
|
||||
}
|
||||
.date-item {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
margin-bottom: 10px;
|
||||
height: 30.5px !important;
|
||||
height: 28.5px !important;
|
||||
width: 230px !important;
|
||||
}
|
||||
}
|
||||
|
|
@ -115,3 +116,11 @@
|
|||
.el-tabs{
|
||||
margin-bottom: 25px;
|
||||
}
|
||||
// TableProps.header._cell._style = { type: String, default: "background: '#f4f3f9', color: '#606266'" } // 表格列配置
|
||||
|
||||
/* 全局修改el-table 表头和内容颜色 header color content color */
|
||||
.el-table th {
|
||||
font-size: 14px;
|
||||
background: #F6F9FC !important;
|
||||
color: #606266;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -42,6 +42,7 @@
|
|||
</el-button>
|
||||
<el-button
|
||||
v-if="crud.optShow.download"
|
||||
v-permission="permission.download"
|
||||
:loading="crud.downloadLoading"
|
||||
:disabled="!crud.data.length"
|
||||
class="filter-item"
|
||||
|
|
|
|||
|
|
@ -1,9 +1,10 @@
|
|||
<!--搜索与重置-->
|
||||
<template>
|
||||
<span>
|
||||
<el-button class="filter-item" size="mini" type="success" icon="el-icon-search" @click="crud.toQuery">搜索</el-button>
|
||||
<el-button v-if="crud.optShow.reset" class="filter-item" size="mini" type="warning" icon="el-icon-refresh-left" @click="crud.resetQuery()">重置</el-button>
|
||||
</span>
|
||||
<el-button-group>
|
||||
<el-button class="filter-item" size="mini" type="success" icon="el-icon-search" @click="crud.toQuery"></el-button>
|
||||
<el-button class="filter-item" size="mini" type="warning" icon="el-icon-refresh-left" @click="resetQuery()"></el-button>
|
||||
<!-- <el-button class="filter-item" size="mini" type="warning" icon="el-icon-icomoon-ignorek" @click="crud.resetQuery()"></el-button>-->
|
||||
</el-button-group>
|
||||
</template>
|
||||
<script>
|
||||
import { crud } from '@crud/crud'
|
||||
|
|
@ -15,6 +16,11 @@ export default {
|
|||
required: false,
|
||||
default: ''
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
resetQuery() {
|
||||
this.crud.resetQuery()
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
|
|
|||
12
src/main.js
12
src/main.js
|
|
@ -4,7 +4,17 @@ import Cookies from 'js-cookie'
|
|||
|
||||
import 'normalize.css/normalize.css'
|
||||
|
||||
import Element from 'element-ui'
|
||||
import Element, { Table, TableColumn } from 'element-ui'
|
||||
const TableProps = Element.Table.props
|
||||
const TableColumnProps = Element.TableColumn.props
|
||||
TableProps.border = { type: Boolean, default: true } // 边框
|
||||
TableProps.align = { type: String, default: 'center' } // 居中
|
||||
TableProps.stripe = { type: Boolean, default: true } // 斑马纹
|
||||
TableColumnProps.showOverflowTooltip = { type: Boolean, default: true } // 文本溢出
|
||||
// TableColumnProps.sortable = { type: Boolean, default: true } // 置默认的排序列和排序顺序
|
||||
Vue.use(Table)
|
||||
Vue.use(TableColumn)
|
||||
|
||||
// 数据字典
|
||||
import dict from './components/Dict'
|
||||
|
||||
|
|
|
|||
|
|
@ -4,11 +4,9 @@
|
|||
<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" @keyup.enter.native="crud.toQuery" />
|
||||
<label class="el-form-item-label">名称</label>
|
||||
<el-input v-model="query.name" clearable placeholder="名称" style="width: 185px;" class="filter-item" @keyup.enter.native="crud.toQuery" />
|
||||
<rrOperation :crud="crud" />
|
||||
<el-input v-model="query.code" clearable placeholder="编号" style="width: 140px;" class="filter-item" @keyup.enter.native="crud.toQuery" />
|
||||
<el-input v-model="query.name" clearable placeholder="名称" style="width: 140px;" class="filter-item" @keyup.enter.native="crud.toQuery" />
|
||||
<rrOperation :crud="crud" />
|
||||
</div>
|
||||
<!--如果想在工具栏加入更多按钮,可以使用插槽方式, slot = 'left' or 'right'-->
|
||||
<crudOperation :permission="permission" :tableKey="this.$options.name"/>
|
||||
|
|
@ -79,14 +77,13 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import crudOperation from '@crud/CRUD.operation'
|
||||
import crudArea from '@/api/area'
|
||||
import {selectEgvSceneAll} from '@/api/agvScene'
|
||||
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 { inject } from "vue";
|
||||
|
||||
const defaultForm = { id: null,enabled: 1,code: null,name: null,description: null,agvScene:null}
|
||||
export default {
|
||||
|
|
@ -99,10 +96,9 @@ export default {
|
|||
return CRUD({ title: '库区', url: 'api/area', idField: 'id', sort: 'id,desc', crudMethod: { ...crudArea },
|
||||
optShow: {
|
||||
add: true,
|
||||
edit: false,
|
||||
del: false,
|
||||
reset: true,
|
||||
download: false
|
||||
edit: true,
|
||||
del: true,
|
||||
download: true
|
||||
},
|
||||
queryOnPresenterCreated: true
|
||||
})
|
||||
|
|
@ -120,7 +116,8 @@ export default {
|
|||
permission: {
|
||||
add: ['admin', 'area:add'],
|
||||
edit: ['admin', 'area:edit'],
|
||||
del: ['admin', 'area:del']
|
||||
del: ['admin', 'area:del'],
|
||||
download: ['admin', 'area:download']
|
||||
},
|
||||
rules: {
|
||||
code: [
|
||||
|
|
|
|||
|
|
@ -4,16 +4,13 @@
|
|||
<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"
|
||||
<el-input v-model="query.code" clearable placeholder="编号" style="width: 140px;" class="filter-item"
|
||||
@keyup.enter.native="crud.toQuery"/>
|
||||
|
||||
<label class="el-form-item-label">名称</label>
|
||||
<el-input v-model="query.name" clearable placeholder="请输入名称" style="width: 185px;" class="filter-item"
|
||||
<el-input v-model="query.name" clearable placeholder="名称" style="width: 140px;" class="filter-item"
|
||||
@keyup.enter.native="crud.toQuery"/>
|
||||
|
||||
<label class="el-form-item-label">类型</label>
|
||||
<el-select v-model="query.type" clearable placeholder="请选择类型" style="width: 185px;" class="filter-item"
|
||||
<el-select v-model="query.type" clearable placeholder="类型" style="width: 140px;" class="filter-item"
|
||||
@keyup.enter.native="crud.toQuery">
|
||||
<el-option
|
||||
v-for="billType in dict.bill_type"
|
||||
|
|
@ -23,8 +20,7 @@
|
|||
/>
|
||||
</el-select>
|
||||
|
||||
<label class="el-form-item-label">是否启用</label>
|
||||
<el-select v-model="query.enabled" clearable placeholder="请选择" style="width: 185px;" class="filter-item"
|
||||
<el-select v-model="query.enabled" clearable placeholder="是否启用" style="width: 100px;" class="filter-item"
|
||||
@keyup.enter.native="crud.toQuery">
|
||||
<el-option
|
||||
v-for="baseStatus in dict.base_staus"
|
||||
|
|
|
|||
|
|
@ -150,7 +150,7 @@ import crudOperation from '@crud/CRUD.operation'
|
|||
import udOperation from '@crud/UD.operation'
|
||||
import pagination from '@crud/Pagination'
|
||||
import {getItems} from "@/api/item"
|
||||
import crudPoint, {getPoints} from "@/api/point"
|
||||
import crudPoint, {} from "@/api/point"
|
||||
import DonMessage from '@/utils/message'
|
||||
import crudBillType, {getBillType} from '@/api/billType'
|
||||
import { mapGetters } from 'vuex'
|
||||
|
|
@ -234,7 +234,7 @@ export default {
|
|||
},
|
||||
// 加载地标
|
||||
getPoint() {
|
||||
crudPoint.getPoints({ }).then(res => {
|
||||
crudPoint.getPoints(null,null).then(res => {
|
||||
this.pointList = res.map(function(obj) {
|
||||
if (obj.hasChildren) {
|
||||
obj.children = null
|
||||
|
|
|
|||
|
|
@ -4,20 +4,16 @@
|
|||
<div class="head-container">
|
||||
<div v-if="crud.props.searchToggle">
|
||||
<!-- 搜索 -->
|
||||
<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>
|
||||
<el-input v-model="query.name" clearable placeholder="请输入名称" style="width: 185px;" class="filter-item"
|
||||
@keyup.enter.native="crud.toQuery"/>
|
||||
|
||||
<label class="el-form-item-label">规格</label>
|
||||
<el-input v-model="query.specs" clearable placeholder="请输入规格" style="width: 185px;" class="filter-item"
|
||||
@keyup.enter.native="crud.toQuery"/>
|
||||
|
||||
<label class="el-form-item-label">是否启用</label>
|
||||
<el-select v-model="query.enabled" clearable placeholder="请选择" style="width: 185px;" class="filter-item"
|
||||
<el-select v-model="query.enabled" clearable placeholder="是否启用" style="width: 105px;" class="filter-item"
|
||||
@keyup.enter.native="crud.toQuery">
|
||||
<el-option
|
||||
v-for="baseStatus in dict.base_staus"
|
||||
|
|
@ -35,6 +31,7 @@
|
|||
|
||||
|
||||
<el-upload
|
||||
v-permission="permission.import"
|
||||
class="upload-demo"
|
||||
slot='right'
|
||||
style="float: right;padding-left: 5px"
|
||||
|
|
@ -198,9 +195,8 @@ export default {
|
|||
return CRUD({
|
||||
title: '物料', url: 'api/item', idField: 'id', sort: 'id,desc', crudMethod: {...crudItem}, optShow: {
|
||||
add: true,
|
||||
edit: false,
|
||||
del: false,
|
||||
reset: true,
|
||||
edit: true,
|
||||
del: true,
|
||||
download: true
|
||||
}
|
||||
})
|
||||
|
|
@ -213,7 +209,9 @@ export default {
|
|||
permission: {
|
||||
add: ['admin', 'item:add'],
|
||||
edit: ['admin', 'item:edit'],
|
||||
del: ['admin', 'item:del']
|
||||
del: ['admin', 'item:del'],
|
||||
download: ['admin', 'item:download'],
|
||||
import: ['admin', 'item:import']
|
||||
},
|
||||
rules: {
|
||||
code: [
|
||||
|
|
|
|||
|
|
@ -4,13 +4,10 @@
|
|||
<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: 120px;" class="filter-item"
|
||||
@keyup.enter.native="crud.toQuery"/>
|
||||
<label class="el-form-item-label">名称</label>
|
||||
<el-input v-model="query.name" clearable placeholder="名称" style="width: 120px;" class="filter-item"
|
||||
@keyup.enter.native="crud.toQuery"/>
|
||||
<label class="el-form-item-label">状态</label>
|
||||
<el-select
|
||||
v-model="query.status"
|
||||
clearable
|
||||
|
|
@ -27,7 +24,6 @@
|
|||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
<label class="el-form-item-label">库区</label>
|
||||
<el-select v-model="query.areaName" style="width: 120px;" clearable placeholder="请选择"
|
||||
@keyup.enter.native="crud.toQuery" class="filter-item" @change="crud.toQuery">
|
||||
<el-option
|
||||
|
|
@ -42,6 +38,7 @@
|
|||
<!--如果想在工具栏加入更多按钮,可以使用插槽方式, slot = 'left' or 'right'-->
|
||||
<crudOperation :permission="permission" :tableKey="this.$options.name">
|
||||
<el-button
|
||||
v-permission="permission.stockAsn"
|
||||
slot="right"
|
||||
class="filter-item"
|
||||
type="primary"
|
||||
|
|
@ -55,6 +52,7 @@
|
|||
容器入场
|
||||
</el-button>
|
||||
<el-button
|
||||
v-permission="permission.stockAgvTask"
|
||||
slot="right"
|
||||
class="filter-item"
|
||||
type="primary"
|
||||
|
|
@ -68,6 +66,7 @@
|
|||
容器搬运
|
||||
</el-button>
|
||||
<el-upload
|
||||
v-permission="permission.import"
|
||||
class="upload-demo"
|
||||
slot='right'
|
||||
style="float: right;padding-left: 5px"
|
||||
|
|
@ -179,7 +178,7 @@
|
|||
<el-form-item label="深浅位">
|
||||
<el-input type="heat" v-model="form.heat" style="width: 100px;"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="深浅位组">
|
||||
<el-form-item label="区域">
|
||||
<el-input type="beatCode" v-model="form.beatCode" style="width: 100px;"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="描述">
|
||||
|
|
@ -223,7 +222,7 @@
|
|||
<span v-if="scope.row.heat !=null">{{ scope.row.heat }}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="beatCode" label="深浅位组">
|
||||
<el-table-column prop="beatCode" label="区域">
|
||||
<template slot-scope="scope">
|
||||
<span v-if="scope.row.beatCode !=null">{{ scope.row.beatCode }}</span>
|
||||
</template>
|
||||
|
|
@ -303,9 +302,8 @@ export default {
|
|||
title: '点位', url: 'api/point', idField: 'id', sort: 'id,desc', crudMethod: {...crudPoint},
|
||||
optShow: {
|
||||
add: true,
|
||||
edit: false,
|
||||
del: false,
|
||||
reset: true,
|
||||
edit: true,
|
||||
del: true,
|
||||
download: true
|
||||
},
|
||||
queryOnPresenterCreated: true
|
||||
|
|
@ -341,7 +339,11 @@ export default {
|
|||
permission: {
|
||||
add: ['admin', 'point:add'],
|
||||
edit: ['admin', 'point:edit'],
|
||||
del: ['admin', 'point:del']
|
||||
del: ['admin', 'point:del'],
|
||||
download: ['admin', 'point:download'],
|
||||
import: ['admin', 'point:import'],
|
||||
stockAsn: ['admin', 'asn:stockAsn'],
|
||||
stockAgvTask: ['admin', 'asn:stockAgvTask']
|
||||
},
|
||||
rules: {
|
||||
code: [
|
||||
|
|
|
|||
|
|
@ -2,10 +2,8 @@
|
|||
<div class="app-container">
|
||||
<!--工具栏-->
|
||||
<div class="head-container">
|
||||
<label class="el-form-item-label">代码</label>
|
||||
<el-input v-model="query.code" clearable placeholder="代码" style="width: 185px;" class="filter-item" @keyup.enter.native="crud.toQuery" />
|
||||
<label class="el-form-item-label">名称</label>
|
||||
<el-input v-model="query.name" clearable placeholder="名称" style="width: 185px;" class="filter-item" @keyup.enter.native="crud.toQuery" />
|
||||
<el-input v-model="query.code" style="width: 140px" clearable placeholder="代码" class="filter-item" @keyup.enter.native="crud.toQuery" />
|
||||
<el-input v-model="query.name" style="width: 140px" clearable placeholder="名称" class="filter-item" @keyup.enter.native="crud.toQuery" />
|
||||
<rrOperation :crud="crud" />
|
||||
<!--如果想在工具栏加入更多按钮,可以使用插槽方式, slot = 'left' or 'right'-->
|
||||
<crudOperation :permission="permission" :tableKey="this.$options.name" />
|
||||
|
|
@ -18,7 +16,10 @@
|
|||
<el-form-item label="名称">
|
||||
<el-input v-model="form.name" style="width: 180px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="长">
|
||||
<el-form-item label="容器模型编码">
|
||||
<el-input v-model="form.mode" style="width: 180px;" />
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="长">
|
||||
<el-input v-model="form.length" type="number" style="width: 180px;"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="宽">
|
||||
|
|
@ -26,7 +27,7 @@
|
|||
</el-form-item>
|
||||
<el-form-item label="高">
|
||||
<el-input v-model="form.height" type="number" style="width: 180px;"/>
|
||||
</el-form-item>
|
||||
</el-form-item>-->
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="text" @click="crud.cancelCU">取消</el-button>
|
||||
|
|
@ -34,10 +35,12 @@
|
|||
</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 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 prop="id" label="id" />
|
||||
<el-table-column prop="code" label="代码" />
|
||||
<el-table-column prop="name" label="名称" />
|
||||
<el-table-column prop="mode" label="容器模型" />
|
||||
<el-table-column label="启用" align="center" prop="enabled">
|
||||
<template slot-scope="scope">
|
||||
<el-switch
|
||||
|
|
@ -48,9 +51,9 @@
|
|||
/>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="length" label="长" />
|
||||
<!-- <el-table-column prop="length" label="长" />
|
||||
<el-table-column prop="width" label="宽" />
|
||||
<el-table-column prop="height" label="高" />
|
||||
<el-table-column prop="height" label="高" />-->
|
||||
<el-table-column v-if="checkPer(['admin','item:edit'])" label="操作" width="150px" align="center">
|
||||
<template slot-scope="scope">
|
||||
<udOperation
|
||||
|
|
@ -78,7 +81,7 @@ import udOperation from '@crud/UD.operation'
|
|||
import pagination from '@crud/Pagination'
|
||||
import crudArea from "@/api/area";
|
||||
|
||||
const defaultForm = { id: null,code: null,name :null }
|
||||
const defaultForm = { id: null,code: null,name :null,mode:null }
|
||||
export default {
|
||||
name: 'StockType',
|
||||
components: { pagination, crudOperation, rrOperation, udOperation },
|
||||
|
|
@ -88,9 +91,8 @@ export default {
|
|||
return CRUD({ title: '容器类型', url: 'api/stockType', idField: 'id', sort: 'id,desc', crudMethod: { ...crudStockType },
|
||||
optShow: {
|
||||
add: true,
|
||||
edit: false,
|
||||
del: false,
|
||||
reset: true,
|
||||
edit: true,
|
||||
del: true,
|
||||
download: true
|
||||
},
|
||||
queryOnPresenterCreated: true
|
||||
|
|
@ -101,7 +103,8 @@ export default {
|
|||
permission: {
|
||||
add: ['admin', 'stockType:add'],
|
||||
edit: ['admin', 'stockType:edit'],
|
||||
del: ['admin', 'stockType:del']
|
||||
del: ['admin', 'stockType:del'],
|
||||
download: ['admin', 'stockType:download']
|
||||
},
|
||||
rules: {
|
||||
id: [
|
||||
|
|
|
|||
|
|
@ -2,11 +2,33 @@
|
|||
<div class="app-container">
|
||||
<!--工具栏-->
|
||||
<div class="head-container">
|
||||
<el-input v-model="query.relatedBill1" clearable placeholder="系统单号" style="width: 140px;" class="filter-item"
|
||||
@keyup.enter.native="crud.toQuery"/>
|
||||
<el-input v-model="query.relatedBill2" clearable placeholder="登记单号" style="width: 140px;" class="filter-item"
|
||||
@keyup.enter.native="crud.toQuery"/>
|
||||
<el-select
|
||||
v-model="query.status"
|
||||
clearable
|
||||
size="small"
|
||||
placeholder="状态"
|
||||
class="filter-item"
|
||||
style="width: 100px"
|
||||
@change="crud.toQuery"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in dict.asn_status"
|
||||
:key="item.id"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
<date-range-picker start-placeholder="创建日期" v-model="query.createTime" class="date-item" />
|
||||
<rrOperation :crud="crud"/>
|
||||
<!--如果想在工具栏加入更多按钮,可以使用插槽方式, slot = 'left' or 'right'-->
|
||||
<crudOperation :permission="permission" :table-key="this.$options.name">
|
||||
<el-button
|
||||
slot="left"
|
||||
v-permission="permission.add"
|
||||
v-permission="permission.pointUsed"
|
||||
class="filter-item"
|
||||
type="primary"
|
||||
size="mini"
|
||||
|
|
@ -18,7 +40,7 @@
|
|||
</el-button>
|
||||
<el-button
|
||||
slot="left"
|
||||
v-permission="permission.add"
|
||||
v-permission="permission.pointFree"
|
||||
class="filter-item"
|
||||
type="primary"
|
||||
size="mini"
|
||||
|
|
@ -32,13 +54,13 @@
|
|||
<!--表单组件-->
|
||||
<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-form-item label="系统单号" prop="relatedBill1">
|
||||
<el-input v-model="form.relatedBill1" style="width: 370px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="订单来源">
|
||||
<el-input v-model="form.orderOrigin" style="width: 370px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="货主">
|
||||
<el-form-item label="货主" filters filter-method>
|
||||
<el-input v-model="form.structure" style="width: 370px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="登记单号">
|
||||
|
|
@ -47,7 +69,7 @@
|
|||
<!-- <el-form-item label="订单状态">
|
||||
<el-input v-model="form.status" style="width: 370px;" />
|
||||
</el-form-item>-->
|
||||
<el-form-item label="订单状态">
|
||||
<el-form-item label="订单状态" prop="status">
|
||||
<el-select
|
||||
v-model="form.status"
|
||||
filterable
|
||||
|
|
@ -96,7 +118,7 @@
|
|||
</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'])" fixed="right" label="操作" align="center">
|
||||
<el-table-column v-if="checkPer(['admin','asn:edit','asn:del'])" fixed="right" label="操作" style="width: 120px" align="center">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
v-permission="permission.add"
|
||||
|
|
@ -128,25 +150,38 @@ import { getItems } from '@/api/item'
|
|||
import { getBillType } from '@/api/billType'
|
||||
import crudAsnDetail from "@/api/asnDetail";
|
||||
import DonMessage from "@/utils/message";
|
||||
import DateRangePicker from '@/components/DateRangePicker'
|
||||
|
||||
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 },
|
||||
components: { pagination, crudOperation, rrOperation, udOperation, DateRangePicker },
|
||||
mixins: [presenter(), header(), form(defaultForm), crud()],
|
||||
dicts: ['asn_status'],
|
||||
cruds() {
|
||||
return CRUD({ title: 'asn', url: 'api/asn', idField: 'id', sort: 'id,desc', crudMethod: { ...crudAsn }})
|
||||
return CRUD({ title: '入库单', 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']
|
||||
del: ['admin', 'asn:del'],
|
||||
download: ['admin', 'asn:download'],
|
||||
pointUsed: ['admin', 'asn:pointUsed'],
|
||||
pointFree: ['admin', 'asn:pointFree']
|
||||
},
|
||||
billTypeList: [],
|
||||
rules: {
|
||||
relatedBill1: [
|
||||
{ required: true, message: '必填', trigger: 'blur' }
|
||||
],
|
||||
status: [
|
||||
{ required: true, message: '必填', trigger: 'blur' }
|
||||
],
|
||||
billType: [
|
||||
{ required: true, message: '必填', trigger: 'blur' }
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
<!-- 搜索 -->
|
||||
<!-- <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"
|
||||
<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
|
||||
|
|
@ -20,8 +20,6 @@
|
|||
</el-select>
|
||||
<el-input v-model="query.itemName" clearable placeholder="物料名称" style="width: 140px;" class="filter-item"
|
||||
@keyup.enter.native="crud.toQuery"/>
|
||||
<el-input v-model="query.po" clearable placeholder="MO票" style="width: 140px;" class="filter-item"
|
||||
@keyup.enter.native="crud.toQuery"/>
|
||||
<el-select
|
||||
v-model="query.status"
|
||||
clearable
|
||||
|
|
@ -38,7 +36,7 @@
|
|||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
<date-range-picker v-model="query.createTime" class="date-item" style="width: 100px"/>
|
||||
<date-range-picker start-placeholder="创建日期" v-model="query.createTime" class="date-item" style="width: 100px"/>
|
||||
<rrOperation :crud="crud"/>
|
||||
<!--如果想在工具栏加入更多按钮,可以使用插槽方式, slot = 'left' or 'right'-->
|
||||
<crudOperation :permission="permission" :table-key="this.$options.name">
|
||||
|
|
@ -107,52 +105,6 @@
|
|||
</crudOperation>
|
||||
<AsnTask ref="asnTask"/>
|
||||
</div>
|
||||
<!--MO票采集表单组件-->
|
||||
<!-- <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;"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="容器" prop="stock">
|
||||
<el-select v-model="form2.stock" @focus="getStock" value-key="id" filterable placeholder="请选择容器"
|
||||
style="width: 200px;">
|
||||
<el-option
|
||||
v-for="item in stocks"
|
||||
:key="item.id"
|
||||
:label="item.code"
|
||||
:value="item"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="collectMO= false">取 消</el-button>
|
||||
<el-button type="primary" @click="collectMO2()">确 定</el-button>
|
||||
</div>
|
||||
</el-dialog>-->
|
||||
<!-- 容器更换 -->
|
||||
<!-- <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"/>
|
||||
</el-form-item>
|
||||
<el-form-item label="目标容器" prop="newStock" :rules="[{ required: true, message: '目标容器不能为空'}]">
|
||||
<el-select v-model="form3.newStock" @focus="getStock" value-key="id" filterable placeholder="请选择容器"
|
||||
style="width: 200px;">
|
||||
<el-option
|
||||
v-for="item in stocks"
|
||||
:key="item.id"
|
||||
:label="item.code"
|
||||
:value="item"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="ontainerReplacementOnOff= false">取 消</el-button>
|
||||
<el-button type="primary" @click="performContainerChange">确 定</el-button>
|
||||
</div>
|
||||
</el-dialog>-->
|
||||
<!--表单组件-->
|
||||
<el-dialog :close-on-click-modal="false" :before-close="crud.cancelCU" :visible.sync="crud.status.cu > 0"
|
||||
:title="crud.status.title" width="500px">
|
||||
|
|
@ -243,8 +195,8 @@
|
|||
<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">
|
||||
<el-table-column prop="createTime" label="创建时间" width="135" />
|
||||
<el-table-column v-if="checkPer(['admin','item:edit'])" label="操作" fixed="right" width="120px" align="center">
|
||||
<template slot-scope="scope">
|
||||
<udOperation
|
||||
:data="scope.row"
|
||||
|
|
@ -351,9 +303,6 @@ export default {
|
|||
],
|
||||
stock: [
|
||||
{required: true, message: '容器不能为空', trigger: 'blur'}
|
||||
],
|
||||
po: [
|
||||
{required: true, message: 'MO票不能为空', trigger: 'blur'}
|
||||
]
|
||||
},
|
||||
queryTypeOptions: [
|
||||
|
|
@ -375,10 +324,23 @@ export default {
|
|||
//初始化数据
|
||||
this.itemDataGet()
|
||||
this.getItem()
|
||||
this.jumpAsnDetail()
|
||||
this.getAsns()
|
||||
this.defaultTableList()
|
||||
},
|
||||
methods: {
|
||||
// 默认数据
|
||||
defaultTableList() {
|
||||
this.query.relatedBill1 = this.$route.query.relatedBill1
|
||||
defaultForm.asn.relatedBill1 = this.query.relatedBill1
|
||||
|
||||
let statusList=[];
|
||||
statusList.push('OPEN')
|
||||
statusList.push('ACTIVE')
|
||||
statusList.push('PUTAWAY')
|
||||
statusList.push('RECEIVING')
|
||||
this.query.statusList = statusList
|
||||
this.crud.toQuery()
|
||||
},
|
||||
applicantTypes(value){
|
||||
this.asnList.forEach(item => {
|
||||
if(item.id===item.id){
|
||||
|
|
|
|||
|
|
@ -196,7 +196,7 @@ import AsnTask from "@/views/business-data/asnDetail/viewAsnTask"
|
|||
import DonMessage from "@/utils/message";
|
||||
import DateRangePicker from "@/components/DateRangePicker/index.vue";
|
||||
import {getToken} from "@/utils/auth";
|
||||
import { getPoints, queryPointList } from '@/api/point'
|
||||
import { queryPointList } from '@/api/point'
|
||||
|
||||
const defaultForm = { id: null, asnId: null, item: null, stock: null, lineNo: null, po: null, status: 'OPEN', orderQty: 0, receivedQty: 0, moveQty: 0, putQty: 0, weight: 0, volume: 0, remark: null, propC1: null, propC2: null, propC3: null, propC4: null, propC5: null, propC6: null, propD1: null, propD2: null, deptId: null, sourceName: null, sourceId: null, createBy: null, updateBy: null, createTime: null, updateTime: null }
|
||||
export default {
|
||||
|
|
|
|||
|
|
@ -67,9 +67,8 @@
|
|||
<div class="statusButton" style="border-bottom: solid lightgray 1px;">
|
||||
<el-radio-group v-model="radio3" @change="clickChange" size="small">
|
||||
<el-radio-button label="全部"> 全部</el-radio-button>
|
||||
<el-radio-button label="货架">货架</el-radio-button>
|
||||
<el-radio-button label="料箱">料箱</el-radio-button>
|
||||
<el-radio-button label="滚筒">滚筒</el-radio-button>
|
||||
<el-radio-button label="货架">叉车</el-radio-button>
|
||||
<el-radio-button label="料箱">潜伏车</el-radio-button>
|
||||
</el-radio-group>
|
||||
|
||||
|
||||
|
|
@ -131,6 +130,7 @@
|
|||
</el-dialog>
|
||||
<!--表格渲染-->
|
||||
<el-table
|
||||
border
|
||||
ref="table"
|
||||
v-loading="crud.loading"
|
||||
:data="crud.data"
|
||||
|
|
@ -171,17 +171,17 @@
|
|||
label="操作"
|
||||
width="140">
|
||||
<template slot-scope="scope">
|
||||
<el-button type="primary" :disabled="scope.row.status!='ATCALL' && scope.row.status!='OPEN' "
|
||||
<el-button type="primary" :disabled=" scope.row.status!='OPEN' "
|
||||
align="center" size="mini"
|
||||
style="float: right" @click="popUpBox(scope.row.id)">
|
||||
顶升
|
||||
style="float: right" @click="butSendAgvTask(scope.row.id)">
|
||||
发送
|
||||
</el-button>
|
||||
<el-button type="primary"
|
||||
:disabled="scope.row.status!='ATCALL' && scope.row.status!='UP_CONTAINER' && scope.row.status!='OPEN' "
|
||||
<el-button type="danger"
|
||||
:disabled="scope.row.status!='OPEN' && scope.row.status!='UP_CONTAINER' && scope.row.status!='OPEN' "
|
||||
align="center"
|
||||
size="mini"
|
||||
style="float: left" @click="toAgvTaskFinish(scope.row)">
|
||||
完成
|
||||
异常
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
|
@ -196,7 +196,7 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import crudAgvTask, {missionStateCallback} from '@/api/agvTask'
|
||||
import crudAgvTask, {missionStateCallback,sendAgvTask} from '@/api/agvTask'
|
||||
import CRUD, {presenter, header, form, crud} from '@crud/crud'
|
||||
import rrOperation from '@crud/RR.operation'
|
||||
import crudOperation from '@crud/CRUD.operation'
|
||||
|
|
@ -351,6 +351,12 @@ export default {
|
|||
this.form1.missionCode = id;
|
||||
this.agvTaskCallbackStatus = true;
|
||||
},
|
||||
butSendAgvTask(id) {//发送
|
||||
crudAgvTask.sendAgvTask(id).then(res => {
|
||||
this.crud.notify(res.message, res.status);
|
||||
this.crud.toQuery()
|
||||
})
|
||||
},
|
||||
resetQuery() {
|
||||
this.radio3 = '全部';
|
||||
this.crud.resetQuery()
|
||||
|
|
@ -358,7 +364,6 @@ export default {
|
|||
clickChange(lab) {
|
||||
if (lab === "全部") {
|
||||
this.crud.resetQuery();
|
||||
this.crud.toQuery();
|
||||
} else if (lab === "货架") {
|
||||
this.query.jobType = 'RACK'
|
||||
this.crud.toQuery();
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@
|
|||
size="small"
|
||||
placeholder="任务状态"
|
||||
class="filter-item"
|
||||
style="width: 150px"
|
||||
style="width: 100px"
|
||||
@change="crud.toQuery"
|
||||
>
|
||||
<el-option
|
||||
|
|
@ -31,28 +31,110 @@
|
|||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
<date-range-picker v-model="query.createTime" class="date-item" style="width: 100px" />
|
||||
<label class="el-form-item-label">原点位</label>
|
||||
<el-input v-model="query.srcPointCode" clearable placeholder="原点位" style="width: 185px;" class="filter-item" @keyup.enter.native="crud.toQuery" />
|
||||
<label class="el-form-item-label">目标点位</label>
|
||||
<el-input v-model="query.dstPointCode" clearable placeholder="目标点位" style="width: 185px;" class="filter-item" @keyup.enter.native="crud.toQuery" />
|
||||
<el-input v-model="query.srcPointCode" clearable placeholder="原点位" style="width: 140px;" class="filter-item" @keyup.enter.native="crud.toQuery" />
|
||||
<el-input v-model="query.dstPointCode" clearable placeholder="目标点位" style="width: 140px;" class="filter-item" @keyup.enter.native="crud.toQuery" />
|
||||
<date-range-picker v-if="crud.props.searchToggle" start-placeholder="创建日期" v-model="query.createTime" class="date-item" style="width: 100px" />
|
||||
<rrOperation :crud="crud" />
|
||||
<!--如果想在工具栏加入更多按钮,可以使用插槽方式, slot = 'left' or 'right'-->
|
||||
<crudOperation :permission="permission" :tableKey="this.$options.name">
|
||||
<el-button
|
||||
v-permission="permission.rgAsn"
|
||||
slot="right"
|
||||
class="filter-item"
|
||||
type="primary"
|
||||
size="mini"
|
||||
icon="el-icon-document-add"
|
||||
v-show="true"
|
||||
@click="ManualReceivingFlag=true"
|
||||
@click="ManualReceivingFlag=true;AsnType='STORAGE';agvFlag=0;fromManualReceiving={}"
|
||||
>
|
||||
人工入库
|
||||
</el-button>
|
||||
<el-button
|
||||
v-permission="permission.agvAsn"
|
||||
slot="right"
|
||||
class="filter-item"
|
||||
type="primary"
|
||||
size="mini"
|
||||
icon="el-icon-document-add"
|
||||
v-show="true"
|
||||
@click="ManualReceivingFlag=true;AsnType='BOX';agvFlag=1"
|
||||
>
|
||||
AGV入库
|
||||
</el-button>
|
||||
<el-button
|
||||
v-permission="permission.agvStockAsn"
|
||||
slot="right"
|
||||
class="filter-item"
|
||||
type="primary"
|
||||
size="mini"
|
||||
icon="el-icon-document-add"
|
||||
v-show="true"
|
||||
@click="fromSTAgvReceiving=true;AsnType='BOX';getPoints('LX');"
|
||||
>
|
||||
AGV搬运容器入场
|
||||
</el-button>
|
||||
<el-button
|
||||
v-permission="permission.lxPutAway"
|
||||
slot="right"
|
||||
class="filter-item"
|
||||
type="danger"
|
||||
size="mini"
|
||||
icon="el-icon-document-add"
|
||||
v-show="true"
|
||||
:disabled="crud.selections.length !== 1 || this.crud.selections[0].taskStatus!=='PUTAWAY'"
|
||||
@click="putawaySync()"
|
||||
>
|
||||
料箱上架
|
||||
</el-button>
|
||||
</crudOperation>
|
||||
<el-dialog title="AGV搬运容器入场" :visible.sync="fromSTAgvReceiving" width="400px">
|
||||
<el-form ref="fromBack" :model="fromBack" :rules="ruleBack" size="small" label-width="80px">
|
||||
<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-item label="起点库位" prop="point">
|
||||
<el-select v-model="fromBack.poinId" clearable value-key="id" filterable placeholder="请选择">
|
||||
<el-option
|
||||
v-for="item in pointList"
|
||||
:key="item.id"
|
||||
:label="item.area.name+item.name"
|
||||
:value="item.id"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="fromSTAgvReceiving = false">取 消</el-button>
|
||||
<el-button type="primary" @click="STAgvReceiving(fromBack.poinId)">确 定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<el-dialog title="料箱上架" :visible.sync="fromSTputawayFlag" width="400px">
|
||||
<el-form ref="fromBack" :model="fromSTputaway" :rules="ruleBack" size="small" label-width="80px">
|
||||
<el-form-item label="目标库位" prop="point">
|
||||
<el-select v-model="fromSTputaway.pointId" clearable value-key="id" filterable placeholder="请选择">
|
||||
<el-option
|
||||
v-for="item in pointList"
|
||||
:key="item.id"
|
||||
:label="item.area.name+item.name"
|
||||
:value="item.id"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="fromSTputawayFlag = false">取 消</el-button>
|
||||
<el-button type="primary" @click="ButSTputaway()">确 定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
<!--表单组件-->
|
||||
<el-dialog title="人工入库" :visible.sync="ManualReceivingFlag" width="600px">
|
||||
<el-dialog title="入库" :visible.sync="ManualReceivingFlag" width="600px">
|
||||
<el-form ref="fromBack" :inline="true" :model="fromManualReceiving" :rules="rules" size="mini" label-width="120px">
|
||||
<!-- <el-form-item label="容器类型" prop="storageType">
|
||||
<el-select v-model="fromBack.storageType" value-key="id" filterable placeholder="请选择">
|
||||
|
|
@ -97,7 +179,7 @@
|
|||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button @click="ManualReceivingFlag = false">取 消</el-button>
|
||||
<el-button @click="ManualReceivingFlag = false;">取 消</el-button>
|
||||
<el-button type="primary" @click="manualReceiving()">确 定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
|
|
@ -105,6 +187,7 @@
|
|||
<el-table ref="table" border height="66vh" 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="xh" type="index" :index="indexMethod" label="序号"/>
|
||||
<el-table-column prop="id"label="ID"/>
|
||||
<el-table-column :show-overflow-tooltip="true" prop="itemCode" label="物料编码">
|
||||
<template slot-scope="scope">
|
||||
<div>{{ scope.row.itemKey.item.code }}</div>
|
||||
|
|
@ -158,7 +241,7 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import crudTask, { devanRfid } from '@/api/task'
|
||||
import crudTask, { devanRfid,butSTputaway } from '@/api/task'
|
||||
import DonMessage from "@/utils/message";
|
||||
import CRUD, { presenter, header, form, crud } from '@crud/crud'
|
||||
import rrOperation from '@crud/RR.operation'
|
||||
|
|
@ -167,7 +250,7 @@ import udOperation from '@crud/UD.operation'
|
|||
import pagination from '@crud/Pagination'
|
||||
import DateRangePicker from "@/components/DateRangePicker/index.vue";
|
||||
import {getItemsList} from "@/api/item";
|
||||
import {getPoints} from "@/api/point";
|
||||
import pointUrl, {getPoints} from "@/api/point";
|
||||
import {getStockTypes} from "@/api/stockType";
|
||||
import {devan} from "@/api/inventory";
|
||||
|
||||
|
|
@ -179,7 +262,7 @@ export default {
|
|||
dicts: ['task_status','asn_status'],
|
||||
cruds() {
|
||||
return CRUD({
|
||||
query: {taskType: ['FC_RK']},
|
||||
query: {taskType: ['FC_RK','SM_RK','RM_RK']},
|
||||
title: '收货任务',
|
||||
url: 'api/task',
|
||||
idField: 'id',
|
||||
|
|
@ -198,17 +281,37 @@ export default {
|
|||
},
|
||||
data() {
|
||||
return {
|
||||
fromSTputawayFlag:false,
|
||||
fromSTputaway:{pointId:null},
|
||||
fromSTAgvReceiving:false,
|
||||
storageTypes:[],
|
||||
fromBack: {storageType: null,ids:[]},
|
||||
ManualReceivingFlag: false,
|
||||
agvFlag: 0,
|
||||
AsnType: 'STORAGE',
|
||||
permission: {
|
||||
add: ['admin', 'task:add'],
|
||||
edit: ['admin', 'task:edit'],
|
||||
del: ['admin', 'task:del']
|
||||
del: ['admin', 'task:del'],
|
||||
download: ['admin', 'task:download'],
|
||||
agvAsn: ['admin', 'task:agvAsn'],
|
||||
rgAsn: ['admin', 'task:rgAsn'],
|
||||
agvStockAsn: ['admin', 'task:agvStockAsn'],
|
||||
lxPutAway: ['admin', 'task:lxPutAway']
|
||||
},
|
||||
rules: {
|
||||
RFID: [
|
||||
{required: true, message: '必填', trigger: 'blur'}
|
||||
],
|
||||
},
|
||||
ruleBack: {
|
||||
storageType: [
|
||||
{required: true, message: '必填', trigger: 'blur'}
|
||||
],
|
||||
point: [
|
||||
{required: true, message: '必填', trigger: 'blur'}
|
||||
],
|
||||
},
|
||||
queryTypeOptions: [
|
||||
{key: 'itemCode', display_name: '物料代码'},
|
||||
{key: 'itemName', display_name: '物料名称'},
|
||||
|
|
@ -218,7 +321,7 @@ export default {
|
|||
],
|
||||
itemListData: [],
|
||||
pointList: [],
|
||||
// 人工入库
|
||||
// 入库
|
||||
fromManualReceiving:{ RFID:null,pointId:null }
|
||||
}
|
||||
},
|
||||
|
|
@ -226,12 +329,36 @@ export default {
|
|||
// 初始化数据
|
||||
this.itemDataGet();
|
||||
this.getPoints(null);
|
||||
this.getStorageTypes();
|
||||
},
|
||||
methods: {
|
||||
// 钩子:在获取表格数据之前执行,false 则代表不获取数据
|
||||
[CRUD.HOOK.beforeRefresh]() {
|
||||
return true
|
||||
},
|
||||
getStorageTypes() {
|
||||
getStockTypes({ }).then(res => {
|
||||
this.storageTypes= res.content.map(function(obj) {
|
||||
if (obj.hasChildren) {
|
||||
obj.children = null
|
||||
}
|
||||
return obj
|
||||
})
|
||||
})
|
||||
},
|
||||
//容器入场
|
||||
STAgvReceiving(pointId) {
|
||||
const ids = [];
|
||||
ids.push(pointId)
|
||||
this.fromBack.ids=ids;
|
||||
crudTask.STAgvReceiving(this.fromBack).then(res => {
|
||||
this.fromSTAgvReceiving = false;
|
||||
this.crud.toQuery()
|
||||
this.crud.notify("入场成功", CRUD.NOTIFICATION_TYPE.SUCCESS);
|
||||
}).catch(e => {
|
||||
this.crud.notify("入场失败", CRUD.NOTIFICATION_TYPE.ERROR);
|
||||
})
|
||||
},
|
||||
indexMethod(index) {
|
||||
return index * 1 + 1;
|
||||
},
|
||||
|
|
@ -257,8 +384,8 @@ export default {
|
|||
}
|
||||
})
|
||||
},
|
||||
getPoints(billCode) {
|
||||
getPoints(billCode+"").then(res => {
|
||||
getPoints(areaCode) {
|
||||
getPoints(areaCode+"",this.AsnType).then(res => {
|
||||
this.pointList= res.map(function(obj) {
|
||||
if (obj.hasChildren) {
|
||||
obj.children = null
|
||||
|
|
@ -268,11 +395,27 @@ export default {
|
|||
})
|
||||
},
|
||||
manualReceiving(){
|
||||
this.fromManualReceiving.agvFlag=this.agvFlag
|
||||
crudTask.manualReceiving(this.fromManualReceiving).then(res => {
|
||||
this.crud.notify(res.message, res.status)
|
||||
this.crud.toQuery()
|
||||
this.fromManualReceiving={}
|
||||
})
|
||||
},
|
||||
putawaySync(){
|
||||
this.fromSTputawayFlag=true;
|
||||
this.AsnType='STORAGE';
|
||||
this.getPoints('LX');
|
||||
this.pointList.push(this.crud.selections[0].dstPoint);
|
||||
this.fromSTputaway.pointId=this.crud.selections[0].dstPoint.id
|
||||
},
|
||||
ButSTputaway(){
|
||||
this.fromSTputaway.taskId=this.crud.selections[0].id;
|
||||
butSTputaway(this.fromSTputaway).then(res => {
|
||||
this.crud.notify(res.message, res.status)
|
||||
this.crud.toQuery()
|
||||
this.fromSTputawayFlag=false;
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,79 +2,46 @@
|
|||
<div class="app-container">
|
||||
<!--工具栏-->
|
||||
<div class="head-container">
|
||||
<label v-show="false" class="el-form-item-label">物料编码</label>
|
||||
<el-select
|
||||
v-show="false"
|
||||
v-model="query.itemCode"
|
||||
value-key="id"
|
||||
filterable
|
||||
multiple
|
||||
placeholder="请选择物料"
|
||||
style="width: 150px;"
|
||||
class="filter-item"
|
||||
@focus="getItem"
|
||||
@keyup.enter.native="crud.toQuery"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in items"
|
||||
:key="item.id"
|
||||
:label="item.code"
|
||||
:value="item.code"
|
||||
/>
|
||||
</el-select>
|
||||
<!--
|
||||
<el-input v-model="query.itemCode" clearable placeholder="请输入物料编码" style="width: 140px;" class="filter-item" @keyup.enter.native="crud.toQuery" />
|
||||
-->
|
||||
<label class="el-form-item-label">物料编码</label>
|
||||
<el-input
|
||||
v-model="query.itemCodeOne"
|
||||
clearable
|
||||
placeholder="请输入物料编码"
|
||||
style="width: 150px;"
|
||||
placeholder="物料编码"
|
||||
style="width: 140px;"
|
||||
class="filter-item"
|
||||
@keyup.enter.native="crud.toQuery"
|
||||
/>
|
||||
<label class="el-form-item-label">物料名称</label>
|
||||
<el-input
|
||||
v-model="query.itemName"
|
||||
clearable
|
||||
placeholder="请输入物料名称"
|
||||
style="width: 150px;"
|
||||
placeholder="物料名称"
|
||||
style="width: 140px;"
|
||||
class="filter-item"
|
||||
@keyup.enter.native="crud.toQuery"
|
||||
/>
|
||||
|
||||
<label class="el-form-item-label">批次号</label>
|
||||
<el-input
|
||||
v-model="query.propC1"
|
||||
clearable
|
||||
placeholder="请输入批次号"
|
||||
style="width: 150px;"
|
||||
placeholder="批次号"
|
||||
style="width: 140px;"
|
||||
class="filter-item"
|
||||
@keyup.enter.native="crud.toQuery"
|
||||
/>
|
||||
|
||||
<label class="el-form-item-label">容器号</label>
|
||||
<el-input
|
||||
v-model="query.stockName"
|
||||
clearable
|
||||
placeholder="请输入容器号"
|
||||
style="width: 150px;"
|
||||
placeholder="容器号"
|
||||
style="width: 140px;"
|
||||
class="filter-item"
|
||||
@keyup.enter.native="crud.toQuery"
|
||||
/>
|
||||
<el-input
|
||||
v-show="false"
|
||||
v-model="query.itemId"
|
||||
/>
|
||||
<rrOperation :crud="crud" />
|
||||
|
||||
<el-button class="filter-item" size="mini" type="warning" icon="el-icon-refresh-left" @click="resetQuery">重置
|
||||
</el-button>
|
||||
|
||||
<!--如果想在工具栏加入更多按钮,可以使用插槽方式, slot = 'left' or 'right'-->
|
||||
<crudOperation :permission="permission" :table-key="this.$options.name">
|
||||
<el-button
|
||||
v-permission="permission.ctDeav"
|
||||
slot="right"
|
||||
class="filter-item"
|
||||
type="danger"
|
||||
|
|
@ -217,6 +184,41 @@
|
|||
<div>{{ scope.row.itemKey.item.name }}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column :show-overflow-tooltip="true" prop="propC1" label="批次号">
|
||||
<template slot-scope="scope">
|
||||
<div>{{ scope.row.itemKey.propC1 }}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column :show-overflow-tooltip="true" prop="propC2" label="字符">
|
||||
<template slot-scope="scope">
|
||||
<div>{{ scope.row.itemKey.propC2 }}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column :show-overflow-tooltip="true" prop="propC3" label="系统单号">
|
||||
<template slot-scope="scope">
|
||||
<div>{{ scope.row.itemKey.propC3 }}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column :show-overflow-tooltip="true" prop="propC4" label="厂家供货码">
|
||||
<template slot-scope="scope">
|
||||
<div>{{ scope.row.itemKey.propC4 }}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column :show-overflow-tooltip="true" prop="propC5" label="供货数量">
|
||||
<template slot-scope="scope">
|
||||
<div>{{ scope.row.itemKey.propC5 }}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column :show-overflow-tooltip="true" prop="propC6" label="流水号">
|
||||
<template slot-scope="scope">
|
||||
<div>{{ scope.row.itemKey.propC6 }}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column :show-overflow-tooltip="true" prop="propC7" label="RFID码">
|
||||
<template slot-scope="scope">
|
||||
<div>{{ scope.row.itemKey.propC7 }}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column :show-overflow-tooltip="true" prop="areaName" label="区域">
|
||||
<template slot-scope="scope">
|
||||
<span v-if="scope.row.point != null">{{ scope.row.point.area.name }}</span>
|
||||
|
|
@ -320,7 +322,7 @@ export default {
|
|||
optShow: {
|
||||
add: false,
|
||||
edit: false,
|
||||
del: false,
|
||||
del: true,
|
||||
reset: false,
|
||||
download: true
|
||||
}
|
||||
|
|
@ -336,7 +338,9 @@ export default {
|
|||
permission: {
|
||||
add: ['admin', 'inventory:add'],
|
||||
edit: ['admin', 'inventory:edit'],
|
||||
del: ['admin', 'inventory:del']
|
||||
del: ['admin', 'inventory:del'],
|
||||
download: ['admin', 'inventory:download'],
|
||||
ctDeav: ['admin', 'inventory:ctDeav']
|
||||
},
|
||||
FromDevanningFlag: false,
|
||||
devanPropC6: { startPropC6: null, endPropC6: null },
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@
|
|||
</el-select>
|
||||
<el-input v-model="query.itemName" clearable placeholder="物料名称" style="width: 140px;" class="filter-item"
|
||||
@keyup.enter.native="crud.toQuery"/>
|
||||
<el-select v-model="query.logType" clearable placeholder="操作类型" class="filter-item"
|
||||
<el-select v-model="query.logType" style="width: 110px" clearable placeholder="操作类型" class="filter-item"
|
||||
@keyup.enter.native="crud.toQuery">
|
||||
<el-option
|
||||
v-for="logtype in dict.inv_log_type"
|
||||
|
|
@ -27,7 +27,7 @@
|
|||
@change="crud.toQuery"
|
||||
/>
|
||||
</el-select>
|
||||
<el-select v-model="query.incDec" clearable placeholder="增加/减少" class="filter-item"
|
||||
<el-select v-model="query.incDec" clearable placeholder="增加/减少" style="width: 110px" class="filter-item"
|
||||
@keyup.enter.native="crud.toQuery">
|
||||
<el-option
|
||||
v-for="incdec in dict.inc_dec"
|
||||
|
|
@ -37,7 +37,7 @@
|
|||
@change="crud.toQuery"
|
||||
/>
|
||||
</el-select>
|
||||
<el-input v-model="query.propC1" clearable placeholder="请输入批次号" style="width: 140px;" class="filter-item"
|
||||
<el-input v-model="query.propC1" clearable placeholder="批次号" style="width: 90px;" class="filter-item"
|
||||
@keyup.enter.native="crud.toQuery"/>
|
||||
<date-range-picker v-model="query.createTime" class="date-item" style="width: 100px"/>
|
||||
<rrOperation :crud="crud"/>
|
||||
|
|
@ -56,6 +56,7 @@
|
|||
height="70vh"
|
||||
>
|
||||
<el-table-column type="selection" width="55"/>
|
||||
<el-table-column prop="id" label="ID"/>
|
||||
<el-table-column prop="itemCode" label="物料编码"/>
|
||||
<el-table-column prop="itemName" label="物料名称"/>
|
||||
<el-table-column prop="propC1" label="批次号"/>
|
||||
|
|
@ -63,7 +64,7 @@
|
|||
<el-table-column prop="propC3" label="系统单号"/>
|
||||
<el-table-column prop="propC4" label="厂家供货码"/>
|
||||
<el-table-column prop="propC5" label="供货数量"/>
|
||||
<el-table-column prop="propC6" label="流水号"/>
|
||||
<el-table-column :show-overflow-tooltip="true" prop="propC6" label="流水号"/>
|
||||
<el-table-column prop="logType" label="操作类型">
|
||||
<template slot-scope="scope">
|
||||
{{ dict.label.inv_log_type[scope.row.logType] }}
|
||||
|
|
@ -79,7 +80,6 @@
|
|||
<el-table-column prop="srcQty" label="原数量"/>
|
||||
<el-table-column prop="dstQty" label="目标数量"/>
|
||||
<el-table-column prop="occurQuantity" label="发生数量"/>
|
||||
<el-table-column :show-overflow-tooltip="true" prop="refObj" label="流水号"/>
|
||||
<el-table-column prop="occurTime" label="发生时间" width="150"/>
|
||||
<el-table-column prop="description" label="描述"/>
|
||||
<el-table-column prop="createBy" label="创建人"/>
|
||||
|
|
|
|||
|
|
@ -2,22 +2,38 @@
|
|||
<div class="app-container">
|
||||
<!--工具栏-->
|
||||
<div class="head-container">
|
||||
<div v-if="crud.props.searchToggle">
|
||||
<!-- 搜索 -->
|
||||
<date-range-picker
|
||||
v-model="query.dispatchDate"
|
||||
start-placeholder="dispatchDateStart"
|
||||
end-placeholder="dispatchDateStart"
|
||||
class="date-item"
|
||||
<el-input
|
||||
style="width: 140px"
|
||||
v-model="query.relatedBill1"
|
||||
clearable
|
||||
placeholder="系统单号"
|
||||
class="filter-item"
|
||||
@keyup.enter.native="crud.toQuery"
|
||||
/>
|
||||
<el-input
|
||||
style="width: 140px"
|
||||
v-model="query.relatedBill2"
|
||||
clearable
|
||||
placeholder="登记单号"
|
||||
class="filter-item"
|
||||
@keyup.enter.native="crud.toQuery"
|
||||
/>
|
||||
<el-select
|
||||
style="width: 110px"
|
||||
v-model="query.status"
|
||||
clearable
|
||||
size="small"
|
||||
placeholder="订单状态"
|
||||
class="filter-item"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in dict.asn_status"
|
||||
:key="item.id"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
<date-range-picker
|
||||
v-model="query.erTime"
|
||||
start-placeholder="erTimeStart"
|
||||
end-placeholder="erTimeStart"
|
||||
class="date-item"
|
||||
/>
|
||||
<rrOperation :crud="crud"/>
|
||||
</div>
|
||||
</el-select>
|
||||
<rrOperation :crud="crud"/>
|
||||
<!--如果想在工具栏加入更多按钮,可以使用插槽方式, slot = 'left' or 'right'-->
|
||||
<crudOperation :permission="permission" :table-key="this.$options.name">
|
||||
<el-button
|
||||
|
|
@ -45,43 +61,51 @@
|
|||
</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.billType" style="width: 370px;" />
|
||||
<el-dialog :close-on-click-modal="false" :before-close="crud.cancelCU" :visible.sync="crud.status.cu > 0" :title="crud.status.title" width="580px">
|
||||
<el-form ref="form" :inline="true" :model="form" :rules="rules" size="small" label-width="120px">
|
||||
<el-form-item label="系统单号" prop="relatedBill1">
|
||||
<el-input v-model="form.relatedBill1" style="width: 135px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="订单来源">
|
||||
<el-input v-model="form.orderOrigin" style="width: 370px;" />
|
||||
<el-form-item label="登记单号">
|
||||
<el-input v-model="form.relatedBill2" style="width: 135px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="优先级">
|
||||
<el-input v-model="form.priority" style="width: 370px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="货主">
|
||||
<el-input v-model="form.owner" 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.relatedBill2" style="width: 370px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="来源名称">
|
||||
<el-input v-model="form.sourceName" style="width: 370px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="订单状态">
|
||||
<el-select v-model="form.status" filterable placeholder="请选择">
|
||||
<el-form-item label="单据类型" prop="billType">
|
||||
<el-select v-model="form.billType" value-key="id" filterable placeholder="请选择单据类型"
|
||||
style="width: 135px;">
|
||||
<el-option
|
||||
v-for="item in dict.pick_status"
|
||||
:key="item.id"
|
||||
:label="item.label"
|
||||
:value="item.value" />
|
||||
v-for="item in billTypeList"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="item"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="订单状态" prop="status">
|
||||
<el-select v-model="form.status" filterable placeholder="请选择" style="width: 135px;">
|
||||
<el-option
|
||||
v-for="item in dict.pick_status"
|
||||
:key="item.id"
|
||||
:label="item.label"
|
||||
:value="item.value" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="订单来源">
|
||||
<el-input v-model="form.orderOrigin" style="width: 135px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="优先级">
|
||||
<el-input v-model="form.priority" style="width: 135px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="货主">
|
||||
<el-input v-model="form.owner" style="width: 135px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="来源名称">
|
||||
<el-input v-model="form.sourceName" style="width: 135px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="发货时间">
|
||||
<el-date-picker v-model="form.dispatchDate" type="datetime" style="width: 370px;" />
|
||||
<el-date-picker v-model="form.dispatchDate" type="datetime" style="width: 135px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="操作时间">
|
||||
<el-date-picker v-model="form.erTime" type="datetime" style="width: 370px;" />
|
||||
<el-date-picker v-model="form.erTime" type="datetime" style="width: 135px;" />
|
||||
</el-form-item>
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
|
|
@ -90,27 +114,33 @@
|
|||
</div>
|
||||
</el-dialog>
|
||||
<!--表格渲染-->
|
||||
<el-table ref="table" border v-loading="crud.loading" :data="crud.data" size="small" style="width: 100%;" @selection-change="crud.selectionChangeHandler">
|
||||
<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="relatedBill1" label="系统单号" />
|
||||
<el-table-column prop="relatedBill2" label="客户订单号" />
|
||||
<el-table-column prop="relatedBill2" label="登记单号" />
|
||||
<el-table-column prop="billType.name" label="单据类型" />
|
||||
<el-table-column prop="priority" label="优先级" />
|
||||
<el-table-column prop="owner" label="货主" />
|
||||
<el-table-column prop="address" label="整合地址" />
|
||||
<el-table-column prop="status" label="订单状态">
|
||||
<template slot-scope="scope">
|
||||
{{ dict.label.pick_status[scope.row.status] }}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="priority" label="优先级" />
|
||||
<el-table-column prop="owner" label="货主" />
|
||||
<el-table-column prop="address" label="整合地址" />
|
||||
<el-table-column prop="dispatchDate" label="发货时间" />
|
||||
<el-table-column prop="erTime" label="操作时间" />
|
||||
<el-table-column fixed="right" v-if="checkPer(['admin','pick:edit','pick:del'])" label="操作" width="150px" align="center">
|
||||
<el-table-column v-if="checkPer(['admin','asn:edit','asn:del'])" fixed="right" label="操作" align="center">
|
||||
<template slot-scope="scope">
|
||||
<udOperation
|
||||
:data="scope.row"
|
||||
:permission="permission"
|
||||
/>
|
||||
<el-button
|
||||
v-permission="permission.add"
|
||||
class="filter-item"
|
||||
type="primary"
|
||||
size="mini"
|
||||
icon="el-icon-document-add"
|
||||
@click="jumpPickDetail(scope.row.relatedBill1)"
|
||||
>
|
||||
查看明细
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
|
|
@ -127,35 +157,62 @@ import rrOperation from '@crud/RR.operation'
|
|||
import crudOperation from '@crud/CRUD.operation'
|
||||
import udOperation from '@crud/UD.operation'
|
||||
import pagination from '@crud/Pagination'
|
||||
import {getBillType} from "@/api/billType";
|
||||
|
||||
const defaultForm = { id: null, deptId: null, billType: null, orderOrigin: null, priority: null, owner: null, relatedBill1: null, relatedBill2: null, sourceName: null, status: null, address: null, dispatchDate: null, erTime: null, createBy: null, updateBy: null, createTime: null, updateTime: null, orderDate: null }
|
||||
export default {
|
||||
name: 'Pick',
|
||||
components: { pagination, crudOperation, rrOperation, udOperation },
|
||||
mixins: [presenter(), header(), form(defaultForm), crud()],
|
||||
dicts: ['pick_status'],
|
||||
dicts: ['pick_status', 'asn_status'],
|
||||
cruds() {
|
||||
return CRUD({ title: 'pick', url: 'api/pick', idField: 'id', sort: 'id,desc', crudMethod: { ...crudPick }})
|
||||
return CRUD({ title: '出库单', url: 'api/pick', idField: 'id', sort: 'id,desc', crudMethod: { ...crudPick }})
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
billTypeList: [],
|
||||
permission: {
|
||||
add: ['admin', 'pick:add'],
|
||||
edit: ['admin', 'pick:edit'],
|
||||
del: ['admin', 'pick:del']
|
||||
del: ['admin', 'pick:del'],
|
||||
download: ['admin', 'pick:download'],
|
||||
allocate: ['admin', 'pick:allocate'],
|
||||
cancelAllocate: ['admin', 'pick:cancelAllocate']
|
||||
},
|
||||
tableKey: 'api/pick',
|
||||
rules: {
|
||||
relatedBill1: [
|
||||
{ required: true, message: '必填', trigger: 'blur' }
|
||||
],
|
||||
billType: [
|
||||
{ required: true, message: '必填', trigger: 'blur' }
|
||||
],
|
||||
status: [
|
||||
{ required: true, message: '必填', trigger: 'blur' }
|
||||
]
|
||||
},
|
||||
queryTypeOptions: [
|
||||
]
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.getBillType()
|
||||
},
|
||||
methods: {
|
||||
// 钩子:在获取表格数据之前执行,false 则代表不获取数据
|
||||
[CRUD.HOOK.beforeRefresh]() {
|
||||
return true
|
||||
},
|
||||
getBillType() {
|
||||
getBillType({}).then(res => {
|
||||
this.billTypeList = res.map(function(obj) {
|
||||
if (obj.hasChildren) {
|
||||
obj.children = null
|
||||
}
|
||||
return obj
|
||||
})
|
||||
})
|
||||
},
|
||||
allocate(datas) {
|
||||
this.$confirm(`选中的${datas.length}条数据分配确认?`, '提示', {
|
||||
confirmButtonText: '确定',
|
||||
|
|
@ -177,6 +234,10 @@ export default {
|
|||
this.crud.notify('取消成功!', CRUD.NOTIFICATION_TYPE.SUCCESS)
|
||||
})
|
||||
},
|
||||
jumpPickDetail(relatedBill1) {
|
||||
// 路径/home对应我在router目录下index.js中定义的path属性值
|
||||
this.$router.push({ path: '/business-data/pickDetail/pickDetail', query: { relatedBill1: relatedBill1 }})
|
||||
},
|
||||
cancelAllocate(datas) {
|
||||
this.$confirm(`选中的${datas.length}条数据取消分配确认?`, '提示', {
|
||||
confirmButtonText: '确定',
|
||||
|
|
@ -188,7 +249,7 @@ export default {
|
|||
ids.push(datas[i].id)
|
||||
}
|
||||
crudPick.cancelAllocate(ids).then(res => {
|
||||
this.crud.notify(res.message, res.status)
|
||||
this.crud.notify(res.data, res.status)
|
||||
this.crud.toQuery()
|
||||
}).catch(() => {
|
||||
|
||||
|
|
|
|||
|
|
@ -3,80 +3,37 @@
|
|||
<!--工具栏-->
|
||||
<div class="head-container">
|
||||
<!-- 查询操作-->
|
||||
<el-form ref="form" :inline="true" :model="form" label-width="70px">
|
||||
<el-form-item label="所属订单" prop="relatedBill1">
|
||||
<el-select v-model="form.pick.relatedBill1" value-key="id" filterable placeholder="请所属订单"
|
||||
style="width: 200px;">
|
||||
<el-option
|
||||
v-for="item in pickList"
|
||||
:key="item.id"
|
||||
:label="item.relatedBill1"
|
||||
:value="item.relatedBill1"
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="物料编码">
|
||||
<!-- <el-input v-model="query.itemCode" 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
|
||||
v-for="item in this.itemListData"
|
||||
:key="item.code"
|
||||
:label="item.code"
|
||||
:value="item.code"
|
||||
@keyup.enter.native="crud.toQuery"
|
||||
>
|
||||
<span style="float: left">{{ item.code }}</span>
|
||||
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.name }}</span>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="物料名称">
|
||||
<el-input
|
||||
v-model="query.itemName"
|
||||
clearable
|
||||
placeholder="请输入物料名称"
|
||||
style="width: 140px;"
|
||||
class="filter-item"
|
||||
@keyup.enter.native="crud.toQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="任务号">
|
||||
|
||||
<el-input
|
||||
v-model="query.po"
|
||||
clearable
|
||||
placeholder="请输入任务号"
|
||||
style="width: 140px;"
|
||||
class="filter-item"
|
||||
@keyup.enter.native="crud.toQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
<date-range-picker v-model="query.createTime" class="date-item" style="width: 100px" />
|
||||
<!-- 搜索-->
|
||||
<rrOperation :crud="crud" />
|
||||
<!-- 重置-->
|
||||
<el-button class="filter-item" size="mini" type="warning" icon="el-icon-refresh-left" @click="resetQuery">重置
|
||||
</el-button>
|
||||
</el-form>
|
||||
|
||||
<div class="statusButton" style="border-bottom: solid lightgray 1px;">
|
||||
<el-radio-group v-model="radio3" size="small" @change="clickChange">
|
||||
<el-radio-button label="全部"> 全部</el-radio-button>
|
||||
<el-radio-button label="打开"> 打开</el-radio-button>
|
||||
<el-radio-button label="已分配">已分配</el-radio-button>
|
||||
<el-radio-button label="拣货完成"> 拣货完成</el-radio-button>
|
||||
</el-radio-group>
|
||||
|
||||
</div>
|
||||
|
||||
<el-input
|
||||
style="width: 140px"
|
||||
v-model="query.relatedBill1"
|
||||
clearable
|
||||
placeholder="系统单号"
|
||||
class="filter-item"
|
||||
@keyup.enter.native="crud.toQuery"
|
||||
/>
|
||||
<el-input
|
||||
style="width: 140px"
|
||||
v-model="query.itemCode"
|
||||
clearable
|
||||
placeholder="物料代码"
|
||||
class="filter-item"
|
||||
@keyup.enter.native="crud.toQuery"
|
||||
/>
|
||||
<el-input
|
||||
style="width: 140px"
|
||||
v-model="query.itemName"
|
||||
clearable
|
||||
placeholder="请输入物料名称"
|
||||
class="filter-item"
|
||||
@keyup.enter.native="crud.toQuery"
|
||||
/>
|
||||
<date-range-picker v-model="query.createTime" class="date-item" />
|
||||
<!-- 搜索-->
|
||||
<rrOperation ref="rrOperation" :crud="crud" />
|
||||
<!-- 业务操作-->
|
||||
<crudOperation :permission="permission" :table-key="tableKey">
|
||||
<el-button
|
||||
v-permission="permission.allocate"
|
||||
slot="right"
|
||||
class="filter-item"
|
||||
type="success"
|
||||
|
|
@ -89,6 +46,7 @@
|
|||
</el-button>
|
||||
|
||||
<el-button
|
||||
v-permission="permission.cancelAllocate"
|
||||
slot="right"
|
||||
class="filter-item"
|
||||
type="success"
|
||||
|
|
@ -102,6 +60,7 @@
|
|||
</el-button>
|
||||
|
||||
<el-button
|
||||
v-permission="permission.pickTask"
|
||||
slot="right"
|
||||
class="filter-item"
|
||||
type="danger"
|
||||
|
|
@ -117,7 +76,6 @@
|
|||
</crudOperation>
|
||||
<el-table
|
||||
ref="table"
|
||||
v-loading="crud.loading"
|
||||
border
|
||||
:data="crud.data"
|
||||
size="small"
|
||||
|
|
@ -206,7 +164,7 @@
|
|||
<el-form ref="form" :inline="true" :model="form" :rules="rules" size="small" label-width="120px">
|
||||
<el-form-item label="所属订单" prop="pick">
|
||||
<el-select v-model="form.pick" value-key="id" filterable placeholder="请所属订单"
|
||||
style="width: 200px;">
|
||||
style="width: 135px;">
|
||||
<el-option
|
||||
v-for="item in pickList"
|
||||
:key="item.id"
|
||||
|
|
@ -215,6 +173,9 @@
|
|||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="明细行号">
|
||||
<el-input v-model="form.lineNo" style="width: 135px;" />
|
||||
</el-form-item>
|
||||
<el-form-item label="物料" prop="item">
|
||||
<el-select
|
||||
v-model="form.item"
|
||||
|
|
@ -344,7 +305,8 @@ export default {
|
|||
del: false,
|
||||
reset: false,
|
||||
download: true
|
||||
}
|
||||
},
|
||||
queryOnPresenterCreated: false
|
||||
})
|
||||
},
|
||||
data() {
|
||||
|
|
@ -357,8 +319,13 @@ export default {
|
|||
permission: {
|
||||
add: ['admin', 'pickDetail:add'],
|
||||
edit: ['admin', 'pickDetail:edit'],
|
||||
del: ['admin', 'pickDetail:del']
|
||||
del: ['admin', 'pickDetail:del'],
|
||||
download: ['admin', 'pickDetail:download'],
|
||||
cancelAllocate: ['admin', 'pickDetail:cancelAllocate'],
|
||||
allocate: ['admin', 'pickDetail:allocate'],
|
||||
pickTask: ['admin', 'pickDetail:pickTask']
|
||||
},
|
||||
queryAll: false,
|
||||
tableKey: 'api/pickDetail',
|
||||
rules: {
|
||||
item: [
|
||||
|
|
@ -383,6 +350,7 @@ export default {
|
|||
this.getItem()
|
||||
this.itemDataGet()
|
||||
this.getPicks()
|
||||
this.defaultTableList()
|
||||
},
|
||||
methods: {
|
||||
// 钩子:在获取表格数据之前执行,false 则代表不获取数据
|
||||
|
|
@ -491,24 +459,16 @@ export default {
|
|||
shuaxin() {
|
||||
this.crud.toQuery()
|
||||
},
|
||||
clickChange(lab) {
|
||||
if (lab === '全部') {
|
||||
this.crud.resetQuery()
|
||||
this.crud.toQuery()
|
||||
} else if (lab === '打开') {
|
||||
this.query.status = 'OPEN'
|
||||
this.crud.toQuery()
|
||||
} else if (lab === '已分配') {
|
||||
this.query.status = 'ALLOCATE'
|
||||
this.crud.toQuery()
|
||||
} else if (lab === '拣货完成') {
|
||||
this.query.status = 'PICK_ALL'
|
||||
this.crud.toQuery()
|
||||
}
|
||||
},
|
||||
resetQuery() {
|
||||
this.radio3 = '全部'
|
||||
this.crud.resetQuery()
|
||||
// 默认数据
|
||||
defaultTableList() {
|
||||
this.query.relatedBill1 = this.$route.query.relatedBill1
|
||||
defaultForm.pick.relatedBill1 = this.query.relatedBill1
|
||||
|
||||
let statusList=[];
|
||||
statusList.push('OPEN')
|
||||
statusList.push('ALLOCATE')
|
||||
this.query.statusList = statusList
|
||||
this.crud.toQuery()
|
||||
},
|
||||
editPick(data) {
|
||||
this.crud.toEdit(data)
|
||||
|
|
|
|||
|
|
@ -16,29 +16,31 @@
|
|||
</el-select>
|
||||
<el-input v-model="query.itemName" clearable placeholder="物料名称" style="width: 140px;" class="filter-item" @keyup.enter.native="crud.toQuery" />
|
||||
<el-select
|
||||
v-model="query.agvStatus"
|
||||
v-model="query.taskStatus"
|
||||
clearable
|
||||
size="small"
|
||||
placeholder="任务状态"
|
||||
class="filter-item"
|
||||
style="width: 150px"
|
||||
style="width: 110px"
|
||||
@change="crud.toQuery"
|
||||
>
|
||||
<el-option
|
||||
v-for="item in dict.task_status"
|
||||
v-for="item in dict.pick_status"
|
||||
:key="item.id"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
/>
|
||||
</el-select>
|
||||
|
||||
<date-range-picker v-model="query.createTime" class="date-item" style="width: 100px" />
|
||||
<el-input v-model="query.srcPointCode" clearable placeholder="原点位" style="width: 185px;" class="filter-item" @keyup.enter.native="crud.toQuery" />
|
||||
<el-input v-model="query.dstPointCode" clearable placeholder="目标点位" style="width: 185px;" class="filter-item" @keyup.enter.native="crud.toQuery" />
|
||||
<el-input v-model="query.srcPointCode" clearable placeholder="原点位" style="width: 140px;" class="filter-item" @keyup.enter.native="crud.toQuery" />
|
||||
<el-input v-model="query.dstPointCode" clearable placeholder="目标点位" style="width: 140px;" class="filter-item" @keyup.enter.native="crud.toQuery" />
|
||||
<date-range-picker v-if="crud.props.searchToggle" v-model="query.createTime" class="date-item" style="width: 100px" />
|
||||
<rrOperation :crud="crud" />
|
||||
<!-- <el-checkbox-button class="filter-item" v-model="query.queryAll" @change="clickChange()" style="width: 10px;border-left: solid lightgray 1px;" type="info" border>全部</el-checkbox-button>-->
|
||||
|
||||
<!--如果想在工具栏加入更多按钮,可以使用插槽方式, slot = 'left' or 'right'-->
|
||||
<crudOperation :permission="permission" :table-key="tableKey">
|
||||
<el-button
|
||||
v-permission="permission.rgPick"
|
||||
slot="right"
|
||||
class="filter-item"
|
||||
type="primary"
|
||||
|
|
@ -50,6 +52,7 @@
|
|||
人工出库
|
||||
</el-button>
|
||||
<el-button
|
||||
v-permission="permission.thInv"
|
||||
slot="right"
|
||||
class="filter-item"
|
||||
type="danger"
|
||||
|
|
@ -57,10 +60,24 @@
|
|||
icon="el-icon-document-add"
|
||||
v-show="true"
|
||||
@click="FromInventoryFlag=true"
|
||||
:disabled="crud.selections.length !== 1 || this.crud.selections[0].taskStatus!='ALLOCATE'"
|
||||
:disabled="crud.selections.length !== 1 || this.crud.selections[0].taskStatus!='ALLOCATE'
|
||||
|| this.crud.selections[0].agvTask===null"
|
||||
>
|
||||
替换分配库存
|
||||
</el-button>
|
||||
<el-button
|
||||
v-permission="permission.lxPick"
|
||||
slot="right"
|
||||
class="filter-item"
|
||||
type="danger"
|
||||
size="mini"
|
||||
icon="el-icon-edit"
|
||||
v-show="true"
|
||||
:disabled="crud.selections.length < 1"
|
||||
@click="rmCkPickUp(crud.selections)"
|
||||
>
|
||||
料箱拣货
|
||||
</el-button>
|
||||
</crudOperation>
|
||||
<!--表单组件-->
|
||||
<el-dialog title="人工出库" :visible.sync="ManualPTFlag" width="600px">
|
||||
|
|
@ -118,7 +135,7 @@
|
|||
</el-table-column>
|
||||
<el-table-column prop="srcPoint.code" label="原点位" />
|
||||
<el-table-column prop="dstPoint.code" label="目标点位" />
|
||||
<el-table-column prop="agvStatus" label="任务状态">
|
||||
<el-table-column prop="taskStatus" label="任务状态">
|
||||
<template slot-scope="scope">
|
||||
<span v-if="dict.label.pick_status[scope.row.taskStatus] ==null">{{ scope.row.taskStatus }}</span>
|
||||
<span v-if="scope.row.taskStatus !=null">{{ dict.label.pick_status[scope.row.taskStatus] }}</span>
|
||||
|
|
@ -157,7 +174,7 @@
|
|||
</template>
|
||||
|
||||
<script>
|
||||
import crudTask, {devanRfid,replaceInv} from '@/api/task'
|
||||
import crudTask, {devanRfid,replaceInv,rmCkPickUp} from '@/api/task'
|
||||
import CRUD, { presenter, header, form, crud } from '@crud/crud'
|
||||
import rrOperation from '@crud/RR.operation'
|
||||
import crudOperation from '@crud/CRUD.operation'
|
||||
|
|
@ -176,7 +193,7 @@ export default {
|
|||
mixins: [presenter(), header(), form(defaultForm), crud()],
|
||||
dicts: ['pick_status'],
|
||||
cruds() {
|
||||
return CRUD({ query:{taskType:['PICK']}, title: '出库任务', url: 'api/task', idField: 'id', sort: 'id,desc', crudMethod: { ...crudTask },
|
||||
return CRUD({ query:{taskType:['RM_CK','FC_CK','SM_CK']}, title: '出库任务', url: 'api/task', idField: 'id', sort: 'id,desc', crudMethod: { ...crudTask },
|
||||
optShow: {
|
||||
add: false,
|
||||
edit: false,
|
||||
|
|
@ -184,7 +201,7 @@ export default {
|
|||
reset: true,
|
||||
download: true
|
||||
},
|
||||
queryOnPresenterCreated: true
|
||||
queryOnPresenterCreated: false
|
||||
}
|
||||
)
|
||||
},
|
||||
|
|
@ -198,7 +215,11 @@ export default {
|
|||
permission: {
|
||||
add: ['admin', 'task:add'],
|
||||
edit: ['admin', 'task:edit'],
|
||||
del: ['admin', 'task:del']
|
||||
del: ['admin', 'task:del'],
|
||||
download: ['admin', 'task:download'],
|
||||
lxPick: ['admin', 'task:lxPick'],
|
||||
thInv: ['admin', 'task:thInv'],
|
||||
rgPick: ['admin', 'task:rgPick']
|
||||
},
|
||||
tableKey: 'api/task',
|
||||
rules: {
|
||||
|
|
@ -227,6 +248,7 @@ export default {
|
|||
},
|
||||
mounted() {
|
||||
//初始化数据
|
||||
this.defaultTableList();
|
||||
this.itemDataGet();
|
||||
this.getPickDetail();
|
||||
},
|
||||
|
|
@ -238,6 +260,14 @@ export default {
|
|||
indexMethod(index) {
|
||||
return index * 1+1;
|
||||
},
|
||||
defaultTableList() {
|
||||
let statusList=[];
|
||||
statusList.push('OPEN')
|
||||
statusList.push('ALLOCATE')
|
||||
statusList.push('PICKUP')
|
||||
this.query.statusList = statusList
|
||||
this.crud.toQuery()
|
||||
},
|
||||
queryInventoryFrom(itemId){
|
||||
this.$refs.inventory.queryInventory(itemId)
|
||||
},
|
||||
|
|
@ -285,9 +315,9 @@ export default {
|
|||
this.crud.notify(res.message, res.status)
|
||||
})
|
||||
},
|
||||
//出库-人工拣货-确认
|
||||
//出库-人工出库-确认
|
||||
picking() {
|
||||
this.$confirm(`确认拣货?`, '提示', {
|
||||
this.$confirm(`确认出库?`, '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
|
|
@ -304,6 +334,28 @@ export default {
|
|||
this.$parent.notify('取消成功!', CRUD.NOTIFICATION_TYPE.SUCCESS);
|
||||
});
|
||||
},
|
||||
//出库-料箱拣货
|
||||
rmCkPickUp(taskList) {
|
||||
this.$confirm(`确认拣货?`, '提示', {
|
||||
confirmButtonText: '确定',
|
||||
cancelButtonText: '取消',
|
||||
type: 'warning'
|
||||
}).then(() => {
|
||||
const ids=[];
|
||||
for (let i = 0; i < taskList.length; i++) {
|
||||
ids.push(taskList[i].id)
|
||||
}
|
||||
crudTask.rmCkPickUp(ids).then(res => {
|
||||
this.crud.notify(res.message, res.status)
|
||||
this.crud.toQuery()
|
||||
}).catch(() => {
|
||||
|
||||
})
|
||||
|
||||
}).catch(() => {
|
||||
this.$parent.notify('取消成功!', CRUD.NOTIFICATION_TYPE.SUCCESS);
|
||||
});
|
||||
},
|
||||
getPickDetail() {
|
||||
getPickDetail({ }).then(res => {
|
||||
this.pickDetailList= res.map(function(obj) {
|
||||
|
|
|
|||
|
|
@ -4,11 +4,11 @@
|
|||
<div class="head-container">
|
||||
<div v-if="crud.props.searchToggle">
|
||||
<!-- 搜索 -->
|
||||
<el-input v-model="query.name" clearable size="small" placeholder="输入部门名称搜索" style="width: 200px;" class="filter-item" @keyup.enter.native="crud.toQuery" />
|
||||
<date-range-picker v-model="query.createTime" class="date-item" />
|
||||
<el-input v-model="query.name" clearable size="small" placeholder="部门" style="width: 140px" class="filter-item" @keyup.enter.native="crud.toQuery" />
|
||||
<el-select v-model="query.enabled" clearable size="small" placeholder="状态" class="filter-item" style="width: 90px" @change="crud.toQuery">
|
||||
<el-option v-for="item in enabledTypeOptions" :key="item.key" :label="item.display_name" :value="item.key" />
|
||||
</el-select>
|
||||
<date-range-picker v-model="query.createTime" class="date-item" />
|
||||
<rrOperation />
|
||||
</div>
|
||||
<crudOperation :permission="permission" :tableKey="this.$options.name" />
|
||||
|
|
@ -129,7 +129,8 @@ export default {
|
|||
permission: {
|
||||
add: ['admin', 'dept:add'],
|
||||
edit: ['admin', 'dept:edit'],
|
||||
del: ['admin', 'dept:del']
|
||||
del: ['admin', 'dept:del'],
|
||||
download: ['admin', 'dept:download']
|
||||
},
|
||||
enabledTypeOptions: [
|
||||
{ key: 'true', display_name: '正常' },
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@
|
|||
<Log ref="log" />
|
||||
</div>
|
||||
<!--Form表单-->
|
||||
<el-dialog :close-on-click-modal="false" :before-close="crud.cancelCU" :visible.sync="crud.status.cu > 0" :title="crud.status.title" append-to-body width="730px">
|
||||
<el-dialog :close-on-click-modal="false" :before-close="crud.cancelCU" :visible.sync="crud.status.cu > 0" :title="crud.status.title" append-to-body width="730px">
|
||||
<el-form ref="form" :inline="true" :model="form" :rules="rules" size="small" label-width="100px">
|
||||
<el-form-item label="任务名称" prop="jobName">
|
||||
<el-input v-model="form.jobName" style="width: 220px;" />
|
||||
|
|
@ -70,7 +70,7 @@
|
|||
</div>
|
||||
</el-dialog>
|
||||
<!--表格渲染-->
|
||||
<el-table ref="table" v-loading="crud.loading" :data="crud.data" style="width: 100%;" @selection-change="crud.selectionChangeHandler">
|
||||
<el-table border ref="table" v-loading="crud.loading" :data="crud.data" style="width: 100%;" @selection-change="crud.selectionChangeHandler">
|
||||
<el-table-column :selectable="checkboxT" type="selection" width="55" />
|
||||
<el-table-column :show-overflow-tooltip="true" prop="id" label="任务ID" />
|
||||
<el-table-column :show-overflow-tooltip="true" prop="jobName" label="任务名称" />
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@
|
|||
</el-select>
|
||||
<rrOperation />
|
||||
</div>
|
||||
<crudOperation show="" :permission="permission" :tableKey="this.$options.name" />/>
|
||||
<crudOperation show="" :permission="permission" :tableKey="this.$options.name" />
|
||||
</div>
|
||||
<!--表单渲染-->
|
||||
<el-dialog append-to-body :close-on-click-modal="false" :before-close="crud.cancelCU" :visible.sync="crud.status.cu > 0" :title="crud.status.title" width="570px">
|
||||
|
|
@ -65,16 +65,16 @@
|
|||
<el-form-item label="用户名" prop="username">
|
||||
<el-input v-model="form.username" @keydown.native="keydown($event)" />
|
||||
</el-form-item>
|
||||
<el-form-item label="电话" prop="phone">
|
||||
<el-form-item label="电话">
|
||||
<el-input v-model.number="form.phone" />
|
||||
</el-form-item>
|
||||
<el-form-item label="昵称" prop="nickName">
|
||||
<el-input v-model="form.nickName" @keydown.native="keydown($event)" />
|
||||
</el-form-item>
|
||||
<el-form-item label="邮箱" prop="email">
|
||||
<el-form-item label="邮箱">
|
||||
<el-input v-model="form.email" />
|
||||
</el-form-item>
|
||||
<el-form-item label="部门" prop="dept.id">
|
||||
<el-form-item label="部门" prop="dept">
|
||||
<treeselect
|
||||
v-model="form.dept.id"
|
||||
:options="depts"
|
||||
|
|
@ -255,6 +255,9 @@ export default {
|
|||
],
|
||||
phone: [
|
||||
{ required: true, trigger: 'blur', validator: validPhone }
|
||||
],
|
||||
dept: [
|
||||
{ required: true, message: '部门不能为空', trigger: 'blur' }
|
||||
]
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue