607 【门诊术中安排-医嘱】医师电子签名核验异常(签名医师显示账号名而非姓名、签名时间缺失)

606 门诊术中安排-医嘱】预览列表字段显示及逻辑异常(涉及单位、频次、执行时间)

605
【门诊手术安排-计费】新增计费项目保存后,明细列表的“总量”列单位错误显示为字典ID数字(如“瓶”显示为“8”
604 【门诊手术安排-医嘱】编辑临时医嘱保存后,需额外二次操作方能提交,与实际业务符合,交互体验不佳
This commit is contained in:
wangjian963
2026-05-29 18:00:55 +08:00
parent ba5ac84d96
commit b946a8a143
3 changed files with 125 additions and 46 deletions

View File

@@ -2339,6 +2339,10 @@ function handleMedicalAdvice(row) {
const draftItems = filteredItems.filter(item => item.statusEnum === 1)
const activeItems = filteredItems.filter(item => item.statusEnum === 2)
if (activeItems.length > 0) {
temporarySigned.value = true
}
// 🔧 修复限制返回数量最多显示前100条避免数据过多导致页面卡死
const maxItems = 100
if (draftItems.length > maxItems) {
@@ -2414,9 +2418,9 @@ function handleMedicalAdvice(row) {
const contentData = jsonContent ? JSON.parse(jsonContent) : {};
const medicineName = contentData.adviceName || contentData.advice_name || item.adviceName || item.advice_name || '';
const spec = contentData.volume || contentData.specification || item.volume || item.specification || '';
const specMatch = spec.match(/(\d+)(\D+)/)
const specValue = specMatch ? parseInt(specMatch[1]) : 1
const specUnit = specMatch ? specMatch[2] : 'ml'
const specMatch = spec.match(/([\d.]+)\s*([a-zA-Z一-龥]+)/)
const specValue = specMatch ? parseFloat(specMatch[1]) : 1
const specUnit = specMatch ? specMatch[2] : ''
const dosage = specValue * (contentData.quantity || item.quantity || 1)
let usageCode = contentData.methodCode || 'iv'
@@ -2434,8 +2438,8 @@ function handleMedicalAdvice(row) {
unit: specUnit,
usage: usageCode,
usageLabel,
frequency: '临时',
executeTime: new Date().toLocaleString('zh-CN'),
frequency: '立即',
executeTime: '',
originalMedicine: {
...item,
medicineName: medicineName,
@@ -2449,8 +2453,8 @@ function handleMedicalAdvice(row) {
id: index + 1,
adviceName: item.adviceName || item.advice_name || '',
dosage: 1, unit: 'ml', usage: 'iv', usageLabel: '静脉注射',
frequency: '临时',
executeTime: new Date().toLocaleString('zh-CN'),
frequency: '立即',
executeTime: '',
originalMedicine: {
...item,
medicineName: item.adviceName || item.advice_name || '',
@@ -2584,14 +2588,14 @@ function handleTemporaryMedicalSubmit(data) {
let usageCode = contentData.methodCode || 'iv'
return {
id: index + 1, adviceName: medicineName, dosage, unit: specUnit,
usage: usageCode, frequency: '临时',
executeTime: new Date().toLocaleString('zh-CN'),
usage: usageCode, frequency: '立即',
executeTime: '',
originalMedicine: { ...item, medicineName, specification: spec, quantity: contentData.quantity || item.quantity || 1, encounterId: row.visitId }
}
} catch (e) {
return {
id: index + 1, adviceName: item.adviceName || '', dosage: 1, unit: 'ml',
usage: 'iv', frequency: '临时', executeTime: new Date().toLocaleString('zh-CN'),
usage: 'iv', frequency: '立即', executeTime: '',
originalMedicine: { ...item, medicineName: item.adviceName || '', specification: item.volume || '', quantity: item.quantity || 1, encounterId: row.visitId }
}
}
@@ -2705,8 +2709,8 @@ function handleQuoteBilling() {
else if (usageCode === 'po' && (medicineName.includes('片') || medicineName.includes('胶囊'))) { usageLabel = '口服' }
return {
id: index + 1, adviceName: medicineName, dosage, unit: specUnit,
usage: usageCode, usageLabel, frequency: '临时',
executeTime: new Date().toLocaleString('zh-CN'),
usage: usageCode, usageLabel, frequency: '立即',
executeTime: '',
originalMedicine: {
...item,
medicineName: medicineName,
@@ -2719,7 +2723,7 @@ function handleQuoteBilling() {
return {
id: index + 1, adviceName: item.adviceName || item.advice_name || '',
dosage: 1, unit: 'ml', usage: 'iv', usageLabel: '静脉注射',
frequency: '临时', executeTime: new Date().toLocaleString('zh-CN'),
frequency: '立即', executeTime: '',
originalMedicine: {
...item,
medicineName: item.adviceName || item.advice_name || '',