From 1446994d504819c367e1ff667360eadb314f9ac6 Mon Sep 17 00:00:00 2001
From: yxh <172933527@qq.com>
Date: 星期日, 18 十月 2026 16:52:18 +0800
Subject: [PATCH] 修改了诊室工号
---
src/components/RoomBedSelect/src/RoomBedSelect.vue | 61 +++++++++++++++++++++++++++++-
1 files changed, 59 insertions(+), 2 deletions(-)
diff --git a/src/components/RoomBedSelect/src/RoomBedSelect.vue b/src/components/RoomBedSelect/src/RoomBedSelect.vue
index 935b00f..b2ade54 100644
--- a/src/components/RoomBedSelect/src/RoomBedSelect.vue
+++ b/src/components/RoomBedSelect/src/RoomBedSelect.vue
@@ -30,7 +30,20 @@
})
// 璇ュ簥浣嶆槸鍚﹀凡鐢卞綋鍓嶅尰鐢熷叆搴�
-const isMine = computed(() => props.bed.docId != null && props.bed.docId === props.curUser.id)
+// 娉細鐢ㄥ瓧绗︿覆姣旇緝锛岄伩鍏嶅悗绔繑鍥� number / 鍓嶇 userId 涓� string 鏃惰鍒わ紙"1" !== 1锛�
+const isMine = computed(
+ () => props.bed.docId != null && String(props.bed.docId) === String(props.curUser.id)
+)
+// 璇ュ簥浣嶆槸鍚�**琚埆浜�**鍗犵敤锛氭鏃朵笉鍏佽鍏ュ骇锛堜笉鎸ゆ帀姝e湪鎿嶄綔鐨勪汉锛�
+const occupiedByOther = computed(
+ () => props.bed.docId != null && String(props.bed.docId) !== String(props.curUser.id)
+)
+// 鍗犵敤鎯呭喌鏂囨锛氱┖闂� / 鎴戠殑宸ヤ綅 / 宸插叆搴э細寮犱笁锛堟嬁涓嶅埌濮撳悕鏃舵樉绀虹紪鍙凤級
+const seatStateText = computed(() => {
+ if (props.bed.docId == null) return '绌洪棽'
+ if (isMine.value) return '鎴戠殑宸ヤ綅'
+ return props.bed.docName ? `宸插叆搴э細${props.bed.docName}` : `宸插叆搴э紙缂栧彿 ${props.bed.docId}锛塦
+})
// 璇ュ簥浣嶆槸鍚﹀氨鏄綋鍓嶄細璇濅娇鐢ㄤ腑鐨勫伐浣�
const isCurSeat = computed(
() => props.bed.roomId === props.curBed.roomId && props.bed.bedNo === props.curBed.bedNo
@@ -77,6 +90,17 @@
{{ bed.bedNo }} {{ bed.docName }} {{ bed.status === 30 ? "-鏆傚仠" : "" }}
</div>
+ <!--
+ 鍗犵敤鎯呭喌锛堟湰娆¢渶姹傦級锛氫竴鐪肩湅鍑鸿繖涓伐浣嶆槸"绌洪棽 / 鎴戠殑 / 鍒汉鐨�"銆�
+ 鍘熸潵鍗$墖鍙湪鍥剧墖涓庡鍚嶄笂浣撶幇锛屽埆浜哄崰浜嗕篃鐪嬩笉鍑烘潵锛屼細鍑虹幇"鐐逛簡鍏ュ骇鍗磋鍚庣鎷掔粷"鐨勫洶鎯戙��
+ -->
+ <div
+ class="bed-card__seat"
+ :class="occupiedByOther ? 'is-occupied' : isMine ? 'is-mine' : 'is-free'"
+ >
+ {{ seatStateText }}
+ </div>
+
<div class="bed-card__meta">
<span v-for="(checkType, subIndex) in bed.checkTypes" :key="subIndex">
{{ getCheckTypeName(checkType) }}
@@ -86,7 +110,20 @@
</div>
<div class="bed-card__actions">
- <el-button v-if="!isMine" @click="onHaveSeatclick(bed)"> 鍏ュ骇 </el-button>
+ <!-- 宸茶**鍒汉**鍗犵敤鏃剁鐢ㄣ�屽叆搴с�嶏紙涓嶆尋鎺夋鍦ㄦ搷浣滅殑浜猴級锛屽苟鐢� tooltip 璇存槑鍘熷洜 -->
+ <el-tooltip
+ v-if="!isMine"
+ :content="
+ occupiedByOther
+ ? `璇ュ伐浣嶇敱銆�${bed.docName || '鍏朵粬鍖荤敓'}銆嶆搷浣滀腑锛屼笉鑳藉叆搴э紙涓嶆尋鎺夋鍦ㄦ搷浣滅殑浜猴級`
+ : '鍏ュ骇鍒拌宸ヤ綅'
+ "
+ placement="top"
+ >
+ <span>
+ <el-button :disabled="occupiedByOther" @click="onHaveSeatclick(bed)"> 鍏ュ骇 </el-button>
+ </span>
+ </el-tooltip>
<template v-else>
<el-button @click="onLeaveSeatclick(bed)"> 绂诲骇 </el-button>
<span v-if="isCurSeat" class="bed-card__current">褰撳墠</span>
@@ -192,6 +229,26 @@
text-align: center;
}
+ /* 鍗犵敤鎯呭喌锛氱┖闂�=缁裤�佹垜鐨�=涓昏壊銆佽鍒汉鍗�=姗欙紙閰嶅悎绂佺敤鍏ュ骇鎸夐挳锛� */
+ &__seat {
+ font-size: 13px;
+ font-weight: 600;
+ line-height: 1.3;
+ text-align: center;
+
+ &.is-free {
+ color: var(--el-color-success);
+ }
+
+ &.is-occupied {
+ color: var(--el-color-warning);
+ }
+
+ &.is-mine {
+ color: var(--el-color-primary);
+ }
+ }
+
&__actions {
display: flex;
flex-wrap: wrap;
--
Gitblit v1.9.3