From cb6a080c0aae93b80b4adf2574eeb99476f0d623 Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期二, 17 三月 2026 13:15:14 +0800
Subject: [PATCH] 军泰伟业app 1.添加营销管理模块和采购管理模块并联调 2.添加协同办公模块
---
src/pages/index.vue | 321 ++++++++++++++++++++++++++++++++++------------------
1 files changed, 209 insertions(+), 112 deletions(-)
diff --git a/src/pages/index.vue b/src/pages/index.vue
index e1b0061..e1dc475 100644
--- a/src/pages/index.vue
+++ b/src/pages/index.vue
@@ -38,77 +38,77 @@
<!-- </view>-->
<!-- </view>-->
<!-- 钀ラ攢绠$悊妯″潡 -->
- <!-- <view class="common-module marketing-module">-->
- <!-- <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 marketingItems"-->
- <!-- :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 class="common-module purchase-module">-->
- <!-- <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 purchaseItems"-->
- <!-- :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 class="common-module collaboration-module">-->
- <!-- <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 collaborationItems"-->
- <!-- :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 class="common-module marketing-module">
+ <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 marketingItems"
+ :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 class="common-module purchase-module">
+ <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 purchaseItems"
+ :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 class="common-module collaboration-module">
+ <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 collaborationItems"
+ :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 class="common-module production-module">-->
<!-- <view class="module-header">-->
@@ -192,6 +192,7 @@
<script setup>
import { ref, onMounted, nextTick, reactive } from "vue";
import { userLoginFacotryList } from "@/api/login";
+ import { getProductWorkOrderById } from "@/api/productionManagement/productionReporting";
import modal from "@/plugins/modal";
import useUserStore from "@/store/modules/user";
@@ -232,6 +233,10 @@
{
icon: "/static/images/icon/kaipiaotaizhang@2x.png",
label: "寮�绁ㄥ彴璐�",
+ },
+ {
+ icon: "/static/images/icon/kaipiaotaizhang@2x.png",
+ label: "鍙戣揣鍙拌处",
},
{
icon: "/static/images/icon/huikuandengji@2x.png",
@@ -276,16 +281,37 @@
]);
// 鍗忓悓鍔炲叕鍔熻兘鏁版嵁
- const collaborationItems = reactive([
- {
- icon: "/static/images/icon/xietongshenpi@2x.png",
- label: "鍗忓悓瀹℃壒",
- },
- {
- icon: "/static/images/icon/kehubaifang@2x.png",
- label: "瀹㈡埛鎷滆",
- },
- ]);
+ // 鍗忓悓鍔炲叕鍔熻兘鏁版嵁
+ const collaborationItems = reactive([
+ {
+ icon: "/static/images/icon/baoxiaoguanli.png",
+ label: "鍗忓悓瀹℃壒",
+ },
+ {
+ icon: "/static/images/icon/huiyiliebiao@2x.png",
+ label: "浼氳绠$悊",
+ },
+ {
+ icon: "/static/images/icon/tongzhigonggao@2x.png",
+ label: "閫氱煡鍏憡",
+ },
+ {
+ icon: "/static/images/icon/zhishiku@2x.png",
+ label: "鐭ヨ瘑搴�",
+ },
+ {
+ icon: "/static/images/icon/yongyinguanli@2x.png",
+ label: "鐢ㄥ嵃绠$悊",
+ },
+ {
+ icon: "/static/images/icon/guizhangzhidu@2x.png",
+ label: "瑙勭珷鍒跺害",
+ },
+ {
+ icon: "/static/images/icon/kehubaifang@2x.png",
+ label: "瀹㈡埛鎷滆",
+ },
+ ]);
// 鐢熶骇绠℃帶鍔熻兘鏁版嵁
const productionItems = reactive([
@@ -375,6 +401,11 @@
url: "/pages/sales/invoiceLedger/index",
});
break;
+ case "鍙戣揣鍙拌处":
+ uni.navigateTo({
+ url: "/pages/sales/deliveryLedger/index",
+ });
+ break;
case "鍥炴鐧昏":
uni.navigateTo({
url: "/pages/sales/receiptPayment/index",
@@ -420,16 +451,41 @@
url: "/pages/procurementManagement/paymentLedger/index",
});
break;
- case "鍗忓悓瀹℃壒":
- uni.navigateTo({
- url: "/pages/cooperativeOffice/collaborativeApproval/index",
- });
- break;
- case "瀹㈡埛鎷滆":
- uni.navigateTo({
- url: "/pages/cooperativeOffice/clientVisit/index",
- });
- break;
+ case "鍗忓悓瀹℃壒":
+ uni.navigateTo({
+ url: "/pages/indexItem?label=鍗忓悓瀹℃壒",
+ });
+ break;
+ case "浼氳绠$悊":
+ uni.navigateTo({
+ url: "/pages/indexItem?label=浼氳绠$悊",
+ });
+ break;
+ case "閫氱煡鍏憡":
+ uni.navigateTo({
+ url: "/pages/cooperativeOffice/noticeManagement/index",
+ });
+ break;
+ case "鐭ヨ瘑搴�":
+ uni.navigateTo({
+ url: "/pages/managementMeetings/knowledgeBase/index",
+ });
+ break;
+ case "鐢ㄥ嵃绠$悊":
+ uni.navigateTo({
+ url: "/pages/managementMeetings/sealManagement/index",
+ });
+ break;
+ case "瑙勭珷鍒跺害":
+ uni.navigateTo({
+ url: "/pages/managementMeetings/rulesRegulationsManagement/index",
+ });
+ break;
+ case "瀹㈡埛鎷滆":
+ uni.navigateTo({
+ url: "/pages/cooperativeOffice/clientVisit/index",
+ });
+ break;
case "鐢熶骇璁㈠崟":
uni.navigateTo({
url: "/pages/productionManagement/productionOrder/index",
@@ -527,30 +583,74 @@
}
const getcode = () => {
uni.scanCode({
- success: res => {
+ success: async res => {
// 瑙f瀽浜岀淮鐮佸唴瀹�
const scanResult = res.result;
let orderRow = "";
- // 灏濊瘯浠庢壂鐮佺粨鏋滀腑鎻愬彇orderRow鍙傛暟
- try {
- // 澶勭悊娣峰悎鏍煎紡: http://...?orderRow={...}
- const orderRowStart = scanResult.indexOf("orderRow={");
- // 鎻愬彇浠巓rderRow={寮�濮嬬殑JSON鍐呭
- const jsonPart = scanResult.substring(orderRowStart + 9); // 9鏄�"orderRow=".length
- // 灏濊瘯鐩存帴浣跨敤杩欎釜JSON閮ㄥ垎
- orderRow = jsonPart;
- } catch (e) {
- console.error(e, "瑙f瀽澶辫触====????=====");
- 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);
+
+ orderRow = JSON.stringify({
+ id: workData.id || workOrderId,
+ planQuantity: workData.planQuantity-workData.completeQuantity,
+ productProcessRouteItemId: workData.productProcessRouteItemId || workData.浜у搧宸ヨ壓璺嚎椤笽D || "",
+ });
+
+ 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;
+ }
}
+
console.log(orderRow, "orderRow======@@@@@@@@");
- try {
- JSON.parse(orderRow);
- } catch (error) {
- modal.msgError("璁㈠崟瑙f瀽澶辫触");
- return;
- }
// 鎵爜鎴愬姛鍚庤烦杞埌鐢熶骇鎶ュ伐椤甸潰锛屽苟浼犻�抩rderRow鍙傛暟
uni.navigateTo({
url: `/pages/productionManagement/productionReport/index?orderRow=${orderRow}`,
@@ -561,9 +661,6 @@
title: "鎵爜澶辫触",
icon: "none",
});
- // uni.navigateTo({
- // url: `/pages/productionManagement/productionReport/index`,
- // });
},
});
};
--
Gitblit v1.9.3