Преглед на файлове

开调养方案机构项目不可点击 推导逻辑不回显

张田田 преди 7 месеца
родител
ревизия
503bbce7ef
променени са 3 файла, в които са добавени 35 реда и са изтрити 33 реда
  1. 11 4
      src/pages/index/care/issueService.vue
  2. 19 29
      src/service/Derivation.vue
  3. 5 0
      src/widgets/PatientHealthRecordsWidget.vue

+ 11 - 4
src/pages/index/care/issueService.vue

@@ -497,7 +497,9 @@ function editPart(row: any) {
           data: row,
           onSubmit(data: any) {
             console.log(data.acuPointNames, 'data穴位', data.acuMeridianNames, 'data经络');
-            let arr = data.acuPointNames.concat(data.acuMeridianNames)?.join('、');
+            const acuPointNames = Array.isArray(data.acuPointNames) ? data.acuPointNames : [];
+            const acuMeridianNames = Array.isArray(data.acuMeridianNames) ? data.acuMeridianNames : [];
+            let arr = acuPointNames.concat(acuMeridianNames)?.join('、');
             console.log(arr, 'arr');
             row.acuPointMeridianNames = arr;
             VxeUI.modal.close(`edit-part-modal`);
@@ -1169,9 +1171,14 @@ function openPatientHealthRecord(row: { id: string }, showType: 'analysis' | 'sc
                   @click="currentPatient?.status === '0' ? null : editPart(row)"
                   :style="{ color: '#1890ff', cursor: 'pointer' }"
                 >
-                  {{ row?.acuPointNames.concat(row?.acuMeridianNames)?.join('、') === '' ? 
-                  (currentPatient?.status === '0' ? '' : '编辑') : 
-                  row?.acuPointNames.concat(row?.acuMeridianNames)?.join('、') }}
+                  {{ (() => {
+                    const acuPointNames = Array.isArray(row?.acuPointNames) ? row.acuPointNames : [];
+                    const acuMeridianNames = Array.isArray(row?.acuMeridianNames) ? row.acuMeridianNames : [];
+                    const combined = acuPointNames.concat(acuMeridianNames).join('、');
+                    return combined === '' ? 
+                      (currentPatient?.status === '0' ? '' : '编辑') : 
+                      combined;
+                  })() }}
                 </a>
               </template>
             </vxe-column>

+ 19 - 29
src/service/Derivation.vue

@@ -119,36 +119,26 @@ onMounted(async () => {
   getConstitutionGroup();
   // 获取禁忌
   getTabooCrowds();
+  // 获取适用情况数据
+  let matchRule = props.data.cpPatientMatchRule || {};
+  // if (props.data.id) {
+  //   // 调编辑接口获取调理包详情
+  //   const res: any = await getConditioningSchemeDetailMethod(props.data);
+  //   console.log(res,'调编辑接口获取调理包详情');
+  //   await nextTick(); // 确保视图更新
+  //   matchRule = res?.cpPatientMatchRule || {};
+  // }
 
-  // 如果没有传入数据且有id,则从接口获取
-  if (props.data.id) {
-    // 调编辑接口获取调理包详情  获取这些症状
-    const res: any = await getConditioningSchemeDetailMethod(props.data);
-    await nextTick(); // 确保视图更新
-    // 获取适用情况
-    const matchRule = res?.cpPatientMatchRule || {};
-    Object.assign(formData.cpPatientMatchRule!, {
-      sex: matchRule.sex ?? '',
-      age: matchRule.age ?? '',
-      diagnoseDiseaseNames: Array.isArray(matchRule.diagnoseDiseaseNames) ? matchRule.diagnoseDiseaseNames : [],
-      diagnoseSyndromeNames: Array.isArray(matchRule.diagnoseSyndromeNames) ? matchRule.diagnoseSyndromeNames : [],
-      constitutionGroupNames: Array.isArray(matchRule.constitutionGroupNames) ? matchRule.constitutionGroupNames : [],
-      willillStateNames: Array.isArray(matchRule.willillStateNames) ? matchRule.willillStateNames : [],
-      tabooCrowds: Array.isArray(matchRule.tabooCrowds) ? matchRule.tabooCrowds : [],
-    });
-  } else if (props.data.cpPatientMatchRule) {
-    // 在没保存之前回填上次的数据
-    const matchRule = props.data.cpPatientMatchRule;
-    Object.assign(formData.cpPatientMatchRule!, {
-      sex: matchRule.sex ?? '',
-      age: matchRule.age ?? '',
-      diagnoseDiseaseNames: Array.isArray(matchRule.diagnoseDiseaseNames) ? matchRule.diagnoseDiseaseNames : [],
-      diagnoseSyndromeNames: Array.isArray(matchRule.diagnoseSyndromeNames) ? matchRule.diagnoseSyndromeNames : [],
-      constitutionGroupNames: Array.isArray(matchRule.constitutionGroupNames) ? matchRule.constitutionGroupNames : [],
-      willillStateNames: Array.isArray(matchRule.willillStateNames) ? matchRule.willillStateNames : [],
-      tabooCrowds: Array.isArray(matchRule.tabooCrowds) ? matchRule.tabooCrowds : [],
-    });
-  }
+  // 统一处理数据赋值
+  Object.assign(formData.cpPatientMatchRule!, {
+    sex: matchRule.sex ?? '',
+    age: matchRule.age ?? '',
+    diagnoseDiseaseNames: Array.isArray(matchRule.diagnoseDiseaseNames) ? matchRule.diagnoseDiseaseNames : [],
+    diagnoseSyndromeNames: Array.isArray(matchRule.diagnoseSyndromeNames) ? matchRule.diagnoseSyndromeNames : [],
+    constitutionGroupNames: Array.isArray(matchRule.constitutionGroupNames) ? matchRule.constitutionGroupNames : [],
+    willillStateNames: Array.isArray(matchRule.willillStateNames) ? matchRule.willillStateNames : [],
+    tabooCrowds: Array.isArray(matchRule.tabooCrowds) ? matchRule.tabooCrowds : [],
+  });
 });
 let multiple = ref<boolean>(true);
 </script>

+ 5 - 0
src/widgets/PatientHealthRecordsWidget.vue

@@ -46,6 +46,8 @@ const { loading, page, isLastPage } = usePagination((page, size) => getPatientHe
     dataArr = data;
   }
   // console.log(dataArr, 'dataArr获取的data');
+   // 新加的倒序
+  dataArr = [...dataArr].reverse();
   const rows = gridOptions.data as Model[];
   const symptomColumns = gridOptions.columns?.find((column) => column.field === 'symptom')?.children ?? [];
 
@@ -81,6 +83,9 @@ const { loading, page, isLastPage } = usePagination((page, size) => getPatientHe
     rows.push(row);
     lastRow = row;
   }
+  // 新加的倒序
+  rows.reverse();
+
   grid.value?.loadColumn(gridOptions.columns!);
 });
 const gridOptions = reactive<VxeGridProps<Model>>({