| | |
| | | </up-grid> |
| | | </view> |
| | | </view> |
| | | <!-- 仓储物流模块 --> |
| | | <view class="common-module warehouse-logistics-module" |
| | | v-if="hasWarehouseLogisticsItems"> |
| | | <view class="module-header"> |
| | | <view class="module-title-container"> |
| | | <text class="module-title">仓储物流</text> |
| | | </view> |
| | | </view> |
| | | <view class="module-content"> |
| | | <up-grid :border="false" |
| | | col="4"> |
| | | <up-grid-item v-for="(item, index) in warehouseLogisticsItems" |
| | | :key="index" |
| | | @click="handleCommonItemClick(item)"> |
| | | <view class="icon-container" |
| | | :style="{ background: item.bgColor }"> |
| | | <up-icon :name="item.icon" |
| | | :size="58" |
| | | color="#ffffff"></up-icon> |
| | | </view> |
| | | <text class="item-label">{{item.label}}</text> |
| | | </up-grid-item> |
| | | </up-grid> |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </template> |
| | | |
| | |
| | | icon: "/static/images/icon/xunjianshangchuan@2x.png", |
| | | label: "巡检管理", |
| | | }, |
| | | |
| | | ]); |
| | | |
| | | // 仓储物流功能数据 |
| | | const warehouseLogisticsItems = reactive([ |
| | | { |
| | | icon: "/static/images/icon/caigoutaizhang@2x.png", |
| | | label: "入库管理", |
| | | }, |
| | | { |
| | | icon: "/static/images/icon/caigoutaizhang@2x.png", |
| | | label: "出库台账", |
| | | }, |
| | | { |
| | | icon: "/static/images/icon/caigoutaizhang@2x.png", |
| | | label: "库存管理", |
| | | }, |
| | | { |
| | | icon: "/static/images/icon/caigoutaizhang@2x.png", |
| | | label: "库存报表", |
| | | }, |
| | | ]); |
| | | |
| | | // 处理常用功能点击 |
| | |
| | | case "合同管理": |
| | | uni.navigateTo({ |
| | | url: "/pages/humanResources/contractManagement/index", |
| | | }); |
| | | break; |
| | | case "入库管理": |
| | | uni.navigateTo({ |
| | | url: "/pages/inventoryManagement/receiptManagement/index", |
| | | }); |
| | | break; |
| | | case "出库台账": |
| | | uni.navigateTo({ |
| | | url: "/pages/inventoryManagement/dispatchLog/index", |
| | | }); |
| | | break; |
| | | case "库存管理": |
| | | uni.navigateTo({ |
| | | url: "/pages/inventoryManagement/stockManagement/index", |
| | | }); |
| | | break; |
| | | case "库存报表": |
| | | uni.navigateTo({ |
| | | url: "/pages/inventoryManagement/stockReport/index", |
| | | }); |
| | | break; |
| | | default: |
| | |
| | | } |
| | | } |
| | | equipmentItems.splice(0, equipmentItems.length, ...filteredEquipment); |
| | | |
| | | // 过滤仓储物流菜单 |
| | | const originalWarehouseLogistics = [ |
| | | { icon: "/static/images/icon/caigoutaizhang@2x.png", label: "入库管理" }, |
| | | { icon: "/static/images/icon/caigoutaizhang@2x.png", label: "出库台账" }, |
| | | { icon: "/static/images/icon/caigoutaizhang@2x.png", label: "库存管理" }, |
| | | { icon: "/static/images/icon/caigoutaizhang@2x.png", label: "库存报表" }, |
| | | ]; |
| | | const filteredWarehouseLogistics = originalWarehouseLogistics.filter( |
| | | item => allowedMenuTitles.has(item.label) |
| | | ); |
| | | warehouseLogisticsItems.splice( |
| | | 0, |
| | | warehouseLogisticsItems.length, |
| | | ...filteredWarehouseLogistics |
| | | ); |
| | | }; |
| | | |
| | | // 检查模块是否有菜单项需要显示 |
| | |
| | | const hasHumanResourcesItems = computed(() => humanResourcesItems.length > 0); |
| | | const hasProductionItems = computed(() => productionItems.length > 0); |
| | | const hasEquipmentItems = computed(() => equipmentItems.length > 0); |
| | | const hasWarehouseLogisticsItems = computed( |
| | | () => warehouseLogisticsItems.length > 0 |
| | | ); |
| | | |
| | | onMounted(() => { |
| | | // 每次进入首页都强制刷新用户信息和路由权限,不做本地缓存判断 |