|
@@ -2,6 +2,7 @@
|
|
|
import { ref, defineAsyncComponent, watch } from 'vue';
|
|
import { ref, defineAsyncComponent, watch } from 'vue';
|
|
|
import { getConditioningProcessMethod } from '@/request/api/care.api';
|
|
import { getConditioningProcessMethod } from '@/request/api/care.api';
|
|
|
import type { ConditioningRecordListModel, OpenConditioningSchemeModel } from '@/model/care.model';
|
|
import type { ConditioningRecordListModel, OpenConditioningSchemeModel } from '@/model/care.model';
|
|
|
|
|
+import RecordsIndicatorPreview from '@/components/RecordsIndicatorPreview.vue';
|
|
|
import { useWatcher } from 'alova/client';
|
|
import { useWatcher } from 'alova/client';
|
|
|
import { patientMethod } from '@/request/api/patient.api';
|
|
import { patientMethod } from '@/request/api/patient.api';
|
|
|
import { VxeUI } from 'vxe-pc-ui';
|
|
import { VxeUI } from 'vxe-pc-ui';
|
|
@@ -37,9 +38,9 @@ const { data: patient } = useWatcher(() => patientMethod(props.data.patientId!),
|
|
|
const careProcessList = ref<OpenConditioningSchemeModel>();
|
|
const careProcessList = ref<OpenConditioningSchemeModel>();
|
|
|
const showCareBox = ref<boolean>(false);
|
|
const showCareBox = ref<boolean>(false);
|
|
|
async function getCareProgress() {
|
|
async function getCareProgress() {
|
|
|
- const res:any = await getConditioningProcessMethod(Number(props.data.id));
|
|
|
|
|
|
|
+ const res: any = await getConditioningProcessMethod(Number(props.data.id));
|
|
|
careProcessList.value = res as OpenConditioningSchemeModel;
|
|
careProcessList.value = res as OpenConditioningSchemeModel;
|
|
|
- if(res.provinceName || res.cityName || res.areaName || res.detailAddress || res.phone){
|
|
|
|
|
|
|
+ if (res.provinceName || res.cityName || res.areaName || res.detailAddress || res.phone) {
|
|
|
showCareBox.value = true;
|
|
showCareBox.value = true;
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
@@ -266,8 +267,8 @@ const progressTextMap: Record<string, string> = {
|
|
|
>
|
|
>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
- <div v-if="isShowDelivery && showCareBox" class="delivery-info" style="margin-left: 75px">
|
|
|
|
|
- <a-checkbox checked style="color: #52c41a; margin-right: 8px" />
|
|
|
|
|
|
|
+ <div v-if="isShowDelivery && showCareBox" class="delivery-info" style="margin-left: 75px">
|
|
|
|
|
+ <a-checkbox checked style="color: #52c41a; margin-right: 8px" />
|
|
|
<span style="margin-right: 15px">配送</span>
|
|
<span style="margin-right: 15px">配送</span>
|
|
|
<span v-if="careProcessList?.provinceName || careProcessList?.cityName || careProcessList?.areaName || careProcessList?.detailAddress"
|
|
<span v-if="careProcessList?.provinceName || careProcessList?.cityName || careProcessList?.areaName || careProcessList?.detailAddress"
|
|
|
>地址:{{ careProcessList?.provinceName }}{{ careProcessList?.cityName }}{{ careProcessList?.areaName }}{{ careProcessList?.detailAddress }}</span
|
|
>地址:{{ careProcessList?.provinceName }}{{ careProcessList?.cityName }}{{ careProcessList?.areaName }}{{ careProcessList?.detailAddress }}</span
|
|
@@ -291,7 +292,7 @@ const progressTextMap: Record<string, string> = {
|
|
|
<vxe-column field="acuPointNames" title="穴位" />
|
|
<vxe-column field="acuPointNames" title="穴位" />
|
|
|
</vxe-table>
|
|
</vxe-table>
|
|
|
<div class="mt-3">
|
|
<div class="mt-3">
|
|
|
- <div class="mb-1">预定频率:每{{ item.frequencyType }}天{{ item.frequencyMeasure }}{{ item?.conditioningProgramDetail?.cpFixedPricingRule?.pricingUnit || '次' }}</div>
|
|
|
|
|
|
|
+ <div class="mb-1">预定频率:每{{ item.frequencyType }}天{{ item.frequencyMeasure }}{{ item?.conditioningProgramDetail?.cpFixedPricingRule?.convertUnit || '次' }}</div>
|
|
|
<div v-if="item.remark">操作指南:{{ item.remark }}</div>
|
|
<div v-if="item.remark">操作指南:{{ item.remark }}</div>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
@@ -301,7 +302,7 @@ const progressTextMap: Record<string, string> = {
|
|
|
<span class="mr-10" style="font-size: 14px; font-weight: bold; color: black">◇ {{ item?.conditioningProgramDetail?.name }}</span>
|
|
<span class="mr-10" style="font-size: 14px; font-weight: bold; color: black">◇ {{ item?.conditioningProgramDetail?.name }}</span>
|
|
|
<span>数量:{{ item.totalMeasure }} {{ item?.conditioningProgramDetail?.cpFixedPricingRule?.pricingUnit || '次' }}</span>
|
|
<span>数量:{{ item.totalMeasure }} {{ item?.conditioningProgramDetail?.cpFixedPricingRule?.pricingUnit || '次' }}</span>
|
|
|
</div>
|
|
</div>
|
|
|
- <div class="mb-1">预定频率:每{{ item.frequencyType }}天{{ item.frequencyMeasure }}{{ item?.conditioningProgramDetail?.cpFixedPricingRule?.pricingUnit || '次' }}</div>
|
|
|
|
|
|
|
+ <div class="mb-1">预定频率:每{{ item.frequencyType }}天{{ item.frequencyMeasure }} {{ item?.conditioningProgramDetail?.cpFixedPricingRule?.convertUnit || '次' }}</div>
|
|
|
<div v-if="item.remark">操作指南:{{ item.remark }}</div>
|
|
<div v-if="item.remark">操作指南:{{ item.remark }}</div>
|
|
|
</div>
|
|
</div>
|
|
|
<!-- 健康评估 -->
|
|
<!-- 健康评估 -->
|
|
@@ -325,44 +326,45 @@ const progressTextMap: Record<string, string> = {
|
|
|
<div class="mb-1">
|
|
<div class="mb-1">
|
|
|
预定频率:
|
|
预定频率:
|
|
|
<span v-if="item?.frequencyType === '不限'">不限</span>
|
|
<span v-if="item?.frequencyType === '不限'">不限</span>
|
|
|
- <span v-else>每{{ item?.frequencyType }}天{{ item?.frequencyMeasure }}{{ item?.conditioningProgramDetail?.cpFixedPricingRule?.pricingUnit }} </span>
|
|
|
|
|
|
|
+ <span v-else>每{{ item?.frequencyType }}天{{ item?.frequencyMeasure }}{{ item?.conditioningProgramDetail?.cpFixedPricingRule?.convertUnit || '次' }} </span>
|
|
|
</div>
|
|
</div>
|
|
|
<div v-if="item?.remark">操作指南:{{ item?.remark }}</div>
|
|
<div v-if="item?.remark">操作指南:{{ item?.remark }}</div>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
<!-- 调养效果 -->
|
|
<!-- 调养效果 -->
|
|
|
- <div class="care-box" v-if="careProcessList?.patientConditioningScores && careProcessList.patientConditioningScores.length > 0">
|
|
|
|
|
|
|
+ <div class="care-box">
|
|
|
<h3 style="color: black">调养效果</h3>
|
|
<h3 style="color: black">调养效果</h3>
|
|
|
<div class="care-box-content">
|
|
<div class="care-box-content">
|
|
|
- <!-- 评分 折线图 -->
|
|
|
|
|
- <div class="chart-wrapper">
|
|
|
|
|
- <v-chart :option="option" style="width: 350px; height: 200px" />
|
|
|
|
|
- </div>
|
|
|
|
|
- <!-- 健康记录 -->
|
|
|
|
|
- <div class="health-records-card">
|
|
|
|
|
- <a-tabs class="panel-wrapper" v-model:activeKey="activePanel" v-if="careProcessList?.healthAnalysisReports && careProcessList?.healthAnalysisReports.length > 0">
|
|
|
|
|
- <a-tab-pane v-for="panel in panels" :key="panel.id" class="panel-pane">
|
|
|
|
|
- <div class="panel-title">记录</div>
|
|
|
|
|
- <component :is="panel.component" :patient="patient" :healthAnalysisReports="careProcessList?.healthAnalysisReports" :type="type"></component>
|
|
|
|
|
- </a-tab-pane>
|
|
|
|
|
- </a-tabs>
|
|
|
|
|
|
|
+ <!-- 评分 折线图 -->
|
|
|
|
|
+ <div class="chart-wrapper" v-if="careProcessList?.patientConditioningScores && careProcessList.patientConditioningScores.length > 0">
|
|
|
|
|
+ <v-chart :option="option" style="width: 350px; height: 200px" />
|
|
|
|
|
+ </div>
|
|
|
|
|
+ <!-- 健康记录 -->
|
|
|
|
|
+ <div class="health-records-card" v-if="careProcessList?.healthAnalysisReports && careProcessList?.healthAnalysisReports.length > 0">
|
|
|
|
|
+ <a-tabs class="panel-wrapper" v-model:activeKey="activePanel">
|
|
|
|
|
+ <a-tab-pane v-for="panel in panels" :key="panel.id" class="panel-pane">
|
|
|
|
|
+ <div class="panel-title">记录</div>
|
|
|
|
|
+ <component :is="panel.component" :patient="patient" :healthAnalysisReports="careProcessList?.healthAnalysisReports" :type="type"></component>
|
|
|
|
|
+ </a-tab-pane>
|
|
|
|
|
+ </a-tabs>
|
|
|
|
|
+ </div>
|
|
|
|
|
+
|
|
|
|
|
+ <!-- 指标 -->
|
|
|
|
|
+ <div class="mt-3" v-if="careProcessList?.patientQuotaGroups && careProcessList?.patientQuotaGroups.length > 0">
|
|
|
|
|
+ <b>指标</b>
|
|
|
|
|
+ <!-- <a-button type="link" @click="openIndicatorRecordsPreview">查看指标记录</a-button>
|
|
|
|
|
+ -->
|
|
|
|
|
+ <RecordsIndicatorPreview :records="careProcessList?.patientQuotaGroups" />
|
|
|
|
|
+ </div>
|
|
|
</div>
|
|
</div>
|
|
|
-
|
|
|
|
|
- <!-- 指标 -->
|
|
|
|
|
- <div v-if="careProcessList?.patientQuotaGroups && careProcessList?.patientQuotaGroups.length > 0" class="mt-3">
|
|
|
|
|
- <b>指标</b>
|
|
|
|
|
- <a-button type="link" @click="openIndicatorRecordsPreview">查看指标记录</a-button>
|
|
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
-</div>
|
|
|
|
|
- </div>
|
|
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
|
<style scoped>
|
|
<style scoped>
|
|
|
.care-box {
|
|
.care-box {
|
|
|
margin: 20px 0 10px 0;
|
|
margin: 20px 0 10px 0;
|
|
|
-
|
|
|
|
|
}
|
|
}
|
|
|
.care-box-content {
|
|
.care-box-content {
|
|
|
border: 1px solid lightgray !important;
|
|
border: 1px solid lightgray !important;
|