From 7b38cbd5c0af64e2f11e02d4d2e0ea6cbb1c09f5 Mon Sep 17 00:00:00 2001
From: WXL (wul) <wl_5969728@163.com>
Date: 星期一, 09 十一月 2026 17:05:06 +0800
Subject: [PATCH] 测试完成

---
 /dev/null                                         |    0 
 src/store/modules/user.js                         |    6 +++
 vue.config.js                                     |    4 +-
 src/main.js                                       |   13 ++++++
 src/views/followvisit/record/detailpage/index.vue |    8 ---
 src/views/sfstatistics/percentage/index.vue       |   21 ++++------
 src/store/getters.js                              |   24 ++++++++++++
 src/App.vue                                       |    2 
 .npmrc                                            |    9 ++--
 9 files changed, 61 insertions(+), 26 deletions(-)

diff --git a/.npmrc b/.npmrc
index 1eab6d1..de21219 100644
--- a/.npmrc
+++ b/.npmrc
@@ -1,4 +1,5 @@
-# Node 17+ 鐨� OpenSSL 3 绉婚櫎浜� md4锛寃ebpack4 / compression-webpack-plugin@5 寤� hash 鏃朵細鎶�
-# error:0308010C:digital envelope routines::unsupported
-# 杩欓噷璁� npm 璺戣剼鏈椂鑷姩甯︿笂 legacy provider锛屾瀯寤哄懡浠や笉鐢ㄥ啀鎵嬪姩璁剧幆澧冨彉閲�
-node-options=--openssl-legacy-provider
+# 娉ㄦ剰锛�--openssl-legacy-provider 涓嶈兘琚斁鍒� NODE_OPTIONS锛坣ode-options锛夐噷锛�
+# Node 浼氱洿鎺ユ姤 "not allowed in NODE_OPTIONS" 骞堕��鍑恒��
+# 鏈」鐩綋鍓� Node 16锛圤penSSL 1.1.1锛変笉闇�瑕佽鍙傛暟锛涘鎹㈠埌 Node 17+ 閬囧埌
+# error:0308010C:digital envelope routines::unsupported锛岃鎶婂畠浣滀负 node 鐨勭洿鎺� CLI 鍙傛暟浼犲叆锛�
+#   node --openssl-legacy-provider node_modules/@vue/cli-service/bin/vue-cli-service.js serve
diff --git a/src/App.vue b/src/App.vue
index 0866a4a..8bd417f 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -13,7 +13,7 @@
     <!-- 鍙充笅瑙掞細褰撳墠鐧诲綍浜哄緟澶勭悊闅忚浠诲姟锛堟寜鍑洪櫌骞存湀锛� -->
     <PendingTaskBox v-if="Assvite" />
     <!-- 涓磋繎瓒呮椂浠诲姟鐧诲綍鍚庡脊绐楋紙浠呮櫙瀹�/鏂板崕涓ゅ鏈烘瀯瑙﹀彂锛� -->
-    <!-- <NearTimeoutDialog v-if="Assvite" /> -->
+    <NearTimeoutDialog v-if="Assvite" />
   </div>
 </template>
 
diff --git a/src/main.js b/src/main.js
index 1b2328d..c179d8e 100644
--- a/src/main.js
+++ b/src/main.js
@@ -152,6 +152,19 @@
 
 Vue.config.productionTip = false;
 
