WXL (wul)
4 天以前 7b38cbd5c0af64e2f11e02d4d2e0ea6cbb1c09f5
测试完成
已删除4个文件
已修改8个文件
87 ■■■■■ 文件已修改
.npmrc 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/App.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main.js 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/store/getters.js 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/store/modules/user.js 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/followvisit/record/detailpage/index.vue 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/sfstatistics/percentage/index.vue 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
vue.config.js 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
随访适用丽水市一11.3.zip 补丁 | 查看 | 原始文档 | blame | 历史
随访适用丽水市一11.4.zip 补丁 | 查看 | 原始文档 | blame | 历史
随访适用丽水市一11.5 (2).zip 补丁 | 查看 | 原始文档 | blame | 历史
随访适用丽水市一11.5.zip 补丁 | 查看 | 原始文档 | blame | 历史
.npmrc
@@ -1,4 +1,5 @@
# Node 17+ çš„ OpenSSL 3 ç§»é™¤äº† md4,webpack4 / compression-webpack-plugin@5 å»º hash æ—¶ä¼šæŠ¥
# error:0308010C:digital envelope routines::unsupported
# è¿™é‡Œè®© npm è·‘脚本时自动带上 legacy provider,构建命令不用再手动设环境变量
node-options=--openssl-legacy-provider
# æ³¨æ„ï¼š--openssl-legacy-provider ä¸èƒ½è¢«æ”¾åˆ° NODE_OPTIONS(node-options)里,
# Node ä¼šç›´æŽ¥æŠ¥ "not allowed in NODE_OPTIONS" å¹¶é€€å‡ºã€‚
# æœ¬é¡¹ç›®å½“前 Node 16(OpenSSL 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
src/App.vue
@@ -13,7 +13,7 @@
    <!-- å³ä¸‹è§’:当前登录人待处理随访任务(按出院年月) -->
    <PendingTaskBox v-if="Assvite" />
    <!-- ä¸´è¿‘超时任务登录后弹窗(仅景宁/新华两家机构触发) -->
    <!-- <NearTimeoutDialog v-if="Assvite" /> -->
    <NearTimeoutDialog v-if="Assvite" />
  </div>
</template>
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,
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,
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) => {
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;
    }
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="患者随访信息表单" name="followupForm">
        <el-tab-pane
          label="患者随访信息表单"
          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());
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`,//南华
Ëæ·ÃÊÊÓÃÀöË®ÊÐÒ»11.3.zip
Binary files differ
Ëæ·ÃÊÊÓÃÀöË®ÊÐÒ»11.4.zip
Binary files differ
Ëæ·ÃÊÊÓÃÀöË®ÊÐÒ»11.5 (2).zip
Binary files differ
Ëæ·ÃÊÊÓÃÀöË®ÊÐÒ»11.5.zip
Binary files differ