WXL (wul)
16 小时以前 a9d2b856e0f6be6475319c2dc36bf405c2f908fc
src/views/patient/patient/profile/index.vue
@@ -1,35 +1,23 @@
<template>
  <div class="app-container">
    <!-- 头部盒子 -->
    <div class="personages">
      <el-row :gutter="20">
        <el-col :span="18">
          <div class="headportrait">
            <div class="text-center">
              <img
                v-imgError="require('@/assets/images/shoushuzhudaoyisheng.png')"
                src=""
              />
            </div>
            <div style="margin-left: 10px">{{ userform.name }}</div>
            <div style="margin-left: 10px" class="text-title">
              {{ userform.sex == 1 ? "男" : "女" }}
            </div>
            <div style="margin-left: 10px" class="text-title">
              {{ userform.age }}岁
            </div>
            <div style="margin-left: 10px" class="text-title">
              {{ userform.birthdate }}
            </div>
            <div style="margin-left: 10px" class="text-title">
              {{ userform.nation }}
            </div>
            <div style="margin-left: 10px" class="text-title">
              {{ userform.birthplace }}
            </div>
          </div></el-col
        >
      </el-row>
    <!-- 患者信息头部 -->
    <div class="profile-header">
      <div class="profile-header__avatar">
        <img
          v-imgError="require('@/assets/images/shoushuzhudaoyisheng.png')"
          src=""
        />
      </div>
      <div class="profile-header__info">
        <div class="profile-header__name">{{ userform.name }}</div>
        <div class="profile-header__chips">
          <span class="chip">{{ userform.sex == 1 ? "男" : "女" }}</span>
          <span class="chip">{{ userform.age }}岁</span>
          <span class="chip">{{ userform.birthdate }}</span>
          <span class="chip">{{ userform.nation }}</span>
          <span class="chip">{{ userform.birthplace }}</span>
        </div>
      </div>
    </div>
    <el-tabs type="border-card" v-model="activeName" @tab-click="handleClick">
@@ -44,23 +32,17 @@
        >
        <el-tabs v-model="sonactiveName" @tab-click="handleClickson">
          <el-tab-pane name="outpatient"
            ><span class="mulsz" slot="label"
              >门诊({{ mznumber }})</span
            ></el-tab-pane
            ><span class="mulsz" slot="label">门诊</span></el-tab-pane
          >
          <el-tab-pane name="inhospital"
            ><span class="mulsz" slot="label"
              >在院({{ zynumber }})
            </span></el-tab-pane
            ><span class="mulsz" slot="label">在院 </span></el-tab-pane
          >
          <el-tab-pane name="checkout"
            ><span class="mulsz" slot="label"
              >出院({{ jynumber }})
            </span></el-tab-pane
            ><span class="mulsz" slot="label">出院 </span></el-tab-pane
          >
        </el-tabs>
      </el-tab-pane>
      <el-tab-pane name="monitor">
      <!-- <el-tab-pane name="monitor">
        <span class="mulsz" slot="label"
          ><i class="el-icon-s-data"></i> 健康监测</span
        >
@@ -97,7 +79,7 @@
            </span></el-tab-pane
          >
        </el-tabs></el-tab-pane
      >
      > -->
      <el-tab-pane name="serve">
        <span class="mulsz" slot="label"
          ><i class="el-icon-s-custom"></i> 服务记录</span
