This commit is contained in:
朱文强 2023-11-02 13:35:49 +08:00
parent 60c6131cfe
commit f68efe6a96
18 changed files with 154 additions and 88 deletions

View File

@ -2,7 +2,7 @@
# @Author: zwq # @Author: zwq
# @Date: 2023-08-17 15:10:53 # @Date: 2023-08-17 15:10:53
# @LastEditors: zwq # @LastEditors: zwq
# @LastEditTime: 2023-10-25 13:59:56 # @LastEditTime: 2023-11-02 10:02:06
# @Description: # @Description:
### ###
# 开发环境配置 # 开发环境配置
@ -12,8 +12,9 @@ ENV = 'development'
VUE_APP_TITLE = 南京锂膜管理系统 VUE_APP_TITLE = 南京锂膜管理系统
# 南京锂膜管理系统/开发环境 # 南京锂膜管理系统/开发环境
VUE_APP_BASE_API = 'http://192.168.1.23:48080' # VUE_APP_BASE_API = 'http://192.168.1.23:48080'
# VUE_APP_BASE_API = 'http://192.168.0.31:48081' VUE_APP_BASE_API = 'http://192.168.0.31:48081'
# VUE_APP_BASE_API = 'http://192.168.1.26:48080'
# 路由懒加载 # 路由懒加载
VUE_CLI_BABEL_TRANSPILE_MODULES = true VUE_CLI_BABEL_TRANSPILE_MODULES = true

View File

@ -1,3 +1,10 @@
###
# @Author: zwq
# @Date: 2023-08-17 15:10:53
# @LastEditors: zwq
# @LastEditTime: 2023-11-02 11:20:37
# @Description:
###
# 生产环境配置 # 生产环境配置
ENV = 'production' ENV = 'production'

View File

