Browse Source

Merge branch 'master' of http://1.14.104.71:10880/root/ylrz_his_scrm_adminUI

ct 3 ngày trước cách đây
mục cha
commit
ad0b49f37d
4 tập tin đã thay đổi với 443 bổ sung1 xóa
  1. 40 0
      .env.prod-jnlzjk
  2. 1 0
      package.json
  3. BIN
      src/assets/logo/jnlzjk.png
  4. 402 1
      src/views/system/config/config.vue

+ 40 - 0
.env.prod-jnlzjk

@@ -0,0 +1,40 @@
+# 页面标题
+VUE_APP_TITLE =济南联志健康互联网医院管理系统
+# 首页菜单标题
+VUE_APP_TITLE_INDEX =济南联志健康互联网医院
+# 公司名称
+VUE_APP_COMPANY_NAME =济南联志健康
+# ICP备案号
+VUE_APP_ICP_RECORD =渝ICP备2024031984号-2
+# ICP网站访问地址
+VUE_APP_ICP_URL =https://beian.miit.gov.cn
+# 网站LOG
+VUE_APP_LOG_URL =@/assets/logo/jnlzjk.png
+# 存储桶配置
+VUE_APP_OBS_ACCESS_KEY_ID = K2UTJGIN7UTZJR2XMXYG
+# 存储桶配置
+VUE_APP_OBS_SECRET_ACCESS_KEY = sbyeNJLbcYmH6copxeFP9pAoksM4NIT9Zw4x0SRX
+# 存储桶配置
+VUE_APP_OBS_SERVER = https://obs.cn-north-4.myhuaweicloud.com
+# 存储桶配置
+VUE_APP_OBS_BUCKET = jnlzjk-hw079058881
+# 存储桶配置
+VUE_APP_COS_BUCKET = jnlzjk-1323137866
+# 存储桶配置
+VUE_APP_COS_REGION = ap-chongqing
+# 线路一地址
+VUE_APP_VIDEO_LINE_1 = https://jnlzjktcpv.ylrzcloud.com
+# 线路二地址
+VUE_APP_VIDEO_LINE_2 = https://jnlzjkobs.ylrztop.com
+
+# 开发环境配置
+ENV = 'production'
+
+# FS管理系统/开发环境
+VUE_APP_BASE_API = '/prod-api'
+
+#默认 1、会员 2、企微
+VUE_APP_COURSE_DEFAULT = 1
+
+# 路由懒加载
+VUE_CLI_BABEL_TRANSPILE_MODULES = true

+ 1 - 0
package.json

@@ -32,6 +32,7 @@
     "build:prod-cqxzt": "vue-cli-service build --mode prod-cqxzt",
     "build:prod-bjyjb": "vue-cli-service build --mode prod-bjyjb",
     "build:prod-bjczwh": "vue-cli-service build --mode prod-bjczwh",
+    "build:prod-jnlzjk": "vue-cli-service build --mode prod-jnlzjk",
     "build:prod-fby": "vue-cli-service build --mode prod-fby",
     "build:prod-zkzh": "vue-cli-service build --mode prod-zkzh",
     "build:prod-syysy": "vue-cli-service build --mode prod-syysy",

BIN
src/assets/logo/jnlzjk.png


+ 402 - 1
src/views/system/config/config.vue

@@ -1638,6 +1638,318 @@
         </div>
       </el-form>
     </el-tab-pane>