@@ -107,57 +89,45 @@
    <!-- 健康档案模块 -->
    <div class="information-content" v-if="activeName == 'health'">
      <div class="top-message">
        <div class="headlines">
          <div>基础信息</div>
          <el-button type="primary" @click="savefile">保存患者档案</el-button>
      <div class="section-card">
        <div class="section-card__header">
          <span class="section-title">基础信息</span>
          <el-button type="primary" size="small" @click="savefile">保存患者档案</el-button>
        </div>
        <div class="detailed">
        <div class="section-card__body">
          <el-form
            ref="userform"
            :model="userform"
            :rules="rules"
            label-width="100px"
            label-width="110px"
            class="profile-form"
          >
            <el-row :gutter="20">
            <el-row :gutter="24">
              <el-col :span="12">
                <el-form-item label="患者姓名" prop="name">
                  <el-input
                    v-model="userform.name"
                    placeholder="请输入姓名"
                    maxlength="30"
                  ></el-input> </el-form-item
              ></el-col>
              <el-col :span="12"
                ><el-form-item label="联系方式" prop="telcode">
                  <el-input
                    v-model="userform.telcode"
                    placeholder="请输入联系方式"
                    maxlength="30"
                  /> </el-form-item
              ></el-col>
            </el-row>
            <el-row :gutter="20">
                  <el-input v-model="userform.name" placeholder="请输入姓名" maxlength="30"></el-input>
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item label="联系方式" prop="telcode">
                  <el-input v-model="userform.telcode" placeholder="请输入联系方式" maxlength="30"></el-input>
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item label="亲属联系方式" prop="name">
                  <el-input v-model="userform.telcodewx" placeholder="请输入姓名" maxlength="30"></el-input>
                </el-form-item>
              </el-col>
              <el-col :span="24">
                <el-form-item label="出生地" prop="birthplace">
                  <el-input
                    v-model="userform.birthplace"
                    placeholder="国、省、地市、区县、街道等详细信息"
                    maxlength="50"
                  /> </el-form-item
              ></el-col>
            </el-row>
            <el-row :gutter="20">
              <el-col :span="24"
                ><el-form-item label="居住地" prop="placeOfResidence">
                  <el-input
                    v-model="userform.placeOfResidence"
                    placeholder="国、省、地市、区县、街道等详细信息"
                    maxlength="50"
                  /> </el-form-item
              ></el-col>
            </el-row>
            <el-row :gutter="20">
                  <el-input v-model="userform.birthplace" placeholder="国、省、地市、区县、街道等详细信息" maxlength="50"></el-input>
                </el-form-item>
              </el-col>
              <el-col :span="24">
                <el-form-item label="居住地" prop="placeOfResidence">
                  <el-input v-model="userform.placeOfResidence" placeholder="国、省、地市、区县、街道等详细信息" maxlength="50"></el-input>
                </el-form-item>
              </el-col>
              <el-col :span="24">
                <el-form-item label="标签" prop="desc">
                  <div class="xinz-inf">
@@ -189,7 +159,6 @@
                      >
                      </el-option>
                    </el-select>
                    <el-button
                      v-else
                      class="button-new-tag"
@@ -204,56 +173,36 @@
          </el-form>
        </div>
      </div>
      <div class="top-message">
        <div class="headline">病史</div>
        <div class="detailed">
          <el-form :model="form" label-width="100px">
            <el-row>
      <div class="section-card">
        <div class="section-card__header">
          <span class="section-title">病史</span>
        </div>
        <div class="section-card__body">
          <el-form :model="form" label-width="110px" class="profile-form">
            <el-row :gutter="24">
              <el-col :span="8">
                <el-form-item label="过往疾病" prop="name">
                  <el-input
                    v-model="form.pastIllnesses"
                    placeholder="请输入"
                    maxlength="30"
                  />
                  <el-input v-model="form.pastIllnesses" placeholder="请输入" maxlength="30" />
                </el-form-item>
              </el-col>
              <el-col :span="8">
                <el-form-item label="药物过敏" prop="sex">
                  <el-input
                    v-model="form.drugAllergy"
                    placeholder="请输入具体药物/无"
                    maxlength="30"
                  />
                  <el-input v-model="form.drugAllergy" placeholder="请输入具体药物/无" maxlength="30" />
                </el-form-item>
              </el-col>
              <el-col :span="8">
                <el-form-item label="家族病史" prop="age">
                  <el-input
                    v-model="form.familyHistory"
                    placeholder="请输入具体疾病/无"
                    maxlength="30"
                  />
                  <el-input v-model="form.familyHistory" placeholder="请输入具体疾病/无" maxlength="30" />
                </el-form-item>
              </el-col>
            </el-row>
            <el-row>
              <el-col :span="8">
                <el-form-item label="手术史" prop="name">
                  <el-input
                    v-model="form.surgicalHistory"
                    placeholder="请输入手术/无"
                    maxlength="30"
                  />
                  <el-input v-model="form.surgicalHistory" placeholder="请输入手术/无" maxlength="30" />
                </el-form-item>
              </el-col>
              <el-col :span="8">
                <el-form-item label="生育史" prop="age">
                  <el-input
                    v-model="form.reproductiveHistory"
                    placeholder="请输入胎数/无"
                    maxlength="30"
                  />
                  <el-input v-model="form.reproductiveHistory" placeholder="请输入胎数/无" maxlength="30" />
                </el-form-item>
              </el-col>
              <el-col :span="8">
