Merge remote-tracking branch 'origin/master'
commit
23c7cd4afd
@ -0,0 +1,56 @@
|
|||||||
|
import axios from "@/utils/request";
|
||||||
|
|
||||||
|
|
||||||
|
export function filterRlCompany(query) {
|
||||||
|
return axios(
|
||||||
|
{
|
||||||
|
url: "/udi/basic/rel/filter",
|
||||||
|
method: "get",
|
||||||
|
params: query
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
export function filterByUuid(query) {
|
||||||
|
return axios(
|
||||||
|
{
|
||||||
|
url: "/udiwms/udiinfo/local/filterByUuid",
|
||||||
|
method: "get",
|
||||||
|
params: query
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export function seachCompany(query) {
|
||||||
|
return axios(
|
||||||
|
{
|
||||||
|
url: "/udi/auth/user/comapny/search",
|
||||||
|
method: "get",
|
||||||
|
params: query
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
export function deleteRel(query) {
|
||||||
|
return axios({
|
||||||
|
url: "/udi/basic/rel/delete",
|
||||||
|
method: "post",
|
||||||
|
data: query
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
export function batchCombine(query) {
|
||||||
|
return axios({
|
||||||
|
url: "/udi/basic/rel/batch/save",
|
||||||
|
method: "post",
|
||||||
|
data: query
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -0,0 +1,424 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<el-card>
|
||||||
|
<el-form :model="filterQuery" label-width="120px" v-show="showSearch">
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="注册企业:">
|
||||||
|
<el-select
|
||||||
|
v-model="filterQuery.companyIdFk"
|
||||||
|
style="width: 90%"
|
||||||
|
filterable
|
||||||
|
remote
|
||||||
|
clearable="true"
|
||||||
|
reserve-keyword
|
||||||
|
placeholder="请选择注册企业"
|
||||||
|
:remote-method="findMethod"
|
||||||
|
:loading="loading"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="item in fromOptions"
|
||||||
|
:key="item.companyName"
|
||||||
|
:label="item.companyName"
|
||||||
|
:value="item.id"
|
||||||
|
>
|
||||||
|
<span style="float: left">{{ item.companyName }}</span>
|
||||||
|
</el-option>
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="产品编码:">
|
||||||
|
<el-input v-model="filterQuery.unionCode" style="width: 90%" placeholder="请输入DI/医保编码/商品条码"
|
||||||
|
clearable="true"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="产品名称:">
|
||||||
|
<el-input v-model="filterQuery.cpmctymc" style="width: 90%" placeholder="请输入物资名称"
|
||||||
|
clearable="true"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="规格型号:">
|
||||||
|
<el-input v-model="filterQuery.ggxh" style="width: 90%" placeholder="请输入规格型号" clearable="true"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
|
||||||
|
<el-row>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="注册备案号:">
|
||||||
|
<el-input v-model="filterQuery.zczbhhzbapzbh" style="width: 90%" placeholder="请输入注册备案号"
|
||||||
|
clearable="true"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="6">
|
||||||
|
<el-form-item label="生产企业:">
|
||||||
|
<el-input v-model="filterQuery.ylqxzcrbarmc" style="width: 90%" placeholder="请输入生产企业/注册备案人"
|
||||||
|
clearable="true"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-form>
|
||||||
|
<div class="top-right-btn">
|
||||||
|
<el-button-group style="display:flex;">
|
||||||
|
<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="search">查询</el-button>
|
||||||
|
<el-button type="primary" icon="el-icon-bottom-right" @click="selectProduct()">选入产品</el-button>
|
||||||
|
</el-button-group>
|
||||||
|
</div>
|
||||||
|
<el-divider style="margin: 15px"></el-divider>
|
||||||
|
|
||||||
|
<el-table v-loading="loading" :data="list" key="1" style="width: 100%"
|
||||||
|
border>
|
||||||
|
<el-table-column label="序号" type="index"></el-table-column>
|
||||||
|
<el-table-column label="注册企业" prop="companyName" show-overflow-tooltip></el-table-column>
|
||||||
|
<el-table-column label="企业类型" prop="companyName" show-overflow-tooltip>
|
||||||
|
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span>{{ companyTypeMap[scope.row.companyType] }}</span>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
</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 width="120" label="操作">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button type="text" @click.native.stop="handleModifyClick(scope.row)">详情</el-button>
|
||||||
|
<el-button type="text" @click.native.stop="deleteDialog(scope.row)">删除</el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
</el-table>
|
||||||
|
|
||||||
|
<el-dialog
|
||||||
|
title="产品信息详情"
|
||||||
|
:visible.sync="editDialogVisible"
|
||||||
|
:close-on-click-modal="false"
|
||||||
|
:close-on-press-escape="false"
|
||||||
|
width="60%"
|
||||||
|
v-if="editDialogVisible"
|
||||||
|
>
|
||||||
|
<selectDetail
|
||||||
|
:detailQuery="detailQuery"
|
||||||
|
:checked="checked"
|
||||||
|
@closeUdi="closeUdi"
|
||||||
|
>
|
||||||
|
</selectDetail>
|
||||||
|
</el-dialog>
|
||||||
|
|
||||||
|
<el-dialog
|
||||||
|
title="选入医疗器械信息"
|
||||||
|
:visible.sync="selectProductVisible"
|
||||||
|
width="85%"
|
||||||
|
:close-on-click-modal="false"
|
||||||
|
:close-on-press-escape="false"
|
||||||
|
v-if="selectProductVisible"
|
||||||
|
>
|
||||||
|
<selectLocalUdi
|
||||||
|
:closeDialog="closeDialog"
|
||||||
|
:companyId="filterQuery.companyIdFk"
|
||||||
|
></selectLocalUdi>
|
||||||
|
</el-dialog>
|
||||||
|
|
||||||
|
<pagination
|
||||||
|
v-show="total>0"
|
||||||
|
:total="total"
|
||||||
|
:limit.sync="filterQuery.limit"
|
||||||
|
:page.sync="filterQuery.page"
|
||||||
|
@pagination="handleCurrentChange"
|
||||||
|
></pagination>
|
||||||
|
|
||||||
|
</el-card>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import selectProduct from "./basicCompanyProductsImport";
|
||||||
|
import selectUdi from "./udiInfoRelevance.vue";
|
||||||
|
import selectErp from "./udiInfoselectErpUdi";
|
||||||
|
import selectLocalUdi from "./UdiInfoSelectLocalUdi";
|
||||||
|
import selectDetail from "./udilnfoManageSpDetail";
|
||||||
|
import {filterRlCompany, seachCompany, deleteRel} from "../../../api/basic/udiRlCompany";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
showSearch: true,
|
||||||
|
filterQuery: {
|
||||||
|
unionCode: null,
|
||||||
|
udiCode: null,
|
||||||
|
ylqxzcrbarmc: "",
|
||||||
|
cpmctymc: "",
|
||||||
|
nameCode: "",
|
||||||
|
ggxh: null,
|
||||||
|
page: 1,
|
||||||
|
limit: 20,
|
||||||
|
addType: 1,
|
||||||
|
thrPiId: null,
|
||||||
|
filterType: null,
|
||||||
|
companyName: null,
|
||||||
|
companyIdFk: null,
|
||||||
|
},
|
||||||
|
fromOptions: [],
|
||||||
|
editQuery: null,
|
||||||
|
detailQuery: null,
|
||||||
|
defaultSys: null,
|
||||||
|
isImport: false,
|
||||||
|
isImportUdi: false,
|
||||||
|
isUploadSmp: false,
|
||||||
|
isSpCombine: false,
|
||||||
|
isImportFile: false,
|
||||||
|
uploadFileUrl: null,
|
||||||
|
checked: false,
|
||||||
|
list: [],
|
||||||
|
detailList: [],
|
||||||
|
sysList: [],
|
||||||
|
filterList: [],
|
||||||
|
total: 0,
|
||||||
|
thirdNo: "",
|
||||||
|
uuid: "111",
|
||||||
|
originUuid: null,
|
||||||
|
thirdId: null,
|
||||||
|
relId: "",
|
||||||
|
thisData: {
|
||||||
|
nameCode: null,
|
||||||
|
cpmctymc: null,
|
||||||
|
ggxh: null
|
||||||
|
},
|
||||||
|
selectProductVisible: false,
|
||||||
|
multipleSelection: [],
|
||||||
|
editDialogVisible: false, //详情
|
||||||
|
selectUdiDialogVisible: false, //关联选入
|
||||||
|
selectErpDialogVisible: false, //选入ERP产品
|
||||||
|
selectLocalVisible: false, //关联UDI
|
||||||
|
selectVersionVisible: false,
|
||||||
|
isUseDyCheck: false,
|
||||||
|
loading: false,
|
||||||
|
activeNames: ['1'],
|
||||||
|
companyTypeMap: {
|
||||||
|
1: "生产企业",
|
||||||
|
2: "代理商",
|
||||||
|
3: "购买方",
|
||||||
|
},
|
||||||
|
};
|
||||||
|
},
|
||||||
|
|
||||||
|
methods: {
|
||||||
|
onReset() {
|
||||||
|
this.$router.push({
|
||||||
|
path: "",
|
||||||
|
});
|
||||||
|
this.filterQuery = {
|
||||||
|
lockStatus: null,
|
||||||
|
unionCode: null,
|
||||||
|
udiCode: null,
|
||||||
|
ylqxzcrbarmc: "",
|
||||||
|
cpmctymc: "",
|
||||||
|
thrPiId: null,
|
||||||
|
nameCode: "",
|
||||||
|
ggxh: null,
|
||||||
|
page: 1,
|
||||||
|
limit: 20,
|
||||||
|
addType: 1,
|
||||||
|
};
|
||||||
|
this.total = 0;
|
||||||
|
this.list = [];
|
||||||
|
this.getList();
|
||||||
|
},
|
||||||
|
search() {
|
||||||
|
this.filterQuery.page = 1;
|
||||||
|
this.getList();
|
||||||
|
},
|
||||||
|
hideSearch() {
|
||||||
|
this.showSearch = !this.showSearch;
|
||||||
|
},
|
||||||
|
getList() {
|
||||||
|
this.loading = true;
|
||||||
|
filterRlCompany(this.filterQuery)
|
||||||
|
.then((response) => {
|
||||||
|
this.loading = false;
|
||||||
|
this.list = response.data.list || [];
|
||||||
|
this.total = response.data.total || 0;
|
||||||
|
})
|
||||||
|
.catch(() => {
|
||||||
|
this.loading = false;
|
||||||
|
this.list = [];
|
||||||
|
this.total = 0;
|
||||||
|
});
|
||||||
|
},
|
||||||
|
keyup_submit(event) {
|
||||||
|
this.filterQuery.page = 1;
|
||||||
|
this.getList();
|
||||||
|
event.target.select();
|
||||||
|
},
|
||||||
|
handleDetail(row) {
|
||||||
|
this.editQuery = row;
|
||||||
|
},
|
||||||
|
deleteOrders(data) {
|
||||||
|
this.loading = true;
|
||||||
|
let tquery = {
|
||||||
|
id: data.id + "",
|
||||||
|
};
|
||||||
|
|
||||||
|
deleteRel(tquery)
|
||||||
|
.then((response) => {
|
||||||
|
this.loading = false;
|
||||||
|
if (response.code == 20000) {
|
||||||
|
this.getList();
|
||||||
|
this.$message({
|
||||||
|
type: "success",
|
||||||
|
message: "删除成功!",
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
this.$message.error(response.message);
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.catch(() => {
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
|
deleteDialog(rowId) {
|
||||||
|
this.$confirm("此操作将永久删除该产品信息, 是否继续?", "提示", {
|
||||||
|
confirmButtonText: "确定",
|
||||||
|
cancelButtonText: "取消",
|
||||||
|
type: "warning",
|
||||||
|
})
|
||||||
|
.then(() => {
|
||||||
|
this.deleteOrders(rowId);
|
||||||
|
})
|
||||||
|
.catch(() => {
|
||||||
|
});
|
||||||
|
},
|
||||||
|
selectProduct() {
|
||||||
|
if (this.$isBlank(this.filterQuery.companyIdFk)) {
|
||||||
|
this.$message.error("请先选择注册企业!");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
this.selectProductVisible = true;
|
||||||
|
},
|
||||||
|
|
||||||
|
cancelDialog() {
|
||||||
|
this.editDialogVisible = false;
|
||||||
|
},
|
||||||
|
handleCurrentChange(val) {
|
||||||
|
this.filterQuery.page = val.page;
|
||||||
|
this.getList();
|
||||||
|
},
|
||||||
|
handleModifyClick(row) {
|
||||||
|
this.uuid = row.uuid;
|
||||||
|
this.isImport = false;
|
||||||
|
this.thisData = row;
|
||||||
|
this.editDialogVisible = true;
|
||||||
|
this.detailQuery = row;
|
||||||
|
this.checked = row.isUseDy == 1;
|
||||||
|
},
|
||||||
|
|
||||||
|
closeUdi(val) {
|
||||||
|
this.selectUdiDialogVisible = false;
|
||||||
|
this.selectErpDialogVisible = false;
|
||||||
|
this.selectLocalVisible = false;
|
||||||
|
this.getList();
|
||||||
|
},
|
||||||
|
|
||||||
|
selectVersion() {
|
||||||
|
this.selectVersionVisible = true;
|
||||||
|
this.uuid = this.editQuery.uuid;
|
||||||
|
this.originUuid = this.editQuery.originUuid;
|
||||||
|
},
|
||||||
|
closeDialog() {
|
||||||
|
this.selectErpDialogVisible = false;
|
||||||
|
this.selectLocalVisible = false;
|
||||||
|
this.selectVersionVisible = false;
|
||||||
|
this.selectProductVisible = false;
|
||||||
|
this.getList();
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
findMethod(query) {
|
||||||
|
this.fromOptions = [];
|
||||||
|
let cQuery = {
|
||||||
|
searchKey: query,
|
||||||
|
page: 1,
|
||||||
|
limit: 10,
|
||||||
|
};
|
||||||
|
seachCompany(cQuery)
|
||||||
|
.then((response) => {
|
||||||
|
this.loading = false;
|
||||||
|
this.fromOptions = response.data || [];
|
||||||
|
})
|
||||||
|
.catch(() => {
|
||||||
|
this.loading = false;
|
||||||
|
this.fromOptions = [];
|
||||||
|
});
|
||||||
|
},
|
||||||
|
}
|
||||||
|
,
|
||||||
|
mounted() {
|
||||||
|
}
|
||||||
|
,
|
||||||
|
components: {
|
||||||
|
selectUdi,
|
||||||
|
selectErp,
|
||||||
|
selectLocalUdi,
|
||||||
|
selectProduct,
|
||||||
|
selectDetail
|
||||||
|
}
|
||||||
|
,
|
||||||
|
created() {
|
||||||
|
this.getList();
|
||||||
|
this.findMethod();
|
||||||
|
}
|
||||||
|
,
|
||||||
|
}
|
||||||
|
;
|
||||||
|
</script>
|
||||||
|
<style scoped>
|
||||||
|
|
||||||
|
|
||||||
|
.el-table .cell.el-tooltip {
|
||||||
|
white-space: pre-wrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.itemTag {
|
||||||
|
float: left;
|
||||||
|
text-align: left;
|
||||||
|
margin-top: 10px;
|
||||||
|
width: 25%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text {
|
||||||
|
font-size: 13px;
|
||||||
|
font-family: "Microsoft YaHei";
|
||||||
|
}
|
||||||
|
|
||||||
|
.query-form-item {
|
||||||
|
display: block !important;
|
||||||
|
margin-right: 10px;
|
||||||
|
margin-bottom: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-row {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.el-col {
|
||||||
|
border-radius: 4px;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.form-title {
|
||||||
|
font-size: 16px;
|
||||||
|
font-family: Noto Sans SC;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #303133;
|
||||||
|
padding-bottom: 17px;
|
||||||
|
padding-top: 17px;
|
||||||
|
}
|
||||||
|
</style>
|
Loading…
Reference in New Issue