+
+    <el-tab-pane label="健康指标配置" name="his.healthIndexConfig">
+      
+        <el-form ref="form26" :model="form26" label-width="200px">
+          <!-- 红色提示 严格按照对应格式参数填写,指标参数只能是数字和特殊符号,数值保留一位小数,特殊符号只能有 < > ≥ ≤ ~ 不能有空格 -->
+          <el-card class="box-card">
+            <div slot="header" class="clearfix">
+              <span style="color: red;">请严格按照对应格式参数填写,指标参数只能是数字和特殊符号,数值保留一位小数,特殊符号只能有 &lt; &gt; ≥ ≤ ~ 不能有空格</span>
+            </div>
+          </el-card>
+
+
+          
+          <!-- 血糖指标 -->
+        <el-card class="box-card" style="margin-bottom: 20px;">
+          <div slot="header" class="clearfix">
+            <span>血糖指标 (mmol/L)</span>
+          </div>
+          
+          <el-form-item label="空腹血糖正常值">
+            <el-input v-model="form26.bloodGlucose.fasting.normal" placeholder="例如: 3.9-6.1">
+              <template slot="append">mmol/L</template>
+            </el-input>
+          </el-form-item>
+          
+          <el-form-item label="餐后1小时血糖正常值">
+            <el-input v-model="form26.bloodGlucose.post1Hour.normal" placeholder="例如: 6.7-9.0">
+              <template slot="append">mmol/L</template>
+            </el-input>
+          </el-form-item>
+          
+          <el-form-item label="餐后2小时血糖正常值">
+            <el-input v-model="form26.bloodGlucose.post2Hour.normal" placeholder="例如: ≤7.8">
+              <template slot="append">mmol/L</template>
+            </el-input>
+          </el-form-item>
+          
+          <el-form-item label="血糖异常程度配置">
+            <el-table :data="form26.bloodGlucose.severity" style="width: 100%;">
+              <el-table-column prop="level" label="严重程度" width="120">
+                <template slot-scope="scope">
+                  <el-tag :type="scope.row.level === 'normal' ? 'success' : 
+                            scope.row.level === 'mild' ? 'warning' : 'danger'">
+                    {{ scope.row.level === 'normal' ? '正常' : 
+                      scope.row.level === 'mild' ? '轻微' : '严重' }}
+                  </el-tag>
+                </template>
+              </el-table-column>
+              <el-table-column prop="range" label="数值范围">
+                <template slot-scope="scope">
+                  <el-input v-model="scope.row.range" placeholder="例如: <3.9 or 6.1-7.8"></el-input>
+                </template>
+              </el-table-column>
+              <el-table-column prop="description" label="描述">
+                <template slot-scope="scope">
+                  <el-input v-model="scope.row.description" placeholder="例如: 低血糖风险"></el-input>
+                </template>
+              </el-table-column>
+            </el-table>
+          </el-form-item>
+        </el-card>
+        
+        <!-- 血压指标 -->
+        <el-card class="box-card" style="margin-bottom: 20px;">
+          <div slot="header" class="clearfix">
+            <span>血压指标 (mmHg)</span>
+          </div>
+          
+
+          
+          <el-form-item label="血压异常程度配置">
+            <el-table :data="form26.bloodPressure.severity" style="width: 100%;">
+              <el-table-column prop="level" label="严重程度" width="120">
+                <template slot-scope="scope">
+                  <el-tag :type="scope.row.level === 'normal' ? 'success' : 
+                            scope.row.level === 'mild' ? 'warning' : 'danger'">
+                    {{ scope.row.level === 'normal' ? '正常' : 
+                      scope.row.level === 'mild' ? '轻微' : '严重' }}
+                  </el-tag>
+                </template>
+              </el-table-column>
+              <el-table-column prop="type" label="血压类型" width="120">
+                <template slot-scope="scope">
+                  <span>{{ scope.row.type === 'systolic' ? '收缩压' : '舒张压' }}</span>
+                </template>
+              </el-table-column>
+              <el-table-column prop="range" label="数值范围">
+                <template slot-scope="scope">
+                  <el-input v-model="scope.row.range" placeholder="例如: <90 or 120-139"></el-input>
+                </template>
+              </el-table-column>
+              <el-table-column prop="description" label="描述">
+                <template slot-scope="scope">
+                  <el-input v-model="scope.row.description" placeholder="例如: 正常高值"></el-input>
+                </template>
+              </el-table-column>
+            </el-table>
+          </el-form-item>
+        </el-card>
+
+        <el-card class="box-card">
+          <div slot="header" class="clearfix">
+            <span>尿酸指标 (μmol/L)</span>
+          </div>
+
+          <el-form-item label="性别分类配置">
+            <el-tabs v-model="form26.uricAcid.activeGender">
+              <el-tab-pane label="男性" name="male">
+                <el-table :data="form26.uricAcid.male" style="width: 100%;">
+                  <el-table-column prop="level" label="风险等级" width="120">
+                    <template slot-scope="scope">
+                      <el-tag :type="scope.row.level === 'normal' ? 'success' : 
+                                scope.row.level === 'mild' ? 'warning' : 'danger'">
+                        {{ scope.row.level === 'normal' ? '正常' : 
+                          scope.row.level === 'mild' ? '不良' : '高风险' }}
+                      </el-tag>
+                    </template>
+                  </el-table-column>
+                  <el-table-column prop="range" label="数值范围">
+                    <template slot-scope="scope">
+                      <el-input v-model="scope.row.range" placeholder="例如: <420"></el-input>
+                    </template>
+                  </el-table-column>
+                  <el-table-column prop="description" label="描述">
+                    <template slot-scope="scope">
+                      <el-input v-model="scope.row.description" placeholder="例如: 正常范围"></el-input>
+                    </template>
+                  </el-table-column>
+                </el-table>
+              </el-tab-pane>
+              
+              <el-tab-pane label="女性" name="female">
+                <el-table :data="form26.uricAcid.female" style="width: 100%;">
+                  <el-table-column prop="level" label="风险等级" width="120">
+                    <template slot-scope="scope">
+                      <el-tag :type="scope.row.level === 'normal' ? 'success' : 
+                                scope.row.level === 'mild' ? 'warning' : 'danger'">
+                        {{ scope.row.level === 'normal' ? '正常' : 
+                          scope.row.level === 'mild' ? '不良' : '高风险' }}
+                      </el-tag>
+                    </template>
+                  </el-table-column>
+                  <el-table-column prop="range" label="数值范围">
+                    <template slot-scope="scope">
+                      <el-input v-model="scope.row.range" placeholder="例如: <360"></el-input>
+                    </template>
+                  </el-table-column>
+                  <el-table-column prop="description" label="描述">
+                    <template slot-scope="scope">
+                      <el-input v-model="scope.row.description" placeholder="例如: 正常范围"></el-input>
+                    </template>
+                  </el-table-column>
+                </el-table>
+              </el-tab-pane>
+            </el-tabs>
+          </el-form-item>
+        </el-card>
+
+        <!-- Add BMI指标 card after the uric acid card -->
+        <el-card class="box-card" style="margin-bottom: 20px;">
+          <div slot="header" class="clearfix">
+            <span>BMI指标 (kg/m²)</span>
+          </div>
+
+          <el-form-item label="BMI异常程度配置">
+            <el-table :data="form26.bmi.severity" style="width: 100%;">
+              <el-table-column prop="level" label="严重程度" width="120">
+                <template slot-scope="scope">
+                  <el-tag :type="scope.row.level === 'normal' ? 'success' : 
+                            scope.row.level === 'mild' ? 'warning' : 'danger'">
+                    {{ scope.row.level === 'normal' ? '正常' : 
+                      scope.row.level === 'mild' ? '偏瘦' : '偏胖' }}
+                  </el-tag>
+                </template>
+              </el-table-column>
+              <el-table-column prop="range" label="数值范围">
+                <template slot-scope="scope">
+                  <el-input v-model="scope.row.range" placeholder="例如: 18.5-23.9"></el-input>
+                </template>
+              </el-table-column>
+              <el-table-column prop="description" label="描述">
+                <template slot-scope="scope">
+                  <el-input v-model="scope.row.description" placeholder="例如: 正常范围"></el-input>
+                </template>
+              </el-table-column>
+            </el-table>
+          </el-form-item>
+        </el-card>
+
+
+        <!-- 腰围指标 -->
+        <el-card class="box-card" style="margin-bottom: 20px;">
+          <div slot="header" class="clearfix">
+            <span>腰围指标 (cm)</span>
+          </div>
+
+          <el-form-item label="性别分类配置">
+            <el-tabs v-model="form26.waist.activeGender">
+              <el-tab-pane label="男性" name="male">
+                <el-table :data="form26.waist.male" style="width: 100%;">
+                  <el-table-column prop="level" label="风险等级" width="120">
+                    <template slot-scope="scope">
+                      <el-tag :type="scope.row.level === 'normal' ? 'success' : 
+                                scope.row.level === 'mild' ? 'warning' : 'danger'">
+                        {{ scope.row.level === 'normal' ? '正常' : 
+                          scope.row.level === 'mild' ? '偏小' : '偏大' }}
+                      </el-tag>
+                    </template>
+                  </el-table-column>
+                  <el-table-column prop="range" label="数值范围">
+                    <template slot-scope="scope">
+                      <el-input v-model="scope.row.range" placeholder="例如: <90"></el-input>
+                    </template>
+                  </el-table-column>
+                  <el-table-column prop="description" label="描述">
+                    <template slot-scope="scope">
+                      <el-input v-model="scope.row.description" placeholder="例如: 正常范围"></el-input>
+                    </template>
+                  </el-table-column>
+                </el-table>
+              </el-tab-pane>
+              
+              <el-tab-pane label="女性" name="female">
+                <el-table :data="form26.waist.female" style="width: 100%;">
+                  <el-table-column prop="level" label="风险等级" width="120">
+                    <template slot-scope="scope">
+                      <el-tag :type="scope.row.level === 'normal' ? 'success' : 
+                                scope.row.level === 'mild' ? 'warning' : 'danger'">
+                        {{ scope.row.level === 'normal' ? '正常' : 
+                          scope.row.level === 'mild' ? '偏小' : '偏大' }}
+                      </el-tag>
+                    </template>
+                  </el-table-column>
+                  <el-table-column prop="range" label="数值范围">
+                    <template slot-scope="scope">
+                      <el-input v-model="scope.row.range" placeholder="例如: <80"></el-input>
+                    </template>
+                  </el-table-column>
+                  <el-table-column prop="description" label="描述">
+                    <template slot-scope="scope">
+                      <el-input v-model="scope.row.description" placeholder="例如: 正常范围"></el-input>
+                    </template>
+                  </el-table-column>
+                </el-table>
+              </el-tab-pane>
+            </el-tabs>
+          </el-form-item>
+        </el-card>
+
+        <el-card class="box-card" style="margin-bottom: 20px;">
+          <div slot="header" class="clearfix">
+            <span>臀围指标 (cm)</span>
+          </div>
+
+          <el-form-item label="性别分类配置">
+            <el-tabs v-model="form26.hip.activeGender">
+              <el-tab-pane label="男性" name="male">
+                <el-table :data="form26.hip.male" style="width: 100%;">
+                  <el-table-column prop="level" label="风险等级" width="120">
+                    <template slot-scope="scope">
+                      <el-tag :type="scope.row.level === 'normal' ? 'success' : 
+                                scope.row.level === 'mild' ? 'warning' : 'danger'">
+                        {{ scope.row.level === 'normal' ? '正常' : 
+                          scope.row.level === 'mild' ? '偏小' : '偏大' }}
+                      </el-tag>
+                    </template>
+                  </el-table-column>
+                  <el-table-column prop="range" label="数值范围">
+                    <template slot-scope="scope">
+                      <el-input v-model="scope.row.range" placeholder="例如: 90-100"></el-input>
+                    </template>
+                  </el-table-column>
+                  <el-table-column prop="description" label="描述">
+                    <template slot-scope="scope">
+                      <el-input v-model="scope.row.description" placeholder="例如: 正常范围"></el-input>
+                    </template>
+                  </el-table-column>
+                </el-table>
+              </el-tab-pane>
+              
+              <el-tab-pane label="女性" name="female">
+                <el-table :data="form26.hip.female" style="width: 100%;">
+                  <el-table-column prop="level" label="风险等级" width="120">
+                    <template slot-scope="scope">
+                      <el-tag :type="scope.row.level === 'normal' ? 'success' : 
+                                scope.row.level === 'mild' ? 'warning' : 'danger'">
+                        {{ scope.row.level === 'normal' ? '正常' : 
+                          scope.row.level === 'mild' ? '偏小' : '偏大' }}
+                      </el-tag>
+                    </template>
+                  </el-table-column>
+                  <el-table-column prop="range" label="数值范围">
+                    <template slot-scope="scope">
+                      <el-input v-model="scope.row.range" placeholder="例如: 85-95"></el-input>
+                    </template>
+                  </el-table-column>
+                  <el-table-column prop="description" label="描述">
+                    <template slot-scope="scope">
+                      <el-input v-model="scope.row.description" placeholder="例如: 正常范围"></el-input>
+                    </template>
+                  </el-table-column>
+                </el-table>
+              </el-tab-pane>
+            </el-tabs>
+          </el-form-item>
+        </el-card>
+        
+        <div class="footer">
+          <el-button type="primary" @click="submitForm26">提交</el-button>
+        </div>
+      </el-form>
+    </el-tab-pane>
     </el-tabs>
 
 
