first commit
This commit is contained in:
36
src/layouts/AdminLayout.vue
Normal file
36
src/layouts/AdminLayout.vue
Normal file
@@ -0,0 +1,36 @@
|
||||
<template>
|
||||
<div class="min-h-screen bg-slate-900 text-white font-sans overflow-hidden">
|
||||
<!-- Top Bar -->
|
||||
<header class="h-14 bg-slate-800/50 backdrop-blur-md border-b border-slate-700 flex items-center justify-between px-6 fixed w-full z-50">
|
||||
<div class="flex items-center space-x-3">
|
||||
<div class="w-8 h-8 bg-gradient-to-br from-blue-500 to-purple-600 rounded-lg flex items-center justify-center font-bold">G</div>
|
||||
<span class="text-lg font-semibold tracking-wide">智慧城市·养老监管大脑</span>
|
||||
</div>
|
||||
<div class="text-sm text-slate-400 flex items-center space-x-4">
|
||||
<router-link to="/" class="hover:text-white transition-colors flex items-center px-3 py-1.5 rounded bg-slate-700/50 border border-slate-600 hover:bg-slate-700">
|
||||
<span class="mr-2">⬅</span> 退出监管舱
|
||||
</router-link>
|
||||
<span>{{ currentTime }}</span>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<!-- Main Content -->
|
||||
<main class="pt-14 h-screen w-full relative">
|
||||
<!-- Background Grid -->
|
||||
<div class="absolute inset-0 z-0 opacity-20 pointer-events-none"
|
||||
style="background-image: radial-gradient(#4f46e5 1px, transparent 1px); background-size: 30px 30px;">
|
||||
</div>
|
||||
|
||||
<div class="relative z-10 h-full p-6">
|
||||
<router-view></router-view>
|
||||
</div>
|
||||
</main>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { ref, onMounted, onUnmounted } from 'vue'
|
||||
import { useNow, useDateFormat } from '@vueuse/core'
|
||||
|
||||
const currentTime = useDateFormat(useNow(), 'YYYY-MM-DD HH:mm:ss')
|
||||
</script>
|
||||
44
src/layouts/AgencyLayout.vue
Normal file
44
src/layouts/AgencyLayout.vue
Normal file
@@ -0,0 +1,44 @@
|
||||
<template>
|
||||
<div class="min-h-screen bg-gray-100 flex">
|
||||
<!-- Sidebar -->
|
||||
<aside class="w-64 bg-trust-blue text-white flex-shrink-0">
|
||||
<div class="p-6 border-b border-blue-800">
|
||||
<h1 class="text-xl font-bold">康养协作平台</h1>
|
||||
<p class="text-xs text-blue-300 mt-1">Agency Workspace</p>
|
||||
</div>
|
||||
<nav class="mt-6">
|
||||
<router-link to="/" class="block px-6 py-3 hover:bg-blue-800 transition-colors border-l-4 border-transparent hover:border-white text-blue-200">
|
||||
<span class="inline-block w-6">🏠</span> 返回系统首页
|
||||
</router-link>
|
||||
<div class="h-px bg-blue-800 my-2 mx-6"></div>
|
||||
<router-link to="/agency/workspace" class="block px-6 py-3 hover:bg-blue-800 transition-colors border-l-4 border-transparent hover:border-white">
|
||||
<span class="inline-block w-6">📊</span> 工作台
|
||||
</router-link>
|
||||
<div class="px-6 py-3 text-blue-400 text-xs uppercase tracking-wider mt-4">任务管理</div>
|
||||
<a href="#" class="block px-6 py-3 hover:bg-blue-800 transition-colors border-l-4 border-transparent hover:border-white opacity-50 cursor-not-allowed">
|
||||
<span class="inline-block w-6">🚑</span> 紧急响应
|
||||
</a>
|
||||
<a href="#" class="block px-6 py-3 hover:bg-blue-800 transition-colors border-l-4 border-transparent hover:border-white opacity-50 cursor-not-allowed">
|
||||
<span class="inline-block w-6">📝</span> 护理记录
|
||||
</a>
|
||||
</nav>
|
||||
</aside>
|
||||
|
||||
<!-- Main Content -->
|
||||
<main class="flex-1 overflow-y-auto">
|
||||
<header class="bg-white shadow-sm h-16 flex items-center justify-between px-8">
|
||||
<h2 class="text-lg font-semibold text-gray-800">今日值班:张护理员</h2>
|
||||
<div class="flex items-center space-x-2 text-sm text-gray-600">
|
||||
<span class="h-2 w-2 bg-green-500 rounded-full"></span>
|
||||
<span>系统在线</span>
|
||||
</div>
|
||||
</header>
|
||||
<div class="p-8">
|
||||
<router-view></router-view>
|
||||
</div>
|
||||
</main>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
</script>
|
||||
41
src/layouts/BlockchainLayout.vue
Normal file
41
src/layouts/BlockchainLayout.vue
Normal file
@@ -0,0 +1,41 @@
|
||||
<template>
|
||||
<div class="min-h-screen bg-[#0f172a] text-slate-300 font-mono">
|
||||
<!-- Blockchain Header -->
|
||||
<header class="h-16 border-b border-slate-800 bg-[#0f172a]/90 backdrop-blur fixed w-full z-50">
|
||||
<div class="max-w-7xl mx-auto px-4 h-full flex items-center justify-between">
|
||||
<div class="flex items-center space-x-2">
|
||||
<div class="w-6 h-6 border-2 border-blue-500 rounded animate-spin-slow"></div>
|
||||
<span class="text-xl font-bold text-white">FISCO BCOS Explorer</span>
|
||||
<span class="px-2 py-0.5 rounded bg-blue-500/10 text-blue-400 text-xs border border-blue-500/20">Testnet</span>
|
||||
</div>
|
||||
<nav class="flex space-x-6 text-sm items-center">
|
||||
<router-link to="/" class="text-slate-400 hover:text-white flex items-center px-3 py-1 rounded border border-slate-700 hover:border-slate-500 transition-colors">
|
||||
<span class="mr-1">↩</span> Mainnet
|
||||
</router-link>
|
||||
<router-link to="/blockchain/explorer" class="text-white border-b-2 border-blue-500 pb-5 pt-5">概览</router-link>
|
||||
<a href="#" class="hover:text-white transition-colors">区块</a>
|
||||
<a href="#" class="hover:text-white transition-colors">交易</a>
|
||||
<a href="#" class="hover:text-white transition-colors">合约</a>
|
||||
</nav>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<!-- Main Content -->
|
||||
<main class="pt-20 pb-12 px-4 max-w-7xl mx-auto">
|
||||
<router-view></router-view>
|
||||
</main>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.animate-spin-slow {
|
||||
animation: spin 3s linear infinite;
|
||||
}
|
||||
@keyframes spin {
|
||||
from { transform: rotate(0deg); }
|
||||
to { transform: rotate(360deg); }
|
||||
}
|
||||
</style>
|
||||
35
src/layouts/ClientLayout.vue
Normal file
35
src/layouts/ClientLayout.vue
Normal file
@@ -0,0 +1,35 @@
|
||||
<template>
|
||||
<div class="min-h-screen bg-gray-50 font-sans">
|
||||
<!-- Client Layout Header -->
|
||||
<header class="bg-white shadow-sm sticky top-0 z-50">
|
||||
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
|
||||
<div class="flex justify-between h-16">
|
||||
<div class="flex">
|
||||
<div class="flex-shrink-0 flex items-center">
|
||||
<span class="text-2xl font-bold text-vitality-orange">智护链</span>
|
||||
<span class="ml-2 text-sm text-gray-500">守护端</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex items-center space-x-4">
|
||||
<router-link to="/" class="text-gray-500 hover:text-gray-900 px-3 py-2 rounded-md text-sm font-medium flex items-center">
|
||||
<span class="mr-1">🏠</span> 退出
|
||||
</router-link>
|
||||
<router-link to="/client/dashboard" class="text-gray-600 hover:text-vitality-orange px-3 py-2 rounded-md text-sm font-medium">首页</router-link>
|
||||
<router-link to="/client/timebank" class="text-gray-600 hover:text-vitality-orange px-3 py-2 rounded-md text-sm font-medium">时间银行</router-link>
|
||||
<div class="ml-4 flex items-center">
|
||||
<img class="h-8 w-8 rounded-full" src="https://api.dicebear.com/7.x/avataaars/svg?seed=Felix" alt="User Avatar" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<!-- Main Content -->
|
||||
<main class="max-w-7xl mx-auto py-6 sm:px-6 lg:px-8">
|
||||
<router-view></router-view>
|
||||
</main>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
</script>
|
||||
36
src/layouts/RobotLayout.vue
Normal file
36
src/layouts/RobotLayout.vue
Normal file
@@ -0,0 +1,36 @@
|
||||
<template>
|
||||
<div class="min-h-screen bg-gray-900 font-mono text-white">
|
||||
<!-- Robot Layout Header -->
|
||||
<header class="bg-black border-b border-gray-800">
|
||||
<div class="max-w-full mx-auto px-4 sm:px-6 lg:px-8">
|
||||
<div class="flex justify-between h-12 items-center">
|
||||
<div class="flex items-center">
|
||||
<div class="h-3 w-3 bg-green-500 rounded-full animate-pulse mr-2"></div>
|
||||
<span class="text-lg font-bold tracking-wider">EDGE-ROBOT-082</span>
|
||||
</div>
|
||||
<div class="flex space-x-4 text-xs text-gray-400 items-center">
|
||||
<router-link to="/" class="hover:text-white transition-colors flex items-center px-2 py-1 border border-gray-700 rounded bg-gray-800">
|
||||
<span class="mr-1">⚡</span> EXIT TERMINAL
|
||||
</router-link>
|
||||
<span>CPU: 32%</span>
|
||||
<span>MEM: 412MB</span>
|
||||
<span>NET: 5G/Connected</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<!-- Main Content (Full Screen) -->
|
||||
<main class="h-[calc(100vh-3rem)] overflow-hidden relative">
|
||||
<router-view></router-view>
|
||||
|
||||
<!-- Overlay Debug Info -->
|
||||
<div class="absolute bottom-4 right-4 text-xs text-gray-500 opacity-50 pointer-events-none">
|
||||
FIRMWARE: v2.4.1 | MODEL: YOLOv8-Nano
|
||||
</div>
|
||||
</main>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
</script>
|
||||
Reference in New Issue
Block a user