预验收功能
parent
c794bbdad4
commit
1d6fcd8a40
@ -0,0 +1,24 @@
|
|||||||
|
import axios from '@/utils/request'
|
||||||
|
|
||||||
|
|
||||||
|
export function filterTrace(query) {
|
||||||
|
return axios({
|
||||||
|
url: "/spms/inv/products/trace",
|
||||||
|
method: "get",
|
||||||
|
params: query
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export function filterOrderTrace(query) {
|
||||||
|
return axios({
|
||||||
|
url: "/spms/inv/products/order/trace",
|
||||||
|
method: "get",
|
||||||
|
params: query
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -0,0 +1,29 @@
|
|||||||
|
import axios from '@/utils/request'
|
||||||
|
import request from "@/utils/request";
|
||||||
|
|
||||||
|
|
||||||
|
export function filterPrein(query) {
|
||||||
|
return axios({
|
||||||
|
url: "/udiwms/inv/prein/filter",
|
||||||
|
method: "get",
|
||||||
|
params: query
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export function filterDetail(query) {
|
||||||
|
return axios({
|
||||||
|
url: "/udiwms/inv/prein/detail",
|
||||||
|
method: "get",
|
||||||
|
params: query
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export function deleterPrein(data) {
|
||||||
|
return request({
|
||||||
|
url: "/udiwms/inv/prein/delete",
|
||||||
|
method: "post",
|
||||||
|
data: data
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -0,0 +1,404 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<el-card class="el-card">
|
||||||
|
<div>
|
||||||
|
<el-form :model="unionQuery" size="mini" label-width="125px" v-show="showSearch">
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="18">
|
||||||
|
<el-form-item class="query-form-item" label="UDI码:">
|
||||||
|
<el-input v-model="unionQuery.udiCode"
|
||||||
|
placeholder="请扫描或输入UDI码"
|
||||||
|
clearable="true"
|
||||||
|
|
||||||
|
@keyup.enter.native="keyup_submit($event)"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
|
||||||
|
<el-row>
|
||||||
|
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item class="query-form-item" label="销售单元产品标识">
|
||||||
|
<el-input
|
||||||
|
v-model="unionQuery.nameCode" clearable="true"
|
||||||
|
size="mini"
|
||||||
|
placeholder="请输入完整DI"
|
||||||
|
@keyup.enter.native="keyup_submit($event)"
|
||||||
|
></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item class="query-form-item" label="医疗器械注册人:">
|
||||||
|
<el-select
|
||||||
|
v-model="unionQuery.ylqxzcrbarmc"
|
||||||
|
filterable
|
||||||
|
remote
|
||||||
|
style="width: 100%"
|
||||||
|
clearable="true"
|
||||||
|
reserve-keyword
|
||||||
|
placeholder="医疗器械注册人"
|
||||||
|
:remote-method="findMethod"
|
||||||
|
:loading="loading"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in fromOptions"
|
||||||
|
:key="item.ylqxzcrbarmc"
|
||||||
|
:label="item.ylqxzcrbarmc"
|
||||||
|
:value="item.ylqxzcrbarmc"
|
||||||
|
>
|
||||||
|
<span style="float: left">{{ item.ylqxzcrbarmc }}</span>
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item class="query-form-item" label="器械通用名称:">
|
||||||
|
<el-input
|
||||||
|
:disabled="unionQuery.ylqxzcrbarmc==null || unionQuery.ylqxzcrbarmc==''"
|
||||||
|
v-model="unionQuery.cpmctymc" clearable="true"
|
||||||
|
size="mini"
|
||||||
|
placeholder="器械通用名称"
|
||||||
|
></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="规格型号:" class="query-form-item">
|
||||||
|
<el-input
|
||||||
|
v-model="unionQuery.ggxh" clearable="true"
|
||||||
|
:disabled="(unionQuery.cpmctymc=='' && unionQuery.nameCode=='' && unionQuery.ylqxzcrbarmc==null)"
|
||||||
|
placeholder="规格型号"
|
||||||
|
size="mini"
|
||||||
|
></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="注册证/备案号:" class="query-form-item">
|
||||||
|
<el-input
|
||||||
|
v-model="unionQuery.zczbhhzbapzbh" clearable="true"
|
||||||
|
:disabled="(unionQuery.cpmctymc=='' && unionQuery.nameCode=='' && unionQuery.ylqxzcrbarmc==null)"
|
||||||
|
placeholder="注册证/备案号"
|
||||||
|
size="mini"
|
||||||
|
></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-form>
|
||||||
|
<div class="top-right-btn" style="display:flex;">
|
||||||
|
<el-button-group>
|
||||||
|
<el-button icon="el-icon-view" type="primary" @click="hideSearch">显示/隐藏搜索栏
|
||||||
|
</el-button>
|
||||||
|
<el-button type="primary" icon="el-icon-refresh" @click="onReset">重置</el-button>
|
||||||
|
<el-button type="primary" icon="el-icon-search" @click="searchList" size="mini"
|
||||||
|
>查询
|
||||||
|
</el-button
|
||||||
|
>
|
||||||
|
|
||||||
|
</el-button-group>
|
||||||
|
|
||||||
|
<el-upload
|
||||||
|
|
||||||
|
:action="uploadFileUrl"
|
||||||
|
multiple
|
||||||
|
:limit="1"
|
||||||
|
:data="uploadData"
|
||||||
|
:show-file-list="false"
|
||||||
|
:on-success="handleChange"
|
||||||
|
:on-exceed="handleExceed"
|
||||||
|
:before-upload="handleBefore"
|
||||||
|
icon="el-icon-search"
|
||||||
|
:file-list="fileList"
|
||||||
|
>
|
||||||
|
<el-button type="primary" icon="el-icon-bottom-right" style="margin-left: 15px">导入器械信息</el-button>
|
||||||
|
</el-upload>
|
||||||
|
</div>
|
||||||
|
<el-table
|
||||||
|
:data="udidlList"
|
||||||
|
style="width: 100%"
|
||||||
|
@row-click="intentDetail"
|
||||||
|
v-loading="loading"
|
||||||
|
border
|
||||||
|
highlight-current-row="true"
|
||||||
|
:row-class-name="tableRowClassName"
|
||||||
|
@current-change="handleErpChange"
|
||||||
|
>
|
||||||
|
|
||||||
|
<el-table-column label="序号" type="index"></el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
label="产品标识"
|
||||||
|
prop="nameCode"
|
||||||
|
show-overflow-tooltip
|
||||||
|
></el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
label="产品名称"
|
||||||
|
prop="cpmctymc"
|
||||||
|
show-overflow-tooltip
|
||||||
|
></el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
label="规格型号"
|
||||||
|
prop="ggxh"
|
||||||
|
show-overflow-tooltip
|
||||||
|
></el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
label="医疗器械注册人"
|
||||||
|
prop="ylqxzcrbarmc"
|
||||||
|
show-overflow-tooltip
|
||||||
|
></el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
label="注册证编号"
|
||||||
|
prop="zczbhhzbapzbh"
|
||||||
|
show-overflow-tooltip
|
||||||
|
></el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="操作">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button
|
||||||
|
type="text"
|
||||||
|
size="small"
|
||||||
|
@click="diDetail(scope.row)"
|
||||||
|
>详情
|
||||||
|
</el-button
|
||||||
|
>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<el-pagination
|
||||||
|
:page-size="unionQuery.limit"
|
||||||
|
@current-change="handleCurrentChange"
|
||||||
|
layout="prev, pager, next"
|
||||||
|
:total="total"
|
||||||
|
:current-page="unionQuery.page"
|
||||||
|
></el-pagination>
|
||||||
|
</div>
|
||||||
|
</el-card>
|
||||||
|
<el-dialog
|
||||||
|
title="器械信息详情"
|
||||||
|
:close-on-click-modal="false"
|
||||||
|
:close-on-press-escape="false"
|
||||||
|
:visible.sync="selectDialog"
|
||||||
|
width="65%"
|
||||||
|
append-to-body
|
||||||
|
v-if="selectDialog"
|
||||||
|
>
|
||||||
|
<selectDiDetail :editQuery="diDetails"
|
||||||
|
></selectDiDetail>
|
||||||
|
</el-dialog>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import {getUdiInfos, filterCompany} from "@/api/basic/udiInfo";
|
||||||
|
import axios from "axios";
|
||||||
|
import selectDiDetail from "../product/SelectDIDetailDialog";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "UdiInfoDb",
|
||||||
|
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
unionQuery: {
|
||||||
|
page: 1,
|
||||||
|
limit: 10,
|
||||||
|
udiCode: null,
|
||||||
|
nameCode: "",
|
||||||
|
cpmctymc: "",
|
||||||
|
ylqxzcrbarmc: null,
|
||||||
|
ggxh: "",
|
||||||
|
zczbhhzbapzbh: "",
|
||||||
|
isCheck: 1
|
||||||
|
},
|
||||||
|
combineLoading: false,
|
||||||
|
combineQuery: {
|
||||||
|
thirdId: "",
|
||||||
|
relId: "",
|
||||||
|
erpName: "",
|
||||||
|
keys: [],
|
||||||
|
},
|
||||||
|
checked: true,
|
||||||
|
udidlList: [],
|
||||||
|
erpList: [],
|
||||||
|
pageTotal: 1,
|
||||||
|
total: 1,
|
||||||
|
currentRow: null,
|
||||||
|
fromOptions: [],
|
||||||
|
loading: false,
|
||||||
|
erpLloading: false,
|
||||||
|
multipleUdiSelection: [],
|
||||||
|
data: {},
|
||||||
|
uploadFileUrl: null,
|
||||||
|
uploadData: {
|
||||||
|
thirdSys: "thirdId",
|
||||||
|
},
|
||||||
|
selectDialog: false,
|
||||||
|
diDetails: null,
|
||||||
|
showSearch: true,
|
||||||
|
};
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
|
||||||
|
hideSearch() {
|
||||||
|
this.showSearch = !this.showSearch;
|
||||||
|
},
|
||||||
|
|
||||||
|
onReset() {
|
||||||
|
this.unionQuery = {
|
||||||
|
page: 1,
|
||||||
|
limit: 10,
|
||||||
|
udiCode: null,
|
||||||
|
nameCode: "",
|
||||||
|
cpmctymc: "",
|
||||||
|
ylqxzcrbarmc: null,
|
||||||
|
ggxh: "",
|
||||||
|
zczbhhzbapzbh: "",
|
||||||
|
isCheck: 1
|
||||||
|
};
|
||||||
|
},
|
||||||
|
searchList() {
|
||||||
|
this.unionQuery.page = 1;
|
||||||
|
this.getList();
|
||||||
|
},
|
||||||
|
getList() {
|
||||||
|
if (
|
||||||
|
this.unionQuery.udiCode == "" &&
|
||||||
|
this.unionQuery.nameCode == "" &&
|
||||||
|
this.unionQuery.cpmctymc == "" &&
|
||||||
|
this.unionQuery.ylqxzcrbarmc == "" &&
|
||||||
|
this.unionQuery.ggxh == "" &&
|
||||||
|
this.unionQuery.zczbhhzbapzbh == ""
|
||||||
|
) {
|
||||||
|
this.$message.warning("请输入查询条件");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this.loading = true;
|
||||||
|
// this.unionQuery.page = 1;
|
||||||
|
getUdiInfos(this.unionQuery)
|
||||||
|
.then((response) => {
|
||||||
|
this.loading = false;
|
||||||
|
if (response.code == 20000) {
|
||||||
|
this.udidlList = response.data.list || [];
|
||||||
|
this.total = response.data.total || 0;
|
||||||
|
} else {
|
||||||
|
this.$message.error(response.message);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
})
|
||||||
|
.catch(() => {
|
||||||
|
this.loading = false;
|
||||||
|
this.udidlList = [];
|
||||||
|
this.total = 0;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
keyup_submit(event) {
|
||||||
|
this.unionQuery.page = 1;
|
||||||
|
this.getList();
|
||||||
|
event.target.select();
|
||||||
|
},
|
||||||
|
|
||||||
|
checkSelectable(row) {
|
||||||
|
return !row.check;
|
||||||
|
},
|
||||||
|
handleCurrentChange(val) {
|
||||||
|
this.unionQuery.page = val;
|
||||||
|
this.getList();
|
||||||
|
},
|
||||||
|
tableRowClassName({row, rowIndex}) {
|
||||||
|
if (row.check) return "warning-row";
|
||||||
|
return "";
|
||||||
|
},
|
||||||
|
handleErpChange(val) {
|
||||||
|
this.currentRow = val;
|
||||||
|
},
|
||||||
|
intentBack() {
|
||||||
|
this.closeDialog();
|
||||||
|
},
|
||||||
|
|
||||||
|
handleSelectionUdiChange(val) {
|
||||||
|
this.multipleUdiSelection = val;
|
||||||
|
},
|
||||||
|
findMethod(query) {
|
||||||
|
let cQuery = {
|
||||||
|
ylqxzcrbarmc: query,
|
||||||
|
page: 1,
|
||||||
|
limit: 10,
|
||||||
|
};
|
||||||
|
filterCompany(cQuery)
|
||||||
|
.then((response) => {
|
||||||
|
this.loading = false;
|
||||||
|
this.fromOptions = response.data || [];
|
||||||
|
})
|
||||||
|
.catch(() => {
|
||||||
|
this.loading = false;
|
||||||
|
this.options = [];
|
||||||
|
});
|
||||||
|
},
|
||||||
|
handleExceed() {
|
||||||
|
this.$message.error("上传数量超出!");
|
||||||
|
},
|
||||||
|
handleBefore() {
|
||||||
|
this.loading = true;
|
||||||
|
},
|
||||||
|
handleChange(response, files, fileList) {
|
||||||
|
if (response.code != 20000) {
|
||||||
|
this.loading = false;
|
||||||
|
this.$message.error(response.message);
|
||||||
|
} else {
|
||||||
|
this.loading = false;
|
||||||
|
this.$message.success(response.data);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
diDetail(row) {
|
||||||
|
this.diDetails = row;
|
||||||
|
this.selectDialog = true;
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
init() {
|
||||||
|
axios.get("./config.json").then(res => {
|
||||||
|
let response = res.data.UDI_SYNC_SERVER_IP + "";
|
||||||
|
this.uploadFileUrl = response + "udisync/udiInfo/upload";
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.init();
|
||||||
|
},
|
||||||
|
components: {
|
||||||
|
selectDiDetail,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style scoped>
|
||||||
|
.checkitemTag {
|
||||||
|
float: left;
|
||||||
|
text-align: left;
|
||||||
|
margin-top: 5px;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
div /deep/ .el-table .warning-row {
|
||||||
|
background: #bebebe;
|
||||||
|
}
|
||||||
|
|
||||||
|
div /deep/ .el-table .success-row {
|
||||||
|
background: #ffffff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-card {
|
||||||
|
margin-right: 20px;
|
||||||
|
/*transition: all .5s;*/
|
||||||
|
}
|
||||||
|
|
||||||
|
.query-form-item {
|
||||||
|
display: block !important;
|
||||||
|
margin-right: 10px;
|
||||||
|
margin-bottom: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
</style>
|
@ -0,0 +1,488 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<el-card class="el-card">
|
||||||
|
<el-form :model="filterQuery" class="query-form" size="mini" label-width="100px" v-show="showSearch">
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item class="query-form-item" label="预验收单号:">
|
||||||
|
<el-input v-model="filterQuery.billNo" placeholder="单号"
|
||||||
|
clearable="true"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
|
||||||
|
<el-col :span="8">
|
||||||
|
<el-form-item label="供应商:">
|
||||||
|
<el-select
|
||||||
|
v-model="filterQuery.fromCorp"
|
||||||
|
style="width: 90%"
|
||||||
|
filterable
|
||||||
|
remote
|
||||||
|
clearable="true"
|
||||||
|
reserve-keyword
|
||||||
|
placeholder="请选择供应商"
|
||||||
|
:remote-method="findMethod"
|
||||||
|
:loading="loading"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in fromOptions"
|
||||||
|
:key="item.name"
|
||||||
|
:label="item.name"
|
||||||
|
:value="item.erpId"
|
||||||
|
>
|
||||||
|
<span style="float: left">{{ item.name }}</span>
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-form>
|
||||||
|
<div class="top-right-btn">
|
||||||
|
<el-button-group>
|
||||||
|
<el-button icon="el-icon-view" type="primary" @click="hideSearch">显示/隐藏搜索栏</el-button>
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
icon="el-icon-refresh"
|
||||||
|
@click="onReset"
|
||||||
|
>重置
|
||||||
|
</el-button>
|
||||||
|
<el-button type="primary" icon="el-icon-search" @click="onSubmit"
|
||||||
|
>查询
|
||||||
|
</el-button
|
||||||
|
>
|
||||||
|
</el-button-group>
|
||||||
|
</div>
|
||||||
|
<el-divider style="margin: 15px"></el-divider>
|
||||||
|
<el-table v-loading="loading" :data="list" style="width: 100%" highlight-current-row
|
||||||
|
border
|
||||||
|
@current-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="billNo" 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="fromCorpName" width="220">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="当前部门" prop="deptName" width="120">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="当前仓库" prop="invName" width="120">
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="创建时间" prop="createTime" show-overflow-tooltip>
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<i class="el-icon-time"></i>
|
||||||
|
<span>{{ scope.row.createTime }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="操作" width="150">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button
|
||||||
|
type="text"
|
||||||
|
size="small"
|
||||||
|
@click.native.stop="deleteDialog(scope.row)"
|
||||||
|
>删除
|
||||||
|
</el-button
|
||||||
|
>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<pagination
|
||||||
|
v-show="total>0"
|
||||||
|
:total="total"
|
||||||
|
:limit.sync="filterQuery.limit"
|
||||||
|
:page.sync="filterQuery.page"
|
||||||
|
@pagination="getList"
|
||||||
|
></pagination>
|
||||||
|
</el-card>
|
||||||
|
|
||||||
|
<el-tabs type="border-card" style="margin: 15px">
|
||||||
|
<!--单据扫码明细-->
|
||||||
|
<el-tab-pane>
|
||||||
|
<span slot="label">预验收库存详情</span>
|
||||||
|
<el-form :model="codeQuery" class="query-form" size="mini" label-width="100px">
|
||||||
|
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="11">
|
||||||
|
<el-form-item class="query-form-item" label="UDI码:">
|
||||||
|
<el-input
|
||||||
|
v-model="codeQuery.code"
|
||||||
|
placeholder="请输入UDI码"
|
||||||
|
clearable
|
||||||
|
>
|
||||||
|
</el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="11">
|
||||||
|
<el-form-item>
|
||||||
|
<el-button-group>
|
||||||
|
<el-button
|
||||||
|
type="primary"
|
||||||
|
icon="el-icon-refresh"
|
||||||
|
@click="onCodeReset"
|
||||||
|
>重置
|
||||||
|
</el-button>
|
||||||
|
<el-button type="primary" @click="onCodeSubmit"
|
||||||
|
icon="el-icon-search"
|
||||||
|
>查询
|
||||||
|
</el-button
|
||||||
|
>
|
||||||
|
</el-button-group>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
|
||||||
|
|
||||||
|
</el-form>
|
||||||
|
|
||||||
|
<el-table v-loading="codeDetailLoading" :data="codeDetailList" style="width: 100%" border
|
||||||
|
row-key="id"
|
||||||
|
>
|
||||||
|
<el-table-column label="序号" type="index"></el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
label="UDI码"
|
||||||
|
prop="code"
|
||||||
|
show-overflow-tooltip
|
||||||
|
></el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
label="产品名称"
|
||||||
|
prop="productName"
|
||||||
|
show-overflow-tooltip
|
||||||
|
></el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
label="生产日期"
|
||||||
|
prop="produceDate"
|
||||||
|
width="120"
|
||||||
|
></el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
label="失效日期"
|
||||||
|
prop="expireDate"
|
||||||
|
width="120"
|
||||||
|
></el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
label="批次号"
|
||||||
|
prop="batchNo"
|
||||||
|
show-overflow-tooltip
|
||||||
|
></el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
label="序列号"
|
||||||
|
prop="serialNo"
|
||||||
|
></el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
label="扫码数量"
|
||||||
|
prop="reCount"
|
||||||
|
></el-table-column>
|
||||||
|
<el-table-column
|
||||||
|
label="实际数量"
|
||||||
|
prop="reCount"
|
||||||
|
></el-table-column>
|
||||||
|
</el-table>
|
||||||
|
<pagination
|
||||||
|
v-show="codeTotal>0"
|
||||||
|
:total="codeTotal"
|
||||||
|
:page.sync="codeQuery.page"
|
||||||
|
:limit.sync="codeQuery.limit"
|
||||||
|
@pagination="getCodeDetailList"
|
||||||
|
/>
|
||||||
|
</el-tab-pane>
|
||||||
|
</el-tabs>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import {
|
||||||
|
deleterPrein,
|
||||||
|
filterPrein, filterDetail
|
||||||
|
} from "@/api/inventory/invPreInSearch";
|
||||||
|
import {getLocalJoinByUser} from "@/api/basic/busType";
|
||||||
|
import {isBlank} from "@/utils/strUtil";
|
||||||
|
import {getBasicUnitMaintains} from "@/api/basic/basicUnitMaintain";
|
||||||
|
|
||||||
|
|
||||||
|
const formJson = {
|
||||||
|
site_id: "",
|
||||||
|
site_name: "",
|
||||||
|
describe: "",
|
||||||
|
ads: [],
|
||||||
|
};
|
||||||
|
|
||||||
|
export default {
|
||||||
|
name: "InvPreInSerach",
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
showSearch: true,
|
||||||
|
filterQuery: {
|
||||||
|
id: "",
|
||||||
|
billNo: null,
|
||||||
|
page: 1,
|
||||||
|
limit: 10,
|
||||||
|
startTime: null,
|
||||||
|
endTime: null,
|
||||||
|
},
|
||||||
|
invList: [],
|
||||||
|
list: [],
|
||||||
|
total: 0,
|
||||||
|
loading: false,
|
||||||
|
index: null,
|
||||||
|
enableDept: false,
|
||||||
|
fromTypeMap: {
|
||||||
|
"1": "UDIMS平台",
|
||||||
|
"2": "网页新增",
|
||||||
|
"3": "pda即时校验",
|
||||||
|
"4": "pda未校验",
|
||||||
|
"5": "pc端扫码精灵",
|
||||||
|
"6": "缺量补录单据",
|
||||||
|
"7": "UDI供应商平台",
|
||||||
|
"8": "平衡补录单据",
|
||||||
|
"10": "手动补单",
|
||||||
|
"11": "仓库盘点"
|
||||||
|
},
|
||||||
|
deleteData: {
|
||||||
|
orderId: null,
|
||||||
|
},
|
||||||
|
dialogTableVisible: false,
|
||||||
|
formLoading: false,
|
||||||
|
dialogVisible: false,
|
||||||
|
formData: formJson,
|
||||||
|
deleteLoading: false,
|
||||||
|
busTypes: [],
|
||||||
|
currentRow: {},
|
||||||
|
actDateRange: [],
|
||||||
|
pickerOptions: {
|
||||||
|
shortcuts: [
|
||||||
|
{
|
||||||
|
text: "最近一周",
|
||||||
|
onClick(picker) {
|
||||||
|
const end = new Date();
|
||||||
|
const start = new Date();
|
||||||
|
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
|
||||||
|
picker.$emit("pick", [start, end]);
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: "最近一个月",
|
||||||
|
onClick(picker) {
|
||||||
|
const end = new Date();
|
||||||
|
const start = new Date();
|
||||||
|
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
|
||||||
|
picker.$emit("pick", [start, end]);
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: "最近三个月",
|
||||||
|
onClick(picker) {
|
||||||
|
const end = new Date();
|
||||||
|
const start = new Date();
|
||||||
|
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
|
||||||
|
picker.$emit("pick", [start, end]);
|
||||||
|
},
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
codeQuery: {
|
||||||
|
orderId: null,
|
||||||
|
page: 1,
|
||||||
|
limit: 10
|
||||||
|
},
|
||||||
|
codeTotal: 0,
|
||||||
|
codeDetailLoading: false,
|
||||||
|
codeDetailList: [],
|
||||||
|
fromOptions: [],
|
||||||
|
};
|
||||||
|
},
|
||||||
|
components: {},
|
||||||
|
methods: {
|
||||||
|
onReset() {
|
||||||
|
this.$router.push({
|
||||||
|
path: "",
|
||||||
|
});
|
||||||
|
this.filterQuery = {
|
||||||
|
id: "",
|
||||||
|
billNo: null,
|
||||||
|
page: 1,
|
||||||
|
limit: 10,
|
||||||
|
startTime: null,
|
||||||
|
endTime: null,
|
||||||
|
};
|
||||||
|
this.getList();
|
||||||
|
},
|
||||||
|
onSubmit() {
|
||||||
|
this.loading = true;
|
||||||
|
if (this.actDateRange !== null) {
|
||||||
|
this.filterQuery.startTime = this.actDateRange[0];
|
||||||
|
this.filterQuery.endTime = this.actDateRange[1];
|
||||||
|
} else {
|
||||||
|
this.filterQuery.startTime = null;
|
||||||
|
this.filterQuery.endTime = null;
|
||||||
|
}
|
||||||
|
this.filterQuery.page = 1;
|
||||||
|
this.getList();
|
||||||
|
},
|
||||||
|
hideSearch() {
|
||||||
|
this.showSearch = !this.showSearch;
|
||||||
|
},
|
||||||
|
getBusType() {
|
||||||
|
let query = {
|
||||||
|
code: this.filterQuery.invCode,
|
||||||
|
enabled: true,
|
||||||
|
};
|
||||||
|
getLocalJoinByUser(query)
|
||||||
|
.then((response) => {
|
||||||
|
this.busTypes = response.data.list || [];
|
||||||
|
this.filterQuery.action = this.busTypes[0].action;
|
||||||
|
})
|
||||||
|
.catch(() => {
|
||||||
|
});
|
||||||
|
},
|
||||||
|
handleSelectionChange(val) {
|
||||||
|
this.currentRow = val;
|
||||||
|
this.getOrderDetails();
|
||||||
|
},
|
||||||
|
|
||||||
|
getOrderDetails() {
|
||||||
|
this.codeQuery.page = 1;
|
||||||
|
this.getCodeDetailList();
|
||||||
|
},
|
||||||
|
clearDetailList() {
|
||||||
|
this.codeDetailList = [];
|
||||||
|
this.codeTotal = 0;
|
||||||
|
},
|
||||||
|
//获取订单列表
|
||||||
|
getList() {
|
||||||
|
this.loading = true;
|
||||||
|
this.currentRow = {billNo: ""};
|
||||||
|
this.clearDetailList();
|
||||||
|
filterPrein(this.filterQuery)
|
||||||
|
.then((response) => {
|
||||||
|
this.loading = false;
|
||||||
|
if (response.code === 20000) {
|
||||||
|
this.list = response.data.list || [];
|
||||||
|
this.total = response.data.total || 0;
|
||||||
|
} else {
|
||||||
|
this.$message.error(response.message);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.catch((error) => {
|
||||||
|
this.$message.error(error.message)
|
||||||
|
this.loading = false;
|
||||||
|
this.list = [];
|
||||||
|
this.total = 0;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
deleteOrders(data) {
|
||||||
|
this.loading = true;
|
||||||
|
let delQuery = {
|
||||||
|
billNo: data,
|
||||||
|
}
|
||||||
|
deleterPrein(delQuery)
|
||||||
|
.then((response) => {
|
||||||
|
|
||||||
|
if (response.code == 20000) {
|
||||||
|
this.getList();
|
||||||
|
this.$message({
|
||||||
|
type: "success",
|
||||||
|
message: "删除成功!",
|
||||||
|
});
|
||||||
|
} else if (response.code == 520) {
|
||||||
|
this.$message.error("新增扫码单据列表已不存在该扫码单据!");
|
||||||
|
this.getList();
|
||||||
|
}
|
||||||
|
|
||||||
|
})
|
||||||
|
.catch(() => {
|
||||||
|
});
|
||||||
|
},
|
||||||
|
deleteDialog(row) {
|
||||||
|
this.$confirm("此操作将永久删除该订单, 是否继续?", "提示", {
|
||||||
|
confirmButtonText: "确定",
|
||||||
|
cancelButtonText: "取消",
|
||||||
|
type: "warning",
|
||||||
|
})
|
||||||
|
.then(() => {
|
||||||
|
this.deleteOrders(row.billNo);
|
||||||
|
})
|
||||||
|
.catch(() => {
|
||||||
|
});
|
||||||
|
},
|
||||||
|
onCodeReset() {
|
||||||
|
this.codeQuery = {
|
||||||
|
orderIdFk: null,
|
||||||
|
page: 1,
|
||||||
|
limit: 10
|
||||||
|
};
|
||||||
|
this.getCodeDetailList();
|
||||||
|
},
|
||||||
|
onCodeSubmit() {
|
||||||
|
this.codeQuery.page = 1;
|
||||||
|
this.getCodeDetailList();
|
||||||
|
},
|
||||||
|
getCodeDetailList() {
|
||||||
|
if (isBlank(this.currentRow.billNo)) {
|
||||||
|
this.$message.error("请先选择需要查询的单据!")
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
this.codeQuery.orderId = this.currentRow.billNo;
|
||||||
|
this.codeDetailLoading = true;
|
||||||
|
filterDetail(this.codeQuery).then((res) => {
|
||||||
|
this.codeDetailLoading = false;
|
||||||
|
if (res.code === 20000) {
|
||||||
|
this.codeDetailList = res.data.list || [];
|
||||||
|
this.codeTotal = res.data.total || 0;
|
||||||
|
} else {
|
||||||
|
this.$message.error(res.message);
|
||||||
|
this.codeDetailList = [];
|
||||||
|
this.codeTotal = 0;
|
||||||
|
}
|
||||||
|
}).catch((error) => {
|
||||||
|
this.codeDetailLoading = true;
|
||||||
|
this.$message.error(error.message);
|
||||||
|
this.codeDetailList = [];
|
||||||
|
this.codeTotal = 0;
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
findMethod(query) {
|
||||||
|
this.fromOptions = [];
|
||||||
|
let cQuery = {
|
||||||
|
key: query,
|
||||||
|
corpType: 2,
|
||||||
|
page: 1,
|
||||||
|
limit: 10,
|
||||||
|
};
|
||||||
|
getBasicUnitMaintains(cQuery)
|
||||||
|
.then((response) => {
|
||||||
|
this.loading = false;
|
||||||
|
this.fromOptions = response.data.list || [];
|
||||||
|
})
|
||||||
|
.catch(() => {
|
||||||
|
this.loading = false;
|
||||||
|
this.fromOptions = [];
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
},
|
||||||
|
filters: {
|
||||||
|
statusFilterType(status) {
|
||||||
|
const statusMap = {
|
||||||
|
false: "success",
|
||||||
|
true: "warning",
|
||||||
|
};
|
||||||
|
return statusMap[status];
|
||||||
|
},
|
||||||
|
},
|
||||||
|
mounted() {
|
||||||
|
document.body.ondrop = function (event) {
|
||||||
|
event.preventDefault();
|
||||||
|
event.stopPropagation();
|
||||||
|
};
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.getList();
|
||||||
|
},
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style type="text/scss" lang="scss">
|
||||||
|
</style>
|
Loading…
Reference in New Issue