@@ -1761,6 +2073,75 @@ export default {
       },
       form25:{
       },
+      form26: {
+        bloodGlucose: {
+          fasting: { normal: "" },
+          post1Hour: { normal: "" },
+          post2Hour: { normal: "" },
+          severity: [
+            { level: "normal", range: "", description: "" },
+            { level: "mild", range: "", description: "" },
+            { level: "severe", range: "", description: "" }
+          ]
+        },
+        bloodPressure: {
+          protection: { systolic: "", diastolic: "" },
+          severity: [
+            { level: "normal", type: "systolic", range: "", description: "" },
+            { level: "mild", type: "systolic", range: "", description: "" },
+            { level: "severe", type: "systolic", range: "", description: "" },
+            { level: "normal", type: "diastolic", range: "", description: "" },
+            { level: "mild", type: "diastolic", range: "", description: "" },
+            { level: "severe", type: "diastolic", range: "", description: "" }
+          ]
+        },
+        uricAcid: {
+          activeGender: "male",
+          male: [
+            { level: "normal", range: "", description: "" },
+            { level: "mild", range: "", description: "" },
+            { level: "severe", range: "", description: "" }
+          ],
+          female: [
+            { level: "normal", range: "", description: "" },
+            { level: "mild", range: "", description: "" },
+            { level: "severe", range: "", description: "" }
+          ]
+        },
+        bmi: {
+          severity: [
+            { level: "normal", range: "", description: "" },
+            { level: "mild", range: "", description: "" },
+            { level: "severe", range: "", description: "" }
+          ]
+        },
+        waist: {
+          activeGender: "male",
+          male: [
+            { level: "normal", range: "", description: "" },
+            { level: "mild", range: "", description: "" },
+            { level: "severe", range: "", description: "" }
+          ],
+          female: [
+            { level: "normal", range: "", description: "" },
+            { level: "mild", range: "", description: "" },
+            { level: "severe", range: "", description: "" }
+          ]
+        },
+        hip: {
+          activeGender: "male",
+          male: [
+            { level: "normal", range: "", description: "" },
+            { level: "mild", range: "", description: "" },
+            { level: "severe", range: "", description: "" }
+          ],
+          female: [
+            { level: "normal", range: "", description: "" },
+            { level: "mild", range: "", description: "" },
+            { level: "severe", range: "", description: "" }
+          ]
+        }
+      },
       photoArr:[],
       couponList:[],
       inquirySubTypeOptions:[],
