Pārlūkot izejas kodu

Merge branch 'feature/bug-169' of ssh://121.43.162.141:10022/six.fe/health.admin into release/2.0.1

张田田 9 mēneši atpakaļ
vecāks
revīzija
15aaed0aa4

+ 4 - 4
src/pages/index/care/conditioningRecord.vue

@@ -148,7 +148,6 @@ onMounted(() => {
 });
 
 function conditioningProcess(model?: ConditioningRecordListModel) {
-  console.log(model,"调养过程")
   VxeUI.modal.open({
     title: model?.id ? `调养过程` : `新增调养过程`,
     height:window.innerHeight,
@@ -182,7 +181,7 @@ function serviceDetail(model?: ConditioningRecordListModel, index?: number) {
   const types='record';
     VxeUI.modal.open({
     id: 'servicePackageDetail-modal',
-    title: '服务包详情',
+    title: '调养记录详情',
     height:window.innerHeight,
     width:window.innerWidth,  
     fullscreen:true,
@@ -201,7 +200,6 @@ function serviceDetail(model?: ConditioningRecordListModel, index?: number) {
             types,
           },
           onVoidSubmit(data: ConditioningRecordListModel) {
-            console.log(data,"作废之后刷新页面")
             refresh(page.value);
           },
         });
@@ -233,7 +231,9 @@ function serviceDetail(model?: ConditioningRecordListModel, index?: number) {
                         ? '调理中'
                         : row.progress === '5'
                           ? '已完结'
-                          : ''
+                          : row.progress === '6'
+                            ? '待收货'
+                            : ''
             }}
           </div>
         </template>

+ 6 - 3
src/pages/index/care/institutionService.vue

@@ -61,7 +61,10 @@ const searchFormProps = reactive<VxeFormProps<SystemCwQuery>>({
       },
     },
     {
-      field: 'institutionId', title: '机构名称', span: 8, itemRender: {
+      field: 'institutionId',
+      title: '机构名称',
+      span: 8,
+      itemRender: {
         name: 'VxeTreeSelect',
         props: {
           loading: computed(() => branchLoading.value),
@@ -131,7 +134,7 @@ const gridOptions = reactive<VxeGridProps<SystemCwModel>>({
           { content: '删除', status: 'primary', name: 'deleteInstitution' },
         ],
         events: {
-          click({ row, rowIndex }:any, { name }:any) {
+          click({ row, rowIndex }: any, { name }: any) {
             let method;
             if (name === 'editInstitution') {
               method = editInstitution;
@@ -168,7 +171,7 @@ onMounted(() => {
 function seeInstitutionDetail(model: SystemCwModel, index: number) {
   const types = 'institution';
   VxeUI.modal.open({
-    title: model?.id ? `机构服务详情` : `新增机构服务`,
+    title: `机构服务详情`,
     // height: 700,
     // width: 1000,
     height: '100vh',

+ 1 - 1
src/pages/index/care/issueService.vue

@@ -249,7 +249,7 @@ function openRecord(item: any) {
   const types = 'record';
   VxeUI.modal.open({
     id: 'servicePackageDetail-modal',
-    title: '调养记录',
+    title: '调养记录详情',
     height: window.innerHeight,
     width: window.innerWidth,
     escClosable: true,

+ 1 - 1
src/pages/index/care/systemService.vue

@@ -181,7 +181,7 @@ function seeInstitution(model?: SystemCwModel, index?: number) {
   const types = 'system';
   VxeUI.modal.open({
     id: 'servicePackageDetail-modal',
-    title: '系统服务',
+    title: '系统服务包详情',
     height: window.innerHeight,
     width: window.innerWidth,
     escClosable: true,

+ 17 - 19
src/service/CareProgress.vue

@@ -34,7 +34,6 @@ const { data: patient } = useWatcher(() => patientMethod(props.data.patientId!),
   },
 });
 
-
 const careProcessList = ref<OpenConditioningSchemeModel>();
 async function getCareProgress() {
   const res = await getConditioningProcessMethod(Number(props.data.id));
@@ -176,7 +175,6 @@ interface Model extends SymptomItemVo {
 }
 // 查看健康评估
 function open(row: Model) {
-  // console.log(row, '查看健康评估');
   const component = defineAsyncComponent(() => import('@/components/ReportPreview.vue'));
   const id = `drawer:report:preview`;
   const onDestroy = () => {
@@ -208,21 +206,22 @@ function open(row: Model) {
   <div class="care-progress-card">
     <div class="header" v-if="careProcessList">
       <span class="title">{{
-          careProcessList?.progress === '0'
-            ? '待付款'
-            : careProcessList?.progress === '1'
-              ? '已作废'
-              : careProcessList?.progress === '2'
-                ? '用户取消'
-                : careProcessList?.progress === '3'
-                  ? '未开始'
-                  : careProcessList?.progress === '4'
-                    ? '调理中'
-                    : careProcessList?.progress === '5'
-                      ? '已完结'
+        careProcessList?.progress === '0'
+          ? '待付款'
+          : careProcessList?.progress === '1'
+            ? '已作废'
+            : careProcessList?.progress === '2'
+              ? '用户取消'
+              : careProcessList?.progress === '3'
+                ? '未开始'
+                : careProcessList?.progress === '4'
+                  ? '调理中'
+                  : careProcessList?.progress === '5'
+                    ? '已完结'
+                    : careProcessList?.progress === '6'
+                      ? '待收货'
                       : ''
-
-        }}</span>
+      }}</span>
       <span v-if="careProcessList?.patientName"
         >姓名:<b>{{ careProcessList?.patientName }}</b></span
       >
@@ -304,7 +303,7 @@ function open(row: Model) {
           <div v-if="item?.remark">操作指南:{{ item?.remark }}</div>
         </div>
       </div>
-   
+
       <!-- 健康记录 -->
       <div class="health-records-card">
         <a-tabs class="panel-wrapper" v-model:activeKey="activePanel" v-if="item?.healthAnalysisReports && item?.healthAnalysisReports.length > 0">
@@ -348,7 +347,6 @@ function open(row: Model) {
       height: 100%;
     }
   }
- 
 }
 .care-progress-card {
   background: #fff;
@@ -422,7 +420,7 @@ function open(row: Model) {
   color: black !important;
 }
 .health-records-card :deep(.vxe-table--header th) {
-  background: #F8F8F9 !important;
+  background: #f8f8f9 !important;
   color: unset !important;
 }
 .project-card :deep(.vxe-table--border .vxe-body--row > td),

+ 94 - 80
src/service/ServicePackageDetail.vue

@@ -24,6 +24,14 @@ async function getRecordDetail() {
     notification.error({ message: '获取数据失败' });
   }
 }
+const isShowDelivery = ref<boolean>(false);
+watch(tableData, (newValue, oldValue) => {
+  if (newValue.items.length > 0) {
+    isShowDelivery.value = newValue.items.some((item: any) => {
+      return item.conditioningProgramDetail?.isDelivery === 'Y';
+    });
+  }
+});
 onMounted(async () => {
   await getRecordDetail();
 });
@@ -81,7 +89,6 @@ function handleVoid() {
     emit('voidSubmit', tableData.value as SystemCwModel);
   });
 }
-
 </script>
 
 <template>
@@ -90,94 +97,102 @@ function handleVoid() {
     <!-- 顶部信息 -->
     <div class="header">
       <span class="status" v-if="tableData?.progress">{{
-          tableData?.progress === '0'
-            ? '待付款'
-            : tableData?.progress === '1'
-              ? '已作废'
-              : tableData?.progress === '2'
-                ? '用户取消'
-                : tableData?.progress === '3'
-                  ? '未开始'
-                  : tableData?.progress === '4'
-                    ? '调理中'
-                    : tableData?.progress === '5'
-                      ? '已完结'
+        tableData?.progress === '0'
+          ? '待付款'
+          : tableData?.progress === '1'
+            ? '已作废'
+            : tableData?.progress === '2'
+              ? '用户取消'
+              : tableData?.progress === '3'
+                ? '未开始'
+                : tableData?.progress === '4'
+                  ? '调理中'
+                  : tableData?.progress === '5'
+                    ? '已完结'
+                    : tableData?.progress === '6'
+                      ? '待收货'
                       : ''
-        }}</span>
+      }}</span>
       <div>
-        <div class="flex mb-2" style="align-items: center">
-          <!-- 机构名称 -->
-          <div class="mr-10" v-if="props.data?.types === 'institution'" style="display: flex; align-items: center; margin-bottom: 0">
-            <span style="white-space: nowrap; margin-right: 8px">机构名称:</span>
-            <span>{{ tableData?.institutionName }}</span>
-          </div>
-          <!-- 服务包名称 -->
-          <!-- <div class="mr-6" style="display: flex; align-items: center; margin-bottom: 0" v-if="tableData?.name">
-            <span style="white-space: nowrap; margin-right: 8px">服务包名称:</span>
-            <span>{{ tableData?.name }}</span>
-          </div> -->
-          <!-- 服务形象照 -->
-          <div class="flex" v-if="props.data?.types === 'institution' && tableData?.photo" style="align-items: center; margin-bottom: 0">
-            <div class="w-20" style="white-space: nowrap; margin-right: 8px">服务形象照:</div>
-            <a-image
-              :width="100"
-              :height="100"
-              :preview="{
-                visible,
-                onVisibleChange: setVisible,
-              }"
-              :src="tableData?.photo"
-            />
-          </div>
+        <!-- 调养记录详情 -->
+        <div v-if="props.data.types === 'record'" style="line-height: 30px">
+          <span v-if="tableData?.healthAnalysisReport?.willillStateName" class="mr-8">欲病状态:{{ tableData?.healthAnalysisReport?.willillStateName }}</span>
+          <span v-if="tableData?.healthAnalysisReport?.willillDegreeName" class="mr-8">欲病程度:{{ tableData?.healthAnalysisReport?.willillDegreeName }}</span>
+          <span v-if="tableData?.healthAnalysisReport?.willillSocialName" class="mr-8">欲病类型:{{ tableData?.healthAnalysisReport?.willillSocialName }}</span>
+          <span v-if="tableData?.healthAnalysisReport?.willillFunctionName" class="mr-8">欲病表现:{{ tableData?.healthAnalysisReport?.willillFunctionName }}</span>
+          <span v-if="tableData?.healthAnalysisReport?.constitutionGroupName" class="mr-8">体质:{{ tableData?.healthAnalysisReport?.constitutionGroupName }}</span>
+          <span v-if="tableData?.diagnosis" class="mr-8">疾病名称:{{ tableData?.diagnosis }}</span>
+          <span v-if="tableData?.symptom" class="mr-8">证型:{{ tableData?.symptom }}</span>
+          <span v-if="tableData?.createBy" class="mr-8">开具医生:{{ tableData?.createBy }}</span>
+          <span v-if="tableData?.createTime" class="mr-8">开具时间:{{ tableData?.createTime }}</span>
+          <span v-if="tableData?.estimatedEndDate">调养周期:{{ tableData?.estimatedStartDate }} ~ {{ tableData?.estimatedEndDate }}</span>
         </div>
-
-        <div style="margin-bottom: 16px">
-          <div class="mb-3">适用情况</div>
-          <div class="flex items-center mb-3" v-if="tableData?.conditioningWrapPatientMatchRule?.sex || tableData?.conditioningWrapPatientMatchRule?.age">
-            <span class="w-20">使用限制</span>
-            <div class="mr-10" v-if="tableData?.conditioningWrapPatientMatchRule?.sex">
-              <span>性别:{{ tableData?.conditioningWrapPatientMatchRule?.sex }}</span>
+        <div v-else>
+          <div class="flex mb-2" style="align-items: center">
+            <!-- 机构名称 -->
+            <div class="mr-10" v-if="props.data?.types === 'institution'" style="display: flex; align-items: center; margin-bottom: 0">
+              <span style="white-space: nowrap; margin-right: 8px">机构名称:</span>
+              <span>{{ tableData?.institutionName }}</span>
             </div>
-            <div v-if="tableData?.conditioningWrapPatientMatchRule?.age">
-              <span>年龄:{{ tableData?.conditioningWrapPatientMatchRule?.age }}</span>
+            <!-- 服务形象照 -->
+            <div class="flex" v-if="props.data?.types === 'institution' && tableData?.photo" style="align-items: center; margin-bottom: 0">
+              <div class="w-20" style="white-space: nowrap; margin-right: 8px">服务形象照:</div>
+              <a-image
+                :width="100"
+                :height="100"
+                :preview="{
+                  visible,
+                  onVisibleChange: setVisible,
+                }"
+                :src="tableData?.photo"
+              />
             </div>
           </div>
-          <div
-            class="flex items-center"
-            v-if="
-              tableData?.conditioningWrapPatientMatchRule?.diagnoseDiseaseNames?.length > 0 ||
-              tableData?.conditioningWrapPatientMatchRule?.diagnoseSyndromeNames?.length > 0 ||
-              tableData?.conditioningWrapPatientMatchRule?.constitutionGroupNames?.length > 0 ||
-              tableData?.conditioningWrapPatientMatchRule?.willillStateNames?.length > 0
-            "
-          >
-            <span class="w-20">适用</span>
-            <div class="mr-10 flex items-center" v-if="tableData?.conditioningWrapPatientMatchRule?.diagnoseDiseaseNames?.length > 0">
-              <span>专病:</span>
-              <span>{{ tableData?.conditioningWrapPatientMatchRule?.diagnoseDiseaseNames?.join(',') }}</span>
-            </div>
-            <div class="mr-10 flex items-center" v-if="tableData?.conditioningWrapPatientMatchRule?.diagnoseSyndromeNames?.length > 0">
-              <span>证型:</span>
-              <span>{{ tableData?.conditioningWrapPatientMatchRule?.diagnoseSyndromeNames?.join(',') }}</span>
-            </div>
 
-            <div class="flex items-center mr-10" v-if="tableData?.conditioningWrapPatientMatchRule?.constitutionGroupNames?.length > 0">
-              <span>体质:</span>
-              <span>{{ tableData?.conditioningWrapPatientMatchRule?.constitutionGroupNames?.join(',') }}</span>
+          <div style="margin-bottom: 16px">
+            <div class="mb-3">适用情况</div>
+            <div class="flex items-center mb-3" v-if="tableData?.conditioningWrapPatientMatchRule?.sex || tableData?.conditioningWrapPatientMatchRule?.age">
+              <span class="w-20">使用限制</span>
+              <div class="mr-10" v-if="tableData?.conditioningWrapPatientMatchRule?.sex">
+                <span>性别:{{ tableData?.conditioningWrapPatientMatchRule?.sex }}</span>
+              </div>
+              <div v-if="tableData?.conditioningWrapPatientMatchRule?.age">
+                <span>年龄:{{ tableData?.conditioningWrapPatientMatchRule?.age }}</span>
+              </div>
             </div>
+            <div
+              class="flex items-center"
+              v-if="
+                tableData?.conditioningWrapPatientMatchRule?.diagnoseDiseaseNames?.length > 0 ||
+                tableData?.conditioningWrapPatientMatchRule?.diagnoseSyndromeNames?.length > 0 ||
+                tableData?.conditioningWrapPatientMatchRule?.constitutionGroupNames?.length > 0 ||
+                tableData?.conditioningWrapPatientMatchRule?.willillStateNames?.length > 0
+              "
+            >
+              <span class="w-20">适用</span>
+              <div class="mr-10 flex items-center" v-if="tableData?.conditioningWrapPatientMatchRule?.diagnoseDiseaseNames?.length > 0">
+                <span>专病:</span>
+                <span>{{ tableData?.conditioningWrapPatientMatchRule?.diagnoseDiseaseNames?.join(',') }}</span>
+              </div>
+              <div class="mr-10 flex items-center" v-if="tableData?.conditioningWrapPatientMatchRule?.diagnoseSyndromeNames?.length > 0">
+                <span>证型:</span>
+                <span>{{ tableData?.conditioningWrapPatientMatchRule?.diagnoseSyndromeNames?.join(',') }}</span>
+              </div>
 
-            <div v-if="tableData?.conditioningWrapPatientMatchRule?.willillStateNames?.length > 0">
-              <span>欲病状态:</span>
-              <span>{{ tableData?.conditioningWrapPatientMatchRule?.willillStateNames?.join(',') }}</span>
+              <div class="flex items-center mr-10" v-if="tableData?.conditioningWrapPatientMatchRule?.constitutionGroupNames?.length > 0">
+                <span>体质:</span>
+                <span>{{ tableData?.conditioningWrapPatientMatchRule?.constitutionGroupNames?.join(',') }}</span>
+              </div>
+
+              <div v-if="tableData?.conditioningWrapPatientMatchRule?.willillStateNames?.length > 0">
+                <span>欲病状态:</span>
+                <span>{{ tableData?.conditioningWrapPatientMatchRule?.willillStateNames?.join(',') }}</span>
+              </div>
             </div>
           </div>
         </div>
+        <!-- end -->
       </div>
-      <!-- <span v-if="tableData?.diagnosis || tableData?.diagnoseDiseaseNames?.length > 0">疾病名称:{{ tableData?.diagnosis || tableData?.diagnoseDiseaseNames?.join(',') }}</span>
-      <span v-if="tableData?.symptom || tableData?.diagnoseSyndromeNames?.length > 0">证型:{{ tableData?.symptom || tableData?.diagnoseSyndromeNames?.join(',') }}</span>
-      <span>开具医生:{{ tableData?.createBy }}</span>
-      <span>开具时间:{{ tableData?.createTime }}</span>
-      <span v-if="tableData?.estimatedEndDate">调养周期:{{ tableData?.estimatedStartDate }} - {{ tableData?.estimatedEndDate }}</span> -->
     </div>
 
     <!-- 表格和作废字样包裹层 -->
@@ -215,7 +230,7 @@ function handleVoid() {
     </div>
 
     <!-- 配送信息 -->
-    <div class="delivery" v-if="tableData?.isDelivery === 'Y'">
+    <div class="delivery" v-if="isShowDelivery && props.data.types === 'record' && tableData.provinceName">
       <span style="color: #52c41a; font-size: 20px">✔</span>
       <span
         >配送 地址:{{ tableData.provinceName }} {{ tableData.cityName }} {{ tableData.areaName }} {{ tableData.detailAddress }} {{ tableData.patientName }}
@@ -223,12 +238,11 @@ function handleVoid() {
       >
     </div>
     <!-- 按钮区,作废后隐藏 -->
-    <div class="footer-btns">
+    <div class="footer-btns" v-if="props.data.types === 'record'">
       <a-button type="primary" style="margin-right: 24px" @click="handleChangePlan" v-if="props.data.status === '1'">转方案</a-button>
-      <a-button @click="handleVoid" v-if="tableData.progress === '0'" >作废</a-button>
+      <a-button @click="handleVoid" v-if="tableData.showRepealButton">作废</a-button>
       <a-button type="primary" style="margin-left: 24px" @click="handleViewRecord(props.data)">查看记录</a-button>
     </div>
-
   </div>
 </template>