新增委托验收功能

master
anthonyywj2 3 years ago
parent 7b901da987
commit 604060ac7e

@ -1,6 +1,6 @@
{ {
"UDI_SYNC_SERVER_IP": "http://192.168.0.109:9995/", "UDI_SYNC_SERVER_IP": "http://192.168.0.105:9995/",
"BASE_URL":"http://192.168.0.109:9991/", "BASE_URL":"http://192.168.0.105:9991/",
"SERVER_IP": "http://192.168.0.109:9991/", "SERVER_IP": "http://192.168.0.105:9991/",
"WEBSOCKET_URL": "ws://192.168.0.109:9991/UDI_WMS_MC/api/websocket/" "WEBSOCKET_URL": "ws://192.168.0.105:9991/UDI_WMS_MC/api/websocket/"
} }

@ -0,0 +1,44 @@
import axios from "../../utils/axios";
export function getEntrustRece(query) {
return axios({
url: "/spms/entrust/rece/filter",
method: "get",
params: query
});
}
export function deleteEntrustRece(query) {
return axios({
url: "/spms/entrust/rece/delete",
method: "post",
data: query
});
}
export function updateEntrustRece(query) {
return axios({
url: "/spms/entrust/rece/update",
method: "post",
data: query
});
}
export function insertEntrustRece(query) {
return axios({
url: "/spms/entrust/rece/add",
method: "post",
data: query
});
}
export function filterNoUseBusType(query) {
return axios({
url: "/spms/entrust/rece/filterAllNoUse",
method: "get",
params: query
});
}