@@ -1815,7 +2196,8 @@ export default {
         dLevelMax: [{ required: true, message: '请输入D级最大值', trigger: 'blur' }],
       },
       rules21:{},
-      rules25:{}
+      rules25:{},
+      rules26: {},
     };
   },
   created() {
@@ -2147,6 +2529,9 @@ export default {
           if(key=="his.login"){
             this.form22 =JSON.parse(response.data.configValue);
           }
+          if (key === "his.healthIndexConfig") {
+            this.form26 =JSON.parse(response.data.configValue);
+          }
           else if(key=="store.concept"){
             this.configId=response.data.configId;
             this.configKey=response.data.configKey;
@@ -2252,6 +2637,7 @@ export default {
       }
     });
   },
+  
   submitForm10(){
     var param={configId:this.configId,configValue:JSON.stringify(this.form10)}
     updateConfigByKey(param).then(response => {
@@ -2380,6 +2766,21 @@ export default {
         }
       });
     },
+    submitForm26() {
+      const param = {
+        configId:this.configId,
+        configKey:this.configKey,
+        configValue: JSON.stringify(this.form26)
+      };
+      
+      updateConfigByKey(param).then(response => {
+        if (response.code === 200) {
+          this.msgSuccess("健康指标配置保存成功");
+        } else {
+          this.msgError("保存失败");
+        }
+      });
+    },
     submitForm24(){
       this.$refs["form24"].validate(valid => {
         if (valid) {