仓储物流模块。 仓储页面

This commit is contained in:
姚俊旭 2025-05-28 11:43:31 +08:00
parent 11bf42d068
commit 3830d2983f
13 changed files with 46 additions and 37 deletions

View File

@ -5,7 +5,7 @@
<meta charset="UTF-8" /> <meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/logo.png" /> <link rel="icon" type="image/svg+xml" href="/logo.png" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>政务服务</title> <title>运营服务</title>
</head> </head>
<body> <body>

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -10,14 +10,15 @@
<template v-if="!item.alwaysShow && hasOneShowingChild(item.children, item)"> <template v-if="!item.alwaysShow && hasOneShowingChild(item.children, item)">
<layout-link v-if="onlyOneChild.meta" :to="onlyOneChild.path"> <layout-link v-if="onlyOneChild.meta" :to="onlyOneChild.path">
<el-menu-item :index="onlyOneChild.path"> <el-menu-item :index="onlyOneChild.path">
<layout-icon :size="20" :icon="onlyOneChild?.meta?.icon" /> <img v-if="onlyOneChild.meta.icon" :src="getAssetsFile(onlyOneChild.meta.icon)" style="height: 20px; margin-right: 20px" alt="" />
<!-- <layout-icon :size="20" :icon="onlyOneChild?.meta?.icon ? getAssetsFile(onlyOneChild.meta.icon) : undefined" />-->
<template #title>{{ onlyOneChild.meta && onlyOneChild.meta?.title }}</template> <template #title>{{ onlyOneChild.meta && onlyOneChild.meta?.title }}</template>
</el-menu-item> </el-menu-item>
</layout-link> </layout-link>
</template> </template>
<el-sub-menu v-else :index="item.path" teleported> <el-sub-menu v-else :index="item.path" teleported>
<template #title> <template #title>
<layout-icon :size="20" :icon="item?.meta?.icon" /> <!-- <layout-icon :size="20" :icon="item?.meta?.icon ? getAssetsFile(item.meta.icon) : undefined" />-->
<span>{{ item.meta && item.meta?.title }}</span> <span>{{ item.meta && item.meta?.title }}</span>
</template> </template>
<sub-item v-for="child in item.children" :key="child.path" :item="child" /> <sub-item v-for="child in item.children" :key="child.path" :item="child" />
@ -30,6 +31,7 @@ import { ref } from 'vue';
// import { isExternal } from '@/utils/validate.js'; // import { isExternal } from '@/utils/validate.js';
import LayoutLink from './Link'; import LayoutLink from './Link';
import LayoutIcon from './Icon'; import LayoutIcon from './Icon';
import { getAssetsFile } from '@/utils/index.js';
// import path from 'path-browserify'; // import path from 'path-browserify';
defineProps({ defineProps({
@ -65,7 +67,6 @@ const hasOneShowingChild = (children = [], parent) => {
onlyOneChild.value = { ...parent, noShowingChildren: true }; onlyOneChild.value = { ...parent, noShowingChildren: true };
return true; return true;
} }
return false; return false;
}; };

View File

@ -218,14 +218,20 @@ export const constantRoutes = [
path: '/sub-operation-service/warehouseLogistics', path: '/sub-operation-service/warehouseLogistics',
name: 'warehouseLogistics', name: 'warehouseLogistics',
component: Layout, component: Layout,
redirect: '/sub-operation-service/warehouseLogistics/index', redirect: '/sub-operation-service/warehouse',
meta: { title: '仓储物流' }, meta: { title: '仓储物流' },
children: [ children: [
{ {
path: '/sub-operation-service/warehouseLogistics/index', path: '/sub-operation-service/warehouse',
component: () => import('@/views/warehouseLogistics/index.vue'), component: () => import('@/views/warehouseLogistics/warehouse/index.vue'),
name: 'warehouseLogisticsMain', name: 'warehouseMain',
meta: { title: '仓储物流首页' }, meta: { title: '仓储首页' },
},
{
path: '/sub-operation-service/logistics',
component: () => import('@/views/warehouseLogistics/logistics/index.vue'),
name: 'logistics-list',
meta: { title: '物流首页' },
}, },
], ],
}, },

