From 3a4602d8286f09ce2f7812dea697995e2a9487cf Mon Sep 17 00:00:00 2001
From: chenyc <501753378@qq.com>
Date: 星期二, 04 三月 2025 17:11:39 +0800
Subject: [PATCH] gx样式
---
src/views/home/components/patient_file.vue | 227 ++++++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 187 insertions(+), 40 deletions(-)
diff --git a/src/views/home/components/patient_file.vue b/src/views/home/components/patient_file.vue
index f367297..f230d60 100644
--- a/src/views/home/components/patient_file.vue
+++ b/src/views/home/components/patient_file.vue
@@ -8,9 +8,47 @@
</el-icon> <span> 服务套餐</span>
</div>
<div>
- 基础服务100套餐
- 膳食套餐,
- 体检套餐,
+ <el-form :inline="true" class="demo-form-inline">
+ <el-form-item label="基础服务:">
+ <el-radio-group class="elradiozdi" :disabled="state.formdispl" v-model="state.taochan.基础服务">
+ <el-radio value="是">是</el-radio>
+ <el-radio value="否">否</el-radio>
+ </el-radio-group>
+ </el-form-item>
+ <el-form-item label="自购套餐:" >
+ <el-row>
+ <el-col :span='12'>
+ <el-input v-model="state.taochan.自购几月" :disabled="state.formdispl" placeholder="购买多少个月">
+ <template #append>月</template>
+ </el-input>
+ </el-col>
+ <el-col :span='12'>
+ <el-input v-model="state.taochan.多少元套餐" :disabled="state.formdispl" placeholder="套餐金额">
+ <template #append>元</template>
+ </el-input>
+ </el-col>
+ </el-row>
+ </el-form-item>
+ <el-form-item label="自购产品名称">
+ <el-row>
+ <el-col :span='12'>
+ <el-input v-model="state.taochan.产品名称" :disabled="state.formdispl" placeholder="产品名称"></el-input>
+ </el-col>
+ <el-col :span='12'>
+ <el-input v-model="state.taochan.自购多少盒" :disabled="state.formdispl" placeholder="数量">
+ <template #append>盒</template>
+ </el-input>
+ </el-col>
+ </el-row>
+
+ </el-form-item>
+ <el-form-item>
+ <el-button v-if="state.formdispl" type="primary" :icon="Edit" @click="state.formdispl=false">编辑</el-button>
+ <el-button v-else type="success" :icon="Check" @click="onSubmitTC" >保存</el-button>
+ </el-form-item>
+
+ </el-form>
+
</div>
</el-card>
<el-card class="box-card" style="margin-top:10px;">
@@ -55,6 +93,15 @@
<tr>
<td colspan="5">患者诊断:{{ state.patientData.诊断 }}</td>
</tr>
+ <tr>
+ <td colspan="5">外院出院诊断:{{ state.patientData.出院诊断 }}
+ <span>
+ <el-icon :size="14" color="#409EFF" @click="updateZD">
+ <Edit />
+ </el-icon>
+ </span>
+ </td>
+ </tr>
</table>
</div>
</el-card>
@@ -64,34 +111,36 @@
<CreditCard />
</el-icon> <span> 最新生化数据</span>
</div>
- <div>
- <el-row :gutter="10" v-if="state.listData.length">
- <el-col :xs="8" :sm="8" :md="6" :lg="6" :xl="4" v-for="(item, key) in state.listData"
- :key="key">
- <div class="itemLis" v-if="item?.item_result">
- <div class="title">
- {{ key }}
- </div>
- <div class="itemRes">
- <div class="itemResDtile">
- <div style="text-align: center;width: 100%;">
- {{ item?.item_name }}
- </div>
- <div>
- {{ item?.item_result }}<span class="tdate">{{ item?.item_result_unit
- }}</span>
+ <el-scrollbar :height="(tableHeight-520)+'px'">
+ <div>
+ <el-row :gutter="10" v-if="state.listData.length">
+ <el-col :xs="8" :sm="8" :md="6" :lg="6" :xl="4" v-for="(item, key) in state.listData"
+ :key="key">
+ <div class="itemLis" v-if="item?.item_result">
+ <div class="title">
+ {{ key }}
+ </div>
+ <div class="itemRes">
+ <div class="itemResDtile">
+ <div style="text-align: center;width: 100%;">
+ {{ item?.item_name }}
+ </div>
+ <div>
+ {{ item?.item_result }}<span class="tdate">{{ item?.item_result_unit
+ }}</span>
+ </div>
</div>
</div>
- </div>
- <div class="tdate">
- {{ item?.sample_date_str }}
+ <div class="tdate">
+ {{ item?.sample_date_str }}
+ </div>
+
</div>
- </div>
-
- </el-col>
- </el-row>
- </div>
+ </el-col>
+ </el-row>
+ </div>
+ </el-scrollbar>
</el-card>
</div>
@@ -105,12 +154,14 @@
import { usePatientsInfo } from '/@/stores/patientsInfo';
import { useUserInfo } from '/@/stores/userInfo';
import { computed, onMounted, reactive } from 'vue';
-import { getPatData, getLisResults,update } from '/@/api/Patients';
+import { getPatData, getLisResults, update ,updateNurtion,listNurtion,AddNurtion} from '/@/api/Patients';
import { userInfo } from 'os';
-import { Search } from '@element-plus/icons-vue'
+import { Search ,Edit,Check} from '@element-plus/icons-vue'
import dayjs from 'dayjs';
import { ElMessage, ElMessageBox } from 'element-plus';
+
import { number } from 'echarts';
+import { rowKey } from 'element-plus/es/components/table-v2/src/common';
const storesPat = usePatientsInfo();
const stores = useUserInfo();
@@ -118,7 +169,16 @@
const { userInfos } = storeToRefs(stores);
const props = defineProps(['tableHeight'])
const state = reactive({
-
+ formdispl:true,// 表单是否编辑
+ // 患者套餐表
+ taochanId:0,
+ taochan: {
+ 基础服务: '',
+ 自购几月: '',
+ 多少元套餐: '',
+ 自购多少盒: '',
+ 产品名称: ''
+ },
tableData: [],
loading: false,
patientData: {
@@ -127,27 +187,76 @@
证件号: "",
诊断: '',
身高: '',
- 上一次透前体重: ''
+ 上一次透前体重: '',
+ 出院诊断:'',
},
listData: <any>{}
})
const tableHe = computed(() => {
return props.tableHeight - 130
})
+const onSubmitTC=()=>{
+ const data={
+ id:state.taochanId,
+ patient_code:patientsInfo.value.code,
+ plan_json_body:JSON.stringify(state.taochan)
+ }
+ if(state.taochanId){
+ state.loading = true
+ updateNurtion(data).then(re=>{
+ getlistNurtion()
+ }).finally(()=>{
+ state.formdispl=true
+ state.loading = false
+ })
+ }else{
+ state.loading = true
+ AddNurtion(data).then(re=>{
+ getlistNurtion()
+ }).finally(()=>{
+ state.formdispl=true
+ state.loading = false
+ })
+ }
+}
+const updateZD=()=>{
+ ElMessageBox.prompt('请输入你要编辑的外院出院诊断', '提示', {
+ confirmButtonText: '确认',
+ cancelButtonText: '取消',
+ inputValue: state.patientData.出院诊断,
+ })
+ .then(({ value }) => {
+ const params = {
+ id: patientsInfo.value.id,
+ outDiagnoseFromPrevHospital: value
+ }
+ update(params).then(re => {
+ getPatData({ patCode: patientsInfo.value.code, }).then(res => {
+ state.patientData = res.data
+ })
+ })
+ })
+ .catch(() => {
+ ElMessage({
+ type: 'info',
+ message: '取消修改',
+ })
+ })
+}
/**打开修改身高 */
const updateSg = () => {
ElMessageBox.prompt('请输入你要修改的身高单位cm', '提示', {
confirmButtonText: '确认',
cancelButtonText: '取消',
- inputValue:state.patientData.身高,
+ inputValue: state.patientData.身高,
})
.then(({ value }) => {
- const params={
- id:patientsInfo.value.id,
- patientHeight:value
+ const params = {
+ id: patientsInfo.value.id,
+ patientHeight: value
}
- update(params).then(re=>{
- getPatData({ patCode: patientsInfo.value.code,}).then(res=>{
+ update(params).then(re => {
+ getPatData({ patCode: patientsInfo.value.code, }).then(res => {
state.patientData = res.data
})
})
@@ -162,7 +271,7 @@
const BMI = computed(() => {
if (state.patientData.干体重 && state.patientData.身高) {
- return (Number(state.patientData.干体重) / (Number(state.patientData.身高)/100 * Number(state.patientData.身高)/100)).toFixed(2)
+ return (Number(state.patientData.干体重) / (Number(state.patientData.身高) / 100 * Number(state.patientData.身高) / 100)).toFixed(2)
} else {
return ''
}
@@ -178,14 +287,35 @@
date1: dayjs().add(-30, 'day').format('YYYY-MM-DD'),
date2: dayjs().format('YYYY-MM-DD'),
}
+ const pas3={
+ page: 0,
+ size: 0,
+ wherecondition:`patient_code='${patientsInfo.value.code}'`,
+ }
try {
state.loading = true
- const [res1, res2] = await Promise.all([
+ const [res1, res2,res3] = await Promise.all([
getPatData(pam),
- getLisResults(pam2)
+ getLisResults(pam2),
+ listNurtion(pas3)
])
state.patientData = res1.data
state.listData = res2.data
+ if(res3.data?.list.length>=1){
+ const row=res3.data.list[0]
+ console.log('taochanshuju----',row)
+ state.taochanId=row.id
+ state.taochan=JSON.parse(row.planJsonBody)
+ }else{
+ state.taochanId=0
+ state.taochan={
+ 基础服务: '',
+ 自购几月: '',
+ 多少元套餐: '',
+ 自购多少盒: '',
+ 产品名称: ''
+ }
+ }
console.log('lis数据', state.listData)
state.loading = false
}
@@ -195,6 +325,23 @@
}
}
+// 刷新套餐
+const getlistNurtion=()=>{
+ const pas3={
+ page: 0,
+ size: 0,
+ wherecondition:`patient_code='${patientsInfo.value.code}'`,
+ }
+ listNurtion(pas3).then(res3=>{
+ if(res3.data.list&&res3.data.list>=1){
+ const row=res3.data.list[0]
+ state.taochanId=row.id
+ state.taochan=JSON.parse(row.planJsonBody)
+ }else{
+ state.taochanId=0
+ }
+ })
+}
onMounted(() => {
// console.log(dayjs().add(-7, 'day').format('YYYY-MM-DD'),'---shan')
})
--
Gitblit v1.8.0