仓储物流模块。 仓储页面
@ -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>
|
||||||
|
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 2.3 KiB |
After Width: | Height: | Size: 1.9 KiB |
After Width: | Height: | Size: 5.9 KiB |
After Width: | Height: | Size: 6.6 KiB |
After Width: | Height: | Size: 6.2 KiB |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 1.4 KiB |
@ -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;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -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: '物流首页' },
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
@ -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: '' },
|
||||||
},
|
// },
|
||||||
],
|
// ],
|
||||||
},
|
// },
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
@ -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',
|
||||||
|