@@ -264,8 +213,6 @@
                  </el-radio-group>
                </el-form-item>
              </el-col>
            </el-row>
            <el-row>
              <el-col :span="8">
                <el-form-item label="吸烟情况" prop="smoking">
                  <el-radio-group v-model="form.smoking">
@@ -290,8 +237,6 @@
                  </el-radio-group>
                </el-form-item>
              </el-col>
            </el-row>
            <el-row>
              <el-col :span="12">
                <el-form-item label="饮食情况" prop="diet">
                  <el-radio-group v-model="form.diet">
@@ -299,8 +244,9 @@
                    <el-radio label="2">正常饮食</el-radio>
                    <el-radio label="3">食欲不振</el-radio>
                  </el-radio-group>
                </el-form-item> </el-col
              ><el-col :span="12">
                </el-form-item>
              </el-col>
              <el-col :span="12">
                <el-form-item label="心理情况" prop="psychology">
                  <el-radio-group v-model="form.psychology">
                    <el-radio label="1">心情愉悦</el-radio>
@@ -313,21 +259,23 @@
          </el-form>
        </div>
      </div>
      <!-- 联系电话 -->
      <div class="bottom-message">
        <div class="headline">
          亲属号码维护<span style="margin-right: 60px">&nbsp;&nbsp;</span>
          <el-button type="primary" @click="addcompiletb">+新增</el-button>
      <!-- 亲属号码维护 -->
      <div class="section-card">
        <div class="section-card__header">
          <span class="section-title">亲属号码维护</span>
          <el-button type="primary" size="small" icon="el-icon-plus" @click="addcompiletb">新增</el-button>
        </div>
        <div class="Table-screen">
        <div class="section-card__body">
          <el-table
            :data="tableData"
            style="width: 100%"
            :row-class-name="tableRowClassName"
            stripe
            border
          >
            <el-table-column prop="id" label="序号" width="180">
            </el-table-column>
            <el-table-column prop="contactname" label="姓名" width="180">
            <el-table-column prop="contactname" label="姓名" width="100">
            </el-table-column>
            <el-table-column prop="contactway" label="联系方式" width="180">
            </el-table-column>
@@ -351,7 +299,6 @@
                  size="small"
                  >编辑</el-button
                >
                <el-button @click="deltb(scope.row)" type="danger" size="small"
                  >删除</el-button
                >
@@ -365,43 +312,33 @@
    <div class="medical-record" v-else-if="activeName == 'medical'">
      <!-- 门诊 -->
      <div v-if="sonactiveName == 'outpatient'">
        <el-table :data="serviceData" style="width: 100%">
        <el-table :data="serviceData" style="width: 100%" stripe border>
          <el-table-column
            label="就诊时间"
            align="center"
            key="createTime"
            prop="createTime"
            width="160"
            key="admitdate"
            prop="admitdate"
          >
            <template slot-scope="scope">
              <span>{{ formatTime(scope.row.createTime) }}</span>
              <span>{{ formatTime(scope.row.admitdate) }}</span>
            </template>
          </el-table-column>
          <el-table-column
            label="门诊号"
            label="病案号"
            width="100"
            align="center"
            key="patid"
            prop="patid"
            key="outhospno"
            prop="outhospno"
          />
          <el-table-column
            label="姓名"
            width="100"
            align="center"
            key="patname"
            prop="patname"
          />
          <el-table-column label="性别" align="center" key="sex" prop="sex">
            <template slot-scope="scope">
              <span>{{ scope.row.sex == 1 ? "男" : "女" }}</span>
            </template>
          </el-table-column>
          <el-table-column
            label="年龄"
            align="center"
            key="age"
            prop="age"
            width="120"
          />
          <el-table-column
            label="联系电话"
            align="center"
@@ -410,10 +347,17 @@
            width="120"
          />
          <el-table-column
            label="诊断"
            label="入院诊断"
            align="center"
            key="diagname"
            prop="diagname"
            width="190"
          />
          <el-table-column
            label="出院诊断"
            align="center"
            key="leavediagname"
            prop="leavediagname"
            width="190"
          />
