1、长者指派护理人员时,可以指派多个护理人员

2、服务标签去掉多余字段
This commit is contained in:
1378012178@qq.com 2025-11-06 14:41:24 +08:00
parent ac6ae19650
commit e490aa8510
2 changed files with 48 additions and 26 deletions

View File

@ -9,7 +9,7 @@
:md="12" :lg="12" :xl="8" :xxl="8">
<!-- 使用卡片组件替代原来的行布局 -->
<a-card :class="{
'selected-card': selectedEmployee?.id === item.id,
'selected-card': isEmployeeSelected(item.id),
'employee-card': true
}" style="width: 100%; border-radius: 8px;" :bodyStyle="{ padding: '16px' }" @click="handleCardClick(item)">
<div style="position: relative;">
@ -108,8 +108,8 @@ const current = ref(1);
const pageSize = ref(12);
const total = ref(0);
const elderInfo = ref(null);
//
const selectedEmployee = ref<any>(null);
//
const selectedEmployees = ref<any[]>([]);
const emit = defineEmits(['success']);
const labelCol = reactive({
@ -123,14 +123,21 @@ const wrapperCol = reactive({
sm: 20,
});
//
//
const isEmployeeSelected = (employeeId: string) => {
return selectedEmployees.value.some(emp => emp.id === employeeId);
};
//
const handleCardClick = (employee: any) => {
if (selectedEmployee.value?.id === employee.id) {
//
selectedEmployee.value = null;
const index = selectedEmployees.value.findIndex(emp => emp.id === employee.id);
if (index > -1) {
//
selectedEmployees.value.splice(index, 1);
} else {
//
selectedEmployee.value = employee;
//
selectedEmployees.value.push(employee);
}
};
@ -180,7 +187,7 @@ function searchQuery() {
function searchReset() {
formRef.value.resetFields();
//
selectedEmployee.value = null;
selectedEmployees.value = [];
reload();
}
@ -191,7 +198,7 @@ function onPageChange(page, newPageSize) {
pageSize.value = newPageSize;
}
//
selectedEmployee.value = null;
selectedEmployees.value = [];
reload();
}
@ -212,29 +219,44 @@ onMounted(() => {
});
function show(elderInfo_) {
elderInfo.value = elderInfo_
selectedEmployee.value = { id: elderInfo_.orderly }
elderInfo.value = elderInfo_;
selectedEmployees.value = [];
// orderly
if (elderInfo_.orderly) {
const orderlyIds = elderInfo_.orderly.split(',').map(id => id.trim()).filter(id => id);
//
setTimeout(() => {
orderlyIds.forEach(id => {
const employee = dataList.value.find(item => item.id === id);
if (employee) {
selectedEmployees.value.push(employee);
}
});
}, 100);
}
}
//
function getSelectedEmployee() {
return selectedEmployee.value;
function getSelectedEmployees() {
return selectedEmployees.value;
}
//
function clearSelection() {
selectedEmployee.value = null;
selectedEmployees.value = [];
}
function handleCleanHlry() {
selectedEmployee.value = null;
selectedEmployees.value = [];
}
function hlryConfirm() {
let params = { id: elderInfo.value.id, orderly: null }
if (selectedEmployee.value && selectedEmployee.value.id) {
params.orderly = selectedEmployee.value.id
}
// ID
const orderlyIds = selectedEmployees.value.map(emp => emp.id).join(',');
let params = { id: elderInfo.value.id, orderly: orderlyIds }
changeOrderly(params).then(res => {
emit('success')
})
@ -242,7 +264,7 @@ function hlryConfirm() {
defineExpose({
show,
getSelectedEmployee,
getSelectedEmployees,
clearSelection,
hlryConfirm,
});

View File

@ -33,12 +33,12 @@
<div>
{{ directive.directiveName }}
</div>
<div>
<!-- <div>
体型标签{{ handleBodyTags('', directive, '') }}
</div>
<div>
情绪标签{{ handleEmotionTags('', directive, '') }}
</div>
</div> -->
</div>
</a-card>
</a-badge-ribbon>
@ -56,8 +56,8 @@
<div class="directiveInfoClass">周期类型{{ filterDictTextByCache('period_type', derectiveInfo.cycleType) }}</div>
<div class="directiveInfoClass">服务时长(分钟){{ derectiveInfo.serviceDuration }}</div>
<div class="directiveInfoClass">服务说明{{ derectiveInfo.serviceContent }}</div>
<div class="directiveInfoClass">体型标签{{ handleBodyTags('', derectiveInfo, '') }}</div>
<div class="directiveInfoClass">情绪标签{{ handleEmotionTags('', derectiveInfo, '') }}</div>
<!-- <div class="directiveInfoClass">体型标签{{ handleBodyTags('', derectiveInfo, '') }}</div>
<div class="directiveInfoClass">情绪标签{{ handleEmotionTags('', derectiveInfo, '') }}</div> -->
<div class="directiveInfoClass">语音文件
<span v-if="!derectiveInfo.mp3FileMedia">暂无文件</span>
<audio controls disabled="false" v-else>