@ -2,7 +2,7 @@
* @Author: zwq * @Author: zwq
* @Date: 2023-08-22 15:31:37 * @Date: 2023-08-22 15:31:37
* @LastEditors: zwq * @LastEditors: zwq
* @LastEditTime: 2023-10-20 15:16:19 * @LastEditTime: 2023-10-31 09:48:35
* @Description: * @Description:
*/ */
import request from '@/utils/request' import request from '@/utils/request'
@ -32,6 +32,14 @@ export function inWarehouseStorehouse(data) {
data: data data: data
}) })
} }
// 手动出库
export function outWarehouseStorehouse(data) {
return request({
url: '/asrs/warehouse-storehouse/out',
method: 'post',
data: data
})
}
// 删除立库库位 // 删除立库库位
export function deleteWarehouseStorehouse(id) { export function deleteWarehouseStorehouse(id) {
return request({ return request({

View File

@ -151,7 +151,7 @@ export default {
this.fontPos.splice(0, this.fontPos.length) this.fontPos.splice(0, this.fontPos.length)
this.checkPosArr.splice(0, this.checkPosArr.length) this.checkPosArr.splice(0, this.checkPosArr.length)
this.num = 1 this.num = 1
this.getPictrue() //this.getPictrue()
this.$nextTick(() => { this.$nextTick(() => {
this.setSize = this.resetSize(this) // this.setSize = this.resetSize(this) //
this.$parent.$emit('ready', this) this.$parent.$emit('ready', this)
@ -222,7 +222,7 @@ export default {
this.fontPos.splice(0, this.fontPos.length) this.fontPos.splice(0, this.fontPos.length)
this.checkPosArr.splice(0, this.checkPosArr.length) this.checkPosArr.splice(0, this.checkPosArr.length)
this.num = 1 this.num = 1
this.getPictrue() //this.getPictrue()
this.showRefresh = true this.showRefresh = true
}, },

View File

@ -184,7 +184,7 @@ export default {
methods: { methods: {
init() { init() {
this.text = this.explain this.text = this.explain
this.getPictrue() //this.getPictrue()
this.$nextTick(() => { this.$nextTick(() => {
const setSize = this.resetSize(this) // const setSize = this.resetSize(this) //
for (const key in setSize) { for (const key in setSize) {
@ -344,7 +344,7 @@ export default {
this.iconClass = 'icon-right' this.iconClass = 'icon-right'
this.isEnd = false this.isEnd = false
this.getPictrue() //this.getPictrue()
setTimeout(() => { setTimeout(() => {
this.transitionWidth = '' this.transitionWidth = ''
this.transitionLeft = '' this.transitionLeft = ''

View File

@ -2,7 +2,7 @@
* @Author: zwq * @Author: zwq
* @Date: 2023-08-22 15:01:54 * @Date: 2023-08-22 15:01:54
* @LastEditors: zwq * @LastEditors: zwq
* @LastEditTime: 2023-10-13 14:30:24 * @LastEditTime: 2023-10-31 11:20:46
* @Description: * @Description:
--> -->
<template> <template>
@ -18,7 +18,12 @@
ref="barChart" ref="barChart"
height="500px" height="500px"
title="库存总览" title="库存总览"
v-if="allData"
:all-data="allData" /> :all-data="allData" />
<el-empty
v-else
:image-size="300"
:image="require('../../../assets/images/empty.png')" />
</div> </div>
</el-col> </el-col>
</el-row> </el-row>

View File

@ -2,7 +2,7 @@
* @Author: zwq * @Author: zwq
* @Date: 2023-08-22 15:01:54 * @Date: 2023-08-22 15:01:54
* @LastEditors: zwq * @LastEditors: zwq
* @LastEditTime: 2023-10-13 14:32:40 * @LastEditTime: 2023-10-31 11:22:35
* @Description: * @Description:
--> -->
<template> <template>
@ -18,7 +18,12 @@
ref="barChart" ref="barChart"
height="500px" height="500px"
title="库存总览" title="库存总览"
v-if="allData"
:all-data="allData" /> :all-data="allData" />
<el-empty
v-else
:image-size="300"
:image="require('../../../assets/images/empty.png')" />
</div> </div>
</el-col> </el-col>
</el-row> </el-row>

View File

@ -82,21 +82,17 @@ const tableProps = [
]; ];
const mainTaskType = [ const mainTaskType = [
{ {
name: '一次分切', name: '入库',
id: 1, id: 1,
}, },
{ {
name: '二次分切', name: '出库',
id: 2, id: 2,
}, },
{ {
name: '一次分拣', name: '移库',
id: 3, id: 3,
}, },
{
name: '二次分拣',
id: 4,
},
]; ];
const mainTaskState = [ const mainTaskState = [
{ {
@ -119,10 +115,10 @@ const mainTaskState = [
name: '堆垛机运行中', name: '堆垛机运行中',
id: 4, id: 4,
}, },
{ // {
name: '完成', // name: '',
id: 5, // id: 5,
}, // },
]; ];
const agvArr = [ const agvArr = [
{ {

View File

@ -81,21 +81,17 @@ const tableProps = [
]; ];
const mainTaskType = [ const mainTaskType = [
{ {
name: '一次分切', name: '入库',
id: 1, id: 1,
}, },
{ {
name: '二次分切', name: '出库',
id: 2, id: 2,
}, },
{ {
name: '一次分拣', name: '移库',
id: 3, id: 3,
}, },
{
name: '二次分拣',
id: 4,
},
]; ];
const mainTaskState = [ const mainTaskState = [
{ {
@ -175,14 +171,14 @@ export default {
defaultSelect: '', defaultSelect: '',
filterable: true, filterable: true,
}, },
{ // {
type: 'select', // type: 'select',
label: '状态', // label: '',
selectOptions: mainTaskState, // selectOptions: mainTaskState,
param: 'status', // param: 'status',
defaultSelect: '', // defaultSelect: '',
filterable: true, // filterable: true,
}, // },
{ {
type: 'select', type: 'select',
label: '堆垛机', label: '堆垛机',
@ -225,7 +221,9 @@ export default {
}; };
}, },
components: {}, components: {},
created() {}, created() {
this.listQuery.mainTaskState = 5;
},
methods: { methods: {
buttonClick(val) { buttonClick(val) {
switch (val.btnName) { switch (val.btnName) {
@ -234,7 +232,8 @@ export default {
this.listQuery.pageSize = 10; this.listQuery.pageSize = 10;
this.listQuery.mainTaskCode = val.code; this.listQuery.mainTaskCode = val.code;
this.listQuery.mainTaskType = val.taskType; this.listQuery.mainTaskType = val.taskType;
this.listQuery.mainTaskState = val.status; // this.listQuery.mainTaskState = val.status;
this.listQuery.mainTaskState = 5;
this.listQuery.stacker = val.stacker; this.listQuery.stacker = val.stacker;
this.listQuery.agv = val.agv; this.listQuery.agv = val.agv;
this.listQuery.createTime = val.searchTime; this.listQuery.createTime = val.searchTime;
@ -248,6 +247,7 @@ export default {
pageSize: 10, pageSize: 10,
pageNo: 1, pageNo: 1,
total: 1, total: 1,
mainTaskState : 5
}; };
this.getDataList(); this.getDataList();
break; break;

View File

@ -2,7 +2,7 @@
/* /*
* @Date: 2020-12-29 16:49:28 * @Date: 2020-12-29 16:49:28
* @LastEditors: zwq * @LastEditors: zwq
* @LastEditTime: 2023-10-07 14:32:52 * @LastEditTime: 2023-10-30 15:05:30
* @FilePath: \basic-admin\src\filters\basicData\index.js * @FilePath: \basic-admin\src\filters\basicData\index.js
* @Description: * @Description:
*/ */
@ -26,10 +26,9 @@ const table = {
0: 'A', 0: 'A',
}, },
mainTaskType:{ mainTaskType:{
1: '一次分切', 1: '入库',
2: '二次分切', 2: '出库',
3: '一次分拣', 3: '移库',
4: '二次分拣',
}, },
mainTaskState:{ mainTaskState:{
0: '开始', 0: '开始',

View File

@ -2,7 +2,7 @@
* @Author: zwq * @Author: zwq
* @Date: 2023-08-21 14:26:23 * @Date: 2023-08-21 14:26:23
* @LastEditors: zwq * @LastEditors: zwq
* @LastEditTime: 2023-10-20 16:21:39 * @LastEditTime: 2023-10-30 15:08:26
* @Description: * @Description:
--> -->
<template> <template>
@ -122,12 +122,12 @@ export default {
formConfig: [ formConfig: [
{ {
type: 'select', type: 'select',
label: '选择堆垛机', label: '选择巷道',
selectOptions: [ selectOptions: [
{ id: 1, name: '号堆垛机' }, { id: 1, name: '巷道一' },
{ id: 2, name: '号堆垛机' }, { id: 2, name: '巷道二' },
{ id: 3, name: '号堆垛机' }, { id: 3, name: '巷道三' },
{ id: 4, name: '号堆垛机' }, { id: 4, name: '巷道四' },
], ],
param: 'stacker', param: 'stacker',
filterable: true, filterable: true,

View File

@ -2,7 +2,7 @@
* @Author: zwq * @Author: zwq
* @Date: 2023-08-21 14:26:23 * @Date: 2023-08-21 14:26:23
* @LastEditors: zwq * @LastEditors: zwq
* @LastEditTime: 2023-10-20 16:23:13 * @LastEditTime: 2023-10-30 15:08:33
* @Description: * @Description:
--> -->
<template> <template>
@ -122,12 +122,12 @@ export default {
formConfig: [ formConfig: [
{ {
type: 'select', type: 'select',
label: '选择堆垛机', label: '选择巷道',
selectOptions: [ selectOptions: [
{ id: 1, name: '号堆垛机' }, { id: 1, name: '巷道一' },
{ id: 2, name: '号堆垛机' }, { id: 2, name: '巷道二' },
{ id: 3, name: '号堆垛机' }, { id: 3, name: '巷道三' },
{ id: 4, name: '号堆垛机' }, { id: 4, name: '巷道四' },
], ],
param: 'stacker', param: 'stacker',
filterable: true, filterable: true,

View File

@ -58,6 +58,7 @@
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
:disabled="scope.row.warehouseStorehouseState===1"
@click="handleClick({ data: {id:scope.row}, type: 'edit' })" @click="handleClick({ data: {id:scope.row}, type: 'edit' })"
v-hasPermi="[ v-hasPermi="[
'asrs:warehouse-storehouse-goods-specification:update', 'asrs:warehouse-storehouse-goods-specification:update',

View File

@ -45,9 +45,7 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item <el-form-item label="选择起点位置" prop="startInfo">
label="选择起点位置"
prop="startInfo">
<el-select <el-select
v-model="dataForm.startInfo" v-model="dataForm.startInfo"
style="width: 100%" style="width: 100%"
@ -57,7 +55,9 @@
v-for="item in potArr" v-for="item in potArr"
:key="item.id" :key="item.id"
:label="item.lineEdgeLibraryCode" :label="item.lineEdgeLibraryCode"
:value="item.lineEdgeLibraryCode+'-'+item.agvGroundCode" /> :value="
item.lineEdgeLibraryCode + '-' + item.agvGroundCode
" />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -256,7 +256,7 @@ export default {
this.dataForm.warehouseStorehouseCode = val.warehouseStorehouseCode; this.dataForm.warehouseStorehouseCode = val.warehouseStorehouseCode;
this.dataForm.process = val.process; this.dataForm.process = val.process;
this.dataForm.trayCode = val.trayCode; this.dataForm.trayCode = val.trayCode;
this.dataForm.startInfo = '' this.dataForm.startInfo = '';
this.initData(); this.initData();
this.visible = true; this.visible = true;
getLineList().then((response) => { getLineList().then((response) => {
@ -326,31 +326,37 @@ export default {
}, },
// //
dataFormSubmit() { dataFormSubmit() {
let tableValid = false;
this.productAttributeList.forEach((item) => { this.productAttributeList.forEach((item) => {
item.id = ''; item.id = '';
item.warehouseStorehouseId = this.dataForm.id; item.warehouseStorehouseId = this.dataForm.id;
item.warehouseId = ''; item.warehouseId = '';
}); if (!item.number) {
this.updata.process = this.dataForm.process; tableValid = true;
this.updata.trayCode = this.dataForm.trayCode;
this.updata.lineEdgeLibraryCode =
this.dataForm.startInfo.split('-')[0];
this.updata.agvGroundCode =
this.dataForm.startInfo.split('-')[1];
this.$refs['dataForm'].validate((valid) => {
if (valid) {
//
this.updata.list = this.productAttributeList;
if (this.dataForm.id) {
inWarehouseStorehouse(this.updata).then((response) => {
this.$modal.msgSuccess('修改成功');
this.visible = false;
this.$emit('refreshDataList');
});
return;
}
} }
}); });
if (!tableValid) {
this.updata.process = this.dataForm.process;
this.updata.trayCode = this.dataForm.trayCode;
this.updata.lineEdgeLibraryCode = this.dataForm.startInfo.split('-')[0];
this.updata.agvGroundCode = this.dataForm.startInfo.split('-')[1];
this.$refs['dataForm'].validate((valid) => {
if (valid) {
//
this.updata.list = this.productAttributeList;
if (this.dataForm.id) {
inWarehouseStorehouse(this.updata).then((response) => {
this.$modal.msgSuccess('修改成功');
this.visible = false;
this.$emit('refreshDataList');
});
return;
}
}
});
} else {
this.$modal.msgWarning('产品信息的数量为必填数据!');
}
}, },
// / // /
addNew(index) { addNew(index) {

View File

@ -2,7 +2,7 @@
* @Author: zwq * @Author: zwq
* @Date: 2021-11-18 14:16:25 * @Date: 2021-11-18 14:16:25
* @LastEditors: zwq * @LastEditors: zwq
* @LastEditTime: 2023-10-20 15:36:19 * @LastEditTime: 2023-11-02 11:15:57
* @Description: * @Description:
--> -->
<template> <template>
@ -34,8 +34,11 @@ import basicAdd from '../mixins/basic-add';
import { import {
getWarehouseStorehouseList, getWarehouseStorehouseList,
moveStorehouse, moveStorehouse,
outWarehouseStorehouse,
getLineList, getLineList,
getWarehouseStorehouse,
} from '@/api/asrs/warehouseStorehouse'; } from '@/api/asrs/warehouseStorehouse';
import { getWarehouseStorehouseGoodsSpecificationPage } from '@/api/asrs/warehouseStorehouseGoodsSpecification';
export default { export default {
mixins: [basicAdd], mixins: [basicAdd],
@ -46,6 +49,9 @@ export default {
sourceId: undefined, sourceId: undefined,
targetId: undefined, targetId: undefined,
}, },
wareInfo: {
list:[]
},
potArr: [], potArr: [],
type: 0, type: 0,
dataRule: { dataRule: {
@ -56,14 +62,14 @@ export default {
}; };
}, },
methods: { methods: {
init(id, type,wId) { init(id, type, wId) {
this.dataForm.sourceId = id || ''; this.dataForm.sourceId = id || '';
this.type = type; this.type = type;
this.visible = true; this.visible = true;
this.$nextTick(() => { this.$nextTick(() => {
this.$refs['dataForm'].resetFields(); this.$refs['dataForm'].resetFields();
if (this.type) { if (this.type) {
getWarehouseStorehouseList({warehouseId:wId}).then((response) => { getWarehouseStorehouseList({ warehouseId: wId,warehouseStorehouseState:0 }).then((response) => {
this.potArr = response.data; this.potArr = response.data;
}); });
return; return;
@ -71,6 +77,18 @@ export default {
getLineList().then((response) => { getLineList().then((response) => {
this.potArr = response.data; this.potArr = response.data;
}); });
getWarehouseStorehouse(id).then((response) => {
this.wareInfo = response.data;
});
const par = {
pageSize: 100,
pageNo: 1,
total: 1,
warehouseStorehouseId: id,
};
getWarehouseStorehouseGoodsSpecificationPage(par).then((response) => {
this.wareInfo.list = response.data.list;
});
}); });
}, },
// //
@ -82,13 +100,28 @@ export default {
if (this.type) { if (this.type) {
moveStorehouse(this.dataForm.sourceId, this.dataForm.targetId).then( moveStorehouse(this.dataForm.sourceId, this.dataForm.targetId).then(
(response) => { (response) => {
this.$modal.msgSuccess('修改成功'); this.$modal.msgSuccess('移库成功');
this.visible = false; this.visible = false;
this.$emit('refreshDataList'); this.$emit('refreshDataList');
} }
); );
return; return;
} }
const pos = this.potArr.find((item) => {
return item.id === this.dataForm.targetId;
});
this.wareInfo.agvGroundCode = pos.agvGroundCode;
this.wareInfo.lineEdgeLibraryCode = pos.lineEdgeLibraryCode;
// const data = {
// id: this.dataForm.sourceId,
// agvGroundCode: position.agvGroundCode,
// lineEdgeLibraryCode: position.lineEdgeLibraryCode,
// };
outWarehouseStorehouse(this.wareInfo).then((response) => {
this.$modal.msgSuccess('出库成功');
this.visible = false;
this.$emit('refreshDataList');
});
}); });
}, },
}, },

View File

@ -38,9 +38,9 @@
</span> </span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="createDate" label="出入库时间"> <el-table-column prop="createTime" label="出入库时间">
<template v-slot="scope"> <template v-slot="scope">
<span>{{ parseTime(scope.row.createDate) }}</span> <span>{{ parseTime(scope.row.createTime) }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column

View File

@ -38,9 +38,9 @@
</span> </span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="createDate" label="出入库时间"> <el-table-column prop="createTime" label="出入库时间">
<template v-slot="scope"> <template v-slot="scope">
<span>{{ parseTime(scope.row.createDate) }}</span> <span>{{ parseTime(scope.row.createTime) }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column

View File

@ -2,7 +2,7 @@
* @Author: zwq * @Author: zwq
* @Date: 2023-08-22 15:01:54 * @Date: 2023-08-22 15:01:54
* @LastEditors: zwq * @LastEditors: zwq
* @LastEditTime: 2023-10-13 14:16:32 * @LastEditTime: 2023-10-31 11:22:52
* @Description: * @Description:
--> -->
<template> <template>
@ -18,7 +18,12 @@
ref="barChart" ref="barChart"
height="500px" height="500px"
title="库存总览" title="库存总览"
v-if="allData"
:all-data="allData" /> :all-data="allData" />
<el-empty
v-else
:image-size="300"
:image="require('../../../assets/images/empty.png')" />
</div> </div>
</el-col> </el-col>
</el-row> </el-row>