@@ -425,14 +369,28 @@
            width="120"
          />
          <el-table-column
            label="接诊医生"
            label="所在病区"
            align="center"
            key="leavehospitaldistrictname"
            prop="leavehospitaldistrictname"
            width="120"
          />
          <el-table-column
            label="主治医生"
            align="center"
            key="drname"
            prop="drname"
            width="120"
          />
        </el-table>
          <el-table-column
            label="责任护士"
            align="center"
            key="nurseName"
            prop="nurseName"
            width="120"
          />
        </el-table>
        <pagination
          v-show="total > 0"
          :total="total"
@@ -443,39 +401,28 @@
      </div>
      <!-- 住院 -->
      <div v-if="sonactiveName == 'inhospital'">
        <el-table :data="serviceDatary" style="width: 100%">
        <el-table :data="serviceDatary" style="width: 100%" stripe border>
          <el-table-column
            label="住院号"
            align="center"
            key="patid"
            prop="patid"
            key="inhospno"
            prop="inhospno"
            width="180"
          />
          <el-table-column
            label="姓名"
            width="100"
            align="center"
            key="patname"
            prop="patname"
          />
          <el-table-column label="性别" align="center" key="sex" prop="sex">
            <template slot-scope="scope">
              <span>{{ scope.row.sex == 1 ? "男" : "女" }}</span>
            </template>
          </el-table-column>
          <el-table-column
            label="年龄"
            align="center"
            key="age"
            prop="age"
            width="120"
          />
          <el-table-column
            label="联系电话"
            align="center"
            key="telephone"
            prop="telephone"
            key="telcode"
            prop="telcode"
            width="120"
          />
          <el-table-column
            label="入院诊断"
            align="center"
@@ -483,19 +430,26 @@
            prop="diagname"
            width="190"
          />
          <el-table-column
            label="出院诊断"
            align="center"
            key="leavediagname"
            prop="leavediagname"
            width="190"
          />
          <el-table-column
            label="病区"
            label="就诊科室"
            align="center"
            key="deptname"
            prop="deptname"
            width="120"
          />
          <el-table-column
            label="床位号"
            label="所在病区"
            align="center"
            key="bedNo"
            prop="bedNo"
            key="leavehospitaldistrictname"
            prop="leavehospitaldistrictname"
            width="120"
          />
          <el-table-column
