| | |
| | | </view> |
| | | </view> |
| | | <!-- 人力资源模块 --> |
| | | <view class="common-module collaboration-module" |
| | | v-if="hasHumanResourcesItems"> |
| | | <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 humanResourcesItems" |
| | | :key="index" |
| | | @click="handleCommonItemClick(item)"> |
| | | <view class="icon-container"> |
| | | <image :src="item.icon" |
| | | class="item-icon"></image> |
| | | </view> |
| | | <text class="item-label">{{item.label}}</text> |
| | | </up-grid-item> |
| | | </up-grid> |
| | | </view> |
| | | </view> |
| | | <!-- <view class="common-module collaboration-module"--> |
| | | <!-- v-if="hasHumanResourcesItems">--> |
| | | <!-- <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 humanResourcesItems"--> |
| | | <!-- :key="index"--> |
| | | <!-- @click="handleCommonItemClick(item)">--> |
| | | <!-- <view class="icon-container">--> |
| | | <!-- <image :src="item.icon" class="item-icon"></image>--> |
| | | <!-- </view>--> |
| | | <!-- <text class="item-label">{{item.label}}</text>--> |
| | | <!-- </up-grid-item>--> |
| | | <!-- </up-grid>--> |
| | | <!-- </view>--> |
| | | <!-- </view>--> |
| | | <!-- 生产管控模块 --> |
| | | <view class="common-module equipment-module" |
| | | v-if="hasProductionItems"> |
| | |
| | | </up-grid> |
| | | </view> |
| | | </view> |
| | | <!-- 档案管理模块 --> |
| | | <view class="common-module archive-module" |
| | | v-if="hasArchiveManagementItems"> |
| | | <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 archiveManagementItems" |
| | | :key="index" |
| | | @click="handleCommonItemClick(item)"> |
| | | <view class="icon-container"> |
| | | <image :src="item.icon" |
| | | class="item-icon"></image> |
| | | </view> |
| | | <text class="item-label">{{item.label}}</text> |
| | | </up-grid-item> |
| | | </up-grid> |
| | | </view> |
| | | </view> |
| | | <!-- 售后服务模块 --> |
| | | <view class="common-module after-sales-module" |
| | | v-if="hasAfterSalesServiceItems"> |
| | | <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 afterSalesServiceItems" |
| | | :key="index" |
| | | @click="handleCommonItemClick(item)"> |
| | | <view class="icon-container"> |
| | | <image :src="item.icon" |
| | | class="item-icon"></image> |
| | | </view> |
| | | <text class="item-label">{{item.label}}</text> |
| | | </up-grid-item> |
| | | </up-grid> |
| | | </view> |
| | | </view> |
| | | <!-- <view class="common-module after-sales-module"--> |
| | | <!-- v-if="hasAfterSalesServiceItems">--> |
| | | <!-- <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 afterSalesServiceItems"--> |
| | | <!-- :key="index"--> |
| | | <!-- @click="handleCommonItemClick(item)">--> |
| | | <!-- <view class="icon-container">--> |
| | | <!-- <image :src="item.icon" class="item-icon"></image>--> |
| | | <!-- </view>--> |
| | | <!-- <text class="item-label">{{item.label}}</text>--> |
| | | <!-- </up-grid-item>--> |
| | | <!-- </up-grid>--> |
| | | <!-- </view>--> |
| | | <!-- </view>--> |
| | | <!-- 质量管理模块 --> |
| | | <view class="common-module collaboration-module" |
| | | v-if="hasQualityItems"> |
| | |
| | | </view> |
| | | </view> |
| | | <!-- 安全生产模块 --> |
| | | <view class="common-module collaboration-module" |
| | | v-if="hasSafetyItems"> |
| | | <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 safetyItems" |
| | | :key="index" |
| | | @click="handleCommonItemClick(item)"> |
| | | <view class="icon-container"> |
| | | <image :src="item.icon" |
| | | class="item-icon"></image> |
| | | </view> |
| | | <text class="item-label">{{item.label}}</text> |
| | | </up-grid-item> |
| | | </up-grid> |
| | | </view> |
| | | </view> |
| | | <!-- <view class="common-module collaboration-module"--> |
| | | <!-- v-if="hasSafetyItems">--> |
| | | <!-- <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 safetyItems"--> |
| | | <!-- :key="index"--> |
| | | <!-- @click="handleCommonItemClick(item)">--> |
| | | <!-- <view class="icon-container">--> |
| | | <!-- <image :src="item.icon" class="item-icon"></image>--> |
| | | <!-- </view>--> |
| | | <!-- <text class="item-label">{{item.label}}</text>--> |
| | | <!-- </up-grid-item>--> |
| | | <!-- </up-grid>--> |
| | | <!-- </view>--> |
| | | <!-- </view>--> |
| | | |
| | | <DownloadProgressMask /> |
| | | </view> |
| | | </template> |
| | |
| | | // 工艺设计功能数据 |
| | | const designItems = reactive([ |
| | | { |
| | | icon: "/static/images/icon/xiaoshoubaojia.svg", |
| | | icon: "/static/images/icon/jichucanshu.svg", |
| | | label: "基础参数", |
| | | }, |
| | | { |
| | | icon: "/static/images/icon/xiaoshoubaojia.svg", |
| | | icon: "/static/images/icon/gongxuguanli.svg", |
| | | label: "工序管理", |
| | | }, |
| | | { |
| | | icon: "/static/images/icon/xiaoshoubaojia.svg", |
| | | icon: "/static/images/icon/bom.svg", |
| | | label: "BOM", |
| | | }, |
| | | { |
| | | icon: "/static/images/icon/xiaoshoubaojia.svg", |
| | | icon: "/static/images/icon/gongyiluxian.svg", |
| | | label: "工艺路线", |
| | | }, |
| | | ]); |
| | |
| | | // 档案管理功能数据 |
| | | const archiveManagementItems = reactive([ |
| | | { |
| | | icon: "/static/images/icon/gongyingshangdangan.svg", |
| | | icon: "/static/images/icon/jieyuedengji.svg", |
| | | label: "借阅登记", |
| | | }, |
| | | { |
| | | icon: "/static/images/icon/hetongguanli.svg", |
| | | icon: "/static/images/icon/guihuandengji.svg", |
| | | label: "归还登记", |
| | | }, |
| | | ]); |
| | |
| | | // 仓储物流功能数据 |
| | | const warehouseLogisticsItems = reactive([ |
| | | { |
| | | icon: "/static/images/icon/xiaoshoutaizhang.svg", |
| | | icon: "/static/images/icon/kucunguanli.svg", |
| | | label: "库存管理", |
| | | }, |
| | | ]); |
| | |
| | | |
| | | // 生产管控功能数据 |
| | | const productionItems = reactive([ |
| | | // { |
| | | // icon: "/static/images/icon/shengchandingdan@2x.svg", |
| | | // label: "生产订单", |
| | | // }, |
| | | // { |
| | | // icon: "/static/images/icon/shengchanpaigong@2x.svg", |
| | | // label: "生产派工", |
| | | // }, |
| | | // { |
| | | // icon: "/static/images/icon/shengchanpaichan@2x.svg", |
| | | // label: "工序排产", |
| | | // }, |
| | | { |
| | | icon: "/static/images/icon/shengchanjihua.svg", |
| | | label: "主生产计划", |
| | | }, |
| | | { |
| | | icon: "/static/images/icon/shengchandingdan.svg", |
| | | label: "生产订单", |
| | | }, |
| | | { |
| | | icon: "/static/images/icon/shengchanzhuisu.svg", |
| | | label: "生产追溯", |
| | | }, |
| | | { |
| | | icon: "/static/images/icon/shengchanshikuang.svg", |
| | | label: "工序生产实况", |
| | | }, |
| | | { |
| | | icon: "/static/images/icon/shengchanpaichan.svg", |
| | | label: "生产排产", |
| | | }, |
| | | |
| | | { |
| | | icon: "/static/images/icon/shengchanbaogong.svg", |
| | | label: "生产报工", |
| | | }, |
| | | { |
| | | icon: "/static/images/icon/shengchanbaogong.svg", |
| | | label: "生产工单", |
| | | icon: "/static/images/icon/baogongtaizhang.svg", |
| | | label: "报工台账", |
| | | }, |
| | | // { |
| | | // icon: "/static/images/icon/shengchanhesuan@2x.svg", |
| | | // label: "生产核算", |
| | | // }, |
| | | { |
| | | icon: "/static/images/icon/shengchanhesuan.svg", |
| | | label: "生产核算", |
| | | }, |
| | | ]); |
| | | |
| | | // 设备管理功能数据 |
| | |
| | | url: "/pages/productionManagement/productionDispatching/index", |
| | | }); |
| | | break; |
| | | case "工序排产": |
| | | case "工艺路线": |
| | | uni.navigateTo({ |
| | | url: "/pages/productionManagement/processScheduling/index", |
| | | url: "/pages/productionManagement/processRoute/index", |
| | | }); |
| | | break; |
| | | case "生产工单": |
| | |
| | | url: "/pages/productionManagement/workOrder/index", |
| | | }); |
| | | break; |
| | | case "主生产计划": |
| | | uni.navigateTo({ |
| | | url: "/pages/productionManagement/mainProductionPlan/index", |
| | | }); |
| | | break; |
| | | case "生产排产": |
| | | uni.navigateTo({ |
| | | url: "/pages/productionManagement/productionScheduling/index", |
| | | }); |
| | | break; |
| | | case "生产报工": |
| | | getcode(); |
| | | break; |
| | | case "报工台账": |
| | | uni.navigateTo({ |
| | | url: "/pages/productionManagement/productionReporting/ledger", |
| | | }); |
| | | break; |
| | | case "生产核算": |
| | | uni.navigateTo({ |
| | | url: "/pages/productionManagement/productionAccounting/index", |
| | | }); |
| | | break; |
| | | case "生产追溯": |
| | | uni.navigateTo({ |
| | | url: "/pages/productionManagement/productionTraceability/index", |
| | | }); |
| | | break; |
| | | case "工序生产实况": |
| | | uni.navigateTo({ |
| | | url: "/pages/productionManagement/processStatistics/index", |
| | | }); |
| | | break; |
| | | case "设备台账": |
| | |
| | | factoryList.value = []; |
| | | }); |
| | | } |
| | | const getcode = () => { |
| | | const getcode = async () => { |
| | | uni.scanCode({ |
| | | success: async res => { |
| | | // 解析二维码内容 |
| | |
| | | // 新接口返回的是单个对象,不是数组 |
| | | const workData = workRes.data; |
| | | console.log("工单数据:", workData); |
| | | |
| | | if (workData.endOrder === true) { |
| | | modal.msgError("该订单已结束,无法报工"); |
| | | return; |
| | | } |
| | | |
| | | orderRow = JSON.stringify(workData); |
| | | |
| | |
| | | |
| | | // 过滤各个模块 |
| | | filterArray(marketingItems); |
| | | filterArray(designItems); |
| | | filterArray(purchaseItems, menuMapping.purchase.specialMapping); |
| | | filterArray(financeManagementItems); |
| | | filterArray(collaborationItems, menuMapping.collaboration.specialMapping); |
| | |
| | | filterArray(productionItems); |
| | | filterArray(equipmentItems); |
| | | filterArray(archiveManagementItems); |
| | | filterArray(afterSalesServiceItems); |
| | | }; |
| | | |
| | | // 检查模块是否有菜单项需要显示 |