zhangwencui
昨天 95fce9ecb77e9615df925eee143ce34647c694ce
src/pages/works.vue
@@ -15,7 +15,8 @@
                        :key="index"
                        @click="handleCommonItemClick(item)">
            <view class="icon-container">
              <image :src="item.icon" class="item-icon"></image>
              <image :src="item.icon"
                     class="item-icon"></image>
            </view>
            <text class="item-label">{{item.label}}</text>
          </up-grid-item>
@@ -37,7 +38,8 @@
                        :key="index"
                        @click="handleCommonItemClick(item)">
            <view class="icon-container">
              <image :src="item.icon" class="item-icon"></image>
              <image :src="item.icon"
                     class="item-icon"></image>
            </view>
            <text class="item-label">{{item.label}}</text>
          </up-grid-item>
@@ -59,7 +61,8 @@
                        :key="index"
                        @click="handleCommonItemClick(item)">
            <view class="icon-container">
              <image :src="item.icon" class="item-icon"></image>
              <image :src="item.icon"
                     class="item-icon"></image>
            </view>
            <text class="item-label">{{item.label}}</text>
          </up-grid-item>
@@ -81,14 +84,29 @@
                        :key="index"
                        @click="handleCommonItemClick(item)">
            <view class="icon-container">
              <image :src="item.icon" class="item-icon"></image>
              <image :src="item.icon"
                     class="item-icon"></image>
            </view>
            <text class="item-label">{{item.label}}</text>
          </up-grid-item>
          <up-grid-item @click="jumpUrl('/pages/inventoryManagement/scanIn/index')">
            <view class="icon-container">
              <image src="/static/images/icon/xiaoshoutaizhang.svg"
                     class="item-icon"></image>
            </view>
            <text class="item-label">扫码入库</text>
          </up-grid-item>
          <up-grid-item @click="jumpUrl('/pages/inventoryManagement/scanOut/index')">
            <view class="icon-container">
              <image src="/static/images/icon/xiaoshoutaizhang.svg"
                     class="item-icon"></image>
            </view>
            <text class="item-label">扫码出库</text>
          </up-grid-item>
        </up-grid>
      </view>
    </view>
    <!-- 人力资源模块 -->
    <!-- 人力资源模块(已注释)
    <view class="common-module collaboration-module"
          v-if="hasHumanResourcesItems">
      <view class="module-header">
@@ -110,7 +128,8 @@
        </up-grid>
      </view>
    </view>
    <!-- 生产管控模块 -->
    -->
    <!-- 生产管控模块(已注释)
    <view class="common-module equipment-module"
          v-if="hasProductionItems">
      <view class="module-header">
@@ -132,6 +151,7 @@
        </up-grid>
      </view>
    </view>
    -->
    <!-- 财务管理模块 -->
    <view class="common-module finance-module"
          v-if="hasFinanceManagementItems">
@@ -147,7 +167,8 @@
                        :key="index"
                        @click="handleCommonItemClick(item)">
            <view class="icon-container">
              <image :src="item.icon" class="item-icon"></image>
              <image :src="item.icon"
                     class="item-icon"></image>
            </view>
            <text class="item-label">{{item.label}}</text>
          </up-grid-item>
@@ -169,7 +190,8 @@
                        :key="index"
                        @click="handleCommonItemClick(item)">
            <view class="icon-container">
              <image :src="item.icon" class="item-icon"></image>
              <image :src="item.icon"
                     class="item-icon"></image>
            </view>
            <text class="item-label">{{item.label}}</text>
          </up-grid-item>
@@ -191,7 +213,8 @@
                        :key="index"
                        @click="handleCommonItemClick(item)">
            <view class="icon-container">
              <image :src="item.icon" class="item-icon"></image>
              <image :src="item.icon"
                     class="item-icon"></image>
            </view>
            <text class="item-label">{{item.label}}</text>
          </up-grid-item>
@@ -213,7 +236,8 @@
                        :key="index"
                        @click="handleCommonItemClick(item)">
            <view class="icon-container">
              <image :src="item.icon" class="item-icon"></image>
              <image :src="item.icon"
                     class="item-icon"></image>
            </view>
            <text class="item-label">{{item.label}}</text>
          </up-grid-item>
@@ -235,7 +259,8 @@
                        :key="index"
                        @click="handleCommonItemClick(item)">
            <view class="icon-container">
              <image :src="item.icon" class="item-icon"></image>
              <image :src="item.icon"
                     class="item-icon"></image>
            </view>
            <text class="item-label">{{item.label}}</text>
          </up-grid-item>
@@ -257,7 +282,8 @@
                        :key="index"
                        @click="handleCommonItemClick(item)">
            <view class="icon-container">
              <image :src="item.icon" class="item-icon"></image>
              <image :src="item.icon"
                     class="item-icon"></image>
            </view>
            <text class="item-label">{{item.label}}</text>
          </up-grid-item>
