From 8c09a2df8fecfd5d817eeacc88b27ff9fd32b7c0 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期一, 27 四月 2026 13:22:51 +0800
Subject: [PATCH] 天津宝东app 1.权限修改
---
src/pages/works.vue | 256 ++++++++++++++++++++++++++++++++++----------------
1 files changed, 174 insertions(+), 82 deletions(-)
diff --git a/src/pages/works.vue b/src/pages/works.vue
index 41aad95..360fc0e 100644
--- a/src/pages/works.vue
+++ b/src/pages/works.vue
@@ -66,18 +66,18 @@
</up-grid>
</view>
</view>
- <!-- 浜哄姏璧勬簮妯″潡 -->
- <view class="common-module collaboration-module"
- v-if="hasHumanResourcesItems">
+ <!-- 浠撳偍鐗╂祦妯″潡 -->
+ <view class="common-module warehouse-logistics-module"
+ v-if="hasWarehouseLogisticsItems">
<view class="module-header">
<view class="module-title-container">
- <text class="module-title">浜哄姏璧勬簮</text>
+ <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"
+ <up-grid-item v-for="(item, index) in warehouseLogisticsItems"
:key="index"
@click="handleCommonItemClick(item)">
<view class="icon-container">
@@ -88,6 +88,28 @@
</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">
@@ -132,50 +154,28 @@
</up-grid>
</view>
</view>
- <!-- 妗f绠$悊妯″潡 -->
- <view class="common-module archive-module"
- v-if="hasArchiveManagementItems">
- <view class="module-header">
- <view class="module-title-container">
- <text class="module-title">妗f绠$悊</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">
@@ -221,38 +221,44 @@
</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>
<script setup>
import { ref, onMounted, nextTick, reactive, computed } from "vue";
+ import { onShow } from "@dcloudio/uni-app";
import { userLoginFacotryList } from "@/api/login";
import { getProductWorkOrderById } from "@/api/productionManagement/productionReporting";
+ import { createVersionUpgradeChecker } from "@/utils/versionUpgrade";
+ import DownloadProgressMask from "@/components/DownloadProgressMask.vue";
import modal from "@/plugins/modal";
import useUserStore from "@/store/modules/user";
const userStore = useUserStore();
+ const { triggerVersionCheck } = createVersionUpgradeChecker({ logPrefix: "[version-works]" });
const show = ref(false);
const factoryList = ref([]);
const factoryListTem = ref([]);
@@ -278,6 +284,14 @@
// 钀ラ攢绠$悊鍔熻兘鏁版嵁
const marketingItems = reactive([
{
+ icon: "/static/images/icon/kehudangan.svg",
+ label: "瀹㈡埛妗f(绉佹捣)",
+ },
+ {
+ icon: "/static/images/icon/xiaoshoubaojia.svg",
+ label: "閿�鍞姤浠�",
+ },
+ {
icon: "/static/images/icon/xiaoshoutaizhang.svg",
label: "閿�鍞彴璐�",
},
@@ -298,12 +312,12 @@
label: "渚涘簲鍟嗗線鏉�",
},
{
- icon: "/static/images/icon/caigouguanli.svg",
- label: "閲囪喘閫�璐�",
+ icon: "/static/images/icon/gongyingshangdangan.svg",
+ label: "渚涘簲鍟嗘。妗�",
},
{
- icon: "/static/images/icon/gongchuguanli.svg",
- label: "渚涘簲鍟嗘。妗�",
+ icon: "/static/images/icon/caigouguanli.svg",
+ label: "閲囪喘閫�璐�",
},
]);
@@ -341,14 +355,38 @@
icon: "/static/images/icon/fukuanliushui.svg",
label: "浠樻娴佹按",
},
- ]);
-
- // 妗f绠$悊鍔熻兘鏁版嵁
- const archiveManagementItems = reactive([
+ {
+ icon: "/static/images/icon/shouruguanli.svg",
+ label: "鏀跺叆绠$悊",
+ },
+ {
+ icon: "/static/images/icon/zhichuguanli.svg",
+ label: "鏀嚭绠$悊",
+ },
+ {
+ icon: "/static/images/icon/jiekuanguanli.svg",
+ label: "鍊熸绠$悊",
+ },
]);
// 鍞悗鏈嶅姟鍔熻兘鏁版嵁
const afterSalesServiceItems = reactive([
+ {
+ icon: "/static/images/icon/fankuidengji.svg",
+ label: "鍙嶉鐧昏",
+ },
+ {
+ icon: "/static/images/icon/shouhouchuli.svg",
+ label: "鍞悗澶勭悊",
+ },
+ ]);
+
+ // 浠撳偍鐗╂祦鍔熻兘鏁版嵁
+ const warehouseLogisticsItems = reactive([
+ {
+ icon: "/static/images/icon/xiaoshoutaizhang.svg",
+ label: "搴撳瓨绠$悊",
+ },
]);
const humanResourcesItems = reactive([
@@ -463,6 +501,10 @@
icon: "/static/images/icon/shengchanbaogong.svg",
label: "鐢熶骇鎶ュ伐",
},
+ {
+ icon: "/static/images/icon/shengchanbaogong.svg",
+ label: "鐢熶骇宸ュ崟",
+ },
// {
// icon: "/static/images/icon/shengchanhesuan@2x.svg",
// label: "鐢熶骇鏍哥畻",
@@ -497,9 +539,19 @@
const handleCommonItemClick = item => {
// 鏍规嵁涓嶅悓鐨勫姛鑳介」杩涜璺宠浆
switch (item.label) {
+ case "瀹㈡埛妗f(绉佹捣)":
+ uni.navigateTo({
+ url: "/pages/basicData/customerFile/index",
+ });
+ break;
case "閿�鍞彴璐�":
uni.navigateTo({
url: "/pages/sales/salesAccount/index",
+ });
+ break;
+ case "閿�鍞姤浠�":
+ uni.navigateTo({
+ url: "/pages/sales/salesQuotation/index",
});
break;
case "寮�绁ㄧ櫥璁�":
@@ -550,6 +602,21 @@
case "浠樻娴佹按":
uni.navigateTo({
url: "/pages/procurementManagement/receiptPaymentHistory/index",
+ });
+ break;
+ case "鏀跺叆绠$悊":
+ uni.navigateTo({
+ url: "/pages/financialManagement/revenueManagement/index",
+ });
+ break;
+ case "鏀嚭绠$悊":
+ uni.navigateTo({
+ url: "/pages/financialManagement/expenseManagement/index",
+ });
+ break;
+ case "鍊熸绠$悊":
+ uni.navigateTo({
+ url: "/pages/financialManagement/loanManagement/index",
});
break;
case "渚涘簲鍟嗗線鏉�":
@@ -687,6 +754,11 @@
url: "/pages/productionManagement/processScheduling/index",
});
break;
+ case "鐢熶骇宸ュ崟":
+ uni.navigateTo({
+ url: "/pages/productionManagement/workOrder/index",
+ });
+ break;
case "鐢熶骇鎶ュ伐":
getcode();
break;
@@ -808,6 +880,21 @@
case "鍑哄巶妫�楠�":
uni.navigateTo({
url: "/pages/qualityManagement/finalInspection/index",
+ });
+ break;
+ case "搴撳瓨绠$悊":
+ uni.navigateTo({
+ url: "/pages/inventoryManagement/stockManagement/index",
+ });
+ break;
+ case "鍙嶉鐧昏":
+ uni.navigateTo({
+ url: "/pages/customerService/feedbackRegistration/index",
+ });
+ break;
+ case "鍞悗澶勭悊":
+ uni.navigateTo({
+ url: "/pages/customerService/afterSalesHandling/index",
});
break;
default:
@@ -997,6 +1084,7 @@
// 瀹氫箟鑿滃崟閰嶇疆鏄犲皠
const menuMapping = {
+ purchase: { target: purchaseItems, specialMapping: { "渚涘簲鍟嗘。妗�": "渚涘簲鍟嗙鐞�" } },
collaboration: { target: collaborationItems, specialMapping: { "瑙勭珷鍒跺害": "瑙勭珷鍒跺害绠$悊" } },
};
console.log(allowedMenuTitles)
@@ -1014,13 +1102,12 @@
// 杩囨护鍚勪釜妯″潡
filterArray(marketingItems);
- filterArray(purchaseItems);
+ filterArray(purchaseItems, menuMapping.purchase.specialMapping);
filterArray(financeManagementItems);
- filterArray(archiveManagementItems);
- filterArray(afterSalesServiceItems);
filterArray(collaborationItems, menuMapping.collaboration.specialMapping);
filterArray(safetyItems);
filterArray(humanResourcesItems);
+ filterArray(warehouseLogisticsItems);
filterArray(qualityItems);
filterArray(productionItems);
filterArray(equipmentItems);
@@ -1030,16 +1117,17 @@
const hasMarketingItems = computed(() => marketingItems.length > 0);
const hasPurchaseItems = computed(() => purchaseItems.length > 0);
const hasFinanceManagementItems = computed(() => financeManagementItems.length > 0);
- const hasArchiveManagementItems = computed(() => true);
- const hasAfterSalesServiceItems = computed(() => true);
+ 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 hasEquipmentItems = computed(() => equipmentItems.length > 0);
onMounted(() => {
+ triggerVersionCheck("onMounted");
// 姣忔杩涘叆棣栭〉閮藉己鍒跺埛鏂扮敤鎴蜂俊鎭拰璺敱鏉冮檺锛屼笉鍋氭湰鍦扮紦瀛樺垽鏂�
userStore.getInfo().then(() => {
userStore
@@ -1055,6 +1143,10 @@
// 鍚姩閫氱煡鐘舵�佸畾鏃跺櫒
startStatusTimer();
});
+
+ onShow(() => {
+ triggerVersionCheck("onShow");
+ });
</script>
--
Gitblit v1.9.3