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

This commit is contained in:
2026-06-23 15:39:44 +08:00
10 changed files with 130 additions and 36 deletions

View File

@@ -224,6 +224,12 @@ public class RequestBaseDto {
*/ */
private Integer sortNumber; private Integer sortNumber;
/**
* 账户id (费用性质/合同)
*/
@JsonSerialize(using = ToStringSerializer.class)
private Long accountId;
/** /**
* 用药说明 * 用药说明
*/ */

View File

@@ -62,7 +62,8 @@
T1.suffering_flag AS suffering_flag, T1.suffering_flag AS suffering_flag,
T1.dosage_instruction AS dosage_instruction, T1.dosage_instruction AS dosage_instruction,
T2.part_percent AS part_percent, T2.part_percent AS part_percent,
ccd.name AS condition_definition_name ccd.name AS condition_definition_name,
T4.account_id AS account_id
FROM med_medication_request AS T1 FROM med_medication_request AS T1
LEFT JOIN med_medication_definition AS T2 ON T2.ID = T1.medication_id LEFT JOIN med_medication_definition AS T2 ON T2.ID = T1.medication_id
AND T2.delete_flag = '0' AND T2.delete_flag = '0'
@@ -115,7 +116,8 @@
T1.chinese_herbs_dose_quantity AS chinese_herbs_dose_quantity, T1.chinese_herbs_dose_quantity AS chinese_herbs_dose_quantity,
T1.suffering_flag AS suffering_flag, T1.suffering_flag AS suffering_flag,
T2.part_percent AS part_percent, T2.part_percent AS part_percent,
ccd.name AS condition_definition_name ccd.name AS condition_definition_name,
T4.account_id AS account_id
FROM med_medication_request AS T1 FROM med_medication_request AS T1
LEFT JOIN med_medication_definition AS T2 ON T2.ID = T1.medication_id LEFT JOIN med_medication_definition AS T2 ON T2.ID = T1.medication_id
AND T2.delete_flag = '0' AND T2.delete_flag = '0'

View File

@@ -169,24 +169,36 @@ const selectedDisease = ref(false);
const { proxy } = getCurrentInstance(); const { proxy } = getCurrentInstance();
const emit = defineEmits(['close']); const emit = defineEmits(['close']);
// 请求序列号,防止异步回调竞态导致数据重复
let openSeq = 0;
// 获取诊断类型字典 // 获取诊断类型字典
const { diag_type } = proxy.useDict('diag_type'); const { diag_type } = proxy.useDict('diag_type');
function handleOpen() { function handleOpen() {
// 递增序列号,使之前未完成的异步回调失效
const currentSeq = ++openSeq;
console.log('[addDiagnosisDialog] handleOpen() 触发, seq=', currentSeq, 'updateZy长度=', props.updateZy.length);
// 获取诊断列表 // 获取诊断列表
getTcmCondition().then((res) => { getTcmCondition().then((res) => {
// 仅当是最新请求时才更新数据
if (currentSeq !== openSeq) return;
conditionList.value = res.data.records; conditionList.value = res.data.records;
console.log('[addDiagnosisDialog] 诊断列表加载完成, 条数=', res.data.records?.length);
}); });
// 清空数据 // 清空数据(同步清空,确保每次打开弹窗都是干净的状态)
tcmDiagonsisSaveList.value = []; tcmDiagonsisSaveList.value = [];
tcmDiagonsisList.value = []; tcmDiagonsisList.value = [];
syndromeSelected.value = true; // 设置为true允许添加新的诊断 syndromeSelected.value = true; // 设置为true允许添加新的诊断
console.log('[addDiagnosisDialog] 列表已清空, tcmDiagonsisList.length=', tcmDiagonsisList.value.length);
// 如果是修改模式,加载传入的诊断数据 // 如果是修改模式,加载传入的诊断数据
if (props.updateZy.length > 0) { if (props.updateZy.length > 0) {
console.log('[addDiagnosisDialog] 编辑模式, 从updateZy加载数据:', JSON.stringify(props.updateZy));
props.updateZy.forEach((item) => { props.updateZy.forEach((item) => {
let updateIds = item.updateId.split("-"); let updateIds = item.updateId.split("-");
let name = item.name.split("-"); let name = item.name.split("-");
@@ -218,14 +230,33 @@ function handleOpen() {
}); });
syndromeSelected.value = true; syndromeSelected.value = true;
}); });
console.log('[addDiagnosisDialog] 编辑模式加载完成, tcmDiagonsisList=', JSON.stringify(tcmDiagonsisList.value));
} else { } else {
// 不是修改模式,加载已保存的中医诊断 // 不是修改模式,加载已保存的中医诊断
console.log('[addDiagnosisDialog] 新增模式, 从API加载已有诊断, encounterId=', props.patientInfo?.encounterId);
if (props.patientInfo && props.patientInfo.encounterId) { if (props.patientInfo && props.patientInfo.encounterId) {
getTcmDiagnosis({ encounterId: props.patientInfo.encounterId }).then((res) => { // 添加时间戳参数防止浏览器缓存,确保每次打开弹窗都获取最新数据
getTcmDiagnosis({ encounterId: props.patientInfo.encounterId, _t: Date.now() }).then((res) => {
// 仅当是最新请求时才更新数据,防止旧回调污染列表
if (currentSeq !== openSeq) {
console.log('[addDiagnosisDialog] API响应被丢弃(seq不匹配), currentSeq=', currentSeq, 'openSeq=', openSeq);
return;
}
console.log('[addDiagnosisDialog] API返回 getTcmDiagnosis, code=', res.code, 'illness条数=', res.data?.illness?.length);
if (res.code === 200 && res.data.illness && res.data.illness.length > 0) { if (res.code === 200 && res.data.illness && res.data.illness.length > 0) {
// 用于去重的集合:疾病名+证候名
const seenPairs = new Set();
res.data.illness.forEach((item, index) => { res.data.illness.forEach((item, index) => {
const symptom = res.data.symptom[index]; const symptom = res.data.symptom[index];
if (symptom) { if (symptom) {
const pairKey = item.name + '|' + symptom.name;
// 如果已存在完全相同的疾病+证候组合,跳过(防止数据库中已有重复数据显示多次)
if (seenPairs.has(pairKey)) {
console.log('[addDiagnosisDialog] 跳过重复已有诊断: illness=', item.name, 'symptom=', symptom.name, 'syndromeGroupNo=', item.syndromeGroupNo);
return;
}
seenPairs.add(pairKey);
console.log('[addDiagnosisDialog] 添加已有诊断: illness=', item.name, 'symptom=', symptom.name, 'syndromeGroupNo=', item.syndromeGroupNo);
// 添加到显示列表 // 添加到显示列表
tcmDiagonsisList.value.push({ tcmDiagonsisList.value.push({
conditionName: item.name, conditionName: item.name,
@@ -233,7 +264,7 @@ function handleOpen() {
syndromeGroupNo: item.syndromeGroupNo, syndromeGroupNo: item.syndromeGroupNo,
isExisting: true // 标记为已存在 isExisting: true // 标记为已存在
}); });
// 添加到保存列表 // 添加到保存列表
tcmDiagonsisSaveList.value.push( tcmDiagonsisSaveList.value.push(
{ {
@@ -257,8 +288,13 @@ function handleOpen() {
); );
} }
}); });
console.log('[addDiagnosisDialog] 加载完成, tcmDiagonsisList=', JSON.stringify(tcmDiagonsisList.value));
} else {
console.log('[addDiagnosisDialog] 没有已有诊断数据');
} }
}).catch(err => { }).catch(err => {
// 忽略过期请求的错误
if (currentSeq !== openSeq) return;
console.error('加载已保存的中医诊断失败:', err); console.error('加载已保存的中医诊断失败:', err);
}); });
} }
@@ -268,14 +304,16 @@ function handleOpen() {
// 点击诊断列表处理,点击以后才显示证候列表 // 点击诊断列表处理,点击以后才显示证候列表
// vxe-table v4 cell-click 事件参数为 { row, column, rowIndex, ... },需解构获取实际行数据 // vxe-table v4 cell-click 事件参数为 { row, column, rowIndex, ... },需解构获取实际行数据
function handleClickRow({ row }) { function handleClickRow({ row }) {
console.log('[addDiagnosisDialog] handleClickRow 触发, row.name=', row.name, 'syndromeSelected=', syndromeSelected.value, 'listLength=', tcmDiagonsisList.value.length);
if (syndromeSelected.value || tcmDiagonsisList.value.length == 0) { if (syndromeSelected.value || tcmDiagonsisList.value.length == 0) {
syndromeSelected.value = false; syndromeSelected.value = false;
selectedDisease.value = true; selectedDisease.value = true;
timestamp.value = Date.now(); timestamp.value = Date.now();
console.log('[addDiagnosisDialog] 添加新诊断: disease=', row.name, 'syndromeGroupNo=', timestamp.value);
getTcmSyndrome().then((res) => { getTcmSyndrome().then((res) => {
syndromeList.value = res.data.records; syndromeList.value = res.data.records;
}); });
// 添加新的诊断 // 添加新的诊断
tcmDiagonsisSaveList.value.push({ tcmDiagonsisSaveList.value.push({
definitionId: row.id, definitionId: row.id,
@@ -290,22 +328,23 @@ function handleClickRow({ row }) {
syndromeGroupNo: timestamp.value, syndromeGroupNo: timestamp.value,
isExisting: false // 标记为新增 isExisting: false // 标记为新增
}); });
console.log('[addDiagnosisDialog] 添加后 tcmDiagonsisList=', JSON.stringify(tcmDiagonsisList.value));
} }
} }
// vxe-table v4 cell-click 事件参数为 { row, column, rowIndex, ... },需解构获取实际行数据 // vxe-table v4 cell-click 事件参数为 { row, column, rowIndex, ... },需解构获取实际行数据
function clickSyndromeRow({ row }) { function clickSyndromeRow({ row }) {
// 检查是否已存在完全相同的诊断和证候 // 检查是否已存在完全相同的诊断和证候(包括已保存的和当前新增的)
let flag = true; let flag = true;
const currentConditionName = tcmDiagonsisList.value[tcmDiagonsisList.value.length - 1].conditionName; const currentConditionName = tcmDiagonsisList.value[tcmDiagonsisList.value.length - 1].conditionName;
tcmDiagonsisList.value.forEach(item => { tcmDiagonsisList.value.forEach(item => {
if (item.conditionName === currentConditionName && item.syndromeName === row.name) { if (item.conditionName === currentConditionName && item.syndromeName === row.name) {
proxy.$modal.msgWarning('不能存在完全相同的诊断和证候'); proxy.$modal.msgWarning('不能存在完全相同的诊断和证候');
flag = false; flag = false;
} }
}); });
if (flag) { if (flag) {
tcmDiagonsisSaveList.value.push({ tcmDiagonsisSaveList.value.push({
definitionId: row.id, definitionId: row.id,
@@ -321,29 +360,33 @@ function clickSyndromeRow({ row }) {
// 删除诊断 // 删除诊断
function removeDiagnosis(row, index) { function removeDiagnosis(row, index) {
console.log('[addDiagnosisDialog] removeDiagnosis 触发, row=', JSON.stringify(row), 'index=', index);
tcmDiagonsisList.value.splice(index, 1); tcmDiagonsisList.value.splice(index, 1);
tcmDiagonsisSaveList.value = tcmDiagonsisSaveList.value.filter((item) => { tcmDiagonsisSaveList.value = tcmDiagonsisSaveList.value.filter((item) => {
return item.syndromeGroupNo !== row.syndromeGroupNo; return item.syndromeGroupNo !== row.syndromeGroupNo;
}); });
console.log('[addDiagnosisDialog] 删除后 tcmDiagonsisList=', JSON.stringify(tcmDiagonsisList.value));
} }
function save() { function save() {
// 只保存新增的诊断,过滤掉已存在的 // 只保存新增的诊断,过滤掉已存在的
const newDiagnosisList = tcmDiagonsisSaveList.value.filter(item => !item.isExisting); const newDiagnosisList = tcmDiagonsisSaveList.value.filter(item => !item.isExisting);
console.log('[addDiagnosisDialog] save() 触发, newDiagnosisList长度=', newDiagnosisList.length, 'updateZy长度=', props.updateZy.length);
if (newDiagnosisList.length === 0) { if (newDiagnosisList.length === 0) {
proxy.$modal.msgWarning('没有新增的诊断需要保存'); proxy.$modal.msgWarning('没有新增的诊断需要保存');
return; return;
} }
if (props.updateZy.length > 0) { if (props.updateZy.length > 0) {
// 修改模式 // 修改模式
console.log('[addDiagnosisDialog] 调用 updateTcmDiagnosis');
updateTcmDiagnosis({ updateTcmDiagnosis({
patientId: props.patientInfo.patientId, patientId: props.patientInfo.patientId,
encounterId: props.patientInfo.encounterId, encounterId: props.patientInfo.encounterId,
diagnosisChildList: newDiagnosisList, diagnosisChildList: newDiagnosisList,
}).then((res) => { }).then((res) => {
console.log('[addDiagnosisDialog] updateTcmDiagnosis 响应, code=', res.code);
if (res.code == 200) { if (res.code == 200) {
emit('close'); emit('close');
proxy.$modal.msgSuccess('诊断已保存'); proxy.$modal.msgSuccess('诊断已保存');
@@ -351,11 +394,13 @@ function save() {
}); });
} else { } else {
// 新增模式 // 新增模式
console.log('[addDiagnosisDialog] 调用 saveTcmDiagnosis');
saveTcmDiagnosis({ saveTcmDiagnosis({
patientId: props.patientInfo.patientId, patientId: props.patientInfo.patientId,
encounterId: props.patientInfo.encounterId, encounterId: props.patientInfo.encounterId,
diagnosisChildList: newDiagnosisList, diagnosisChildList: newDiagnosisList,
}).then((res) => { }).then((res) => {
console.log('[addDiagnosisDialog] saveTcmDiagnosis 响应, code=', res.code);
if (res.code == 200) { if (res.code == 200) {
emit('close'); emit('close');
proxy.$modal.msgSuccess('诊断已保存'); proxy.$modal.msgSuccess('诊断已保存');
@@ -367,13 +412,15 @@ function save() {
function submit() { function submit() {
// 检查是否有新增的诊断 // 检查是否有新增的诊断
const hasNewDiagnosis = tcmDiagonsisSaveList.value.some(item => !item.isExisting); const hasNewDiagnosis = tcmDiagonsisSaveList.value.some(item => !item.isExisting);
console.log('[addDiagnosisDialog] submit() 触发, hasNewDiagnosis=', hasNewDiagnosis, 'syndromeSelected=', syndromeSelected.value);
if (!hasNewDiagnosis) { if (!hasNewDiagnosis) {
// 如果没有新增诊断,直接关闭 // 如果没有新增诊断,直接关闭
console.log('[addDiagnosisDialog] 无新增诊断,直接关闭弹窗');
emit('close'); emit('close');
return; return;
} }
if (syndromeSelected.value || tcmDiagonsisSaveList.value.length % 2 == 0) { if (syndromeSelected.value || tcmDiagonsisSaveList.value.length % 2 == 0) {
save(); save();
} else { } else {
@@ -381,6 +428,7 @@ function submit() {
} }
} }
function close() { function close() {
console.log('[addDiagnosisDialog] close() 触发 (弹窗@close事件)');
emit('close'); emit('close');
} }
</script> </script>

View File

@@ -539,17 +539,25 @@ async function getList() {
}); });
emits('diagnosisSave', false); emits('diagnosisSave', false);
} }
// 获取现有诊断的排序号集合,用于判断是否重复 // 收集已有中医诊断的 syndromeGroupNo用于去重
const existingDiagSrtNoSet = new Set(form.value.diagnosisList.map(item => item.diagSrtNo)); const existingTcmGroups = new Set(
form.value.diagnosisList
.filter(item => item.typeName === '中医诊断' && item.syndromeGroupNo)
.map(item => item.syndromeGroupNo)
);
const tcmRes = await getTcmDiagnosis({ encounterId: props.patientInfo.encounterId }); const tcmRes = await getTcmDiagnosis({ encounterId: props.patientInfo.encounterId });
console.log('[diagnosis] getList() getTcmDiagnosis 返回, code=', tcmRes.code, 'illness条数=', tcmRes.data?.illness?.length);
if (tcmRes.code == 200) { if (tcmRes.code == 200) {
if (tcmRes.data.illness.length > 0) { if (tcmRes.data.illness.length > 0) {
tcmRes.data.illness.forEach((item, index) => { tcmRes.data.illness.forEach((item, index) => {
// 如果该排序号的诊断已存在,则跳过(避免重复添加) // 使用 syndromeGroupNo 去重,避免与西医诊断的 diagSrtNo 冲突
if (existingDiagSrtNoSet.has(item.diagSrtNo)) { if (existingTcmGroups.has(item.syndromeGroupNo)) {
console.log('[diagnosis] getList() 跳过重复中医诊断, syndromeGroupNo=', item.syndromeGroupNo, 'name=', item.name);
return; return;
} }
existingTcmGroups.add(item.syndromeGroupNo);
console.log('[diagnosis] getList() 添加中医诊断到表格: illness=', item.name, 'symptom=', tcmRes.data.symptom[index]?.name, 'syndromeGroupNo=', item.syndromeGroupNo);
form.value.diagnosisList.push({ form.value.diagnosisList.push({
name: item.name + '-' + tcmRes.data.symptom[index].name, name: item.name + '-' + tcmRes.data.symptom[index].name,
diagSrtNo: item.diagSrtNo, diagSrtNo: item.diagSrtNo,
@@ -564,8 +572,6 @@ async function getList() {
symptomDefinitionId : tcmRes.data.symptom[index].definitionId, symptomDefinitionId : tcmRes.data.symptom[index].definitionId,
symptomYbNo: tcmRes.data.symptom[index].ybNo, symptomYbNo: tcmRes.data.symptom[index].ybNo,
}); });
// 添加后更新集合
existingDiagSrtNoSet.add(item.diagSrtNo);
}); });
} }
emits('diagnosisSave', false); emits('diagnosisSave', false);
@@ -734,6 +740,7 @@ function handleAddDiagnosis() {
// 添加中医诊断 // 添加中医诊断
function handleAddTcmDiagonsis() { function handleAddTcmDiagonsis() {
console.log('[diagnosis] handleAddTcmDiagonsis() 触发, 清空updateZy并打开弹窗');
updateZy.value = []; updateZy.value = [];
openAddDiagnosisDialog.value = true; openAddDiagnosisDialog.value = true;
} }
@@ -742,8 +749,10 @@ function handleAddTcmDiagonsis() {
* 删除诊断 * 删除诊断
*/ */
function handleDeleteDiagnosis(row, index) { function handleDeleteDiagnosis(row, index) {
console.log('[diagnosis] handleDeleteDiagnosis 触发, row=', JSON.stringify({name: row.name, conditionId: row.conditionId, syndromeGroupNo: row.syndromeGroupNo, typeName: row.typeName}));
if (row.conditionId) { if (row.conditionId) {
delEncounterDiagnosis(row.conditionId).then((res) => { delEncounterDiagnosis(row.conditionId).then((res) => {
console.log('[diagnosis] delEncounterDiagnosis 响应, code=', res.code);
if (res.code == 200) { if (res.code == 200) {
proxy.$modal.msgSuccess('删除成功'); proxy.$modal.msgSuccess('删除成功');
getList(); getList();
@@ -751,11 +760,21 @@ function handleDeleteDiagnosis(row, index) {
} }
}); });
} else if (row.syndromeGroupNo) { } else if (row.syndromeGroupNo) {
deleteTcmDiagnosis(row.syndromeGroupNo).then(() => { console.log('[diagnosis] 调用 deleteTcmDiagnosis, syndromeGroupNo=', row.syndromeGroupNo);
getList(); deleteTcmDiagnosis(row.syndromeGroupNo).then((res) => {
getTree(); console.log('[diagnosis] deleteTcmDiagnosis 响应, code=', res?.code, 'msg=', res?.msg);
if (res.code == 200) {
proxy.$modal.msgSuccess('删除成功');
getList();
getTree();
} else {
proxy.$modal.msgError(res?.msg || '删除失败,请稍后重试');
}
}).catch(() => {
proxy.$modal.msgError('删除请求失败,请检查网络');
}); });
} else { } else {
console.log('[diagnosis] 本地删除(未保存的诊断), index=', index);
form.value.diagnosisList.splice(index, 1); form.value.diagnosisList.splice(index, 1);
// 删除后不重新计算排序号,保持用户设置的排序不变 // 删除后不重新计算排序号,保持用户设置的排序不变
emits('diagnosisSave', false); emits('diagnosisSave', false);
@@ -961,11 +980,20 @@ function handleInfectiousDiseaseReport() {
* 关闭诊断弹窗 * 关闭诊断弹窗
*/ */
function closeDiagnosisDialog(str) { function closeDiagnosisDialog(str) {
console.log('[diagnosis] closeDiagnosisDialog 触发, str=', str, 'openAddDiagnosisDialog=', openAddDiagnosisDialog.value, 'openDiagnosis=', openDiagnosis.value);
if (str === 'success') { if (str === 'success') {
proxy.$modal.msgSuccess('操作成功'); proxy.$modal.msgSuccess('操作成功');
} }
// 防止重复调用导致并发 getList()
if (!openAddDiagnosisDialog.value && !openDiagnosis.value) {
console.log('[diagnosis] closeDiagnosisDialog 跳过(弹窗已关闭)');
return;
}
openAddDiagnosisDialog.value = false; openAddDiagnosisDialog.value = false;
openDiagnosis.value = false; openDiagnosis.value = false;
// 清理 updateZy避免编辑模式数据残留
updateZy.value = [];
console.log('[diagnosis] 弹窗关闭, updateZy已清空, 开始刷新列表');
getList(); getList();
getTree(); getTree();
} }
@@ -1010,6 +1038,7 @@ function closeDiagnosisPopover(row) {
/**获取焦点时 打开列表 */ /**获取焦点时 打开列表 */
function handleFocus(row, index) { function handleFocus(row, index) {
if(row.typeName==='中医诊断'){ if(row.typeName==='中医诊断'){
console.log('[diagnosis] handleFocus 触发(编辑中医诊断), row.name=', row.name, 'syndromeGroupNo=', row.syndromeGroupNo);
updateZy.value = []; updateZy.value = [];
updateZy.value.push({ updateZy.value.push({
illnessDefinitionId: row.illnessDefinitionId, illnessDefinitionId: row.illnessDefinitionId,
@@ -1021,6 +1050,7 @@ function handleFocus(row, index) {
diagSrtNo: row.diagSrtNo, diagSrtNo: row.diagSrtNo,
name:row.name, name:row.name,
}); });
console.log('[diagnosis] updateZy 已设置, 打开编辑弹窗');
openAddDiagnosisDialog.value = true; openAddDiagnosisDialog.value = true;
}else{ }else{
// 关闭其他行的弹窗 // 关闭其他行的弹窗

View File

@@ -130,7 +130,7 @@
</el-select> </el-select>
<span class="doctor-station"> 煎药方式 </span> <span class="doctor-station"> 煎药方式 </span>
<el-select <el-select
v-model="decoctionMethod" v-model="prescription.dosageInstruction"
placeholder="" placeholder=""
style="width: 120px" style="width: 120px"
> >
@@ -569,6 +569,7 @@ const tcmPrescriptionList = ref([
rateCode: '', rateCode: '',
dispensePerDuration: '', dispensePerDuration: '',
chineseHerbsDoseQuantity: '', chineseHerbsDoseQuantity: '',
dosageInstruction: '',
sufferingFlag: '0', sufferingFlag: '0',
checkAll: false, checkAll: false,
groupIndexList: [], groupIndexList: [],
@@ -688,11 +689,12 @@ async function getListInfo(addNewRow) {
id: generatePrescriptionId(), id: generatePrescriptionId(),
prescriptionList: [], prescriptionList: [],
conditionDefinitionId: '', conditionDefinitionId: '',
accountId: contractList.value[0].accountId, accountId: contractList.value?.[0]?.accountId || '',
methodCode: '', methodCode: '',
rateCode: '', rateCode: '',
dispensePerDuration: '', dispensePerDuration: '',
chineseHerbsDoseQuantity: '', chineseHerbsDoseQuantity: '',
dosageInstruction: '',
sufferingFlag: '0', sufferingFlag: '0',
checkAll: false, checkAll: false,
groupIndexList: [], groupIndexList: [],
@@ -729,6 +731,9 @@ async function getListInfo(addNewRow) {
if (firstItem.sufferingFlag !== undefined && firstItem.sufferingFlag !== null) { if (firstItem.sufferingFlag !== undefined && firstItem.sufferingFlag !== null) {
prescription.sufferingFlag = firstItem.sufferingFlag; prescription.sufferingFlag = firstItem.sufferingFlag;
} }
if (firstItem.dosageInstruction !== undefined && firstItem.dosageInstruction !== null) {
prescription.dosageInstruction = firstItem.dosageInstruction;
}
} }
return prescription; return prescription;
@@ -740,11 +745,12 @@ async function getListInfo(addNewRow) {
id: generatePrescriptionId(), id: generatePrescriptionId(),
prescriptionList: [], prescriptionList: [],
conditionDefinitionId: '', conditionDefinitionId: '',
accountId: contractList.value[0].accountId, accountId: contractList.value?.[0]?.accountId || '',
methodCode: '', methodCode: '',
rateCode: '', rateCode: '',
dispensePerDuration: '', dispensePerDuration: '',
chineseHerbsDoseQuantity: '', chineseHerbsDoseQuantity: '',
dosageInstruction: '',
sufferingFlag: '0', sufferingFlag: '0',
checkAll: false, checkAll: false,
groupIndexList: [], groupIndexList: [],
@@ -754,7 +760,7 @@ async function getListInfo(addNewRow) {
isAdding: false, isAdding: false,
}); });
} }
tcmPrescriptionList.value.accountId = contractList.value[0].accountId; tcmPrescriptionList.value.accountId = contractList.value?.[0]?.accountId || '';
if (props.activeTab == 'prescription' && addNewRow) { if (props.activeTab == 'prescription' && addNewRow) {
handleAddMedicine(0); handleAddMedicine(0);
} }
@@ -898,6 +904,7 @@ function addNewPrescription() {
rateCode: '', rateCode: '',
dispensePerDuration: '', dispensePerDuration: '',
chineseHerbsDoseQuantity: '', chineseHerbsDoseQuantity: '',
dosageInstruction: '',
sufferingFlag: '0', sufferingFlag: '0',
checkAll: false, checkAll: false,
groupIndexList: [], groupIndexList: [],
@@ -1160,7 +1167,7 @@ function handleSave(pIndex) {
groupId: item.groupId, groupId: item.groupId,
patientId: props.patientInfo.patientId, patientId: props.patientInfo.patientId,
encounterId: props.patientInfo.encounterId, encounterId: props.patientInfo.encounterId,
accountId: accountId.value, accountId: prescription.accountId,
conditionId: prescription.conditionId, conditionId: prescription.conditionId,
encounterDiagnosisId: prescription.encounterDiagnosisId, encounterDiagnosisId: prescription.encounterDiagnosisId,
diagnosisName: prescription.diagnosisName, diagnosisName: prescription.diagnosisName,
@@ -1237,7 +1244,7 @@ function handleSaveBatch(pIndex) {
.map((item, index) => { .map((item, index) => {
return { return {
...item, ...item,
accountId: accountId.value, accountId: prescription.accountId,
conditionId: prescription.conditionId, conditionId: prescription.conditionId,
encounterDiagnosisId: prescription.encounterDiagnosisId, encounterDiagnosisId: prescription.encounterDiagnosisId,
conditionDefinitionId: prescription.conditionDefinitionId, conditionDefinitionId: prescription.conditionDefinitionId,
@@ -1249,6 +1256,7 @@ function handleSaveBatch(pIndex) {
rateCode: prescription.rateCode, rateCode: prescription.rateCode,
dispensePerDuration: prescription.dispensePerDuration, dispensePerDuration: prescription.dispensePerDuration,
chineseHerbsDoseQuantity: prescription.chineseHerbsDoseQuantity, chineseHerbsDoseQuantity: prescription.chineseHerbsDoseQuantity,
dosageInstruction: prescription.dosageInstruction,
dbOpType: item.requestId ? '2' : '1', dbOpType: item.requestId ? '2' : '1',
}; };
}); });

View File

@@ -159,7 +159,7 @@ const searchKey = ref('')
const patientList = ref([]) const patientList = ref([])
const patientTotal = ref(0) const patientTotal = ref(0)
const pageNo = ref(1) const pageNo = ref(1)
const $110) const pageSize = ref(10)
const currentPatient = ref(null) const currentPatient = ref(null)
const feeItems = ref([]) const feeItems = ref([])
const feeLoading = ref(false) const feeLoading = ref(false)

View File

@@ -300,7 +300,7 @@ const patientInfo = ref('');
// 分页相关 // 分页相关
const currentPage = ref(1); const currentPage = ref(1);
const $110); const pageSize = ref(10)
const total = ref(0); const total = ref(0);
// 打印相关 // 打印相关

View File

@@ -84,7 +84,7 @@ const loading = ref(false)
const tableData = ref([]) const tableData = ref([])
const total = ref(0) const total = ref(0)
const pageNo = ref(1) const pageNo = ref(1)
const $110) const pageSize = ref(10)
const keyword = ref('') const keyword = ref('')
const showEdit = ref(false) const showEdit = ref(false)
const showSteps = ref(false) const showSteps = ref(false)

View File

@@ -82,7 +82,7 @@ const loading = ref(false)
const tableData = ref([]) const tableData = ref([])
const total = ref(0) const total = ref(0)
const pageNo = ref(1) const pageNo = ref(1)
const $110) const pageSize = ref(10)
const showForm = ref(false) const showForm = ref(false)
const filters = ref({ sourceType: '', targetType: '', relationType: '' }) const filters = ref({ sourceType: '', targetType: '', relationType: '' })

View File

@@ -666,7 +666,7 @@ const tableData = ref([]);
// 当前页码 // 当前页码
const pageNum = ref(1); const pageNum = ref(1);
// 每页显示数据 // 每页显示数据
const $110); const pageSize = ref(10)
const purchaseinventoryList = ref([]); const purchaseinventoryList = ref([]);
const open = ref(false); const open = ref(false);
const loading = ref(false); const loading = ref(false);