From a9d97b150701e634bdb751eab277696abd136cca Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期二, 16 六月 2026 14:39:47 +0800
Subject: [PATCH] 君歌app 1.依照web端功能修改

---
 src/pages/works.vue |  186 +++++++++++++++-------------------------------
 1 files changed, 60 insertions(+), 126 deletions(-)

diff --git a/src/pages/works.vue b/src/pages/works.vue
index 65fd28a..1b77038 100644
--- a/src/pages/works.vue
+++ b/src/pages/works.vue
@@ -1,28 +1,5 @@
 <template>
   <view class="content">
-    <!-- OA鍔炲叕妯″潡 -->
-    <view class="common-module oa-module"
-          v-if="hasOaItems">
-      <view class="module-header">
-        <view class="module-title-container">
-          <text class="module-title">OA鍔炲叕</text>
-        </view>
-      </view>
-      <view class="module-content">
-        <up-grid :border="false"
-                 col="4">
-          <up-grid-item v-for="(item, index) in oaItems"
-                        :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="hasCollaborationItems">
@@ -329,9 +306,7 @@
 <script setup>
   import { ref, onMounted, nextTick, reactive, computed } from "vue";
   import { userLoginFacotryList } from "@/api/login";
-  import { getProductWorkOrderById } from "@/api/productionManagement/productionReporting";
   import DownloadProgressMask from "@/components/DownloadProgressMask.vue";
-  import { OA_WORKBENCH_ITEMS } from "@/config/oaWorkbench.js";
   import modal from "@/plugins/modal";
   import useUserStore from "@/store/modules/user";
 
@@ -367,10 +342,10 @@
       icon: "/static/images/icon/gongxuguanli.svg",
       label: "宸ュ簭绠$悊",
     },
-    {
-      icon: "/static/images/icon/bom.svg",
-      label: "BOM",
-    },
+    // {
+    //   icon: "/static/images/icon/bom.svg",
+    //   label: "BOM",
+    // },
     {
       icon: "/static/images/icon/gongyiluxian.svg",
       label: "宸ヨ壓璺嚎",
@@ -383,10 +358,10 @@
       icon: "/static/images/icon/kehudangan.svg",
       label: "瀹㈡埛妗f",
     },
-    {
-      icon: "/static/images/icon/xiaoshoubaojia.svg",
-      label: "閿�鍞姤浠�",
-    },
+    // {
+    //   icon: "/static/images/icon/xiaoshoubaojia.svg",
+    //   label: "閿�鍞姤浠�",
+    // },
     {
       icon: "/static/images/icon/xiaoshoutaizhang.svg",
       label: "閿�鍞彴璐�",
@@ -510,6 +485,21 @@
       icon: "/static/images/icon/hetongguanli.svg",
       label: "鍚堝悓绠$悊",
     },
+    {
+      icon: "/static/images/icon/hetongguanli.svg",
+      label: "杞鐢宠",
+      path: "/pages/oa/HrManage/regular-apply/index",
+    },
+    {
+      icon: "/static/images/icon/renyuanxinzi.svg",
+      label: "璋冨姩鐢宠",
+      path: "/pages/oa/HrManage/transfer-apply/index",
+    },
+    {
+      icon: "/static/images/icon/gongchuguanli.svg",
+      label: "宸ヤ綔浜ゆ帴",
+      path: "/pages/oa/HrManage/work-handover/index",
+    },
   ]);
   const qualityItems = reactive([
     {
@@ -559,17 +549,22 @@
       label: "瀹夊叏鍩硅鑰冩牳",
     },
   ]);
-  // OA鍔炲叕鍔熻兘鏁版嵁锛堢函鍓嶇閰嶇疆锛屼笉鍙備笌鍚庣鏉冮檺杩囨护锛�
-  const oaItems = reactive(
-    OA_WORKBENCH_ITEMS.map(item => ({ ...item }))
-  );
-
   // 鍗忓悓鍔炲叕鍔熻兘鏁版嵁
   const collaborationItems = reactive([
-    {
-      icon: "/static/images/icon/xietongshenpi.svg",
-      label: "鍗忓悓瀹℃壒",
-    },
+    // {
+    //   icon: "/static/images/icon/xietongshenpi.svg",
+    //   label: "鍗忓悓瀹℃壒",
+    // },
+		{
+			icon: "/static/images/icon/guizhangzhidu.svg",
+			label: "瀹℃壒绠$悊",
+			path: "/pages/oa/ApproveManage/approve-template/index",
+		},
+		{
+			icon: "/static/images/icon/xietongshenpi.svg",
+			label: "鍗忓悓瀹℃壒",
+			path: "/pages/oa/ApproveManage/approve-list/index",
+		},
     {
       icon: "/static/images/icon/huiyiguanli.svg",
       label: "浼氳绠$悊",
@@ -593,6 +588,26 @@
     {
       icon: "/static/images/icon/kehubaifang.svg",
       label: "瀹㈡埛鎷滆",
+    },
+    {
+      icon: "/static/images/icon/qingjiaguanli.svg",
+      label: "璇峰亣鐢宠",
+      path: "/pages/oa/AttendManage/leave-apply/index",
+    },
+    {
+      icon: "/static/images/icon/dakaqiandao.svg",
+      label: "鍔犵彮鐢宠",
+      path: "/pages/oa/AttendManage/overtime-apply/index",
+    },
+    {
+      icon: "/static/images/icon/chuchaiguanli.svg",
+      label: "宸梾鎶ラ攢",
+      path: "/pages/oa/ReimburseManage/travel-reimburse/index",
+    },
+    {
+      icon: "/static/images/icon/baoxiaoguanli.svg",
+      label: "璐圭敤鎶ラ攢",
+      path: "/pages/oa/ReimburseManage/cost-reimburse/index",
     },
   ]);
 
@@ -896,7 +911,9 @@
         });
         break;
       case "鐢熶骇鎶ュ伐":