@@ -401,20 +427,22 @@
    },
  ]);
  const humanResourcesItems = reactive([
    {
      icon: "/static/images/icon/dakaqiandao.svg",
      label: "打卡签到",
    },
    {
      icon: "/static/images/icon/renyuanxinzi.svg",
      label: "人员薪资",
    },
    {
      icon: "/static/images/icon/hetongguanli.svg",
      label: "合同管理",
    },
  ]);
  // 人力资源模块(已注释)
  const humanResourcesItems = reactive([]);
  // const humanResourcesItems = reactive([
  //   {
  //     icon: "/static/images/icon/dakaqiandao.svg",
  //     label: "打卡签到",
  //   },
  //   {
  //     icon: "/static/images/icon/renyuanxinzi.svg",
  //     label: "人员薪资",
  //   },
  //   {
  //     icon: "/static/images/icon/hetongguanli.svg",
  //     label: "合同管理",
  //   },
  // ]);
  const qualityItems = reactive([
    {
      icon: "/static/images/icon/yuancailiaojianyan.svg",
@@ -495,40 +523,42 @@
    },
  ]);
  // 生产管控功能数据
  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/shengchanbaogong.svg",
      label: "生产报工",
    },
    {
      icon: "/static/images/icon/shengchanbaogong.svg",
      label: "生产工单",
    },
    // {
    //   icon: "/static/images/icon/shengchanhesuan@2x.svg",
    //   label: "生产核算",
    // },
  ]);
  // 生产管控模块(已注释)
  const productionItems = reactive([]);
  // // 生产管控功能数据
  // 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/shengchanbaogong.svg",
  //     label: "生产报工",
  //   },
  //   {
  //     icon: "/static/images/icon/shengchanbaogong.svg",
  //     label: "生产工单",
  //   },
  //   {
  //     icon: "/static/images/icon/shengchanhesuan@2x.svg",
  //     label: "生产核算",
  //   },
  // ]);
  // 设备管理功能数据
  const equipmentItems = reactive([
    // {
    //    icon: '/static/images/icon/shebeitaizhang@2x.svg',
    //    label: '设备台账',
    // },
    {
      icon: "/static/images/icon/shengchanbaogong.svg",
      label: "设备台账",
    },
    {
      icon: "/static/images/icon/yunxingguanli.svg",
      label: "运行管理",
@@ -906,6 +936,11 @@
        });
    }
  };
  const jumpUrl = url => {
    uni.navigateTo({
      url: url,
    });
  };
  // 创建对子组件的引用
  const uToastRef = ref(null);
@@ -1086,10 +1121,16 @@
    // 定义菜单配置映射
    const menuMapping = {
      collaboration: { target: collaborationItems, specialMapping: { "规章制度": "规章制度管理" } },
      archiveManagement: { target: archiveManagementItems, specialMapping: { "供应商档案": "供应商管理" } },
      collaboration: {
        target: collaborationItems,
        specialMapping: { 规章制度: "规章制度管理" },
      },
      archiveManagement: {
        target: archiveManagementItems,
        specialMapping: { 供应商档案: "供应商管理" },
      },
    };
    console.log(allowedMenuTitles)
    console.log(allowedMenuTitles);
    // 通用过滤函数
    const filterArray = (targetArray, specialMapping) => {
      const filtered = targetArray.filter(item => {
@@ -1106,7 +1147,10 @@
    filterArray(marketingItems);
    filterArray(purchaseItems);
    filterArray(financeManagementItems);
    filterArray(archiveManagementItems, menuMapping.archiveManagement.specialMapping);
    filterArray(
      archiveManagementItems,
      menuMapping.archiveManagement.specialMapping
    );
    filterArray(collaborationItems, menuMapping.collaboration.specialMapping);
    filterArray(safetyItems);
    filterArray(humanResourcesItems);
@@ -1119,15 +1163,23 @@
  // 检查模块是否有菜单项需要显示
  const hasMarketingItems = computed(() => marketingItems.length > 0);
  const hasPurchaseItems = computed(() => purchaseItems.length > 0);
  const hasFinanceManagementItems = computed(() => financeManagementItems.length > 0);
  const hasArchiveManagementItems = computed(() => archiveManagementItems.length > 0);
  const hasAfterSalesServiceItems = computed(() => afterSalesServiceItems.length > 0);
  const hasFinanceManagementItems = computed(
    () => financeManagementItems.length > 0
  );
  const hasArchiveManagementItems = computed(
    () => archiveManagementItems.length > 0
  );
  const hasAfterSalesServiceItems = computed(
    () => afterSalesServiceItems.length > 0
  );
  const hasCollaborationItems = computed(() => collaborationItems.length > 0);
  const hasSafetyItems = computed(() => safetyItems.length > 0);
  const hasQualityItems = computed(() => qualityItems.length > 0);
  const hasHumanResourcesItems = computed(() => humanResourcesItems.length > 0);
  const hasWarehouseLogisticsItems = computed(() => warehouseLogisticsItems.length > 0);
  const hasProductionItems = computed(() => productionItems.length > 0);
  // const hasHumanResourcesItems = computed(() => humanResourcesItems.length > 0);
  const hasWarehouseLogisticsItems = computed(
    () => warehouseLogisticsItems.length > 0
  );
  // const hasProductionItems = computed(() => productionItems.length > 0);
  const hasEquipmentItems = computed(() => equipmentItems.length > 0);
  onMounted(() => {