This commit is contained in:
Zhang.WH
2025-03-19 16:09:06 +08:00
17 changed files with 267 additions and 51 deletions

View File

@@ -132,8 +132,8 @@ public class HealthcareServiceController {
* @param id 主键
* @return 详情
*/
@GetMapping(value = "/healthcare-service-detail/{id}")
public R<?> getHealthcareServiceDetail(@PathVariable("id") Long id) {
@GetMapping(value = "/healthcare-service-detail")
public R<?> getHealthcareServiceDetail(@RequestParam Long id) {
HealthcareServiceDto healthcareServiceDto = new HealthcareServiceDto();
healthcareServiceDto.setId(id);
// 构建查询条件

View File

@@ -1,7 +1,10 @@
package com.openhis.web.doctorstation.appservice;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.core.common.core.domain.R;
import com.openhis.web.doctorstation.dto.AdviceBaseDto;
import com.openhis.web.doctorstation.dto.AdviceSaveDto;
import com.openhis.web.doctorstation.dto.AdviceSaveParam;
/**
* 医生站-医嘱/处方 应用Service
@@ -21,4 +24,12 @@ public interface IDoctorStationAdviceAppService {
IPage<AdviceBaseDto> getAdviceBaseInfo(AdviceBaseDto adviceBaseDto, String searchKey, Long locationId,
Integer pageNo, Integer pageSize);
/**
* 门诊保存医嘱
*
* @param adviceSaveParam 医嘱表单信息
* @return 结果
*/
R<?> saveAdvice(AdviceSaveParam adviceSaveParam);
}

View File

@@ -1,5 +1,7 @@
package com.openhis.web.doctorstation.appservice.impl;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
@@ -13,16 +15,25 @@ import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.core.common.core.domain.R;
import com.core.common.utils.AssignSeqUtil;
import com.core.common.utils.MessageUtils;
import com.openhis.administration.domain.ChargeItem;
import com.openhis.administration.service.IChargeItemService;
import com.openhis.common.constant.CommonConstants;
import com.openhis.common.enums.ActivityType;
import com.openhis.common.enums.ConditionCode;
import com.openhis.common.constant.PromptMsgConstant;
import com.openhis.common.enums.*;
import com.openhis.common.utils.EnumUtils;
import com.openhis.common.utils.HisQueryUtils;
import com.openhis.medication.domain.MedicationRequest;
import com.openhis.medication.service.IMedicationRequestService;
import com.openhis.web.doctorstation.appservice.IDoctorStationAdviceAppService;
import com.openhis.web.doctorstation.dto.AdviceBaseDto;
import com.openhis.web.doctorstation.dto.AdviceInventoryDto;
import com.openhis.web.doctorstation.dto.AdvicePriceDto;
import com.openhis.web.doctorstation.dto.*;
import com.openhis.web.doctorstation.mapper.DoctorStationAdviceAppMapper;
import com.openhis.workflow.domain.DeviceRequest;
import com.openhis.workflow.domain.ServiceRequest;
import com.openhis.workflow.service.IDeviceRequestService;
import com.openhis.workflow.service.IServiceRequestService;
/**
* 医生站-医嘱/处方 应用实现类
@@ -30,9 +41,24 @@ import com.openhis.web.doctorstation.mapper.DoctorStationAdviceAppMapper;
@Service
public class DoctorStationAdviceAppServiceImpl implements IDoctorStationAdviceAppService {
@Resource
AssignSeqUtil assignSeqUtil;
@Resource
DoctorStationAdviceAppMapper doctorStationAdviceAppMapper;
@Resource
IMedicationRequestService iMedicationRequestService;
@Resource
IDeviceRequestService iDeviceRequestService;
@Resource
IServiceRequestService iServiceRequestService;
@Resource
IChargeItemService iChargeItemService;
/**
* 查询医嘱信息
*
@@ -63,6 +89,8 @@ public class DoctorStationAdviceAppServiceImpl implements IDoctorStationAdviceAp
// 医嘱库存集合
List<AdviceInventoryDto> adviceInventory = doctorStationAdviceAppMapper.getAdviceInventory(locationId,
adviceDefinitionIdList, CommonConstants.SqlCondition.ABOUT_INVENTORY_TABLE_STR);
// TODO: 预减库存待处理
// 费用定价子表信息
List<AdvicePriceDto> childCharge = doctorStationAdviceAppMapper
.getChildCharge(ConditionCode.UNIT_PRODUCT_BATCH_NUM.getInfo(), chargeItemDefinitionIdList);
@@ -132,4 +160,135 @@ public class DoctorStationAdviceAppServiceImpl implements IDoctorStationAdviceAp
return adviceBaseInfo;
}
/**
* 门诊保存医嘱
*
* @param adviceSaveParam 医嘱表单信息
* @return 结果
*/
@Override
public R<?> saveAdvice(AdviceSaveParam adviceSaveParam) {
// 医嘱分类信息
List<AdviceSaveDto> adviceSaveList = adviceSaveParam.getAdviceSaveList();
// TODO: 保存医嘱时规则校验;待做
// 药品
List<AdviceSaveDto> medicineList = adviceSaveList.stream()
.filter(e -> ItemType.MEDICINE.getValue().equals(e.getAdviceType())).collect(Collectors.toList());
// 耗材
List<AdviceSaveDto> deviceList = adviceSaveList.stream()
.filter(e -> ItemType.DEVICE.getValue().equals(e.getAdviceType())).collect(Collectors.toList());
// 诊疗活动
List<AdviceSaveDto> activityList = adviceSaveList.stream()
.filter(e -> ItemType.ACTIVITY.getValue().equals(e.getAdviceType())).collect(Collectors.toList());
// 生成处方号 , 只有开了药品才有处方号
String prescriptionNo = "";
if (medicineList.size() > 0) {
prescriptionNo = assignSeqUtil.getSeq(AssignSeqEnum.PRESCRIPTION_NO.getPrefix(), 8);
}
// 保存药品请求
List<MedicationRequest> medicationRequestList = new ArrayList<>();
MedicationRequest medicationRequest;
for (AdviceSaveDto adviceSaveDto : medicineList) {
medicationRequest = new MedicationRequest();
medicationRequest.setBusNo(assignSeqUtil.getSeq(AssignSeqEnum.MEDICATION_RES_NO.getPrefix(), 8));
medicationRequest.setPrescriptionNo(prescriptionNo);
medicationRequest.setQuantity(adviceSaveDto.getQuantity());
medicationRequest.setExecuteNum(adviceSaveDto.getExecuteNum());
medicationRequest.setUnitCode(adviceSaveDto.getUnitCode());
medicationRequest.setLotNumber(adviceSaveDto.getLotNumber());
medicationRequest.setStatusEnum(adviceSaveDto.getStatusEnum());
medicationRequest.setCategoryEnum(adviceSaveDto.getCategoryEnum());
medicationRequest.setMedicationId(adviceSaveDto.getAdviceDefinitionId());// 医嘱定义id
medicationRequest.setPatientId(adviceSaveDto.getPatientId());
medicationRequest.setPractitionerId(adviceSaveDto.getPractitionerId());
medicationRequest.setOrgId(adviceSaveDto.getOrgId());
medicationRequest.setLocationId(adviceSaveDto.getLocationId());
medicationRequest.setEncounterId(adviceSaveDto.getEncounterId());
medicationRequest.setTherapyEnum(adviceSaveDto.getTherapyEnum());
medicationRequest.setMethodCode(adviceSaveDto.getMethodCode());
medicationRequest.setRateCode(adviceSaveDto.getRateCode());
medicationRequest.setDose(adviceSaveDto.getDose());
medicationRequest.setDoseUnitCode(adviceSaveDto.getDoseUnitCode());
// medicationRequest.setPackageId(adviceSaveDto.getPackageId());
medicationRequestList.add(medicationRequest);
}
iMedicationRequestService.saveBatch(medicationRequestList);
// 保存耗材请求
List<DeviceRequest> deviceRequestList = new ArrayList<>();
DeviceRequest deviceRequest;
for (AdviceSaveDto adviceSaveDto : deviceList) {
deviceRequest = new DeviceRequest();
deviceRequest.setBusNo(assignSeqUtil.getSeq(AssignSeqEnum.DEVICE_RES_NO.getPrefix(), 8));
deviceRequest.setPrescriptionNo(prescriptionNo);
deviceRequest.setQuantity(adviceSaveDto.getQuantity());
deviceRequest.setUnitCode(adviceSaveDto.getUnitCode());
deviceRequest.setLotNumber(adviceSaveDto.getLotNumber());
deviceRequest.setStatusEnum(adviceSaveDto.getStatusEnum());
deviceRequest.setCategoryEnum(adviceSaveDto.getCategoryEnum());
deviceRequest.setDeviceDefId(adviceSaveDto.getAdviceDefinitionId());// 耗材定义id
deviceRequest.setPatientId(adviceSaveDto.getPatientId());
deviceRequest.setRequesterId(adviceSaveDto.getPractitionerId());
deviceRequest.setOrgId(adviceSaveDto.getOrgId());
deviceRequest.setLocationId(adviceSaveDto.getLocationId());
deviceRequest.setEncounterId(adviceSaveDto.getEncounterId());
// deviceRequest.setPackageId(adviceSaveDto.getPackageId());
// deviceRequest.setActivityId(adviceSaveDto.getActivityId());
deviceRequestList.add(deviceRequest);
}
iDeviceRequestService.saveBatch(deviceRequestList);
// 保存诊疗项目请求
List<ServiceRequest> serviceRequestList = new ArrayList<>();
ServiceRequest serviceRequest;
for (AdviceSaveDto adviceSaveDto : activityList) {
serviceRequest = new ServiceRequest();
serviceRequest.setBusNo(assignSeqUtil.getSeq(AssignSeqEnum.SERVICE_RES_NO.getPrefix(), 8));
serviceRequest.setPrescriptionNo(prescriptionNo);
serviceRequest.setBasedOnTable(CommonConstants.TableName.WOR_ACTIVITY_DEFINITION);
serviceRequest.setBasedOnId(adviceSaveDto.getAdviceDefinitionId());
serviceRequest.setQuantity(adviceSaveDto.getQuantity());
serviceRequest.setUnitCode(adviceSaveDto.getUnitCode());
serviceRequest.setStatusEnum(adviceSaveDto.getStatusEnum());
serviceRequest.setCategoryEnum(adviceSaveDto.getCategoryEnum());
serviceRequest.setCategoryEnum(adviceSaveDto.getCategoryEnum());
serviceRequest.setActivityId(adviceSaveDto.getAdviceDefinitionId());// 诊疗定义id
serviceRequest.setPatientId(adviceSaveDto.getPatientId());
serviceRequest.setRequesterId(adviceSaveDto.getPractitionerId());
serviceRequest.setEncounterId(adviceSaveDto.getEncounterId());
serviceRequestList.add(serviceRequest);
}
iServiceRequestService.saveBatch(serviceRequestList);
// 保存费用项管理
List<ChargeItem> chargeItemList = new ArrayList<>();
ChargeItem chargeItem;
for (AdviceSaveDto adviceSaveDto : adviceSaveList) {
chargeItem = new ChargeItem();
chargeItem.setStatusEnum(ChargeItemStatus.PLANNED.getValue());
chargeItem.setBusNo(assignSeqUtil.getSeq(AssignSeqEnum.CHARGE_ITEM_NO.getPrefix(), 8));
chargeItem.setPrescriptionNo(prescriptionNo);
chargeItem.setPatientId(adviceSaveDto.getPatientId());
chargeItem.setContextEnum(adviceSaveDto.getAdviceType());
chargeItem.setEncounterId(adviceSaveDto.getEncounterId());
chargeItem.setQuantityValue(adviceSaveDto.getQuantity()); // 数量
chargeItem.setQuantityUnit(adviceSaveDto.getUnitCode()); // 单位
chargeItem.setUnitPrice(adviceSaveDto.getUnitPrice()); // 单价
chargeItem
.setTotalPrice((new BigDecimal(adviceSaveDto.getQuantity()).multiply(adviceSaveDto.getUnitPrice()))
.setScale(4, RoundingMode.HALF_UP)); // 总价
chargeItem.setDefinitionId(adviceSaveDto.getDefinitionId());
chargeItem.setDefDetailId(adviceSaveDto.getDefinitionDetailId());
chargeItemList.add(chargeItem);
}
iChargeItemService.saveBatch(chargeItemList);
// TODO: 此处调用请求方法接口
return R.ok(null, MessageUtils.createMessage(PromptMsgConstant.Common.M00002, new Object[] {"门诊医嘱"}));
}
}

View File

@@ -3,14 +3,12 @@
*/
package com.openhis.web.doctorstation.controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import com.core.common.core.domain.R;
import com.openhis.web.doctorstation.appservice.IDoctorStationAdviceAppService;
import com.openhis.web.doctorstation.dto.AdviceBaseDto;
import com.openhis.web.doctorstation.dto.AdviceSaveParam;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@@ -39,11 +37,22 @@ public class DoctorStationAdviceController {
@GetMapping(value = "/advice-base-info")
public R<?> getAdviceBaseInfo(AdviceBaseDto adviceBaseDto,
@RequestParam(value = "searchKey", defaultValue = "") String searchKey,
@RequestParam(value = "locationId",required = false) Long locationId,
@RequestParam(value = "locationId", required = false) Long locationId,
@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) {
return R.ok(
iDoctorStationAdviceAppService.getAdviceBaseInfo(adviceBaseDto, searchKey, locationId, pageNo, pageSize));
}
/**
* 门诊保存医嘱
*
* @param adviceSaveParam 医嘱表单信息
* @return 结果
*/
@PostMapping(value = "/save-advice")
public R<?> saveAdvice(@RequestBody AdviceSaveParam adviceSaveParam) {
return iDoctorStationAdviceAppService.saveAdvice(adviceSaveParam);
}
}

View File

@@ -17,7 +17,7 @@ import lombok.experimental.Accessors;
public class AdviceBaseDto {
/** 医嘱类型 */
private String adviceType; // 1:药品 , 2: 耗材 , 3:项目
private Integer adviceType; // 1:药品 , 2: 耗材 , 3:项目
/** 医嘱定义ID */
@JsonSerialize(using = ToStringSerializer.class)

View File

@@ -25,6 +25,10 @@ public class AdvicePriceDto {
@JsonSerialize(using = ToStringSerializer.class)
private Long definitionId;
/** 费用定价子表ID */
@JsonSerialize(using = ToStringSerializer.class)
private Long definitionDetailId;
/** 命中条件 */
private String conditionCode;

View File

@@ -1,9 +1,12 @@
package com.openhis.web.doctorstation.dto;
import java.math.BigDecimal;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.openhis.common.enums.EncounterClass;
import com.openhis.common.enums.RequestStatus;
import com.openhis.common.enums.TherapyTimeType;
import lombok.Data;
import lombok.experimental.Accessors;
@@ -16,7 +19,7 @@ import lombok.experimental.Accessors;
public class AdviceSaveDto {
/** 医嘱类型 */
private String adviceType; // 1:药品 , 2: 耗材 , 3:项目
private Integer adviceType; // 1:药品 , 2: 耗材 , 3:项目
/** 执行次数 */
private Integer executeNum; // 当医嘱类型为药品时,选填
@@ -30,6 +33,17 @@ public class AdviceSaveDto {
/** 请求单位编码 */
private String unitCode;
/** 单价 */
private BigDecimal unitPrice;
/** 费用定价主表ID */
@JsonSerialize(using = ToStringSerializer.class)
private Long definitionId;
/** 费用定价子表ID */
@JsonSerialize(using = ToStringSerializer.class)
private Long definitionDetailId;
/** 产品批号 */
private String lotNumber;
@@ -65,6 +79,21 @@ public class AdviceSaveDto {
@JsonSerialize(using = ToStringSerializer.class)
private Long encounterId;
/** 治疗类型 */
private Integer therapyEnum;
/** 用法 */
private String methodCode;
/** 用药频次 */
private String rateCode;
/** 单次剂量 */
private BigDecimal dose;
/** 剂量单位 */
private String doseUnitCode;
/** 组套id */
@JsonSerialize(using = ToStringSerializer.class)
private Long packageId; // 该参数先预留出来
@@ -79,6 +108,9 @@ public class AdviceSaveDto {
public AdviceSaveDto() {
this.statusEnum = RequestStatus.DRAFT.getValue();
this.categoryEnum = EncounterClass.AMB.getValue();
this.therapyEnum = TherapyTimeType.TEMPORARY.getValue();
// TODO: 应该从当前登录账号获取参与者id,现在没有
// this.practitionerId
}
}

View File

@@ -48,7 +48,7 @@ public class InventoryManageAssembler {
// 收费项id供应物品id
.setProductId(supplyItemDetailDto.getItemId())
// 物品数量
.setQuantityValue(supplyItemDetailDto.getItemQuantity().longValue())
.setQuantityValue(supplyItemDetailDto.getItemQuantity().intValue())
// 物品单位
.setQuantityUnit(supplyItemDetailDto.getItemUnit())
// 原价

View File

@@ -36,10 +36,10 @@ public class OutpatientInfusionRecordController {
* 查询门诊输液的患者列表
*
* @param outpatientInfusionSearchParam 查询参数
* @return 门诊输液的患者列表
* @return 返回门诊输液的患者列表
*/
@GetMapping(value = "/infusion-patient-list")
public R<?> getPatientInfusionRecord(OutpatientInfusionSearchParam outpatientInfusionSearchParam,
public R<?> getOutpatientInfusionPatientList(OutpatientInfusionSearchParam outpatientInfusionSearchParam,
@RequestParam(value = "pageNo", defaultValue = "1") Integer pageNo,
@RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) {

View File

@@ -30,7 +30,7 @@
abi.advice_table_name
from (
SELECT T1.tenant_id,
'1' AS advice_type,
1 AS advice_type,
T1.ID AS advice_definition_id,
T1.NAME AS advice_name,
T1.bus_no AS advice_bus_no,
@@ -65,7 +65,7 @@
WHERE T1.delete_flag = '0'
UNION ALL
SELECT T1.tenant_id,
'2' AS advice_type,
2 AS advice_type,
T1.ID AS advice_definition_id,
T1.NAME AS advice_name,
T1.bus_no AS advice_bus_no,
@@ -98,7 +98,7 @@
WHERE T1.delete_flag = '0'
UNION ALL
SELECT T1.tenant_id,
'3' AS advice_type,
3 AS advice_type,
T1.ID AS advice_definition_id,
T1.NAME AS advice_name,
T1.bus_no AS advice_bus_no,
@@ -162,6 +162,7 @@
<select id="getChildCharge" resultType="com.openhis.web.doctorstation.dto.AdvicePriceDto">
SELECT
T1.definition_id,
T1.id AS definition_detail_id,
T2.charge_name,
T1.condition_value,
T1.condition_code,

View File

@@ -16,25 +16,25 @@ import lombok.Getter;
@AllArgsConstructor
public enum ChargeItemContext implements HisEnumInterface {
/**
* 采购
*/
PURCHASE(1, "1", "采购"),
/**
* 药品
*/
MEDICATION(2, "2", "药品"),
MEDICATION(1, "1", "药品"),
/**
* 耗材
*/
DEVICE(3, "3", "耗材"),
DEVICE(2, "2", "耗材"),
/**
* 项目
*/
ACTIVITY(4, "4", "项目");
ACTIVITY(3, "3", "项目"),
/**
* 采购
*/
PURCHASE(4, "4", "采购");
private final Integer value;
private final String code;

View File

@@ -62,7 +62,7 @@ public class ChargeItem extends HisBaseEntity {
private Long costOrgId;
/** 数量 */
private Long quantityValue;
private Integer quantityValue;
/** 单位 */
private String quantityUnit;

View File

@@ -29,7 +29,7 @@ public class MedicationRequest extends HisBaseEntity {
private Long id;
/** 药品请求编码 */
private String bus_no;
private String busNo;
/** 处方号 */
private String prescriptionNo;

View File

@@ -35,7 +35,7 @@ public class DeviceRequest extends HisBaseEntity {
private String prescriptionNo;
/** 相关诊疗项目 */
private Integer activityId;
private Long activityId;
/** 组套id */
private Long packageId;

View File

@@ -62,7 +62,7 @@ public class ServiceRequest extends HisBaseEntity {
private Long activityId;
/** 数量 */
private BigDecimal quantity;
private Integer quantity;
/** 单位 */
private String unitCode;

View File

@@ -1,18 +1,18 @@
import request from '@/utils/request'
// 待执行输液记录查询
export function listInfusionRecord(query) {
export function listInfusionRecord() {
return request({
url: '/outpatient-manage/infusion/infusion-wait-perform-record',
method: 'get',
params: query
method: 'get'
})
}
// 病人列表
export function listPatients() {
export function listPatients(query) {
return request({
url: '/outpatient-manage/infusion/patient-infusion',
url: '/outpatient-manage/infusion/infusion-patient-list',
method: 'get',
params: query
})
}
@@ -25,10 +25,10 @@ export function updateInfusionRecord(data) {
})
}
// 查询单个患者门诊输液记录查询
// 点击患者,查询该患者的输液记录
export function listPatientInfusionRecord(query) {
return request({
url: '/outpatient-manage/infusion/patient-infusion',
url: '/outpatient-manage/infusion/patient-infusion-record',
method: 'get',
params: query
})

View File

@@ -115,12 +115,12 @@ const currentRow = ref(null);
const dateRange = ref([]);
const historyRecordsList = ref([])
const patientList = ref([]);
const infusionList = ref([]);
// const infusionList = ref([
// { groupId: 1, executionCount: 2, doctorId_dictText: '张三', patientName: '李四', genderEnum_enumText: '男', status: '123456789012345678', medicationInformation: '药品A', medicationAntity: 10, rateCode: '每日一次', dose: '10mg', speed: '50ml/h', orgId_dictText: '内科', medicationStatusEnum_enumText: '已发放', skinTestFlag_enumText: '是', clinicalStatusEnum_enumText: '阴性' },
// { groupId: 1, executionCount: 2, doctorId_dictText: '张三', patientName: '王五', genderEnum_enumText: '女', status: '123456789012345679', medicationInformation: '药品A', medicationAntity: 10, rateCode: '每日一次', dose: '10mg', speed: '50ml/h', orgId_dictText: '内科', medicationStatusEnum_enumText: '已发放', skinTestFlag_enumText: '是', clinicalStatusEnum_enumText: '阴性' },
// { groupId: 2, executionCount: 1, doctorId_dictText: '李六', patientName: '赵七', genderEnum_enumText: '男', status: '123456789012345680', medicationInformation: '药品B', medicationAntity: 5, rateCode: '每日两次', dose: '5mg', speed: '30ml/h', orgId_dictText: '外科', medicationStatusEnum_enumText: '已发放', skinTestFlag_enumText: '否', clinicalStatusEnum_enumText: '无' },
// ]);
// const infusionList = ref([]);
const infusionList = ref([
{ groupId: 1, executionCount: 2, doctorId_dictText: '张三', patientName: '李四', genderEnum_enumText: '男', status: '123456789012345678', medicationInformation: '药品A', medicationAntity: 10, rateCode: '每日一次', dose: '10mg', speed: '50ml/h', orgId_dictText: '内科', medicationStatusEnum_enumText: '已发放', flagText: '是', clinicalStatusEnum_enumText: '阴性' },
{ groupId: 1, executionCount: 2, doctorId_dictText: '张三', patientName: '王五', genderEnum_enumText: '女', status: '123456789012345679', medicationInformation: '药品A', medicationAntity: 10, rateCode: '每日一次', dose: '10mg', speed: '50ml/h', orgId_dictText: '内科', medicationStatusEnum_enumText: '已发放', flagText: '是', clinicalStatusEnum_enumText: '阴性' },
{ groupId: 2, executionCount: 1, doctorId_dictText: '李六', patientName: '赵七', genderEnum_enumText: '男', status: '123456789012345680', medicationInformation: '药品B', medicationAntity: 5, rateCode: '每日两次', dose: '5mg', speed: '30ml/h', orgId_dictText: '外科', medicationStatusEnum_enumText: '已发放', flagText: '否', clinicalStatusEnum_enumText: '无' },
]);
const ids = ref([]);
@@ -193,30 +193,30 @@ function handleSelectionChange(selection) {
});
// 获取当前选中的 groupId 和 medicationId 集合
const currentGroupIds = new Set(selection.map(item => item.groupId));
// const currentMedicationIds = new Set(selection.map(item => item.medicationId));
const currentMedicationIds = new Set(selection.map(item => item.medicationId));
// 更新 selectedGroupIds 和 selectedMedicationIds
selection.forEach(item => {
const groupId = item.groupId;
const medicationId = item.medicationId;
// 检查 groupId 和 medicationId 是否同时存在
if (selectedGroupIds.value.has(groupId) ) {
if (selectedGroupIds.value.has(groupId) && selectedMedicationIds.value.has(medicationId)) {
// 如果都存在,则移除它们
selectedGroupIds.value.delete(groupId);
// selectedMedicationIds.value.delete(medicationId);
selectedMedicationIds.value.delete(medicationId);
} else {
// 否则添加它们
selectedGroupIds.value.add(groupId);
// selectedMedicationIds.value.add(medicationId);
selectedMedicationIds.value.add(medicationId);
}
});
// 动态更新表格行的选中状态
infusionList.value.forEach(row => {
// 检查当前行的 groupId 和 medicationId 是否同时在 selectedGroupIds 和 selectedMedicationIds 中
const isSelected = selectedGroupIds.value.has(row.groupId)
const isSelected = selectedGroupIds.value.has(row.groupId) && selectedMedicationIds.value.has(row.medicationId);
tableRef.value.toggleRowSelection(row, isSelected);
});
console.log('Current selectedGroupIds:', selectedGroupIds.value);
// console.log('Current selectedMedicationIds:', selectedMedicationIds.value);
console.log('Current selectedMedicationIds:', selectedMedicationIds.value);
console.log('Current selectedItems:', selectedItems.value);
}
function handleSubmitCanel(){