yxh
yxh
7 天以前 09dc74e264b6262cbe41c9c8476e24705871d4a6
src/components/RoomBedSelect/src/RoomBedSelect.vue
@@ -7,7 +7,7 @@
import openImg from '@/assets/room/open.jpg'
import doctorImg from '@/assets/room/desk-doctor.jpg'
const emit = defineEmits(['event-haveseat', 'event-leaveseat', 'event-setcurseat'])
const emit = defineEmits(['event-haveseat', 'event-leaveseat', 'event-setcurseat', 'event-takeover'])
defineComponent({
  name: 'RoomBedSelect'
@@ -57,6 +57,10 @@
}
const onSetCurSeatclick = (bed: RoomVO) => {
  emit('event-setcurseat', bed)
}
/** 【本需求·接班自助接管】把"别人占用"的工位接管过来(父组件负责二次确认与调接口) */
const onTakeOverclick = (bed: RoomVO) => {
  emit('event-takeover', bed)
}
</script>
@@ -110,18 +114,28 @@
    </div>
    <div class="bed-card__actions">
      <!-- 已被**别人**占用时禁用「入座」(不挤掉正在操作的人),并用 tooltip 说明原因 -->
      <!-- 已被**别人**占用时禁用「入座」(不挤掉正在操作的人),并用 tooltip 说明原因;
           同时提供「接管」——上一班医生下班没点离座时,接班医生可自助接管 -->
      <el-tooltip
        v-if="!isMine"
        :content="
          occupiedByOther
            ? `该工位由「${bed.docName || '其他医生'}」操作中,不能入座(不挤掉正在操作的人)`
            ? `该工位由「${bed.docName || '其他医生'}」操作中。若是上一班医生忘记离座,可点「接管」`
            : '入座到该工位'
        "
        placement="top"
      >
        <span>
          <el-button :disabled="occupiedByOther" @click="onHaveSeatclick(bed)"> 入座 </el-button>
          <!-- 【本需求·接班自助接管】仅"被他人占用"时出现;接管后对方会被强制离座 -->
          <el-button
            v-if="occupiedByOther"
            type="warning"
            plain
            @click="onTakeOverclick(bed)"
          >
            接管
          </el-button>
        </span>
      </el-tooltip>
      <template v-else>