默认获取上架货物光标

prod
CTP 2 years ago
parent f63cc6a3ec
commit 60959cf63b

@ -1,25 +1,37 @@
<template> <template>
<div> <div>
<el-form :model="formData" label-width="100px"> <el-form :model="formData" label-width="100px">
<el-button-group style="display: flex;margin: 0px 0 10px 80%; height: 35px"> <el-button-group
style="display: flex; margin: 0px 0 10px 80%; height: 35px"
>
<!-- <el-button size="mini" type="primary" @click.native="selectOrder()">选入单据</el-button>--> <!-- <el-button size="mini" type="primary" @click.native="selectOrder()">选入单据</el-button>-->
<el-button size="mini" type="primary" @click.native="saveData()">提交</el-button> <el-button size="mini" type="primary" @click.native="saveData()"
<el-button size="mini" type="primary" @click.native="closePlaceDialog(2)">关闭</el-button> >提交</el-button
>
<el-button
size="mini"
type="primary"
@click.native="closePlaceDialog(2)"
>关闭</el-button
>
</el-button-group> </el-button-group>
<el-row> <el-row>
<el-col :span="10"> <el-col :span="10">
<el-form-item prop="invWarehouseCode" label="当前仓库:"> <el-form-item prop="invWarehouseCode" label="当前仓库:">
<el-select v-model="formData.invCode" <el-select
v-model="formData.invCode"
placeholder="当前仓库信息" placeholder="当前仓库信息"
:disabled="list.length > 0" :disabled="list.length > 0"
@change="invChange" @change="invChange"
style="width: 90%" style="width: 90%"
clearable> clearable
>
<el-option <el-option
v-for="item in invList" v-for="item in invList"
:key="item.name" :key="item.name"
:label="item.name" :label="item.name"
:value="item.code"> :value="item.code"
>
<span style="float: left">{{ item.name }}</span> <span style="float: left">{{ item.name }}</span>
</el-option> </el-option>
</el-select> </el-select>
@ -50,7 +62,7 @@
id="inputer" id="inputer"
@focus="getInputFocus($event)" @focus="getInputFocus($event)"
@keypress.enter.native="enterKey($event)" @keypress.enter.native="enterKey($event)"
ref='inputRef' ref="inputRef"
style="ime-mode: disabled" style="ime-mode: disabled"
type="tel" type="tel"
v-model="formData.orderId" v-model="formData.orderId"
@ -64,29 +76,75 @@
@click.native.stop="search()" @click.native.stop="search()"
style="margin-left: 15px" style="margin-left: 15px"
>查询 >查询
</el-button </el-button>
>
</el-col> </el-col>
</el-row> </el-row>
<el-table v-loading="loading" :data="list" style="width: 100%;margin-top: 20px;" <el-table
v-loading="loading"
:data="list"
style="width: 100%; margin-top: 20px"
highlight-current-row highlight-current-row
border max-height="300" height="300"> border
max-height="300"
height="300"
>
<el-table-column label="序号" type="index" width="50"></el-table-column> <el-table-column label="序号" type="index" width="50"></el-table-column>
<el-table-column label="DI/物资编码" prop="relId" width="150"></el-table-column> <el-table-column
<el-table-column label="物资名称" prop="productName" width="150" show-tooltip-when-overflow></el-table-column> label="DI/物资编码"
<el-table-column label="规格型号" prop="ggxh" width="150"></el-table-column> prop="relId"
<el-table-column label="批次号" prop="batchNo" width="150"></el-table-column> width="150"
<el-table-column label="序列号" prop="serialNo" width="150"></el-table-column> ></el-table-column>
<el-table-column label="计量单位" prop="measname" width="150"></el-table-column> <el-table-column
<el-table-column label="货位" prop="invSpaceName" width="150"></el-table-column> label="物资名称"
<el-table-column label="注册备案号" prop="zczbhhzbapzbh" width="150" show-tooltip-when-overflow></el-table-column> prop="productName"
<el-table-column label="生产厂家" prop="manufactory" width="150"></el-table-column> width="150"
<el-table-column label="供应商" prop="supName" width="150"></el-table-column> show-tooltip-when-overflow
></el-table-column>
<el-table-column
label="规格型号"
prop="ggxh"
width="150"
></el-table-column>
<el-table-column
label="批次号"
prop="batchNo"
width="150"
></el-table-column>
<el-table-column
label="序列号"
prop="serialNo"
width="150"
></el-table-column>
<el-table-column
label="计量单位"
prop="measname"
width="150"
></el-table-column>
<el-table-column
label="货位"
prop="invSpaceName"
width="150"
></el-table-column>
<el-table-column
label="注册备案号"
prop="zczbhhzbapzbh"
width="150"
show-tooltip-when-overflow
></el-table-column>
<el-table-column
label="生产厂家"
prop="manufactory"
width="150"
></el-table-column>
<el-table-column
label="供应商"
prop="supName"
width="150"
></el-table-column>
</el-table> </el-table>
</el-form> </el-form>
<el-dialog <el-dialog
title="选入单据" title="选入单据"
:visible.sync="orderDialogVisible" :visible.sync="orderDialogVisible"
@ -115,7 +173,7 @@ import {
bindInvSpace, bindInvSpace,
getInvPlaceOrderDetailList, getInvPlaceOrderDetailList,
getInvProductInfo, getInvProductInfo,
getInvProductOrderInfo getInvProductOrderInfo,
} from "@/api/inventory/invPlace"; } from "@/api/inventory/invPlace";
import invPlaceSelectOrder from "@/views/inventory/InvPlaceSelectOrder.vue"; import invPlaceSelectOrder from "@/views/inventory/InvPlaceSelectOrder.vue";
@ -123,8 +181,8 @@ export default {
props: { props: {
closePlaceDialog: { closePlaceDialog: {
type: Function, type: Function,
required: true required: true,
} },
}, },
name: "InvOrderPlaceModify", name: "InvOrderPlaceModify",
data() { data() {
@ -144,11 +202,11 @@ export default {
orderDialogVisible: false, orderDialogVisible: false,
selectFormData: { selectFormData: {
invCode: null, invCode: null,
invName: null invName: null,
}, },
spaceSearchResult: [], spaceSearchResult: [],
currentOrderId: null currentOrderId: null,
} };
}, },
methods: { methods: {
saveData() { saveData() {
@ -164,11 +222,12 @@ export default {
this.$message.error("请录入需要上架的物资数据"); this.$message.error("请录入需要上架的物资数据");
return; return;
} }
this.$confirm('是否确认保存当前数据?', '提示', { this.$confirm("是否确认保存当前数据?", "提示", {
confirmButtonText: '确定', confirmButtonText: "确定",
cancelButtonText: '取消', cancelButtonText: "取消",
type: 'warning' type: "warning",
}).then(() => { })
.then(() => {
this.list.forEach((item) => { this.list.forEach((item) => {
this.codeArray.push(item.code); this.codeArray.push(item.code);
}); });
@ -177,20 +236,22 @@ export default {
invSpaceCode: this.formData.invSpaceCode, invSpaceCode: this.formData.invSpaceCode,
orderId: this.orderId, orderId: this.orderId,
type: 2, type: 2,
oid: this.formData.orderId oid: this.formData.orderId,
}; };
bindInvOrderSpace(params).then((res) => { bindInvOrderSpace(params)
.then((res) => {
if (res.code === 20000) { if (res.code === 20000) {
this.$message.success("上架成功"); this.$message.success("上架成功");
this.clearFormData(); this.clearFormData();
} else { } else {
this.$message.error(res.message); this.$message.error(res.message);
} }
}).catch((error) => { })
.catch((error) => {
this.$message.error(error.message); this.$message.error(error.message);
}); });
}).catch(() => { })
}); .catch(() => {});
}, },
clearFormData() { clearFormData() {
// //
@ -204,7 +265,7 @@ export default {
this.list = []; this.list = [];
this.selectFormData = { this.selectFormData = {
invCode: null, invCode: null,
invName: null invName: null,
}; };
// //
this.$refs.spaceInputRef.focus(); this.$refs.spaceInputRef.focus();
@ -215,15 +276,17 @@ export default {
this.list.forEach((item) => { this.list.forEach((item) => {
item.invSpaceCode = null; item.invSpaceCode = null;
item.invSpaceName = null; item.invSpaceName = null;
}) });
this.getSpaceList(); this.getSpaceList();
}, },
querySearchAsync(queryString, cb) { querySearchAsync(queryString, cb) {
let restaurants = this.spaceList; let restaurants = this.spaceList;
restaurants.forEach((item) => { restaurants.forEach((item) => {
item.value = item.name; item.value = item.name;
}) });
let results = queryString ? restaurants.filter(this.createStateFilter(queryString)) : restaurants; let results = queryString
? restaurants.filter(this.createStateFilter(queryString))
: restaurants;
if (!isBlank(queryString)) { if (!isBlank(queryString)) {
this.spaceSearchResult = results; this.spaceSearchResult = results;
} }
@ -232,8 +295,10 @@ export default {
createStateFilter(queryString) { createStateFilter(queryString) {
return (state) => { return (state) => {
const { value, code } = state; const { value, code } = state;
return value === queryString.toLowerCase() return (
|| code === queryString.toLowerCase(); value === queryString.toLowerCase() ||
code === queryString.toLowerCase()
);
}; };
}, },
handleSelect(item) { handleSelect(item) {
@ -251,17 +316,16 @@ export default {
this.getSpaceList(); this.getSpaceList();
this.getList(); this.getList();
}) })
.catch(() => { .catch(() => {});
});
}, },
getSpaceList() { getSpaceList() {
let params = { let params = {
invWarehouseCode: this.formData.invCode, invWarehouseCode: this.formData.invCode,
status: 1 status: 1,
}; };
getInvSpaceList(params).then((res) => { getInvSpaceList(params).then((res) => {
this.spaceList = res.data.list || []; this.spaceList = res.data.list || [];
}) });
}, },
search(event) { search(event) {
if (event != null) { if (event != null) {
@ -269,15 +333,15 @@ export default {
} }
this.$refs.inputRef.select(); this.$refs.inputRef.select();
if (isBlank(this.formData.invCode)) { if (isBlank(this.formData.invCode)) {
this.$message.error('当前仓库不能为空'); this.$message.error("当前仓库不能为空");
return; return;
} }
if (isBlank(this.formData.invSpaceCode)) { if (isBlank(this.formData.invSpaceCode)) {
this.$message.error('上架货位不能为空'); this.$message.error("上架货位不能为空");
return; return;
} }
if (isBlank(this.formData.orderId)) { if (isBlank(this.formData.orderId)) {
this.$message.error('请输入查询单号'); this.$message.error("请输入查询单号");
return; return;
} }
@ -293,10 +357,10 @@ export default {
invCode: this.formData.invCode, invCode: this.formData.invCode,
invSpaceCode: this.formData.invSpaceCode, invSpaceCode: this.formData.invSpaceCode,
type: 2, type: 2,
oId: this.currentOrderId oId: this.currentOrderId,
}; };
getInvProductOrderInfo(params).then((res) => { getInvProductOrderInfo(params).then((res) => {
debugger debugger;
if (res.code == 20000) { if (res.code == 20000) {
this.orderId = res.data; this.orderId = res.data;
getInvPlaceOrderDetailList({ orderId: this.orderId }).then((res) => { getInvPlaceOrderDetailList({ orderId: this.orderId }).then((res) => {
@ -305,7 +369,7 @@ export default {
} else { } else {
this.$message.warning(res.message); this.$message.warning(res.message);
} }
}) });
}, },
getInputFocus(event) { getInputFocus(event) {
event.currentTarget.select(); event.currentTarget.select();
@ -322,16 +386,16 @@ export default {
if (item.code === this.formData.invCode) { if (item.code === this.formData.invCode) {
this.selectFormData = { this.selectFormData = {
invCode: this.formData.invCode, invCode: this.formData.invCode,
invName: item.name invName: item.name,
}; };
} }
}) });
}, },
closeDialog() { closeDialog() {
this.orderDialogVisible = false; this.orderDialogVisible = false;
this.selectFormData = { this.selectFormData = {
invCode: null, invCode: null,
invName: null invName: null,
}; };
this.$refs.inputRef.focus(); this.$refs.inputRef.focus();
}, },
@ -347,14 +411,16 @@ export default {
}, },
}, },
components: { components: {
invPlaceSelectOrder invPlaceSelectOrder,
}, },
created() { created() {
this.getInvList(); this.getInvList();
}, },
} mounted() {
//
this.$refs.spaceInputRef.focus();
},
};
</script> </script>
<style scoped> <style scoped></style>
</style>

