供应商器械信息代码提交
parent
2f062fd0ba
commit
ba15834a86
@ -0,0 +1,44 @@
|
||||
import axios from '@/utils/request'
|
||||
|
||||
//--------------获取ERP数据-------------------
|
||||
export function getErpProduct(query) {
|
||||
return axios({
|
||||
url: "/warehouse/getErpGoods",
|
||||
method: "get",
|
||||
params: query
|
||||
});
|
||||
}
|
||||
|
||||
export function getErpUnit(query) {
|
||||
return axios({
|
||||
url: "/warehouse/getErpUnit",
|
||||
method: "get",
|
||||
params: query
|
||||
});
|
||||
}
|
||||
export function getInvbasdoc(query) {
|
||||
return axios({
|
||||
url: "/udiwms/udiinfo/erp/products",
|
||||
method: "get",
|
||||
params: query
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
//-------------end---------------------------------
|
||||
|
||||
export function combineProduct(query) {
|
||||
return axios({
|
||||
url: "/warehouse/productInfo/combine",
|
||||
method: "post",
|
||||
data: query
|
||||
});
|
||||
}
|
||||
|
||||
export function combineDrugProduct(query) {
|
||||
return axios({
|
||||
url: "/warehouse/productInfo/combineDrug",
|
||||
method: "post",
|
||||
data: query
|
||||
});
|
||||
}
|
@ -0,0 +1,46 @@
|
||||
import axios from "@/utils/request";
|
||||
|
||||
export function filterCompanyProductRelevance(query) {
|
||||
return axios(
|
||||
{
|
||||
url: "/sale/info/company/product/relevance/filter",
|
||||
method: "get",
|
||||
params: query
|
||||
}
|
||||
)
|
||||
}
|
||||
export function insertFilter(query) {
|
||||
return axios(
|
||||
{
|
||||
url: "/sale/info/insertFilter",
|
||||
method: "post",
|
||||
data: query
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
export function insertCompanyProductRelevance(query) {
|
||||
return axios(
|
||||
{
|
||||
url: "/sale/info/insertCompanyProductRelevance",
|
||||
method: "post",
|
||||
data: query
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
export function deleteCompanyProductRelevance(query) {
|
||||
return axios(
|
||||
{
|
||||
url: "/sale/info/deleteCompanyProductRelevance",
|
||||
method: "post",
|
||||
data: query
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -1,665 +0,0 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-card class="el-card">
|
||||
<div>
|
||||
<el-form :model="erpQuery" size="mini" label-width="125px" v-show="showSearch">
|
||||
<el-row>
|
||||
<el-col :span="6">
|
||||
<el-form-item class="query-form-item" label="产品编码:">
|
||||
<el-input
|
||||
v-model="erpQuery.code"
|
||||
placeholder="产品编码/商品条码/医保编码" clearable="true"
|
||||
@keyup.enter.native="keyupErp_submit($event)"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item class="query-form-item" label="产品名称:">
|
||||
<el-input
|
||||
v-model="erpQuery.name"
|
||||
placeholder="产品名称" clearable="true"
|
||||
@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-input
|
||||
v-model="erpQuery.spec"
|
||||
placeholder="规格型号" clearable="true"
|
||||
@keyup.enter.native="keyupErp_submit($event)"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item class="query-form-item" label="注册/备案凭证号:">
|
||||
<el-input
|
||||
v-model="erpQuery.registerNo" clearable="true"
|
||||
placeholder="注册/备案凭证号"
|
||||
@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="erpQuery.manufactory" clearable="true"
|
||||
placeholder="生产厂家"
|
||||
@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-input
|
||||
v-model="erpQuery.supName" clearable="true"
|
||||
placeholder="配送企业"
|
||||
@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="thirdSysFk" placeholder="请设置主系统" disabled="isImport">
|
||||
<el-option
|
||||
v-for="item in thirdSys"
|
||||
:key="item.value"
|
||||
:label="item.thirdName"
|
||||
:value="item.thirdId">
|
||||
<span style="float: left">{{ item.thirdName }}</span>
|
||||
<span
|
||||
style="float: right; color: #8492a6; font-size: 13px">{{ item.thirdId }}</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="searchErpList">查询</el-button>
|
||||
<el-button type="primary" icon="el-icon-bottom-left" @click="combine" :loading="combineLoading">选入
|
||||
</el-button>
|
||||
<el-button type="primary" icon="el-icon-plus" @click="combineAll" v-if="isImport && !supEnable">结果全部选入
|
||||
</el-button>
|
||||
</el-button-group>
|
||||
</div>
|
||||
<el-divider style="margin: 15px"></el-divider>
|
||||
|
||||
|
||||
<el-table
|
||||
:data="erpList"
|
||||
style="width: 100%"
|
||||
highlight-current-row="true"
|
||||
v-loading="erpLloading"
|
||||
border
|
||||
@current-change="handleErpChange"
|
||||
@selection-change="handleSelectionChange"
|
||||
>
|
||||
<el-table-column
|
||||
v-if="isImport"
|
||||
type="selection"
|
||||
width="55"
|
||||
></el-table-column>
|
||||
<el-table-column label="序号" type="index"></el-table-column>
|
||||
<el-table-column label="产品编码" prop="code" show-overflow-tooltip></el-table-column>
|
||||
<el-table-column label="产品名称" prop="name" show-overflow-tooltip></el-table-column>
|
||||
<el-table-column label="计量单位" prop="measname" show-overflow-tooltip></el-table-column>
|
||||
<el-table-column label="规格型号" prop="spec" show-overflow-tooltip></el-table-column>
|
||||
<el-table-column label="注册/备案凭证号" prop="registerNo" show-overflow-tooltip></el-table-column>
|
||||
<el-table-column label="生产厂家" prop="manufactory" show-overflow-tooltip></el-table-column>
|
||||
<el-table-column label="配送企业" prop="supName" show-overflow-tooltip></el-table-column>
|
||||
</el-table>
|
||||
<pagination
|
||||
v-show="pageTotal>0"
|
||||
:total="pageTotal"
|
||||
:page.sync="erpQuery.page"
|
||||
:limit.sync="erpQuery.limit"
|
||||
@pagination="getErpList"
|
||||
/>
|
||||
</div>
|
||||
</el-card>
|
||||
|
||||
<el-card class="el-card" v-if="!isImport">
|
||||
<div v-if="!isImport" style="margin-bottom: 10px;margin-top: 10px">
|
||||
<el-form label-width="120px">
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="产品名称:" class="query-form-item">
|
||||
<el-input
|
||||
style="width: 80%"
|
||||
splaceholder="请输入内容"
|
||||
:disabled="true"
|
||||
v-model="data.cpmctymc"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="产品标识:" class="query-form-item">
|
||||
<el-input
|
||||
style="width: 80%"
|
||||
:disabled="true"
|
||||
splaceholder="请输入内容"
|
||||
v-model="data.nameCode"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="规格型号:" class="query-form-item">
|
||||
<el-input
|
||||
style="width: 80%"
|
||||
:disabled="true"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="data.ggxh"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="医疗器械注册人:" class="query-form-item">
|
||||
<el-input
|
||||
style="width: 80%"
|
||||
:disabled="true"
|
||||
size="small"
|
||||
splaceholder="ylqxzcrbarmc"
|
||||
v-model="data.ylqxzcrbarmc"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="注册人英文名称:" class="query-form-item">
|
||||
<el-input
|
||||
style="width: 80%"
|
||||
:disabled="true"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="data.ylqxzcrbarywmc"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="器械类别:" class="query-form-item">
|
||||
<el-input
|
||||
style="width: 80%"
|
||||
:disabled="true"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="data.qxlb"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="产品类别:" class="query-form-item">
|
||||
<el-input
|
||||
style="width: 80%"
|
||||
:disabled="true"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="data.cplb"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="分类编码:" class="query-form-item">
|
||||
<el-input
|
||||
style="width: 80%"
|
||||
:disabled="true"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="data.flbm"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="商品条码:" class="query-form-item">
|
||||
<el-input
|
||||
style="width: 80%"
|
||||
:disabled="true"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="data.sptm"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="医保编码:" class="query-form-item">
|
||||
<el-input
|
||||
style="width: 80%"
|
||||
:disabled="true"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="data.ybbm"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20">
|
||||
<el-col :span="12">
|
||||
<el-form-item label="统一社会信用号:" class="query-form-item">
|
||||
<el-input
|
||||
style="width: 80%"
|
||||
:disabled="true"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="data.tyshxydm"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="注册证/备案号:" class="query-form-item">
|
||||
<el-input
|
||||
style="width: 80%"
|
||||
:disabled="true"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="data.zczbhhzbapzbh"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</div>
|
||||
</el-card>
|
||||
</div>
|
||||
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {modifyRel, addErp, addAllErp, combineUdi} from "@/api/basic/product/udiRelevance";
|
||||
import {getInvbasdoc} from "@/api/basic/product/getErps";
|
||||
import {getBasicThirdSys} from "@/api/thrsys/basicThirdSys";
|
||||
|
||||
export default {
|
||||
name: "closeDialog",
|
||||
props: {
|
||||
uuid: {
|
||||
type: Object,
|
||||
required: true,
|
||||
},
|
||||
|
||||
data: {
|
||||
type: Object,
|
||||
required: true,
|
||||
},
|
||||
|
||||
relId: {
|
||||
type: Number,
|
||||
required: true,
|
||||
},
|
||||
|
||||
isImport: {
|
||||
type: Boolean,
|
||||
required: true,
|
||||
},
|
||||
|
||||
closeDialog: {
|
||||
type: Function,
|
||||
required: true,
|
||||
},
|
||||
defaultSys: {
|
||||
type: Object,
|
||||
required: true,
|
||||
},
|
||||
supEnable: {
|
||||
type: Object,
|
||||
required: true,
|
||||
},
|
||||
intentThirdId: {
|
||||
type: Object,
|
||||
required: true,
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
data() {
|
||||
return {
|
||||
erpQuery: {
|
||||
code: null,
|
||||
name: null,
|
||||
spec: null,
|
||||
registerNo: null,
|
||||
manufactory: null,
|
||||
thirdSys: null,
|
||||
supName: null,
|
||||
measname: null,
|
||||
page: 1,
|
||||
limit: 10,
|
||||
|
||||
},
|
||||
combineLoading: false,
|
||||
combineQuery: {
|
||||
thirdId: "",
|
||||
relId: "",
|
||||
erpName: "",
|
||||
keys: [],
|
||||
thirdIds: [],
|
||||
thirdSys: null,
|
||||
query: null,
|
||||
isRlInv: null,
|
||||
manufactory: null,
|
||||
measname: null,
|
||||
ybbm: null,
|
||||
sptm: null,
|
||||
},
|
||||
|
||||
udidlList: [],
|
||||
erpList: [],
|
||||
pageTotal: 1,
|
||||
total: 1,
|
||||
currentRow: null,
|
||||
loading: false,
|
||||
erpLloading: false,
|
||||
multipleUdiSelection: [],
|
||||
thirdSys: [],
|
||||
thirdSysFk: null,
|
||||
showSearch: true,
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
onReset() {
|
||||
this.$router.push({
|
||||
path: "",
|
||||
});
|
||||
this.erpQuery = {
|
||||
code: null,
|
||||
name: null,
|
||||
spec: null,
|
||||
registerNo: null,
|
||||
manufactory: null,
|
||||
thirdSys: null,
|
||||
supName: null,
|
||||
measname: null,
|
||||
page: 1,
|
||||
limit: 10,
|
||||
};
|
||||
this.getErpList();
|
||||
},
|
||||
tableRowClassName({row}) {
|
||||
if (row.checked) return "warning-row";
|
||||
return "";
|
||||
},
|
||||
checkSelectable(row) {
|
||||
return !row.checked;
|
||||
},
|
||||
handleCurrentChange(val) {
|
||||
this.unionQuery.page = val;
|
||||
this.getList();
|
||||
},
|
||||
handleErpChange(val) {
|
||||
console.log(val);
|
||||
this.currentRow = val;
|
||||
},
|
||||
handleErpPageChange(val) {
|
||||
this.erpQuery.page = val;
|
||||
this.getErpList();
|
||||
},
|
||||
hideSearch() {
|
||||
this.showSearch = !this.showSearch;
|
||||
},
|
||||
searchErpList() {
|
||||
this.erpQuery.page = 1;
|
||||
this.getErpList();
|
||||
},
|
||||
|
||||
keyup_submit(event) {
|
||||
|
||||
this.erpQuery.page = 1;
|
||||
this.getErpList();
|
||||
event.target.select();
|
||||
},
|
||||
getErpList() {
|
||||
this.erplLoading = true;
|
||||
this.erpQuery.thirdSys = this.thirdSysFk;
|
||||
getInvbasdoc(this.erpQuery)
|
||||
.then((response) => {
|
||||
this.erplLoading = false;
|
||||
if (response.code == 20000) {
|
||||
this.erpList = response.data.list || [];
|
||||
this.pageTotal = response.data.total || 0;
|
||||
} else {
|
||||
this.$message.error(response.message);
|
||||
this.erpList = [];
|
||||
this.pageTotal = 0;
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
this.erplLoading = false;
|
||||
this.erpList = [];
|
||||
this.pageTotal = 0;
|
||||
});
|
||||
},
|
||||
intentBack() {
|
||||
this.closeDialog();
|
||||
},
|
||||
|
||||
combineAll() {
|
||||
|
||||
this.$confirm("此操作将在后台自动下载所有查询结果, 是否继续?", "提示", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning",
|
||||
})
|
||||
.then(() => {
|
||||
this.combineQuery.thirdSys = this.thirdSysFk;
|
||||
this.combineQuery.query = this.erpQuery;
|
||||
addAllErp(this.combineQuery)
|
||||
.then((response) => {
|
||||
if (response.code == 20000) {
|
||||
this.$message.success(response.data);
|
||||
this.$emit("closeUdi", true);
|
||||
} else {
|
||||
this.$message.error(response.message);
|
||||
this.$emit("closeUdi", false);
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
this.$emit("closeUdi", false);
|
||||
});
|
||||
})
|
||||
.catch(() => {
|
||||
});
|
||||
|
||||
|
||||
},
|
||||
|
||||
combine() {
|
||||
this.combineQuery.query = null;
|
||||
this.combineQuery.relId = this.relId;
|
||||
this.combineQuery.thirdSys = this.thirdSysFk;
|
||||
this.combineQuery.supEnable = this.supEnable;
|
||||
if (this.isImport) {
|
||||
this.combineQuery.thirdId = null;
|
||||
let selectData = this.multipleUdiSelection;
|
||||
let selected = '';
|
||||
selectData.forEach((row) => {
|
||||
|
||||
if (row.checked) {
|
||||
selected = selected + row.code + ",";
|
||||
}
|
||||
this.combineQuery.thirdIds.push(row.code);
|
||||
this.combineQuery.manufactory = row.manufactory;
|
||||
this.combineQuery.measname = row.measname;
|
||||
|
||||
});
|
||||
if (this.currentRow != null) {
|
||||
this.combineQuery.manufactory = this.currentRow.manufactory;
|
||||
this.combineQuery.measname = this.currentRow.measname;
|
||||
}
|
||||
|
||||
|
||||
if (selectData.length == 0) {
|
||||
this.$message.warning("未选择产品");
|
||||
return;
|
||||
}
|
||||
if (selected != '') {
|
||||
this.$confirm("产品编码:" + selected + "已被添加,是否继续添加", "提示", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning",
|
||||
})
|
||||
.then(() => {
|
||||
this.combineLoading = true;
|
||||
combineUdi(this.combineQuery)
|
||||
.then((response) => {
|
||||
this.combineLoading = false;
|
||||
if (response.code == 20000) {
|
||||
this.$emit("closeUdi", true);
|
||||
this.$message.success(response.data);
|
||||
} else {
|
||||
this.$message.error(response.message);
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
this.combineLoading = false;
|
||||
this.combineQuery.thirdIds = [];
|
||||
this.$emit("closeUdi", false);
|
||||
|
||||
});
|
||||
})
|
||||
.catch(() => {
|
||||
this.combineQuery.thirdIds = [];
|
||||
});
|
||||
} else {
|
||||
combineUdi(this.combineQuery)
|
||||
.then((response) => {
|
||||
this.combineLoading = false;
|
||||
if (response.code == 20000) {
|
||||
this.$emit("closeUdi", true);
|
||||
this.$message.success(response.data);
|
||||
} else {
|
||||
this.$emit("closeUdi", false);
|
||||
this.$message.warning(response.message);
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
this.combineLoading = false;
|
||||
this.$emit("closeUdi", false);
|
||||
});
|
||||
}
|
||||
|
||||
} else {
|
||||
this.combineQuery.thirdId = this.currentRow.code;
|
||||
this.combineQuery.erpName = this.currentRow.name;
|
||||
this.combineQuery.manufactory = this.currentRow.manufactory;
|
||||
this.combineQuery.measname = this.currentRow.measname;
|
||||
this.combineQuery.ybbm = this.currentRow.ybbm;
|
||||
this.combineQuery.sptm = this.currentRow.sptm;
|
||||
this.erpQuery.manufactory = this.currentRow.manufactory;
|
||||
this.erpQuery.measname = this.currentRow.measname;
|
||||
this.combineQuery.price = this.currentRow.price;
|
||||
|
||||
|
||||
if (this.currentRow.checked) {
|
||||
|
||||
this.$confirm("产品编码:" + this.currentRow.code + "已被选入,是否继续选入", "提示", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning",
|
||||
})
|
||||
.then(() => {
|
||||
this.combineLoading = true;
|
||||
modifyRel(this.combineQuery)
|
||||
.then((response) => {
|
||||
this.combineLoading = false;
|
||||
if (response.code == 20000) {
|
||||
this.$emit("closeUdi", true);
|
||||
} else {
|
||||
this.$emit("closeUdi", false);
|
||||
this.$message.error(response.message);
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
this.combineLoading = false;
|
||||
this.$emit("closeUdi", false);
|
||||
});
|
||||
})
|
||||
} else {
|
||||
this.combineLoading = true;
|
||||
modifyRel(this.combineQuery)
|
||||
.then((response) => {
|
||||
this.combineLoading = false;
|
||||
if (response.code == 20000) {
|
||||
this.$emit("closeUdi", true);
|
||||
} else {
|
||||
this.$emit("closeUdi", false);
|
||||
this.$message.error(response.message);
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
this.combineLoading = false;
|
||||
this.$emit("closeUdi", false);
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
},
|
||||
|
||||
handleSelectionChange(val) {
|
||||
console.log("----" + val);
|
||||
this.multipleUdiSelection = val;
|
||||
},
|
||||
getBasicThirdSys() {
|
||||
let query = {
|
||||
enabled: true,
|
||||
mainSys: false,
|
||||
filter: true,
|
||||
};
|
||||
if (this.isImport) {
|
||||
query.mainSys = true;
|
||||
}
|
||||
getBasicThirdSys(query)
|
||||
.then((response) => {
|
||||
this.thirdSys = response.data.list || [];
|
||||
this.thirdSysFk = this.thirdSys[0].thirdId;
|
||||
if (this.defaultSys != null) {
|
||||
this.thirdSysFk = this.defaultSys;
|
||||
}
|
||||
this.searchErpList();
|
||||
|
||||
})
|
||||
.catch(() => {
|
||||
this.loading = false;
|
||||
this.list = [];
|
||||
});
|
||||
},
|
||||
},
|
||||
created() {
|
||||
console.log("-------------" + this.uuid);
|
||||
this.getBasicThirdSys();
|
||||
this.erpQuery.code = this.intentThirdId;
|
||||
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
div /deep/ .el-table .warning-row {
|
||||
background: #bebebe;
|
||||
}
|
||||
|
||||
div /deep/ .el-table .success-row {
|
||||
background: #ffffff;
|
||||
}
|
||||
|
||||
|
||||
.query-form-item {
|
||||
display: block !important;
|
||||
margin-right: 10px;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
</style>
|
@ -0,0 +1,623 @@
|
||||
<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-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-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-row>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="配送企业:">
|
||||
<el-input v-model="filterQuery.supName" 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.thrPiId" 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="submitSearch">查询</el-button>
|
||||
<el-button type="primary" icon="el-icon-upload2" @click="selectExport">选中导入</el-button>
|
||||
</el-button-group>
|
||||
</div>
|
||||
<el-divider style="margin: 15px"></el-divider>
|
||||
<el-table v-loading="loading" :data="list" style="width: 100%" @selection-change="handleSelectionChange" border highlight-current-row>
|
||||
<el-table-column type="selection" width="55" :selectable="checkSelectable"></el-table-column>
|
||||
<el-table-column label="序号" type="index"></el-table-column>
|
||||
<el-table-column label="最小销售产品标识" prop="nameCode" width="140"></el-table-column>
|
||||
<el-table-column label="产品编码" prop="thirdId" show-overflow-tooltip></el-table-column>
|
||||
<el-table-column label="生产企业" prop="ylqxzcrbarmc" 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="zczbhhzbapzbh" show-overflow-tooltip></el-table-column>
|
||||
<el-table-column label="器械类别" prop="qxlb" show-overflow-tooltip></el-table-column>
|
||||
<el-table-column label="配送企业" prop="supName" show-overflow-tooltip></el-table-column>
|
||||
<el-table-column width="60" label="操作" >
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
type="text"
|
||||
size="small"
|
||||
@click.native.stop="handleModifyClick(scope.row)"
|
||||
>详情
|
||||
</el-button>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<el-dialog
|
||||
title="产品信息详情"
|
||||
:visible.sync="editDialogVisible"
|
||||
width="70%"
|
||||
:close-on-click-modal="false"
|
||||
:close-on-press-escape="false"
|
||||
append-to-body
|
||||
v-if="editDialogVisible"
|
||||
>
|
||||
<el-table :data="sysList" style="width: 100%" border highlight-current-row>
|
||||
<el-table-column label="序号" type="index"></el-table-column>
|
||||
<el-table-column label="第三方系统名称" prop="sysName" show-overflow-tooltip></el-table-column>
|
||||
<el-table-column label="第三方产品名称" prop="thirdName" show-overflow-tooltip></el-table-column>
|
||||
<el-table-column label="第三方产品ID" prop="thirdId" show-overflow-tooltip></el-table-column>
|
||||
</el-table>
|
||||
|
||||
<el-table v-loading="loading" :data="detailList" style="width: 100%; margin-top: 20px" border @current-change="handleDetail" border highlight-current-row>
|
||||
<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="packLevel" show-overflow-tooltip></el-table-column>
|
||||
<el-table-column label="包装层级" prop="bzcj" show-overflow-tooltip></el-table-column>
|
||||
</el-table>
|
||||
|
||||
<el-form :model="editQuery" :rules="rules" ref="editQuery" label-width="190px" style="margin-top: 20px">
|
||||
<el-row>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="产品名称" prop="cpmctymc">
|
||||
<el-input style="width: 90%" size="small" splaceholder="请输入产品名称" :disabled="true" v-model="editQuery.cpmctymc"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" class="el-col">
|
||||
<el-form-item label="产品标识" prop="nameCode">
|
||||
<el-input style="width: 90%" :disabled="true" size="small" splaceholder="请输入产品标识" v-model="editQuery.nameCode"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row>
|
||||
<el-col :span="12" class="el-col">
|
||||
<el-form-item label="规格型号" prop="ggxh">
|
||||
<el-input style="width: 90%" :disabled="true" size="small" splaceholder="请输入内容" v-model="editQuery.ggxh"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="12" class="el-col">
|
||||
<el-form-item label="器械类别" prop="qxlb">
|
||||
<el-input style="width: 90%" :disabled="true" size="small" splaceholder="请输入器械类别" v-model="editQuery.qxlb"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row>
|
||||
<el-col :span="12" class="el-col">
|
||||
<el-form-item label="产品类别" prop="cplb">
|
||||
<el-input style="width: 90%" :disabled="true" size="small" splaceholder="请输入产品类别" v-model="editQuery.cplb"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" class="el-col">
|
||||
<el-form-item label="分类编码" prop="flbm">
|
||||
<el-input style="width: 90%" :disabled="true" size="small" splaceholder="请输入分类编码" v-model="editQuery.flbm"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row>
|
||||
<el-col :span="12" class="el-col">
|
||||
<el-form-item label="商品条码" prop="sptm">
|
||||
<el-input style="width: 90%" :disabled="true" size="small" splaceholder="请输入商品条码" v-model="editQuery.sptm"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" class="el-col">
|
||||
<el-form-item label="医保编码" prop="ybbm">
|
||||
<el-input style="width: 90%" :disabled="true" size="small" splaceholder="请输入医保编码" v-model="editQuery.ybbm"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row>
|
||||
<el-col :span="12" class="el-col">
|
||||
<el-form-item label="医疗器械注册人" prop="ylqxzcrbarmc">
|
||||
<el-input style="width: 90%" :disabled="true" size="small" splaceholder="请输入医疗器械注册人" v-model="editQuery.ylqxzcrbarmc"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" class="el-col">
|
||||
<el-form-item label="注册人英文名称" prop="ylqxzcrbarywmc">
|
||||
<el-input style="width: 90%" :disabled="true" size="small" splaceholder="请输入注册人英文名称" v-model="editQuery.ylqxzcrbarywmc"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row>
|
||||
<el-col :span="12" class="el-col">
|
||||
<el-form-item label="统一社会信用号" prop="tyshxydm">
|
||||
<el-input style="width: 90%" :disabled="true" size="small" splaceholder="请输入统一社会信用号" v-model="editQuery.tyshxydm"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" class="el-col">
|
||||
<el-form-item label="注册证/备案号" prop="zczbhhzbapzbh">
|
||||
<el-input style="width: 90%" :disabled="true" size="small" splaceholder="请输入注册证/备案号" v-model="editQuery.zczbhhzbapzbh"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row>
|
||||
<el-col :span="12" class="el-col">
|
||||
<el-form-item label="上级产品编码" prop="sjcpbm">
|
||||
<el-input style="width: 90%" :disabled="true" size="small" splaceholder="请输入上级产品编码" v-model="editQuery.sjcpbm"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="12" class="el-col">
|
||||
<el-form-item label="包装级别" prop="packLevel">
|
||||
<el-input style="width: 90%" size="small" splaceholder="请输入包装级别" :disabled="true" v-model="editQuery.packLevel"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row>
|
||||
<el-col :span="12" class="el-col">
|
||||
<el-form-item label="包装单位/包装级别" prop="bzcj">
|
||||
<el-input style="width: 90%" size="small" splaceholder="请输入包装单位/包装级别" v-model="editQuery.bzcj" :disabled="true"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="12" class="el-col">
|
||||
<el-form-item label="包含下级包装数量" prop="bhxjsl">
|
||||
<el-input style="width: 90%" size="small" splaceholder="请输入包含下级包装数量" :disabled="true" v-model="editQuery.bhxjsl"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row>
|
||||
<el-col :span="12" class="el-col">
|
||||
<el-form-item label="包含下级产品编码" prop="bhxjcpbm">
|
||||
<el-input style="width: 90%" size="small" :disabled="true" splaceholder="请输入包含下级产品编码" v-model="editQuery.bhxjcpbm"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="12" class="el-col">
|
||||
<el-form-item label="包含最小销售包装数量" prop="bhzxxsbzsl">
|
||||
<el-input style="width: 90%" size="small" :disabled="true" splaceholder="请输入包含最小销售包装数量" v-model="editQuery.bhzxxsbzsl"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row>
|
||||
<el-col :span="12" class="el-col">
|
||||
<el-form-item label="是否包含批号" prop="scbssfbhph">
|
||||
<el-input style="width: 90%" :disabled="true" size="small" v-model="editQuery.scbssfbhph"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" class="el-col">
|
||||
<el-form-item label="是否包含序列号" prop="scbssfbhxlh">
|
||||
<el-input style="width: 90%" :disabled="true" size="small" v-model="editQuery.scbssfbhxlh" splaceholder="请输入内容"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row>
|
||||
<el-col :span="12" class="el-col">
|
||||
<el-form-item label="是否包含生产日期" prop="scbssfbhscrq">
|
||||
<el-input style="width: 90%" :disabled="true" size="small" v-model="editQuery.scbssfbhscrq"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" class="el-col">
|
||||
<el-form-item label="是否包含失效日期" prop="scbssfbhsxrq">
|
||||
<el-input style="width: 90%" :disabled="true" v-model="editQuery.scbssfbhsxrq" ></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row>
|
||||
<el-col :span="12" class="el-col">
|
||||
<el-form-item label="产品描述" prop="cpms">
|
||||
<el-input style="width: 90%" :disabled="false" size="small" v-model="editQuery.cpms"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="12" class="el-col">
|
||||
<el-form-item label="计量单位" prop="measname">
|
||||
<el-input style="width: 90%" size="small" splaceholder="请输入内容" v-model="editQuery.measname"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row >
|
||||
<el-col :span="12" class="el-col">
|
||||
<el-form-item label="最小包装单元内包含使用单元数量" prop="zxxsbzbhsydysl">
|
||||
<el-input style="width: 90%" :disabled="!checked" size="small" splaceholder="请输入内容" v-model="editQuery.zxxsbzbhsydysl"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
|
||||
</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 {
|
||||
getUdiInfos,
|
||||
updateErpProduct,
|
||||
thirdSysDetail,
|
||||
getSmUdiInfos
|
||||
} from "@/api/basic/udiRelevance";
|
||||
import {udiUpload} from "@/api/thrsys/smp"
|
||||
import {filterByUuid} from "@/api/basic/udiInfo";
|
||||
import {
|
||||
insertCompanyProductRelevance,
|
||||
updateCompanyProductRelevance, insertFilter
|
||||
} from "@/api/basic/udiRlSuptRelevance";
|
||||
import store from "@/store";
|
||||
|
||||
export default {
|
||||
name: "UdIInfoSelect",
|
||||
props: {
|
||||
unitFk: {
|
||||
type: Object,
|
||||
required: true,
|
||||
},
|
||||
selectType: {
|
||||
type: Object,
|
||||
required: true,
|
||||
},
|
||||
closeSelDialog: {
|
||||
type: Function,
|
||||
required: true,
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
showSearch: true,
|
||||
filterQuery: {
|
||||
customerId: null,
|
||||
uuids: [],
|
||||
rlIds: [],
|
||||
ylqxzcrbarmc: "",
|
||||
supName: null,
|
||||
cpmctymc: "",
|
||||
nameCode: "",
|
||||
page: 1,
|
||||
limit: 20,
|
||||
addType: 1,
|
||||
isDisable: false,
|
||||
},
|
||||
|
||||
editQuery: null,
|
||||
relevanceEdit: {
|
||||
id: null,
|
||||
thirdId: "",
|
||||
isUseDy: false,
|
||||
},
|
||||
isImport: false,
|
||||
isImportUdi: false,
|
||||
isUploadSmp: false,
|
||||
isImportFile: false,
|
||||
uploadFileUrl: null,
|
||||
checked: false,
|
||||
list: [],
|
||||
detailList: [],
|
||||
sysList: [],
|
||||
total: 0,
|
||||
thirdNo: "",
|
||||
uuid: "111",
|
||||
thirdId: null,
|
||||
relId: "",
|
||||
thisData: {
|
||||
nameCode: null,
|
||||
cpmctymc: null,
|
||||
ggxh: null
|
||||
},
|
||||
multipleSelection: [],
|
||||
editDialogVisible: false,
|
||||
selectUdiDialogVisible: false,
|
||||
selectErpDialogVisible: false,
|
||||
selectLocalVisible: false,
|
||||
};
|
||||
},
|
||||
|
||||
methods: {
|
||||
onReset() {
|
||||
this.$router.push({
|
||||
path: "",
|
||||
});
|
||||
this.filterQuery = {
|
||||
customerId: null,
|
||||
uuids: [],
|
||||
rlIds: [],
|
||||
ylqxzcrbarmc: "",
|
||||
supName: null,
|
||||
cpmctymc: "",
|
||||
nameCode: "",
|
||||
page: 1,
|
||||
limit: 20,
|
||||
unitFk: null,
|
||||
addType: 1,
|
||||
};
|
||||
this.getList();
|
||||
},
|
||||
|
||||
hideSearch() {
|
||||
this.showSearch = !this.showSearch;
|
||||
},
|
||||
submitSearch() {
|
||||
this.filterQuery.page = 1;
|
||||
this.getList();
|
||||
},
|
||||
getList() {
|
||||
this.loading = true;
|
||||
this.filterQuery.customerId = store.getters.customerId;
|
||||
getSmUdiInfos(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;
|
||||
});
|
||||
},
|
||||
|
||||
getDetailList(detailQuery) {
|
||||
this.loading = true;
|
||||
filterByUuid(detailQuery)
|
||||
.then((response) => {
|
||||
this.loading = false;
|
||||
this.detailList = response.data || [];
|
||||
})
|
||||
.catch(() => {
|
||||
this.loading = false;
|
||||
this.detailList = [];
|
||||
});
|
||||
},
|
||||
|
||||
handleDetail(row) {
|
||||
this.editQuery = row;
|
||||
},
|
||||
|
||||
combine() {
|
||||
this.combineQuery.productUuid = this.currentRow.uuid;
|
||||
this.combineQuery.customerId = store.getters.customerId;
|
||||
insertCompanyProductRelevance(this.combineQuery).then(response => {
|
||||
this.loading = false;
|
||||
if (response.code === 20000) {
|
||||
this.$message.success("添加成功");
|
||||
this.closeDialog(true);
|
||||
} else {
|
||||
this.$message.error(response.message);
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
|
||||
selectExport() {
|
||||
var selectData = this.multipleSelection;
|
||||
selectData.forEach((obj) => {
|
||||
this.filterQuery.rlIds.push(obj.id);
|
||||
});
|
||||
this.filterQuery.unitFk = this.unitFk;
|
||||
this.allExport();
|
||||
|
||||
},
|
||||
allExport() {
|
||||
this.filterQuery.customerId = store.getters.customerId;
|
||||
insertFilter(this.filterQuery).then(response => {
|
||||
this.loading = false;
|
||||
if (response.code == 20000) {
|
||||
this.$message.success(response.data);
|
||||
this.$emit("closeSelDialog", true);
|
||||
this.closeSelDialog();
|
||||
} else {
|
||||
this.$message.error(response.message);
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
intentDetail() {
|
||||
this.isImportUdi = false;
|
||||
this.selectUdiDialogVisible = true;
|
||||
},
|
||||
|
||||
intentImportErp(val) {
|
||||
this.uuid = val.uuid;
|
||||
this.relId = val.id;
|
||||
this.isImport = true;
|
||||
this.thisData = val;
|
||||
this.selectErpDialogVisible = true;
|
||||
},
|
||||
uploadSMP() {
|
||||
var selectData = this.multipleSelection;
|
||||
selectData.forEach((obj) => {
|
||||
this.filterQuery.uuids.push(obj.uuid);
|
||||
});
|
||||
this.allUploadSMP();
|
||||
},
|
||||
|
||||
allUploadSMP() {
|
||||
udiUpload(this.filterQuery)
|
||||
.then((response) => {
|
||||
if (response.code == 20000) {
|
||||
this.$message({
|
||||
type: "success",
|
||||
message: "上传成功!",
|
||||
});
|
||||
} else {
|
||||
this.$message({
|
||||
type: "error",
|
||||
message: response.message,
|
||||
});
|
||||
}
|
||||
this.$emit("cancelDialog", true);
|
||||
})
|
||||
.catch(() => {
|
||||
this.$message({
|
||||
type: "error",
|
||||
message: "上传失败",
|
||||
});
|
||||
this.$emit("cancelDialog", true);
|
||||
});
|
||||
},
|
||||
handleSelectionChange(val) {
|
||||
this.multipleSelection = val;
|
||||
},
|
||||
|
||||
handleCurrentChange(val) {
|
||||
this.filterQuery.page = val.page;
|
||||
this.getList();
|
||||
},
|
||||
handleModifyClick(row) {
|
||||
this.editDialogVisible = true;
|
||||
this.editQuery = row;
|
||||
this.relevanceEdit = {
|
||||
id: row.id,
|
||||
thirdId: row.thirdId,
|
||||
isUseDy: row.isUseDy,
|
||||
};
|
||||
this.checked = row.isUseDy == 1;
|
||||
|
||||
let ttquery = {
|
||||
id: row.id,
|
||||
page: 1,
|
||||
limit: 10,
|
||||
};
|
||||
|
||||
this.getDetailList(ttquery);
|
||||
this.getThirdSysDetail();
|
||||
},
|
||||
closeUdi(val) {
|
||||
this.selectUdiDialogVisible = false;
|
||||
this.selectErpDialogVisible = false;
|
||||
this.selectLocalVisible = false;
|
||||
if (val) {
|
||||
this.getList();
|
||||
}
|
||||
},
|
||||
getThirdSysDetail() {
|
||||
let query = {
|
||||
id: this.relevanceEdit.id,
|
||||
};
|
||||
|
||||
thirdSysDetail(query)
|
||||
.then((response) => {
|
||||
this.loading = false;
|
||||
this.sysList = response.data.list || [];
|
||||
})
|
||||
.catch(() => {
|
||||
this.loading = false;
|
||||
this.sysList = [];
|
||||
});
|
||||
},
|
||||
checkSelectable(row) {
|
||||
return !row.isSelect;
|
||||
},
|
||||
uploadErpProduct() {
|
||||
updateErpProduct()
|
||||
.then((response) => {
|
||||
if (response.code == 20000) {
|
||||
this.$message({
|
||||
type: "success",
|
||||
message: response.data,
|
||||
});
|
||||
this.$emit("closeDialog", true);
|
||||
} else {
|
||||
this.$message.error(response.message);
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
});
|
||||
},
|
||||
|
||||
closeDialog() {
|
||||
this.selectErpDialogVisible = false;
|
||||
this.selectLocalVisible = false;
|
||||
},
|
||||
|
||||
selectSysParam() {
|
||||
let query = {
|
||||
paramKey: "smp_isUploadProuct",
|
||||
};
|
||||
selectSysParamByKey(query).then((response) => {
|
||||
if (response.code == 20000) {
|
||||
if (response.data.paramValue == "1") {
|
||||
this.isUploadSmp = true;
|
||||
}
|
||||
}
|
||||
});
|
||||
let query1 = {
|
||||
paramKey: "upload_pi_file_enabled",
|
||||
};
|
||||
selectSysParamByKey(query1).then((response) => {
|
||||
if (response.code == 20000) {
|
||||
if (response.data.paramValue == "1") {
|
||||
this.isImportFile = true;
|
||||
}
|
||||
}
|
||||
});
|
||||
let query2 = {
|
||||
paramKey: "upload_pi_file_url",
|
||||
};
|
||||
selectSysParamByKey(query2).then((response) => {
|
||||
if (response.code == 20000) {
|
||||
this.uploadFileUrl = response.data.paramValue;
|
||||
}
|
||||
});
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
},
|
||||
components: {},
|
||||
created() {
|
||||
|
||||
this.getList();
|
||||
this.selectSysParam();
|
||||
},
|
||||
};
|
||||
</script>
|
||||
<style scoped>
|
||||
.el-form-item--mini.el-form-item {
|
||||
margin-bottom: 9px;
|
||||
}
|
||||
</style>
|
@ -0,0 +1,757 @@
|
||||
<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.unitFk"
|
||||
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-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-select v-model="filterQuery.filterType" style="width: 90%" placeholder="请选择过滤对照条件">
|
||||
<el-option
|
||||
v-for="item in filterList"
|
||||
:key="item.filterType"
|
||||
:label="item.sysName"
|
||||
:value="item.filterType">
|
||||
<span style="float: left">{{ item.sysName }}</span>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</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-col :span="6">
|
||||
<el-form-item label="第三方产品编码:">
|
||||
<el-input v-model="filterQuery.thrPiId" style="width: 90%" placeholder="请输入第三方产品编码" clearable="true"></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="6">
|
||||
<el-form-item label="状态:" v-if="isSpCombine">
|
||||
<el-select v-model="filterQuery.lockStatus" style="width: 90%" placeholder="状态">
|
||||
<el-option label="全部" value=""></el-option>
|
||||
<el-option label="未提交" value="1"></el-option>
|
||||
<el-option label="已提交" value="2"></el-option>
|
||||
<el-option label="已锁定" value="3"></el-option>
|
||||
</el-select>
|
||||
</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 type="primary" icon="search" @click="lockProducts('3')" v-if="isSpCombine">锁定</el-button>
|
||||
<el-button type="primary" icon="search" @click="lockProducts('1')" v-if="isSpCombine">退回</el-button>
|
||||
</el-button-group>
|
||||
</div>
|
||||
<el-divider style="margin: 15px"></el-divider>
|
||||
|
||||
<el-table v-loading="loading" :data="list" key="1" @selection-change="handleSelectionChange" style="width: 100%" border highlight-current-row>
|
||||
<el-table-column type="selection" width="55"></el-table-column>
|
||||
<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="nameCode" show-overflow-tooltip></el-table-column>
|
||||
<el-table-column label="主系统产品编码" prop="mainId" show-overflow-tooltip></el-table-column>
|
||||
<el-table-column label="生产企业" prop="ylqxzcrbarmc" 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="zczbhhzbapzbh" show-overflow-tooltip></el-table-column>
|
||||
<el-table-column label="器械类别" prop="qxlb" show-overflow-tooltip></el-table-column>
|
||||
<el-table-column
|
||||
v-if="isSpCombine"
|
||||
label="状态"
|
||||
prop="lockStatus"
|
||||
width="80"
|
||||
show-overflow-tooltip
|
||||
>
|
||||
<template slot-scope="scope">
|
||||
{{ lockStatusMap[scope.row.lockStatus] }}
|
||||
</template>
|
||||
</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="deleteClick(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"
|
||||
:relevanceEdit="relevanceEdit"
|
||||
: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"
|
||||
>
|
||||
<selectProduct
|
||||
:closeSelDialog="closeDialog"
|
||||
:uuid="uuid"
|
||||
:unitFk="filterQuery.unitFk"
|
||||
></selectProduct>
|
||||
</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 {
|
||||
getUdiInfos,
|
||||
deletetUdiInfos,
|
||||
updatetUdiInfos,
|
||||
updateErpProduct,
|
||||
uploadSmp,
|
||||
thirdSysDetail,
|
||||
removeRl, sysFilter, spcombie, lockStatus
|
||||
} from "@/api/basic/udiRelevance";
|
||||
import {selectSysParamByKey} from "@/api/param/systemParamConfig";
|
||||
import {filterByUuid, filterCompany} from "@/api/basic/udiInfo";
|
||||
import {filterCompanyProductRelevance, deleteCompanyProductRelevance} from "@/api/basic/udiRlSuptRelevance";
|
||||
import {getBasicUnitMaintains} from "@/api/basic/basicUnitMaintain"
|
||||
import selectProduct from "./basicCompanyProductsImport";
|
||||
import selectUdi from "./udiInfoRelevance.vue";
|
||||
import selectErp from "./udiInfoselectErpUdi";
|
||||
import selectLocalUdi from "./UdiInfoSelectLocalUdi";
|
||||
import selectDetail from "./udilnfoManageSpDetail";
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
showSearch: true,
|
||||
filterQuery: {
|
||||
lockStatus: null,
|
||||
unionCode: null,
|
||||
udiCode: null,
|
||||
ylqxzcrbarmc: "",
|
||||
cpmctymc: "",
|
||||
nameCode: "",
|
||||
ggxh: null,
|
||||
page: 1,
|
||||
limit: 20,
|
||||
addType: 1,
|
||||
thrPiId: null,
|
||||
filterType: null,
|
||||
companyName: null,
|
||||
unitFk: null,
|
||||
},
|
||||
fromOptions: [],
|
||||
editQuery: null,
|
||||
relevanceEdit: {
|
||||
id: null,
|
||||
thirdId: "",
|
||||
isDisable: null,
|
||||
isUseDy: false,
|
||||
isLock: null,
|
||||
isAdavence: 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,
|
||||
lockStatusMap: {"1": "未提交", "2": "已提交", "3": "已锁定"},
|
||||
loading: false,
|
||||
activeNames: ['1']
|
||||
};
|
||||
},
|
||||
|
||||
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;
|
||||
},
|
||||
search() {
|
||||
this.filterQuery.page = 1;
|
||||
this.getList();
|
||||
},
|
||||
hideSearch() {
|
||||
this.showSearch = !this.showSearch;
|
||||
},
|
||||
getList() {
|
||||
if (this.$isBlank(this.filterQuery.unitFk)) {
|
||||
this.$message.error("请先选择供应商!");
|
||||
return;
|
||||
}
|
||||
this.loading = true;
|
||||
filterCompanyProductRelevance(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 + "",
|
||||
};
|
||||
|
||||
deletetUdiInfos(tquery)
|
||||
.then((response) => {
|
||||
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(() => {
|
||||
});
|
||||
},
|
||||
|
||||
intentDetail() {
|
||||
this.isImportUdi = false;
|
||||
this.selectUdiDialogVisible = true;
|
||||
},
|
||||
addSelectErp(row) {
|
||||
this.defaultSys = row.sysId;
|
||||
this.isImport = false;
|
||||
this.selectErpDialogVisible = true;
|
||||
},
|
||||
|
||||
removeErp(row) {
|
||||
this.$confirm("此操作将解除该绑定产品信息, 是否继续?", "提示", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning",
|
||||
})
|
||||
.then(() => {
|
||||
let query = {
|
||||
relId: this.editQuery.id,
|
||||
thirdSys: row.sysId
|
||||
};
|
||||
removeRl(query)
|
||||
.then((response) => {
|
||||
if (response.code == 20000) {
|
||||
this.getThirdSysDetail()();
|
||||
this.$message({
|
||||
type: "success",
|
||||
message: "删除成功!",
|
||||
});
|
||||
} else {
|
||||
this.$message.error(response.message);
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
});
|
||||
})
|
||||
.catch(() => {
|
||||
});
|
||||
},
|
||||
|
||||
intentSelectErp(val) {
|
||||
this.uuid = val.uuid;
|
||||
this.relId = val.id;
|
||||
this.isImport = false;
|
||||
this.thisData = val;
|
||||
this.selectErpDialogVisible = true;
|
||||
},
|
||||
|
||||
intentImportErp(val) {
|
||||
this.defaultSys = null;
|
||||
this.uuid = val.uuid;
|
||||
this.relId = val.id;
|
||||
this.isImport = true;
|
||||
this.thisData = val;
|
||||
this.selectErpDialogVisible = true;
|
||||
},
|
||||
uploadSMP() {
|
||||
var selectData = this.multipleSelection;
|
||||
var keys = [];
|
||||
selectData.forEach((obj) => {
|
||||
keys.push(obj.id);
|
||||
});
|
||||
var tquery = {
|
||||
keys: keys,
|
||||
};
|
||||
uploadSmp(tquery)
|
||||
.then((response) => {
|
||||
if (response.code == 20000) {
|
||||
this.$message({
|
||||
type: "success",
|
||||
message: "上传成功!",
|
||||
});
|
||||
} else {
|
||||
this.$message({
|
||||
type: "error",
|
||||
message: response.message,
|
||||
});
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
this.$message({
|
||||
type: "error",
|
||||
message: "上传失败",
|
||||
});
|
||||
});
|
||||
},
|
||||
intentSelectUdi(val) {
|
||||
this.relId = val.id;
|
||||
this.isImportUdi = true;
|
||||
this.thisData = val;
|
||||
this.selectLocalVisible = true;
|
||||
},
|
||||
|
||||
|
||||
intentImportUdi() {
|
||||
this.relId = null;
|
||||
this.selectLocalVisible = true;
|
||||
},
|
||||
|
||||
|
||||
handleSelectionChange(val) {
|
||||
this.multipleSelection = val;
|
||||
},
|
||||
|
||||
cancelDialog() {
|
||||
this.editDialogVisible = false;
|
||||
},
|
||||
handleCurrentChange(val) {
|
||||
this.filterQuery.page = val.page;
|
||||
this.getList();
|
||||
},
|
||||
handleModifyClick(row) {
|
||||
this.uuid = row.uuid;
|
||||
this.relId = row.rlId;
|
||||
this.isImport = false;
|
||||
this.thisData = row;
|
||||
this.editDialogVisible = true;
|
||||
this.detailQuery = row;
|
||||
this.relevanceEdit = {
|
||||
id: row.rlId,
|
||||
// thirdId: row.thirdId,
|
||||
isUseDy: row.isUseDy,
|
||||
isDisable: row.isDisable,
|
||||
isLock: row.isLock,
|
||||
isAdavence: row.isAdavence,
|
||||
};
|
||||
this.checked = row.isUseDy == 1;
|
||||
},
|
||||
|
||||
|
||||
deleteClick(row) {
|
||||
this.$confirm("是否删除?", "提示", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning",
|
||||
}).then(() => {
|
||||
this.productLoading = true;
|
||||
let tquery = {
|
||||
id: row.id,
|
||||
};
|
||||
deleteCompanyProductRelevance(tquery)
|
||||
.then((response) => {
|
||||
this.productLoading = false;
|
||||
if (response.code === 20000) {
|
||||
this.getList();
|
||||
this.$message({
|
||||
type: "success",
|
||||
message: "删除成功!",
|
||||
});
|
||||
} else {
|
||||
this.$message.error(response.message);
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
this.productLoading = false;
|
||||
});
|
||||
}).catch(() => {
|
||||
});
|
||||
},
|
||||
|
||||
|
||||
lockProducts(status) {
|
||||
let selectData = this.multipleSelection;
|
||||
let postQuery = {
|
||||
ids: [],
|
||||
lockStatus: status,
|
||||
}
|
||||
selectData.forEach((row) => {
|
||||
postQuery.ids.push(row.rlId);
|
||||
});
|
||||
lockStatus(postQuery)
|
||||
.then((response) => {
|
||||
if (response.code == 20000) {
|
||||
this.loading = false;
|
||||
this.$message.success(response.data);
|
||||
this.getList();
|
||||
} else {
|
||||
this.$message.error(response.message);
|
||||
}
|
||||
|
||||
})
|
||||
.catch(() => {
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
closeUdi(val) {
|
||||
this.selectUdiDialogVisible = false;
|
||||
this.selectErpDialogVisible = false;
|
||||
this.selectLocalVisible = false;
|
||||
this.getThirdSysDetail();
|
||||
if (val) {
|
||||
this.getList();
|
||||
}
|
||||
},
|
||||
getThirdSysDetail() {
|
||||
let query = {
|
||||
id: this.relevanceEdit.id,
|
||||
};
|
||||
|
||||
thirdSysDetail(query)
|
||||
.then((response) => {
|
||||
this.loading = false;
|
||||
this.sysList = response.data.list || [];
|
||||
})
|
||||
.catch(() => {
|
||||
this.loading = false;
|
||||
this.sysList = [];
|
||||
});
|
||||
},
|
||||
getSysFilter() {
|
||||
sysFilter()
|
||||
.then((response) => {
|
||||
this.loading = false;
|
||||
this.filterList = response.data.list || [];
|
||||
})
|
||||
.catch(() => {
|
||||
this.loading = false;
|
||||
this.filterList = [];
|
||||
});
|
||||
|
||||
},
|
||||
|
||||
|
||||
uploadErpProduct() {
|
||||
updateErpProduct()
|
||||
.then((response) => {
|
||||
if (response.code == 20000) {
|
||||
this.$message({
|
||||
type: "success",
|
||||
message: response.data,
|
||||
});
|
||||
} else {
|
||||
this.$message.error(response.message);
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
});
|
||||
},
|
||||
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;
|
||||
},
|
||||
onAddSubmit() {
|
||||
if (this.checked == true) {
|
||||
this.relevanceEdit.isUseDy = 1;
|
||||
} else {
|
||||
this.relevanceEdit.isUseDy = 0;
|
||||
}
|
||||
this.relevanceEdit.isDisable = this.editQuery.isDisable;
|
||||
this.relevanceEdit.isLock = this.editQuery.isLock;
|
||||
this.relevanceEdit.isAdavence = this.editQuery.isAdavence;
|
||||
updatetUdiInfos(this.relevanceEdit)
|
||||
.then((response) => {
|
||||
this.loading = false;
|
||||
this.getList();
|
||||
this.cancelDialog();
|
||||
})
|
||||
.catch(() => {
|
||||
this.loading = false;
|
||||
this.cancelDialog();
|
||||
});
|
||||
},
|
||||
|
||||
selectSysParam() {
|
||||
let query = {
|
||||
paramKey: "smp_isUploadProuct",
|
||||
};
|
||||
|
||||
spcombie().then((response) => {
|
||||
if (response.code == 20000) {
|
||||
if (response.data.paramValue == "1") {
|
||||
this.isSpCombine = true;
|
||||
} else {
|
||||
this.isSpCombine = false;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
selectSysParamByKey(query).then((response) => {
|
||||
if (response.code == 20000) {
|
||||
if (response.data.paramValue == "1") {
|
||||
this.isUploadSmp = true;
|
||||
} else {
|
||||
this.isUploadSmp = false;
|
||||
}
|
||||
}
|
||||
});
|
||||
let query1 = {
|
||||
paramKey: "upload_pi_file_enabled",
|
||||
};
|
||||
selectSysParamByKey(query1).then((response) => {
|
||||
if (response.code == 20000) {
|
||||
if (response.data.paramValue == "1") {
|
||||
this.isImportFile = true;
|
||||
}
|
||||
}
|
||||
});
|
||||
let query2 = {
|
||||
paramKey: "upload_pi_file_url",
|
||||
};
|
||||
selectSysParamByKey(query2).then((response) => {
|
||||
if (response.code == 20000) {
|
||||
this.uploadFileUrl = response.data.paramValue;
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
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 = [];
|
||||
});
|
||||
},
|
||||
selectProduct() {
|
||||
if (this.$isBlank(this.filterQuery.unitFk)) {
|
||||
this.$message.error("请先选择供应商!");
|
||||
return;
|
||||
}
|
||||
this.selectProductVisible = true;
|
||||
},
|
||||
|
||||
}
|
||||
,
|
||||
mounted() {
|
||||
}
|
||||
,
|
||||
components: {
|
||||
selectUdi,
|
||||
selectErp,
|
||||
selectLocalUdi,
|
||||
selectProduct,
|
||||
selectDetail
|
||||
}
|
||||
,
|
||||
created() {
|
||||
// this.getList();
|
||||
this.selectSysParam();
|
||||
this.getSysFilter();
|
||||
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>
|
@ -0,0 +1,583 @@
|
||||
<template>
|
||||
<div>
|
||||
<div style="display: flex; width: 100%;">
|
||||
<!--<el-checkbox v-model="checked" class="checkitemTag"-->
|
||||
<!-->是否关联第三方产品信息-->
|
||||
<!--</el-checkbox-->
|
||||
<!-->-->
|
||||
<span class="checkitemTag"></span>
|
||||
<el-button
|
||||
style="margin-right: 20px;float: right"
|
||||
type="primary"
|
||||
size="mini"
|
||||
icon="search"
|
||||
@click="combine"
|
||||
>选入
|
||||
</el-button
|
||||
>
|
||||
</div>
|
||||
|
||||
<el-card class="el-card" v-if="checked">
|
||||
<div>
|
||||
<el-form :inline="true" :model="erpQuery" size="mini">
|
||||
<el-row>
|
||||
<el-form-item class="query-form-item">
|
||||
<el-input
|
||||
v-model="erpQuery.code"
|
||||
placeholder="产品编码/商品条码/医保编码"
|
||||
clearable="true"
|
||||
@keyup.enter.native="keyupErp_submit($event)"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item class="query-form-item">
|
||||
<el-input v-model="erpQuery.name"
|
||||
clearable="true"
|
||||
placeholder="产品名称"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item class="query-form-item">
|
||||
<el-input v-model="erpQuery.registerNo"
|
||||
clearable="true"
|
||||
placeholder="注册/备案凭证号"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item class="query-form-item">
|
||||
<el-input v-model="erpQuery.manufactory"
|
||||
clearable="true"
|
||||
placeholder="生产厂家"></el-input>
|
||||
</el-form-item>
|
||||
</el-row>
|
||||
|
||||
<el-row>
|
||||
<el-form-item class="query-form-item">
|
||||
<el-input
|
||||
v-model="erpQuery.spec"
|
||||
clearable="true"
|
||||
placeholder="规格型号"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item class="query-form-item">
|
||||
<el-select v-model="thirdSysFk" placeholder="请选择第三方系统" disabled="true">
|
||||
<el-option
|
||||
v-for="item in thirdSys"
|
||||
:key="item.value"
|
||||
:label="item.thirdName"
|
||||
|
||||
:value="item.thirdId">
|
||||
<span style="float: left">{{ item.thirdName }}</span>
|
||||
<span style="float: right; color: #8492a6; font-size: 13px">{{ item.thirdId }}</span>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item style="display: flex">
|
||||
<el-button type="primary" icon="el-icon-refresh" @click="onReset"></el-button>
|
||||
<el-button type="primary" icon="search" @click="searchErpList">查询</el-button>
|
||||
</el-form-item>
|
||||
</el-row>
|
||||
</el-form>
|
||||
|
||||
<el-table
|
||||
:data="erpList"
|
||||
style="width: 100%"
|
||||
highlight-current-row="true"
|
||||
v-loading="erpLloading"
|
||||
|
||||
@current-change="handleErpChange"
|
||||
>
|
||||
<!-- :row-class-name="tableRowClassName"-->
|
||||
<el-table-column label="序号" type="index"></el-table-column>
|
||||
<el-table-column label="产品编码" prop="code"></el-table-column>
|
||||
<el-table-column label="产品名称" prop="name"></el-table-column>
|
||||
<el-table-column label="计量单位" prop="measname"></el-table-column>
|
||||
<el-table-column label="规格型号" prop="spec"></el-table-column>
|
||||
<el-table-column label="注册/备案凭证号" prop="registerNo"></el-table-column>
|
||||
<el-table-column label="生产厂家" prop="manufactory"></el-table-column>
|
||||
</el-table>
|
||||
<el-pagination
|
||||
:page-size="erpQuery.limit"
|
||||
@current-change="handleErpPageChange"
|
||||
layout="prev, pager, next"
|
||||
:total="pageTotal"
|
||||
:curret-page="erpQuery.page"
|
||||
></el-pagination>
|
||||
</div>
|
||||
</el-card>
|
||||
|
||||
<el-card class="el-card">
|
||||
<div>
|
||||
<el-form :inline="true" :model="unionQuery" size="mini">
|
||||
<el-row>
|
||||
<el-form-item class="query-form-item">
|
||||
<el-input
|
||||
v-model="unionQuery.nameCode"
|
||||
size="mini"
|
||||
placeholder="请输入完整DI"
|
||||
clearable="true"
|
||||
@keyup.enter.native="keyup_submit($event)"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item class="query-form-item">
|
||||
<el-select
|
||||
v-model="unionQuery.ylqxzcrbarmc"
|
||||
filterable
|
||||
remote
|
||||
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-form-item class="query-form-item">
|
||||
<el-input
|
||||
:disabled="unionQuery.ylqxzcrbarmc==null || unionQuery.ylqxzcrbarmc==''"
|
||||
v-model="unionQuery.cpmctymc"
|
||||
size="mini"
|
||||
clearable="true"
|
||||
placeholder="器械通用名称"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
|
||||
|
||||
</el-row>
|
||||
<el-row>
|
||||
<el-form-item class="query-form-item">
|
||||
<el-input
|
||||
v-model="unionQuery.ggxh"
|
||||
placeholder="规格型号"
|
||||
clearable="true"
|
||||
size="mini"
|
||||
:disabled="(unionQuery.cpmctymc=='' && unionQuery.nameCode=='' && (unionQuery.ylqxzcrbarmc==null || unionQuery.ylqxzcrbarmc==''))"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item class="query-form-item">
|
||||
<el-input
|
||||
v-model="unionQuery.zczbhhzbapzbh"
|
||||
clearable="true"
|
||||
:disabled="(unionQuery.cpmctymc=='' && unionQuery.nameCode=='' && (unionQuery.ylqxzcrbarmc==null || unionQuery.ylqxzcrbarmc==''))"
|
||||
placeholder="注册/备案凭证号"
|
||||
size="mini"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item class="query-form-item">
|
||||
<el-button-group>
|
||||
<el-button type="primary" icon="search" @click="serchList" size="mini"
|
||||
>查询
|
||||
</el-button
|
||||
>
|
||||
</el-button-group>
|
||||
</el-form-item>
|
||||
</el-row>
|
||||
|
||||
</el-form>
|
||||
|
||||
<el-table
|
||||
:data="udidlList"
|
||||
style="width: 100%"
|
||||
@row-click="intentDetail"
|
||||
v-loading="loading"
|
||||
:row-class-name="tableRowClassName"
|
||||
@selection-change="handleSelectionUdiChange"
|
||||
>
|
||||
<el-table-column
|
||||
type="selection"
|
||||
width="55"
|
||||
:selectable="checkSelectable"
|
||||
></el-table-column>
|
||||
<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="操作" fixed="right">
|
||||
<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 {combineUdi} from "@/api/basic/udiRelevance";
|
||||
import {getBasicThirdSys} from "@/api/basic/basicThirdSys";
|
||||
import {getInvbasdoc} from "@/api/basic/getErps";
|
||||
import selectDiDetail from "./SelectDIDetailDialog";
|
||||
|
||||
export default {
|
||||
name: "closeDialog",
|
||||
props: {
|
||||
closeDialog: {
|
||||
type: Function,
|
||||
required: true,
|
||||
},
|
||||
},
|
||||
|
||||
data() {
|
||||
return {
|
||||
erpQuery: {
|
||||
code: null,
|
||||
name: "",
|
||||
thirdSys: null,
|
||||
spec: null,
|
||||
manufactory: null,
|
||||
registerNo: null,
|
||||
page: 1,
|
||||
limit: 10,
|
||||
},
|
||||
unionQuery: {
|
||||
page: 1,
|
||||
limit: 20,
|
||||
nameCode: "",
|
||||
cpmctymc: "",
|
||||
ylqxzcrbarmc: null,
|
||||
ggxh: "",
|
||||
zczbhhzbapzbh: "",
|
||||
isCheck: 1
|
||||
},
|
||||
combineQuery: {
|
||||
thirdId: "",
|
||||
keys: [],
|
||||
thirdSys: null,
|
||||
manufactory: null,
|
||||
price: null,
|
||||
erpName: null,
|
||||
measname: null,
|
||||
},
|
||||
fromOptions: [],
|
||||
checked: true,
|
||||
udidlList: [],
|
||||
erpList: [],
|
||||
pageTotal: 1,
|
||||
total: 1,
|
||||
currentRow: null,
|
||||
loading: false,
|
||||
erpLloading: false,
|
||||
multipleUdiSelection: [],
|
||||
thirdSys: [],
|
||||
thirdSysFk: null,
|
||||
diDetails: null,
|
||||
selectDialog: false,
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
onReset() {
|
||||
this.$router.push({
|
||||
path: "",
|
||||
});
|
||||
this.erpQuery = {
|
||||
code: null,
|
||||
name: "",
|
||||
thirdSys: null,
|
||||
spec: null,
|
||||
manufactory: null,
|
||||
registerNo: null,
|
||||
page: 1,
|
||||
limit: 10,
|
||||
};
|
||||
this.getErpList();
|
||||
},
|
||||
serchList() {
|
||||
this.unionQuery.page = 1;
|
||||
this.getList();
|
||||
},
|
||||
getList() {
|
||||
if (
|
||||
this.unionQuery.nameCode == "" &&
|
||||
this.unionQuery.cpmctymc == "" &&
|
||||
this.unionQuery.ylqxzcrbarmc == "" &&
|
||||
this.unionQuery.ggxh == ""
|
||||
) {
|
||||
this.$message.warning("请输入查询条件");
|
||||
return;
|
||||
}
|
||||
this.loading = true;
|
||||
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;
|
||||
});
|
||||
},
|
||||
|
||||
checkSelectable(row) {
|
||||
return !row.check;
|
||||
},
|
||||
handleCurrentChange(val) {
|
||||
this.unionQuery.page = val;
|
||||
this.getList();
|
||||
},
|
||||
tableRowClassName({row}) {
|
||||
if (row.checked) return "warning-row";
|
||||
return "";
|
||||
},
|
||||
handleErpChange(val) {
|
||||
console.log(val);
|
||||
this.currentRow = val;
|
||||
// this.unionQuery.cpmctymc = this.currentRow.name;
|
||||
// this.unionQuery.zczbhhzbapzbh = this.currentRow.registerNo;
|
||||
// this.unionQuery.ggxh = this.currentRow.spec;
|
||||
},
|
||||
diDetail(row) {
|
||||
this.diDetails = row;
|
||||
this.selectDialog = true;
|
||||
},
|
||||
searchErpList() {
|
||||
this.erpQuery.page = 1;
|
||||
this.getErpList();
|
||||
},
|
||||
handleErpPageChange(val) {
|
||||
this.erpQuery.page = val;
|
||||
this.getErpList();
|
||||
},
|
||||
getErpList() {
|
||||
this.erplLoading = true;
|
||||
this.erpQuery.thirdSys = this.thirdSysFk;
|
||||
getInvbasdoc(this.erpQuery)
|
||||
.then((response) => {
|
||||
this.erplLoading = false;
|
||||
if (response.code == 20000) {
|
||||
this.erpList = response.data.list || [];
|
||||
this.pageTotal = response.data.total || 0;
|
||||
} else {
|
||||
this.$message.error(response.message);
|
||||
this.erpList = [];
|
||||
this.pageTotal = 0;
|
||||
}
|
||||
|
||||
})
|
||||
.catch(() => {
|
||||
this.erplLoading = false;
|
||||
this.erpList = [];
|
||||
this.pageTotal = 0;
|
||||
});
|
||||
},
|
||||
keyupErp_submit(event) {
|
||||
this.erpQuery.page = 1;
|
||||
this.getErpList();
|
||||
event.target.select();
|
||||
},
|
||||
intentBack() {
|
||||
this.$router.go(-1);
|
||||
},
|
||||
|
||||
confirmCombine(ids) {
|
||||
this.combineQuery.keys = ids;
|
||||
this.combineQuery.thirdSys = this.thirdSysFk;
|
||||
if (this.checked) {
|
||||
this.combineQuery.thirdId = this.currentRow.code;
|
||||
this.combineQuery.erpName = this.currentRow.name;
|
||||
} else {
|
||||
this.combineQuery.thirdId = "";
|
||||
}
|
||||
this.combineQuery.manufactory = this.currentRow.manufactory;
|
||||
this.combineQuery.price = this.currentRow.price;
|
||||
this.combineQuery.measname = this.currentRow.measname;
|
||||
combineUdi(this.combineQuery)
|
||||
.then((response) => {
|
||||
if (response.code == 20000) {
|
||||
this.$emit("closeUdi", true);
|
||||
} else {
|
||||
// this.$emit("closeUdi", false);
|
||||
this.$message.warning(response.message);
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
this.$emit("closeUdi", false);
|
||||
|
||||
});
|
||||
},
|
||||
combine() {
|
||||
let selectData = this.multipleUdiSelection;
|
||||
var ids = [];
|
||||
selectData.forEach((obj) => {
|
||||
ids.push(obj.uuid);
|
||||
});
|
||||
|
||||
if (this.currentRow == null) {
|
||||
this.$message.warning("未选择第三方产品信息");
|
||||
return;
|
||||
}
|
||||
if (ids.length == 0) {
|
||||
this.$message.warning("未选择医疗器械产品信息");
|
||||
return;
|
||||
}
|
||||
console.log("this.currentRow.checked =" + this.currentRow.checked);
|
||||
if (this.currentRow != null && this.currentRow.checked) {
|
||||
|
||||
this.$confirm("产品编码:" + this.currentRow.code + "已被添加,是否继续添加", "提示", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning",
|
||||
})
|
||||
.then(() => {
|
||||
this.confirmCombine(ids);
|
||||
})
|
||||
.catch(() => {
|
||||
});
|
||||
return;
|
||||
} else {
|
||||
this.confirmCombine(ids);
|
||||
}
|
||||
},
|
||||
|
||||
intentDetail(row) {
|
||||
this.$emit("productInfo", row);
|
||||
this.closeDialog();
|
||||
},
|
||||
|
||||
handleSelectionUdiChange(val) {
|
||||
this.multipleUdiSelection = val;
|
||||
},
|
||||
|
||||
keyup_submit(event) {
|
||||
this.unionQuery.page = 1;
|
||||
this.getList();
|
||||
event.target.select();
|
||||
},
|
||||
|
||||
getBasicThirdSys() {
|
||||
let query = {
|
||||
enabled: true,
|
||||
mainSys: true,
|
||||
};
|
||||
getBasicThirdSys(query)
|
||||
.then((response) => {
|
||||
this.thirdSys = response.data.list || [];
|
||||
|
||||
this.thirdSysFk = this.thirdSys[0].thirdId;
|
||||
})
|
||||
.catch(() => {
|
||||
this.loading = false;
|
||||
this.list = [];
|
||||
});
|
||||
},
|
||||
findMethod(query) {
|
||||
console.log(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 = [];
|
||||
});
|
||||
},
|
||||
},
|
||||
created() {
|
||||
this.getBasicThirdSys();
|
||||
},
|
||||
components: {
|
||||
selectDiDetail,
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.checkitemTag {
|
||||
float: left;
|
||||
text-align: left;
|
||||
margin-top: 5px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.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;
|
||||
}
|
||||
|
||||
div /deep/ .el-table .warning-row {
|
||||
background: #bebebe;
|
||||
}
|
||||
|
||||
div /deep/ .el-table .success-row {
|
||||
background: #ffffff;
|
||||
}
|
||||
</style>
|
@ -0,0 +1,683 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-card class="el-card">
|
||||
<div>
|
||||
<el-form :inline="true" :model="erpQuery" style="display: flex;" size="mini">
|
||||
<el-row>
|
||||
<el-form-item class="query-form-item">
|
||||
<el-input
|
||||
v-model="erpQuery.code"
|
||||
placeholder="产品编码/商品条码/医保编码" clearable="true"
|
||||
@keyup.enter.native="keyupErp_submit($event)"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item class="query-form-item">
|
||||
<el-input
|
||||
v-model="erpQuery.name"
|
||||
placeholder="产品名称" clearable="true"
|
||||
@keyup.enter.native="keyup_submit($event)"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item class="query-form-item">
|
||||
<el-input
|
||||
v-model="erpQuery.spec"
|
||||
placeholder="规格型号" clearable="true"
|
||||
@keyup.enter.native="keyupErp_submit($event)"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item class="query-form-item">
|
||||
<el-input
|
||||
v-model="erpQuery.registerNo" clearable="true"
|
||||
placeholder="注册/备案凭证号"
|
||||
@keyup.enter.native="keyup_submit($event)"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item class="query-form-item">
|
||||
<el-input
|
||||
v-model="erpQuery.manufactory" clearable="true"
|
||||
placeholder="生产厂家"
|
||||
@keyup.enter.native="keyup_submit($event)"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item class="query-form-item">
|
||||
<el-input
|
||||
v-model="erpQuery.supName" clearable="true"
|
||||
placeholder="配送企业"
|
||||
@keyup.enter.native="keyup_submit($event)"
|
||||
></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item class="query-form-item">
|
||||
<el-select v-model="thirdSysFk" placeholder="请设置主系统" disabled="isImport">
|
||||
<el-option
|
||||
v-for="item in thirdSys"
|
||||
:key="item.value"
|
||||
:label="item.thirdName"
|
||||
:value="item.thirdId">
|
||||
<span style="float: left">{{ item.thirdName }}</span>
|
||||
<span
|
||||
style="float: right; color: #8492a6; font-size: 13px">{{ item.thirdId }}</span>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
|
||||
|
||||
<el-form-item style="display: flex">
|
||||
<el-button-group>
|
||||
<el-button type="primary" icon="el-icon-refresh" @click="onReset"></el-button>
|
||||
<el-button type="primary" icon="search" @click="searchErpList">查询</el-button>
|
||||
<el-button type="primary" icon="search" @click="combine" :loading="combineLoading"
|
||||
>选入
|
||||
</el-button
|
||||
>
|
||||
<el-button type="primary" icon="search" @click="combineAll"
|
||||
v-if="isImport && !supEnable"
|
||||
>结果全部选入
|
||||
</el-button
|
||||
>
|
||||
</el-button-group>
|
||||
</el-form-item>
|
||||
</el-row>
|
||||
</el-form>
|
||||
<el-table
|
||||
:data="erpList"
|
||||
style="width: 100%"
|
||||
highlight-current-row="true"
|
||||
v-loading="erpLloading"
|
||||
@current-change="handleErpChange"
|
||||
@selection-change="handleSelectionChange"
|
||||
>
|
||||
<el-table-column
|
||||
v-if="isImport"
|
||||
type="selection"
|
||||
width="55"
|
||||
></el-table-column>
|
||||
<el-table-column label="序号" type="index"></el-table-column>
|
||||
<el-table-column label="产品编码" prop="code"></el-table-column>
|
||||
<el-table-column label="产品名称" prop="name"></el-table-column>
|
||||
<el-table-column label="计量单位" prop="measname"></el-table-column>
|
||||
<el-table-column label="规格型号" prop="spec"></el-table-column>
|
||||
<el-table-column label="注册/备案凭证号" prop="registerNo"></el-table-column>
|
||||
<el-table-column label="生产厂家" prop="manufactory"></el-table-column>
|
||||
<el-table-column label="配送企业" prop="supName"></el-table-column>
|
||||
</el-table>
|
||||
<el-pagination
|
||||
:page-size="erpQuery.limit"
|
||||
@current-change="handleErpPageChange"
|
||||
layout="prev, pager, next"
|
||||
:total="pageTotal"
|
||||
:current-page="erpQuery.page"
|
||||
></el-pagination>
|
||||
</div>
|
||||
</el-card>
|
||||
|
||||
<el-card class="el-card" v-if="!isImport">
|
||||
<div v-if="!isImport" style="margin-bottom: 20px">
|
||||
<el-row :gutter="20" class="el-row" type="flex">
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>产品名称: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
:disabled="true"
|
||||
v-model="data.cpmctymc"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>产品标识: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="true"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="data.nameCode"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
|
||||
|
||||
</el-row>
|
||||
<el-row :gutter="20" class="el-row" type="flex">
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>规格型号: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="true"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="data.ggxh"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>医疗器械注册人: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="true"
|
||||
size="small"
|
||||
splaceholder="ylqxzcrbarmc"
|
||||
v-model="data.ylqxzcrbarmc"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
|
||||
</el-row>
|
||||
<el-row :gutter="20" class="el-row" type="flex">
|
||||
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>注册人英文名称: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="true"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="data.ylqxzcrbarywmc"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>器械类别: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="true"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="data.qxlb"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20" class="el-row" type="flex">
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>产品类别: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="true"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="data.cplb"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>分类编码: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="true"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="data.flbm"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
|
||||
</el-row>
|
||||
<el-row :gutter="20" class="el-row" type="flex">
|
||||
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>商品条码: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="true"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="data.sptm"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>医保编码: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="true"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="data.ybbm"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20" class="el-row" type="flex">
|
||||
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>统一社会信用号: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="true"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="data.tyshxydm"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>注册证/备案号: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="true"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="data.zczbhhzbapzbh"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
</el-card>
|
||||
</div>
|
||||
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {modifyRel, addErp, addAllErp,combineUdi} from "@/api/basic/udiRelevance";
|
||||
import {getInvbasdoc} from "@/api/basic/getErps";
|
||||
import {getBasicThirdSys} from "@/api/basic/basicThirdSys";
|
||||
|
||||
export default {
|
||||
name: "closeDialog",
|
||||
props: {
|
||||
uuid: {
|
||||
type: Object,
|
||||
required: true,
|
||||
},
|
||||
|
||||
data: {
|
||||
type: Object,
|
||||
required: true,
|
||||
},
|
||||
|
||||
relId: {
|
||||
type: Number,
|
||||
required: true,
|
||||
},
|
||||
|
||||
isImport: {
|
||||
type: Boolean,
|
||||
required: true,
|
||||
},
|
||||
|
||||
closeDialog: {
|
||||
type: Function,
|
||||
required: true,
|
||||
},
|
||||
defaultSys: {
|
||||
type: Object,
|
||||
required: true,
|
||||
},
|
||||
supEnable: {
|
||||
type: Object,
|
||||
required: true,
|
||||
},
|
||||
intentThirdId: {
|
||||
type: Object,
|
||||
required: true,
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
data() {
|
||||
return {
|
||||
erpQuery: {
|
||||
code: null,
|
||||
name: null,
|
||||
spec: null,
|
||||
registerNo: null,
|
||||
manufactory: null,
|
||||
thirdSys: null,
|
||||
supName: null,
|
||||
measname: null,
|
||||
page: 1,
|
||||
limit: 10,
|
||||
|
||||
},
|
||||
combineLoading: false,
|
||||
combineQuery: {
|
||||
thirdId: "",
|
||||
relId: "",
|
||||
erpName: "",
|
||||
keys: [],
|
||||
thirdIds: [],
|
||||
thirdSys: null,
|
||||
query: null,
|
||||
isRlInv: null,
|
||||
manufactory: null,
|
||||
measname: null,
|
||||
ybbm: null,
|
||||
sptm: null,
|
||||
},
|
||||
|
||||
udidlList: [],
|
||||
erpList: [],
|
||||
pageTotal: 1,
|
||||
total: 1,
|
||||
currentRow: null,
|
||||
loading: false,
|
||||
erpLloading: false,
|
||||
multipleUdiSelection: [],
|
||||
thirdSys: [],
|
||||
thirdSysFk: null,
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
onReset() {
|
||||
this.$router.push({
|
||||
path: "",
|
||||
});
|
||||
this.erpQuery = {
|
||||
code: null,
|
||||
name: null,
|
||||
spec: null,
|
||||
registerNo: null,
|
||||
manufactory: null,
|
||||
thirdSys: null,
|
||||
supName: null,
|
||||
measname: null,
|
||||
page: 1,
|
||||
limit: 10,
|
||||
};
|
||||
this.getErpList();
|
||||
},
|
||||
tableRowClassName({row}) {
|
||||
if (row.checked) return "warning-row";
|
||||
return "";
|
||||
},
|
||||
checkSelectable(row) {
|
||||
return !row.checked;
|
||||
},
|
||||
handleCurrentChange(val) {
|
||||
this.unionQuery.page = val;
|
||||
this.getList();
|
||||
},
|
||||
handleErpChange(val) {
|
||||
console.log(val);
|
||||
this.currentRow = val;
|
||||
},
|
||||
handleErpPageChange(val) {
|
||||
this.erpQuery.page = val;
|
||||
this.getErpList();
|
||||
},
|
||||
|
||||
searchErpList() {
|
||||
this.erpQuery.page = 1;
|
||||
this.getErpList();
|
||||
},
|
||||
|
||||
keyup_submit(event) {
|
||||
|
||||
this.erpQuery.page = 1;
|
||||
this.getErpList();
|
||||
event.target.select();
|
||||
},
|
||||
getErpList() {
|
||||
this.erplLoading = true;
|
||||
this.erpQuery.thirdSys = this.thirdSysFk;
|
||||
getInvbasdoc(this.erpQuery)
|
||||
.then((response) => {
|
||||
this.erplLoading = false;
|
||||
if (response.code == 20000) {
|
||||
this.erpList = response.data.list || [];
|
||||
this.pageTotal = response.data.total || 0;
|
||||
} else {
|
||||
this.$message.error(response.message);
|
||||
this.erpList = [];
|
||||
this.pageTotal = 0;
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
this.erplLoading = false;
|
||||
this.erpList = [];
|
||||
this.pageTotal = 0;
|
||||
});
|
||||
},
|
||||
intentBack() {
|
||||
this.closeDialog();
|
||||
},
|
||||
|
||||
combineAll() {
|
||||
|
||||
this.$confirm("此操作将在后台自动下载所有查询结果, 是否继续?", "提示", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning",
|
||||
})
|
||||
.then(() => {
|
||||
this.combineQuery.thirdSys = this.thirdSysFk;
|
||||
this.combineQuery.query = this.erpQuery;
|
||||
addAllErp(this.combineQuery)
|
||||
.then((response) => {
|
||||
if (response.code == 20000) {
|
||||
this.$message.success(response.data);
|
||||
this.$emit("closeUdi", true);
|
||||
} else {
|
||||
this.$message.error(response.message);
|
||||
this.$emit("closeUdi", false);
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
this.$emit("closeUdi", false);
|
||||
});
|
||||
})
|
||||
.catch(() => {
|
||||
});
|
||||
|
||||
|
||||
},
|
||||
|
||||
combine() {
|
||||
this.combineQuery.query = null;
|
||||
this.combineQuery.relId = this.relId;
|
||||
this.combineQuery.thirdSys = this.thirdSysFk;
|
||||
this.combineQuery.supEnable = this.supEnable;
|
||||
if (this.isImport) {
|
||||
this.combineQuery.thirdId = null;
|
||||
let selectData = this.multipleUdiSelection;
|
||||
let selected = '';
|
||||
selectData.forEach((row) => {
|
||||
|
||||
if (row.checked) {
|
||||
selected = selected + row.code + ",";
|
||||
}
|
||||
this.combineQuery.thirdIds.push(row.code);
|
||||
this.combineQuery.manufactory = row.manufactory;
|
||||
this.combineQuery.measname = row.measname;
|
||||
|
||||
});
|
||||
if (this.currentRow != null) {
|
||||
this.combineQuery.manufactory = this.currentRow.manufactory;
|
||||
this.combineQuery.measname = this.currentRow.measname;
|
||||
}
|
||||
|
||||
|
||||
if (selectData.length == 0) {
|
||||
this.$message.warning("未选择产品");
|
||||
return;
|
||||
}
|
||||
if (selected != '') {
|
||||
this.$confirm("产品编码:" + selected + "已被添加,是否继续添加", "提示", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning",
|
||||
})
|
||||
.then(() => {
|
||||
this.combineLoading = true;
|
||||
combineUdi(this.combineQuery)
|
||||
.then((response) => {
|
||||
this.combineLoading = false;
|
||||
if (response.code == 20000) {
|
||||
this.$emit("closeUdi", true);
|
||||
this.$message.success(response.data);
|
||||
} else {
|
||||
this.$message.error(response.message);
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
this.combineLoading = false;
|
||||
this.combineQuery.thirdIds = [];
|
||||
this.$emit("closeUdi", false);
|
||||
|
||||
});
|
||||
})
|
||||
.catch(() => {
|
||||
this.combineQuery.thirdIds = [];
|
||||
});
|
||||
} else {
|
||||
combineUdi(this.combineQuery)
|
||||
.then((response) => {
|
||||
this.combineLoading = false;
|
||||
if (response.code == 20000) {
|
||||
this.$emit("closeUdi", true);
|
||||
this.$message.success(response.data);
|
||||
} else {
|
||||
this.$emit("closeUdi", false);
|
||||
this.$message.warning(response.message);
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
this.combineLoading = false;
|
||||
this.$emit("closeUdi", false);
|
||||
});
|
||||
}
|
||||
|
||||
} else {
|
||||
this.combineQuery.thirdId = this.currentRow.code;
|
||||
this.combineQuery.erpName = this.currentRow.name;
|
||||
this.combineQuery.manufactory = this.currentRow.manufactory;
|
||||
this.combineQuery.measname = this.currentRow.measname;
|
||||
this.combineQuery.ybbm = this.currentRow.ybbm;
|
||||
this.combineQuery.sptm = this.currentRow.sptm;
|
||||
this.erpQuery.manufactory = this.currentRow.manufactory;
|
||||
this.erpQuery.measname = this.currentRow.measname;
|
||||
this.combineQuery.price = this.currentRow.price;
|
||||
|
||||
|
||||
if (this.currentRow.checked) {
|
||||
|
||||
this.$confirm("产品编码:" + this.currentRow.code + "已被选入,是否继续选入", "提示", {
|
||||
confirmButtonText: "确定",
|
||||
cancelButtonText: "取消",
|
||||
type: "warning",
|
||||
})
|
||||
.then(() => {
|
||||
this.combineLoading = true;
|
||||
modifyRel(this.combineQuery)
|
||||
.then((response) => {
|
||||
this.combineLoading = false;
|
||||
if (response.code == 20000) {
|
||||
this.$emit("closeUdi", true);
|
||||
} else {
|
||||
this.$emit("closeUdi", false);
|
||||
this.$message.error(response.message);
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
this.combineLoading = false;
|
||||
this.$emit("closeUdi", false);
|
||||
});
|
||||
})
|
||||
} else {
|
||||
this.combineLoading = true;
|
||||
modifyRel(this.combineQuery)
|
||||
.then((response) => {
|
||||
this.combineLoading = false;
|
||||
if (response.code == 20000) {
|
||||
this.$emit("closeUdi", true);
|
||||
} else {
|
||||
this.$emit("closeUdi", false);
|
||||
this.$message.error(response.message);
|
||||
}
|
||||
})
|
||||
.catch(() => {
|
||||
this.combineLoading = false;
|
||||
this.$emit("closeUdi", false);
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
},
|
||||
|
||||
handleSelectionChange(val) {
|
||||
console.log("----" + val);
|
||||
this.multipleUdiSelection = val;
|
||||
},
|
||||
getBasicThirdSys() {
|
||||
let query = {
|
||||
enabled: true,
|
||||
mainSys: false,
|
||||
filter: true,
|
||||
};
|
||||
if (this.isImport) {
|
||||
query.mainSys = true;
|
||||
}
|
||||
getBasicThirdSys(query)
|
||||
.then((response) => {
|
||||
this.thirdSys = response.data.list || [];
|
||||
this.thirdSysFk = this.thirdSys[0].thirdId;
|
||||
if (this.defaultSys != null) {
|
||||
this.thirdSysFk = this.defaultSys;
|
||||
}
|
||||
this.searchErpList();
|
||||
|
||||
})
|
||||
.catch(() => {
|
||||
this.loading = false;
|
||||
this.list = [];
|
||||
});
|
||||
},
|
||||
},
|
||||
created() {
|
||||
console.log("-------------" + this.uuid);
|
||||
this.getBasicThirdSys();
|
||||
this.erpQuery.code = this.intentThirdId;
|
||||
|
||||
},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
|
||||
div /deep/ .el-table .warning-row {
|
||||
background: #bebebe;
|
||||
}
|
||||
|
||||
div /deep/ .el-table .success-row {
|
||||
background: #ffffff;
|
||||
}
|
||||
</style>
|
@ -0,0 +1,621 @@
|
||||
<template>
|
||||
<div>
|
||||
<el-card>
|
||||
<el-table :data="sysList" style="width: 100%" key="2" border>
|
||||
<el-table-column label="序号" type="index"></el-table-column>
|
||||
<el-table-column label="系统名称" prop="sysName" show-overflow-tooltip></el-table-column>
|
||||
<el-table-column label="产品编码" prop="thirdId" show-overflow-tooltip></el-table-column>
|
||||
<el-table-column label="产品名称" prop="thirdName" show-overflow-tooltip></el-table-column>
|
||||
<el-table-column label="规格型号" prop="spec" show-overflow-tooltip></el-table-column>
|
||||
<el-table-column label="注册/备案凭证号" prop="registerNo" show-overflow-tooltip></el-table-column>
|
||||
<el-table-column label="生产厂家" prop="manufactory" show-overflow-tooltip></el-table-column>
|
||||
</el-table>
|
||||
|
||||
|
||||
<el-table v-loading="loading" :data="detailList" style="width: 100%; margin-top: 20px" border key="3" @current-change="handleDetail">
|
||||
<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="packLevel" show-overflow-tooltip></el-table-column>
|
||||
<el-table-column label="包装层级" prop="bzcj" show-overflow-tooltip></el-table-column>
|
||||
</el-table>
|
||||
|
||||
<el-form :model="detailQuery" :rules="rules" ref="detailQuery" label-width="100px" style="margin-top: 20px">
|
||||
<el-collapse v-model="activeNames">
|
||||
<el-collapse-item name="1">
|
||||
<template slot="title">
|
||||
<p class="form-title">产品标识基本信息</p>
|
||||
</template>
|
||||
<el-row :gutter="20" class="el-row" type="flex">
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>产品标识: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="true"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="detailQuery.nameCode"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>最小包装单元内包含使用单元数量: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="!checked"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="detailQuery.zxxsbzbhsydysl"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row :gutter="20" class="el-row" type="flex">
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>包含下级产品编码: </span>
|
||||
</div>
|
||||
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
size="small"
|
||||
:disabled="true"
|
||||
splaceholder="请输入内容"
|
||||
v-model="detailQuery.bhxjcpbm"
|
||||
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>包含最小销售包装数量: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
size="small"
|
||||
:disabled="true"
|
||||
splaceholder="请输入内容"
|
||||
v-model="detailQuery.bhzxxsbzsl"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-collapse-item>
|
||||
|
||||
<el-collapse-item name="2">
|
||||
<template slot="title">
|
||||
<p class="form-title">产品基本信息</p>
|
||||
</template>
|
||||
<el-row :gutter="20" class="el-row" type="flex">
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>产品名称: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
:disabled="true"
|
||||
v-model="detailQuery.cpmctymc"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>产品标识: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="true"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="detailQuery.nameCode"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
|
||||
|
||||
</el-row>
|
||||
|
||||
<el-row :gutter="20" class="el-row" type="flex">
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>规格型号: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="true"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="detailQuery.ggxh"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>器械类别: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="true"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="detailQuery.qxlb"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20" class="el-row" type="flex">
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>产品类别: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="true"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="detailQuery.cplb"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>分类编码: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="true"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="detailQuery.flbm"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
|
||||
</el-row>
|
||||
<el-row :gutter="20" class="el-row" type="flex">
|
||||
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>商品条码: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="true"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="detailQuery.sptm"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>医保编码: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="true"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="detailQuery.ybbm"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20" class="el-row" type="flex">
|
||||
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>医疗器械注册人: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="true"
|
||||
size="small"
|
||||
splaceholder="ylqxzcrbarmc"
|
||||
v-model="detailQuery.ylqxzcrbarmc"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>注册人英文名称: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="true"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="detailQuery.ylqxzcrbarywmc"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
|
||||
</el-row>
|
||||
<el-row :gutter="20" class="el-row" type="flex">
|
||||
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>统一社会信用号: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="true"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="detailQuery.tyshxydm"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>注册证/备案号: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="true"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="detailQuery.zczbhhzbapzbh"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
<el-row :gutter="20" class="el-row" type="flex">
|
||||
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>生产厂家: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="!checked"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>产品描述: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="!checked"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="detailQuery.cpms"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
</el-collapse-item>
|
||||
|
||||
<el-collapse-item name="3">
|
||||
<template slot="title">
|
||||
<p class="form-title">生产标识基本信息</p>
|
||||
</template>
|
||||
<el-row :gutter="20" class="el-row" type="flex">
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>是否包含批号: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="!checked"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="detailQuery.scbssfbhph"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>是否包含序列号: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="!checked"
|
||||
size="small"
|
||||
v-model="detailQuery.scbssfbhxlh"
|
||||
splaceholder="请输入内容"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20" class="el-row" type="flex">
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>是否包含生产日期: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="!checked"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="detailQuery.scbssfbhscrq"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>是否包含失效日期: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="!checked"
|
||||
v-model="detailQuery.scbssfbhsxrq"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-collapse-item>
|
||||
|
||||
<el-collapse-item name="4">
|
||||
<template slot="title">
|
||||
<p class="form-title">包装标识信息</p>
|
||||
</template>
|
||||
<el-row :gutter="20" class="el-row" type="flex">
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>上级产品编码: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
:disabled="true"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="detailQuery.sjcpbm"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>包装级别: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
:disabled="true"
|
||||
v-model="detailQuery.packLevel"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row :gutter="20" class="el-row" type="flex">
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>包装单位/包装级别: </span>
|
||||
</div>
|
||||
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
v-model="detailQuery.bzcj"
|
||||
:disabled="true"
|
||||
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
|
||||
<el-col :span="12" class="el-col">
|
||||
<div class="text item">
|
||||
<div class="itemTag">
|
||||
<span>包含下级包装数量: </span>
|
||||
</div>
|
||||
<el-input
|
||||
style="width: 65%"
|
||||
size="small"
|
||||
splaceholder="请输入内容"
|
||||
:disabled="true"
|
||||
v-model="detailQuery.bhxjsl"
|
||||
></el-input>
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
|
||||
</el-collapse-item>
|
||||
|
||||
</el-collapse>
|
||||
|
||||
<el-row :gutter="20" class="el-row" type="flex">
|
||||
<el-col :span="24" class="el-col">
|
||||
<div style="margin-top: 18px;margin-bottom: 18px">
|
||||
<el-checkbox v-model="checked" disabled
|
||||
>启用使用单元
|
||||
</el-checkbox>
|
||||
<el-checkbox v-model="detailQuery.isDisable" disabled
|
||||
>是否禁用
|
||||
</el-checkbox>
|
||||
<el-checkbox v-model="detailQuery.isAdavence" disabled
|
||||
>是否寄售
|
||||
</el-checkbox>
|
||||
<el-checkbox v-model="detailQuery.allowNoBatch" disabled
|
||||
>允许无批次号
|
||||
</el-checkbox>
|
||||
<el-checkbox v-model="detailQuery.allowNoExpire" disabled
|
||||
>允许无失效日期
|
||||
</el-checkbox>
|
||||
<el-checkbox v-model="detailQuery.allowNoProduct" disabled
|
||||
>允许无生产日期
|
||||
</el-checkbox>
|
||||
</div>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-form>
|
||||
</el-card>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {filterDetail} from "@/api/basic/udiinfoImport";
|
||||
import {thirdSysDetail} from "@/api/basic/udiRelevance";
|
||||
import {filterByUuid} from "@/api/basic/udiInfo";
|
||||
|
||||
export default {
|
||||
name: "udilnfoManageSpDetail",
|
||||
props: {
|
||||
detailQuery: {
|
||||
type: Object,
|
||||
required: true,
|
||||
},
|
||||
relevanceEdit: {
|
||||
type: Object,
|
||||
required: true,
|
||||
},
|
||||
checked:{
|
||||
type: Boolean,
|
||||
required: true,
|
||||
},
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
sysList: [],
|
||||
detailList:[],
|
||||
relevanceEdit: {
|
||||
id: null,
|
||||
thirdId: "",
|
||||
isDisable: null,
|
||||
isUseDy: false,
|
||||
isLock: null,
|
||||
isAdavence: null,
|
||||
},
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
||||
getThirdSysDetail() {
|
||||
let query = {
|
||||
id: this.relevanceEdit.id,
|
||||
};
|
||||
|
||||
thirdSysDetail(query)
|
||||
.then((response) => {
|
||||
this.loading = false;
|
||||
this.sysList = response.data.list || [];
|
||||
})
|
||||
.catch(() => {
|
||||
this.loading = false;
|
||||
this.sysList = [];
|
||||
});
|
||||
},
|
||||
getDetailList() {
|
||||
let ttquery = {
|
||||
id: this.detailQuery.rlId
|
||||
};
|
||||
this.loading = true;
|
||||
filterByUuid(ttquery)
|
||||
.then((response) => {
|
||||
this.isUseDyCheck = false;
|
||||
this.loading = false;
|
||||
this.detailList = response.data || [];
|
||||
this.detailList.forEach((item, index, array) => {
|
||||
if (item.zxxsbzbhsydysl > 1) {
|
||||
this.isUseDyCheck = true;
|
||||
}
|
||||
});
|
||||
})
|
||||
.catch(() => {
|
||||
this.loading = false;
|
||||
this.detailList = [];
|
||||
});
|
||||
},
|
||||
},
|
||||
created() {
|
||||
this.getThirdSysDetail();
|
||||
this.getDetailList(this.detailQuery.id);
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.itemTag {
|
||||
float: left;
|
||||
text-align: right;
|
||||
margin-top: 5px;
|
||||
padding-right: 10px;
|
||||
width: 35%;
|
||||
}
|
||||
|
||||
.text {
|
||||
font-size: 13px;
|
||||
font-family: "Microsoft YaHei";
|
||||
}
|
||||
|
||||
.query-form-item {
|
||||
display: block !important;
|
||||
margin-right: 10px;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
.edit-row {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
|
||||
.el-row {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
margin-bottom: 6px;
|
||||
}
|
||||
|
||||
.el-col {
|
||||
border-radius: 4px;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.el-table .cell.el-tooltip {
|
||||
white-space: pre-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