-        getcode();
+        uni.navigateTo({
+          url: "/pages/productionManagement/workOrder/index",
+        });
         break;
       case "鎶ュ伐鍙拌处":
         uni.navigateTo({
@@ -1104,88 +1121,6 @@
         factoryList.value = [];
       });
   }
-  const getcode = async () => {
-    uni.scanCode({
-      success: async res => {
-        // 瑙f瀽浜岀淮鐮佸唴瀹�
-        const scanResult = res.result;
-        let orderRow = "";
-
-        // 鍒ゆ柇鎵弿缁撴灉鏄惁涓虹函鏁板瓧锛坕d锛�
-        const isNumericId = /^\d+$/.test(scanResult.trim());
-
-        if (isNumericId) {
-          // 濡傛灉鏄函鏁板瓧锛屾牴鎹� id 鑾峰彇宸ュ崟鏁版嵁
-          const workOrderId = scanResult.trim();
-          modal.loading("姝e湪鑾峰彇宸ュ崟淇℃伅...");
-          try {
-            const workRes = await getProductWorkOrderById({ id: workOrderId });
-            modal.closeLoading();
-
-            console.log("宸ュ崟鏌ヨ缁撴灉:", workRes);
-
-            if (workRes.code === 200 && workRes.data) {
-              // 鏂版帴鍙h繑鍥炵殑鏄崟涓璞★紝涓嶆槸鏁扮粍
-              const workData = workRes.data;
-              console.log("宸ュ崟鏁版嵁:", workData);
-
-              if (workData.endOrder === true) {
-                modal.msgError("璇ヨ鍗曞凡缁撴潫锛屾棤娉曟姤宸�");
-                return;
-              }
-
-              orderRow = JSON.stringify(workData);
-
-              console.log("鏋勯�犵殑orderRow:", orderRow);
-            } else {
-              modal.msgError("鏈壘鍒板搴旂殑宸ュ崟淇℃伅");
-              return;
-            }
-          } catch (error) {
-            modal.closeLoading();
-            console.error("鑾峰彇宸ュ崟淇℃伅澶辫触:", error);
-            modal.msgError("鑾峰彇宸ュ崟淇℃伅澶辫触: " + (error.message || "鏈煡閿欒"));
-            return;
-          }
-        } else {
-          // 濡傛灉涓嶆槸绾暟瀛楋紝灏濊瘯浠庢壂鐮佺粨鏋滀腑鎻愬彇orderRow鍙傛暟
-          try {
-            // 澶勭悊娣峰悎鏍煎紡: http://...?orderRow={...}
-            const orderRowStart = scanResult.indexOf("orderRow={");
-            if (orderRowStart !== -1) {
-              // 鎻愬彇浠巓rderRow={寮�濮嬬殑JSON鍐呭
-              const jsonPart = scanResult.substring(orderRowStart + 9); // 9鏄�"orderRow=".length
-              orderRow = jsonPart;
-            } else {
-              // 濡傛灉鐩存帴鏄疛SON瀛楃涓诧紝灏濊瘯瑙f瀽
-              orderRow = scanResult;
-            }
-          } catch (e) {
-            console.error(e, "瑙f瀽澶辫触====????=====");
-            orderRow = "";
-          }
-
-          // 楠岃瘉鏄惁涓烘湁鏁堢殑JSON
-          try {
-            JSON.parse(orderRow);
-          } catch (error) {
-            modal.msgError("璁㈠崟瑙f瀽澶辫触锛岃妫�鏌ヤ簩缁寸爜鏍煎紡");
-            return;
-          }
-        }
-        // 鎵爜鎴愬姛鍚庤烦杞埌鐢熶骇鎶ュ伐椤甸潰锛屽苟浼犻�抩rderRow鍙傛暟
-        uni.navigateTo({
-          url: `/pages/productionManagement/productionReport/index?orderRow=${orderRow}`,
-        });
-      },
-      fail: err => {
-        uni.showToast({
-          title: "鎵爜澶辫触",
-          icon: "none",
-        });
-      },
-    });
-  };
   const changeFactory = async arr => {
     show.value = false;
     const factoryId = factoryListTem.value[arr.indexs[0]].deptId;
@@ -1303,7 +1238,6 @@
   const hasAfterSalesServiceItems = computed(
     () => afterSalesServiceItems.length > 0
   );
-  const hasOaItems = computed(() => oaItems.length > 0);
   const hasCollaborationItems = computed(() => collaborationItems.length > 0);
   const hasSafetyItems = computed(() => safetyItems.length > 0);
   const hasQualityItems = computed(() => qualityItems.length > 0);

--
Gitblit v1.9.3