@ -18,6 +18,16 @@ export function filterAll(query) {
params: query params: query
}); });
} }
export function filterNext(query) {
return axios({
url: "/spms/inv/warehouse/filterNext",
method: "get",
params: query
});
}
export function filterAllByLoc(query) { export function filterAllByLoc(query) {
return axios({ return axios({
url: "/spms/inv/warehouse/filterAllLocInv", url: "/spms/inv/warehouse/filterAllLocInv",
@ -180,3 +190,12 @@ export function getThrsysDetail(params) {
params: params params: params
}); });
} }
//替换单据条码
export function replaceCodes(data) {
return axios({
url: "/warehouse/inout/replaceCodes",
method: "post",
data: data
})
}

@ -0,0 +1,302 @@
<template>
<div>
<el-card>
<el-form :inline="true" :model="filterQuery" class="query-form" size="mini">
<el-form-item class="query-form-item">
<el-input
v-model="filterQuery.name"
style="width: 250px"
placeholder="单据类型名称"
></el-input>
</el-form-item>
<el-form-item>
<el-button-group style="margin-left: 10px;display:flex;">
<el-button type="primary" icon="el-icon-refresh" @click="onReset"></el-button>
<el-button type="primary" icon="search" @click="getList"></el-button>
<el-button type="primary" icon="search" @click="handleAddClick"
>新增
</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="60" fixed></el-table-column>
<el-table-column label="扫码单据类型" prop="curName" fixed></el-table-column>
<el-table-column label="当前仓库" prop="curInvName" fixed></el-table-column>
<el-table-column label="委托验收仓库" prop="entrustInvName" fixed>
</el-table-column>
<el-table-column label="委托验收人" prop="employeeName" fixed>
</el-table-column>
<el-table-column label="操作" fixed="right">
<template slot-scope="scope">
<el-button
type="text"
size="small"
@click.native.stop="handleModifyClick(scope.row)"
>编辑
</el-button
>
<el-button
type="text"
size="small"
@click.native.stop="deleteDialog(scope.row)"
>删除
</el-button
>
</template>
</el-table-column>
</el-table>
<el-dialog
title="新增委托验收"
:visible.sync="addDialogVisible"
width="70%"
:close-on-click-modal="false"
:close-on-press-escape="false"
v-if="addDialogVisible"
>
<modifyDialog :inputQuery="inputQuery"></modifyDialog>
<div style="text-align: center">
<el-button type="primary" size="small" icon="search" @click="onAddSubmit"
>提交
</el-button
>
<el-button type="primary" size="small" icon="search" @click="cancelDialog"
>取消
</el-button
>
</div>
</el-dialog>
<el-dialog
title="编辑委托验收"
:visible.sync="modifyDialogVisible"
width="70%"
:close-on-click-modal="false"
:close-on-press-escape="false"
v-if="modifyDialogVisible"
>
<modifyDialog :inputQuery="inputQuery"></modifyDialog>
<div style="text-align: center">
<el-button type="primary" size="small" icon="search" @click="onModifySubmit"
>提交
</el-button
>
<el-button type="primary" size="small" icon="search" @click="cancelDialog"
>取消
</el-button
>
</div>
</el-dialog>
<el-pagination
:page-size="filterQuery.limit"
@current-change="handleCurrentChange"
layout="prev, pager, next"
:total="total"
></el-pagination>
</el-card>
</div>
</template>
<script>
import {
getEntrustRece,
deleteEntrustRece,
updateEntrustRece,
insertEntrustRece,
} from "../../api/basic/EntrustRece";
import modifyDialog from "./BasicEntrutsReceModify";
export default {
data() {
return {
filterQuery: {
name: "",
page: 1,
limit: 20,
},
loading: false,
addDialogVisible: false,
modifyDialogVisible: false,
list: [],
inputQuery: {
action: "",
name: "",
entrustInv: "",
entrustUser: "",
entrustAction: null,
finishRece: false,
curInv: "",
},
enableMap: {
true: "是",
false: "否",
},
mainActionMap: {
WareHouseIn: "入库",
WareHouseOut: "出库"
},
fileList: [],
total: 0,
multipleSelection: [],
uploadFileUrl: null,
headers: {},
};
},
methods: {
onReset() {
this.$router.push({
path: "",
});
this.filterQuery = {
name: "",
page: 1,
limit: 20,
};
this.getList();
},
cancelDialog() {
this.modifyDialogVisible = false;
this.addDialogVisible = false;
},
handleCurrentChange(val) {
this.filterQuery.page = val;
this.getList();
},
getList() {
this.loading = true;
getEntrustRece(this.filterQuery)
.then((response) => {
this.loading = false;
this.list = response.data.list || [];
this.total = response.data.total || 0;
})
.catch(() => {
this.loading = false;
this.list = [];
this.total = 0;
});
},
onAddSubmit() {
if (this.$isBlank(this.inputQuery.action)) {
this.$message.error("单据类型不能为空!");
return;
}
if (this.$isBlank(this.inputQuery.curInv)) {
this.$message.error("请输入委托仓库!");
return;
}
if (this.$isBlank(this.inputQuery.entrustInv)) {
this.$message.error("请输入委托验收人仓库!");
return;
}
if (this.$isBlank(this.inputQuery.entrustInv)) {
this.$message.error("请输入委托验收人!");
return;
}
insertEntrustRece(this.inputQuery)
.then((response) => {
this.loading = false;
this.cancelDialog();
this.getList();
})
.catch(() => {
this.loading = false;
this.cancelDialog();
});
},
onModifySubmit() {
if (this.$isBlank(this.inputQuery.action)) {
this.$message.error("单据类型不能为空!");
return;
}
if (this.$isBlank(this.inputQuery.curInv)) {
this.$message.error("请输入委托仓库!");
return;
}
if (this.$isBlank(this.inputQuery.entrustInv)) {
this.$message.error("请输入委托验收人仓库!");
return;
}
if (this.$isBlank(this.inputQuery.entrustInv)) {
this.$message.error("请输入委托验收人!");
return;
}
insertEntrustRece(this.inputQuery)
.then((response) => {
this.loading = false;
this.cancelDialog();
this.getList();
})
.catch(() => {
this.loading = false;
this.cancelDialog();
});
},
handleAddClick() {
this.inputQuery = {enable: true, expireTip: true};
this.addDialogVisible = true;
},
handleModifyClick(row) {
this.inputQuery = row;
this.modifyDialogVisible = true;
},
deleteDialog(rowId) {
this.$confirm("此操作将永久删除该委托验收信息, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
this.deleteOrders(rowId);
})
.catch(() => {
});
},
deleteOrders(data) {
this.loading = true;
let tquery = {
id: data.id + "",
};
deleteEntrustRece(tquery)
.then((response) => {
this.getList();
if (response.code == 20000) {
this.$message({
type: "success",
message: "删除成功!",
});
} else {
this.$message.error(response.message);
}
})
.catch(() => {
});
},
},
components: {
modifyDialog,
},
mounted() {
},
created() {
this.getList();
},
};
</script>

