1.添加建垛相关页面和路由

master
x_z 3 years ago
parent 4b65bc7749
commit ae107bba11

@ -0,0 +1,9 @@
import axios from "../../utils/axios";
export function getStackCodeList(params) {
return axios({
url: "/udims/stack/code/filter",
method: "get",
params: params
});
}

@ -0,0 +1,33 @@
import axios from "../../utils/axios";
export function getStackOrderList(params) {
return axios({
url: "/udims/stack/order/filter",
method: "get",
params: params
});
}
export function updateStack(data) {
return axios({
url: "/udims/stack/order/update",
method: "post",
data: data
});
}
export function deleteStackOrder(data) {
return axios({
url: "/udims/stack/order/delete",
method: "post",
data: data
});
}
export function uploadStack(data) {
return axios({
url: "/udims/stack/order/upload",
method: "post",
data: data
});
}

@ -26,6 +26,7 @@ import userAccountManage from "@/views/userManage/userAccountManage";
import stockOrderDelSearch from "../views/warehouse/stockOrderDelSearch";
import stockOrderSearch from "../views/warehouse/stockOrderSearch";
import stockOrderDelete from "../views/warehouse/stockOrderDelete";
import ioNewScanOrder from "@/views/warehouse/ioNewScanOrder";
//往来单位字典
import UnitManage from "@/views/product/UnitManage";
@ -58,6 +59,9 @@ import phoneRegisterManage from "@/views/userManage/phoneRegisterManage";
//建垛规则
import stackRules from "@/views/sys/stackRules";
//生产管理
import stackManage from "@/views/production/stackManage";
const err401 = r =>
require.ensure([], () => r(require("../views/error/err401.vue")), "home");
@ -344,7 +348,6 @@ export const asyncRouterMap = [
}
]
},
{
path: "/inout",
component: Home,
@ -356,6 +359,14 @@ export const asyncRouterMap = [
authRule: ["inout"]
},
children: [
{
path: "ioNewScanOrder",
component: ioNewScanOrder,
name: "新增扫码单据",
meta: {
authRule: ["inout/ioNewScanOrder"]
}
},
{
path: "ioNew",
component: ioNew,
@ -439,7 +450,28 @@ export const asyncRouterMap = [
}
]
},
{
path: "/production",
redirect: "/production/productionManage",
component: Home,
icon: 'tongyong',
name: "生产管理",
hidden: false,
noDropdown: false,
meta: {
authRule: ["production"]
},
children: [
{
name: "建垛管理",
path: "stackManage",
component: stackManage,
meta: {
authRule: ["production/stackManage"]
}
}
]
},
{
path: "/sys",
redirect: "/sys/sysConfig",

@ -0,0 +1,159 @@
<template>
<div>
<el-form :inline="true" :model="query" class="query-form" size="mini">
<el-form-item class="query-form-item">
<el-input v-model="query.code" placeholder="条码查询" clearable></el-input>
</el-form-item>
<el-form-item>
<el-button-group>
<el-button type="primary" icon="el-icon-refresh" @click="onReset"></el-button>
<el-button type="primary" icon="search" @click="search"
>查询
</el-button
>
</el-button-group>
</el-form-item>
</el-form>
<el-table v-loading="loading" :data="codeArry" style="width: 100%">
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column
label="条码"
prop="code"
show-overflow-tooltip
></el-table-column>
<el-table-column
label="扫码数量"
prop="count"
width="180"
show-overflow-tooltip
></el-table-column>
<el-table-column label="创建时间" prop="actDate" width="220" show-overflow-tooltip>
<template slot-scope="scope">
<i class="el-icon-time"></i>
<span>{{ scope.row.actDate }}</span>
</template>
</el-table-column>
<el-table-column label="操作员" prop="actor" width="180"></el-table-column>
</el-table>
<el-pagination
:current-page="query.page"
:page-size="query.limit"
@current-change="handleCurrentChange"
layout="prev, pager, next,total"
:total="total"
>
</el-pagination>
</div>
</template>
<script>
import {codeList} from "../../api/warehouse/order";
import draggable from "vuedraggable";
export default {
name: "idQuery",
props: {
idQuery: {
type: Object,
required: true,
},
},
data() {
return {
query: {
code: "",
corpOrderId: "",
page: 1,
limit: 20,
},
codeArry: [],
total: 0,
loading: true,
index: null,
formLoading: false,
formVisible: false,
deleteLoading: false,
orderNo: null,
busTypes: [],
};
},
components: {
draggable,
},
methods: {
onReset() {
this.$router.push({
path: "",
});
this.query = {
code: "",
page: 1,
limit: 20,
};
this.getCodeList();
},
onSubmit() {
this.$router.push({
path: "",
query: this.query,
});
this.getCodeList();
},
handleSizeChange(val) {
this.query.limit = val;
this.getCodeList();
},
handleCurrentChange(val) {
this.query.page = val;
this.getCodeList();
},
search() {
this.query.page = 1;
this.getCodeList();
},
getCodeList() {
this.loading = true;
// this.query.corpOrderId = this.idQuery.id;
this.query.orderId = this.idQuery.id;
codeList(this.query) //
.then((response) => {
this.loading = false;
this.codeArry = response.data.list || [];
this.total = response.data.total || 0;
})
.catch(() => {
this.loading = false;
this.list = [];
this.total = 0;
});
},
intentBack() {
// this.$router.push({path:'../readme/detail',query:{id:row.corpOrderId}});
this.$router.go(-1);
},
},
filters: {},
mounted() {
document.body.ondrop = function (event) {
event.preventDefault();
event.stopPropagation();
};
},
created() {
//
let query = this.$route.query;
this.orderNo = query.id;
this.query = Object.assign(this.query, query);
this.query.limit = parseInt(this.query.limit);
this.query.corpOrderId = query.id;
//
this.getCodeList();
},
};
</script>

@ -0,0 +1,173 @@
<template>
<div>
<el-form :inline="true" :model="query" class="query-form" size="mini">
<el-form-item class="query-form-item">
<el-input v-model="query.stackId" placeholder="垛号"></el-input>
</el-form-item>
<el-form-item>
<el-button-group>
<el-button
type="primary"
icon="el-icon-refresh"
@click="onReset"
></el-button>
<el-button type="primary" icon="search" @click="onSubmit"
>查询
</el-button
>
</el-button-group>
</el-form-item>
</el-form>
<el-table v-loading="loading" :data="list" style="width: 100%">
<el-table-column label="序号" type="index" width="50" fixed></el-table-column>
<el-table-column label="垛号" prop="orderId" fixed></el-table-column>
<el-table-column label="导出状态" prop="exportStatus" fixed>
<template slot-scope="scope">
<el-tag>
{{ exportStatusMap[scope.row.exportStatus] }}
</el-tag>
</template>
</el-table-column>
<el-table-column label="创建时间" prop="createTime" fixed></el-table-column>
<el-table-column label="操作" fixed="right">
<template slot-scope="scope">
<el-button
type="text"
size="small"
@click.native="codeDetail(scope.row.orderId)"
>详情
</el-button>
<el-button
type="text"
size="small"
@click.native="handleForm(scope.$index, scope.row)"
>编辑
</el-button>
<el-button
type="text"
size="small"
@click.native="handleDel(scope.$index, scope.row)"
>删除
</el-button>
</template>
</el-table-column>
</el-table>
<el-pagination
:current-page="query.page"
:page-size="query.limit"
@current-change="handleCurrentChange"
layout="prev, pager, next"
:total="total"
>
</el-pagination>
<el-dialog
title="码详情"
:visible.sync="codeDetailVisible"
:append-to-body="true"
width="70%"
:close-on-click-modal="false"
:close-on-press-escape="false"
>
<stackCode
:idQuery="idQuery"
>
</stackCode>
</el-dialog>
</div>
</template>
<script>
import {getStackOrderList, deleteStackOrder, updateStack, uploadStack} from "@/api/production/stackOrder";
import stackCode from "@/views/production/stackCode";
export default {
data() {
return {
query: {
stackId: null,
customerId: this.$store.getters.customerId,
page: 1,
limit: 20
},
list: [],
total: 0,
loading: false,
index: null,
formName: null,
formMap: {
add: "新增",
edit: "编辑",
},
formLoading: false,
formData: null,
exportStatusMap: {
0: "未导出",
1: "已导出"
},
codeDetailVisible: false,
idQuery: {
orderIdFk: null
}
};
},
components: {
stackCode
},
methods: {
onReset() {
this.$router.push({
path: "",
});
this.query = {};
this.getList();
},
onSubmit() {
this.query.page = 1;
this.getList();
},
handleCurrentChange(val) {
this.query.page = val;
this.getList();
},
getList() {
getStackOrderList(this.query).then((res) => {
if (res.code === 20000) {
this.list = res.data.list || [];
this.total = res.data.total || 0;
}
}).catch((error) => {
});
},
codeDetail(orderId) {
},
handleForm() {
},
//
resetForm() {
if (this.$refs["dataForm"]) {
//
this.$refs["dataForm"].clearValidate();
//
this.$refs["dataForm"].resetFields();
}
},
//
handleDel(index, row) {
},
},
mounted() {
},
created() {
this.getList();
},
};
</script>
<style type="text/scss" lang="scss">
</style>

@ -572,6 +572,7 @@ export default {
getBusType() {
let query = {
enabled: true,
customerId: this.$store.getters.customerId
};
getBusTypeByUser(query)
.then((response) => {
@ -690,7 +691,6 @@ export default {
} else {
this.corpOrderIdDisabled = false;
if (JSON.stringify(this.$route.query) === '{}') {
// this.formData.corpOrderId = new Date().getTime() + (Math.ceil(Math.random() * 10 + 10) + '');
let date = new Date();
this.formData.corpOrderId = parseTime(date, '{y}{m}{d}{h}{i}{s}') + Math.ceil(Math.random() * 89 + 10);
} else {
@ -701,9 +701,6 @@ export default {
this.query = Object.assign(this.query, query);
this.query.limit = parseInt(this.query.limit);
this.query.corpOrderId = query.id;
//
// this.getCodeList();
}
}
},

@ -0,0 +1,289 @@
<template>
<div>
<el-form :inline="true" :model="filterQuery" class="query-form" size="mini">
<el-row>
<el-col>
<el-form-item class="query-form-item">
<el-input v-model="filterQuery.id" placeholder="单号"></el-input>
</el-form-item>
<el-form-item class="query-form-item">
<el-select v-model="filterQuery.mainAction" placeholder="出入库类型">
<el-option label="全部" value=""></el-option>
<el-option label="入库" value="WareHouseIn"></el-option>
<el-option label="出库" value="WareHouseOut"></el-option>
</el-select>
</el-form-item>
<el-form-item class="query-form-item">
<el-select v-model="filterQuery.action" placeholder="请选择扫码单据类型">
<el-option
v-for="item in busTypes"
:key="item.name"
:label="item.name"
:value="item.action">
<span style="float: left">{{ item.name }}</span>
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col>
<el-form-item class="query-form-item">
<el-select v-model="filterQuery.locStorageCode" placeholder="请选择当前仓库" clearable="true"
size="mini">
<el-option
v-for="item in storageList"
:key="item.name"
:label="item.name"
:value="item.code">
<span style="float: left">{{ item.name }}</span>
</el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button-group>
<el-button
type="primary"
icon="el-icon-refresh"
@click="onReset"
></el-button>
<el-button type="primary" icon="search" @click="search"
>查询
</el-button
>
</el-button-group>
</el-form-item>
<el-form-item style="margin-right: 50px; margin-left: auto">
<el-button-group>
<el-button type="primary" icon="search" @click="addOrders"></el-button>
<el-button type="primary" icon="search" @click="errOrders"></el-button>
</el-button-group>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-table v-loading="loading" :data="list" style="width: 100%"
highlight-current-row
@selection-change="handleSelectionChange">
<el-table-column type="selection" width="55"></el-table-column>
<el-table-column label="序号" type="index"></el-table-column>
<el-table-column label="扫码单据类型" prop="billTypeName">
</el-table-column>
<el-table-column label="订单号" prop="id" show-overflow-tooltip></el-table-column>
<el-table-column label="来源订单号" prop="corpOrderId" show-overflow-tooltip></el-table-column>
<el-table-column label="来源" prop="fromType">
<template slot-scope="scope">
<span>{{ fromTypeMap[scope.row.fromType] }}</span>
</template>
</el-table-column>
<el-table-column label="往来单位" prop="fromCorp" width="220">
</el-table-column>
<el-table-column label="当前仓库" prop="invName" width="120">
</el-table-column>
<el-table-column label="创建时间" prop="actDate" show-overflow-tooltip>
<template slot-scope="scope">
<i class="el-icon-time"></i>
<span>{{ scope.row.actDate }}</span>
</template>
</el-table-column>
<el-table-column label="校验状态" prop="status" width="100">
<template slot-scope="scope">
<el-tag :type="(scope.row.status ===-1 ) | statusFilterType">{{
checkStatus[scope.row.status]
}}
</el-tag>
</template>
</el-table-column>
<el-table-column label="操作" width="150" fixed="right">
<template slot-scope="scope">
<el-button
type="text"
size="small"
@click.native.stop="addOrders(scope.row)"
>编辑
</el-button
>
<el-button
type="text"
size="small"
@click.native.stop="deleteDialog(scope.row.id)"
>删除
</el-button
>
<el-button
type="text"
size="small"
v-if="scope.row.status !== -1"
@click.native.stop="onUpload(scope.row.id)"
>立即处理
</el-button
>
</template>
</el-table-column>
</el-table>
<el-pagination
:page-size="filterQuery.limit"
@current-change="handleCurrentChange"
layout="prev, pager, next"
:total="total"
:current-page="filterQuery.page"
></el-pagination>
<el-dialog
title="异常订单"
:visible.sync="errOrderVisible"
width="80%"
:close-on-click-modal="false"
:close-on-press-escape="false"
>
<ioErrorOrder
></ioErrorOrder>
</el-dialog>
<el-dialog
:title="formMap[formName]"
:visible.sync="addOrderVisible"
width="85%" append-to-body
:close-on-click-modal="false"
:close-on-press-escape="false"
v-if="addOrderVisible"
@close='closeDialog'
>
<addOrder
:closeDialog="closeDialog"
:idQuery="idQuery"
></addOrder>
</el-dialog>
</div>
</template>
<script>
import ioErrorOrder from "@/views/warehouse/ioErrorOrder";
import addOrder from "@/views/warehouse/addOrder";
export default {
data() {
return {
filterQuery: {
id: null,
mainAction: null,
action: null,
status: null,
locStorageCode: null,
page: 1,
limit: 20
},
loading: false,
list: [],
total: 0,
formData: {
id: null,
name: null,
prefix: null,
startNum: null,
step: 1,
serialNum: null,
status: 1,
remark: null
},
storageList: [],
busTypes: [],
errOrderVisible: false,
formMap: {
add: "新增单据",
update: "编辑单据",
},
formName: null,
addOrderVisible: false,
idQuery: {
id: ""
}
};
},
components: {
ioErrorOrder,
addOrder
},
methods: {
onReset() {
this.$router.push({
path: ""
});
this.query = {
id: null,
mainAction: null,
action: null,
status: null,
locStorageCode: null,
page: 1,
limit: 20
};
this.getList();
},
resetForm() {
this.$nextTick(() => {
this.$refs['formData'].resetFields();
this.$refs["formData"].clearValidate();
});
},
search() {
this.query.page = 1;
this.getList();
},
getList() {
},
cancelDialog() {
},
handleModifyClick(row) {
this.formData = row;
},
change() {
},
addOrders() {
this.addOrderVisible = true;
this.formName = "add";
},
errOrders() {
this.errOrderVisible = true;
},
onUpload(id) {
},
closeDialog() {
},
deleteDialog(row) {
this.$confirm("此操作将删除单据, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(() => {
this.loading = true;
let params = {id: row.id};
}).catch(() => {
});
},
handleSelectionChange(val) {
this.multipleSelection = val;
},
handleCurrentChange(val) {
this.query.page = val;
this.getList();
},
},
mounted() {
},
created() {
this.getList();
}
};
</script>
<style>
</style>
Loading…
Cancel
Save