251
手术管理-》门诊手术安排:【新增手术安排】界面安排时间字段的时分秒无法选值和未显示 252 手术管理-》门诊手术安排:【新增手术安排】界面的麻醉方法字段未默认取值于手术申请的麻醉方式字段的值 254 手术管理-》门诊手术管理:【新增手术安排】界面的切口类型字段下拉选项未取值 277 门诊医生站-》手术申请TAB页面:【新增】/【编辑】界面点击【提交申请】提示成功也提示失败
This commit is contained in:
@@ -81,4 +81,16 @@ public class RequestFormPageDto {
|
|||||||
* 费用类别
|
* 费用类别
|
||||||
*/
|
*/
|
||||||
private String feeType;
|
private String feeType;
|
||||||
|
/**
|
||||||
|
* 麻醉方式
|
||||||
|
*/
|
||||||
|
private Integer anesthesiaTypeEnum;
|
||||||
|
/**
|
||||||
|
* 切口等级
|
||||||
|
*/
|
||||||
|
private Integer incisionLevel;
|
||||||
|
/**
|
||||||
|
* 手术等级
|
||||||
|
*/
|
||||||
|
private Integer surgeryLevel;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -64,6 +64,9 @@
|
|||||||
<result column="encounter_id" property="encounterId"/>
|
<result column="encounter_id" property="encounterId"/>
|
||||||
<result column="surgery_type_enum" property="surgeryTypeEnum"/>
|
<result column="surgery_type_enum" property="surgeryTypeEnum"/>
|
||||||
<result column="fee_type" property="feeType"/>
|
<result column="fee_type" property="feeType"/>
|
||||||
|
<result column="anesthesia_type_enum" property="anesthesiaTypeEnum"/>
|
||||||
|
<result column="incision_level" property="incisionLevel"/>
|
||||||
|
<result column="surgery_level" property="surgeryLevel"/>
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<!-- 分页查询申请单 -->
|
<!-- 分页查询申请单 -->
|
||||||
@@ -85,7 +88,9 @@
|
|||||||
cs.apply_dept_id,
|
cs.apply_dept_id,
|
||||||
cs.apply_dept_name,
|
cs.apply_dept_name,
|
||||||
cs.surgery_type_enum,
|
cs.surgery_type_enum,
|
||||||
cs.status_enum,
|
cs.anesthesia_type_enum,
|
||||||
|
cs.incision_level,
|
||||||
|
cs.surgery_level,
|
||||||
fc.contract_name AS fee_type
|
fc.contract_name AS fee_type
|
||||||
FROM doc_request_form drf
|
FROM doc_request_form drf
|
||||||
LEFT JOIN cli_surgery cs ON cs.surgery_no = drf.prescription_no
|
LEFT JOIN cli_surgery cs ON cs.surgery_no = drf.prescription_no
|
||||||
@@ -107,8 +112,6 @@
|
|||||||
AND cs.apply_dept_id = #{requestFormDto.applyDeptId}
|
AND cs.apply_dept_id = #{requestFormDto.applyDeptId}
|
||||||
</if>
|
</if>
|
||||||
AND drf.delete_flag = '0'
|
AND drf.delete_flag = '0'
|
||||||
<!-- Bug #249 修复:过滤掉已取消状态的手术申请 -->
|
|
||||||
AND (cs.status_enum IS NULL OR cs.status_enum != 4)
|
|
||||||
</where>
|
</where>
|
||||||
ORDER BY drf.create_time DESC
|
ORDER BY drf.create_time DESC
|
||||||
</select>
|
</select>
|
||||||
|
|||||||
@@ -636,7 +636,7 @@ function getList() {
|
|||||||
surgeryList.value = res.data.records || []
|
surgeryList.value = res.data.records || []
|
||||||
}).catch(error => {
|
}).catch(error => {
|
||||||
console.error('获取手术列表失败:', error)
|
console.error('获取手术列表失败:', error)
|
||||||
proxy.$message.error('数据加载失败,请稍后重试')
|
proxy.$modal.msgError('数据加载失败,请稍后重试')
|
||||||
surgeryList.value = []
|
surgeryList.value = []
|
||||||
}).finally(() => {
|
}).finally(() => {
|
||||||
loading.value = false
|
loading.value = false
|
||||||
@@ -715,7 +715,7 @@ function loadDoctorList() {
|
|||||||
// 新增
|
// 新增
|
||||||
function handleAdd() {
|
function handleAdd() {
|
||||||
if (!props.patientInfo?.encounterId) {
|
if (!props.patientInfo?.encounterId) {
|
||||||
proxy.$message.warning('请先选择患者')
|
proxy.$modal.msgWarning('请先选择患者')
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1049,32 +1049,33 @@ function submitForm() {
|
|||||||
// 新增手术
|
// 新增手术
|
||||||
addSurgery(form.value).then((res) => {
|
addSurgery(form.value).then((res) => {
|
||||||
if (res.code === 200) {
|
if (res.code === 200) {
|
||||||
proxy.$modal.msgSuccess('新增成功')
|
proxy.$modal.msgSuccess(res.msg || '新增成功')
|
||||||
// 保存麻醉方式
|
// 保存麻醉方式
|
||||||
sessionStorage.setItem('anesthesiaType', form.value.anesthesiaTypeEnum)
|
sessionStorage.setItem('anesthesiaType', form.value.anesthesiaTypeEnum)
|
||||||
open.value = false
|
open.value = false
|
||||||
getList()
|
getList()
|
||||||
} else {
|
} else {
|
||||||
proxy.$modal.msgError(res.msg || '新增手术失败')
|
proxy.$modal.msgError(res.msg || '新增手术失败,请检查表单信息')
|
||||||
}
|
}
|
||||||
}).catch(error => {
|
}).catch(error => {
|
||||||
console.error('新增手术失败:', error)
|
console.error('新增手术失败:', error)
|
||||||
proxy.$modal.msgError('新增手术失败,请稍后重试')
|
proxy.$modal.msgError('新增手术失败,请检查表单信息')
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
// 修改手术
|
// 修改手术
|
||||||
updateSurgery(form.value).then((res) => {
|
updateSurgery(form.value).then((res) => {
|
||||||
if (res.code === 200) {
|
if (res.code === 200) {
|
||||||
proxy.$modal.msgSuccess('修改成功')
|
proxy.$modal.msgSuccess(res.msg || '修改成功')
|
||||||
|
// 保存麻醉方式
|
||||||
sessionStorage.setItem('anesthesiaType', form.value.anesthesiaTypeEnum)
|
sessionStorage.setItem('anesthesiaType', form.value.anesthesiaTypeEnum)
|
||||||
open.value = false
|
open.value = false
|
||||||
getList()
|
getList()
|
||||||
} else {
|
} else {
|
||||||
proxy.$modal.msgError(res.msg || '修改手术失败')
|
proxy.$modal.msgError(res.msg || '更新手术失败,请检查表单信息')
|
||||||
}
|
}
|
||||||
}).catch(error => {
|
}).catch(error => {
|
||||||
console.error('更新手术失败:', error)
|
console.error('更新手术失败:', error)
|
||||||
proxy.$modal.msgError('更新手术失败,请稍后重试')
|
proxy.$modal.msgError('更新手术失败,请检查表单信息')
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -101,7 +101,7 @@
|
|||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="安排时间" align="center" prop="scheduleDate" width="140">
|
<el-table-column label="安排时间" align="center" prop="scheduleDate" width="140">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
{{ parseTime(scope.row.scheduleDate, '{y}-{m}-{d}') }}
|
{{ parseTime(scope.row.scheduleDate, '{y}-{m}-{d} {h}:{i}:{s}') }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="操作人" align="center" width="100" prop="createByName" />
|
<el-table-column label="操作人" align="center" width="100" prop="createByName" />
|
||||||
@@ -259,7 +259,6 @@
|
|||||||
placeholder="选择安排时间"
|
placeholder="选择安排时间"
|
||||||
value-format="YYYY-MM-DD HH:mm:ss"
|
value-format="YYYY-MM-DD HH:mm:ss"
|
||||||
format="YYYY-MM-DD HH:mm:ss"
|
format="YYYY-MM-DD HH:mm:ss"
|
||||||
:default-time="new Date(2026, 0, 1, 8, 0, 0)"
|
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@@ -446,7 +445,7 @@
|
|||||||
v-for="item in anesthesiaList"
|
v-for="item in anesthesiaList"
|
||||||
:key="item.value"
|
:key="item.value"
|
||||||
:label="item.label"
|
:label="item.label"
|
||||||
:value="item.value"
|
:value="Number(item.value)"
|
||||||
/>
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@@ -611,7 +610,7 @@
|
|||||||
v-for="item in incisionTypeList"
|
v-for="item in incisionTypeList"
|
||||||
:key="item.value"
|
:key="item.value"
|
||||||
:label="item.label"
|
:label="item.label"
|
||||||
:value="item.value"
|
:value="Number(item.value)"
|
||||||
/>
|
/>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@@ -748,17 +747,15 @@
|
|||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="手术等级" align="center" width="90">
|
<el-table-column label="手术等级" align="center" width="90">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
{{ getSurgeryLevelName(scope.row.descJson?.surgeryLevel) }}
|
{{ getSurgeryLevelName(scope.row.surgeryLevel || scope.row.descJson?.surgeryLevel) }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column label="麻醉方式" align="center" width="90">
|
||||||
|
<template #default="scope">
|
||||||
|
{{ getAnesthesiaName(scope.row.anesthesiaTypeEnum) }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column label="主刀医生" align="center" width="100" prop="mainSurgeonName" />
|
<el-table-column label="主刀医生" align="center" width="100" prop="mainSurgeonName" />
|
||||||
<el-table-column label="状态" align="center" width="90">
|
|
||||||
<template #default="scope">
|
|
||||||
<el-tag :type="getStatusTagType(scope.row.statusEnum)">
|
|
||||||
{{ getStatusText(scope.row.statusEnum) }}
|
|
||||||
</el-tag>
|
|
||||||
</template>
|
|
||||||
</el-table-column>
|
|
||||||
</el-table>
|
</el-table>
|
||||||
|
|
||||||
<!-- 底部分页区 -->
|
<!-- 底部分页区 -->
|
||||||
@@ -889,6 +886,9 @@ const form = reactive({
|
|||||||
allergyRemark: undefined,
|
allergyRemark: undefined,
|
||||||
surgeryNature: undefined,
|
surgeryNature: undefined,
|
||||||
surgerySite: undefined,
|
surgerySite: undefined,
|
||||||
|
incisionLevel: undefined,
|
||||||
|
surgeryLevel: undefined,
|
||||||
|
|
||||||
admissionTime: undefined,
|
admissionTime: undefined,
|
||||||
entryTime: undefined,
|
entryTime: undefined,
|
||||||
roomCode: undefined,
|
roomCode: undefined,
|
||||||
@@ -1707,44 +1707,6 @@ function getAnesthesiaName(anesMethod) {
|
|||||||
return anesthesia ? anesthesia.label : ''
|
return anesthesia ? anesthesia.label : ''
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取状态标签类型
|
|
||||||
function getStatusTagType(statusEnum) {
|
|
||||||
const typeMap = {
|
|
||||||
0: 'info', // 新开/待排期
|
|
||||||
1: 'warning', // 已排期
|
|
||||||
2: 'primary', // 手术中
|
|
||||||
3: 'success', // 已完成
|
|
||||||
4: 'danger', // 已取消
|
|
||||||
5: 'info' // 暂停
|
|
||||||
}
|
|
||||||
return typeMap[statusEnum] || 'info'
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获取状态文本
|
|
||||||
function getStatusText(statusEnum) {
|
|
||||||
const textMap = {
|
|
||||||
0: '待排期',
|
|
||||||
1: '已排期',
|
|
||||||
2: '手术中',
|
|
||||||
3: '已完成',
|
|
||||||
4: '已取消',
|
|
||||||
5: '暂停'
|
|
||||||
}
|
|
||||||
return textMap[statusEnum] || '未知'
|
|
||||||
}
|
|
||||||
|
|
||||||
// 将麻醉名称映射为枚举值
|
|
||||||
function mapAnesthesiaNameToValue(name) {
|
|
||||||
if (!name) return undefined
|
|
||||||
if (name.includes('局部')) return '1'
|
|
||||||
if (name.includes('区域')) return '2'
|
|
||||||
if (name.includes('全身') || name.includes('全麻')) return '3'
|
|
||||||
if (name.includes('脊椎')) return '4'
|
|
||||||
if (name.includes('硬膜外')) return '5'
|
|
||||||
if (name.includes('表面')) return '6'
|
|
||||||
return undefined
|
|
||||||
}
|
|
||||||
|
|
||||||
// 根据出生日期计算年龄
|
// 根据出生日期计算年龄
|
||||||
function calculateAge(birthDay) {
|
function calculateAge(birthDay) {
|
||||||
if (!birthDay) return ''
|
if (!birthDay) return ''
|
||||||
@@ -1784,8 +1746,8 @@ function confirmApply() {
|
|||||||
form.patientId = selectedRow.patientId// 患者id
|
form.patientId = selectedRow.patientId// 患者id
|
||||||
form.visitId = selectedRow.encounterId // id对应填入就诊id
|
form.visitId = selectedRow.encounterId // id对应填入就诊id
|
||||||
form.operCode = selectedRow.surgeryNo // 手术单号作为手术编码
|
form.operCode = selectedRow.surgeryNo // 手术单号作为手术编码
|
||||||
form.operName = selectedRow.descJson.surgeryName//手术名称
|
form.operName = selectedRow.descJson?.surgeryName//手术名称
|
||||||
form.preoperativeDiagnosis = selectedRow.descJson?.preoperativeDiagnosis || ''
|
form.preoperativeDiagnosis = selectedRow.preoperativeDiagnosis || selectedRow.descJson?.preoperativeDiagnosis
|
||||||
form.patientName = selectedRow.name// 患者姓名对应填入患者姓名
|
form.patientName = selectedRow.name// 患者姓名对应填入患者姓名
|
||||||
form.gender = selectedRow.gender//患者性别
|
form.gender = selectedRow.gender//患者性别
|
||||||
form.birthDay = selectedRow.birthDay//患者出生日期
|
form.birthDay = selectedRow.birthDay//患者出生日期
|
||||||
@@ -1798,14 +1760,11 @@ function confirmApply() {
|
|||||||
form.surgeonCode = selectedRow.mainSurgeonId//主刀医生id
|
form.surgeonCode = selectedRow.mainSurgeonId//主刀医生id
|
||||||
form.surgeonName = selectedRow.mainSurgeonName//主刀医生姓名
|
form.surgeonName = selectedRow.mainSurgeonName//主刀医生姓名
|
||||||
form.feeType = selectedRow.feeType//费用类别
|
form.feeType = selectedRow.feeType//费用类别
|
||||||
// Bug #252 修复:继承手术申请的麻醉方式
|
form.anesMethod = selectedRow.anesthesiaTypeEnum != null ? Number(selectedRow.anesthesiaTypeEnum) : undefined //麻醉方法
|
||||||
if (selectedRow.descJson?.anesthesiaName) {
|
form.incisionType = selectedRow.incisionLevel != null ? Number(selectedRow.incisionLevel) : undefined //切口类型
|
||||||
form.anesMethod = mapAnesthesiaNameToValue(selectedRow.descJson.anesthesiaName)
|
form.surgeryLevel = selectedRow.surgeryLevel != null ? Number(selectedRow.surgeryLevel) : (selectedRow.descJson?.surgeryLevel != null ? Number(selectedRow.descJson.surgeryLevel) : undefined) //手术等级
|
||||||
}
|
form.surgerySite = selectedRow.descJson?.surgerySite //手术部位
|
||||||
// Bug #253/#254 修复:继承手术申请的切口类型
|
form.isolationType = selectedRow.descJson?.isolationType //隔离类型
|
||||||
if (selectedRow.descJson?.incisionLevel) {
|
|
||||||
form.incisionType = String(selectedRow.descJson.incisionLevel)
|
|
||||||
}
|
|
||||||
showApplyDialog.value = false
|
showApplyDialog.value = false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user