@@ -505,109 +459,107 @@
            prop="drname"
            width="120"
          />
          <el-table-column
            label="责任护士"
            align="center"
            key="Sister"
            prop="Sister"
            key="nurseName"
            prop="nurseName"
            width="120"
          />
          <el-table-column
            label="床位号"
            align="center"
            key="bedNo"
            prop="bedNo"
            width="120"
          />
        </el-table>
      </div>
      <!-- 出院 -->
      <div v-if="sonactiveName == 'checkout'">
        <el-table :data="serviceDatacy" style="width: 100%">
          <el-table-column prop="godaya" label="体检类型"> </el-table-column>
          <el-table-column prop="hospitalname" label="体检套餐名称">
          </el-table-column>
          <el-table-column prop="result" label="体检预约日期">
          </el-table-column>
          <el-table-column prop="administrative" label="体检项目">
          </el-table-column>
          <el-table-column prop="administrative" label="体检报告日">
          </el-table-column>
          <el-table-column prop="administrative" label="体检总检报告">
          </el-table-column>
        <el-table :data="serviceDatacy" style="width: 100%" stripe border>
          <el-table-column
            label="住院号"
            align="center"
            key="inhospno"
            prop="inhospno"
            width="120"
          />
          <el-table-column
            label="姓名"
            width="100"
            align="center"
            key="patname"
            prop="patname"
          />
          <el-table-column
            label="联系电话"
            align="center"
            key="telcode"
            prop="telcode"
            width="120"
          />
          <el-table-column
            label="入院诊断"
            align="center"
            key="diagname"
            prop="diagname"
            width="190"
          />
          <el-table-column
            label="出院诊断"
            align="center"
            key="leavediagname"
            prop="leavediagname"
            width="190"
          />
          <el-table-column
            label="就诊科室"
            align="center"
            key="deptname"
            prop="deptname"
            width="120"
          />
          <el-table-column
            label="所在病区"
            align="center"
            key="leavehospitaldistrictname"
            prop="leavehospitaldistrictname"
            width="120"
          />
          <el-table-column
            label="主治医生"
            align="center"
            key="drname"
            prop="drname"
            width="120"
          />
          <el-table-column
            label="责任护士"
            align="center"
            key="nurseName"
            prop="nurseName"
            width="120"
          />
          <el-table-column
            label="床位号"
            align="center"
            key="bedNo"
            prop="bedNo"
            width="120"
          />
        </el-table>
      </div>
    </div>
    <!-- 服务记录 -->
    <div
      class="medical-recordc"
      style="margin-top: 20px; font-size: 20px !important"
      v-else-if="activeName == 'serve'"
    >
      <div style="margin-bottom: 15px" v-for="item in record">
        <el-card class="box-card">
          <div
            style="
              font-size: 22px;
              padding-left: 5px;
              margin: 15px 0;
              border-left: 4px solid rgb(190, 65, 134);
            "
          >
            {{ item.name }}
          </div>
          <el-divider></el-divider>
          <div style="margin-top: 10px">
            {{ item.name }}状态:已终止<span style="color: #2775b6"
              >(终止原因:患者痊愈回访结束,终止时间:2023-12-18 12:00)</span
            >
          </div>
          <div style="margin-top: 10px">
            {{ item.name }}发送时间:<span style="color: #2775b6"
              >2023-11-23 12:00</span
            >
          </div>
          <div style="margin-top: 10px">
            {{ item.name }}完成时间:<span style="color: #2775b6"
              >2023-12-18 12:00</span
            >
          </div>
          <div style="margin-top: 10px">
            疼痛程度:<span style="color: #2775b6">中度</span>
          </div>
          <div
            style="
              font-size: 20px;
              padding-left: 5px;
              margin: 15px 0;
              border-left: 4px solid rgb(65, 161, 190);
            "
          >
            人工{{ item.name }}记录
          </div>
          <div style="margin-top: 10px">
            <el-row :gutter="20">
              <el-col :span="6"
                >{{ item.name }}日期:
                <span style="color: #2775b6">2023-11-22 11:22</span></el-col
              >
              <el-col :span="6"
                >{{ item.name }}人:
                <span style="color: #2775b6">吴小龙</span></el-col
              >
              <el-col :span="6"
                >患者配合度: <span style="color: #2775b6">高</span></el-col
              >
            </el-row>
          </div>
          <div style="margin-top: 10px">
            {{ item.name }}结果:
            <span style="color: #2775b6">患者痊愈,身体倍棒</span>
          </div>
          <div style="margin-top: 10px">
            {{ item.name }}备注:
            <span style="color: #2775b6">提醒注意饮食健康</span>
          </div>
        </el-card>
      </div>
    </div>
    <ServiceRecords v-else-if="activeName == 'serve'" :patid="id" />
    <!-- 健康监测 -->
    <div class="medical-record" v-show="activeName == 'monitor'">
      <!-- 血压图标 -->
    <!-- <div class="medical-record" v-show="activeName == 'monitor'">
      <div v-show="sontwoactiveName == 'blood'" style="display: flex">
        <div
          id="xyeCharts"
@@ -625,7 +577,6 @@
          </el-card>
        </div>
      </div>
      <!-- 血糖 -->
      <div v-show="sontwoactiveName == 'glucose'" style="display: flex">
        <div
          id="xteCharts"
@@ -643,7 +594,6 @@
          </el-card>
        </div>
      </div>
      <!-- 体重 -->
      <div v-show="sontwoactiveName == 'weight'" style="display: flex">
        <div
          id="tzeCharts"
@@ -661,7 +611,6 @@
          </el-card>
        </div>
      </div>
      <!-- 心率 -->
      <div v-show="sontwoactiveName == 'heartrate'" style="display: flex">
        <div
          id="xleCharts"
@@ -679,7 +628,6 @@
          </el-card>
        </div>
      </div>
      <!-- 血氧 -->
      <div v-show="sontwoactiveName == 'bloodoxygen'" style="display: flex">
        <div
          id="xueyangeCharts"
@@ -697,7 +645,6 @@
          </el-card>
        </div>
      </div>
      <!-- 体温 -->
      <div v-show="sontwoactiveName == 'animalheat'" style="display: flex">
        <div
          id="tweCharts"
