|
|
@ -1,8 +1,10 @@
|
|
|
|
<template>
|
|
|
|
<template>
|
|
|
|
<section class="waitBox bg-[#F3F2FA]">
|
|
|
|
<section class="waitBox bg-[#F3F2FA]">
|
|
|
|
<nav class="h-[11.11vh] pl-[3.7vh] pr-[2.22vh] flex justify-between items-center bg-[#5D49AF] relative overflow-hidden">
|
|
|
|
<nav
|
|
|
|
<div class="logBox h-[5vh]">
|
|
|
|
class="h-[11.11vh] pl-[3.7vh] pr-[2.22vh] flex justify-between items-center bg-[#5D49AF] relative overflow-hidden">
|
|
|
|
<img class="h-full" src="@/assets/svg/Wait/yongsi-logo.png" />
|
|
|
|
<div class="logBox h-[7vh]">
|
|
|
|
|
|
|
|
<img class="h-full" :src="logoUrl" v-show="logoUrl" />
|
|
|
|
|
|
|
|
<img class="h-full" :src="logoUrlBackup" v-show="!logoUrl && logoUrlBackup" />
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="absolute titleBox w-full flex justify-around">
|
|
|
|
<div class="absolute titleBox w-full flex justify-around">
|
|
|
|
<div class="flex items-center">
|
|
|
|
<div class="flex items-center">
|
|
|
@ -19,46 +21,41 @@
|
|
|
|
<div class="absolute top-[24px] left-1/2 -translate-x-1/2 w-[calc(100%-48px)]">
|
|
|
|
<div class="absolute top-[24px] left-1/2 -translate-x-1/2 w-[calc(100%-48px)]">
|
|
|
|
<div class="bg-[#9A82FF] flex text-center" :style="carouselNav">
|
|
|
|
<div class="bg-[#9A82FF] flex text-center" :style="carouselNav">
|
|
|
|
<template v-for="item in colList">
|
|
|
|
<template v-for="item in colList">
|
|
|
|
<div class="font-semibold border-r truncate" :style="item['width'] ? `flex-basis:${item['width']}px` : `flex-grow: 1;`" :key="item['columnCode']" v-if="item['isShow']">
|
|
|
|
<div class="font-semibold border-r truncate"
|
|
|
|
|
|
|
|
:style="item['width'] ? `flex-basis:${item['width']}px` : `flex-grow: 1;`" :key="item['columnCode']"
|
|
|
|
|
|
|
|
v-if="item['isShow']">
|
|
|
|
{{ item['columnName'] }}
|
|
|
|
{{ item['columnName'] }}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div :style="carouselWrap" class="border border-[#9A82FF] border-t-0" v-loading="isLoading">
|
|
|
|
<div :style="carouselWrap" class="border border-[#9A82FF] border-t-0" v-loading="isLoading">
|
|
|
|
<template v-if="patientList['length']">
|
|
|
|
<template v-if="patientList['length']">
|
|
|
|
<el-carousel direction="vertical" :autoplay="false" indicatorPosition="none" ref="carousel" @change="onCarouselChange">
|
|
|
|
<el-carousel direction="vertical" :autoplay="false" indicatorPosition="none" ref="carousel"
|
|
|
|
|
|
|
|
@change="onCarouselChange">
|
|
|
|
<el-carousel-item v-for="(item, index) in patientList" :key="index">
|
|
|
|
<el-carousel-item v-for="(item, index) in patientList" :key="index">
|
|
|
|
<section class="carouselItemBox">
|
|
|
|
<section class="carouselItemBox">
|
|
|
|
<div v-for="(subItem, index) in item" :key="index" :style="carouselItemStyle">
|
|
|
|
<div v-for="(subItem, index) in item" :key="index" :style="carouselItemStyle">
|
|
|
|
<div class="flex text-center">
|
|
|
|
<div class="flex text-center">
|
|
|
|
<template v-for="item in colList">
|
|
|
|
<template v-for="item in colList">
|
|
|
|
<template v-if="item['columnCode'] == 'ProcStatusName'">
|
|
|
|
<template v-if="item['columnCode'] == 'ProcStatusName'">
|
|
|
|
<div
|
|
|
|
<div class="border-r text-[#333] font-semibold truncate px-3"
|
|
|
|
class="border-r text-[#333] font-semibold truncate px-3"
|
|
|
|
|
|
|
|
:style="{ color: `${textToColor(subItem['ProcStatusName'])}`, 'flex-basis': `${item['width']}px` }"
|
|
|
|
:style="{ color: `${textToColor(subItem['ProcStatusName'])}`, 'flex-basis': `${item['width']}px` }"
|
|
|
|
:key="item['columnCode']"
|
|
|
|
:key="item['columnCode']" v-if="item['isShow']">
|
|
|
|
v-if="item['isShow']"
|
|
|
|
|
|
|
|
>
|
|
|
|
|
|
|
|
{{ subItem['ProcStatusName'] }}
|
|
|
|
{{ subItem['ProcStatusName'] }}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
<template v-else-if="item['columnCode'] == 'IntendedOperationName'">
|
|
|
|
<template v-else-if="item['columnCode'] == 'IntendedOperationName'">
|
|
|
|
<div
|
|
|
|
<div class="border-r text-[#333] font-semibold truncate px-3"
|
|
|
|
class="border-r text-[#333] font-semibold truncate px-3"
|
|
|
|
|
|
|
|
:style="item['width'] ? `flex-basis:${item['width']}px` : `flex-grow: 1;`"
|
|
|
|
:style="item['width'] ? `flex-basis:${item['width']}px` : `flex-grow: 1;`"
|
|
|
|
:key="item['columnCode']"
|
|
|
|
:key="item['columnCode']" v-if="item['isShow']">
|
|
|
|
v-if="item['isShow']"
|
|
|
|
<marquee scrollamount="3" class="text-[#333]" :style="carouselItemStyle">{{
|
|
|
|
>
|
|
|
|
subItem['IntendedOperationName'] }}</marquee>
|
|
|
|
<marquee scrollamount="3" class="text-[#333]" :style="carouselItemStyle">{{ subItem['IntendedOperationName'] }}</marquee>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
<template v-else>
|
|
|
|
<template v-else>
|
|
|
|
<div
|
|
|
|
<div class="border-r text-[#333] font-semibold truncate px-3"
|
|
|
|
class="border-r text-[#333] font-semibold truncate px-3"
|
|
|
|
|
|
|
|
:style="item['width'] ? `flex-basis:${item['width']}px` : `flex-grow: 1;`"
|
|
|
|
:style="item['width'] ? `flex-basis:${item['width']}px` : `flex-grow: 1;`"
|
|
|
|
:key="item['columnCode']"
|
|
|
|
:key="item['columnCode']" v-if="item['isShow']">
|
|
|
|
v-if="item['isShow']"
|
|
|
|
|
|
|
|
>
|
|
|
|
|
|
|
|
{{ subItem[item['columnCode']] }}
|
|
|
|
{{ subItem[item['columnCode']] }}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
@ -74,7 +71,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
<div class="absolute bottom-4 left-1/2 -translate-x-1/2 flex">
|
|
|
|
<div class="absolute bottom-4 left-1/2 -translate-x-1/2 flex">
|
|
|
|
<template v-for="(item, index) in patientList">
|
|
|
|
<template v-for="(item, index) in patientList">
|
|
|
|
<div class="w-3 h-3 rounded-full bg-[#D8D8D8] mx-1" :class="{ '!bg-[#8C8D92]': index == activeIndex }" :key="index" />
|
|
|
|
<div class="w-3 h-3 rounded-full bg-[#D8D8D8] mx-1" :class="{ '!bg-[#8C8D92]': index == activeIndex }"
|
|
|
|
|
|
|
|
:key="index" />
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</main>
|
|
|
|
</main>
|
|
|
@ -90,7 +88,7 @@
|
|
|
|
</template>
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
|
|
<script>
|
|
|
|
<script>
|
|
|
|
import { getDynamicTableHeader, getDynamicTableList } from '@/api/publishApi';
|
|
|
|
import { getDynamicTableHeader, getDynamicTableList, getGlobeConfig } from '@/api/publishApi';
|
|
|
|
import { Carousel, CarouselItem } from 'element-ui';
|
|
|
|
import { Carousel, CarouselItem } from 'element-ui';
|
|
|
|
import dayjs from 'dayjs';
|
|
|
|
import dayjs from 'dayjs';
|
|
|
|
import { statusToTxt, textToColor } from '@/utils/common';
|
|
|
|
import { statusToTxt, textToColor } from '@/utils/common';
|
|
|
@ -113,6 +111,8 @@ export default {
|
|
|
|
getDataTimer: null,
|
|
|
|
getDataTimer: null,
|
|
|
|
colList: [],
|
|
|
|
colList: [],
|
|
|
|
queryCondition: [],
|
|
|
|
queryCondition: [],
|
|
|
|
|
|
|
|
logoUrl: "",
|
|
|
|
|
|
|
|
logoUrlBackup: "",
|
|
|
|
};
|
|
|
|
};
|
|
|
|
},
|
|
|
|
},
|
|
|
|
methods: {
|
|
|
|
methods: {
|
|
|
@ -186,10 +186,25 @@ export default {
|
|
|
|
onCarouselChange(index) {
|
|
|
|
onCarouselChange(index) {
|
|
|
|
this.activeIndex = index;
|
|
|
|
this.activeIndex = index;
|
|
|
|
},
|
|
|
|
},
|
|
|
|
|
|
|
|
onGetblobe() {
|
|
|
|
|
|
|
|
getGlobeConfig({ isTree: false }).then(res => {
|
|
|
|
|
|
|
|
res['Data']['Item'].forEach(item => {
|
|
|
|
|
|
|
|
if (item['Key'] == 'HospitalLogo') {
|
|
|
|
|
|
|
|
this.logoUrl = item['Value']
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (item['Key'] == "CorporateLogo") {
|
|
|
|
|
|
|
|
this.logoUrlBackup = item['Value']
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
})
|
|
|
|
|
|
|
|
}
|
|
|
|
},
|
|
|
|
},
|
|
|
|
mounted() {
|
|
|
|
mounted() {
|
|
|
|
this.$nextTick(() => {
|
|
|
|
this.$nextTick(() => {
|
|
|
|
this.onCalculate();
|
|
|
|
this.onCalculate();
|
|
|
|
|
|
|
|
this.onGetblobe();
|
|
|
|
|
|
|
|
|
|
|
|
// 每秒更新一次当前时间
|
|
|
|
// 每秒更新一次当前时间
|
|
|
|
this.dateTimer = setInterval(() => {
|
|
|
|
this.dateTimer = setInterval(() => {
|
|
|
@ -258,14 +273,17 @@ export default {
|
|
|
|
<style lang="scss" scoped>
|
|
|
|
<style lang="scss" scoped>
|
|
|
|
:deep(.el-carousel) {
|
|
|
|
:deep(.el-carousel) {
|
|
|
|
height: 100%;
|
|
|
|
height: 100%;
|
|
|
|
|
|
|
|
|
|
|
|
.el-carousel__container,
|
|
|
|
.el-carousel__container,
|
|
|
|
.el-carousel__item {
|
|
|
|
.el-carousel__item {
|
|
|
|
height: 100%;
|
|
|
|
height: 100%;
|
|
|
|
|
|
|
|
|
|
|
|
.carouselItemBox {
|
|
|
|
.carouselItemBox {
|
|
|
|
> div:nth-child(odd) {
|
|
|
|
>div:nth-child(odd) {
|
|
|
|
background: #fff;
|
|
|
|
background: #fff;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
> div:nth-child(even) {
|
|
|
|
|
|
|
|
|
|
|
|
>div:nth-child(even) {
|
|
|
|
background: #f5f8ff;
|
|
|
|
background: #f5f8ff;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|