+// 鍏ㄥ眬娉ㄥ叆鏈烘瀯鍒ゆ柇锛堢渷绔嬪悓寰风郴鍒� / 绾渷绔嬪悓寰烽櫌鍖猴級銆�
+// 鎵�鏈夌粍浠舵棤闇�鍗曠嫭娉ㄥ唽 computed锛屾ā鏉夸笌 this 涓彲鐩存帴浣跨敤 isTongdeOrg / isTongdeCampus
+Vue.mixin({
+  computed: {
+    isTongdeOrg() {
+      return this.$store.getters.isTongdeOrg;
+    },
+    isTongdeCampus() {
+      return this.$store.getters.isTongdeCampus;
+    },
+  },
+});
+
 new Vue({
   el: "#app",
   router,
diff --git a/src/store/getters.js b/src/store/getters.js
index d24914b..300d0a6 100644
--- a/src/store/getters.js
+++ b/src/store/getters.js
@@ -1,3 +1,22 @@
+// 鐪佺珛鍚屽痉鍚勯櫌鍖� + 鍗楀崕澶у闄勫睘绗竴鍖婚櫌锛氬紑鏀俱�屾偅鑰呴殢璁夸俊鎭〃鍗曘�嶇瓑鐗规畩鍔熻兘鐨勬満鏋�
+const TONGDE_ORGS = [
+  "鐪佺珛鍚屽痉缈犺嫅闄㈠尯",
+  "鍗楀崕澶у闄勫睘绗竴鍖婚櫌",
+  "鐪佺珛鍚屽痉涔嬫睙闄㈠尯",
+  "鐪佺珛鍚屽痉澶╃洰灞辫矾闄㈠尯",
+  "鐪佺珛鍚屽痉闈掑北婀栭櫌鍖�",
+  "鐪佺珛鍚屽痉闂叉灄闄㈠尯",
+];
+
+// 绾渷绔嬪悓寰峰悇闄㈠尯锛堜笉鍚崡鍗庡ぇ瀛﹂檮灞炵涓�鍖婚櫌锛�
+const TONGDE_CAMPUSES = [
+  "鐪佺珛鍚屽痉缈犺嫅闄㈠尯",
+  "鐪佺珛鍚屽痉涔嬫睙闄㈠尯",
+  "鐪佺珛鍚屽痉闂叉灄闄㈠尯",
+  "鐪佺珛鍚屽痉闈掑北婀栭櫌鍖�",
+  "鐪佺珛鍚屽痉澶╃洰灞辫矾闄㈠尯",
+];
+
 const getters = {
   sidebar: (state) => state.app.sidebar,
   size: (state) => state.app.size,
@@ -9,6 +28,11 @@
   avatar: (state) => state.user.avatar,
   name: (state) => state.user.name,
   nickName: (state) => state.user.nickName,
+  orgname: (state) => state.user.orgname,
+  // 鏄惁鐪佺珛鍚屽痉绯诲垪闄㈠尯锛堝惈鍗楀崕澶у闄勫睘绗竴鍖婚櫌锛�
+  isTongdeOrg: (state) => TONGDE_ORGS.includes(state.user.orgname),
+  // 鏄惁绾渷绔嬪悓寰烽櫌鍖猴紙涓嶅惈鍗楀崕澶у闄勫睘绗竴鍖婚櫌锛�
+  isTongdeCampus: (state) => TONGDE_CAMPUSES.includes(state.user.orgname),
   Id: (state) => state.user.Id,
   introduction: (state) => state.user.introduction,
   roles: (state) => state.user.roles,
diff --git a/src/store/modules/user.js b/src/store/modules/user.js
index a8483b3..80048fc 100644
--- a/src/store/modules/user.js
+++ b/src/store/modules/user.js
@@ -24,6 +24,7 @@
     token: getToken(),
     name: "",
     nickName: "",
+    orgname: localStorage.getItem("orgname") || "",
     Id: "",
     avatar: "",
     hisUserId: "",
@@ -110,6 +111,9 @@
     },
     SET_nickNAME: (state, name) => {
       state.nickName = name;
+    },
+    SET_ORGNAME: (state, orgname) => {
+      state.orgname = orgname;
     },
     SET_visitAgain: (state, visitAgain) => {
       state.visitAgain = visitAgain;
@@ -287,6 +291,8 @@
               localStorage.setItem("YongHuID", "");
               localStorage.setItem("YongHuXM", "");
             }
+            // 鍚屾鍒� Vuex锛屼緵鍏ㄥ眬 getter锛堝 isTongdeOrg锛変娇鐢�
+            commit("SET_ORGNAME", localStorage.getItem("orgname") || orgname);
             resolve();
           })
           .catch((error) => {
diff --git a/src/views/followvisit/record/detailpage/index.vue b/src/views/followvisit/record/detailpage/index.vue
index 7346dd7..9321ac3 100644
--- a/src/views/followvisit/record/detailpage/index.vue
+++ b/src/views/followvisit/record/detailpage/index.vue
@@ -1900,13 +1900,7 @@
     this.orgname = localStorage.getItem("orgname");
     console.log(localStorage.getItem("orgname"));
 
-    if (
-      this.orgname == "鐪佺珛鍚屽痉缈犺嫅闄㈠尯" ||
-      this.orgname == "鐪佺珛鍚屽痉涔嬫睙闄㈠尯" ||
-      this.orgname == "鐪佺珛鍚屽痉闂叉灄闄㈠尯" ||
-      this.orgname == "鐪佺珛鍚屽痉闈掑北婀栭櫌鍖�" ||
-      this.orgname == "鐪佺珛鍚屽痉澶╃洰灞辫矾闄㈠尯"
-    ) {
+    if (this.isTongdeCampus) {
       this.showContinuationCareBtn = true;
     }
 
diff --git a/src/views/sfstatistics/percentage/index.vue b/src/views/sfstatistics/percentage/index.vue
index 53968d9..61d397a 100644
--- a/src/views/sfstatistics/percentage/index.vue
+++ b/src/views/sfstatistics/percentage/index.vue
@@ -57,10 +57,7 @@
         </el-form-item>
 
         <el-form-item label="鏈嶅姟绫诲瀷" prop="userName">
-          <el-select
-            v-model="serviceTypeSingle"
-            placeholder="璇烽�夋嫨"
-          >
+          <el-select v-model="serviceTypeSingle" placeholder="璇烽�夋嫨">
             <el-option
               v-for="item in options"
               :key="item.value"
@@ -192,7 +189,11 @@
         </el-tab-pane>
 
         <!-- 鍑洪櫌闅忚鍒嗘瀽锛氭偅鑰呰〃鍗� + 闅忚闂嵎棰樼洰鍗犳瘮锛堣〃/鏌辩姸鍥�/楗煎浘锛� -->
-        <el-tab-pane label="鎮h�呴殢璁夸俊鎭〃鍗�" name="followupForm">
+        <el-tab-pane
+          label="鎮h�呴殢璁夸俊鎭〃鍗�"
+          name="followupForm"
+          v-if="isTongdeOrg"
+        >
           <div v-if="followupTaskName" class="analysis-task-title">
             浠诲姟鍚嶇О锛歿{ followupTaskName }}
           </div>
@@ -342,7 +343,7 @@
           localStorage.getItem("orgname") == "涓芥按甯備腑鍖婚櫌"
             ? this.getLastMonthRange()
             : [],
-        dateRangecy: '',
+        dateRangecy: "",
         statisticaltype:
           localStorage.getItem("orgname") == "缂欎簯鍘夸汉姘戝尰闄�" ||
           localStorage.getItem("orgname") == "鏅畞鐣叉棌鑷不鍘夸汉姘戝尰闄�"
@@ -426,9 +427,7 @@
       this.queryParams.startTime = this.parseTime(
         this.queryParams.dateRange[0]
       );
-      this.queryParams.endTime = this.parseTime(
-        this.queryParams.dateRange[1]
-      );
+      this.queryParams.endTime = this.parseTime(this.queryParams.dateRange[1]);
     }
     this.loadCurrentTabData();
   },
