|
@@ -50,12 +50,27 @@
|
|
|
</el-col>
|
|
</el-col>
|
|
|
</el-row>
|
|
</el-row>
|
|
|
|
|
|
|
|
|
|
+ <el-row :gutter="10" class="top_row">
|
|
|
|
|
+ <el-col :span="8" class="box-card_bg" v-for="(item, index) in state.jumpListData" :key="index">
|
|
|
|
|
+ <el-card @click="jumpweb(item.type)" :style="{ background: item.bgColor }" class="box-card-num">
|
|
|
|
|
+ <el-row class="box-card-row" style="margin:0">
|
|
|
|
|
+ <el-col :span="16" class="box_left">
|
|
|
|
|
+ <p class="jump_title">{{ item.name }}</p>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ <el-col :span="8">
|
|
|
|
|
+ <el-image style="width:125px;height:80px" :src="item.icon" fit="cover"></el-image>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ </el-row>
|
|
|
|
|
+ </el-card>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ </el-row>
|
|
|
|
|
+
|
|
|
<el-row :gutter="10">
|
|
<el-row :gutter="10">
|
|
|
<el-col :span="24">
|
|
<el-col :span="24">
|
|
|
<el-card class="box-bottom_bg">
|
|
<el-card class="box-bottom_bg">
|
|
|
<p>平台架构图</p>
|
|
<p>平台架构图</p>
|
|
|
<el-divider />
|
|
<el-divider />
|
|
|
- <el-image :src="home_5" fit="contain"></el-image>
|
|
|
|
|
|
|
+ <el-image class="framework" :src="home_5" fit="contain"></el-image>
|
|
|
</el-card>
|
|
</el-card>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
</el-row>
|
|
</el-row>
|
|
@@ -65,11 +80,18 @@
|
|
|
<script setup name="Index" lang="ts">
|
|
<script setup name="Index" lang="ts">
|
|
|
import { categoryList, productList, deviceList, deviceCategory,deviceStates } from '@/api/home'
|
|
import { categoryList, productList, deviceList, deviceCategory,deviceStates } from '@/api/home'
|
|
|
import * as echarts from 'echarts'
|
|
import * as echarts from 'echarts'
|
|
|
|
|
+import { md5Encrypt } from '@/utils/jsencrypt'
|
|
|
import home_1 from '@/assets/images/home/home_1.png'
|
|
import home_1 from '@/assets/images/home/home_1.png'
|
|
|
import home_2 from '@/assets/images/home/home_2.png'
|
|
import home_2 from '@/assets/images/home/home_2.png'
|
|
|
import home_3 from '@/assets/images/home/home_3.png'
|
|
import home_3 from '@/assets/images/home/home_3.png'
|
|
|
import home_4 from '@/assets/images/home/home_4.png'
|
|
import home_4 from '@/assets/images/home/home_4.png'
|
|
|
import home_5 from '@/assets/images/home/home_5.png'
|
|
import home_5 from '@/assets/images/home/home_5.png'
|
|
|
|
|
+import { getName } from '@/utils/auth'
|
|
|
|
|
+enum TypeApi {
|
|
|
|
|
+ tend = 'tend',
|
|
|
|
|
+ health = 'health',
|
|
|
|
|
+ bed = 'bed'
|
|
|
|
|
+}
|
|
|
const deviceNum_ref = ref()
|
|
const deviceNum_ref = ref()
|
|
|
const state = reactive({
|
|
const state = reactive({
|
|
|
deviceListData: [
|
|
deviceListData: [
|
|
@@ -106,6 +128,26 @@ const state = reactive({
|
|
|
name: '设备状态统计'
|
|
name: '设备状态统计'
|
|
|
}
|
|
}
|
|
|
],
|
|
],
|
|
|
|
|
+ jumpListData: [
|
|
|
|
|
+ {
|
|
|
|
|
+ type:TypeApi.tend,
|
|
|
|
|
+ name: '安全照护',
|
|
|
|
|
+ bgColor: 'linear-gradient(225deg, #F1F7FF 0%, #FFFFFF 36%, #FFFFFF 100%)',
|
|
|
|
|
+ icon: home_1
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ type:TypeApi.health,
|
|
|
|
|
+ name: '健康监测',
|
|
|
|
|
+ bgColor: 'linear-gradient(225deg, #FFF6EE 0%, #FFFFFF 36%, #FFFFFF 100%)',
|
|
|
|
|
+ icon: home_2
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ type:TypeApi.bed,
|
|
|
|
|
+ name: '数字家床',
|
|
|
|
|
+ bgColor: 'linear-gradient(225deg, #EEFFF5 0%, #FFFFFF 36%, #FFFFFF 100%)',
|
|
|
|
|
+ icon: home_3
|
|
|
|
|
+ }
|
|
|
|
|
+ ],
|
|
|
pieOptionData: [],
|
|
pieOptionData: [],
|
|
|
pieColor: [
|
|
pieColor: [
|
|
|
'rgba(255, 162, 23, 1)',
|
|
'rgba(255, 162, 23, 1)',
|
|
@@ -401,6 +443,29 @@ const getDataList = async () => {
|
|
|
const goTarget = (url: string) => {
|
|
const goTarget = (url: string) => {
|
|
|
window.open(url, '__blank')
|
|
window.open(url, '__blank')
|
|
|
}
|
|
}
|
|
|
|
|
+const jumpweb =(type) => {
|
|
|
|
|
+ let md5Txt = md5Encrypt(String(getName()).toLowerCase())
|
|
|
|
|
+ let paraStr = `user=${getName()}&token=${md5Txt}`
|
|
|
|
|
+ switch (type) {
|
|
|
|
|
+ case TypeApi.tend:
|
|
|
|
|
+ {
|
|
|
|
|
+ window.open(`https://web.poteviohealth.com/zhylsafecase/index.html?${paraStr}`,'_blank')
|
|
|
|
|
+ }
|
|
|
|
|
+ break
|
|
|
|
|
+ case TypeApi.health:
|
|
|
|
|
+ {
|
|
|
|
|
+ window.open(`https://web.poteviohealth.com/r/daping/health/index.html?${paraStr}`,'_blank')
|
|
|
|
|
+ }
|
|
|
|
|
+ break
|
|
|
|
|
+ case TypeApi.bed:
|
|
|
|
|
+ {
|
|
|
|
|
+ window.open(`https://web.poteviohealth.com/boss/daping/data.html?${paraStr}`,'_blank')
|
|
|
|
|
+ }
|
|
|
|
|
+ break
|
|
|
|
|
+ default:
|
|
|
|
|
+ break
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
onMounted(() => {
|
|
onMounted(() => {
|
|
|
getDataList()
|
|
getDataList()
|
|
|
})
|
|
})
|
|
@@ -443,6 +508,11 @@ onMounted(() => {
|
|
|
font-weight: 600;
|
|
font-weight: 600;
|
|
|
color: #000B19;
|
|
color: #000B19;
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ .jump_title {
|
|
|
|
|
+ margin-top: 40px;
|
|
|
|
|
+ color: #636363 !important;
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -563,6 +633,10 @@ onMounted(() => {
|
|
|
|
|
|
|
|
.el-row:nth-of-type(3) {
|
|
.el-row:nth-of-type(3) {
|
|
|
margin-top: 15px;
|
|
margin-top: 15px;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ .el-row:nth-of-type(4) {
|
|
|
|
|
+ margin-top: 15px;
|
|
|
|
|
|
|
|
.box-bottom_bg {
|
|
.box-bottom_bg {
|
|
|
width: 100%;
|
|
width: 100%;
|
|
@@ -588,11 +662,6 @@ onMounted(() => {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
blockquote {
|
|
blockquote {
|
|
|
padding: 10px 20px;
|
|
padding: 10px 20px;
|
|
|
margin: 0 0 20px;
|
|
margin: 0 0 20px;
|