10/14 基础数据优化1.0

dev_unify
wangwei 9 months ago
parent a915b64c34
commit 96e7d44285

@ -0,0 +1,52 @@
import axios from "@/utils/request";
export function addDrug(query) {
return axios({
url: "/udi/udirel/addDrug",
method: "post",
data: query
});
}
export function updatetDrug(query) {
return axios({
url: "/udi/udirel/updatetDrug",
method: "post",
data: query
});
}
export function updateLevelDrug(query) {
return axios({
url: "/udi/udirel/updateLevelDrug",
method: "post",
data: query
});
}
export function delDrugLevel(query) {
return axios({
url: "udi/udirel/drug/delLevel",
method: "post",
data: query
});
}
export function calculateDistCount(query) {
return axios({
url: "udi/udirel/calculateDistCount",
method: "post",
data: query
});
}
export function calculateUseCount(query) {
return axios({
url: "udi/udirel/calculateUseCount",
method: "post",
data: query
});
}

@ -50,3 +50,11 @@ export function selectOriginuuid(query) {
}
export function levelByUuid(query) {
return axios({
url: "/udiwms/udi/local/levelByUuid",
method: "get",
params: query
});
}

@ -0,0 +1,640 @@
<template>
<div>
<el-card class="el-card">
<el-form :model="erpQuery" label-width="120px" v-if="showSearch">
<el-row>
<el-col :span="6">
<el-form-item label="医保编码:">
<el-input v-model="erpQuery.ybbm" style="width: 90%" clearable="true" placeholder="请输入医保编码"
></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="物资编码:">
<el-input v-model="erpQuery.code" style="width: 90%" placeholder="请输入药品编码" clearable="true"
@keyup.enter.native="keyupErp_submit($event)"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="药品名称:">
<el-input v-model="erpQuery.name" style="width: 90%" placeholder="请输入药品名称" clearable="true"
@keyup.enter.native="keyup_submit($event)"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="规格/单位:">
<el-input v-model="erpQuery.spec" style="width: 90%" placeholder="包装/制剂 规格/单位" clearable="true"
@keyup.enter.native="keyupErp_submit($event)"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<el-form-item label="批准文号:">
<el-input v-model="erpQuery.registerNo" style="width: 90%" clearable="true" placeholder="请输入批准文号"
@keyup.enter.native="keyup_submit($event)"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="生产企业:">
<el-input v-model="erpQuery.manufactory" style="width: 90%" clearable="true" placeholder="请输入生产企业"
@keyup.enter.native="keyup_submit($event)"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="配送企业:">
<el-input v-model="erpQuery.supName" style="width: 90%" clearable="true" placeholder="请输入配送企业"
@keyup.enter.native="keyup_submit($event)"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="外部系统:">
<el-select v-model="thirdSysFk" style="width: 90%" 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 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="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-bottom-left" @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" border ref="multipleTable" @row-click="handleRowClick"
v-loading="erpLloading" @current-change="handleErpChange" @selection-change="handleSelectionChange">
<el-table-column v-if="isImport" type="selection" width="55" :selectable="checkSelectable"></el-table-column>
<el-table-column label width="45" v-if="!isImport">
<template slot-scope="scope">
<el-radio :label="scope.row.id" v-model="chenck" ><span></span></el-radio>
</template>
</el-table-column>
<!--<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="ybbm"></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="prepnSpec"></el-table-column>
<el-table-column label="制剂单位" prop="prepnUnit"></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-column label="操作" width="60">
<template slot-scope="scope">
<el-button type="text" @click.native.stop="detailDialog(scope.row)">详情</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="pageTotal>0"
:total="pageTotal"
:page.sync="erpQuery.page"
:limit.sync="erpQuery.limit"
@pagination="handleErpPageChange"
></pagination>
</el-card>
<el-card class="el-card" v-if="!isImport">
<el-form label-width="120px">
<el-row>
<el-col :span="12" class="el-col">
<el-form-item label="物资名称:">
<el-input style="width: 90%" size="small" splaceholder="请输入内容" :disabled="true"
v-model="data.cpmctymc"></el-input>
</el-form-item>
</el-col>
<el-col :span="12" class="el-col">
<el-form-item label="产品标识:">
<el-input style="width: 90%" :disabled="true" size="small" splaceholder="请输入内容"
v-model="data.nameCode"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12" class="el-col">
<el-form-item label="包装规格:">
<el-input style="width: 90%" :disabled="true" size="small" splaceholder="请输入内容"
v-model="data.bzgg"></el-input>
</el-form-item>
</el-col>
<el-col :span="12" class="el-col">
<el-form-item label="批准文号:">
<el-input style="width: 90%" :disabled="true" size="small" splaceholder="请输入内容"
v-model="data.zczbhhzbapzbh"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<!--<el-col :span="12" class="el-col">-->
<!-- <el-form-item label="注册人英文名称:">-->
<!-- <el-input style="width: 90%" :disabled="true" size="small" splaceholder="请输入内容"-->
<!-- v-model="data.ylqxzcrbarywmc"></el-input>-->
<!-- </el-form-item>-->
<!--</el-col>-->
<!--<el-col :span="12" class="el-col">-->
<!-- <el-form-item label="器械类别:">-->
<!-- <el-input style="width: 90%" :disabled="true" size="small" splaceholder="请输入内容"-->
<!-- v-model="data.qxlb"></el-input>-->
<!-- </el-form-item>-->
<!--</el-col>-->
</el-row>
<el-row>
<!--<el-col :span="12" class="el-col">-->
<!-- <el-form-item label="产品类别:">-->
<!-- <el-input style="width: 90%" :disabled="true" size="small" splaceholder="请输入内容"-->
<!-- v-model="data.cplb"></el-input>-->
<!-- </el-form-item>-->
<!--</el-col>-->
<!--<el-col :span="12" class="el-col">-->
<!-- <el-form-item label="分类编码:">-->
<!-- <el-input style="width: 90%" :disabled="true" size="small" splaceholder="请输入内容"-->
<!-- v-model="data.flbm"></el-input>-->
<!-- </el-form-item>-->
<!--</el-col>-->
</el-row>
<el-row>
<el-col :span="12" class="el-col">
<el-form-item label="商品条码:">
<el-input style="width: 90%" :disabled="true" size="small" splaceholder="请输入内容"
v-model="data.sptm"></el-input>
</el-form-item>
</el-col>
<el-col :span="12" class="el-col">
<el-form-item label="医保编码:">
<el-input style="width: 90%" :disabled="true" size="small" splaceholder="请输入内容"
v-model="data.ybbm"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12" class="el-col">
<el-form-item label="统一社会信用号:">
<el-input style="width: 90%" :disabled="true" size="small" splaceholder="请输入内容"
v-model="data.tyshxydm"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-card>
<el-dialog
title="药品信息详情"
:visible.sync="thrProductsDetailVisible"
width="60%"
:close-on-click-modal="false"
:close-on-press-escape="false"
append-to-body
v-if="thrProductsDetailVisible"
>
<thrProductsDetail
:data="thisData"
></thrProductsDetail>
</el-dialog>
</div>
</template>
<script>
import {modifyRel, addErp, addAllErp, combineUdi} from "@/api/basic/udiRelevance";
import {getInvbasdoc} from "@/api/basic/getErps";
import {getBasicThirdSys} from "@/api/basic/basicThirdSys";
import thrProductsDetail from "../../../thirdSys/drug/thrDrugDetail";
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,
},
mainIds: {
type: Array,
required: true,
}
},
data() {
return {
showSearch: true,
erpQuery: {
code: null,
name: null,
spec: null,
registerNo: null,
manufactory: null,
thirdSys: null,
supName: null,
measname: null,
page: 1,
limit: 10,
productType:2
},
thisData: null,
thrProductsDetailVisible: false,
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,
chenck: '',
};
},
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,
productType:2
};
this.getErpList();
},
tableRowClassName({row}) {
if (row.checked) return "warning-row";
return "";
},
detailDialog(row) {
this.thisData = row;
this.thrProductsDetailVisible = true;
},
// checkSelectable(row) {
// return !row.checked;
// },
handleCurrentChange(val) {
this.unionQuery.page = val;
this.getList();
},
handleErpChange(val,currentRow, oldCurrentRow) {
if (!this.isImport){
this.chenck = val.id
this.currentRow = val;
}
},
handleRowClick(row){
row.isSelected = !row.isSelected;
let isTrue = this.checkSelectable(row)
if (isTrue){
this.$refs.multipleTable.toggleRowSelection(row);
}
},
hideSearch() {
this.showSearch = !this.showSearch;
},
handleErpPageChange(val) {
this.erpQuery.page = val.page;
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.closeDialog()
} else {
this.$message.error(response.message);
this.closeDialog()
}
})
.catch(() => {
this.closeDialog()
});
})
.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.closeDialog()
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.closeDialog()
this.$message.success(response.data);
} else {
this.closeDialog()
this.$message.warning(response.message);
}
})
.catch(() => {
this.combineLoading = false;
this.closeDialog()
});
}
} 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.$message.success("更新成功")
this.$emit("closeUdi", false);
} else {
this.$emit("closeUdi", false);
this.$message.error(response.message);
}
})
.catch(() => {
this.combineLoading = false;
this.$emit("closeUdi", false);
});
}
}
},
handleSelectionChange(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 = [];
});
},
checkSelectable(row) {
if (this.mainIds == null) {
return true
} else {
if (this.mainIds.length > 0) {
return this.mainIds.indexOf(row.code) === -1
} else {
return true
}
}
}
},
components: {
thrProductsDetail
},
created() {
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>

File diff suppressed because it is too large Load Diff

@ -8,7 +8,6 @@
<el-input v-model="filterQuery.nameCode"
placeholder="请输入药品编码"
clearable
@keyup.enter.native="keyup_submit($event)"
></el-input>
</el-form-item>
</el-col>
@ -58,12 +57,14 @@
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="药品描述:" class="query-form-item">
<el-input
clearable
v-model="filterQuery.cpms"
placeholder="请输入药品描述"
></el-input>
<el-form-item label="对照条件:" class="query-form-item">
<el-select v-model="filterQuery.filterType" style="width: 100%" placeholder="对照条件" clearable>
<el-option label="全部" :value="0"></el-option>
<el-option label="对照完成" :value="1"></el-option>
<el-option label="未对照产品编码" :value="2"></el-option>
<!--<el-option label="未对照" :value="3"></el-option>-->
<el-option label="未对照其他产品编码" :value="4"></el-option>
</el-select>
</el-form-item>
</el-col>
@ -83,22 +84,23 @@
<el-button icon="el-icon-view" type="primary" @click="hideSearch">/</el-button>
<el-button type="primary" icon="el-icon-refresh" @click="onReset"></el-button>
<el-button type="primary" icon="el-icon-search" @click="onSubmit"></el-button>
<el-button type="primary" icon="el-icon-plus" @click="chooseDrug"></el-button>
<el-button type="primary" icon="el-icon-plus" @click="addDrug"></el-button>
<!--<el-button type="primary" icon="el-icon-plus" @click="chooseDrug"></el-button>-->
<el-button type="primary" icon="el-icon-plus" @click="chooseHouseDrug"></el-button>
<!-- <el-button type="primary" icon="el-icon-plus" @click="addDrug"></el-button>-->
</el-button-group>
</div>
<el-table v-loading="loading" :data="list" style="width: 100%" :row-style="{height: '32px' }"
>
<el-table-column type="index" label="序号"></el-table-column>
<el-table-column label="最小销售产品标识" prop="nameCode" width="160"></el-table-column>
<el-table-column label="收费项目编码" prop="payFeeCode" width="100"></el-table-column>
<el-table-column label="药品标识码" prop="nameCode" width="160"></el-table-column>
<!--<el-table-column label="收费项目编码" prop="payFeeCode" width="100"></el-table-column>-->
<el-table-column label="药品通用名称" prop="cpmctymc" width="160"></el-table-column>
<el-table-column label="制剂规格" prop="prepnSpec" width="90"></el-table-column>
<el-table-column label="制剂单位" prop="prepnUnit" width="90"></el-table-column>
<el-table-column label="包装规格" prop="bzgg" width="100"></el-table-column>
<el-table-column label="包装单位" prop="packUnit" width="90"></el-table-column>
<el-table-column label="包装比例" prop="packRatio" width="90"></el-table-column>
<!--<el-table-column label="包装比例" prop="packRatio" width="90"></el-table-column>-->
<el-table-column label="价格" prop="price" width="90"></el-table-column>
<el-table-column label="批准文号" prop="zczbhhzbapzbh" width="90"></el-table-column>
<el-table-column label="生产企业" prop="manufactory" width="90"></el-table-column>
@ -127,6 +129,13 @@
</template>
</el-table-column>
</el-table>
<pagination
:total="total"
:limit.sync="filterQuery.limit"
:page.sync="filterQuery.page"
@pagination="getList"
>
</pagination>
<el-dialog
:title="fromMap[fromName]"
@ -135,11 +144,16 @@
:close-on-press-escape="false"
width="85%"
v-if="addDrugVisible"
@close="closeDialog"
>
<drugAdd
:closeDialog="closeDialog"
:rowData="rowData"
:type="type"
:relevanceEdit="relevanceEdit"
:uuid="uuid"
:relId="relId"
:thisData="thisData"
>
</drugAdd>
</el-dialog>
@ -157,6 +171,27 @@
</chooseDrug>
</el-dialog>
<el-dialog
title="药品字典-从指定系统添加药品字典"
:visible.sync="chooseHouseDrugVisible"
:close-on-click-modal="false"
:close-on-press-escape="false"
width="85%"
v-if="chooseHouseDrugVisible"
>
<chooseHouseDrug
:closeDialog="closeDialog"
:uuid="uuid"
:relId="relId"
:isImport="isImport"
:data="thisData"
:defaultSys="defaultSys"
:mainIds="mainIds"
@closeUdi="closeDialog"
:supEnable="false"
></chooseHouseDrug>
</el-dialog>
</el-card>
</div>
@ -180,9 +215,10 @@ import {
} from '@/api/basic/product/udiRelevance'
import drugAdd from '@/views/basic/product/drug/drugAdd'
import chooseDrug from '@/views/basic/product/drug/chooseDrug'
import chooseHouseDrug from '@/views/basic/product/drug/chooseHouseDrug'
export default {
components: {drugAdd, chooseDrug},
components: {drugAdd, chooseDrug,chooseHouseDrug},
name: 'drugMaintain',
data() {
return {
@ -190,6 +226,7 @@ export default {
filterBadInv: true,
query: {},
list: [],
mainIds:[],
filterQuery: {
productsType: 2,
page: 1,
@ -211,6 +248,30 @@ export default {
'edit': '编辑-药品信息',
},
loading: false,
chooseHouseDrugVisible: false,
uuid: "111",
relId: "",
isImport: false,
pId: 0,
thisData: {
nameCode: null,
cpmctymc: null,
ggxh: null,
},
relevanceEdit: {
id: null,
thirdId: "",
isDisable: null,
isUseDy: false,
isLock: null,
isAdavence: null,
allowNoBatch: null,
allowNoExpire: null,
allowNoProduct: null,
allowNoSerial: null,
pId: null,
},
total: 0
}
},
@ -242,12 +303,22 @@ export default {
},
chooseDrug() {
this.chooseDrugVisible = true
},
chooseHouseDrug(val){
this.defaultSys = null;
this.uuid = val.uuid;
this.relId = val.id;
this.isImport = true;
this.thisData = val;
this.chooseHouseDrugVisible = true
},
getList() {
getUdiInfos(this.filterQuery)
.then((response) => {
this.loading = false
this.list = response.data.list || []
this.mainIds = this.list.map(item => item.mainId);
this.total = response.data.total || 0
})
.catch(() => {
@ -280,13 +351,31 @@ export default {
},
editDrug(row) {
this.fromName = 'edit'
this.rowData = row
this.type = 2
this.uuid = row.uuid;
this.relId = row.id;
this.isImport = false;
this.thisData = row;
this.pId = row.id;
this.relevanceEdit = {
id: row.id,
isUseDy: row.isUseDy,
isDisable: row.isDisable,
isLock: row.isLock,
isAdavence: row.isAdavence,
};
this.editFormat = JSON.parse(JSON.stringify(row));
this.rowData = row
this.addDrugVisible = true;
},
closeUdi(){
},
closeDialog() {
this.getList()
this.addDrugVisible = false;
this.chooseHouseDrugVisible = false;
this.getList()
}
},
filters: {

@ -0,0 +1,362 @@
<template>
<div>
<el-card>
<el-form :model="filterQuery" size="mini" label-width="100px" v-if="showSearch">
<el-row>
<el-col :span="6">
<el-form-item label="药品编码:">
<el-input v-model="filterQuery.code" style="width: 90%" placeholder="请输入产品编码/商品条码/医保编码" clearable
@keyup.enter.native="keyupErp_submit($event)"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="药品名称:">
<el-input v-model="filterQuery.name" clearable style="width: 90%" placeholder="请输入产品名称"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="包装规格:">
<el-input v-model="filterQuery.spec" clearable style="width: 90%" placeholder="请输入规格型号"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="6">
<el-form-item label="批准文号:">
<el-input v-model="filterQuery.registerNo" clearable style="width: 90%"
placeholder="请输入注册/备案凭证"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="生产企业:">
<el-input v-model="filterQuery.manufactory" clearable style="width: 90%" placeholder="请输入生产企业"></el-input>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="外部系统:">
<el-select v-model="filterQuery.thirdSys" placeholder="请选择第三方系统" @change="thirdSysChange"
style="width: 90%"
>
<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 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-plus" @click="addProductVisible=true"
:disabled="!configParms.basicThirdProducts">新增
</el-button>
</el-button-group>
</div>
<el-divider style="margin: 15px"></el-divider>
<el-table v-loading="loading" :data="list" style="width: 100%" border highlight-current-row>
<el-table-column label="序号" type="index" width="80"></el-table-column>
<el-table-column label="药品编码" prop="code"></el-table-column>
<el-table-column label="药品名称" prop="name" show-overflow-tooltip></el-table-column>
<el-table-column label="包装规格" prop="spec" show-overflow-tooltip></el-table-column>
<el-table-column label="计量单位" prop="measname" 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="操作" width="180px">
<template slot-scope="scope">
<el-button type="text" @click.native.stop="detailDialog(scope.row)">编辑</el-button>
<el-button type="text" @click.native.stop="deleteDialog(scope.row)" v-if="thirdSysDetail.fromType!=0"
:disabled="!configParms.basicThirdProducts">删除
</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:limit.sync="filterQuery.limit"
:page.sync="filterQuery.page"
@pagination="getList"
></pagination>
</el-card>
<el-dialog
:close-on-click-modal="false"
:close-on-press-escape="false"
title="药品信息编辑"
:visible.sync="thrProductsDetailVisible"
width="60%"
class="dialog-two"
top="5vh"
v-if="thrProductsDetailVisible"
>
<thrProductsEdit
:newProductData="thisData"
:closeAddDialog="closeAddDialog"
></thrProductsEdit>
</el-dialog>
<el-dialog
:close-on-click-modal="false"
:close-on-press-escape="false"
title="新增配送药品"
:visible.sync="addProductVisible"
width="60%"
v-if="addProductVisible"
@close="closeAddDialog"
class="dialog-two"
top="5vh"
>
<ThrProductsAdd
:newType="newType"
:closeAddDialog="closeAddDialog"></ThrProductsAdd>
</el-dialog>
</div>
</template>
<script>
import {
delThrProducts, saveNewProduct
} from "@/api/thrsys/thrProducts";
import {getInvbasdoc} from "@/api/thrsys/getErps";
import {getBasicThirdSys, filterDetailByKey} from "@/api/thrsys/basicThirdSys";
import {selectIp} from "@/api/system/systemParamConfig";
import thrProductsEdit from "./thrDrugEdit";
import ThrProductsAdd from "./thrDrugAdd";
import {findConfig} from "@/api/sync/spsSyncStatus";
export default {
data() {
return {
showSearch: true,
filterQuery: {
code: null,
name: "",
spec: null,
registerNo: null,
manufactory: null,
thirdSys: "thirdId",
page: 1,
limit: 20,
productType:2
},
mainThirdSys: '',
total: 0,
thirdSys: [],
thirdSysDetail: null,
list: [],
uploadFileUrl: null,
fileList: [],
uploadData: {
thirdSys: "thirdId",
},
newType: 1,
thrProductsDetailVisible: false,
thisData: null,
loading: false,
addProductVisible: false,
newProductData: {
name: '',
code: null,
registerNo: null,
manufactory: null,
spec: null,
measname: null,
ylqxzcrbarmc: null,
ylqxzcrbarywmc: null,
cplb: null,
flbm: null,
sptm: null,
ybbm: null,
tyshxydm: null,
qxlb: null,
cplx: null,
cpms: null
},
configParms: {},
};
},
methods: {
onReset() {
this.$router.push({
path: "",
});
this.filterQuery = {
code: null,
spec: null,
registerNo: null,
manufactory: null,
name: "",
thirdSys: this.mainThirdSys,
page: 1,
limit: 20,
productType:2
};
this.getList();
},
hideSearch() {
this.showSearch = !this.showSearch;
},
search() {
this.filterQuery.page = 1;
this.getList();
},
getList() {
if (this.filterQuery.thirdSys == null) {
this.$message.warning("请先选择第三方系统!")
return;
}
this.loading = true;
getInvbasdoc(this.filterQuery)
.then((response) => {
// this.loading = false;
if (response.code == 20000) {
this.list = response.data.list || [];
this.total = response.data.total || 0;
} else {
this.$message.error(response.message);
}
this.loading = false;
})
.catch(() => {
this.loading = false;
this.list = [];
this.total = 0;
});
},
deleteDialog(row) {
this.$confirm("此操作将永久删除该产品信息, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {
let dQuery = {
id: row.id,
};
delThrProducts(dQuery)
.then((response) => {
this.loading = false;
if (response.code == 20000) {
this.$message.success("删除成功");
this.getList();
} else {
this.$message.success(response.message);
}
})
.catch(() => {
this.loading = false;
});
})
.catch(() => {
});
},
detailDialog(row) {
this.thisData = row;
this.thrProductsDetailVisible = true;
},
getBasicThirdSys() {
let query = {
enabled: true,
};
getBasicThirdSys(query)
.then((response) => {
this.thirdSys = response.data.list || [];
for (var i = 0; i < this.thirdSys.length; i++) {
if (this.thirdSys[i].mainSys) {
this.filterQuery.thirdSys = this.thirdSys[i].thirdId;
this.mainThirdSys = this.thirdSys[i].thirdId;
}
}
this.uploadData.thirdSys = this.filterQuery.thirdSys;
this.getThirdSysDetail();
this.selectSysParam();
this.getList();
})
.catch(() => {
this.loading = false;
this.list = [];
});
},
getThirdSysDetail() {
let query = {
thirdSysFk: this.filterQuery.thirdSys,
key: "piQueryUrl",
};
filterDetailByKey(query)
.then((response) => {
this.thirdSysDetail = response.data;
})
.catch(() => {
this.loading = false;
this.list = [];
});
},
thirdSysChange() {
this.uploadData.thirdSys = this.filterQuery.thirdSys;
this.getThirdSysDetail();
},
saveNewProduct() {
this.addProductVisible = false;
saveNewProduct(this.newProductData).then((res) => {
if (res.code == 20000) {
this.$message.success("添加成功");
//
Object.keys(this.newProductData).forEach(key => this.newProductData[key] = null);
}
}).catch((error) => {
this.$message.error(error.message);
})
},
closeAddDialog(val) {
this.thrProductsDetailVisible = false;
this.addProductVisible = false;
if (val) {
this.getList();
}
Object.keys(this.newProductData).forEach(key => this.newProductData[key] = null);
},
getSyncConfig() {
findConfig()
.then((response) => {
if (response.code == 20000) {
this.configParms = response.data;
}
})
.catch(() => {
});
},
},
components: {
thrProductsEdit, ThrProductsAdd
},
mounted() {
},
created() {
this.getList();
this.getBasicThirdSys();
this.getSyncConfig();
},
};
</script>
<style scoped>
.el-form-item--mini.el-form-item {
margin-bottom: 9px;
}
</style>

@ -0,0 +1,256 @@
<template>
<el-form :model="newProductData" label-width="120px">
<el-row type="flex">
<el-col :span="11" type="flex">
<el-form-item label="第三方系统" prop="thirdSysFk">
<el-select
style="width: 90%"
v-model="newProductData.thirdSysFk" placeholder="请选择第三方系统"
>
<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-row type="flex">
<el-col :span="11" type="flex">
<el-form-item label="药品编码:" prop="code">
<el-input style="width: 90%" size="small" placeholder="请输入药品编码" v-model.trim="newProductData.code"
></el-input>
</el-form-item>
</el-col>
<el-col :span="11" type="flex">
<el-form-item label="药品名称:" prop="name">
<el-input style="width: 90%" size="small" placeholder="请输入药品名称" v-model.trim="newProductData.name"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col">
<el-form-item label="包装规格:" prop="spec">
<el-input style="width: 90%" size="small" placeholder="请输入包装规格" v-model.trim="newProductData.spec"
></el-input>
</el-form-item>
</el-col>
<el-col :span="11" class="el-col">
<el-form-item label="计量单位:" prop="measname">
<el-input style="width: 90%" size="small" placeholder="请输入计量单位" v-model.trim="newProductData.measname"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col">
<el-form-item label="生产企业:" prop="manufactory">
<el-input style="width: 90%" size="small" placeholder="请输入生产企业"
v-model.trim="newProductData.manufactory"
></el-input>
</el-form-item>
</el-col>
<el-col :span="11" class="el-col">
<el-form-item label="批准文号:" prop="registerNo">
<el-input style="width: 90%" size="small" placeholder="请输入批准文号"
v-model.trim="newProductData.registerNo"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col">
<el-form-item label="分类编码:" prop="flbm">
<el-input style="width: 90%" size="small" placeholder="请输入分类编码" v-model.trim="newProductData.flbm"
></el-input>
</el-form-item>
</el-col>
<el-col :span="11" class="el-col">
<el-form-item label="药品条码:" prop="sptm">
<el-input style="width: 90%" size="small" placeholder="请输入药品条码" v-model.trim="newProductData.sptm"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col">
<el-form-item label="医保编码:" prop="ybbm">
<el-input style="width: 90%" size="small" placeholder="请输入医保编码" v-model.trim="newProductData.ybbm"
></el-input>
</el-form-item>
</el-col>
<el-col :span="11" class="el-col">
<el-form-item label="统一社会信用号:" prop="tyshxydm">
<el-input style="width: 90%" size="small" placeholder="请输入统一社会信用号"
v-model.trim="newProductData.tyshxydm"
></el-input>
</el-form-item>
</el-col>
</el-row>
<!--<el-row type="flex">-->
<!-- <el-col :span="11" class="el-col">-->
<!-- <el-form-item label="器械类别:" prop="qxlb">-->
<!-- <el-input style="width: 90%" size="small" placeholder="请输入器械类别" v-model.trim="newProductData.qxlb"-->
<!-- ></el-input>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!--</el-row>-->
<el-row type="flex">
<el-col :span="23" class="el-col">
<el-form-item label="药品描述:" prop="cpms">
<el-input style="width: 92%" type="textarea" size="mini" rows="3" placeholder="请输入产品描述"
v-model.trim="newProductData.cpms"
></el-input>
</el-form-item>
</el-col>
</el-row>
<div style="text-align: center; margin-bottom: 10px;">
<el-button type="primary" @click="saveNewProduct" :loading="saveLoading">提交</el-button>
<el-button type="primary" @click="closeAddDialog"></el-button>
</div>
</el-form>
</template>
<script>
import { saveNewProduct } from '@/api/thrsys/thrProducts'
import { getBasicThirdSys } from '@/api/thrsys/basicThirdSys'
import { addProduct } from '@/api/thrsys/thrProductsAdd'
export default {
name: 'ThrProductsAdd',
props: {
newType: {
type: Object,
required: true
},
closeAddDialog: {
type: Function,
required: true
}
},
data() {
return {
newProductData: {
name: '',
code: null,
registerNo: null,
manufactory: null,
spec: null,
measname: null,
ylqxzcrbarmc: null,
ylqxzcrbarywmc: null,
cplb: null,
flbm: null,
sptm: null,
ybbm: null,
tyshxydm: null,
qxlb: null,
cplx: null,
cpms: null,
thirdSysFk: null,
cpdls: null
},
thirdSys: [],
saveLoading: false,
}
},
methods: {
saveNewProduct() {
this.addProductVisible = false
if (this.$isBlank(this.newProductData.thirdSysFk)) {
this.$message.warning('第三方系统不能为空!')
return
}
if (this.$isBlank(this.newProductData.code)) {
this.$message.warning('产品编码为空!')
return
}
if (this.$isBlank(this.newProductData.name)) {
this.$message.warning('产品名称不能为空!')
return
}
if (this.$isBlank(this.newProductData.spec)) {
this.$message.warning('规格型号不能为空')
return
}
if (this.$isBlank(this.newProductData.measname)) {
this.$message.warning('计量单位不能为空!')
return
}
if (this.$isBlank(this.newProductData.manufactory)) {
this.$message.warning('生产企业不能为空!')
return
}
if (this.$isBlank(this.newProductData.registerNo)) {
this.$message.warning('注册证号不能为空!')
return
}
this.saveLoading = true
this.newProductData.productType = 2
if (this.newType == 1) {
saveNewProduct(this.newProductData).then((res) => {
this.saveLoading = false
if (res.code == 20000) {
this.$message.success('添加成功')
//
this.$emit('closeAddDialog', true)
this.closeAddDialog(true)
} else {
this.$message.error(res.message)
}
}).catch((error) => {
this.saveLoading = false
// this.$message.error(error.message);
})
} else if (this.newType == 2) {
addProduct(this.newProductData).then((res) => {
this.saveLoading = false
if (res.code == 20000) {
this.$message.success('添加成功')
//
this.closeAddDialog(true)
} else {
this.$message.error(res.message)
}
}).catch((error) => {
this.saveLoading = false
// this.$message.error(error.message);
})
}
},
getBasicThirdSys() {
let query = {
enabled: true
}
getBasicThirdSys(query)
.then((response) => {
this.thirdSys = response.data.list || []
})
.catch(() => {
this.loading = false
this.list = []
})
}
},
created() {
this.getBasicThirdSys()
}
}
</script>
<style scoped>
</style>

@ -0,0 +1,113 @@
<template>
<el-form label-width="120px">
<div v-if="!isImport" style="margin-bottom: 20px">
<el-row type="flex">
<el-col :span="11" class="el-col">
<el-form-item label="第三方系统" prop="thirdSysFk">
<el-input style="width: 90%" size="small" :disabled="true" v-model="data.thirdSysName"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" type="flex">
<el-form-item label="药品编码:" prop="code">
<el-input style="width: 90%" size="small" :disabled="true" v-model.trim="data.code"></el-input>
</el-form-item>
</el-col>
<el-col :span="11" type="flex">
<el-form-item label="药品名称:" prop="name">
<el-input style="width: 90%" size="small" :disabled="true" v-model.trim="data.name"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col">
<el-form-item label="生产企业:" prop="manufactory">
<el-input style="width: 90%" size="small" :disabled="true" v-model.trim="data.manufactory"></el-input>
</el-form-item>
</el-col>
<el-col :span="11" class="el-col">
<el-form-item label="批准文号:" prop="registerNo">
<el-input style="width: 90%" size="small" :disabled="true" v-model.trim="data.registerNo"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col">
<el-form-item label="包装规格:" prop="spec">
<el-input style="width: 90%" size="small" :disabled="true" v-model.trim="data.spec"></el-input>
</el-form-item>
</el-col>
<el-col :span="11" class="el-col">
<el-form-item label="计量单位:" prop="measname">
<el-input style="width: 90%" size="small" :disabled="true" v-model.trim="data.measname"></el-input>
</el-form-item>
</el-col>
</el-row>
<!--<el-row type="flex">-->
<!-- <el-col :span="11" class="el-col">-->
<!-- <el-form-item label="医疗器械注册人:" prop="ylqxzcrbarmc">-->
<!-- <el-input style="width: 90%" size="small" :disabled="true" v-model.trim="data.ylqxzcrbarmc"></el-input>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="11" class="el-col">-->
<!-- <el-form-item label="注册人英文名称:" prop="ylqxzcrbarywmc">-->
<!-- <el-input style="width: 90%" size="small" :disabled="true" v-model.trim="data.ylqxzcrbarywmc"></el-input>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!--</el-row>-->
<el-row type="flex">
<el-col :span="11" class="el-col">
<el-form-item label="统一社会信用号:" prop="tyshxydm">
<el-input style="width: 90%" size="small" :disabled="true" v-model.trim="data.tyshxydm"></el-input>
</el-form-item>
</el-col>
<!--<el-col :span="11" class="el-col">-->
<!-- <el-form-item label="产品类别:" prop="cplb">-->
<!-- <el-input style="width: 90%" size="small" :disabled="true" v-model.trim="data.cplb"></el-input>-->
<!-- </el-form-item>-->
<!--</el-col>-->
<el-col :span="11" class="el-col">
<el-form-item label="商品条码:" prop="sptm">
<el-input style="width: 90%" size="small" :disabled="true" v-model.trim="data.sptm"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col">
<el-form-item label="医保编码:" prop="ybbm">
<el-input style="width: 90%" size="small" :disabled="true" v-model.trim="data.ybbm"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex">
</el-row>
<el-row type="flex">
<el-col :span="23" class="el-col">
<el-form-item label="产品描述:" prop="cpms">
<el-input style="width: 92%" type="textarea" size="mini" rows="3" :disabled="true" v-model.trim="data.cpms"></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
</el-form>
</template>
<script>
export default {
name: "thrDrugDetail",
props: {
data: {
type: Object,
required: true,
},
},
}
</script>
<style scoped>
</style>

@ -0,0 +1,224 @@
<template>
<el-form :model="newProductData" label-width="120px">
<el-row type="flex">
<el-col :span="11" type="flex">
<el-form-item label="第三方系统" prop="thirdSysFk">
<el-select
style="width: 90%"
disabled
v-model="newProductData.thirdSysFk" placeholder="请选择第三方系统"
>
<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-row type="flex">
<el-col :span="11" type="flex">
<el-form-item label="产品编码:" prop="code">
<el-input style="width: 90%" size="small" placeholder="请输入药品编码"
disabled
v-model.trim="newProductData.code"></el-input>
</el-form-item>
</el-col>
<el-col :span="11" type="flex">
<el-form-item label="产品名称:" prop="name">
<el-input style="width: 90%" size="small" placeholder="请输入药品名称" v-model.trim="newProductData.name"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col">
<el-form-item label="包装规格:" prop="spec">
<el-input style="width: 90%" size="small" placeholder="请输入包装规格" v-model.trim="newProductData.spec"></el-input>
</el-form-item>
</el-col>
<el-col :span="11" class="el-col">
<el-form-item label="计量单位:" prop="measname">
<el-input style="width: 90%" size="small" placeholder="请输入计量单位"
v-model.trim="newProductData.measname"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col">
<el-form-item label="生产企业:" prop="manufactory">
<el-input style="width: 90%" size="small" placeholder="请输入生产企业"
v-model.trim="newProductData.manufactory"></el-input>
</el-form-item>
</el-col>
<el-col :span="11" class="el-col">
<el-form-item label="注册证号:" prop="registerNo">
<el-input style="width: 90%" size="small" placeholder="请输入注册证号"
v-model.trim="newProductData.registerNo"></el-input>
</el-form-item>
</el-col>
</el-row>
<!--<el-row type="flex">-->
<!-- <el-col :span="11" class="el-col">-->
<!-- <el-form-item label="医疗器械注册人:" prop="ylqxzcrbarmc">-->
<!-- <el-input style="width: 90%" size="small" placeholder="请输入医疗器械注册人"-->
<!-- v-model.trim="newProductData.ylqxzcrbarmc"></el-input>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!-- <el-col :span="11" class="el-col">-->
<!-- <el-form-item label="注册人英文名称:" prop="ylqxzcrbarywmc">-->
<!-- <el-input style="width: 90%" size="small" placeholder="请输入注册人英文名称"-->
<!-- v-model.trim="newProductData.ylqxzcrbarywmc"></el-input>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<!--</el-row>-->
<el-row type="flex">
<!--<el-col :span="11" class="el-col">-->
<!-- <el-form-item label="产品类别:" prop="cplb">-->
<!-- <el-input style="width: 90%" size="small" placeholder="请输入产品类别" v-model.trim="newProductData.cplb"></el-input>-->
<!-- </el-form-item>-->
<!--</el-col>-->
<el-col :span="11" class="el-col">
<el-form-item label="医保编码:" prop="ybbm">
<el-input style="width: 90%" size="small" placeholder="请输入医保编码" v-model.trim="newProductData.ybbm"></el-input>
</el-form-item>
</el-col>
<el-col :span="11" class="el-col">
<el-form-item label="分类编码:" prop="flbm">
<el-input style="width: 90%" size="small" placeholder="请输入分类编码" v-model.trim="newProductData.flbm"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col">
<el-form-item label="统一社会信用号:" prop="tyshxydm">
<el-input style="width: 90%" size="small" placeholder="请输入统一社会信用号"
v-model.trim="newProductData.tyshxydm"></el-input>
</el-form-item>
</el-col>
<el-col :span="11" class="el-col">
<el-form-item label="药品条码:" prop="sptm">
<el-input style="width: 90%" size="small" placeholder="请输入药品条码" v-model.trim="newProductData.sptm"></el-input>
</el-form-item>
</el-col>
</el-row>
<!--<el-row type="flex">-->
<!--<el-col :span="11" class="el-col">-->
<!-- <el-form-item label="器械类别:" prop="qxlb">-->
<!-- <el-input style="width: 90%" size="small" placeholder="请输入器械类别" v-model.trim="newProductData.qxlb"></el-input>-->
<!-- </el-form-item>-->
<!--</el-col>-->
<!--</el-row>-->
<el-row type="flex">
<el-col :span="23" class="el-col">
<el-form-item label="产品描述:" prop="cpms">
<el-input style="width: 92%" type="textarea" size="mini" rows="3" placeholder="请输入产品描述"
v-model.trim="newProductData.cpms"></el-input>
</el-form-item>
</el-col>
</el-row>
<div style='text-align: center; margin-bottom: 10px;'>
<el-button type="primary" @click="saveNewProduct"></el-button>
<el-button @click="closeAddDialog"></el-button>
</div>
</el-form>
</template>
<script>
import {updateProduct} from "@/api/thrsys/thrProducts";
import {getBasicThirdSys} from "@/api/thrsys/basicThirdSys";
export default {
name: "thrDrugEdit",
props: {
newProductData: {
type: Object,
required: true,
},
closeAddDialog: {
type: Function,
required: true,
},
},
data() {
return {
thirdSys: [],
}
},
methods: {
saveNewProduct() {
this.addProductVisible = false;
if (this.$isBlank(this.newProductData.thirdSysFk)) {
this.$message.warning("第三方系统不能为空!");
return;
}
if (this.$isBlank(this.newProductData.code)) {
this.$message.warning("药品编码为空!");
return;
}
if (this.$isBlank(this.newProductData.name)) {
this.$message.warning("药品名称不能为空!");
return;
}
if (this.$isBlank(this.newProductData.spec)) {
this.$message.warning("包装规格不能为空");
return;
}
if (this.$isBlank(this.newProductData.measname)) {
this.$message.warning("计量单位不能为空!");
return;
}
if (this.$isBlank(this.newProductData.manufactory)) {
this.$message.warning("生产企业不能为空!");
return;
}
if (this.$isBlank(this.newProductData.registerNo)) {
this.$message.warning("批准文号不能为空!");
return;
}
updateProduct(this.newProductData).then((res) => {
if (res.code == 20000) {
this.$message.success("修改成功");
this.closeAddDialog(true);
} else {
this.$message.error(res.message);
}
}).catch((error) => {
})
},
getBasicThirdSys() {
let query = {
enabled: true,
};
getBasicThirdSys(query)
.then((response) => {
this.thirdSys = response.data.list || [];
})
.catch(() => {
this.loading = false;
this.list = [];
});
},
},
created() {
this.getBasicThirdSys();
},
}
</script>
<style scoped>
</style>
Loading…
Cancel
Save