@@ -543,9 +542,7 @@
       this.loadCurrentTabData();
       const promise = this.loadFollowupAnalysis(true);
       if (
-        ["followupRatio", "followupBar", "followupPie"].includes(
-          this.activeTab
-        )
+        ["followupRatio", "followupBar", "followupPie"].includes(this.activeTab)
       ) {
         if (promise && typeof promise.then === "function") {
           promise.then(() => this.loadFollowupQuestionStats());
diff --git a/vue.config.js b/vue.config.js
index 822740d..a652c83 100644
--- a/vue.config.js
+++ b/vue.config.js
@@ -36,11 +36,11 @@
       // detail: https://cli.vuejs.org/config/#devserver-proxy
       [process.env.VUE_APP_BASE_API]: {
         // target: `https://www.health-y.cn/lssf`,
-        // target: `http://192.168.100.10:8096`,
+        target: `http://192.168.100.10:8096`,
         // target: `http://192.168.100.10:8094`,//鐪佺珛鍚屽痉
         // target: `http://192.168.100.10:8095`,//鏂板崕
         // target: `http://192.168.100.10:8098`,//甯備竴
-        target:`http://localhost:8095`,
+        // target:`http://localhost:8095`,
         // target:`http://35z1t16164.qicp.vip`,
         // target: `http://192.168.100.172:8095`,
         // target: `http://192.168.100.10:8089`,//鍗楀崕
diff --git "a/\351\232\217\350\256\277\351\200\202\347\224\250\344\270\275\346\260\264\345\270\202\344\270\20011.3.zip" "b/\351\232\217\350\256\277\351\200\202\347\224\250\344\270\275\346\260\264\345\270\202\344\270\20011.3.zip"
deleted file mode 100644
index 3c9172a..0000000
--- "a/\351\232\217\350\256\277\351\200\202\347\224\250\344\270\275\346\260\264\345\270\202\344\270\20011.3.zip"
+++ /dev/null
Binary files differ
diff --git "a/\351\232\217\350\256\277\351\200\202\347\224\250\344\270\275\346\260\264\345\270\202\344\270\20011.4.zip" "b/\351\232\217\350\256\277\351\200\202\347\224\250\344\270\275\346\260\264\345\270\202\344\270\20011.4.zip"
deleted file mode 100644
index 9191b66..0000000
--- "a/\351\232\217\350\256\277\351\200\202\347\224\250\344\270\275\346\260\264\345\270\202\344\270\20011.4.zip"
+++ /dev/null
Binary files differ
diff --git "a/\351\232\217\350\256\277\351\200\202\347\224\250\344\270\275\346\260\264\345\270\202\344\270\20011.5 \0502\051.zip" "b/\351\232\217\350\256\277\351\200\202\347\224\250\344\270\275\346\260\264\345\270\202\344\270\20011.5 \0502\051.zip"
deleted file mode 100644
index 5b63048..0000000
--- "a/\351\232\217\350\256\277\351\200\202\347\224\250\344\270\275\346\260\264\345\270\202\344\270\20011.5 \0502\051.zip"
+++ /dev/null
Binary files differ
diff --git "a/\351\232\217\350\256\277\351\200\202\347\224\250\344\270\275\346\260\264\345\270\202\344\270\20011.5.zip" "b/\351\232\217\350\256\277\351\200\202\347\224\250\344\270\275\346\260\264\345\270\202\344\270\20011.5.zip"
deleted file mode 100644
index 8847582..0000000
--- "a/\351\232\217\350\256\277\351\200\202\347\224\250\344\270\275\346\260\264\345\270\202\344\270\20011.5.zip"
+++ /dev/null
Binary files differ

--
Gitblit v1.9.3