@ -1,23 +1,32 @@
<template> <template>
<el-form :model="formData" label-width="100px"> <el-form :model="formData" label-width="100px">
<el-button-group style="display: flex;margin: 0px 0 10px 80%; height: 35px"> <el-button-group
<el-button size="mini" type="primary" @click.native="saveData()">提交</el-button> style="display: flex; margin: 0px 0 10px 80%; height: 35px"
<el-button size="mini" type="primary" @click.native="closePlaceDialog(1)">关闭</el-button> >
<el-button size="mini" type="primary" @click.native="saveData()"
>提交</el-button
>
<el-button size="mini" type="primary" @click.native="closePlaceDialog(1)"
>关闭</el-button
>
</el-button-group> </el-button-group>
<el-row> <el-row>
<el-col :span="10"> <el-col :span="10">
<el-form-item prop="invWarehouseCode" label="当前仓库:"> <el-form-item prop="invWarehouseCode" label="当前仓库:">
<el-select v-model="formData.invCode" <el-select
v-model="formData.invCode"
placeholder="当前仓库信息" placeholder="当前仓库信息"
:disabled="list.length > 0" :disabled="list.length > 0"
@change="invChange" @change="invChange"
style="width: 90%" style="width: 90%"
clearable> clearable
>
<el-option <el-option
v-for="item in invList" v-for="item in invList"
:key="item.name" :key="item.name"
:label="item.name" :label="item.name"
:value="item.code"> :value="item.code"
>
<span style="float: left">{{ item.name }}</span> <span style="float: left">{{ item.name }}</span>
</el-option> </el-option>
</el-select> </el-select>
@ -64,7 +73,7 @@
id="inputer" id="inputer"
@focus="getInputFocus($event)" @focus="getInputFocus($event)"
@keypress.enter.native="enterKey($event)" @keypress.enter.native="enterKey($event)"
ref='inputRef' ref="inputRef"
style="ime-mode: disabled" style="ime-mode: disabled"
type="tel" type="tel"
v-model="formData.code" v-model="formData.code"
@ -78,26 +87,73 @@
@click.native.stop="addCode()" @click.native.stop="addCode()"
style="margin-left: 15px" style="margin-left: 15px"
>添加 >添加
</el-button </el-button>
>
</el-col> </el-col>
</el-row> </el-row>
<el-table v-loading="loading" :data="list" style="width: 100%;margin-top: 20px;" <el-table
v-loading="loading"
:data="list"
style="width: 100%; margin-top: 20px"
highlight-current-row highlight-current-row
border max-height="300" height="300"> border
max-height="300"
height="300"
>
<el-table-column label="序号" type="index" width="50"></el-table-column> <el-table-column label="序号" type="index" width="50"></el-table-column>
<el-table-column label="DI/物资编码" prop="relId" width="150"></el-table-column> <el-table-column
<el-table-column label="物资名称" prop="productName" width="150" show-tooltip-when-overflow></el-table-column> label="DI/物资编码"
<el-table-column label="规格型号" prop="ggxh" width="150"></el-table-column> prop="relId"
<el-table-column label="批次号" prop="batchNo" width="150"></el-table-column> width="150"
<el-table-column label="序列号" prop="serialNo" width="150"></el-table-column> ></el-table-column>
<el-table-column label="计量单位" prop="measname" width="150"></el-table-column> <el-table-column
<el-table-column label="货位" prop="invSpaceName" width="150"></el-table-column> label="物资名称"
prop="productName"
width="150"
show-tooltip-when-overflow
></el-table-column>
<el-table-column
label="规格型号"
prop="ggxh"
width="150"
></el-table-column>
<el-table-column
label="批次号"
prop="batchNo"
width="150"
></el-table-column>
<el-table-column
label="序列号"
prop="serialNo"
width="150"
></el-table-column>
<el-table-column
label="计量单位"
prop="measname"
width="150"
></el-table-column>
<el-table-column
label="货位"
prop="invSpaceName"
width="150"
></el-table-column>
<el-table-column label="数量" prop="count" width="150"></el-table-column> <el-table-column label="数量" prop="count" width="150"></el-table-column>
<el-table-column label="注册备案号" prop="zczbhhzbapzbh" width="150" show-tooltip-when-overflow></el-table-column> <el-table-column
<el-table-column label="生产厂家" prop="manufactory" width="150"></el-table-column> label="注册备案号"
<el-table-column label="供应商" prop="supName" width="150"></el-table-column> prop="zczbhhzbapzbh"
width="150"
show-tooltip-when-overflow
></el-table-column>
<el-table-column
label="生产厂家"
prop="manufactory"
width="150"
></el-table-column>
<el-table-column
label="供应商"
prop="supName"
width="150"
></el-table-column>
</el-table> </el-table>
</el-form> </el-form>
</template> </template>
@ -106,14 +162,18 @@
import { getInvListByUser } from "@/api/system/invWarehouse"; import { getInvListByUser } from "@/api/system/invWarehouse";
import { getInvSpaceList } from "@/api/inventory/invSpace"; import { getInvSpaceList } from "@/api/inventory/invSpace";
import { isBlank } from "@/utils/strUtil"; import { isBlank } from "@/utils/strUtil";
import {bindInvSpace, getInvPlaceOrderDetailList, getCheckInvProductInfo} from "@/api/inventory/invPlace"; import {
bindInvSpace,
getInvPlaceOrderDetailList,
getCheckInvProductInfo,
} from "@/api/inventory/invPlace";
export default { export default {
props: { props: {
closePlaceDialog: { closePlaceDialog: {
type: Function, type: Function,
required: true required: true,
} },
}, },
name: "InvProductPlaceModify", name: "InvProductPlaceModify",
data() { data() {
@ -135,7 +195,7 @@ export default {
loading: false, loading: false,
spaceSearchResult: [], spaceSearchResult: [],
spaceChangeSearchResult: [], spaceChangeSearchResult: [],
} };
}, },
methods: { methods: {
saveData() { saveData() {
@ -151,11 +211,12 @@ export default {
this.$message.error("请录入需要上架的物资数据"); this.$message.error("请录入需要上架的物资数据");
return; return;
} }
this.$confirm('是否确认保存当前数据?', '提示', { this.$confirm("是否确认保存当前数据?", "提示", {
confirmButtonText: '确定', confirmButtonText: "确定",
cancelButtonText: '取消', cancelButtonText: "取消",
type: 'warning' type: "warning",
}).then(() => { })
.then(() => {
let params = { let params = {
invCode: this.formData.invCode, invCode: this.formData.invCode,
invSpaceCode: this.formData.invSpaceCode, invSpaceCode: this.formData.invSpaceCode,
@ -163,18 +224,20 @@ export default {
type: 3, // type: 3, //
orderId: this.orderId, orderId: this.orderId,
}; };
bindInvSpace(params).then((res) => { bindInvSpace(params)
.then((res) => {
if (res.code === 20000) { if (res.code === 20000) {
this.$message.success("上架成功"); this.$message.success("上架成功");
this.clearFormData(); this.clearFormData();
} else { } else {
this.$message.error(res.message); this.$message.error(res.message);
} }
}).catch((error) => { })
.catch((error) => {
this.$message.error(error.message); this.$message.error(error.message);
}); });
}).catch(() => { })
}); .catch(() => {});
}, },
clearFormData() { clearFormData() {
// //
@ -195,7 +258,7 @@ export default {
this.list.forEach((item) => { this.list.forEach((item) => {
item.invSpaceCode = null; item.invSpaceCode = null;
item.invSpaceName = null; item.invSpaceName = null;
}) });
this.getSpaceList(); this.getSpaceList();
}, },
// //
@ -203,9 +266,11 @@ export default {
let restaurants = this.spaceList; let restaurants = this.spaceList;
restaurants.forEach((item) => { restaurants.forEach((item) => {
item.value = item.name; item.value = item.name;
}) });
let results = queryString ? restaurants.filter(this.createStateFilter(queryString)) : restaurants; let results = queryString
? restaurants.filter(this.createStateFilter(queryString))
: restaurants;
if (!isBlank(queryString)) { if (!isBlank(queryString)) {
this.spaceSearchResult = results; this.spaceSearchResult = results;
} }
@ -216,9 +281,11 @@ export default {
let restaurants = this.changeSpaceList; let restaurants = this.changeSpaceList;
restaurants.forEach((item) => { restaurants.forEach((item) => {
item.value = item.name; item.value = item.name;
}) });
let results = queryString ? restaurants.filter(this.createStateFilter(queryString)) : restaurants; let results = queryString
? restaurants.filter(this.createStateFilter(queryString))
: restaurants;
if (!isBlank(queryString)) { if (!isBlank(queryString)) {
this.spaceChangeSearchResult = results; this.spaceChangeSearchResult = results;
} }
@ -228,8 +295,10 @@ export default {
createStateFilter(queryString) { createStateFilter(queryString) {
return (state) => { return (state) => {
const { value, code } = state; const { value, code } = state;
return value === queryString.toLowerCase() return (
|| code === queryString.toLowerCase(); value === queryString.toLowerCase() ||
code === queryString.toLowerCase()
);
}; };
}, },
handleSelect(item) { handleSelect(item) {
@ -258,34 +327,33 @@ export default {
this.getSpaceList(); this.getSpaceList();
this.getList(); this.getList();
}) })
.catch(() => { .catch(() => {});
});
}, },
getSpaceList() { getSpaceList() {
let params = { let params = {
invWarehouseCode: this.formData.invCode, invWarehouseCode: this.formData.invCode,
status: 1 status: 1,
}; };
getInvSpaceList(params).then((res) => { getInvSpaceList(params).then((res) => {
this.spaceList = res.data.list || []; this.spaceList = res.data.list || [];
}) });
}, },
getChangeSpaceList() { getChangeSpaceList() {
let params = { let params = {
invWarehouseCode: this.formData.invCode, invWarehouseCode: this.formData.invCode,
status: 1 status: 1,
}; };
getInvSpaceList(params).then((res) => { getInvSpaceList(params).then((res) => {
var list = []; var list = [];
console.log(this.formData.invSpaceName) console.log(this.formData.invSpaceName);
for (var i = 0; i < res.data.list.length; i++) { for (var i = 0; i < res.data.list.length; i++) {
if (res.data.list[i].name != this.formData.invSpaceName) { if (res.data.list[i].name != this.formData.invSpaceName) {
list.push(res.data.list[i]); list.push(res.data.list[i]);
} }
} }
this.changeSpaceList = list || []; this.changeSpaceList = list || [];
}) });
}, },
addCode(event) { addCode(event) {
@ -294,17 +362,17 @@ export default {
} }
this.$refs.inputRef.select(); this.$refs.inputRef.select();
if (isBlank(this.formData.invCode)) { if (isBlank(this.formData.invCode)) {
this.$message.error('当前仓库不能为空'); this.$message.error("当前仓库不能为空");
return; return;
} }
if (isBlank(this.formData.invSpaceCode)) { if (isBlank(this.formData.invSpaceCode)) {
this.$message.error('当前货位不能为空'); this.$message.error("当前货位不能为空");
return; return;
} }
if (isBlank(this.formData.changeSpaceName)) { if (isBlank(this.formData.changeSpaceName)) {
this.$message.error('变更后货位不能为空'); this.$message.error("变更后货位不能为空");
return; return;
} }
@ -320,7 +388,7 @@ export default {
invSpaceCode: this.formData.invSpaceCode, invSpaceCode: this.formData.invSpaceCode,
changeSpaceCode: this.formData.changeSpaceCode, changeSpaceCode: this.formData.changeSpaceCode,
code: this.formData.code, code: this.formData.code,
type:3 type: 3,
}; };
getCheckInvProductInfo(params).then((res) => { getCheckInvProductInfo(params).then((res) => {
if (res.code == 20000) { if (res.code == 20000) {
@ -331,7 +399,7 @@ export default {
} else { } else {
this.$message.warning(res.message); this.$message.warning(res.message);
} }
}) });
}, },
getInputFocus(event) { getInputFocus(event) {
event.currentTarget.select(); event.currentTarget.select();
@ -363,14 +431,15 @@ export default {
event.target.select(); event.target.select();
} }
}, },
}, },
created() { created() {
this.getInvList(); this.getInvList();
}, },
} mounted() {
//
this.$refs.spaceInputRef.focus();
},
};
</script> </script>
<style scoped> <style scoped></style>
</style>

