基础信息管理

master
A0010407 1 year ago
parent f946b6b825
commit 6fce996d17

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询库区列表
export function listArea(query) {
return request({
url: '/wms/area/list',
method: 'get',
params: query
});
}
// 查询库区详细
export function getArea(areaId) {
return request({
url: '/wms/area/' + areaId,
method: 'get'
});
}
// 新增库区
export function addArea(data) {
return request({
url: '/wms/area',
method: 'post',
data: data
});
}
// 修改库区
export function updateArea(data) {
return request({
url: '/wms/area',
method: 'put',
data: data
});
}
// 删除库区
export function delArea(areaId) {
return request({
url: '/wms/area/' + areaId,
method: 'delete'
});
}

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询工厂模型列表
export function listFactory(query) {
return request({
url: '/wms/factory/list',
method: 'get',
params: query
});
}
// 查询工厂模型详细
export function getFactory(factoryId) {
return request({
url: '/wms/factory/' + factoryId,
method: 'get'
});
}
// 新增工厂模型
export function addFactory(data) {
return request({
url: '/wms/factory',
method: 'post',
data: data
});
}
// 修改工厂模型
export function updateFactory(data) {
return request({
url: '/wms/factory',
method: 'put',
data: data
});
}
// 删除工厂模型
export function delFactory(factoryId) {
return request({
url: '/wms/factory/' + factoryId,
method: 'delete'
});
}

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询货位管理列表
export function listLocation(query) {
return request({
url: '/wms/location/list',
method: 'get',
params: query
});
}
// 查询货位管理详细
export function getLocation(locationId) {
return request({
url: '/wms/location/' + locationId,
method: 'get'
});
}
// 新增货位管理
export function addLocation(data) {
return request({
url: '/wms/location',
method: 'post',
data: data
});
}
// 修改货位管理
export function updateLocation(data) {
return request({
url: '/wms/location',
method: 'put',
data: data
});
}
// 删除货位管理
export function delLocation(locationId) {
return request({
url: '/wms/location/' + locationId,
method: 'delete'
});
}

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询班次管理列表
export function listShifts(query) {
return request({
url: '/wms/shifts/list',
method: 'get',
params: query
});
}
// 查询班次管理详细
export function getShifts(shiftId) {
return request({
url: '/wms/shifts/' + shiftId,
method: 'get'
});
}
// 新增班次管理
export function addShifts(data) {
return request({
url: '/wms/shifts',
method: 'post',
data: data
});
}
// 修改班次管理
export function updateShifts(data) {
return request({
url: '/wms/shifts',
method: 'put',
data: data
});
}
// 删除班次管理
export function delShifts(shiftId) {
return request({
url: '/wms/shifts/' + shiftId,
method: 'delete'
});
}

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询班组列表
export function listTeam(query) {
return request({
url: '/wms/team/list',
method: 'get',
params: query
});
}
// 查询班组详细
export function getTeam(teamId) {
return request({
url: '/wms/team/' + teamId,
method: 'get'
});
}
// 新增班组
export function addTeam(data) {
return request({
url: '/wms/team',
method: 'post',
data: data
});
}
// 修改班组
export function updateTeam(data) {
return request({
url: '/wms/team',
method: 'put',
data: data
});
}
// 删除班组
export function delTeam(teamId) {
return request({
url: '/wms/team/' + teamId,
method: 'delete'
});
}

@ -0,0 +1,44 @@
import request from '@/utils/request'
// 查询仓库管理列表
export function listWarehouse(query) {
return request({
url: '/wms/warehouse/list',
method: 'get',
params: query
});
}
// 查询仓库管理详细
export function getWarehouse(warehouseId) {
return request({
url: '/wms/warehouse/' + warehouseId,
method: 'get'
});
}
// 新增仓库管理
export function addWarehouse(data) {
return request({
url: '/wms/warehouse',
method: 'post',
data: data
});
}
// 修改仓库管理
export function updateWarehouse(data) {
return request({
url: '/wms/warehouse',
method: 'put',
data: data
});
}
// 删除仓库管理
export function delWarehouse(warehouseId) {
return request({
url: '/wms/warehouse/' + warehouseId,
method: 'delete'
});
}

