From e353f0e17dc46203512dd272c5b559b094e40761 Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期五, 25 七月 2025 15:02:36 +0800
Subject: [PATCH] 测试完成
---
src/views/patient/patient/profile/index.vue | 1648 +++++++++++++++++++++++++++++++++++++++++++---------------
1 files changed, 1,217 insertions(+), 431 deletions(-)
diff --git a/src/views/patient/patient/profile/index.vue b/src/views/patient/patient/profile/index.vue
index cb19817..0a68933 100644
--- a/src/views/patient/patient/profile/index.vue
+++ b/src/views/patient/patient/profile/index.vue
@@ -3,17 +3,34 @@
<!-- 澶撮儴鐩掑瓙 -->
<div class="personages">
<el-row :gutter="20">
- <el-col :span="18">
+ <el-col :span="24">
<div class="headportrait">
<div class="text-center">
- <img v-imgError="require('@/assets/common/head.jpg')" src="" />
+ <img
+ v-imgError="require('@/assets/images/shoushuzhudaoyisheng.png')"
+ src=""
+ />
</div>
- <div style="margin-left: 10px">鍚村ぇ榫�</div>
- <div style="margin-left: 10px" class="text-title">鐢�</div>
- <div style="margin-left: 10px" class="text-title">66宀�</div>
- <div style="margin-left: 10px" class="text-title">1999.12.18</div>
- <div style="margin-left: 10px" class="text-title">姹夋棌</div>
- <div style="margin-left: 10px" class="text-title">娌冲崡淇¢槼</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">
+ <span v-if="userform.age"
+ >{{ userform.age }}{{ userform.ageUnit }}</span
+ ><span v-if="userform.age2"
+ >{{ userform.age2 }}{{ userform.ageUnit2 }}</span
+ >
+ </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>
@@ -29,21 +46,15 @@
<span class="mulsz" slot="label"
><i class="el-icon-s-management"></i> 鍖荤枟妗f</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
- ></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>
@@ -52,8 +63,8 @@
><i class="el-icon-s-data"></i> 鍋ュ悍鐩戞祴</span
>
- <el-tabs v-model="sontwoactiveName" @tab-click="handleClick">
- <el-tab-pane name="blood"
+ <el-tabs v-model="sontwoactiveName">
+ <!-- <el-tab-pane name="blood"
><span class="mulsz" slot="label"
><i class="el-icon-s-operation"></i> 琛�鍘�</span
></el-tab-pane
@@ -62,13 +73,13 @@
><span class="mulsz" slot="label"
><i class="el-icon-odometer"></i>琛�绯�
</span></el-tab-pane
- >
+ > -->
<el-tab-pane name="weight"
><span class="mulsz" slot="label"
- ><i class="el-icon-s-data"></i>浣撻噸
+ ><i class="el-icon-s-data"></i>韬珮澶村洿瓒嬪娍
</span></el-tab-pane
>
- <el-tab-pane name="heartrate"
+ <!-- <el-tab-pane name="heartrate"
><span class="mulsz" slot="label"
><i class="el-icon-s-operation"></i>蹇冪巼
</span></el-tab-pane
@@ -82,9 +93,9 @@
><span class="mulsz" slot="label"
><i class="el-icon-s-opportunity"></i>浣撴俯
</span></el-tab-pane
- >
- </el-tabs></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
@@ -95,182 +106,222 @@
<!-- 鍋ュ悍妗f妯″潡 -->
<div class="information-content" v-if="activeName == 'health'">
<div class="top-message">
- <div class="headline">鍩虹淇℃伅</div>
- <div class="detailed">
- <el-row :gutter="20">
- <el-col :span="12"
- ><div class="grid-content bg-purple">
- 鎮h�呭鍚嶏細<span class="spanvalue">鐜嬪ぇ缇�</span>
- </div></el-col
- >
- <el-col :span="12"
- ><div class="grid-content bg-purple">
- 鑱旂郴鐢佃瘽锛�<span class="spanvalue">13803963330</span>
- </div></el-col
- >
- </el-row>
- <el-row :gutter="20">
- <el-col :span="24"
- ><div class="grid-content bg-purple">
- 鍑虹敓鍦帮細<span class="spanvalue"
- >娴欐睙鐪佹澀宸炲競浣欐澀鍖轰綑鏉閬�</span
- >
- </div></el-col
- >
- </el-row>
- <el-row :gutter="20">
- <el-col :span="24"
- ><div class="grid-content bg-purple">
- 灞呬綇鍦帮細<span class="spanvalue"
- >娴欐睙鐪佹澀宸炲競浣欐澀鍖轰綑鏉閬�</span
- >
- </div></el-col
- >
- </el-row>
- <el-row :gutter="20">
- <el-col :span="24"
- ><div class="xinz-inf">
- <el-tag
- :key="tag"
- type="success"
- v-for="tag in dynamicTags"
- closable
- :disable-transitions="false"
- @close="handleClose(tag)"
- >
- {{ tag }}
- </el-tag>
- <el-select
- v-model="inputValue"
- v-if="inputVisible"
- @change="handleInputConfirm"
- filterable
- placeholder="璇烽�夋嫨"
- >
- <el-option
- v-for="item in options"
- :key="item.label"
- :label="item.label"
- :value="item.label"
- >
- </el-option>
- </el-select>
-
-
- <el-button
- v-else
- class="button-new-tag"
- size="small"
- @click="showInput"
- >+ 鏂板鏍囩</el-button
- >
- </div></el-col
- >
- </el-row>
+ <div class="headlines">
+ <div>鍩虹淇℃伅</div>
+ <el-button type="primary" @click="savefile">淇濆瓨鎮h�呮。妗�</el-button>
</div>
- </div>
- <div class="top-message">
- <div class="headline">鐥呭彶</div>
<div class="detailed">
- <el-form ref="form" :model="form" :rules="rules" label-width="100px">
- <el-row>
- <el-col :span="8">
- <el-form-item label="杩囧線鐤剧梾" prop="name">
+ <el-form
+ ref="userform"
+ :model="userform"
+ :rules="rules"
+ label-width="100px"
+ >
+ <el-row :gutter="20">
+ <el-col :span="12">
+ <el-form-item label="鎮h�呭鍚�" prop="name">
<el-input
- v-model="form.name"
- placeholder="璇疯緭鍏�"
+ v-model="userform.name"
+ placeholder="璇疯緭鍏ュ鍚�"
maxlength="30"
- />
- </el-form-item>
- </el-col>
- <el-col :span="8">
- <el-form-item label="鑽墿杩囨晱" prop="sex">
+ disabled
+ ></el-input> </el-form-item
+ ></el-col>
+ </el-row>
+ <el-row :gutter="20">
+ <el-col :span="12"
+ ><el-form-item label="鑱旂郴鏂瑰紡" prop="telcode">
<el-input
- v-model="form.name"
- placeholder="璇疯緭鍏ュ叿浣撹嵂鐗�/鏃�"
+ v-model="userform.telcode"
+ placeholder="璇疯緭鍏ヨ仈绯绘柟寮�"
maxlength="30"
- />
- </el-form-item>
- </el-col>
- <el-col :span="8">
- <el-form-item label="瀹舵棌鐥呭彶" prop="age">
+ /> </el-form-item
+ ></el-col>
+ <el-col :span="12"
+ ><el-form-item label="棰勭暀鐢佃瘽" prop="reservedPhone">
<el-input
- v-model="form.age"
- placeholder="璇疯緭鍏ュ叿浣撶柧鐥�/鏃�"
+ v-model="userform.reservedPhone"
+ placeholder="璇疯緭鍏ラ鐣欑數璇�"
maxlength="30"
- />
+ /> </el-form-item
+ ></el-col>
+ </el-row>
+ <el-row :gutter="20">
+ <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-col :span="24">
+ <el-form-item label="鏍囩" prop="desc">
+ <div class="xinz-inf">
+ <el-tag
+ :key="tag.tagname"
+ type="success"
+ v-for="tag in dynamicTags"
+ v-if="tag.isoperation != 3"
+ closable
+ :disable-transitions="false"
+ @close="handleClose(tag)"
+ >
+ {{ tag.tagname }}
+ </el-tag>
+ <el-select
+ v-if="inputVisible"
+ v-model="inputValue"
+ @change="handleInputConfirm"
+ filterable
+ remote
+ :remote-method="remoteMethod"
+ allow-create
+ default-first-option
+ placeholder="璇烽�夋嫨/鏌ヨ"
+ >
+ <el-option
+ v-for="item in options"
+ :key="item.tagid"
+ :label="item.tagname"
+ :value="item.tagname"
+ >
+ </el-option>
+ </el-select>
+
+ <el-button
+ v-else
+ class="button-new-tag"
+ size="small"
+ @click="showInput"
+ >+ 鏂板鏍囩</el-button
+ >
+ </div>
</el-form-item>
</el-col>
</el-row>
+ </el-form>
+ </div>
+ </div>
+ <div class="top-message">
+ <div class="headline">鏂扮敓鍎跨梾鍙�</div>
+ <div class="detailed">
+ <el-form :model="form" label-width="100px">
<el-row>
- <el-col :span="8">
- <el-form-item label="鎵嬫湳鍙�" prop="name">
+ <el-col :span="12">
+ <el-form-item label="姣嶇敓鑲插彶" prop="procreate">
<el-input
- v-model="form.name"
- placeholder="璇疯緭鍏ユ墜鏈�/鏃�"
- maxlength="30"
- />
- </el-form-item>
- </el-col>
- <el-col :span="8">
- <el-form-item label="鐢熻偛鍙�" prop="age">
- <el-input
- v-model="form.age"
+ v-model="form.procreate"
placeholder="璇疯緭鍏ヨ儙鏁�/鏃�"
maxlength="30"
/>
</el-form-item>
</el-col>
- <el-col :span="8">
- <el-form-item label="鏈堢粡鍙�" prop="telcode">
- <el-radio-group v-model="form.radio">
- <el-radio :label="1">鏈�</el-radio>
- <el-radio :label="2">鏃�</el-radio>
- </el-radio-group>
- </el-form-item>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="8">
- <el-form-item label="鍚哥儫鎯呭喌" prop="iccardtype">
- <el-radio-group v-model="form.radio">
- <el-radio :label="1">鏈�</el-radio>
- <el-radio :label="2">鏃�</el-radio>
- </el-radio-group>
- </el-form-item>
- </el-col>
- <el-col :span="8">
- <el-form-item label="楗厭鎯呭喌" prop="iccardno">
- <el-radio-group v-model="form.radios">
- <el-radio :label="1">鏈�</el-radio>
- <el-radio :label="2">鏃�</el-radio>
- </el-radio-group>
- </el-form-item>
- </el-col>
- <el-col :span="8">
- <el-form-item label="杩愬姩鎯呭喌" prop="iccardno">
- <el-radio-group v-model="form.radiosa">
- <el-radio :label="1">鏈�</el-radio>
- <el-radio :label="2">鏃�</el-radio>
- </el-radio-group>
+ <el-col :span="12">
+ <el-form-item label="姣嶅濞犳湡鐤剧梾鍙�" prop="gestationIllnesses">
+ <el-input
+ v-model="form.gestationIllnesses"
+ placeholder="璇疯緭鍏�"
+ maxlength="30"
+ />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
- <el-form-item label="楗鎯呭喌" prop="iccardno">
- <el-radio-group v-model="form.radiosa">
- <el-radio :label="1">澶氬害楗</el-radio>
- <el-radio :label="2">姝e父楗</el-radio>
- <el-radio :label="2">椋熸涓嶆尟</el-radio>
- </el-radio-group>
- </el-form-item> </el-col
- ><el-col :span="12">
- <el-form-item label="蹇冪悊鎯呭喌" prop="iccardno">
- <el-radio-group v-model="form.radiosa">
- <el-radio :label="1">蹇冩儏鎰夋偊</el-radio>
- <el-radio :label="2">杞诲井鐒﹁檻</el-radio>
- <el-radio :label="2">鎶戦儊</el-radio>
+ <el-form-item label="鍑虹敓鑳庨緞" prop="birthAge">
+ <el-input
+ v-model="form.birthAge"
+ placeholder="璇疯緭鍏ヨ儙榫�"
+ maxlength="30"
+ />
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="鍑虹敓浣撻噸" prop="birthWeight">
+ <el-input
+ v-model="form.birthWeight"
+ placeholder="璇疯緭鍏ュ嚭鐢熶綋閲�"
+ maxlength="30"
+ />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="12">
+ <el-form-item label="鍑洪櫌鏃剁籂姝h儙榫�" prop="outCorrectAge">
+ <el-input
+ v-model="form.outCorrectAge"
+ placeholder="璇疯緭鍏�"
+ maxlength="30"
+ />
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="鍑洪櫌鏃朵綋閲�" prop="outWeight">
+ <el-input
+ v-model="form.outWeight"
+ placeholder="璇疯緭鍏�"
+ maxlength="30"
+ />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="12">
+ <el-form-item label="瀹舵棌鐥呭彶" prop="familyHistory">
+ <el-input
+ v-model="form.familyHistory"
+ placeholder="璇疯緭鍏�"
+ maxlength="30"
+ />
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="杩囨晱鍙�" prop="allergy">
+ <el-input
+ v-model="form.allergy"
+ placeholder="璇疯緭鍏�"
+ maxlength="30"
+ />
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="24">
+ <el-form-item label="鎵嬫湳鍙�" prop="surgicalHistory">
+ <el-input
+ type="textarea"
+ :rows="2"
+ placeholder="璇疯緭鍏�"
+ v-model="form.surgicalHistory"
+ >
+ </el-input>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row>
+ <el-col :span="24">
+ <el-form-item label="鍠傚吇鎯呭喌" prop="feed">
+ <el-radio-group v-model="form.feed">
+ <el-radio label="姣嶄钩">姣嶄钩</el-radio>
+ <el-radio label="閰嶆柟濂�">閰嶆柟濂�</el-radio>
+ <el-radio label="鏃╅鍎垮ザ">鏃╅鍎垮ザ</el-radio>
+ <el-radio label="钄煎効鑸�">钄煎効鑸�</el-radio>
+ <el-radio label="MCT濂�">MCT濂�</el-radio>
+ <el-radio label="鍏跺畠鐗规畩濂剁矇">鍏跺畠鐗规畩濂剁矇</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
@@ -281,20 +332,22 @@
<!-- 鑱旂郴鐢佃瘽 -->
<div class="bottom-message">
<div class="headline">
- 鍙风爜缁存姢
- <el-button type="primary" @click="AddanumberVisible = true"
- >+鏂板</el-button
- >
+ 浜插睘鍙风爜缁存姢<span style="margin-right: 60px"> </span>
+ <el-button type="primary" @click="addcompiletb">+鏂板</el-button>
</div>
<div class="Table-screen">
- <el-table :data="tableData" style="width: 100%">
+ <el-table
+ :data="tableData"
+ style="width: 100%"
+ :row-class-name="tableRowClassName"
+ >
<el-table-column prop="id" label="搴忓彿" width="180">
</el-table-column>
- <el-table-column prop="name" label="濮撳悕" width="180">
+ <el-table-column prop="contactname" label="濮撳悕" width="180">
</el-table-column>
- <el-table-column prop="phonenumber" label="鑱旂郴鏂瑰紡" width="180">
+ <el-table-column prop="contactway" label="鑱旂郴鏂瑰紡" width="180">
</el-table-column>
- <el-table-column prop="concern" label="鍏崇郴"> </el-table-column>
+ <el-table-column prop="relation" label="鍏崇郴"> </el-table-column>
<el-table-column
label-class-name="columcz"
fixed="right"
@@ -302,11 +355,22 @@
width="300"
>
<template slot-scope="scope">
- <el-button type="success" size="small"
+ <el-button
+ type="success"
+ size="small"
+ @click="defaulttb(scope.row)"
>璁句负榛樿鑱旂郴鏂瑰紡</el-button
>
- <el-button type="warning" size="small">缂栬緫</el-button>
- <el-button type="danger" size="small">鍒犻櫎</el-button>
+ <el-button
+ @click="compiletb(scope.row)"
+ type="warning"
+ size="small"
+ >缂栬緫</el-button
+ >
+
+ <el-button @click="deltb(scope.row)" type="danger" size="small"
+ >鍒犻櫎</el-button
+ >
</template>
</el-table-column>
</el-table>
@@ -318,24 +382,83 @@
<!-- 闂ㄨ瘖 -->
<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="admitdate"
+ prop="admitdate"
+ width="160"
+ >
+ <template slot-scope="scope">
+ <span>{{ formatTime(scope.row.admitdate) }}</span>
+ </template>
</el-table-column>
- <el-table-column prop="administrative" label="灏辫瘖绉戝" width="180">
- </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>
+ <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="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="璐d换鎶ゅ+"
+ align="center"
+ key="nurseName"
+ prop="nurseName"
+ width="120"
+ /> -->
+ </el-table>
<pagination
v-show="total > 0"
:total="total"
@@ -346,41 +469,155 @@
</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-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 :data="serviceDatary" style="width: 100%">
+ <el-table-column
+ label="浣忛櫌鍙�"
+ align="center"
+ key="patno"
+ prop="patno"
+ width="180"
+ />
+ <el-table-column
+ label="濮撳悕"
+ 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="璐d换鎶ゅ+"
+ align="center"
+ 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="serviceData" 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%">
+ <el-table-column
+ label="浣忛櫌鍙�"
+ align="center"
+ key="patno"
+ prop="patno"
+ width="120"
+ />
+ <el-table-column
+ label="濮撳悕"
+ 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="璐d换鎶ゅ+"
+ align="center"
+ key="nurseName"
+ prop="nurseName"
+ width="120"
+ />
+
+ <el-table-column
+ label="搴婁綅鍙�"
+ align="center"
+ key="bedNo"
+ prop="bedNo"
+ width="120"
+ />
</el-table>
</div>
</div>
@@ -401,23 +638,38 @@
border-left: 4px solid rgb(190, 65, 134);
"
>
- {{ item.name }}
+ <span v-if="item.serviceType == 2">鍑洪櫌闅忚</span>
+ <span v-if="item.serviceType == 1">鐩戞祴璇勪及</span>
+ <span v-if="item.serviceType == 3">闂ㄨ瘖闅忚</span>
+ <span v-if="item.serviceType == 4">瀹f暀鍏虫��</span>
</div>
<el-divider></el-divider>
<div style="margin-top: 10px">
- 闅忚鐘舵�侊細宸茬粓姝�<span style="color: #2775b6"
- >锛堢粓姝㈠師鍥狅細鎮h�呯棅鎰堝洖璁跨粨鏉燂紝缁堟鏃堕棿锛�2023-12-18 12:00锛�</span
- >
+ 鏈嶅姟鍚嶇О锛�<span style="color: #2775b6">{{
+ item.templatename
+ }}</span>
</div>
<div style="margin-top: 10px">
- 闅忚鍙戦�佹椂闂达細<span style="color: #2775b6">2023-11-23 12:00</span>
+ 鍒涘缓鏃堕棿锛�<span style="color: #2775b6">{{ item.createTime }}</span>
</div>
<div style="margin-top: 10px">
- 闅忚瀹屾垚鏃堕棿锛�<span style="color: #2775b6">2023-12-18 12:00</span>
+ 瀹屾垚鏃堕棿锛�<span style="color: #2775b6">{{ item.finishtime }}</span>
</div>
<div style="margin-top: 10px">
- 鐤肩棝绋嬪害锛�<span style="color: #2775b6">涓害</span>
+ <el-row :gutter="20">
+ <el-col :span="12"
+ >绉戝锛�
+ <span style="color: #2775b6">{{ item.deptname }}</span></el-col
+ >
+ <el-col :span="12"
+ >鐥呭尯锛�
+ <span style="color: #2775b6">{{
+ item.leavehospitaldistrictname
+ }}</span></el-col
+ >
+ </el-row>
</div>
+
<div
style="
font-size: 20px;
@@ -426,35 +678,39 @@
border-left: 4px solid rgb(65, 161, 190);
"
>
- 浜哄伐闅忚璁板綍
+ 浜哄伐璁板綍
</div>
<div style="margin-top: 10px">
<el-row :gutter="20">
<el-col :span="6"
- >闅忚鏃ユ湡锛�
- <span style="color: #2775b6">2023-11-22 11:22</span></el-col
+ >璐熻矗浜猴細
+ <span style="color: #2775b6">{{ item.createBy }}</span></el-col
>
<el-col :span="6"
- >闅忚浜猴細 <span style="color: #2775b6">鍚村皬榫�</span></el-col
+ >涓绘不鍖荤敓锛�
+ <span style="color: #2775b6">{{ item.drname }}</span></el-col
>
<el-col :span="6"
- >鎮h�呴厤鍚堝害锛� <span style="color: #2775b6">楂�</span></el-col
+ >璐d换鎶ゅ+
+ <span style="color: #2775b6">{{ item.nurseName }}</span></el-col
>
</el-row>
</div>
<div style="margin-top: 10px">
- 闅忚缁撴灉锛� <span style="color: #2775b6">鎮h�呯棅鎰堬紝韬綋鍊嶆</span>
+ 缁撴灉鐘舵�侊細
+ <span style="color: #2775b6" v-if="item.excep == 0">鏈嶅姟姝e父</span>
+ <span style="color: #b55e54" v-if="item.excep == 1">寮傚父</span>
</div>
- <div style="margin-top: 10px">
- 闅忚澶囨敞锛� <span style="color: #2775b6">鎻愰啋娉ㄦ剰楗鍋ュ悍</span>
- </div>
+ <!-- <div style="margin-top: 10px">
+ 澶囨敞锛�
+ <span style="color: #2775b6">鎻愰啋娉ㄦ剰楗鍋ュ悍</span>
+ </div> -->
</el-card>
</div>
</div>
<!-- 鍋ュ悍鐩戞祴 -->
<div class="medical-record" v-show="activeName == 'monitor'">
- <!-- 琛�鍘嬪浘鏍� -->
- <div v-show="sontwoactiveName == 'blood'" style="display: flex">
+ <!-- <div v-show="sontwoactiveName == 'blood'" style="display: flex">
<div
id="xyeCharts"
class="sontwoactiveName"
@@ -470,9 +726,8 @@
/>
</el-card>
</div>
- </div>
- <!-- 琛�绯� -->
- <div v-show="sontwoactiveName == 'glucose'" style="display: flex">
+ </div> -->
+ <!-- <div v-show="sontwoactiveName == 'glucose'" style="display: flex">
<div
id="xteCharts"
class="sontwoactiveName"
@@ -488,8 +743,7 @@
/>
</el-card>
</div>
- </div>
- <!-- 浣撻噸 -->
+ </div> -->
<div v-show="sontwoactiveName == 'weight'" style="display: flex">
<div
id="tzeCharts"
@@ -498,17 +752,20 @@
></div>
<div style="width: 400px">
<el-card class="box-card">
+ <el-button @click="borninfoVisible = true" type="success" round
+ >娣诲姞鏁版嵁</el-button
+ >
<SFtable
- :currentList="tableDatalist"
+ :currentList="borninfooptions"
:tableLabel="tableLabeltz"
+ :serialnumber="false"
:center="false"
:multiplechoice="false"
/>
</el-card>
</div>
</div>
- <!-- 蹇冪巼 -->
- <div v-show="sontwoactiveName == 'heartrate'" style="display: flex">
+ <!-- <div v-show="sontwoactiveName == 'heartrate'" style="display: flex">
<div
id="xleCharts"
class="sontwoactiveName"
@@ -524,9 +781,8 @@
/>
</el-card>
</div>
- </div>
- <!-- 琛�姘� -->
- <div v-show="sontwoactiveName == 'bloodoxygen'" style="display: flex">
+ </div> -->
+ <!-- <div v-show="sontwoactiveName == 'bloodoxygen'" style="display: flex">
<div
id="xueyangeCharts"
class="sontwoactiveName"
@@ -542,9 +798,8 @@
/>
</el-card>
</div>
- </div>
- <!-- 浣撴俯 -->
- <div v-show="sontwoactiveName == 'animalheat'" style="display: flex">
+ </div> -->
+ <!-- <div v-show="sontwoactiveName == 'animalheat'" style="display: flex">
<div
id="tweCharts"
class="sontwoactiveName"
@@ -560,24 +815,66 @@
/>
</el-card>
</div>
- </div>
+ </div> -->
</div>
- <el-dialog title="鏂板鑱旂郴鏂瑰紡" :visible.sync="AddanumberVisible">
+ <el-dialog :title="titletb" :visible.sync="AddanumberVisible">
<el-form :model="numberform" label-width="100px">
<el-form-item label="濮撳悕">
- <el-input v-model="numberform.name"></el-input>
+ <el-input v-model="numberform.contactname"></el-input>
</el-form-item>
<el-form-item label="鑱旂郴鐢佃瘽">
- <el-input v-model="numberform.name"></el-input>
+ <el-input v-model="numberform.telcode"></el-input>
</el-form-item>
<el-form-item label="鍏崇郴">
- <el-input v-model="numberform.name"></el-input>
+ <el-input v-model="numberform.relation"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="AddanumberVisible = false">鍙� 娑�</el-button>
- <el-button type="primary" @click="Addanumber">纭� 瀹�</el-button>
+ <el-button type="primary" @click="archivecontact">纭� 瀹�</el-button>
+ </div>
+ </el-dialog>
+ <el-dialog title="鏂扮敓鍎挎暟鎹柊澧�" :visible.sync="borninfoVisible">
+ <el-form
+ :rules="borninforules"
+ ref="borninfoform"
+ :model="borninfoform"
+ label-width="120px"
+ >
+ <!-- 韬珮 -->
+ <el-form-item label="韬珮(cm)" prop="height">
+ <el-input
+ v-model.number="borninfoform.height"
+ autocomplete="off"
+ placeholder="璇疯緭鍏ヨ韩楂橈紙30-120cm锛�"
+ >
+ </el-input>
+ </el-form-item>
+
+ <!-- 澶村洿 -->
+ <el-form-item label="澶村洿(cm)" prop="headCir">
+ <el-input
+ v-model.number="borninfoform.headCir"
+ autocomplete="off"
+ placeholder="璇疯緭鍏ュご鍥达紙20-60cm锛�"
+ >
+ </el-input>
+ </el-form-item>
+
+ <!-- 鑳庨緞 -->
+ <el-form-item label="鑳庨緞锛堝懆锛�" prop="age">
+ <el-input
+ v-model.number="borninfoform.age"
+ autocomplete="off"
+ placeholder="璇疯緭鍏ヨ儙榫�"
+ >
+ </el-input>
+ </el-form-item>
+ </el-form>
+ <div slot="footer" class="dialog-footer">
+ <el-button @click="borninfoVisible = false">鍙� 娑�</el-button>
+ <el-button type="primary" @click="newborninfoadd">纭� 瀹�</el-button>
</div>
</el-dialog>
</div>
@@ -589,16 +886,35 @@
import resetPwd from "./resetPwd";
import * as echarts from "echarts";
import SFtable from "@/components/SFtable"; //琛ㄦ牸缁勪欢
+import { listtag } from "@/api/system/label";
+import {
+ messagelistpatient,
+ addmedicalhistory,
+ getmedicalhistory,
+ editmedicalhistory,
+ addcontactinformation,
+ editcontactinformation,
+ getcontactinformation,
+ delcontactinformation,
+ listcontactinformation,
+ alterpatient,
+ Patientclinic,
+} from "@/api/patient/homepage";
-import { getUserProfile } from "@/api/system/user";
-import { listJob } from "@/api/monitor/job"; //鑾峰彇鍒楄〃鎺ュ彛寰呭畾
+import { getsearchrResults, getTaskservelist } from "@/api/AiCentre/index";
+import {
+ listPatouthosp,
+ newborninfoadd,
+ newborninfolist,
+} from "@/api/smartor/patouthosp";
+import { listpatient } from "@/api/patient/record";
export default {
name: "Profile",
components: { userAvatar, userInfo, resetPwd, SFtable },
data() {
return {
- user: {},
+ userform: {},
roleGroup: {},
postGroup: {},
form: {},
@@ -609,22 +925,100 @@
tjnumber: 12,
yynumber: 12,
total: 0, // 鎬绘潯鏁�
+ borninfoVisible: false,
+ titletb: "鏂板鑱旂郴鏂瑰紡",
activeTab: "userinfo",
+ id: "",
+ loading: false,
activeName: "health", //涓�绫诲鑸�
- sonactiveName: "outpatient", //鍋ュ悍鐩戞祴瀵艰埅
- sontwoactiveName: "blood", //鍖荤枟妗f瀵艰埅
- dynamicTags: ["鏍囩涓�", "鏍囩浜�", "鏍囩涓�"],
+ sonactiveName: "inhospital", //鍋ュ悍鐩戞祴瀵艰埅
+ sontwoactiveName: "weight", //鍖荤枟妗f瀵艰埅
+ dynamicTags: [],
+ borninforules: {
+ height: [
+ { required: true, message: "韬珮涓嶈兘涓虹┖", trigger: "blur" },
+ {
+ type: "number",
+ message: "蹇呴』涓烘暟瀛楀��",
+ trigger: "blur",
+ },
+ {
+ validator: (rule, value, callback) => {
+ // 鏂扮敓鍎胯韩楂樹竴鑸寖鍥达細30-120cm
+ if (value < 30 || value > 120) {
+ callback(new Error("璇疯緭鍏�30-120cm涔嬮棿鐨勫悎鐞嗚韩楂樺��"));
+ } else if (!/^[0-9]+(\.[0-9]{1})?$/.test(value)) {
+ callback(new Error("鏈�澶氫繚鐣欎竴浣嶅皬鏁�"));
+ } else {
+ callback();
+ }
+ },
+ trigger: "blur",
+ },
+ ],
+ headCir: [
+ { required: true, message: "澶村洿涓嶈兘涓虹┖", trigger: "blur" },
+ { type: "number", message: "蹇呴』涓烘暟瀛楀��" },
+ {
+ validator: (rule, value, callback) => {
+ // 鏂扮敓鍎垮ご鍥翠竴鑸寖鍥达細20-60cm
+ if (value < 20 || value > 60) {
+ callback(new Error("璇疯緭鍏�20-60cm涔嬮棿鐨勫悎鐞嗗ご鍥村��"));
+ } else {
+ callback();
+ }
+ },
+ trigger: "blur",
+ },
+ ],
+ age: [
+ { required: true, message: "鑳庨緞涓嶈兘涓虹┖", trigger: "blur" },
+ { type: "integer", message: "蹇呴』涓烘暣鏁板懆鏁�" },
+ {
+ validator: (rule, value, callback) => {
+ // 妫�鏌ユ槸鍚﹀凡瀛樺湪璇ュ懆鏁版暟鎹�
+ if (this.checkAgeExists(value)) {
+ callback(new Error("璇ュ懆鏁版暟鎹凡瀛樺湪锛岃鍕块噸澶嶆坊鍔�"));
+ } else {
+ callback();
+ }
+ },
+ trigger: "blur",
+ },
+ ],
+ },
record: [
{
name: "瀹f暀浠诲姟",
+ serviceType: "4",
+ templatename: "绠¢ゲ瀹f暀涓�鏈�",
+ 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: "闂嵎璋冩煡",
+ // },
],
+ borninfoform: {},
inputVisible: false,
AddanumberVisible: false,
inputValue: "",
@@ -640,28 +1034,7 @@
echartdom: {},
xtechartdom: {},
tzechartdom: {},
- tableData: [
- {
- date: "2016-05-02",
- name: "鐜嬪皬铏�",
- address: "涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1518 寮�",
- },
- {
- date: "2016-05-04",
- name: "鐜嬪皬铏�",
- address: "涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1517 寮�",
- },
- {
- date: "2016-05-01",
- name: "鐜嬪皬铏�",
- address: "涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1519 寮�",
- },
- {
- date: "2016-05-03",
- name: "鐜嬪皬铏�",
- address: "涓婃捣甯傛櫘闄�鍖洪噾娌欐睙璺� 1516 寮�",
- },
- ],
+ tableData: [],
tableDatalist: [
{
id: 12,
@@ -682,15 +1055,9 @@
address: "89",
},
],
- serviceData: [
- {
- daya: "2023-12-12",
- hospitalname: "鍗忓拰",
- result: "闊у甫鎷変激",
- administrative: "楠ㄧ",
- doctor: "鍚村ぇ榫�",
- },
- ],
+ serviceData: [],
+ serviceDatary: [],
+ serviceDatacy: [],
options: [
{
value: "1",
@@ -709,6 +1076,7 @@
label: "浣撴",
},
],
+ borninfooptions: [],
tableLabelxy: [
{ label: "娴嬮噺鏃堕棿", width: "", prop: "name" },
{ label: "鏀剁缉鍘�", width: "", prop: "sex" },
@@ -720,10 +1088,9 @@
{ label: "鑸掑紶鍘�", width: "", prop: "age" },
],
tableLabeltz: [
- { label: "娴嬮噺鏃堕棿", width: "", prop: "name" },
- { label: "韬珮", width: "", prop: "sex" },
- { label: "浣撻噸", width: "", prop: "age" },
- { label: "BMI鎸囨暟", width: "", prop: "update_by" },
+ { label: "璐d换鍖荤敓", width: "", prop: "doctor" },
+ { label: "韬珮", width: "", prop: "height" },
+ { label: "澶村洿", width: "", prop: "headCir" },
],
tableLabelxl: [
{ label: "娴嬮噺鏃堕棿", width: "", prop: "name" },
@@ -737,59 +1104,365 @@
{ label: "娴嬮噺鏃堕棿", width: "", prop: "name" },
{ label: "浣撴俯", width: "", prop: "sex" },
],
+ // 琛ㄥ崟鏍¢獙
+ rules: {
+ name: [
+ { required: true, message: "鐢ㄦ埛鍚嶇О涓嶈兘涓虹┖", trigger: "blur" },
+ {
+ min: 2,
+ max: 20,
+ message: "鐢ㄦ埛鍚嶇О闀垮害蹇呴』浠嬩簬 2 鍜� 20 涔嬮棿",
+ trigger: "blur",
+ },
+ ],
+
+ sex: [{ required: true, message: "鎬у埆涓嶈兘涓虹┖", trigger: "blur" }],
+ age: [{ required: true, message: "骞撮緞涓嶈兘涓虹┖", trigger: "blur" }],
+ nation: [{ required: true, message: "姘戞棌涓嶈兘涓虹┖", trigger: "blur" }],
+ telcode: [
+ { required: true, message: "鑱旂郴鏂瑰紡涓嶈兘涓虹┖", trigger: "blur" },
+ {
+ pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/,
+ message: "璇疯緭鍏ユ纭殑鎵嬫満鍙风爜",
+ trigger: "blur",
+ },
+ ],
+ idcardtype: [
+ { required: true, message: "璇佷欢绫诲瀷涓嶈兘涓虹┖", trigger: "blur" },
+ ],
+ idcardno: [
+ { required: true, message: "璇佷欢鍙疯兘涓虹┖", trigger: "blur" },
+ ],
+ placeOfResidence: [
+ { required: true, message: "灞呬綇鍦颁笉鑳戒负绌�", trigger: "blur" },
+ ],
+ },
};
},
created() {
- this.$nextTick(function () {
- this.echartdom = document.getElementById("xyeCharts");
- this.xtechartdom = document.getElementById("xteCharts");
- this.tzechartdom = document.getElementById("tzeCharts");
- this.xlechartdom = document.getElementById("xleCharts");
- this.xueyangechartdom = document.getElementById("xueyangeCharts");
- this.twechartdom = document.getElementById("tweCharts");
-
- this.echartsInit();
- this.xtechartsInit();
- this.tzechartsInit();
- this.xlechartsInit();
- this.xueyangechartsInit();
- this.twechartsInit();
- });
- this.getList();
+ this.id = this.$route.query.id;
+ this.getuserinfo();
+ this.gettabList();
},
- methods() {},
methods: {
- // 鏌ヨ鍒楄〃
- getList() {
+ // 鏌ヨ鍖荤枟妗f鍚勫垪琛ㄤ俊鎭�
+ getList(type) {
this.loading = true;
- listJob(this.queryParams).then((response) => {
- this.jobList = 1;
- this.total = 1;
- this.loading = false;
+ if (type == 0) {
+ // 闂ㄨ瘖璁板綍
+ listPatouthosp({ patid: this.id }).then((response) => {
+ if (response.code == 200) {
+ // this.serviceData = response.rows;
+ this.serviceData = [];
+ }
+ });
+ } else if (type == 1) {
+ listpatient({ patid: this.id, cry: 0 }).then((response) => {
+ if (response.code == 200) {
+ this.serviceDatary = response.rows;
+ }
+ });
+ } else if (type == 2) {
+ listpatient({ patid: this.id, cry: 1 }).then((response) => {
+ if (response.code == 200) {
+ this.serviceDatacy = response.rows;
+ console.log(this.serviceDatacy);
+ this.$forceUpdate();
+ }
+ });
+ }
+ },
+ checkAgeExists(newAge) {
+ // 鍋囪宸叉湁鏁版嵁瀛樺偍鍦� this.existingData 涓�
+ return this.borninfooptions.some((item) => item.age === parseInt(newAge));
+ },
+ getcontactlist() {
+ listcontactinformation({ patid: this.id }).then((response) => {
+ this.tableData = response.rows;
});
},
+ processElement(element) {
+ return { ...element, isoperation: null };
+ },
+ // 鑾峰彇鍩虹淇℃伅
+ getuserinfo() {
+ const queryParams = {
+ patid: Number(this.id),
+ allhosp: "0",
+ pageNum: 1,
+ };
+ // 鎮h�呭熀纭�淇℃伅
+ messagelistpatient(queryParams).then((response) => {
+ 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({ patid: this.id }).then((res) => {
+ if (res.code == 200 && res.rows[0]) {
+ this.form = res.rows[0];
+ }
+ });
+ // 鑱旂郴淇℃伅
+ this.getcontactlist();
+ },
+ // 淇濆瓨鎮h�呮。妗�
+ savefile() {
+ this.$refs["userform"].validate((valid) => {
+ if (valid) {
+ this.userform.isoperation = 2;
+ this.userform.tagList = this.dynamicTags;
+ alterpatient(this.userform).then((res) => {
+ if (res.code == 200) {
+ this.$modal.msgSuccess("鍩虹淇℃伅淇濆瓨鎴愬姛");
+ } else {
+ this.$modal.msgError("鍩虹淇℃伅淇敼澶辫触");
+ }
+ });
+ // 鐥呭彶
+ this.medicalhistory();
+ }
+ });
+ },
+ // 鐥呭彶
+ medicalhistory() {
+ if (this.form.id) {
+ editmedicalhistory(this.form).then((res) => {
+ if (res.code == 200) {
+ this.$modal.msgSuccess("鐥呭彶淇濆瓨鎴愬姛");
+ } else {
+ this.$modal.msgError("鐥呭彶淇敼澶辫触");
+ }
+ });
+ } else {
+ this.form.patid = this.id;
+ addmedicalhistory(this.form).then((res) => {
+ if (res.code == 200) {
+ this.$modal.msgSuccess("鐥呭彶淇濆瓨鎴愬姛");
+ } else {
+ this.$modal.msgError("鐥呭彶淇敼澶辫触");
+ }
+ });
+ }
+ },
+ // 鑱旂郴鏂瑰紡---------------
+ archivecontact() {
+ if (this.numberform.id) {
+ editcontactinformation(this.numberform).then((res) => {
+ if (res.code == 200) {
+ this.$modal.msgSuccess("鑱旂郴鏂瑰紡淇敼鎴愬姛");
+ this.getcontactlist();
+ this.AddanumberVisible = false;
+ } else {
+ this.$modal.msgError("鑱旂郴鏂瑰紡淇敼澶辫触");
+ }
+ });
+ } else {
+ this.numberform.patid = this.id;
+ addcontactinformation(this.numberform).then((res) => {
+ if (res.code == 200) {
+ this.$modal.msgSuccess("鑱旂郴鏂瑰紡鏂板鎴愬姛");
+ this.getcontactlist();
+ this.AddanumberVisible = false;
+ } else {
+ this.$modal.msgError("鑱旂郴鏂瑰紡鏂板澶辫触");
+ }
+ });
+ }
+ this.numberform = {};
+ },
+ deltb(row) {
+ this.$modal
+ .confirm("鏄惁纭鍒犻櫎璇ユ暟鎹」锛�")
+ .then(() => {
+ if (row.id) {
+ delcontactinformation(row.id).then((res) => {
+ if (res.code == 200) {
+ this.$modal.msgSuccess("鑱旂郴鏂瑰紡鍒犻櫎鎴愬姛");
+ this.getcontactlist();
+ } else {
+ this.$modal.msgError("鑱旂郴鏂瑰紡鍒犻櫎澶辫触");
+ }
+ });
+ } else {
+ let index = this.tableData.indexOf(obj);
+ this.tableData.splice(index, 1);
+ }
+ this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+ })
+ .catch(() => {});
+ },
+ addcompiletb() {
+ this.titletb = "鏂板鑱旂郴鏂瑰紡";
+ this.AddanumberVisible = true;
+ },
+ compiletb(row) {
+ this.numberform = row;
+ this.titletb = "淇敼鑱旂郴鏂瑰紡";
+ this.AddanumberVisible = true;
+ },
+ defaulttb(row) {
+ this.$modal
+ .confirm("鏄惁纭璁剧疆璇ユ暟鎹」涓洪粯璁よ仈绯讳汉锛�")
+ .then(() => {
+ this.tableData.forEach((obj, index) => {
+ if (obj === row) {
+ obj.isdefault = 1;
+ this.numberform = obj;
+ this.archivecontact();
+ } else if (obj.isdefault == 1) {
+ obj.isdefault = 0;
+ this.numberform = obj;
+ this.archivecontact();
+ } else {
+ obj.isdefault = 0;
+ }
+ });
+ this.$modal.msgSuccess("璁剧疆鎴愬姛");
+ })
+ .catch(() => {});
+ },
+ tableRowClassName({ row, rowIndex }) {
+ if (row.isdefault == "1") {
+ return "warning-row";
+ }
+ return "";
+ },
+ // tab鍒囨崲
handleClick(tab, event) {
- console.log(tab, event);
+ if (tab.index == "1") {
+ this.getList(1);
+ } else if (tab.index == "2") {
+ this.newcharts();
+ } else if (tab.index == "3") {
+ this.handleClickfw();
+ }
+ },
+ handleClickson(tab, event) {
+ console.log(tab, "son");
+ this.getList(tab.index);
+ },
+ // 鏌ヨ鏈嶅姟璁板綍
+ handleClickfw() {
+ getTaskservelist({
+ patid: this.id,
+ }).then((res) => {
+ if (res.code == 200) {
+ this.record = res.rows[0].serviceSubtaskList;
+ }
+ });
},
// 鑱旂郴鏂瑰紡鏂板
Addanumber() {},
+ // 鏍囩--------------------------
+ /** 鏌ヨ鏍囩鍒楄〃 */
+ gettabList() {
+ const tagqueryParams = {
+ pageNum: 1,
+ pageSize: 10000,
+ tagcategoryid: "0",
+ };
+ listtag(tagqueryParams).then((response) => {
+ this.options = response.rows;
+
+ console.log(this.options, "鏍囩");
+ });
+ },
+ newcharts() {
+ this.$nextTick(function () {
+ // this.echartdom = document.getElementById("xyeCharts");
+ // this.xtechartdom = document.getElementById("xteCharts");
+ this.tzechartdom = document.getElementById("tzeCharts");
+ // this.xlechartdom = document.getElementById("xleCharts");
+ // this.xueyangechartdom = document.getElementById("xueyangeCharts");
+ // this.twechartdom = document.getElementById("tweCharts");
+
+ // this.echartsInit();
+ // this.xtechartsInit();
+ this.tzechartsInit();
+ // this.xlechartsInit();
+ // this.xueyangechartsInit();
+ // this.twechartsInit();
+ });
+ },
+
+ // 淇濆瓨鎸囨爣鏁版嵁
+ newborninfoadd() {
+ this.$refs["borninfoform"].validate((valid) => {
+ if (valid) {
+ this.borninfoform.patId = this.id;
+ this.borninfoform.sex = this.userform.sex;
+ newborninfoadd(this.borninfoform).then((res) => {
+ if (res.code == 200) {
+ this.$modal.msgSuccess("鏂板鎴愬姛");
+ this.newbornList();
+ this.borninfoVisible = false;
+ } else {
+ this.$modal.msgError("鏂板澶辫触");
+ this.newbornList();
+ this.borninfoVisible = false;
+ }
+ });
+ }
+ });
+ },
+ remoteMethod(value) {
+ console.log("瑙﹀彂");
+
+ const illnessqueryParams = {
+ pageNum: 1,
+ pageSize: 100,
+ tagname: value,
+ tagcategoryid: "0",
+ };
+ this.loading = true;
+ setTimeout(() => {
+ this.loading = false;
+ listtag(illnessqueryParams).then((response) => {
+ this.options = response.rows;
+ });
+ }, 200);
+ },
handleClose(tag) {
- this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1);
+ const lindex = this.dynamicTags.indexOf(tag);
+ // this.dynamicTags.splice(this.dynamicTags.indexOf(tag), 1);
+ this.dynamicTags[lindex].isoperation = 3;
},
showInput() {
this.inputVisible = true;
- this.$nextTick((_) => {
- this.$refs.saveTagInput.$refs.input.focus();
- });
+ console.log("灞曠ず");
},
handleInputConfirm() {
- let inputValue = this.inputValue;
- if (inputValue) {
- this.dynamicTags.push(inputValue);
+ let tagvalue = {};
+ let tagname = this.inputValue;
+ if (tagname) {
+ listtag({
+ pageNum: 1,
+ pageSize: 1000,
+ tagcategoryid: "0",
+ tagname: tagname,
+ }).then((res) => {
+ if (res.rows[0]) {
+ tagvalue = res.rows[0];
+ tagvalue.isoperation = 1;
+ } else {
+ tagvalue = {
+ tagname: tagname,
+ isoperation: 1,
+ };
+ }
+ console.log(tagvalue);
+ // this.userform.tagList.push(tagvalue);
+ this.dynamicTags.push(tagvalue);
+ console.log(this.userform.tagList);
+ console.log(this.dynamicTags);
+ });
}
+ console.log("鍏充簡");
this.inputVisible = false;
this.inputValue = "";
},
@@ -870,10 +1543,8 @@
// 琛�绯栧浘琛�
xtechartsInit() {
// 鍩轰簬鍑嗗濂界殑dom锛屽垵濮嬪寲echarts瀹炰緥
- // console.log(echarts);
- console.log(this.xtechartdom);
+
var myxyChart = echarts.init(this.xtechartdom);
- console.log(myxyChart);
const data = [
["2000-06-05", 116],
["2000-06-06", 129],
@@ -964,74 +1635,183 @@
},
],
};
- console.log("ss");
// 浣跨敤鍒氭寚瀹氱殑閰嶇疆椤瑰拰鏁版嵁鏄剧ず鍥捐〃銆�
myxyChart.setOption(option);
},
- // 浣撻噸鍥捐〃
tzechartsInit() {
- // 鍩轰簬鍑嗗濂界殑dom锛屽垵濮嬪寲echarts瀹炰緥
- console.log(echarts);
- console.log(this.tzechartdom);
- var myxyChart = echarts.init(this.tzechartdom);
- var option = {
- title: {
- text: "浣撻噸鎸囨爣鍥�",
- },
- tooltip: {
- trigger: "axis",
- },
- legend: {
- data: ["韬珮", "浣撻噸", "BMI鎸囨暟"],
- },
- grid: {
- left: "3%",
- right: "4%",
- bottom: "3%",
- containLabel: true,
- },
- toolbox: {
- feature: {
- saveAsImage: {},
- },
- },
- xAxis: {
- type: "category",
- boundaryGap: false,
- data: ["涓�鏈�", "浜屾湀", "涓夋湀", "鍥涙湀", "浜旀湀", "鍏湀", "涓冩湀"],
- },
- yAxis: {
- type: "value",
- },
- series: [
- {
- name: "韬珮",
- type: "line",
- stack: "Total",
- data: [120, 132, 101, 134, 90, 230, 210],
- },
- {
- name: "浣撻噸",
- type: "line",
- stack: "Total",
- data: [220, 182, 191, 234, 290, 330, 310],
- },
+ // 鑾峰彇鏁版嵁闆嗗悎
+ this.newbornList()
+ .then(() => {
+ // 妫�鏌ユ暟鎹湁鏁堟��
+ if (!this.borninfooptions || this.borninfooptions.length === 0) {
+ console.warn("娌℃湁鍙敤鐨勬柊鐢熷効鏁版嵁");
+ return;
+ }
+ // 鎵惧嚭鏈�澶х殑age鍊硷紙纭畾X杞磋寖鍥达級
+ const maxAge = Math.max(
+ ...this.borninfooptions.map((item) => parseInt(item.age) || 0)
+ );
+ if (maxAge <= 0) {
+ console.error("鏃犳晥鐨勫懆鏁版暟鎹�");
+ return;
+ }
- {
- name: "BMI鎸囨暟",
- type: "line",
- stack: "Total",
- data: [320, 332, 301, 334, 390, 330, 320],
- },
- ],
- };
- // 浣跨敤鍒氭寚瀹氱殑閰嶇疆椤瑰拰鏁版嵁鏄剧ず鍥捐〃銆�
- myxyChart.setOption(option);
+ // 鍔ㄦ�佺敓鎴恱Axis鏁版嵁锛堜粠1鍛ㄥ埌鏈�澶у懆锛�
+ const xAxisData = Array.from(
+ { length: maxAge },
+ (_, i) => `${i + 1}鍛╜
+ );
+
+ // 鍒濆鍖栨暟鎹暟缁�
+ const heightData = Array(maxAge).fill(null);
+ const headCirData = Array(maxAge).fill(null);
+
+ // 閬嶅巻鎵�鏈夋暟鎹偣锛屽~鍏呭埌瀵瑰簲浣嶇疆
+ this.borninfooptions.forEach((item) => {
+ try {
+ const age = parseInt(item.age);
+ const height = parseFloat(item.height);
+ const headCir = parseFloat(item.headCir);
+
+ // 纭繚鏁版嵁鏈夋晥涓斿懆鏁板湪鑼冨洿鍐�
+ if (age > 0 && age <= maxAge) {
+ const weekIndex = age - 1;
+ if (!isNaN(height)) heightData[weekIndex] = height;
+ if (!isNaN(headCir)) headCirData[weekIndex] = headCir;
+ }
+ } catch (e) {
+ console.error("鏁版嵁澶勭悊閿欒:", e);
+ }
+ });
+
+ // 鑾峰彇鎮h�呭鍚嶏紙浣跨敤绗竴鏉℃湁鏁堟暟鎹級
+ const patientName = this.borninfooptions[0]?.name || "鏈煡";
+
+ // 鍒濆鍖栧浘琛�
+ const myxyChart = echarts.init(this.tzechartdom);
+ const option = {
+ title: {
+ text: `${patientName}鐢熼暱鍙戣偛鎸囨爣鍥綻,
+ left: "center",
+ },
+ tooltip: {
+ trigger: "axis",
+ formatter: function (params) {
+ let result = params[0].axisValue + "<br/>";
+ params.forEach((item) => {
+ const value = item.value !== null ? item.value : "鏆傛棤鏁版嵁";
+ result += `${item.marker} ${item.seriesName}: ${value}<br/>`;
+ });
+ return result;
+ },
+ },
+ legend: {
+ data: ["韬珮(cm)", "澶村洿(cm)"],
+ bottom: 10,
+ },
+ grid: {
+ left: "3%",
+ right: "4%",
+ bottom: "15%", // 涓哄浘渚嬬暀鍑虹┖闂�
+ containLabel: true,
+ },
+ toolbox: {
+ feature: {
+ saveAsImage: {
+ title: "淇濆瓨鍥剧墖",
+ pixelRatio: 2,
+ },
+ dataView: {
+ title: "鏁版嵁瑙嗗浘",
+ readOnly: true,
+ },
+ },
+ right: 20,
+ },
+ xAxis: {
+ type: "category",
+ boundaryGap: false,
+ data: xAxisData,
+ axisLabel: {
+ interval: 0, // 鏄剧ず鎵�鏈夋爣绛�
+ rotate: 30, // 鏍囩鏃嬭浆闃叉閲嶅彔
+ },
+ },
+ yAxis: {
+ type: "value",
+ axisLabel: {
+ formatter: "{value} cm",
+ },
+ },
+ series: [
+ {
+ name: "韬珮",
+ type: "line",
+ data: heightData,
+ symbol: "circle",
+ symbolSize: 8,
+ itemStyle: {
+ color: "#5470C6",
+ },
+ lineStyle: {
+ width: 3,
+ },
+ connectNulls: true, // 杩炴帴绌哄��
+ },
+ {
+ name: "澶村洿",
+ type: "line",
+ data: headCirData,
+ symbol: "circle",
+ symbolSize: 8,
+ itemStyle: {
+ color: "#91CC75",
+ },
+ lineStyle: {
+ width: 3,
+ },
+ connectNulls: true, // 杩炴帴绌哄��
+ },
+ ],
+ animationDuration: 1000, // 鍔ㄧ敾鏃堕暱
+ };
+
+ // 浣跨敤閰嶇疆椤规樉绀哄浘琛�
+ myxyChart.setOption(option);
+
+ // 绐楀彛澶у皬鍙樺寲鏃堕噸鏂拌皟鏁村浘琛ㄥぇ灏�
+ const resizeHandler = () => myxyChart.resize();
+ window.addEventListener("resize", resizeHandler);
+
+ // 鍦ㄧ粍浠堕攢姣佹椂绉婚櫎浜嬩欢鐩戝惉锛堝鏋滄槸Vue/React缁勪欢锛�
+ this.$once("hook:beforeDestroy", () => {
+ window.removeEventListener("resize", resizeHandler);
+ myxyChart.dispose();
+ });
+ })
+ .catch((error) => {
+ console.error("鍔犺浇鏁版嵁澶辫触:", error);
+ });
+ },
+
+ // 鑾峰彇鏂扮敓鍎挎暟鎹�
+ newbornList() {
+ newborninfolist({ patId: this.id })
+ .then((response) => {
+ this.borninfooptions = response.rows || [];
+ // this.newcharts();
+ console.log("鍔犺浇鐨勬柊鐢熷効鏁版嵁:", this.borninfooptions);
+ // return Promise.resolve();
+ })
+ .catch((error) => {
+ console.error("璇锋眰鏁版嵁澶辫触:", error);
+ this.borninfooptions = [];
+ // return Promise.reject(error);
+ });
},
// 蹇冪巼
xlechartsInit() {
var myxyChart = echarts.init(this.xlechartdom);
- console.log(myxyChart);
const data = [
["2000-06-05", 116],
["2000-06-06", 129],
@@ -1104,7 +1884,6 @@
},
],
};
- console.log("ss");
// 浣跨敤鍒氭寚瀹氱殑閰嶇疆椤瑰拰鏁版嵁鏄剧ず鍥捐〃銆�
myxyChart.setOption(option);
},
@@ -1176,14 +1955,13 @@
},
{
offset: 1,
- color: "#c4d7d6"
+ color: "#c4d7d6",
},
]),
},
},
],
};
- console.log("ss");
// 浣跨敤鍒氭寚瀹氱殑閰嶇疆椤瑰拰鏁版嵁鏄剧ず鍥捐〃銆�
myxyChart.setOption(option);
},
@@ -1195,12 +1973,12 @@
["2000-06-05", 36.8],
["2000-06-06", 36.2],
["2000-06-07", 37.8],
- ["2000-06-08",37.8],
- ["2000-06-09",37.2],
- ["2000-06-10",36.2],
- ["2000-06-11",37.8],
- ["2000-06-12",36.9],
- ["2000-06-13",36.8],
+ ["2000-06-08", 37.8],
+ ["2000-06-09", 37.2],
+ ["2000-06-10", 36.2],
+ ["2000-06-11", 37.8],
+ ["2000-06-12", 36.9],
+ ["2000-06-13", 36.8],
["2000-06-14", 36.4],
["2000-06-15", 37.1],
["2000-06-16", 36.9],
@@ -1210,7 +1988,7 @@
["2000-06-20", 36.6],
["2000-06-21", 36.8],
["2000-06-22", 36.2],
- ["2000-06-23",37.8],
+ ["2000-06-23", 37.8],
];
const dateList = data.map(function (item) {
return item[0];
@@ -1231,7 +2009,7 @@
max: 400,
},
],
-
+
tooltip: {
trigger: "axis",
},
@@ -1249,7 +2027,6 @@
},
],
};
- console.log("ss");
// 浣跨敤鍒氭寚瀹氱殑閰嶇疆椤瑰拰鏁版嵁鏄剧ず鍥捐〃銆�
myxyChart.setOption(option);
},
@@ -1261,7 +2038,7 @@
.personages {
height: 88px;
width: 100%;
- background-color: #2486b9;
+ background-color: #5e86f9;
border-radius: 5px;
padding: 20px;
margin-bottom: 10px;
@@ -1290,7 +2067,7 @@
}
.xinz-inf {
font-size: 18px;
- white-space: nowrap;
+ // white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
@@ -1351,6 +2128,15 @@
margin-bottom: 10px;
border-left: 8px solid rgb(65, 161, 190);
}
+ .headlines {
+ font-size: 25px;
+ display: flex;
+ width: 88%;
+ justify-content: space-between;
+ padding-left: 5px;
+ margin-bottom: 10px;
+ border-left: 8px solid rgb(65, 161, 190);
+ }
.bottom-message {
margin-bottom: 25px;
margin-left: 100px;
@@ -1376,7 +2162,7 @@
.sontwoactiveName {
margin: 0 auto;
}
-// .columcz {
-// align-items: center!important;
-// }
+::v-deep.el-table .warning-row {
+ background: oldlace;
+}
</style>
--
Gitblit v1.9.3