|  |  | @ -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 | 
			
		
	
	
		
		
			
				
					|  |  | @ -1189,23 +1194,34 @@ export default { | 
			
		
	
		
		
			
				
					
					|  |  |  |         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 { |  |  |  |               calculatedLevels.reverse(); | 
			
				
				
			
		
	
		
		
			
				
					
					|  |  |  |                 selectedValue = null // 或者你可以设置一个默认值 |  |  |  |               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: '', | 
			
		
	
	
		
		
			
				
					|  |  | 
 |