@ -0,0 +1,432 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="库区编码" prop="areaCode">
<el-input
v-model="queryParams.areaCode"
placeholder="请输入库区编码"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="仓库编码" prop="whCode">
<el-input
v-model="queryParams.whCode"
placeholder="请输入仓库编码"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['wms:area:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['wms:area:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['wms:area:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['wms:area:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="areaList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<!-- 序号 -->
<el-table-column
type="index"
width="90"
align="center"
:index="indexMethod"
label="序号">
</el-table-column>
<el-table-column label="仓库编码" align="center" prop="whCode" />
<el-table-column label="库区编码" align="center" prop="areaCode" />
<el-table-column label="创建人" align="center" prop="createBy" />
<el-table-column label="创建时间" align="center" prop="createTime" />
<el-table-column prop="activeFlag" label="是否启用" align="center">
<template slot-scope="scope">
{{ scope.row.activeFlag == 1 ? "是" : "否" }}
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['wms:area:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['wms:area:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改库区对话框 -->
<el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-row :gutter="10" class="mb8">
<el-col :span="12">
<el-form-item label="库区编码" prop="areaCode">
<el-input v-model="form.areaCode" placeholder="请输入库区编码" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="库区描述" prop="areaDesc">
<el-input v-model="form.areaDesc" placeholder="请输入库区描述(名称)" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10" class="mb8">
<el-col :span="12">
<el-form-item label="区域编码" prop="regionCode">
<el-input v-model="form.regionCode" placeholder="请输入区域编码" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="仓库编码" prop="whCode">
<el-input v-model="form.whCode" placeholder="请输入仓库编码" />
</el-form-item>
</el-col>
</el-row>
<!--
<el-row :gutter="10" class="mb8">
<el-col :span="12">
<el-form-item label="入库过渡库位" prop="instockTranLoc">
<el-input v-model="form.instockTranLoc" placeholder="请输入入库过渡库位" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="出库过渡库位" prop="outstockTranLoc">
<el-input v-model="form.outstockTranLoc" placeholder="请输入出库过渡库位" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10" class="mb8">
<el-col :span="12">
<el-form-item label="拣货过渡库位" prop="pickTranLoc">
<el-input v-model="form.pickTranLoc" placeholder="请输入拣货过渡库位" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="默认异常储位" prop="exSignLocNo">
<el-input v-model="form.exSignLocNo" placeholder="请输入默认异常储位" />
</el-form-item>
</el-col>
</el-row>
<el-form-item label="默认隔离储位" prop="frozenLocNo">
<el-input v-model="form.frozenLocNo" placeholder="请输入默认隔离储位" />
</el-form-item>
<el-form-item label="库区基点" prop="areaPoint">
<el-input v-model="form.areaPoint" placeholder="请输入库区基点" />
</el-form-item>
<el-form-item label="是否使用托盘" prop="useTray">
<el-input v-model="form.useTray" placeholder="请输入是否使用托盘(1-是 0-否)" />
</el-form-item>
<el-form-item label="是否托盘混载" prop="trayMix">
<el-input v-model="form.trayMix" placeholder="请输入是否托盘混载(1-是 0-否)" />
</el-form-item>
<el-form-item label="入库策略" prop="instorageStrategy">
<el-input v-model="form.instorageStrategy" placeholder="请输入入库策略" />
</el-form-item>
<el-form-item label="出库策略" prop="outstorageStrategy">
<el-input v-model="form.outstorageStrategy" placeholder="请输入出库策略" />
</el-form-item>
<el-form-item label="是否强制出库" prop="forceOutstorage">
<el-input v-model="form.forceOutstorage" placeholder="请输入是否强制出库" />
</el-form-item>
<el-form-item label="是否判断库位允许拣货" prop="locPickFlag">
<el-input v-model="form.locPickFlag" placeholder="请输入是否判断库位允许拣货" />
</el-form-item>
<el-form-item label="手持提单时的默认分配规则" prop="allocationRule">
<el-input v-model="form.allocationRule" placeholder="请输入手持提单时的默认分配规则" />
</el-form-item>
<el-form-item label="优先级" prop="priority">
<el-input v-model="form.priority" placeholder="请输入优先级" />
</el-form-item>
<el-form-item label="库区标志" prop="userDefined1">
<el-input v-model="form.userDefined1" placeholder="请输入库区标志(0-普通库区 1-立体库内机库区 2-立体库外机库区" />
</el-form-item> -->
<el-row :gutter="10" class="mb8">
<el-col :span="12">
<el-form-item label="是否启用" prop="activeFlag">
<el-select v-model="form.activeFlag" placeholder="请选择是否启用" @change="$forceUpdate()" clearable>
<el-option v-for="item in options" :key="item.activeFlag" :label="item.label" :value="item.activeFlag"></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="工厂编码" prop="factoryCode">
<el-input v-model="form.factoryCode" placeholder="请输入工厂编码" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listArea, getArea, delArea, addArea, updateArea } from "@/api/wms/area";
export default {
name: "Area",
data() {
return {
//
loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
areaList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
areaCode: null,
areaDesc: null,
regionCode: null,
whCode: null,
instockTranLoc: null,
outstockTranLoc: null,
pickTranLoc: null,
exSignLocNo: null,
frozenLocNo: null,
sapSendSpot: null,
areaPoint: null,
useTray: null,
trayMix: null,
instorageStrategy: null,
outstorageStrategy: null,
forceOutstorage: null,
locPickFlag: null,
allocationRule: null,
gatherLocType: null,
priority: null,
userDefined1: null,
userDefined2: null,
userDefined3: null,
activeFlag: null,
factoryCode: null
},
options: [{
activeFlag: "1",
label: '是'
}, {
activeFlag: "0",
label: '否'
}],
//
form: {},
//
rules: {
whCode: [
{ required: true, message: "仓库编码不能为空", trigger: "blur" }
],
areaCode: [
{ required: true, message: "库区编码不能为空", trigger: "blur" }
],
}
};
},
created() {
this.getList();
},
methods: {
//
indexMethod(index){
return index+1 ;
},
/** 查询库区列表 */
getList() {
this.loading = true;
listArea(this.queryParams).then(response => {
this.areaList = response.rows;
this.total = response.total;
this.loading = false;
});
},
//
cancel() {
this.open = false;
this.reset();
},
//
reset() {
this.form = {
areaId: null,
areaCode: null,
areaDesc: null,
regionCode: null,
whCode: null,
instockTranLoc: null,
outstockTranLoc: null,
pickTranLoc: null,
exSignLocNo: null,
frozenLocNo: null,
sapSendSpot: null,
areaPoint: null,
useTray: null,
trayMix: null,
instorageStrategy: null,
outstorageStrategy: null,
forceOutstorage: null,
locPickFlag: null,
allocationRule: null,
gatherLocType: null,
priority: null,
userDefined1: null,
userDefined2: null,
userDefined3: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
activeFlag: null,
remark: null,
factoryCode: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.areaId)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加库区";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const areaId = row.areaId || this.ids
getArea(areaId).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改库区";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.areaId != null) {
updateArea(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addArea(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const areaIds = row.areaId || this.ids;
this.$modal.confirm('是否确认删除库区编号为"' + areaIds + '"的数据项?').then(function() {
return delArea(areaIds);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('wms/area/export', {
...this.queryParams
}, `area_${new Date().getTime()}.xlsx`)
}
}
};
</script>

@ -0,0 +1,309 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="工厂名称" prop="factoryName">
<el-input
v-model="queryParams.factoryName"
placeholder="请输入工厂名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="工厂状态" prop="status">
<el-select v-model="form.status" placeholder="请选择是否启用" @change="$forceUpdate()" clearable>
<el-option v-for="item in options" :key="item.status" :label="item.label" :value="item.status"></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['wms:factory:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="info"
plain
icon="el-icon-sort"
size="mini"
@click="toggleExpandAll"
>展开/折叠</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table
v-if="refreshTable"
v-loading="loading"
:data="factoryList"
row-key="factoryId"
:default-expand-all="isExpandAll"
:tree-props="{children: 'children', hasChildren: 'hasChildren'}"
>
<el-table-column label="工厂名称" align="center" prop="factoryName" />
<el-table-column label="工厂编码" align="center" prop="factoryCode" />
<el-table-column label="创建人" align="center" prop="createBy" />
<el-table-column label="创建时间" align="center" prop="createTime" />
<el-table-column prop="status" label="是否启用" align="center" >
<template slot-scope="scope">
{{ scope.row.status == 0 ? "是" : "否" }}
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['wms:factory:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-plus"
@click="handleAdd(scope.row)"
v-hasPermi="['wms:factory:add']"
>新增</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['wms:factory:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<!-- 添加或修改工厂模型对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="父工厂名" prop="parentId">
<treeselect v-model="form.parentId" :options="factoryOptions" :normalizer="normalizer" placeholder="请选择父工厂id" />
</el-form-item>
<el-form-item label="工厂名称" prop="factoryName">
<el-input v-model="form.factoryName" placeholder="请输入工厂名称" />
</el-form-item>
<el-form-item label="工厂编码" prop="factoryCode">
<el-input v-model="form.factoryCode" placeholder="请输入工厂编码" />
</el-form-item>
<el-form-item label="负责人" prop="leader">
<el-input v-model="form.leader" placeholder="请输入负责人" />
</el-form-item>
<el-form-item label="联系电话" prop="phone">
<el-input v-model="form.phone" placeholder="请输入联系电话" />
</el-form-item>
<el-form-item label="邮箱" prop="email">
<el-input v-model="form.email" placeholder="请输入邮箱" />
</el-form-item>
<el-form-item label="是否启用" prop="status">
<el-select v-model="form.status" placeholder="请选择是否启用" @change="$forceUpdate()" clearable>
<el-option v-for="item in options" :key="item.status" :label="item.label" :value="item.status"></el-option>
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listFactory, getFactory, delFactory, addFactory, updateFactory } from "@/api/wms/factory";
import Treeselect from "@riophae/vue-treeselect";
import "@riophae/vue-treeselect/dist/vue-treeselect.css";
export default {
name: "Factory",
components: {
Treeselect
},
data() {
return {
//
loading: true,
//
showSearch: true,
//
factoryList: [],
//
factoryOptions: [],
//
title: "",
//
open: false,
//
isExpandAll: true,
//
refreshTable: true,
//
queryParams: {
parentId: null,
ancestors: null,
factoryName: null,
orderNum: null,
leader: null,
phone: null,
email: null,
status: null,
},
options: [{
status: "0",
label: '是'
}, {
status: "1",
label: '否'
}],
//
form: {},
//
rules: {
}
};
},
created() {
this.getList();
},
methods: {
/** 查询工厂模型列表 */
getList() {
this.loading = true;
listFactory(this.queryParams).then(response => {
this.factoryList = this.handleTree(response.data, "factoryId", "parentId");
this.loading = false;
});
},
/** 转换工厂模型数据结构 */
normalizer(node) {
if (node.children && !node.children.length) {
delete node.children;
}
return {
id: node.factoryId,
label: node.factoryName,
children: node.children
};
},
/** 查询工厂模型下拉树结构 */
getTreeselect() {
listFactory().then(response => {
this.factoryOptions = [];
const data = { factoryId: 0, factoryName: '顶级节点', children: [] };
data.children = this.handleTree(response.data, "factoryId", "parentId");
this.factoryOptions.push(data);
});
},
//
cancel() {
this.open = false;
this.reset();
},
//
reset() {
this.form = {
factoryId: null,
parentId: null,
ancestors: null,
factoryName: null,
orderNum: null,
leader: null,
phone: null,
email: null,
status: null,
delFlag: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
/** 新增按钮操作 */
handleAdd(row) {
this.reset();
this.getTreeselect();
if (row != null && row.factoryId) {
this.form.parentId = row.factoryId;
} else {
this.form.parentId = 0;
}
this.open = true;
this.title = "添加工厂模型";
},
/** 展开/折叠操作 */
toggleExpandAll() {
this.refreshTable = false;
this.isExpandAll = !this.isExpandAll;
this.$nextTick(() => {
this.refreshTable = true;
});
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
this.getTreeselect();
if (row != null) {
this.form.parentId = row.factoryId;
}
getFactory(row.factoryId).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改工厂模型";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.factoryId != null) {
updateFactory(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addFactory(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
this.$modal.confirm('是否确认删除工厂模型编号为"' + row.factoryId + '"的数据项?').then(function() {
return delFactory(row.factoryId);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
}
}
};
</script>

@ -0,0 +1,564 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="仓库编码" prop="warehouseCode">
<el-input
v-model="queryParams.warehouseCode"
placeholder="请输入仓库编码"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="库区编码" prop="areaCode">
<el-input
v-model="queryParams.areaCode"
placeholder="请输入库区编码"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="货位编码" prop="locationCode">
<el-input
v-model="queryParams.locationCode"
placeholder="请输入货位编码"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['wms:location:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['wms:location:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['wms:location:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['wms:location:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="locationList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<!-- 序号 -->
<el-table-column
type="index"
width="90"
align="center"
:index="indexMethod"
label="序号">
</el-table-column>
<el-table-column label="仓库编码" align="center" prop="warehouseCode" />
<el-table-column label="仓库名称" align="center" prop="warehouseName" />
<el-table-column label="库区编码" align="center" prop="areaCode" />
<el-table-column label="库区名称" align="center" prop="areaDesc" />
<el-table-column label="货位编码" align="center" prop="locationCode" />
<el-table-column label="创建人" align="center" prop="createBy" />
<el-table-column label="创建时间" align="center" prop="createTime"/>
<el-table-column prop="activeFlag" label="是否启用" align="center">
<template slot-scope="scope">
{{ scope.row.activeFlag == 1 ? "是" : "否" }}
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['wms:location:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['wms:location:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改货位管理对话框 -->
<el-dialog :title="title" :visible.sync="open" width="1000px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-row :gutter="10" class="mb8">
<el-col :span="12">
<el-form-item label="仓库编码" prop="warehouseCode">
<el-input v-model="form.warehouseCode" placeholder="请输入仓库编码" />
</el-form-item>
<el-form-item label="仓库名称" prop="locationCode">
<el-input v-model="form.locationCode" placeholder="请输入仓库编码" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="库区编码" prop="areaCode">
<el-input v-model="form.areaCode" placeholder="请输入库区编码" />
</el-form-item>
<el-form-item label="库区名称" prop="warehouseCode">
<el-input v-model="form.warehouseCode" placeholder="请输入库区名称" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10" class="mb8">
<el-col :span="12">
<el-form-item label="货位编码" prop="locationCode">
<el-input v-model="form.locationCode" placeholder="请输入货位编码" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="是否启用" prop="activeFlag">
<el-input v-model="form.activeFlag" placeholder="请输入是否启用" />
</el-form-item>
</el-col>
</el-row>
<!-- <el-form-item label="上架顺序" prop="shelfOrder">
<el-input v-model="form.shelfOrder" placeholder="请输入上架顺序" />
</el-form-item> -->
<!-- <el-row :gutter="10" class="mb8">
<el-col :span="12">
<el-form-item label="盘点顺序" prop="checkOrder">
<el-input v-model="form.checkOrder" placeholder="请输入盘点顺序" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="拣货顺序" prop="pickOrder">
<el-input v-model="form.pickOrder" placeholder="请输入拣货顺序" />
</el-form-item>
</el-col>
</el-row> -->
<!-- <el-row :gutter="10" class="mb8">
<el-col :span="12">
<el-form-item label="货位使用" prop="locationUse">
<el-input v-model="form.locationUse" placeholder="请输入货位使用" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="是否允许拣货" prop="pickFlag">
<el-input v-model="form.pickFlag" placeholder="请输入是否允许拣货" />
</el-form-item>
</el-col>
</el-row>
<el-row :gutter="10" class="mb8">
<el-col :span="12">
<el-form-item label="是否开启库内交接" prop="isOpenKnFlag">
<el-input v-model="form.isOpenKnFlag" placeholder="请输入是否开启库内交接" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="是否开启库内交接" prop="isOpenKnFlag">
<el-input v-model="form.isOpenKnFlag" placeholder="请输入是否开启库内交接" />
</el-form-item>
</el-col>
</el-row> -->
<!-- <el-form-item label="货位属性" prop="locationAttr">
<el-input v-model="form.locationAttr" placeholder="请输入货位属性" />
</el-form-item>
<el-form-item label="周转需求" prop="turnDemand">
<el-input v-model="form.turnDemand" placeholder="请输入周转需求" />
</el-form-item>
<el-form-item label="库存环境" prop="stockEnv">
<el-input v-model="form.stockEnv" placeholder="请输入库存环境" />
</el-form-item>
<el-form-item label="仓库编码" prop="warehouseCode">
<el-input v-model="form.warehouseCode" placeholder="请输入仓库编码" />
</el-form-item>
<el-form-item label="区域编码" prop="regionCode">
<el-input v-model="form.regionCode" placeholder="请输入区域编码" />
</el-form-item>
<el-form-item label="库区编码" prop="areaCode">
<el-input v-model="form.areaCode" placeholder="请输入库区编码" />
</el-form-item>
<el-form-item label="校验码" prop="checkCode">
<el-input v-model="form.checkCode" placeholder="请输入校验码" />
</el-form-item>
<el-form-item label="工作区" prop="workArea">
<el-input v-model="form.workArea" placeholder="请输入工作区" />
</el-form-item>
<el-form-item label="端口1" prop="port1">
<el-input v-model="form.port1" placeholder="请输入端口1" />
</el-form-item>
<el-form-item label="端口2" prop="port2">
<el-input v-model="form.port2" placeholder="请输入端口2" />
</el-form-item>
<el-form-item label="端口3" prop="port3">
<el-input v-model="form.port3" placeholder="请输入端口3" />
</el-form-item>
<el-form-item label="体积限制" prop="volumeLimit">
<el-input v-model="form.volumeLimit" placeholder="请输入体积限制" />
</el-form-item>
<el-form-item label="重量限制" prop="weightLimit">
<el-input v-model="form.weightLimit" placeholder="请输入重量限制" />
</el-form-item>
<el-form-item label="箱数限制*" prop="boxLimit">
<el-input v-model="form.boxLimit" placeholder="请输入箱数限制*" />
</el-form-item>
<el-form-item label="数量限制" prop="qtyLimit">
<el-input v-model="form.qtyLimit" placeholder="请输入数量限制" />
</el-form-item>
<el-form-item label="托盘限制*" prop="palletLimit">
<el-input v-model="form.palletLimit" placeholder="请输入托盘限制*" />
</el-form-item>
<el-form-item label="长度" prop="length">
<el-input v-model="form.length" placeholder="请输入长度" />
</el-form-item>
<el-form-item label="宽度" prop="width">
<el-input v-model="form.width" placeholder="请输入宽度" />
</el-form-item>
<el-form-item label="高度" prop="height">
<el-input v-model="form.height" placeholder="请输入高度" />
</el-form-item>
<el-form-item label="X坐标" prop="xCoordinate">
<el-input v-model="form.xCoordinate" placeholder="请输入X坐标" />
</el-form-item>
<el-form-item label="Y坐标" prop="yCoordinate">
<el-input v-model="form.yCoordinate" placeholder="请输入Y坐标" />
</el-form-item>
<el-form-item label="Z坐标" prop="zCoordinate">
<el-input v-model="form.zCoordinate" placeholder="请输入Z坐标" />
</el-form-item>
<el-form-item label="X像素" prop="xPixels">
<el-input v-model="form.xPixels" placeholder="请输入X像素" />
</el-form-item>
<el-form-item label="Y像素" prop="yPixels">
<el-input v-model="form.yPixels" placeholder="请输入Y像素" />
</el-form-item>
<el-form-item label="Z像素" prop="zPixels">
<el-input v-model="form.zPixels" placeholder="请输入Z像素" />
</el-form-item>
<el-form-item label="排" prop="locRow">
<el-input v-model="form.locRow" placeholder="请输入排" />
</el-form-item>
<el-form-item label="层数" prop="layerNum">
<el-input v-model="form.layerNum" placeholder="请输入层数" />
</el-form-item>
<el-form-item label="列" prop="locColumn">
<el-input v-model="form.locColumn" placeholder="请输入列" />
</el-form-item>
<el-form-item label="巷道" prop="bord">
<el-input v-model="form.bord" placeholder="请输入巷道" />
</el-form-item>
<el-form-item label="允许混放产品" prop="productMix">
<el-input v-model="form.productMix" placeholder="请输入允许混放产品" />
</el-form-item>
<el-form-item label="允许混放批次" prop="batchMix">
<el-input v-model="form.batchMix" placeholder="请输入允许混放批次" />
</el-form-item>
<el-form-item label="货位标志" prop="userDefined1">
<el-input v-model="form.userDefined1" placeholder="请输入货位标志(0-普通货位 1-立体库货位)" />
</el-form-item>
<el-form-item label="工厂" prop="factoryCode">
<el-input v-model="form.factoryCode" placeholder="请输入工厂" />
</el-form-item>
-->
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listLocation, getLocation, delLocation, addLocation, updateLocation } from "@/api/wms/location";
export default {
name: "Location",
data() {
return {
//
loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
locationList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
locationCode: null,
shelfOrder: null,
checkOrder: null,
pickOrder: null,
locationUse: null,
pickFlag: null,
isOpenKnFlag: null,
locationType: null,
locationScrapType: null,
locationAttr: null,
turnDemand: null,
stockEnv: null,
warehouseCode: null,
regionCode: null,
areaCode: null,
checkCode: null,
workArea: null,
port1: null,
port2: null,
port3: null,
volumeLimit: null,
weightLimit: null,
boxLimit: null,
qtyLimit: null,
palletLimit: null,
length: null,
width: null,
height: null,
xCoordinate: null,
yCoordinate: null,
zCoordinate: null,
xPixels: null,
yPixels: null,
zPixels: null,
locRow: null,
layerNum: null,
locColumn: null,
bord: null,
productMix: null,
batchMix: null,
ignoreId: null,
activeFlag: null,
userDefined1: null,
userDefined2: null,
userDefined3: null,
factoryCode: null,
syntozk: null
},
//
form: {},
//
rules: {
warehouseCode: [
{ required: true, message: "仓库编码不能为空", trigger: "blur" }
],
warehouseName: [
{ required: true, message: "仓库名称不能为空", trigger: "blur" }
],
areaCode: [
{ required: true, message: "库区编码不能为空", trigger: "blur" }
],
areaDesc: [
{ required: true, message: "库区名称不能为空", trigger: "blur" }
],
locationCode: [
{ required: true, message: "货位编码不能为空", trigger: "blur" }
],
activeFlag: [
{ required: true, message: "激活标记不能为空", trigger: "blur" }
],
}
};
},
created() {
this.getList();
},
methods: {
//
indexMethod(index) {
return index + 1;
},
/** 查询货位管理列表 */
getList() {
this.loading = true;
listLocation(this.queryParams).then(response => {
this.locationList = response.rows;
this.total = response.total;
this.loading = false;
});
},
//
cancel() {
this.open = false;
this.reset();
},
//
reset() {
this.form = {
locationId: null,
locationCode: null,
shelfOrder: null,
checkOrder: null,
pickOrder: null,
locationUse: null,
pickFlag: null,
isOpenKnFlag: null,
locationType: null,
locationScrapType: null,
locationAttr: null,
turnDemand: null,
stockEnv: null,
warehouseCode: null,
regionCode: null,
areaCode: null,
checkCode: null,
workArea: null,
port1: null,
port2: null,
port3: null,
volumeLimit: null,
weightLimit: null,
boxLimit: null,
qtyLimit: null,
palletLimit: null,
length: null,
width: null,
height: null,
xCoordinate: null,
yCoordinate: null,
zCoordinate: null,
xPixels: null,
yPixels: null,
zPixels: null,
locRow: null,
layerNum: null,
locColumn: null,
bord: null,
productMix: null,
batchMix: null,
ignoreId: null,
activeFlag: null,
userDefined1: null,
userDefined2: null,
userDefined3: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
remark: null,
factoryCode: null,
syntozk: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.locationId)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加货位管理";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const locationId = row.locationId || this.ids
getLocation(locationId).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改货位管理";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.locationId != null) {
updateLocation(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addLocation(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const locationIds = row.locationId || this.ids;
this.$modal.confirm('是否确认删除货位管理编号为"' + locationIds + '"的数据项?').then(function() {
return delLocation(locationIds);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('wms/location/export', {
...this.queryParams
}, `location_${new Date().getTime()}.xlsx`)
}
}
};
</script>

@ -0,0 +1,346 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="班次编码" prop="shiftCode">
<el-input
v-model="queryParams.shiftCode"
placeholder="请输入班次编码"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="班次名称" prop="shiftDescGlobal">
<el-input
v-model="queryParams.shiftDescGlobal"
placeholder="请输入班次名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['wms:shifts:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['wms:shifts:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['wms:shifts:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['wms:shifts:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="shiftsList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<!-- 序号 -->
<el-table-column
type="index"
width="90"
align="center"
:index="indexMethod"
label="序号">
</el-table-column>
<el-table-column label="班次编码" align="center" prop="shiftCode" />
<el-table-column label="班次名称" align="center" prop="shiftDescGlobal" />
<el-table-column label="创建人" align="center" prop="createBy" />
<el-table-column label="创建时间" align="center" prop="createDate"/>
<el-table-column prop="active" label="是否启用" align="center">
<template slot-scope="scope">
{{ scope.row.active == 1 ? "是" : "否" }}
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['wms:shifts:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['wms:shifts:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改班次管理对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<!-- 序号 -->
<el-table-column
type="index"
width="90"
align="center"
:index="indexMethod"
label="序号">
</el-table-column>
<el-form-item label="班次编码" prop="shiftCode">
<el-input v-model="form.shiftCode" placeholder="请输入班次编码" />
</el-form-item>
<el-form-item label="班次名称" prop="shiftDescGlobal">
<el-input v-model="form.shiftDescGlobal" placeholder="请输入班次名称" />
</el-form-item>
<el-form-item label="开始时间" prop="shiftStartTime">
<el-time-select
v-model="value"
:picker-options="{
start: '00:00',
step: '01:00',
end: '23:00'
}"
placeholder="选择班次开始时间">
</el-time-select>
</el-form-item>
<el-form-item label="结束时间" prop="shiftEndTime">
<el-time-select
v-model="value"
:picker-options="{
start: '00:00',
step: '01:00',
end: '23:00'
}"
placeholder="选择班次结束时间">
</el-time-select>
</el-form-item>
<el-form-item label="是否启用" prop="active">
<el-select v-model="form.active" placeholder="请选择是否启用" @change="$forceUpdate()" clearable>
<el-option v-for="item in options" :key="item.active" :label="item.label" :value="item.active"></el-option>
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listShifts, getShifts, delShifts, addShifts, updateShifts } from "@/api/wms/shifts";
export default {
name: "Shifts",
data() {
return {
//
loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
shiftsList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
shiftCode: null,
shiftDesc: null,
shiftDescGlobal: null,
shiftDescExtended: null,
shiftStartTime: null,
shiftEndTime: null,
createBy: null,
createDate: null,
lastUpdateBy: null,
lastUpdateDate: null,
Active: null,
enterpriseId: null,
enterpriseCode: null,
siteId: null,
siteCode: null
},
options: [{
active: "0",
label: '是'
}, {
active: "1",
label: '否'
}],
//
form: {},
//
rules: {
}
};
},
created() {
this.getList();
},
methods: {
//
indexMethod(index) {
return index + 1;
},
/** 查询班次管理列表 */
getList() {
this.loading = true;
listShifts(this.queryParams).then(response => {
this.shiftsList = response.rows;
this.total = response.total;
this.loading = false;
});
},
//
cancel() {
this.open = false;
this.reset();
},
//
reset() {
this.form = {
shiftId: null,
shiftCode: null,
shiftDesc: null,
shiftDescGlobal: null,
shiftDescExtended: null,
shiftStartTime: null,
shiftEndTime: null,
createBy: null,
createDate: null,
lastUpdateBy: null,
lastUpdateDate: null,
Active: null,
enterpriseId: null,
enterpriseCode: null,
siteId: null,
siteCode: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.shiftId)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加班次管理";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const shiftId = row.shiftId || this.ids
getShifts(shiftId).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改班次管理";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.shiftId != null) {
updateShifts(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addShifts(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const shiftIds = row.shiftId || this.ids;
this.$modal.confirm('是否确认删除班次管理编号为"' + shiftIds + '"的数据项?').then(function() {
return delShifts(shiftIds);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('wms/shifts/export', {
...this.queryParams
}, `shifts_${new Date().getTime()}.xlsx`)
}
}
};
</script>

@ -0,0 +1,383 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="班组编码" prop="teamCode">
<el-input
v-model="queryParams.teamCode"
placeholder="请输入班组编码"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="班组名称" prop="teamDescGlobal">
<el-input
v-model="queryParams.teamDescGlobal"
placeholder="请输入班组名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"></el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['wms:team:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['wms:team:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['wms:team:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['wms:team:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="teamList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<!-- 序号 -->
<el-table-column
type="index"
width="90"
align="center"
:index="indexMethod"
label="序号">
</el-table-column>
<el-table-column label="班组编码" align="center" prop="teamCode" />
<el-table-column label="班组名称" align="center" prop="teamDescGlobal" />
<el-table-column prop="teamType" label="班组类别" align="center" >
<template slot-scope="scope">
{{ scope.row.teamType == "team_type1" ? "生产班组" : "检验班组" }}
</template>
</el-table-column>
<el-table-column label="所属产线" align="center" prop="productionLineCode" />
<el-table-column label="创建人" align="center" prop="createBy" />
<el-table-column label="创建时间" align="center" prop="createDate" />
<el-table-column prop="active" label="是否启用" align="center">
<template slot-scope="scope">
{{ scope.row.active == 1 ? "是" : "否" }}
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['wms:team:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['wms:team:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改班组对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="110px">
<el-form-item label="班组编码" prop="teamCode">
<el-input v-model="form.teamCode" placeholder="请输入班组编码" />
</el-form-item>
<el-form-item label="班组简称" prop="teamDesc">
<el-input v-model="form.teamDesc" placeholder="请输入班组简称" />
</el-form-item>
<el-form-item label="班组名称" prop="teamDescGlobal">
<el-input v-model="form.teamDescGlobal" placeholder="请输入班组通用名称" />
</el-form-item>
</el-form-item>
<el-form-item label="班组类型" prop="teamType">
<el-select v-model="form.teamType" placeholder="请选择班组">
<el-option
v-for="dict in dict.type.team_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
</el-select>
</el-form-item>
<el-form-item label="班组扩展名称" prop="teamDescExtended">
<el-input v-model="form.teamDescExtended" placeholder="请输入班组扩展名称" />
</el-form-item>
<el-form-item label="是否启用" prop="active">
<el-input v-model="form.active" placeholder="请输入是否启用" />
</el-form-item>
<el-form-item label="企业编码" prop="enterpriseCode">
<el-input v-model="form.enterpriseCode" placeholder="请输入企业编码" />
</el-form-item>
<el-form-item label="工厂编码" prop="siteCode">
<el-input v-model="form.siteCode" placeholder="请输入工厂编码" />
</el-form-item>
<el-form-item label="所属产线" prop="productionLineCode">
<el-input v-model="form.productionLineCode" placeholder="请输入线体编码" />
</el-form-item>
<el-form-item label="班组长编码" prop="teamLeaderCode">
<el-input v-model="form.teamLeaderCode" placeholder="请输入班组长编码" />
</el-form-item>
<el-form-item label="定编岗位数量" prop="planPostQuantity">
<el-input v-model="form.planPostQuantity" placeholder="请输入定编岗位数量" />
</el-form-item>
<el-form-item label="已分配岗位数量" prop="actualPostQuantity">
<el-input v-model="form.actualPostQuantity" placeholder="请输入已分配岗位数量" />
</el-form-item>
<el-form-item label="班组属性" prop="teamProperties">
<el-input v-model="form.teamProperties" placeholder="请输入班组属性" />
</el-form-item>
<el-form-item label="应出勤人数" prop="attendanceQuantity">
<el-input v-model="form.attendanceQuantity" placeholder="请输入应出勤人数" />
</el-form-item>
<el-form-item label="已分配人数" prop="assignedQuantity">
<el-input v-model="form.assignedQuantity" placeholder="请输入已分配人数" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listTeam, getTeam, delTeam, addTeam, updateTeam } from "@/api/wms/team";
export default {
name: "Team",
dicts: ['sys_normal_disable', 'team_type'],
data() {
return {
//
loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
teamList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
orgId: null,
teamCode: null,
teamDesc: null,
teamDescGlobal: null,
teamDescExtended: null,
createBy: null,
createDate: null,
lastUpdateBy: null,
lastUpdateDate: null,
Active: null,
enterpriseId: null,
enterpriseCode: null,
siteId: null,
siteCode: null,
productionLineCode: null,
teamLeaderCode: null,
planPostQuantity: null,
actualPostQuantity: null,
salaryType: null,
teamProperties: null,
attendanceQuantity: null,
assignedQuantity: null
},
//
form: {},
//
rules: {
teamCode: [
{ required: true, message: "班组编码不能为空", trigger: "blur" }
],
teamDescGlobal: [
{ required: true, message: "班组名称不能为空", trigger: "blur" }
],
productionLineCode: [
{ required: true, message: "所属产线不能为空", trigger: "blur" }
],
active: [
{ required: true, message: "是否启用不能为空", trigger: "blur" }
],
}
};
},
created() {
this.getList();
},
methods: {
//
indexMethod(index) {
return index + 1;
},
/** 查询班组列表 */
getList() {
this.loading = true;
listTeam(this.queryParams).then(response => {
this.teamList = response.rows;
this.total = response.total;
this.loading = false;
});
},
//
cancel() {
this.open = false;
this.reset();
},
//
reset() {
this.form = {
teamId: null,
orgId: null,
teamCode: null,
teamDesc: null,
teamDescGlobal: null,
teamDescExtended: null,
createBy: null,
createDate: null,
lastUpdateBy: null,
lastUpdateDate: null,
Active: null,
enterpriseId: null,
enterpriseCode: null,
siteId: null,
siteCode: null,
productionLineCode: null,
teamLeaderCode: null,
planPostQuantity: null,
actualPostQuantity: null,
salaryType: null,
teamProperties: null,
attendanceQuantity: null,
assignedQuantity: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.teamId)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加班组";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const teamId = row.teamId || this.ids
getTeam(teamId).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改班组";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.teamId != null) {
updateTeam(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addTeam(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const teamIds = row.teamId || this.ids;
this.$modal.confirm('是否确认删除班组编号为"' + teamIds + '"的数据项?').then(function() {
return delTeam(teamIds);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('wms/team/export', {
...this.queryParams
}, `team_${new Date().getTime()}.xlsx`)
}
}
};
</script>

@ -0,0 +1,373 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="仓库编码" prop="warehouseCode">
<el-input
v-model="queryParams.warehouseCode"
placeholder="请输入仓库编码"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="仓库名称" prop="warehouseName">
<el-input
v-model="queryParams.warehouseName"
placeholder="请输入仓库名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="small" @click="handleQuery"></el-button>
<el-button icon="el-icon-refresh" size="small" @click="resetQuery"></el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['wms:warehouse:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['wms:warehouse:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['wms:warehouse:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['wms:warehouse:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="warehouseList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<!-- 序号 -->
<el-table-column
type="index"
width="90"
align="center"
:index="indexMethod"
label="序号">
</el-table-column>
<el-table-column label="仓库编码" align="center" prop="warehouseCode" />
<el-table-column label="仓库名称" align="center" prop="warehouseName" />
<el-table-column label="创建人" align="center" prop="createBy" />
<el-table-column label="创建时间" align="center" prop="createTime" />
<el-table-column prop="activeFlag" label="是否启用" align="center">
<template slot-scope="scope">
{{ scope.row.activeFlag == 1 ? "是" : "否" }}
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['wms:warehouse:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['wms:warehouse:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改仓库管理对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-form-item label="仓库编码" prop="warehouseCode">
<el-input v-model="form.warehouseCode" placeholder="请输入仓库编码" />
</el-form-item>
<el-form-item label="仓库类别" prop="warehouseType">
<el-select v-model="form.warehouseType" placeholder="请选择仓库类别" @change="$forceUpdate()" clearable>
<el-option v-for="item in warehouseTypeOptions" :key="item.warehouseType" :label="item.label" :value="item.warehouseType"></el-option>
</el-select>
</el-form-item>
<el-form-item label="仓库名称" prop="warehouseName">
<el-input v-model="form.warehouseName" placeholder="请输入仓库名称" />
</el-form-item>
<el-form-item label="工厂编码" prop="factoryCode">
<el-input v-model="form.factoryCode" placeholder="请输入工厂编码" />
</el-form-item>
<el-form-item label="工厂名称" prop="factoryName">
<el-input v-model="form.factoryName" placeholder="请输入工厂名称" />
</el-form-item>
<el-form-item label="是否启用" prop="activeFlag">
<el-select v-model="form.activeFlag" placeholder="请选择是否启用" @change="$forceUpdate()" clearable>
<el-option v-for="item in options" :key="item.activeFlag" :label="item.label" :value="item.activeFlag"></el-option>
</el-select>
</el-form-item>
<el-form-item label="是否按线体入库" prop="lineFlag">
<el-select v-model="form.lineFlag" placeholder="请选择是否按照线体入库" @change="$forceUpdate()" clearable>
<el-option v-for="item in lineFlagOptions" :key="item.lineFlag" :label="item.label" :value="item.lineFlag"></el-option>
</el-select>
</el-form-item>
<el-form-item label="仓库类型" prop="warehouseType2">
<el-select v-model="form.warehouseType2" placeholder="请选择仓库类型" @change="$forceUpdate()" clearable>
<el-option v-for="item in warehouseType2Options" :key="item.warehouseType2" :label="item.label" :value="item.warehouseType2"></el-option>
</el-select>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listWarehouse, getWarehouse, delWarehouse, addWarehouse, updateWarehouse } from "@/api/wms/warehouse";
export default {
name: "Warehouse",
data() {
return {
//
loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
warehouseList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
warehouseType: null,
warehouseCode: null,
warehouseName: null,
factoryCode: null,
factoryName: null,
dataSource: null,
schame: null,
activeFlag: null,
userDefined1: null,
userDefined2: null,
userDefined3: null,
lineFlag: null,
warehouseType2: null
},
options: [{
activeFlag: "0",
label: '是'
}, {
activeFlag: "1",
label: '否'
}],
lineFlagOptions: [{
lineFlag: "0",
label: '是'
}, {
lineFlag: "1",
label: '否'
}],
warehouseTypeOptions: [{
warehouseType: "1",
label: 'WMS原材料'
}, {
warehouseType: "2",
label: 'WMS成品'
}],
warehouseType2Options: [{
warehouseType2: "1",
label: '智能仓库'
}, {
warehouseType2: "2",
label: '普通仓库'
}],
//
form: {},
//
rules: {
warehouseCode: [
{ required: true, message: "仓库编码不能为空", trigger: "blur" }
],
warehouseName: [
{ required: true, message: "仓库名称不能为空", trigger: "blur" }
],
factoryCode: [
{ required: true, message: "工厂编码不能为空", trigger: "blur" }
],
factoryName: [
{ required: true, message: "工厂名称不能为空", trigger: "blur" }
],
activeFlag: [
{ required: true, message: "激活标记不能为空", trigger: "blur" }
],
}
};
},
created() {
this.getList();
},
methods: {
//
indexMethod(index){
return index+1 ;
},
/** 查询仓库管理列表 */
getList() {
this.loading = true;
listWarehouse(this.queryParams).then(response => {
this.warehouseList = response.rows;
this.total = response.total;
this.loading = false;
});
},
//
cancel() {
this.open = false;
this.reset();
},
//
reset() {
this.form = {
warehouseId: null,
warehouseType: null,
warehouseCode: null,
warehouseName: null,
factoryCode: null,
factoryName: null,
dataSource: null,
schame: null,
activeFlag: null,
userDefined1: null,
userDefined2: null,
userDefined3: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
remark: null,
lineFlag: null,
warehouseType2: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.warehouseId)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加仓库管理";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const warehouseId = row.warehouseId || this.ids
getWarehouse(warehouseId).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改仓库管理";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.warehouseId != null) {
updateWarehouse(this.form).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addWarehouse(this.form).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const warehouseIds = row.warehouseId || this.ids;
this.$modal.confirm('是否确认删除仓库管理编号为"' + warehouseIds + '"的数据项?').then(function() {
return delWarehouse(warehouseIds);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
/** 导出按钮操作 */
handleExport() {
this.download('wms/warehouse/export', {
...this.queryParams
}, `warehouse_${new Date().getTime()}.xlsx`)
}
}
};
</script>
Loading…
Cancel
Save