Browse Source

style: 首页耗材优化

master
guoapeng 3 months ago
parent
commit
e0f3bdf557
  1. 6
      src/pages/Index/Index.vue
  2. 13
      src/pages/Index/Regular.vue
  3. 41
      src/pages/Index/Regular/Consumables.vue
  4. 4
      src/pages/Index/components/Consumables/BallGrid.vue
  5. 7
      src/pages/Index/components/Consumables/BallGrid2.vue
  6. 2
      src/pages/Index/components/Consumables/InfoBar.vue
  7. 2
      src/pages/Index/components/Consumables/MainComponent.vue
  8. 139
      src/pages/Index/components/Consumables/MoveLiquidArea.vue
  9. 27
      src/pages/Index/components/Consumables/SpttingPlates.vue
  10. 3
      src/pages/Index/components/Consumables/TabBar.vue
  11. 9
      src/pages/Login/index.vue

6
src/pages/Index/Index.vue

@ -1012,8 +1012,7 @@ watch(
.nav-bar { .nav-bar {
width: 100%; width: 100%;
height: 7rem;
margin-bottom: 2px;
height: 100px;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
align-items: center; align-items: center;
@ -1153,8 +1152,7 @@ watch(
} }
.main-content { .main-content {
flex: 1;
min-height: 0; //
height: calc(100% - 155px);
} }
} }
.msg-container { .msg-container {

13
src/pages/Index/Regular.vue

@ -1,13 +1,11 @@
<template> <template>
<div id="regular-container">
<div id="regular">
<TabBar /> <TabBar />
<div>
<router-view v-slot="{ Component }">
<router-view v-slot="{ Component }" class="content">
<keep-alive> <keep-alive>
<component :is="Component" /> <component :is="Component" />
</keep-alive> </keep-alive>
</router-view> </router-view>
</div>
</div> </div>
</template> </template>
@ -17,11 +15,14 @@ import TabBar from './components/Consumables/TabBar.vue'
</script> </script>
<style scoped lang="less"> <style scoped lang="less">
#regular-container {
#regular {
margin: 0; margin: 0;
padding: 0; padding: 0;
width: 100%; width: 100%;
height: 100%; height: 100%;
.content {
height: calc(100% - 4.5rem);
}
.main-top { .main-top {
display: flex; display: flex;
@ -33,7 +34,7 @@ import TabBar from './components/Consumables/TabBar.vue'
.buffer-little-title { .buffer-little-title {
display: flex; display: flex;
margin: 5px 0 0 5px 0;
margin: 5px 0 0 5px;
.line { .line {
margin-right: 5px; margin-right: 5px;

41
src/pages/Index/Regular/Consumables.vue

@ -47,6 +47,7 @@
<!--耗材页面 --> <!--耗材页面 -->
<div class="main-top"> <div class="main-top">
<!-- 反应板夹区-->
<div class="plate-area"> <div class="plate-area">
<SpttingPlates <SpttingPlates
:plates="consumableStore.consumableData?.reactionPlateGroup" :plates="consumableStore.consumableData?.reactionPlateGroup"
@ -54,16 +55,12 @@
@updateReactionPlateNum="updateReactionPlateNum" @updateReactionPlateNum="updateReactionPlateNum"
@unloadConsumable="handleUnloadConsumable" @unloadConsumable="handleUnloadConsumable"
/> />
<!-- <SliderAreaEx v-model="sliderValue" v-model:totalValue="totalVal"/>
<DragAreaEx v-model:hVal="hVal" v-model:hTotal="hTotal" v-model:vVal="vVal" v-model:vTotal="vTotal"/> -->
</div> </div>
<!-- 移液头区-->
<div class="move-liquid-area"> <div class="move-liquid-area">
<MoveLiquidArea <MoveLiquidArea
:moveLiquids="consumableStore.consumableData?.tips" :moveLiquids="consumableStore.consumableData?.tips"
:tempTipNum="
consumableStore.consumableData?.tips.map((t) => t.tipNum)
"
:tempTipNum="consumableStore.consumableData?.tips.map((t) => t.tipNum)"
:bufferBig="consumableStore.consumableData.larBottleGroup" :bufferBig="consumableStore.consumableData.larBottleGroup"
:emergencyInfo="emergencyInfo" :emergencyInfo="emergencyInfo"
:wasteStatus="deviceStore.sensorState?.wasteBinFullFlag || false" :wasteStatus="deviceStore.sensorState?.wasteBinFullFlag || false"
@ -375,8 +372,9 @@ const updateTipNum = async ({
<style scoped lang="less"> <style scoped lang="less">
#regular-container { #regular-container {
width: 100%; width: 100%;
height: 100%;
height: calc(100% - 60px);
display: flex; display: flex;
flex-direction: column; flex-direction: column;
@ -443,9 +441,9 @@ const updateTipNum = async ({
.main-top { .main-top {
display: flex; display: flex;
justify-content: space-between;
margin-top: 5px;
height: 100%;
box-sizing: border-box;
padding-top: 5px;
background: #DDE4E9;
.plate-area { .plate-area {
width: 360px; width: 360px;
@ -457,32 +455,39 @@ const updateTipNum = async ({
} }
.main-bottom { .main-bottom {
background: #DDE4E9;
width: 100%; width: 100%;
box-sizing: border-box;
padding: 10px;
flex: 1; flex: 1;
.buffer-little-title { .buffer-little-title {
background: #f6f6f6;
display: flex; display: flex;
height: 40px;
line-height: 40px;
height: 26px;
align-items: center; align-items: center;
padding: 0 5px;
.line { .line {
width: 4px; width: 4px;
height: 20px; height: 20px;
background-color: #4caf50;
margin: 0 10px 0;
background-color: #11d900;
margin: 0 5px;
border-radius: 10px;
} }
.content { .content {
font-size: 26px;
font-size: 20px;
} }
} }
.ball-area { .ball-area {
height: calc(100% - 26px);
display: flex; display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap; flex-wrap: wrap;
column-gap: 26px;
row-gap: 12px;
padding: 0 24px;
column-gap: 20px;
row-gap: 20px;
.ball-grid { .ball-grid {
overflow: hidden; overflow: hidden;
} }

4
src/pages/Index/components/Consumables/BallGrid.vue

@ -48,7 +48,7 @@ const props = defineProps({
}, },
innerColor: { innerColor: {
type: String, type: String,
default: 'lightgray', //
default: '#D2DAE0', //
}, },
}) })
@ -91,7 +91,7 @@ const innerCircleStyle = (index) => {
width: 100%; width: 100%;
height: 100%; height: 100%;
display: flex; display: flex;
background-color: #666;
background-color: #F6F6F6;
border-radius: 10px; border-radius: 10px;
flex-wrap: wrap; flex-wrap: wrap;
column-gap: 4px; column-gap: 4px;

7
src/pages/Index/components/Consumables/BallGrid2.vue

@ -68,7 +68,7 @@ const props = defineProps({
}, },
innerColor: { innerColor: {
type: String, type: String,
default: 'lightgray', //
default: '#D2DAE0', //
}, },
inUse: { inUse: {
type: Boolean, type: Boolean,
@ -150,9 +150,8 @@ watch(
display: flex; display: flex;
flex-wrap: wrap-reverse; flex-wrap: wrap-reverse;
flex-direction: row-reverse; flex-direction: row-reverse;
background-color: #666;
border-radius: 10px;
padding-right: 4px;
background-color: #F6F6F6;
//border-radius: 10px;
} }
.drag-area { .drag-area {
position: absolute; position: absolute;

2
src/pages/Index/components/Consumables/InfoBar.vue

@ -57,7 +57,7 @@ const { projectName, currentCount, maxCount } = toRefs(props)
background-color: #808080; background-color: #808080;
font-size: 22px; font-size: 22px;
font-weight: 600; font-weight: 600;
height: 30px;
height: 40px;
color: #fff; color: #fff;
padding: 0 20px; padding: 0 20px;
} }

2
src/pages/Index/components/Consumables/MainComponent.vue

@ -93,8 +93,6 @@ const handleUpdateBottleNum = (
.combined-container { .combined-container {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
/* align-items: center; */
background-color: #555555;
border-radius: 10px; border-radius: 10px;
} }
</style> </style>

139
src/pages/Index/components/Consumables/MoveLiquidArea.vue

@ -1,14 +1,6 @@
<template> <template>
<div id="move-liquid-area-container"> <div id="move-liquid-area-container">
<!-- 扫描耗材按钮-->
<el-button
type="primary"
class="load-consumables"
@touchstart.prevent="handleTouchStart"
@touchend="handleTouchEnd"
@touchcancel="handleTouchEnd"
>扫描耗材</el-button
>
<div class="info-show-area"> <div class="info-show-area">
<!-- 移液区 --> <!-- 移液区 -->
<div class="move-liquid-area"> <div class="move-liquid-area">
@ -155,6 +147,18 @@
</div> </div>
</div> </div>
</div> </div>
<!-- 扫描耗材按钮-->
<div class="load-consumables-area">
<el-button
type="primary"
class="load-consumables"
@touchstart.prevent="handleTouchStart"
@touchend="handleTouchEnd"
@touchcancel="handleTouchEnd"
>扫描耗材</el-button
>
</div>
</div> </div>
<InitWarn <InitWarn
@ -325,6 +329,7 @@ const changePlate = (index: number) => {
flex-direction: column; flex-direction: column;
// justify-content: space-between; // justify-content: space-between;
width: 100%; width: 100%;
height: 100%;
.info-show-area { .info-show-area {
display: flex; display: flex;
@ -335,37 +340,51 @@ const changePlate = (index: number) => {
font-weight: bold; font-weight: bold;
} }
.load-consumables {
margin: 0 16px 12px 10px;
padding: 0;
height: 70px;
font-size: 40px;
border-radius: 10px;
// margin-bottom: 15px;
.load-consumables-area {
flex: 1;
display: flex;
align-items: flex-end;
justify-content: center;
width: 100%;
.load-consumables {
width: calc(100% - 20px);
padding: 0;
height: 60px;
font-size: 30px;
background: #528dfe;
border-radius: 10px;
}
} }
.move-liquid-area { .move-liquid-area {
width: 70%; width: 70%;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
margin-left: 10px; margin-left: 10px;
gap: 9px;
background-color: #f6f6f6;
gap: 10px;
//background-color: #fff;
border-radius: 10px; border-radius: 10px;
.move-liquid-title { .move-liquid-title {
width: 100%; width: 100%;
display: flex; display: flex;
font-size: 26px;
font-weight: 400; font-weight: 400;
align-items: center; align-items: center;
margin-left: 10px;
background: #f6f6f6;
height: 26px;
padding: 0 5px;
box-sizing: border-box;
.line { .line {
width: 4px; width: 4px;
height: 20px; height: 20px;
background-color: #00d800;
margin-right: 5px;
background-color: #11d900;
margin: 0 5px;
border-radius: 10px;
}
.content {
font-size: 20px;
} }
} }
@ -375,10 +394,10 @@ const changePlate = (index: number) => {
flex-wrap: nowrap; flex-wrap: nowrap;
.controller { .controller {
width: 136px;
height: 6rem;
width: 120px;
padding: 5px 5px;
color: #54a4e8; color: #54a4e8;
border: 3px solid #54a4e8;
border: 1px solid #54a4e8;
border-radius: 10px; border-radius: 10px;
display: grid; display: grid;
place-content: center; place-content: center;
@ -391,7 +410,7 @@ const changePlate = (index: number) => {
} }
.controller-number { .controller-number {
font-size: 26px;
font-size: 20px;
font-weight: 600; font-weight: 600;
border-radius: 10px; border-radius: 10px;
border: 2px solid #54a4e8; border: 2px solid #54a4e8;
@ -416,29 +435,31 @@ const changePlate = (index: number) => {
} }
.right-area { .right-area {
box-sizing: border-box;
width: 30%; width: 30%;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
justify-content: stretch; justify-content: stretch;
padding-left: 8px;
gap: 6px;
padding:0 10px;
gap: 10px;
.emergency-area, .emergency-area,
.id-area, .id-area,
.waste-area, .waste-area,
.buffer-area { .buffer-area {
width: 90%;
width: 100%;
} }
.emergency-title, .emergency-title,
.id-title, .id-title,
.waste-title, .waste-title,
.buffer-title { .buffer-title {
font-size: 26px;
font-weight: 500;
font-size: 20px;
box-sizing: border-box;
padding: 0 5px;
} }
.content{ .content{
font-size: 1.36rem;
font-size: 20px;
} }
.controller-button, .controller-button,
@ -446,31 +467,29 @@ const changePlate = (index: number) => {
.waste-button, .waste-button,
.buffer-controller { .buffer-controller {
width: 100%; width: 100%;
height: 80px;
height: 50px;
} }
.line { .line {
width: 4px; width: 4px;
height: 20px; height: 20px;
background-color: #00d800;
background-color: #11d900;
margin: 0 5px; margin: 0 5px;
border-radius: 10px;
} }
// //
.emergency-area { .emergency-area {
background-color: #f6f6f6;
border-radius: 10px;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
justify-content: space-between; justify-content: space-between;
.emergency-title { .emergency-title {
width: 155px;
width: 100%;
display: flex; display: flex;
height: 26px;
align-items: center; align-items: center;
background-color: #f6f6f6; background-color: #f6f6f6;
margin: 0 5px;
font-weight: 400;
} }
.emergency-controller { .emergency-controller {
@ -480,16 +499,15 @@ const changePlate = (index: number) => {
.controller { .controller {
width: 100%; width: 100%;
height: 60px;
margin: 10px 0;
display: flex; display: flex;
justify-content: space-around; justify-content: space-around;
background-color: #fff;
align-items: center; align-items: center;
.emergency-desc { .emergency-desc {
width: 100%; width: 100%;
border-radius: 6px; border-radius: 6px;
background-color: #ddd;
background-color: #ccc;
line-height: 40px; line-height: 40px;
font-weight: 600; font-weight: 600;
font-size: 24px; font-size: 24px;
@ -504,7 +522,8 @@ const changePlate = (index: number) => {
border-radius: 7px; border-radius: 7px;
background-color: #c84141; background-color: #c84141;
color: white; color: white;
font-size: 32px;
font-size: 28px;
line-height: 50px;
font-weight: 400; font-weight: 400;
display: flex; display: flex;
justify-content: center; justify-content: center;
@ -515,14 +534,14 @@ const changePlate = (index: number) => {
//ID //ID
.id-area { .id-area {
background-color: #f6f6f6;
border-radius: 10px;
margin-top: 8px;
.id-title { .id-title {
width: 155px;
width: 100%;
height: 26px;
display: flex; display: flex;
align-items: center; align-items: center;
background-color: #f6f6f6; background-color: #f6f6f6;
margin-bottom: 10px;
} }
.id-button { .id-button {
@ -543,11 +562,10 @@ const changePlate = (index: number) => {
// //
.waste-area { .waste-area {
// width: 166px;
background-color: #f6f6f6;
border-radius: 10px;
margin-top: 10px;
.waste-title { .waste-title {
height: 26px;
margin-bottom: 10px;
display: flex; display: flex;
align-items: center; align-items: center;
background-color: #f6f6f6; background-color: #f6f6f6;
@ -568,34 +586,31 @@ const changePlate = (index: number) => {
} }
.button-icon { .button-icon {
width: 64px;
width: 50px;
height: 64px; height: 64px;
display: grid; display: grid;
place-content: center; place-content: center;
margin-right: 5px; margin-right: 5px;
img { img {
width: 40px;
height: 40px;
width: 25px;
} }
} }
.button-text { .button-text {
width: 65px;
height: 24px;
font-size: 26px; font-size: 26px;
font-weight: 400; font-weight: 400;
line-height: 30px;
} }
} }
} }
// //
.buffer-area { .buffer-area {
background-color: #f6f6f6;
border-radius: 10px;
margin-top: 10px;
.buffer-title { .buffer-title {
height: 26px;
margin-bottom: 10px;
display: flex; display: flex;
align-items: center; align-items: center;
background-color: #f6f6f6; background-color: #f6f6f6;
@ -603,4 +618,10 @@ const changePlate = (index: number) => {
} }
} }
} }
.move-liquid-graph {
width: 100%;
display: flex;
justify-content: center;
align-items: center;
}
</style> </style>

27
src/pages/Index/components/Consumables/SpttingPlates.vue

@ -116,25 +116,27 @@ const updateSliderEndVal = async (plateNum, order) => {
.sptting-plates-container { .sptting-plates-container {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
background-color: #f6f6f6;
padding-left: 8px; padding-left: 8px;
// //
.temperature { .temperature {
width: 100%; width: 100%;
height: 10%;
margin: 0 auto;
height: 26px;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
align-items: center; align-items: center;
margin-bottom: 5px; //
//
margin: 0 auto 10px;
background: #f6f6f6;
padding: 0 5px;
box-sizing: border-box;
.area { .area {
width: 180px; width: 180px;
height: 33px;
align-items: center; align-items: center;
font-size: 32px;
font-size: 26px;
display: flex; display: flex;
.line { .line {
width: 4px; width: 4px;
height: 20px; height: 20px;
@ -144,8 +146,7 @@ const updateSliderEndVal = async (plateNum, order) => {
} }
.area-text { .area-text {
font-size: 26px;
font-weight: 300;
font-size: 20px;
} }
} }
@ -175,15 +176,15 @@ const updateSliderEndVal = async (plateNum, order) => {
// //
.sptting-plates { .sptting-plates {
display: flex; display: flex;
gap: 10px; //
gap: 5px; //
flex-direction: column; flex-direction: column;
.card { .card {
width: 355px;
height: 5.5rem;
padding: 0px;
width: 100%;
height: 85px;
padding: 0;
border: 1px solid black;
border: 1px solid #ccc;
border-radius: 8px; border-radius: 8px;
overflow: hidden; overflow: hidden;
position: relative; position: relative;

3
src/pages/Index/components/Consumables/TabBar.vue

@ -53,11 +53,10 @@ const onTabClick = (index: any) => {
<style scoped lang="less"> <style scoped lang="less">
.tab-bar { .tab-bar {
height: 4.5rem;
height: 60px;
display: flex; display: flex;
justify-content: space-around; justify-content: space-around;
background-color: #fff; background-color: #fff;
margin: 5px;
box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1); box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.1);
.tab-item { .tab-item {

9
src/pages/Login/index.vue

@ -211,12 +211,15 @@ const version = __APP_VERSION__
margin-left: 30px; margin-left: 30px;
font-size: 25px; font-size: 25px;
font-weight: bold; font-weight: bold;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
max-width: 150px;
} }
.el-icon { .el-icon {
animation: iconAnim 0.3s ease forwards; animation: iconAnim 0.3s ease forwards;
font-size: 30px; font-size: 30px;
margin-left: auto; margin-left: auto;
} }
} }
.user-info-active { .user-info-active {
@ -248,6 +251,10 @@ const version = __APP_VERSION__
margin-left: 30px; margin-left: 30px;
font-size: 25px; font-size: 25px;
font-weight: bold; font-weight: bold;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
max-width: 150px;
} }
} }
} }

Loading…
Cancel
Save