feat: 名称脱敏

main
shengwen.chen 4 months ago
parent 9b9fcf2b89
commit fc2aab82a8

@ -1,6 +1,7 @@
<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
class="h-[11.11vh] pl-[3.7vh] pr-[2.22vh] flex justify-between items-center bg-[#5D49AF] relative overflow-hidden">
<div class="logBox h-[5vh]"> <div class="logBox h-[5vh]">
<img class="h-full" src="@/assets/svg/Wait/yanan-logo.png" /> <img class="h-full" src="@/assets/svg/Wait/yanan-logo.png" />
</div> </div>
@ -19,14 +20,17 @@
<div class="absolute top-[24px] left-1/2 -translate-x-1/2 w-[calc(100%-30px)]"> <div class="absolute top-[24px] left-1/2 -translate-x-1/2 w-[calc(100%-30px)]">
<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">
<template v-for="(subItem, index) in item"> <template v-for="(subItem, index) in item">
@ -34,22 +38,23 @@
<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"
class="border-r text-[#333] font-semibold truncate"
:style="{ color: `${textWaitToColor(subItem['ProcStatusName'])}`, 'flex-basis': `${item['width']}px` }" :style="{ color: `${textWaitToColor(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'] == 'PatientName'">
<div class="border-r text-[#333] font-semibold truncate"
:style="item['width'] ? `flex-basis:${item['width']}px` : `flex-grow: 1;`"
:key="item['columnCode']" v-if="item['isShow']">
{{ desensitizationText(subItem[item['columnCode']]) }}
</div>
</template>
<template v-else> <template v-else>
<div <div class="border-r text-[#333] font-semibold truncate"
class="border-r text-[#333] font-semibold truncate"
: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>
@ -73,7 +78,8 @@
<div class="absolute bottom-2 left-1/2 -translate-x-1/2 flex"> <div class="absolute bottom-2 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>
@ -128,7 +134,8 @@ export default {
textWaitToColor, textWaitToColor,
onGetPageData() { onGetPageData() {
let today = dayjs().format('YYYY-MM-DD'); let today = dayjs().format('YYYY-MM-DD');
// today = '2024-06-06'; // let today = '2024-06-06';
// let today = '2025-02-26';
const QueryFiledDic = {}; const QueryFiledDic = {};
this.queryCondition.forEach(queryItem => { this.queryCondition.forEach(queryItem => {
if (queryItem['queryType'] == 'dateTime') { if (queryItem['queryType'] == 'dateTime') {
@ -270,6 +277,15 @@ export default {
} }
} }
}, },
desensitizationText(text) {
if (text.length <= 1) {
return text;
}
if (text.length === 2) {
return text.charAt(0) + '*';
}
return text.charAt(0) + '*'.repeat(text.length - 2) + text.charAt(text.length - 1);
}
}, },
mounted() { mounted() {
this.$nextTick(() => { this.$nextTick(() => {
@ -285,6 +301,8 @@ export default {
}).then(res => { }).then(res => {
if (res['Data']['Data']['length']) { if (res['Data']['Data']['length']) {
res = res['Data']['Data'][0]; res = res['Data']['Data'][0];
console.log(JSON.parse(res['ReportHeadColumn']));
this.colList = JSON.parse(res['ReportHeadColumn']); this.colList = JSON.parse(res['ReportHeadColumn']);
this.queryCondition = JSON.parse(res['QueryCondition']); this.queryCondition = JSON.parse(res['QueryCondition']);
} }
@ -353,19 +371,23 @@ 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;
} }
} }
} }
} }
.popupBox { .popupBox {
position: absolute; position: absolute;
top: 0%; top: 0%;
@ -373,6 +395,7 @@ export default {
width: 100%; width: 100%;
height: 100%; height: 100%;
z-index: 9999; z-index: 9999;
div { div {
position: absolute; position: absolute;
top: 50%; top: 50%;
@ -384,6 +407,7 @@ export default {
padding: 3vh; padding: 3vh;
backdrop-filter: blur(2px); backdrop-filter: blur(2px);
background: #ece5ffe6; background: #ece5ffe6;
p { p {
color: #333; color: #333;
text-align: center; text-align: center;

Loading…
Cancel
Save