190 检查项目设置-》套餐设置:项目名称字段模糊查询出预览界面增加项目单价字段显示

191 检查项目设置-》套餐设置:单价字段的值未自动获取项目单价的值并可编辑
192 检查项目设置-》套餐设置:数量和服务费字段的值被加减按钮挡住了看不见数值
193 检查项目设置-》套餐设置:套餐级别选中个人套餐时系统未自动获取当前登录账号名称赋值给用户选择字段
This commit is contained in:
Ranyunqiao
2026-03-18 16:51:38 +08:00
parent 0cdf332ee7
commit 81c97de170
2 changed files with 74 additions and 47 deletions

View File

@@ -215,10 +215,13 @@
:label="(item.name || item.itemName || '未命名') + (item.busNo ? ' [' + item.busNo + ']' : '')"
:value="item.id"
>
<span style="float: left">{{ item.name || item.itemName }}</span>
<span style="float: right; color: #8492a6; font-size: 13px">
{{ item.busNo || item.code }}
</span>
<div style="display: flex; justify-content: space-between; align-items: center; width: 100%;">
<span>{{ item.name || item.itemName }}</span>
<span style="display: flex; align-items: center; gap: 8px;">
<span style="color: #8492a6; font-size: 13px;">{{ item.busNo || item.code }}</span>
<span style="color: #E6A23C; font-size: 13px; font-weight: 500;">¥{{ item.retailPrice || item.price || item.unitPrice || 0 }}</span>
</span>
</div>
</el-option>
<template #empty>
<div style="padding: 10px; text-align: center; color: #999;">
@@ -233,12 +236,6 @@
</div>
</template>
</el-select>
<div style="font-size: 12px; color: #999; margin-top: 4px;">
共 {{ diagnosisTreatmentList.length }} 个可选项目
<span v-if="row.filteredList && row.filteredList.length < diagnosisTreatmentList.length">
(搜索结果: {{ row.filteredList.length }} 个)
</span>
</div>
</div>
<span v-else>{{ row.itemName }}</span>
</template>
@@ -286,21 +283,21 @@
:precision="0"
placeholder="请输入数量"
style="width: 100%"
:controls="false"
@change="calculateAmount(row)"
/>
<span v-else>{{ row.quantity }}</span>
</template>
</el-table-column>
<el-table-column prop="unitPrice" label="单价" width="120" align="center">
<el-table-column prop="unitPrice" label="单价" width="150" align="center">
<template #default="{ row }">
<el-input-number
<el-input
v-if="row.editing"
v-model="row.unitPrice"
:min="0"
:precision="6"
placeholder="请输入单价"
placeholder="自动获取"
style="width: 100%"
@change="calculateAmount(row)"
size="small"
disabled
/>
<span v-else>{{ row.unitPrice?.toFixed(6) }}</span>
</template>
@@ -319,6 +316,7 @@
:precision="2"
placeholder="服务费"
style="width: 100%"
:controls="false"
@change="calculateTotal(row)"
/>
<span v-else>{{ row.serviceCharge?.toFixed(2) || '0.00' }}</span>
@@ -524,8 +522,8 @@ function loadPackageData(data) {
})
// 填充明细数据
if (data.details && Array.isArray(data.details)) {
detailData.value = data.details.map(item => ({
if (data.items && Array.isArray(data.items)) {
detailData.value = data.items.map(item => ({
code: item.itemCode || '',
itemId: item.checkItemId,
itemName: item.itemName || '',
@@ -690,7 +688,10 @@ onMounted(async () => {
await loadDiagnosisTreatmentList(false)
// 初始化一行空数据
handleAddRow()
if(props.mode === 'add'){
handleAddRow()
}
} catch (error) {
console.error('✗ 初始化数据失败:', error)
}
@@ -824,6 +825,10 @@ function handlePackageLevelChange(value) {
// 个人套餐,用户必填
formRules.user = [{ required: true, message: '请选择用户', trigger: 'change' }]
formRules.department = []
// 自动获取当前登录账号名称赋值给用户选择字段
if (!formData.user && userStore.name) {
formData.user = userStore.name
}
} else {
// 全院套餐,都不必填
formRules.department = []
@@ -1185,6 +1190,7 @@ async function handleSave() {
if (response && (response.code === 200 || response.code === 0)) {
ElMessage.success('套餐数据已保存')
emit('save-success')
// 如果有返回ID更新formData.id以便后续更新
if (response.data && !formData.id) {
formData.id = response.data