LSSE-front/src/views/simulationScene/database/index.vue
2025-08-20 16:24:13 +08:00

133 lines
3.4 KiB
Vue

<template>
<Grid class="database-page" :rows="[1, 1]">
<ModuleWrapper title="保障实体类数据库">
<Grid class="normal bzstlsjk" :columns="bzstlsjkColumns">
<div v-for="(item, index) in bzstlsjk" :key="index" class="sjk-item" @click="$router.push(item.path)">
<img :src="item.image" alt="" />
<div class="title">{{ item.title }}</div>
</div>
</Grid>
</ModuleWrapper>
<ModuleWrapper title="业务应用类数据库">
<Grid class="normal ywyylsjk" :columns="ywyylsjkColumns">
<div v-for="(item, index) in ywyylsjk" :key="index" class="sjk-item" @click="$router.push(item.path)">
<img :src="item.image" alt="" />
<div class="title">{{ item.title }}</div>
</div>
</Grid>
</ModuleWrapper>
</Grid>
</template>
<script>
export default {
name: 'SimulationSceneDatabase',
data() {
return {
bzstlsjk: [
{
title: '作战力量数据库',
image: require('@/assets/images/simulation-scene/database/zzllsjk.png'),
path: '/databaseSystem/zzllsjk',
},
{
title: '保障力量数据库',
image: require('@/assets/images/simulation-scene/database/bzllsjk.png'),
path: '/databaseSystem/bzllsjk',
},
{
title: '保障环境数据库',
image: require('@/assets/images/simulation-scene/database/bzhjsjk.png'),
path: '/databaseSystem/bzhjsjk',
},
{
title: '装备数据库',
image: require('@/assets/images/simulation-scene/database/bzhjsjk.png'),
path: '/databaseSystem/zbsjk',
},
],
ywyylsjk: [
{
title: '想定数据库',
image: require('@/assets/images/simulation-scene/database/xdsjk.png'),
path: '/databaseSystem/xdsjk',
},
{
title: '方案数据库',
image: require('@/assets/images/simulation-scene/database/fasjk.png'),
path: '/databaseSystem/fasjk',
},
{
title: '进程数据库',
image: require('@/assets/images/simulation-scene/database/jcsjk.png'),
path: '/databaseSystem/jcsjk',
},
{
title: '图形数据库',
image: require('@/assets/images/simulation-scene/database/txsjk.png'),
path: '/databaseSystem/txsjk',
},
{
title: '运行记录数据库',
image: require('@/assets/images/simulation-scene/database/yxjlsjk.png'),
path: '/databaseSystem/yxjlsjk',
},
],
}
},
computed: {
bzstlsjkColumns() {
return new Array(this.bzstlsjk.length).fill(1)
},
ywyylsjkColumns() {
return new Array(this.ywyylsjk.length).fill(1)
},
},
}
</script>
<style lang="less" scoped>
.database-page {
padding: 20px;
}
img {
width: 100%;
height: 100%;
object-fit: cover;
border: 1px solid #06445f;
}
.sjk-item {
position: relative;
cursor: pointer;
.title {
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
background-color: #02223466;
border: 1px solid #17759e;
padding: 20px 0;
font-size: 24px;
line-height: 1;
letter-spacing: 2px;
white-space: nowrap;
text-align: center;
}
}
.sjk-item:hover {
.title {
background-color: #17759e99;
}
}
.bzstlsjk {
.title {
width: 252px;
}
}
.ywyylsjk {
.title {
width: 222px;
}
}
</style>