Merge remote-tracking branch 'origin/dev_drug' into dev_drug

dev_unify
qiuyt 8 months ago
commit 95e17e8d73

@ -524,18 +524,19 @@
:close-on-press-escape="false" :close-on-press-escape="false"
width="85%" width="85%"
v-if="selectDrugLevelVisible" v-if="selectDrugLevelVisible"
@close="closeSelectDrugLevelVisible"
> >
<el-form :model="filterQueryDrugLevel" class="query-form" label-width="100px" > <el-form :model="filterQueryDrugLevel" class="query-form" label-width="100px">
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="层级标识:"> <el-form-item label="层级标识:">
<el-input v-model="filterQueryDrugLevel.nameCode" placeholder="请输入层级标识" clearable></el-input> <el-input v-model="filterQueryDrugLevel.nameCode" placeholder="请输入层级标识" clearable></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="通用名称:"> <el-form-item label="通用名称:">
<el-input v-model="filterQueryDrugLevel.cpmctymc" placeholder="请输入通用名称" clearable></el-input> <el-input v-model="filterQueryDrugLevel.cpmctymc" placeholder="请输入通用名称" clearable></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
@ -555,7 +556,7 @@
</el-form> </el-form>
<el-table :data="selectDrugLevelList" style="width: 100%; margin-bottom: 8px" key="2" border> <el-table :data="selectDrugLevelList" style="width: 100%; margin-bottom: 8px" key="2" border>
<el-table-column label="序号" type="index" ></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="nameCode" show-overflow-tooltip></el-table-column>
<el-table-column label="药品类型" prop="type" show-overflow-tooltip></el-table-column> <el-table-column label="药品类型" prop="type" show-overflow-tooltip></el-table-column>
<el-table-column label="批准文号" prop="approvalNum" show-overflow-tooltip></el-table-column> <el-table-column label="批准文号" prop="approvalNum" show-overflow-tooltip></el-table-column>
@ -567,9 +568,9 @@
<el-table-column label="包装规格" prop="bzgg" show-overflow-tooltip></el-table-column> <el-table-column label="包装规格" prop="bzgg" show-overflow-tooltip></el-table-column>
<el-table-column label="包装比例" prop="packRatio" show-overflow-tooltip></el-table-column> <el-table-column label="包装比例" prop="packRatio" show-overflow-tooltip></el-table-column>
<el-table-column label="包装级别" prop="packLevel" show-overflow-tooltip></el-table-column> <el-table-column label="包装级别" prop="packLevel" show-overflow-tooltip></el-table-column>
<el-table-column label="操作"> <el-table-column label="操作" fixed="right">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="text" @click="selectDrugLevelItem(scope.row)" > <el-button type="text" @click="selectDrugLevelItem(scope.row)">
选入 选入
</el-button> </el-button>
</template> </template>
@ -648,8 +649,8 @@ export default {
ybDrugDetail: {}, ybDrugDetail: {},
productData: {}, productData: {},
filterQueryDrugLevel: { filterQueryDrugLevel: {
nameCode: "", nameCode: '',
cpmctymc: "", cpmctymc: '',
page: 1, page: 1,
limit: 20, limit: 20,
total: 0, total: 0,
@ -956,7 +957,7 @@ export default {
sjcpbm: row.sjcpbm, sjcpbm: row.sjcpbm,
bhxjcpbm: row.bhxjcpbm, bhxjcpbm: row.bhxjcpbm,
bhxjsl: row.bhxjsl, bhxjsl: row.bhxjsl,
relId: this.newProductData.id, relId: this.newProductData.rlId,
uuid: this.newProductData.uuid, uuid: this.newProductData.uuid,
productId: row.productId, productId: row.productId,
diType: row.diType, diType: row.diType,
@ -1011,19 +1012,31 @@ export default {
selectDrugLevelItem(row){ selectDrugLevelItem(row){
getDrugLevelListBycode({nameCode:row.nameCode}).then((response) => { getDrugLevelListBycode({nameCode:row.nameCode}).then((response) => {
if (response.code == 20000) { if (response.code == 20000) {
if (response.data.length > 0){ if (response.data.length > 0) {
response.data.forEach( item => { response.data.forEach(item => {
//
let parts = item.bzgg.split('/'); let parts = item.bzgg.split('/');
// ':' const levels = item.packRatio.split(":").map(Number);
const ratioParts = item.packRatio.split(':'); const calculatedLevels = [levels[0]];
let selectedValue; for (let i = levels.length - 1; i > 0; i--) {
if (item.packLevel >= 0 && item.packLevel < ratioParts.length) { const ratio = levels[i] / levels[i - 1];
selectedValue = ratioParts[item.packLevel]; calculatedLevels.unshift(ratio);
} else { }
selectedValue = null; // calculatedLevels.reverse();
let selectedValue = calculatedLevels[item.packLevel - 1];
console.log(item)
if (item.packLevel == 1) {
selectedValue = this.extractNumber(this.newProductData.bzgg)
item.xjdw = this.extractUnitAfterNumber(this.newProductData.bzgg)
} }
// const ratioParts = item.packRatio.split(':');
// let selectedValue;
// if (item.packLevel >= 0 && item.packLevel < ratioParts.length) {
// selectedValue = ratioParts[item.packLevel];
// } else {
// selectedValue = 1; //
// }
let editQuery = { let editQuery = {
nameCode: item.nameCode, nameCode: item.nameCode,
packLevel: item.packLevel, packLevel: item.packLevel,
@ -1032,7 +1045,7 @@ export default {
relId: this.newProductData.id, relId: this.newProductData.id,
uuid: this.newProductData.uuid, uuid: this.newProductData.uuid,
productId: item.productId, productId: item.productId,
diType: item.packLevel == 1?1:4, diType: item.packLevel == 1 ? 1 : 4,
xjdw: item.xjdw xjdw: item.xjdw
} }
updateLevelDrug(editQuery).then(res => { updateLevelDrug(editQuery).then(res => {
@ -1043,7 +1056,7 @@ export default {
packLevel: item.packLevel, packLevel: item.packLevel,
packUnit: parts[1] || '', packUnit: parts[1] || '',
bhxjsl: selectedValue, bhxjsl: selectedValue,
diType: item.packLevel == 1?1:4, diType: item.packLevel == 1 ? 1 : 4,
isDisabled: false, isDisabled: false,
rowDisabled: false, rowDisabled: false,
isUpDisabled: true isUpDisabled: true
@ -1053,7 +1066,6 @@ export default {
}) })
} }
} }
}).catch(() => { }).catch(() => {
}) })
@ -1062,15 +1074,19 @@ export default {
this.selectedIndex = this.detailList.length - 1 this.selectedIndex = this.detailList.length - 1
this.isSave = false this.isSave = false
this.selectDrugLevelVisible = false this.selectDrugLevelVisible = false
}, this.getDetailList()
handleCurrentChange(){ }
,
handleCurrentChange() {
this.selectDrugLevel() this.selectDrugLevel()
}, },
addDrugLevel() { addDrugLevel() {
this.detailList.push({ this.detailList.push({
nameCode: '', nameCode: '',
packLevel: 0, packLevel: null,
bhxjsl: 0, bhxjsl: null,
isDisabled: false, isDisabled: false,
rowDisabled: false, rowDisabled: false,
isUpDisabled: true isUpDisabled: true

@ -118,11 +118,19 @@
<el-button <el-button
type="text" type="text"
size="small" size="small"
:disabled="scope.row.drugLink == 1" v-if="scope.row.drugLink == 0"
@click.native.stop="association(scope.row)" @click.native.stop="association(scope.row)"
>关联 >关联
</el-button </el-button
> >
<el-button
type="text"
size="small"
v-if="scope.row.drugLink == 1"
@click.native.stop="newDistributionForm(scope.row)"
>查看
</el-button
>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
@ -203,11 +211,32 @@
</editCodeDialog> </editCodeDialog>
</el-dialog> </el-dialog>
<el-dialog
title="关联明细"
:visible.sync="newSpDistributionVisible"
width="45%"
append-to-body
:close-on-click-modal="false"
:close-on-press-escape="false"
v-if="newSpDistributionVisible"
>
<el-table v-loading="loading" :data="parentCodeArray" style="width: 100%;" max-height="800" height="500"
border
ref="multipleTable">
<el-table-column label="序号" type="index" width="55"></el-table-column>
<el-table-column
label="追溯码"
prop="curCode"
width="280"
show-overflow-tooltip
></el-table-column>
</el-table>
</el-dialog>
</div> </div>
</template> </template>
<script> <script>
import {getDetailList} from "@/api/collect/relCode";
import {deleteCodesTempById, errorCodeList, updateCodeBindSup} from "@/api/inout/order"; import {deleteCodesTempById, errorCodeList, updateCodeBindSup} from "@/api/inout/order";
import selectRlDialog from "./DialogSelectRl"; import selectRlDialog from "./DialogSelectRl";
import DialogSelectUnit from "./DialogSelectUnit"; import DialogSelectUnit from "./DialogSelectUnit";
@ -253,16 +282,37 @@ export default {
}, },
codeDetail: null, codeDetail: null,
codeArray: [], codeArray: [],
parentCodeArray: [],
total: 0, total: 0,
curRow: null, curRow: null,
selectRlVisible: false, selectRlVisible: false,
dialogTableVisible: false, dialogTableVisible: false,
editCodeVisible: false, editCodeVisible: false,
editOriginCodeVisible: false, editOriginCodeVisible: false,
newSpDistributionVisible: false,
fromCorp: null, fromCorp: null,
} }
}, },
methods: { methods: {
newDistributionForm(row) {
//
let post = {
// batchIdFk: row.id,
parentCode: row.code,
page: 1,
limit: 500
}
getDetailList(post).then((response) => {
if (response.code == 20000) {
this.parentCodeArray = response.data.list
this.newSpDistributionVisible = true;
} else {
this.$message.error(response.message);
}
}).catch(() => {
});
},
getCodeList() { getCodeList() {
this.loading = true; this.loading = true;
this.query.orderId = this.idQuery.billNo; this.query.orderId = this.idQuery.billNo;

@ -1217,14 +1217,14 @@ export default {
this.queryList2 = re.data.queryList; this.queryList2 = re.data.queryList;
this.fromList2 = re.data.fromList; this.fromList2 = re.data.fromList;
}); });
getHead("InvoiceRegistration-afpdj-cpmx","1").then((re) => { getHead("InvoiceRegistrationDrug-afpdj-cpmx","1").then((re) => {
// //
this.tableObj3 = re.data; this.tableObj3 = re.data;
this.tableHeader3 = re.data.tableList; this.tableHeader3 = re.data.tableList;
this.queryList3 = re.data.queryList; this.queryList3 = re.data.queryList;
this.fromList3 = re.data.fromList; this.fromList3 = re.data.fromList;
}); });
getHead("InvoiceRegistration-afpdj-djxq","1").then((re) => { getHead("InvoiceRegistrationDrug-afpdj-djxq","1").then((re) => {
// //
this.tableObj4 = re.data; this.tableObj4 = re.data;
this.tableHeader4 = re.data.tableList; this.tableHeader4 = re.data.tableList;

@ -254,9 +254,9 @@ import {
filterBizOrderList, filterBizOrderList,
updateorderBiz, parseInvoice, deleteInvoiceByOrderFk, checkInvoiceCode updateorderBiz, parseInvoice, deleteInvoiceByOrderFk, checkInvoiceCode
} from '@/api/inout/orderDetailBiz' } from '@/api/inout/orderDetailBiz'
import AcceptOrder from '@/views/inout/DialogReviewOrder' import AcceptOrder from '@/views/pharmaceuticals/inout/DialogReviewOrder'
import DialogInvoice from '@/views/inout/DialogInvoice' import DialogInvoice from '@/views/pharmaceuticals/inout/DialogInvoice'
import InvoiceRegister from '@/views/inout/InvoiceRegister' import InvoiceRegister from '@/views/pharmaceuticals/inout/InvoiceRegister'
import {previewImage, previewFile} from '@/api/purchase/supCompany' import {previewImage, previewFile} from '@/api/purchase/supCompany'
import ElImageViewer from 'element-ui/packages/image/src/image-viewer' import ElImageViewer from 'element-ui/packages/image/src/image-viewer'
import store from '@/store' import store from '@/store'

@ -295,6 +295,9 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col"> <el-col :span="11" class="el-col">
<el-form-item label="药品通用名称:" prop="cpmctymc"> <el-form-item label="药品通用名称:" prop="cpmctymc">
<el-input style="width: 90%" size="small" placeholder="请输入药品通用名称" <el-input style="width: 90%" size="small" placeholder="请输入药品通用名称"
@ -329,6 +332,8 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row>
<el-row type="flex">
<el-col :span="11" class="el-col"> <el-col :span="11" class="el-col">
<el-form-item label="制剂规格:" prop="prepnSpec"> <el-form-item label="制剂规格:" prop="prepnSpec">
<el-input style="width: 90%" size="small" placeholder="请输入制剂规格" <el-input style="width: 90%" size="small" placeholder="请输入制剂规格"
@ -697,6 +702,7 @@
:close-on-press-escape="false" :close-on-press-escape="false"
width="85%" width="85%"
v-if="selectDrugLevelVisible" v-if="selectDrugLevelVisible"
@close="closeSelectDrugLevelVisible"
> >
<el-form :model="filterQueryDrugLevel" class="query-form" label-width="100px"> <el-form :model="filterQueryDrugLevel" class="query-form" label-width="100px">
@ -744,7 +750,7 @@
<el-table-column label="包装规格" prop="bzgg" show-overflow-tooltip></el-table-column> <el-table-column label="包装规格" prop="bzgg" show-overflow-tooltip></el-table-column>
<el-table-column label="包装比例" prop="packRatio" show-overflow-tooltip></el-table-column> <el-table-column label="包装比例" prop="packRatio" show-overflow-tooltip></el-table-column>
<el-table-column label="包装级别" prop="packLevel" show-overflow-tooltip></el-table-column> <el-table-column label="包装级别" prop="packLevel" show-overflow-tooltip></el-table-column>
<el-table-column label="操作"> <el-table-column label="操作" fixed="right">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button type="text" @click="selectDrugLevelItem(scope.row)"> <el-button type="text" @click="selectDrugLevelItem(scope.row)">
选入 选入
@ -1101,7 +1107,6 @@ export default {
// //
levelSave(row) { levelSave(row) {
if (isBlank(row.nameCode)) { if (isBlank(row.nameCode)) {
this.$message.error('层级标识不能为空') this.$message.error('层级标识不能为空')
return return
@ -1185,27 +1190,38 @@ export default {
}) })
}, },
selectDrugLevelItem(row) { selectDrugLevelItem(row) {
getDrugLevelListBycode({ nameCode: row.nameCode }).then((response) => { getDrugLevelListBycode({nameCode: row.nameCode}).then((response) => {
if (response.code == 20000) { if (response.code == 20000) {
if (response.data.length > 0) { if (response.data.length > 0) {
response.data.forEach(item => { response.data.forEach(item => {
// let parts = item.bzgg.split('/');
let parts = item.bzgg.split('/') const levels = item.packRatio.split(":").map(Number);
// ':' const calculatedLevels = [levels[0]];
const ratioParts = item.packRatio.split(':') for (let i = levels.length - 1; i > 0; i--) {
let selectedValue const ratio = levels[i] / levels[i - 1];
if (item.packLevel >= 0 && item.packLevel < ratioParts.length) { calculatedLevels.unshift(ratio);
selectedValue = ratioParts[item.packLevel]
} else {
selectedValue = null //
} }
calculatedLevels.reverse();
let selectedValue = calculatedLevels[item.packLevel - 1];
if (item.packLevel == 1) {
selectedValue = this.extractNumber(this.newProductData.bzgg)
item.xjdw = this.extractUnitAfterNumber(this.newProductData.bzgg)
}
// const ratioParts = item.packRatio.split(':');
// let selectedValue;
// if (item.packLevel >= 0 && item.packLevel < ratioParts.length) {
// selectedValue = ratioParts[item.packLevel];
// } else {
// selectedValue = 1; //
// }
let editQuery = { let editQuery = {
nameCode: item.nameCode, nameCode: item.nameCode,
packLevel: item.packLevel, packLevel: item.packLevel,
packUnit: parts[1] || '', packUnit: parts[1] || '',
bhxjsl: selectedValue, bhxjsl: selectedValue,
relId: this.newProductData.id, relId: this.newProductData.rlId,
uuid: this.newProductData.uuid, uuid: this.newProductData.uuid,
productId: item.productId, productId: item.productId,
diType: item.packLevel == 1 ? 1 : 4, diType: item.packLevel == 1 ? 1 : 4,
@ -1238,7 +1254,10 @@ export default {
this.selectedIndex = this.detailList.length - 1 this.selectedIndex = this.detailList.length - 1
this.isSave = false this.isSave = false
this.selectDrugLevelVisible = false this.selectDrugLevelVisible = false
},
this.getDetailList()
}
,
addDrugLevel() { addDrugLevel() {
this.detailList.push({ this.detailList.push({
nameCode: '', nameCode: '',

Loading…
Cancel
Save