View File

@ -43,7 +43,7 @@ export default [
path: '/sub-operation-service/logistics-list', path: '/sub-operation-service/logistics-list',
component: () => import('@/views/warehouseLogistics/logistics/index.vue'), component: () => import('@/views/warehouseLogistics/logistics/index.vue'),
name: 'logistics-list', name: 'logistics-list',
meta: { title: '物流列表', icon: '' }, meta: { title: '物流', icon: '' },
hidden: true, hidden: true,
}, },
{ {
@ -55,27 +55,27 @@ export default [
}, },
], ],
}, },
{ // {
path: '/sub-operation-service/test', // path: '/sub-operation-service/test',
component: Views, // component: Views,
redirect: '/sub-operation-service/test1', // redirect: '/sub-operation-service/test1',
name: 'test', // name: 'test',
meta: { title: '测试', icon: 'images/ecommerce/menu3.png' }, // meta: { title: '测试', icon: 'images/ecommerce/menu3.png' },
children: [ // children: [
{ // {
path: '/sub-operation-service/test1', // path: '/sub-operation-service/test1',
component: () => import('@/views/warehouseLogistics/test/test1.vue'), // component: () => import('@/views/warehouseLogistics/test/test1.vue'),
name: 'test1', // name: 'test1',
meta: { title: '子菜单1', icon: '' }, // meta: { title: '子菜单1', icon: '' },
}, // },
{ // {
path: '/sub-operation-service/test2', // path: '/sub-operation-service/test2',
component: () => import('@/views/warehouseLogistics/test/test1.vue'), // component: () => import('@/views/warehouseLogistics/test/test1.vue'),
name: 'test2', // name: 'test2',
meta: { title: '子菜单2', icon: '' }, // meta: { title: '子菜单2', icon: '' },
}, // },
], // ],
}, // },
], ],
}, },
]; ];

View File

@ -10,11 +10,12 @@
<h3 class="storage-title">{{ item.title }}</h3> <h3 class="storage-title">{{ item.title }}</h3>
<div class="storage-desc"> <div class="storage-desc">
<span>{{ item.description }}</span> <span>{{ item.description }}</span>
<i></i> <img :src="getAssetsFile('images/warehouseLogistics/认证.png')" alt="" style="width: 20px" />
<img :src="getAssetsFile('images/warehouseLogistics/优先级.png')" alt="" style="width: 20px" />
</div> </div>
<div class="storage-tags"> <div class="storage-tags">
<el-tag effect="plain" round>延长仓储</el-tag> <el-tag effect="plain" round style="background-color: rgba(37, 191, 130, 0.2); color: #25bf82">延长仓储</el-tag>
<el-tag effect="plain" round>保鲜储存</el-tag> <el-tag effect="plain" round style="background-color: rgba(37, 191, 130, 0.2); color: #25bf82">保鲜储存</el-tag>
</div> </div>
<div class="storage-location"> <div class="storage-location">
<el-icon><Location /></el-icon> <el-icon><Location /></el-icon>
@ -33,7 +34,8 @@
</el-button> </el-button>
</div> </div>
<div v-if="item.rank" class="rank-badge"> <div v-if="item.rank" class="rank-badge">
{{ item.rank }} <!-- {{ item.rank }}-->
<img :src="getAssetsFile('images/warehouseLogistics/top' + item.rank + '.png')" alt="" style="width: 80px" />
</div> </div>
</div> </div>
</el-card> </el-card>
@ -72,7 +74,7 @@ const state = reactive({
description: '绿鲜蔬选果蔬仓储中心', description: '绿鲜蔬选果蔬仓储中心',
location: '临沧市-耿马县', location: '临沧市-耿马县',
price: '600.0', price: '600.0',
rank: '', rank: '2',
}, },
{ {
imageUrl: '/storage3.jpg', imageUrl: '/storage3.jpg',