@ -0,0 +1,310 @@
<template>
<div>
<el-form :model="inputQuery" :rules="formRules" ref="dataForm">
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="10" class="el-col">
<div class="text item">
<div class="itemTag">
<span>扫码单据类型:&nbsp;</span>
</div>
<el-select v-model="inputQuery.action" placeholder="请选择" clearable @change="actionChange">
<el-option
v-for="item in busTypes"
:key="item.localAction"
:label="item.name"
:value="item.localAction">
<span style="float: left">{{ item.localName }}</span>
</el-option>
</el-select>
</div>
</el-col>
<el-col :span="10" class="el-col">
<div class="text item">
<div class="itemTag">
<span>委托仓库:&nbsp;</span>
</div>
<el-select v-model="inputQuery.curInv" placeholder="当前仓库" @change="invChange" clearable>
<el-option
v-for="item in storageList"
:key="item.code"
:label="item.name"
:value="item.code">
<span style="float: left">{{ item.name }}</span>
</el-option>
</el-select>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="10" class="el-col">
<div class="text item">
<div class="itemTag">
<span>委托验收人仓库:&nbsp;</span>
</div>
<el-select v-model="inputQuery.entrustInv" placeholder="委托验收人仓库" @change="entrustInvChange" clearable>
<el-option
v-for="item in entrustStorageList"
:key="item.code"
:label="item.name"
:value="item.code">
<span style="float: left">{{ item.name }}</span>
</el-option>
</el-select>
</div>
</el-col>
<el-col :span="10" class="el-col">
<div class="text item">
<div class="itemTag">
<span>委托验收人:&nbsp;</span>
</div>
<el-select v-model="inputQuery.entrustUser" placeholder="委托验收人" clearable>
<el-option
v-for="item in entrustUserArray"
:key="item.userid"
:label="item.employeeName"
:value="item.userid">
<span style="float: left">{{ item.employeeName }}</span>
</el-option>
</el-select>
</div>
</el-col>
</el-row>
<el-row :gutter="20" class="el-row" type="flex">
<el-col :span="10" class="el-col">
<div class="text item">
<div class="itemTag">
<span>委托生成单据类型:&nbsp;</span>
</div>
<el-select v-model="inputQuery.entrustAction" placeholder="单据类型" clearable>
<el-option
v-for="item in entrustBusArray"
:key="item.action"
:label="item.name"
:value="item.action">
<span style="float: left">{{ item.name }}</span>
</el-option>
</el-select>
</div>
</el-col>
<el-col :span="4" class="el-col">
<div class="text item">
<el-checkbox v-model="inputQuery.finishRece">
</el-checkbox>
</div>
</el-col>
</el-row>
</el-form>
</div>
</template>
<script>
import {
getBasicThirdSys,
} from "../../api/basic/basicThirdSys";
import {
getLocalJoinNoUse
} from "../../api/basic/busLocalType";
import {filterAll, filterNext, warehouseBussinessTypeList, warehouseUserList} from "@/api/basic/invWarehouse";
import {getBasicUnitMaintains} from "@/api/basic/basicUnitMaintain";
import {filterNoUseBusType} from "@/ap对i/basic/EntrustRece";
export default {
name: "inputQuery",
props: {
inputQuery: {
type: Object,
required: true,
},
},
data() {
return {
filterQuery: {
enabled: true,
isBuType: true,
isFilterBind: true,
},
storageList: [],
entrustStorageList: [],
orderTypeList: [],
fromSpecialOptions: [],
thirdSys: [],
busTypes: [],
entrustBusArray: [],
entrustUserArray: [],
formRules: {
action: [
{required: true, message: "请输入扫码单据类型", trigger: "blur"}
],
curInv: [
{required: true, message: "请输入委托仓库", trigger: "blur"}
],
entrustInv: [
{required: true, message: "请输入委托验收人仓库", trigger: "blur"}
],
entrustUser: [
{required: true, message: "请输入委托验收人", trigger: "blur"}
],
},
}
},
methods: {
getList() {
getBasicThirdSys(this.filterQuery)
.then((response) => {
this.thirdSys = response.data.list || [];
})
.catch(() => {
this.loading = false;
this.list = [];
});
let query = {
curAction: this.inputQuery.localAction,
};
getLocalJoinNoUse(query)
.then((response) => {
this.localTypes = response.data.list || [];
})
.catch(() => {
this.loading = false;
this.localTypes = [];
});
},
getStorage() {
this.storageList = [];
filterAll()
.then((response) => {
this.storageList = response.data || [];
})
.catch(() => {
});
},
getEntrustStorage() {
this.entrustStorageList = [];
let nextQuery = {pcode: this.inputQuery.curInv};
filterNext(nextQuery)
.then((response) => {
this.entrustStorageList = response.data || [];
})
.catch(() => {
});
},
getOrderType() {
filterNoUseBusType().then((response) => {
this.busTypes = response.data || [];
}).catch(() => {
})
},
invChange(code) {
let query = {
code: code
}
this.inputQuery.entrustInv="";
//
warehouseUserList(query).then((res) => {
this.entrustUserArray = res.data;
}).catch((error) => {
this.$message.error("用户数据加载失败")
});
//
warehouseBussinessTypeList(query).then((res) => {
this.entrustBusArray = res.data;
}).catch((error) => {
this.$message.error("单据类型数据加载失败")
});
if (this.$isBlank(this.inputQuery.entrustInv)) {
this.inputQuery.entrustUser = null;
}
this.getEntrustStorage();
},
entrustInvChange(code) {
let query = {
code: code
}
//
warehouseUserList(query).then((res) => {
this.entrustUserArray = res.data;
}).catch((error) => {
this.$message.error("用户数据加载失败")
});
//
warehouseBussinessTypeList(query).then((res) => {
this.entrustBusArray = res.data;
}).catch((error) => {
this.$message.error("单据类型数据加载失败")
});
},
actionChange(action) {
}
},
computed: {
corpType() {
return this.inputQuery.corpType;
}
},
created() {
this.getOrderType();
this.getList();
this.getStorage();
this.getEntrustStorage();
if (this.$isNotBlank(this.inputQuery.entrustInv)) {
this.entrustInvChange(this.inputQuery.entrustInv);
}
},
};
</script>
<style scoped>
.itemTag {
float: left;
text-align: left;
margin-top: 10px;
width: 100px;
}
.text {
font-size: 13px;
font-family: "Microsoft YaHei";
}
.el-row {
display: flex;
flex-wrap: wrap;
margin-bottom: 20px;
}
.el-col {
border-radius: 4px;
flex-wrap: wrap;
}
</style>

@ -172,7 +172,7 @@
<el-checkbox v-model="formData.preCheck" <el-checkbox v-model="formData.preCheck"
:disabled="!curAction.changeEnable ||corpOrderIdDisabled" :disabled="!curAction.changeEnable ||corpOrderIdDisabled"
>是否预验收产品 >是否只采集预验收产品
</el-checkbox> </el-checkbox>
</div> </div>
@ -560,6 +560,7 @@ export default {
this.checkSuccess = false; this.checkSuccess = false;
this.formData.code = response.data; this.formData.code = response.data;
this.originCode = this.formData.code; this.originCode = this.formData.code;
this.$message.error(response.message);
} else if (response.code == 503) { } else if (response.code == 503) {
this.checkSuccess = false; this.checkSuccess = false;
this.formData.code = response.data; this.formData.code = response.data;

Loading…
Cancel
Save