WXL
2024-08-27 c4f2875b50f07e6f375cd9c9ec4d8fbc2494d35d
src/views/patient/patient/profile/index.vue
@@ -42,7 +42,7 @@
        <span class="mulsz" slot="label"
          ><i class="el-icon-s-management"></i> 医疗档案</span
        >
        <el-tabs v-model="sonactiveName" @tab-click="handleClick">
        <el-tabs v-model="sonactiveName" @tab-click="handleClickson">
          <el-tab-pane name="outpatient"
            ><span class="mulsz" slot="label"
              >门诊({{ mznumber }})</span
@@ -50,12 +50,12 @@
          >
          <el-tab-pane name="inhospital"
            ><span class="mulsz" slot="label"
              >住院({{ zynumber }})
              >在院({{ zynumber }})
            </span></el-tab-pane
          >
          <el-tab-pane name="checkout"
            ><span class="mulsz" slot="label"
              >体检({{ jynumber }})
              >出院({{ jynumber }})
            </span></el-tab-pane
          >
        </el-tabs>
@@ -145,7 +145,7 @@
            <el-col :span="24"
              ><div class="xinz-inf">
                <el-tag
                  :key="tag.tagid"
                  :key="tag.tagname"
                  type="success"
                  v-for="tag in dynamicTags"
                  closable
@@ -155,16 +155,13 @@
                  {{ tag.tagname }}
                </el-tag>
                <el-select
                  v-model="inputValue"
                  v-if="inputVisible"
                  v-model="inputValue"
                  @change="handleInputConfirm"
                  :remote-method="remoteMethod"
                  remote
                  filterable
                  allow-create
                  default-first-option
                  placeholder="请选择/查询"
                  :loading="loading"
                >
                  <el-option
                    v-for="item in options"
@@ -299,7 +296,7 @@
      <!-- 联系电话 -->
      <div class="bottom-message">
        <div class="headline">
          号码维护<span style="margin-right: 60px">&nbsp;&nbsp;</span>
          亲属号码维护<span style="margin-right: 60px">&nbsp;&nbsp;</span>
          <el-button type="primary" @click="addcompiletb">+新增</el-button>
        </div>
        <div class="Table-screen">
@@ -349,22 +346,71 @@
      <!-- 门诊 -->
      <div v-if="sonactiveName == 'outpatient'">
        <el-table :data="serviceData" style="width: 100%">
          <el-table-column prop="daya" label="就诊日期" width="180">
          <el-table-column
            label="就诊时间"
            align="center"
            key="createTime"
            prop="createTime"
            width="160"
          >
            <template slot-scope="scope">
              <span>{{ parseTime(scope.row.createTime) }}</span>
            </template>
          </el-table-column>
          <el-table-column prop="administrative" label="就诊科室" width="180">
          <el-table-column
            label="门诊号"
            align="center"
            key="patid"
            prop="patid"
          />
          <el-table-column
            label="姓名"
            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 prop="doctor" 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-column prop="administrative" label="用药">
          </el-table-column>
          <el-table-column prop="columcz" label="医嘱" width="200">
          </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"
            width="120"
          />
          <el-table-column
            label="诊断"
            align="center"
            key="diagname"
            prop="diagname"
            width="190"
          />
          <el-table-column
            label="就诊科室"
            align="center"
            key="deptname"
            prop="deptname"
            width="120"
          />
          <el-table-column
            label="接诊医生"
            align="center"
            key="drname"
            prop="drname"
            width="120"
          />
        </el-table>
        <pagination
@@ -377,30 +423,80 @@
      </div>
      <!-- 住院 -->
      <div v-if="sonactiveName == 'inhospital'">
        <el-table :data="serviceData" style="width: 100%">
          <el-table-column prop="godaya" label="入院日期"> </el-table-column>
          <el-table-column prop="hospitalname" label="出院时间">
        <el-table :data="serviceDatary" style="width: 100%">
          <el-table-column
            label="住院号"
            align="center"
            key="patid"
            prop="patid"
          />
          <el-table-column
            label="姓名"
            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 prop="administrative" label="病区">
          </el-table-column>
          <el-table-column prop="result" label="主治医师"> </el-table-column>
          <el-table-column prop="bed" label="管床护士"> </el-table-column>
          <el-table-column prop="doctor" label="出院疾病诊断">
          </el-table-column>
          <el-table-column prop="today" 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-column prop="columcz" label="出院小结" width="200">
          </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"
            width="120"
          />
          <el-table-column
            label="入院诊断"
            align="center"
            key="diagname"
            prop="diagname"
            width="190"
          />
          <el-table-column
            label="病区"
            align="center"
            key="deptname"
            prop="deptname"
            width="120"
          />
          <el-table-column
            label="床位号"
            align="center"
            key="bedNo"
            prop="bedNo"
            width="120"
          />
          <el-table-column
            label="主治医生"
            align="center"
            key="drname"
            prop="drname"
            width="120"
          />
          <el-table-column
            label="责任护士"
            align="center"
            key="Sister"
            prop="Sister"
            width="120"
          />
        </el-table>
      </div>
      <!-- 体检 -->
      <!-- 出院 -->
      <div v-if="sonactiveName == 'checkout'">
        <el-table :data="serviceData" style="width: 100%">
        <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>