@@ -715,11 +662,11 @@
          </el-card>
        </div>
      </div>
    </div>
    </div> -->
    <el-dialog :title="titletb" :visible.sync="AddanumberVisible">
      <el-form :model="numberform" label-width="100px">
        <el-form-item label="姓名">
        <el-form-item label="姓名" width="100">
          <el-input v-model="numberform.contactname"></el-input>
        </el-form-item>
        <el-form-item label="联系电话">
@@ -757,12 +704,15 @@
  alterpatient,
  Patientclinic,
} from "@/api/patient/homepage";
import { getsearchrResults } from "@/api/AiCentre/index";
import ServiceRecords from "@/views/patient/archives/components/ServiceRecords.vue";
import { listPatouthosp } from "@/api/smartor/patouthosp";
import { listpatient } from "@/api/patient/record";
export default {
  name: "Profile",
  components: { userAvatar, userInfo, resetPwd, SFtable },
  components: { userAvatar, userInfo, resetPwd, SFtable, ServiceRecords },
  data() {
    return {
      userform: {},
@@ -781,19 +731,39 @@
      id: "",
      loading: false,
      activeName: "health", //一类导航
      sonactiveName: "outpatient", //健康监测导航
      sonactiveName: "inhospital", //健康监测导航
      sontwoactiveName: "blood", //医疗档案导航
      dynamicTags: [],
      record: [
        {
          name: "宣教任务",
          serviceType: "4",
          templatename: "管饲宣教一期",
          createTime: "2024-11-10",
          finishtime: "2024-11-12",
          createBy: "王政",
          drname: "刘明",
          nurseName: "张淑琴",
          excep: "0",
          deptname: "呼吸科",
          leavehospitaldistrictname: "五病区",
        },
        {
          name: "通知任务",
          name: "随访任务",
          serviceType: "2",
          templatename: "心血管随访一期",
          createTime: "2024-11-11",
          finishtime: "2024-11-14",
          createBy: "章程",
          drname: "刘明",
          nurseName: "李丽",
          excep: "0",
          deptname: "呼吸科",
          leavehospitaldistrictname: "五病区",
        },
        {
          name: "问卷调查",
        },
        // {
        //   name: "问卷调查",
        // },
      ],
      inputVisible: false,
      AddanumberVisible: false,
@@ -945,18 +915,21 @@
        listPatouthosp({ patid: this.id }).then((response) => {
          if (response.code == 200) {
            this.serviceData = response.rows;
            // this.serviceData = [];
          }
        });
      } else if (type == 1) {
        listpatient({ patid: this.id }).then((response) => {
        listpatient({ patid: this.id, cry: 0 }).then((response) => {
          if (response.code == 200) {
            this.serviceDatary = response.rows;
          }
        });
      } else if (type == 2) {
        listpatient({ patid: this.id }).then((response) => {
        listpatient({ patid: this.id, cry: 1 }).then((response) => {
          if (response.code == 200) {
            this.serviceDatacy = response.rows;
            console.log(this.serviceDatacy);
            this.$forceUpdate();
          }
        });
      }
@@ -964,6 +937,9 @@
    getcontactlist() {
      listcontactinformation({ patid: this.id }).then((response) => {
        this.tableData = response.rows;
        if (this.tableData.length) {
          this.userform.telcodewx = this.tableData[0].contactway;
        }
      });
    },
    processElement(element) {
@@ -981,7 +957,7 @@
        this.userform = response.rows[0];
        // this.dynamicTags = response.rows[0].tagList;
        this.dynamicTags = response.rows[0].tagList.map(this.processElement);
        console.log(this.dynamicTags);
        this.getcontactlist();
      });
      // 病史信息
      getmedicalhistory({ pid: this.id }).then((res) => {
@@ -990,7 +966,6 @@
        }
      });
      // 联系信息
      this.getcontactlist();
    },
    // 保存患者档案
    savefile() {
@@ -1117,11 +1092,11 @@
    // tab切换
    handleClick(tab, event) {
      if (tab.index == "1") {
        this.getList(0);
        this.getList(1);
      }
    },
    handleClickson(tab, event) {
      console.log(tab.index, "son");
      console.log(tab, "son");
      this.getList(tab.index);
    },
    // 联系方式新增
@@ -1652,134 +1627,354 @@
</script>
<style lang="scss" scoped>
.personages {
  height: 88px;
  width: 100%;
  background-color: #5e86f9;
  border-radius: 5px;
  padding: 20px;
  margin-bottom: 10px;
  line-height: 48px;
  font-size: 25px;
  font-weight: 600;
  color: #ffffff;
  .headportrait {
    display: flex;
    .text-center {
      width: 55px;
      height: 55px;
      margin-right: 10px;
      img {
        width: 100%;
        height: 100%;
        border-radius: 50%;
      }
$primary: #3f6ef0;
// ===== 患者信息头部 =====
.profile-header {
  position: relative;
  display: flex;
  align-items: center;
  padding: 26px 32px;
  margin-bottom: 16px;
  border-radius: 14px;
  overflow: hidden;
  color: #fff;
  background: linear-gradient(120deg, #3f6ef0 0%, #5b8cff 55%, #78a9ff 100%);
  box-shadow: 0 8px 24px rgba(63, 110, 240, 0.26);
  &::before {
    content: "";
    position: absolute;
    right: -70px;
    top: -90px;
    width: 280px;
    height: 280px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.09);
  }
  &::after {
    content: "";
    position: absolute;
    right: 90px;
    bottom: -130px;
    width: 230px;
    height: 230px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.06);
  }
  &__avatar {
    position: relative;
    z-index: 1;
    width: 76px;
    height: 76px;
    flex-shrink: 0;
    border-radius: 50%;
    padding: 3px;
    background: rgba(255, 255, 255, 0.4);
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18);
    img {
      width: 100%;
      height: 100%;
      border-radius: 50%;
      object-fit: cover;
      background: #eef2fb;
    }
    .text-title {
      font-size: 20px;
  }
  &__info {
    position: relative;
    z-index: 1;
    margin-left: 22px;
    min-width: 0;
  }
  &__name {
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 1px;
    line-height: 1.3;
  }
  &__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 12px;
    .chip {
      padding: 4px 14px;
      font-size: 13px;
      font-weight: 500;
      color: #ecfcfc;
      border-radius: 999px;
      background: rgba(255, 255, 255, 0.2);
      border: 1px solid rgba(255, 255, 255, 0.3);
      color: #f5f8ff;
      line-height: 1.5;
    }
  }
}
.xinz-inf {
  font-size: 18px;
  // white-space: nowrap;
// ===== Tabs =====
::v-deep .el-tabs--border-card {
  border: none;
  border-radius: 12px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05);
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 48px;
  > .el-tabs__header {
    margin: 0;
    background: #fff;
    border-bottom: 1px solid #eef0f4;
  .el-tag + .el-tag {
    margin-left: 10px;
    .el-tabs__nav {
      border: none;
      .el-tabs__item {
        height: 54px;
        line-height: 54px;
        font-size: 15px;
        color: #606266;
        border: none !important;
        .mulsz {
          font-size: 15px;
        }
        &.is-active {
          color: $primary;
          font-weight: 600;
          background: #f3f7ff;
          box-shadow: inset 0 -3px 0 $primary;
        }
      }
    }
  }
  > .el-tabs__content {
    padding: 0;
  }
}
// ===== 健康档案卡片 =====
.information-content {
  margin-top: 16px;
}
.section-card {
  margin-bottom: 16px;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05);
  overflow: hidden;
  &__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px 24px;
    border-bottom: 1px solid #f0f2f5;
    .section-title {
      position: relative;
      padding-left: 12px;
      font-size: 16px;
      font-weight: 600;
      color: #303133;
      &::before {
        content: "";
        position: absolute;
        left: 0;
        top: 50%;
        transform: translateY(-50%);
        width: 4px;
        height: 16px;
        border-radius: 2px;
        background: $primary;
      }
    }
  }
  &__body {
    padding: 20px 24px 4px;
  }
}
// 表单
.profile-form {
  .el-form-item {
    margin-bottom: 18px;
  }
  ::v-deep .el-form-item__label {
    color: #606266;
    font-weight: 500;
  }
  ::v-deep .el-input__inner {
    border-radius: 6px;
  }
}
// 标签
.xinz-inf {
  line-height: 40px;
  .el-tag {
    margin-bottom: 6px;
    border-radius: 4px;
    & + .el-tag {
      margin-left: 8px;
    }
  }
  .button-new-tag {
    margin-left: 10px;
    margin-left: 8px;
    height: 32px;
    line-height: 30px;
    padding-top: 0;
    padding-bottom: 0;
  }
  .input-new-tag {
    width: 90px;
    margin-left: 10px;
    margin-left: 8px;
    vertical-align: bottom;
  }
}
.el-tabs--border-card {
  // font-size: 25px;
  .mulsz {
    font-size: 25px;
    margin-top: 20px;
// ===== 医疗档案表格 =====
.medical-record {
  margin-top: 16px;
  padding: 24px;
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05);
  ::v-deep .el-table {
    th.el-table__cell {
      background: #f5f7fb;
      color: #303133;
      font-weight: 600;
    }
    .el-table__row td {
      padding: 10px 0;
    }
    .el-table__row--striped td {
      background: #fafbfd;
    }
    .el-table__row:hover > td {
      background: #f3f7ff !important;
    }
  }
}
.information-content {
  margin-top: 20px;
  background: #ffffff;
  border: 1px solid #dcdfe6;
  -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12),
    0 0 6px 0 rgba(0, 0, 0, 0.04);
  .top-message {
    margin-top: 25px;
    margin-left: 100px;
    .detailed {
      width: 88%;
      border-radius: 8px;
      padding: 30px;
      margin-bottom: 30px;
      background-color: #ddf0f8;
      .bg-purple {
        margin-bottom: 20px;
      }
      .spanvalue {
        display: inline-block;
        min-width: 200px;
        border-bottom: 1px solid rgb(172, 172, 172);
      }
// 卡片内表格(亲属号码)
.section-card__body {
  ::v-deep .el-table {
    th.el-table__cell {
      background: #f5f7fb;
      color: #303133;
      font-weight: 600;
    }
  }
}
// ===== 服务记录 =====
.service-record {
  margin-top: 16px;
  .service-item {
    margin-bottom: 16px;
  }
  .service-card {
    border-radius: 12px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.05);
    ::v-deep .el-card__body {
      padding: 20px 24px;
    }
  }
  .headline {
    font-size: 25px;
    padding-left: 5px;
    margin-bottom: 10px;
    border-left: 8px solid rgb(65, 161, 190);
  }
  .headlines {
    font-size: 25px;
  .service-card__header {
    display: flex;
    width: 88%;
    align-items: center;
    justify-content: space-between;
    padding-left: 5px;
    margin-bottom: 10px;
    border-left: 8px solid rgb(65, 161, 190);
    padding-bottom: 14px;
    border-bottom: 1px dashed #eef0f4;
  }
  .bottom-message {
    margin-bottom: 25px;
    margin-left: 100px;
    .Table-screen {
      width: 88%;
      padding: 30px;
      margin-bottom: 30px;
      border-radius: 8px;
      background-color: #ddf0f8;
      font-size: 20px !important;
  .service-card__title {
    display: flex;
    align-items: center;
    gap: 12px;
  }
  .service-badge {
    display: inline-block;
    padding: 4px 12px;
    font-size: 13px;
    font-weight: 600;
    color: $primary;
    background: #eef4ff;
    border-radius: 6px;
  }
  .service-name {
    font-size: 16px;
    font-weight: 600;
    color: #303133;
  }
  .service-status {
    padding: 4px 12px;
    font-size: 13px;
    border-radius: 999px;
    &.is-ok {
      color: #12a182;
      background: #e8f7f1;
    }
    &.is-bad {
      color: #e0564c;
      background: #fdeeee;
    }
  }
  .service-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px 24px;
    padding-top: 16px;
  }
  .service-cell {
    display: flex;
    flex-direction: column;
    gap: 4px;
    .s-label {
      font-size: 12px;
      color: #909399;
    }
    .s-value {
      font-size: 14px;
      color: #303133;
    }
  }
}
.medical-record {
  margin-top: 20px;
  margin: 20px;
  padding: 30px;
  background: #ffffff;
  border: 1px solid #dcdfe6;
  -webkit-box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.12),
    0 0 6px 0 rgba(0, 0, 0, 0.04);
}
.sontwoactiveName {
  margin: 0 auto;
}
::v-deep.el-table .warning-row {
  background: oldlace;
// 默认联系方式高亮行
::v-deep .el-table .warning-row {
  background: #fff7e6;
}
</style>