默认获取上架货物光标

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
<!-- <el-button size="mini" type="primary" @click.native="selectOrder()">选入单据</el-button>--> style="display: flex; margin: 0px 0 10px 80%; height: 35px"
<el-button size="mini" type="primary" @click.native="saveData()">提交</el-button> >
<el-button size="mini" type="primary" @click.native="closePlaceDialog(2)">关闭</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="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
placeholder="当前仓库信息" v-model="formData.invCode"
:disabled="list.length>0" placeholder="当前仓库信息"
@change="invChange" :disabled="list.length > 0"
style="width: 90%" @change="invChange"
clearable> style="width: 90%"
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>
@ -32,7 +44,7 @@
v-model="formData.invSpaceName" v-model="formData.invSpaceName"
:fetch-suggestions="querySearchAsync" :fetch-suggestions="querySearchAsync"
placeholder="请输入内容" placeholder="请输入内容"
:disabled="list.length>0" :disabled="list.length > 0"
ref="spaceInputRef" ref="spaceInputRef"
@select="handleSelect" @select="handleSelect"
@keypress.enter.native="spaceEnterKey($event)" @keypress.enter.native="spaceEnterKey($event)"
@ -50,8 +62,8 @@
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"
></el-input> ></el-input>
@ -63,30 +75,76 @@
size="mini" size="mini"
@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
highlight-current-row v-loading="loading"
border max-height="300" height="300"> :data="list"
style="width: 100%; margin-top: 20px"
highlight-current-row
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"
@ -107,15 +165,15 @@
</template> </template>
<script> <script>
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 { import {
bindInvOrderSpace, bindInvOrderSpace,
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,33 +222,36 @@ export default {
this.$message.error("请录入需要上架的物资数据"); this.$message.error("请录入需要上架的物资数据");
return; return;
} }
this.$confirm('是否确认保存当前数据?', '提示', { this.$confirm("是否确认保存当前数据?", "提示", {
confirmButtonText: '确定', confirmButtonText: "确定",
cancelButtonText: '取消', cancelButtonText: "取消",
type: 'warning' type: "warning",
}).then(() => { })
this.list.forEach((item) => { .then(() => {
this.codeArray.push(item.code); this.list.forEach((item) => {
}); this.codeArray.push(item.code);
let params = { });
invCode: this.formData.invCode, let params = {
invSpaceCode: this.formData.invSpaceCode, invCode: this.formData.invCode,
orderId: this.orderId, invSpaceCode: this.formData.invSpaceCode,
type: 2, orderId: this.orderId,
oid: this.formData.orderId type: 2,
}; oid: this.formData.orderId,
bindInvOrderSpace(params).then((res) => { };
if (res.code === 20000) { bindInvOrderSpace(params)
this.$message.success("上架成功"); .then((res) => {
this.clearFormData(); if (res.code === 20000) {
} else { this.$message.success("上架成功");
this.$message.error(res.message); this.clearFormData();
} } else {
}).catch((error) => { this.$message.error(res.message);
this.$message.error(error.message); }
}); })
}).catch(() => { .catch((error) => {
}); this.$message.error(error.message);
});
})
.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;
} }
@ -231,9 +294,11 @@ 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,19 +357,19 @@ 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) => {
this.list=res.data.list; this.list = res.data.list;
}); });
} 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
placeholder="当前仓库信息" v-model="formData.invCode"
:disabled="list.length>0" placeholder="当前仓库信息"
@change="invChange" :disabled="list.length > 0"
style="width: 90%" @change="invChange"
clearable> style="width: 90%"
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>
@ -31,7 +40,7 @@
:fetch-suggestions="querySearchAsync" :fetch-suggestions="querySearchAsync"
placeholder="请输入内容" placeholder="请输入内容"
ref="spaceInputRef" ref="spaceInputRef"
:disabled="list.length>0" :disabled="list.length > 0"
@select="handleSelect" @select="handleSelect"
@keypress.enter.native="spaceEnterKey($event)" @keypress.enter.native="spaceEnterKey($event)"
clearable clearable
@ -64,8 +73,8 @@
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"
></el-input> ></el-input>
@ -77,43 +86,94 @@
size="mini" size="mini"
@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
highlight-current-row v-loading="loading"
border max-height="300" height="300"> :data="list"
style="width: 100%; margin-top: 20px"
highlight-current-row
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>
<script> <script>
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,30 +211,33 @@ export default {
this.$message.error("请录入需要上架的物资数据"); this.$message.error("请录入需要上架的物资数据");
return; return;
} }
this.$confirm('是否确认保存当前数据?', '提示', { this.$confirm("是否确认保存当前数据?", "提示", {
confirmButtonText: '确定', confirmButtonText: "确定",
cancelButtonText: '取消', cancelButtonText: "取消",
type: 'warning' type: "warning",
}).then(() => { })
let params = { .then(() => {
invCode: this.formData.invCode, let params = {
invSpaceCode: this.formData.invSpaceCode, invCode: this.formData.invCode,
changeSpaceCode: this.formData.changeSpaceCode, invSpaceCode: this.formData.invSpaceCode,
type: 3, // changeSpaceCode: this.formData.changeSpaceCode,
orderId: this.orderId, type: 3, //
}; orderId: this.orderId,
bindInvSpace(params).then((res) => { };
if (res.code === 20000) { bindInvSpace(params)
this.$message.success("上架成功"); .then((res) => {
this.clearFormData(); if (res.code === 20000) {
} else { this.$message.success("上架成功");
this.$message.error(res.message); this.clearFormData();
} } else {
}).catch((error) => { this.$message.error(res.message);
this.$message.error(error.message); }
}); })
}).catch(() => { .catch((error) => {
}); this.$message.error(error.message);
});
})
.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;
} }
@ -227,9 +294,11 @@ 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,18 +388,18 @@ 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) {
this.orderId=res.data; this.orderId = res.data;
getInvPlaceOrderDetailList({orderId:this.orderId}).then((res) => { getInvPlaceOrderDetailList({ orderId: this.orderId }).then((res) => {
this.list=res.data.list; this.list = res.data.list;
}); });
} 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
placeholder="当前仓库信息" v-model="formData.invCode"
:disabled="list.length>0" placeholder="当前仓库信息"
@change="invChange" :disabled="list.length > 0"
style="width: 90%" @change="invChange"
clearable> style="width: 90%"
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>
@ -27,7 +36,7 @@
<el-form-item class="query-form-item" label="上架货位:"> <el-form-item class="query-form-item" label="上架货位:">
<el-autocomplete <el-autocomplete
v-model="formData.invSpaceName" v-model="formData.invSpaceName"
:disabled="list.length>0" :disabled="list.length > 0"
:fetch-suggestions="querySearchAsync" :fetch-suggestions="querySearchAsync"
placeholder="请输入内容" placeholder="请输入内容"
ref="spaceInputRef" ref="spaceInputRef"
@ -47,8 +56,8 @@
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"
></el-input> ></el-input>
@ -60,43 +69,94 @@
size="mini" size="mini"
@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
highlight-current-row v-loading="loading"
border max-height="300" height="300"> :data="list"
style="width: 100%; margin-top: 20px"
highlight-current-row
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>
<script> <script>
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(() => { })
let params = { .then(() => {
invCode: this.formData.invCode, let params = {
invSpaceCode: this.formData.invSpaceCode, invCode: this.formData.invCode,
type: 1, // invSpaceCode: this.formData.invSpaceCode,
orderId: this.orderId, type: 1, //
}; orderId: this.orderId,
bindInvSpace(params).then((res) => { };
if (res.code === 20000) { bindInvSpace(params)
this.$message.success("上架成功"); .then((res) => {
this.clearFormData(); if (res.code === 20000) {
} else { this.$message.success("上架成功");
this.$message.error(res.message); this.clearFormData();
} } else {
}).catch((error) => { this.$message.error(res.message);
this.$message.error(error.message); }
}); })
}).catch(() => { .catch((error) => {
}); this.$message.error(error.message);
});
})
.catch(() => {});
}, },
clearFormData() { clearFormData() {
// //
@ -162,7 +225,7 @@ export default {
invSpaceName: null, invSpaceName: null,
code: null, code: null,
}; };
this.orderId=null; this.orderId = null;
this.codeArray = []; this.codeArray = [];
this.list = []; this.list = [];
// //
@ -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;
} }
@ -191,9 +256,11 @@ 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;
} }
@ -254,14 +320,14 @@ export default {
}; };
getInvProductInfo(params).then((res) => { getInvProductInfo(params).then((res) => {
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) => {
this.list=res.data.list; this.list = res.data.list;
}); });
} 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