@ -1,23 +1,32 @@
<template> <template>
<el-form :model="formData" label-width="100px"> <el-form :model="formData" label-width="100px">
<el-button-group style="display: flex;margin: 0px 0 10px 80%; height: 35px"> <el-button-group
<el-button size="mini" type="primary" @click.native="saveData()">提交</el-button> style="display: flex; margin: 0px 0 10px 80%; height: 35px"
<el-button size="mini" type="primary" @click.native="closePlaceDialog(1)">关闭</el-button> >
<el-button size="mini" type="primary" @click.native="saveData()"
>提交</el-button
>
<el-button size="mini" type="primary" @click.native="closePlaceDialog(1)"
>关闭</el-button
>
</el-button-group> </el-button-group>
<el-row> <el-row>
<el-col :span="10"> <el-col :span="10">
<el-form-item prop="invWarehouseCode" label="当前仓库:"> <el-form-item prop="invWarehouseCode" label="当前仓库:">
<el-select v-model="formData.invCode" <el-select
v-model="formData.invCode"
placeholder="当前仓库信息" placeholder="当前仓库信息"
:disabled="list.length > 0" :disabled="list.length > 0"
@change="invChange" @change="invChange"
style="width: 90%" style="width: 90%"
clearable> clearable
>
<el-option <el-option
v-for="item in invList" v-for="item in invList"
:key="item.name" :key="item.name"
:label="item.name" :label="item.name"
:value="item.code"> :value="item.code"
>
<span style="float: left">{{ item.name }}</span> <span style="float: left">{{ item.name }}</span>
</el-option> </el-option>
</el-select> </el-select>
@ -47,7 +56,7 @@
id="inputer" id="inputer"
@focus="getInputFocus($event)" @focus="getInputFocus($event)"
@keypress.enter.native="enterKey($event)" @keypress.enter.native="enterKey($event)"
ref='inputRef' ref="inputRef"
style="ime-mode: disabled" style="ime-mode: disabled"
type="tel" type="tel"
v-model="formData.code" v-model="formData.code"
@ -61,26 +70,73 @@
@click.native.stop="addCode()" @click.native.stop="addCode()"
style="margin-left: 15px" style="margin-left: 15px"
>添加 >添加
</el-button </el-button>
>
</el-col> </el-col>
</el-row> </el-row>
<el-table v-loading="loading" :data="list" style="width: 100%;margin-top: 20px;" <el-table
v-loading="loading"
:data="list"
style="width: 100%; margin-top: 20px"
highlight-current-row highlight-current-row
border max-height="300" height="300"> border
max-height="300"
height="300"
>
<el-table-column label="序号" type="index" width="50"></el-table-column> <el-table-column label="序号" type="index" width="50"></el-table-column>
<el-table-column label="DI/物资编码" prop="relId" width="150"></el-table-column> <el-table-column
<el-table-column label="物资名称" prop="productName" width="150" show-tooltip-when-overflow></el-table-column> label="DI/物资编码"
<el-table-column label="规格型号" prop="ggxh" width="150"></el-table-column> prop="relId"
<el-table-column label="批次号" prop="batchNo" width="150"></el-table-column> width="150"
<el-table-column label="序列号" prop="serialNo" width="150"></el-table-column> ></el-table-column>
<el-table-column label="计量单位" prop="measname" width="150"></el-table-column> <el-table-column
<el-table-column label="货位" prop="invSpaceName" width="150"></el-table-column> label="物资名称"
prop="productName"
width="150"
show-tooltip-when-overflow
></el-table-column>
<el-table-column
label="规格型号"
prop="ggxh"
width="150"
></el-table-column>
<el-table-column
label="批次号"
prop="batchNo"
width="150"
></el-table-column>
<el-table-column
label="序列号"
prop="serialNo"
width="150"
></el-table-column>
<el-table-column
label="计量单位"
prop="measname"
width="150"
></el-table-column>
<el-table-column
label="货位"
prop="invSpaceName"
width="150"
></el-table-column>
<el-table-column label="数量" prop="count" width="150"></el-table-column> <el-table-column label="数量" prop="count" width="150"></el-table-column>
<el-table-column label="注册备案号" prop="zczbhhzbapzbh" width="150" show-tooltip-when-overflow></el-table-column> <el-table-column
<el-table-column label="生产厂家" prop="manufactory" width="150"></el-table-column> label="注册备案号"
<el-table-column label="供应商" prop="supName" width="150"></el-table-column> prop="zczbhhzbapzbh"
width="150"
show-tooltip-when-overflow
></el-table-column>
<el-table-column
label="生产厂家"
prop="manufactory"
width="150"
></el-table-column>
<el-table-column
label="供应商"
prop="supName"
width="150"
></el-table-column>
</el-table> </el-table>
</el-form> </el-form>
</template> </template>
@ -89,14 +145,18 @@
import { getInvListByUser } from "@/api/system/invWarehouse"; import { getInvListByUser } from "@/api/system/invWarehouse";
import { getInvSpaceList } from "@/api/inventory/invSpace"; import { getInvSpaceList } from "@/api/inventory/invSpace";
import { isBlank } from "@/utils/strUtil"; import { isBlank } from "@/utils/strUtil";
import {bindInvSpace, getInvPlaceOrderDetailList, getInvProductInfo} from "@/api/inventory/invPlace"; import {
bindInvSpace,
getInvPlaceOrderDetailList,
getInvProductInfo,
} from "@/api/inventory/invPlace";
export default { export default {
props: { props: {
closePlaceDialog: { closePlaceDialog: {
type: Function, type: Function,
required: true required: true,
} },
}, },
name: "InvProductPlaceModify", name: "InvProductPlaceModify",
data() { data() {
@ -113,8 +173,8 @@ export default {
invList: [], invList: [],
spaceList: [], spaceList: [],
loading: false, loading: false,
spaceSearchResult: [] spaceSearchResult: [],
} };
}, },
methods: { methods: {
saveData() { saveData() {
@ -130,29 +190,32 @@ export default {
this.$message.error("请录入需要上架的物资数据"); this.$message.error("请录入需要上架的物资数据");
return; return;
} }
this.$confirm('是否确认保存当前数据?', '提示', { this.$confirm("是否确认保存当前数据?", "提示", {
confirmButtonText: '确定', confirmButtonText: "确定",
cancelButtonText: '取消', cancelButtonText: "取消",
type: 'warning' type: "warning",
}).then(() => { })
.then(() => {
let params = { let params = {
invCode: this.formData.invCode, invCode: this.formData.invCode,
invSpaceCode: this.formData.invSpaceCode, invSpaceCode: this.formData.invSpaceCode,
type: 1, // type: 1, //
orderId: this.orderId, orderId: this.orderId,
}; };
bindInvSpace(params).then((res) => { bindInvSpace(params)
.then((res) => {
if (res.code === 20000) { if (res.code === 20000) {
this.$message.success("上架成功"); this.$message.success("上架成功");
this.clearFormData(); this.clearFormData();
} else { } else {
this.$message.error(res.message); this.$message.error(res.message);
} }
}).catch((error) => { })
.catch((error) => {
this.$message.error(error.message); this.$message.error(error.message);
}); });
}).catch(() => { })
}); .catch(() => {});
}, },
clearFormData() { clearFormData() {
// //
@ -174,16 +237,18 @@ export default {
this.list.forEach((item) => { this.list.forEach((item) => {
item.invSpaceCode = null; item.invSpaceCode = null;
item.invSpaceName = null; item.invSpaceName = null;
}) });
this.getSpaceList(); this.getSpaceList();
}, },
querySearchAsync(queryString, cb) { querySearchAsync(queryString, cb) {
let restaurants = this.spaceList; let restaurants = this.spaceList;
restaurants.forEach((item) => { restaurants.forEach((item) => {
item.value = item.name; item.value = item.name;
}) });
let results = queryString ? restaurants.filter(this.createStateFilter(queryString)) : restaurants; let results = queryString
? restaurants.filter(this.createStateFilter(queryString))
: restaurants;
if (!isBlank(queryString)) { if (!isBlank(queryString)) {
this.spaceSearchResult = results; this.spaceSearchResult = results;
} }
@ -192,8 +257,10 @@ export default {
createStateFilter(queryString) { createStateFilter(queryString) {
return (state) => { return (state) => {
const { value, code } = state; const { value, code } = state;
return value === queryString.toLowerCase() return (
|| code === queryString.toLowerCase(); value === queryString.toLowerCase() ||
code === queryString.toLowerCase()
);
}; };
}, },
handleSelect(item) { handleSelect(item) {
@ -212,17 +279,16 @@ export default {
this.getList(); this.getList();
this.$refs.spaceInputRef.focus(); this.$refs.spaceInputRef.focus();
}) })
.catch(() => { .catch(() => {});
});
}, },
getSpaceList() { getSpaceList() {
let params = { let params = {
invWarehouseCode: this.formData.invCode, invWarehouseCode: this.formData.invCode,
status: 1 status: 1,
}; };
getInvSpaceList(params).then((res) => { getInvSpaceList(params).then((res) => {
this.spaceList = res.data.list || []; this.spaceList = res.data.list || [];
}) });
}, },
addCode(event) { addCode(event) {
if (event != null) { if (event != null) {
@ -230,12 +296,12 @@ export default {
} }
this.$refs.inputRef.select(); this.$refs.inputRef.select();
if (isBlank(this.formData.invCode)) { if (isBlank(this.formData.invCode)) {
this.$message.error('当前仓库不能为空'); this.$message.error("当前仓库不能为空");
return; return;
} }
if (isBlank(this.formData.invSpaceCode)) { if (isBlank(this.formData.invSpaceCode)) {
this.$message.error('上架货位不能为空'); this.$message.error("上架货位不能为空");
return; return;
} }
@ -261,7 +327,7 @@ export default {
} else { } else {
this.$message.warning(res.message); this.$message.warning(res.message);
} }
}) });
}, },
getInputFocus(event) { getInputFocus(event) {
event.currentTarget.select(); event.currentTarget.select();
@ -286,9 +352,11 @@ export default {
created() { created() {
this.getInvList(); this.getInvList();
}, },
} mounted() {
//
this.$refs.spaceInputRef.focus();
},
};
</script> </script>
<style scoped> <style scoped></style>
</style>

Loading…
Cancel
Save