huminmin
23 小时以前 b25e11bb1e76255b4c05e10022e1ca9be5c7cc99
src/pages/index.vue
@@ -262,6 +262,31 @@
        </up-grid>
      </view>
    </view>
    <!-- 质量管理模块 -->
    <view class="common-module collaboration-module"
          v-if="hasQualityItems">
      <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 qualityItems"
                        :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>
@@ -398,6 +423,22 @@
    //   label: "安全培训考核",
    // },
  ]);
  // 质量管理
  const qualityItems = 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: "出厂检验",
    // },
  ]);
  // 协同办公功能数据
  const collaborationItems = reactive([
    {
@@ -494,11 +535,11 @@
  // 仓储物流功能数据
  const warehouseLogisticsItems = reactive([
    {
      icon: "/static/images/icon/caigoutaizhang@2x.png",
      icon: "/static/images/icon/shengchanhesuan@2x.png",
      label: "入库管理",
    },
    {
      icon: "/static/images/icon/caigoutaizhang@2x.png",
      icon: "/static/images/icon/shebeitaizhang@2x.png",
      label: "出库台账",
    },
    {
@@ -513,12 +554,12 @@
  // 耗材物料功能数据
  const materialItems = reactive([
    {
      icon: "/static/images/icon/caigoutaizhang@2x.png",
      icon: "/static/images/icon/shengchanhesuan@2x.png",
      label: "入库管理",
      module: "material",
    },
    {
      icon: "/static/images/icon/caigoutaizhang@2x.png",
      icon: "/static/images/icon/shebeitaizhang@2x.png",
      label: "出库台账",
      module: "material",
    },
@@ -666,6 +707,11 @@
      case "发货审批":
        uni.navigateTo({
          url: "/pages/cooperativeOffice/collaborativeApproval/index7",
        });
        break;
      case "原料管理":
        uni.navigateTo({
          url: "/pages/cooperativeOffice/collaborativeApproval/index9",
        });
        break;
      case "会议设置":
@@ -871,6 +917,56 @@
            item.module === "material"
              ? "/pages/consumablesLogistics/stockReport/index"
              : "/pages/inventoryManagement/stockReport/index",
        });
        break;
        case "原材料检验":
        uni.navigateTo({
          url: "/pages/qualityManagement/materialInspection/index",
        });
        break;
      case "过程检验":
        uni.navigateTo({
          url: "/pages/qualityManagement/processInspection/index",
        });
        break;
      case "出厂检验":
        uni.navigateTo({
          url: "/pages/qualityManagement/finalInspection/index",
        });
        break;
      case "检测项维护":
        uni.navigateTo({
          url: "/pages/qualityManagement/InspectItem/index",
        });
        break;
      case "指标维护":
        uni.navigateTo({
          url: "/pages/qualityManagement/metricMaintenance/index",
        });
        break;
      case "指标绑定":
        uni.navigateTo({
          url: "/pages/qualityManagement/metricBinding/index",
        });
        break;
      case "不合格品管理":
        uni.navigateTo({
          url: "/pages/qualityManagement/nonconformingManagement/index",
        });
        break;
      case "原料检":
        uni.navigateTo({
          url: "/pages/qualityManagement/rawMaterial/index",
        });
        break;
      case "近效期退货":
        uni.navigateTo({
          url: "/pages/qualityManagement/nearExpiryReturn/index",
        });
        break;
      case "质量看板":
        uni.navigateTo({
          url: "/pages/qualityManagement/visualization/qualityDashboard",
        });
        break;
      default:
@@ -1115,6 +1211,14 @@
    });
    purchaseItems.splice(0, purchaseItems.length, ...filteredPurchase);
    // 质量管理菜单:固定只展示 3 个入口
    const originalQuality = [
      { icon: "/static/images/icon/shengchanhesuan@2x.png", label: "检测项维护" },
      { icon: "/static/images/icon/caigoutaizhang@2x.png", label: "原料检" },
      { icon: "/static/images/icon/shengchandingdan@2x.png", label: "不合格品管理" },
    ];
    qualityItems.splice(0, qualityItems.length, ...originalQuality);
    // 过滤安全生产菜单
    const originalSafety = [
      { icon: "/static/images/icon/caigoutaizhang@2x.png", label: "规程与资质" },
@@ -1197,17 +1301,17 @@
    // 过滤仓储物流菜单
    const originalWarehouseLogistics = [
      {
        icon: "/static/images/icon/caigoutaizhang@2x.png",
        icon: "/static/images/icon/shengchanhesuan@2x.png",
        label: "入库管理",
        module: "warehouse",
      },
      {
        icon: "/static/images/icon/caigoutaizhang@2x.png",
        icon: "/static/images/icon/shebeitaizhang@2x.png",
        label: "出库台账",
        module: "warehouse",
      },
      {
        icon: "/static/images/icon/caigoutaizhang@2x.png",
        icon: "/static/images/icon/guzhangfenxi@2x.png",
        label: "库存管理",
        module: "warehouse",
      },
@@ -1235,9 +1339,9 @@
      return list;
    };
    const originalMaterial = [
      { icon: "/static/images/icon/caigoutaizhang@2x.png", label: "入库管理", module: "material" },
      { icon: "/static/images/icon/caigoutaizhang@2x.png", label: "出库台账", module: "material" },
      { icon: "/static/images/icon/caigoutaizhang@2x.png", label: "库存管理", module: "material" },
      { icon: "/static/images/icon/shengchanhesuan@2x.png", label: "入库管理", module: "material" },
      { icon: "/static/images/icon/shebeitaizhang@2x.png", label: "出库台账", module: "material" },
      { icon: "/static/images/icon/guzhangfenxi@2x.png", label: "库存管理", module: "material" },
      { icon: "/static/images/icon/caigoutaizhang@2x.png", label: "库存报表", module: "material" },
    ];
    const filteredMaterial = originalMaterial.filter(item => {
@@ -1251,6 +1355,7 @@
  const hasPurchaseItems = computed(() => purchaseItems.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 hasProductionItems = computed(() => productionItems.length > 0);
  const hasEquipmentItems = computed(() => equipmentItems.length > 0);