@@ -436,15 +532,19 @@
          </div>
          <el-divider></el-divider>
          <div style="margin-top: 10px">
            随访状态:已终止<span style="color: #2775b6"
            {{ item.name }}状态:已终止<span style="color: #2775b6"
              >(终止原因:患者痊愈回访结束,终止时间:2023-12-18 12:00)</span
            >
          </div>
          <div style="margin-top: 10px">
            随访发送时间:<span style="color: #2775b6">2023-11-23 12:00</span>
            {{ item.name }}发送时间:<span style="color: #2775b6"
              >2023-11-23 12:00</span
            >
          </div>
          <div style="margin-top: 10px">
            随访完成时间:<span style="color: #2775b6">2023-12-18 12:00</span>
            {{ item.name }}完成时间:<span style="color: #2775b6"
              >2023-12-18 12:00</span
            >
          </div>
          <div style="margin-top: 10px">
            疼痛程度:<span style="color: #2775b6">中度</span>
@@ -457,16 +557,17 @@
              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"
                >随访人: <span style="color: #2775b6">吴小龙</span></el-col
                >{{ item.name }}人:
                <span style="color: #2775b6">吴小龙</span></el-col
              >
              <el-col :span="6"
                >患者配合度: <span style="color: #2775b6">高</span></el-col
@@ -474,10 +575,12 @@
            </el-row>
          </div>
          <div style="margin-top: 10px">
            随访结果: <span style="color: #2775b6">患者痊愈,身体倍棒</span>
            {{ item.name }}结果:
            <span style="color: #2775b6">患者痊愈,身体倍棒</span>
          </div>
          <div style="margin-top: 10px">
            随访备注: <span style="color: #2775b6">提醒注意饮食健康</span>
            {{ item.name }}备注:
            <span style="color: #2775b6">提醒注意饮食健康</span>
          </div>
        </el-card>
      </div>
@@ -632,7 +735,10 @@
  delcontactinformation,
  listcontactinformation,
  alterpatient,
  Patientclinic,
} from "@/api/patient/homepage";
import { listPatouthosp } from "@/api/smartor/patouthosp";
import { listpatient } from "@/api/patient/record";
export default {
  name: "Profile",
@@ -705,15 +811,9 @@
          address: "89",
        },
      ],
      serviceData: [
        {
          daya: "2023-12-12",
          hospitalname: "协和",
          result: "韧带拉伤",
          administrative: "骨科",
          doctor: "吴大龙",
        },
      ],
      serviceData: [],
      serviceDatary: [],
      serviceDatacy: [],
      options: [
        {
          value: "1",
@@ -763,6 +863,9 @@
    };
  },
  created() {
    this.id = this.$route.query.id;
    this.getuserinfo();
    this.gettabList();
    this.$nextTick(function () {
      this.echartdom = document.getElementById("xyeCharts");
      this.xtechartdom = document.getElementById("xteCharts");
@@ -778,15 +881,32 @@
      this.xueyangechartsInit();
      this.twechartsInit();
    });
    this.id = this.$route.query.id;
    this.getuserinfo();
    this.gettabList();
  },
  methods: {
    // 查询档案列表信息
    getList() {
    // 查询医疗档案各列表信息
    getList(type) {
      this.loading = true;
      if (type == 0) {
        // 门诊记录
        listPatouthosp({ patid: this.id }).then((response) => {
          if (response.code == 200) {
            this.serviceData = response.rows;
          }
        });
      } else if (type == 1) {
        listpatient({ patid: this.id }).then((response) => {
          if (response.code == 200) {
            this.serviceDatary = response.rows;
          }
        });
      } else if (type == 2) {
        listpatient({ patid: this.id }).then((response) => {
          if (response.code == 200) {
            this.serviceDatacy = response.rows;
          }
        });
      }
    },
    getcontactlist() {
      listcontactinformation({ patid: this.id }).then((response) => {
@@ -794,7 +914,7 @@
      });
    },
    processElement(element) {
      return { ...element, isoperation: 0 };
      return { ...element, isoperation: null };
    },
    // 获取基础信息
    getuserinfo() {
@@ -808,10 +928,13 @@
        this.userform = response.rows[0];
        // this.dynamicTags = response.rows[0].tagList;
        this.dynamicTags = response.rows[0].tagList.map(this.processElement);
        console.log(this.dynamicTags);
      });
      // 病史信息
      getmedicalhistory({ pid: this.id }).then((res) => {
        this.form = res.rows[0];
        if (res.code == 200 && res.rows[0]) {
          this.form = res.rows[0];
        }
      });
      // 联系信息
      this.getcontactlist();
@@ -827,7 +950,7 @@
          this.$modal.msgError("基础信息修改失败");
        }
      });
      // 病史是
      // 病史
      this.medicalhistory();
    },
    // 病史
@@ -936,7 +1059,13 @@
    },
    // tab切换
    handleClick(tab, event) {
      console.log(tab, event);
      if (tab.index == "1") {
        this.getList(0);
      }
    },
    handleClickson(tab, event) {
      console.log(tab.index, "son");
      this.getList(tab.index);
    },
    // 联系方式新增
    Addanumber() {},
@@ -945,11 +1074,12 @@
    gettabList() {
      const tagqueryParams = {
        pageNum: 1,
        pageSize: 1000,
        pageSize: 10000,
        tagcategoryid: "0",
      };
      listtag(tagqueryParams).then((response) => {
        this.options = response.rows;
        console.log(this.options, "标签");
      });
    },
    remoteMethod(value) {
@@ -975,9 +1105,7 @@
    showInput() {
      this.inputVisible = true;
      // this.$nextTick((_) => {
      //   this.$refs.saveTagInput.$refs.input.focus();
      // });
      console.log("展示");
    },
    handleInputConfirm() {
@@ -1006,6 +1134,7 @@
          console.log(this.dynamicTags);
        });
      }
      console.log("关了");
      this.inputVisible = false;
      this.inputValue = "";
    },