bug修改

dev_unify
yewj 8 months ago
parent 031bd0cd51
commit d3778a11d9

@ -502,16 +502,16 @@
v-if="selectDrugLevelVisible"
>
<el-form :model="filterQueryDrugLevel" class="query-form" label-width="100px" >
<el-form :model="filterQueryDrugLevel" class="query-form" label-width="100px">
<el-row>
<el-col :span="8">
<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-col>
<el-col :span="8">
<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-col>
<el-col :span="8">
@ -531,7 +531,7 @@
</el-form>
<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="type" show-overflow-tooltip></el-table-column>
<el-table-column label="生产企业" prop="manufacturer" show-overflow-tooltip width="200px"></el-table-column>
@ -542,9 +542,9 @@
<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="packLevel" show-overflow-tooltip></el-table-column>
<el-table-column label="操作">
<el-table-column label="操作" fixed="right">
<template slot-scope="scope">
<el-button type="text" @click="selectDrugLevelItem(scope.row)" >
<el-button type="text" @click="selectDrugLevelItem(scope.row)">
选入
</el-button>
</template>
@ -570,7 +570,7 @@ import {
updatetDrug,
delDrugLevel,
updateLevelDrug, calculateDistCount, calculateUseCount,
getDrugLevelList,getDrugLevelListBycode
getDrugLevelList, getDrugLevelListBycode
} from '@/api/basic/product/drugUdiinfos'
import {getCodeRelDetail} from '@/api/basic/product/udiRelevance'
import {isBlank} from "@/utils/strUtil";
@ -617,7 +617,7 @@ export default {
}
},
// components: {selectChargesProjectDialog, chooseHouseDrug},
components: { chooseHouseDrug},
components: {chooseHouseDrug},
data() {
return {
ybDrugDetail: {},
@ -628,7 +628,7 @@ export default {
page: 1,
limit: 20,
total: 0,
approvalNum:"",
approvalNum: "",
},
newProductData: {
cpmctymc: null,
@ -925,7 +925,7 @@ export default {
sjcpbm: row.sjcpbm,
bhxjcpbm: row.bhxjcpbm,
bhxjsl: row.bhxjsl,
relId: this.newProductData.id,
relId: this.newProductData.rlId,
uuid: this.newProductData.uuid,
productId: row.productId,
diType: row.diType,
@ -942,14 +942,14 @@ export default {
//
if (!this.$isNotBlank(this.newProductData.sptm) && !this.$isNotBlank(this.newProductData.ybbm)) {
getCodeRelDetail({drugCode:row.nameCode}).then((response) => {
if (response.code == 20000) {
if (response.data != null && response.data.length > 0) {
this.newProductData.sptm = response.data[0].sptm;
this.newProductData.ybbm = response.data[0].ybbm;
this.getYbDrugData()
}
getCodeRelDetail({drugCode: row.nameCode}).then((response) => {
if (response.code == 20000) {
if (response.data != null && response.data.length > 0) {
this.newProductData.sptm = response.data[0].sptm;
this.newProductData.ybbm = response.data[0].ybbm;
this.getYbDrugData()
}
}
}).catch(() => {
})
}
@ -965,7 +965,7 @@ export default {
row.isUpDisabled = true
row.rowDisabled = false
},
selectDrugLevel(){
selectDrugLevel() {
//
this.filterQueryDrugLevel.approvalNum = this.newProductData.zczbhhzbapzbh
getDrugLevelList(this.filterQueryDrugLevel).then((response) => {
@ -977,21 +977,48 @@ export default {
}).catch(() => {
})
},
selectDrugLevelItem(row){
getDrugLevelListBycode({nameCode:row.nameCode}).then((response) => {
extractNumber(bzgg) {
// 使
const match = bzgg.match(/^\d+/);
// null
return match ? parseInt(match[0], 10) : null;
},
extractUnitAfterNumber(bzgg) {
// 使
const match = bzgg.match(/^\d+([^\d/]+)/);
// null
return match ? match[1].trim() : null;
},
selectDrugLevelItem(row) {
getDrugLevelListBycode({nameCode: row.nameCode}).then((response) => {
if (response.code == 20000) {
if (response.data.length > 0){
response.data.forEach( item => {
//
if (response.data.length > 0) {
response.data.forEach(item => {
let parts = item.bzgg.split('/');
// ':'
const ratioParts = item.packRatio.split(':');
let selectedValue;
if (item.packLevel >= 0 && item.packLevel < ratioParts.length) {
selectedValue = ratioParts[item.packLevel];
} else {
selectedValue = null; //
const levels = item.packRatio.split(":").map(Number);
const calculatedLevels = [levels[0]];
for (let i = levels.length - 1; i > 0; i--) {
const ratio = levels[i] / levels[i - 1];
calculatedLevels.unshift(ratio);
}
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 = {
nameCode: item.nameCode,
@ -1001,7 +1028,7 @@ export default {
relId: this.newProductData.id,
uuid: this.newProductData.uuid,
productId: item.productId,
diType: item.packLevel == 1?1:4,
diType: item.packLevel == 1 ? 1 : 4,
xjdw: item.xjdw
}
updateLevelDrug(editQuery).then(res => {
@ -1012,7 +1039,7 @@ export default {
packLevel: item.packLevel,
packUnit: parts[1] || '',
bhxjsl: selectedValue,
diType: item.packLevel == 1?1:4,
diType: item.packLevel == 1 ? 1 : 4,
isDisabled: false,
rowDisabled: false,
isUpDisabled: true
@ -1022,7 +1049,6 @@ export default {
})
}
}
}).catch(() => {
})
@ -1031,10 +1057,15 @@ export default {
this.selectedIndex = this.detailList.length - 1
this.isSave = false
this.selectDrugLevelVisible = false
},
handleCurrentChange(){
this.getDetailList()
}
,
handleCurrentChange() {
this.selectDrugLevel()
},
}
,
addDrugLevel() {
this.detailList.push({
nameCode: '',
@ -1047,12 +1078,13 @@ export default {
this.newProductData.productId = null
this.selectedIndex = this.detailList.length - 1
this.isSave = false
},
}
,
rowChange(index, val) {
if(this.editRowSwitch == true ){
if (this.editRowSwitch == true) {
this.$message.error('请先保存当前产品标识编辑')
return
}
@ -1060,7 +1092,8 @@ export default {
this.selectedIndex = index
this.isSave = false
this.editRowSwitch = true
},
}
,
deleteLevel(index, row) {
this.$confirm('此操作将删除该层级,是否继续?', '提示', {
@ -1089,27 +1122,28 @@ export default {
}
}).catch(() => {
})
},
//
// setDefaultLevel(){
// //
// if (this.newProductData.distributeMaxLevel == null){
// let levelUnit = this.levelUnitList[this.levelUnitList.length - 1];
// this.newProductData.distributeMaxLevel = levelUnit.packLevel
// }
// // 使
// if (this.newProductData.useMaxLevel == null){
// // packUnitnull
// let levelUnit = this.levelUnitList[0];
// if (isBlank(levelUnit.packUnit)){
// levelUnit = this.levelUnitList[1]
// }
// this.newProductData.useMaxLevel = levelUnit.packLevel
// }
// },
//
}
,
//
// setDefaultLevel(){
// //
// if (this.newProductData.distributeMaxLevel == null){
// let levelUnit = this.levelUnitList[this.levelUnitList.length - 1];
// this.newProductData.distributeMaxLevel = levelUnit.packLevel
// }
// // 使
// if (this.newProductData.useMaxLevel == null){
// // packUnitnull
// let levelUnit = this.levelUnitList[0];
// if (isBlank(levelUnit.packUnit)){
// levelUnit = this.levelUnitList[1]
// }
// this.newProductData.useMaxLevel = levelUnit.packLevel
// }
// },
//
getDetailList() {
if (this.newProductData.uuid != null) {
let query = {
@ -1129,7 +1163,8 @@ export default {
this.detailList = []
})
}
},
}
,
distributeLevelDiChange(val) {
const matchingItem = this.detailList.find(item => item.nameCode == val)
@ -1144,7 +1179,8 @@ export default {
}
})
},
}
,
useLevelDiChange(val) {
const matchingItem = this.detailList.find(item => item.nameCode == val)
if (matchingItem) {
@ -1157,7 +1193,8 @@ export default {
useLeverCount: res.data.useLeverCount
}
})
},
}
,
getDiLevel() {
let query = {
id: this.relId
@ -1173,7 +1210,8 @@ export default {
this.loading = false
this.levelUnitList = []
})
},
}
,
findMaxLevelObject() {
this.maxLevel = 1;
@ -1182,19 +1220,22 @@ export default {
this.maxLevel = Number(obj.packLevel);
}
}
},
}
,
/**
* 选择收费项目
*/
selectPayFeecode() {
this.tollProjectDialogVisible = true
},
}
,
getData(data) {
this.tollProjectDialogVisible = false
this.newProductData.payFeeCode = data.medCatalogCode
},
}
,
/**
* 第三方系统药品信息
*/
@ -1212,7 +1253,8 @@ export default {
this.loading = false
this.sysList = []
})
},
}
,
resetThirdId() {
this.sysList.forEach((item) => {
if (item.sysId === 'thirdId') {
@ -1227,7 +1269,8 @@ export default {
this.newProductData.thirdId4 = item.thirdId
}
})
},
}
,
/**
* 关联 第三方
*/
@ -1235,7 +1278,8 @@ export default {
this.defaultSys = row.sysId
this.isImport = false
this.chooseHouseDrugVisible = true
},
}
,
removeErp(row) {
this.$confirm('此操作将解除该绑定药品信息, 是否继续?', '提示', {
confirmButtonText: '确定',
@ -1264,17 +1308,19 @@ export default {
})
.catch(() => {
})
},
}
,
closeUdi(val) {
this.chooseHouseDrugVisible = false
this.getThirdSysDetail()
},
handleInput(index, value,type){
}
,
handleInput(index, value, type) {
const intValue = parseInt(value, 10);
//
if (type == 1){
if (type == 1) {
this.$set(this.detailList[index], 'packLevel', intValue);
}else {
} else {
this.$set(this.detailList[index], 'bhxjsl', intValue);
}
@ -1297,19 +1343,21 @@ export default {
} else {
this.selectedIndex = 0
}
},
}
,
directives: {
'debounce-input': {
inserted(el, binding) {
let timeout
el.addEventListener('input', () => {
clearTimeout(timeout)
timeout = setTimeout(() => {
binding.value()
}, parseInt(binding.arg) || 300)
})
'debounce-input':
{
inserted(el, binding) {
let timeout
el.addEventListener('input', () => {
clearTimeout(timeout)
timeout = setTimeout(() => {
binding.value()
}, parseInt(binding.arg) || 300)
})
}
}
}
}
}
</script>

@ -717,7 +717,7 @@
<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="packLevel" show-overflow-tooltip></el-table-column>
<el-table-column label="操作">
<el-table-column label="操作" fixed="right">
<template slot-scope="scope">
<el-button type="text" @click="selectDrugLevelItem(scope.row)">
选入
@ -747,13 +747,13 @@ import {
updateLevelDrug, calculateDistCount, calculateUseCount,
getDrugLevelList, getDrugLevelListBycode
} from '@/api/basic/product/drugUdiinfos'
import { isBlank } from '@/utils/strUtil'
import {isBlank} from '@/utils/strUtil'
import {
getYbDrugDetail, removeRl, thirdSysDetail
} from '@/api/basic/product/udiRelevance'
import { filterClassify } from '@/api/purchase/classifyCode'
import { filterByUuid, levelByUuid } from '@/api/basic/product/udiInfo'
import {filterClassify} from '@/api/purchase/classifyCode'
import {filterByUuid, levelByUuid} from '@/api/basic/product/udiInfo'
// import selectChargesProjectDialog from './selectChargesProjectDialog'
// import chooseHouseDrug from './chooseHouseDrug'
@ -829,52 +829,52 @@ export default {
activeNames: ['0', '1', '2'],
formRules: {
cpmctymc: [
{ required: true, message: '请输入药品通用名', trigger: 'blur' }
{required: true, message: '请输入药品通用名', trigger: 'blur'}
],
prepnSpec: [
{ required: true, message: '请输入制剂规格', trigger: 'blur' }
{required: true, message: '请输入制剂规格', trigger: 'blur'}
],
packUnit: [
{ required: true, message: '请输入包装单位', trigger: 'blur' }
{required: true, message: '请输入包装单位', trigger: 'blur'}
],
prepnUnit: [
{ required: true, message: '请输入制剂单位', trigger: 'blur' }
{required: true, message: '请输入制剂单位', trigger: 'blur'}
],
// packRatio: [
// {required: true, message: '', trigger: 'blur'}
// ],
packMatrial: [
{ required: true, message: '请输入包装材质', trigger: 'blur' }
{required: true, message: '请输入包装材质', trigger: 'blur'}
],
zczbhhzbapzbh: [
{ required: true, message: '请输入批准文号', trigger: 'blur' }
{required: true, message: '请输入批准文号', trigger: 'blur'}
],
manufactory: [
{ required: true, message: '生产企业不能为空', trigger: 'blur' }
{required: true, message: '生产企业不能为空', trigger: 'blur'}
],
physicType: [
{ required: true, message: '药品类型不能为空', trigger: 'blur' }
{required: true, message: '药品类型不能为空', trigger: 'blur'}
],
ybbm: [
{ required: true, message: '医保编码不能为空', trigger: 'blur' }
{required: true, message: '医保编码不能为空', trigger: 'blur'}
],
price: [
{ required: true, message: '药品价格不能为空', trigger: 'blur' }
{required: true, message: '药品价格不能为空', trigger: 'blur'}
],
majorStatus: [
{ required: true, message: '请选择药品状态', trigger: 'blur' }
{required: true, message: '请选择药品状态', trigger: 'blur'}
],
distributeLevel: [
{ required: true, message: '请选择计量单位', trigger: 'blur' }
{required: true, message: '请选择计量单位', trigger: 'blur'}
],
distributeMaxLevel: [
{ required: true, message: '请选择允许采集的最大层级', trigger: 'blur' }
{required: true, message: '请选择允许采集的最大层级', trigger: 'blur'}
],
useLevel: [
{ required: true, message: '请选择计量单位', trigger: 'blur' }
{required: true, message: '请选择计量单位', trigger: 'blur'}
],
useMaxLevel: [
{ required: true, message: '请选择允许采集的最大层级', trigger: 'blur' }
{required: true, message: '请选择允许采集的最大层级', trigger: 'blur'}
]
},
detailList: [
@ -1145,28 +1145,54 @@ export default {
}).catch(() => {
})
},
extractNumber(bzgg) {
// 使
const match = bzgg.match(/^\d+/);
// null
return match ? parseInt(match[0], 10) : null;
},
extractUnitAfterNumber(bzgg) {
// 使
const match = bzgg.match(/^\d+([^\d/]+)/);
// null
return match ? match[1].trim() : null;
},
selectDrugLevelItem(row) {
getDrugLevelListBycode({ nameCode: row.nameCode }).then((response) => {
getDrugLevelListBycode({nameCode: row.nameCode}).then((response) => {
if (response.code == 20000) {
if (response.data.length > 0) {
response.data.forEach(item => {
//
let parts = item.bzgg.split('/')
// ':'
const ratioParts = item.packRatio.split(':')
let selectedValue
if (item.packLevel >= 0 && item.packLevel < ratioParts.length) {
selectedValue = ratioParts[item.packLevel]
} else {
selectedValue = null //
let parts = item.bzgg.split('/');
const levels = item.packRatio.split(":").map(Number);
const calculatedLevels = [levels[0]];
for (let i = levels.length - 1; i > 0; i--) {
const ratio = levels[i] / levels[i - 1];
calculatedLevels.unshift(ratio);
}
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 = {
nameCode: item.nameCode,
packLevel: item.packLevel,
packUnit: parts[1] || '',
bhxjsl: selectedValue,
relId: this.newProductData.id,
relId: this.newProductData.rlId,
uuid: this.newProductData.uuid,
productId: item.productId,
diType: item.packLevel == 1 ? 1 : 4,
@ -1199,7 +1225,10 @@ export default {
this.selectedIndex = this.detailList.length - 1
this.isSave = false
this.selectDrugLevelVisible = false
},
this.getDetailList()
}
,
addDrugLevel() {
this.detailList.push({
nameCode: '',
@ -1227,7 +1256,7 @@ export default {
type: 'warning'
}).then(() => {
if (row.id != null) {
let params = { nameCode: row.nameCode }
let params = {nameCode: row.nameCode}
delDrugLevel(params).then((res) => {
if (res.code === 20000) {
this.isSave = true
@ -1413,12 +1442,12 @@ export default {
},
//
handleInput(index, value,type){
handleInput(index, value, type) {
const intValue = parseInt(value, 10);
//
if (type == 1){
if (type == 1) {
this.$set(this.detailList[index], 'packLevel', intValue);
}else {
} else {
this.$set(this.detailList[index], 'bhxjsl', intValue);
}

Loading…
Cancel
Save