Преглед изворни кода

Merge branch 'release/2.0.0' of ssh://121.43.162.141:10022/six.fe/health.admin into feature/zuofei

张田田 пре 11 месеци
родитељ
комит
2802c118c2

+ 10 - 5
src/components/Evaluation.vue

@@ -27,11 +27,14 @@ const { loading, send: getDetail } = useRequest(EvaluateDetailMethod, {
   let medicalObj = {
     arrangeTime: data?.medicalTime,
     tonguefaceAnalysisReport: data?.tonguefaceAnalysisReport,
+
   };
   data.tasks.unshift(medicalObj);
   const tasks = data.tasks.map((item: any) => {
     let obj = {
       date: item.fillinTime || item.arrangeTime,
+      k1:item.fillin?.symptomsList?.filter((item:any)=>item.type === '好' || item.type === '好转').map((item:any)=>item.name).join(','),
+      k2:item.fillin?.symptomsList?.filter((item:any)=>item.type === '不好' || item.type === '恶化').map((item:any)=>item.name).join(','),
       k3: item?.analysis?.tongue.pictures[0],
       k4: item?.analysis?.tongue.pictures[1],
       k5: item?.analysis?.face.pictures[0],
@@ -106,6 +109,7 @@ function loadAssessDetail(data = []) {
   const columns = gridOptions.columns;
   const rows = gridOptions.data;
   let col = columns.length;
+  console.log(data, '加载详情');
   for (const item of data) {
     const field = `col${col}`;
     columns.push({
@@ -172,10 +176,11 @@ function openSwiperImage(row, column) {
 function subEvalation() {
   FillEvaluateMethod(props.data).then(() => {
     notification.success({
-      message: ` `,
+      message: ``,
       description: '提交成功',
     });
     VxeUI.modal.close(`assess-modal`);
+    emits('submit');
   });
 }
 </script>
@@ -191,13 +196,13 @@ function subEvalation() {
         <div class="mr-2 font-bold" style="font-size: 14px">基本信息</div>
         <div class="mr-3">{{ props.data.medicalTime }}</div>
         <span class="mr-3">{{ props.data.patientName }}</span>
-        <span class="mr-3"> {{ props.data.sex === '1' ? '男' : '女' }}</span>
+        <span class="mr-3"> {{ props.data.sex === '1' ? '女' : '男' }}</span>
         <span> {{ props.data.age }}岁</span>
       </div>
       <div class="border-r border-r-2 border-r-gray-300 border-r-solid pr-6 pl-6">
         诊断:{{ props.data?.diagnosis }}
       </div>
-      <div class="pl-6">症状:{{ props.data?.syndromeList?.join(',') }}</div>
+      <div class="pl-6" v-if="props.data?.syndromeList?.length > 0">症状:{{ props.data?.syndromeList?.join(',') }}</div>
     </div>
 
     <vxe-grid class="reverse-table detail" v-bind="gridOptions">
@@ -245,8 +250,8 @@ function subEvalation() {
                     : '恶化'
             }}
           </div>
-          <div class="font-bold mt-2 mb-1">备注:</div>
-          <p class="indent-6 w-30 text-pretty">{{ props.data?.evaluateDesc }}</p>
+          <div class="font-bold mt-2 mb-1" v-if="props.data?.evaluateDesc">备注:</div>
+          <p class="indent-6 w-30 text-pretty" v-if="props.data?.evaluateDesc">{{ props.data?.evaluateDesc }}</p>
           <div class="font-bold mb-4 mt-15">下一步处置</div>
           <div class="indent-6 font-bold">
             {{ props.data?.evaluateDeal === '1' ? '复诊' : '中医调养' }}

+ 3 - 4
src/components/Follow.vue

@@ -106,6 +106,7 @@ const symptomsValue = ref({
 
 // 处理父级点击
 const handleParentClick = (name: string) => {
+  console.log(symptomsValue.value, '点击症状选择');
   if (symptomsValue.value.parent === name) {
     // 如果点击的是当前选中的父级,则清空选择
     symptomsValue.value = {
@@ -253,12 +254,10 @@ const previewImg = ref<string>('');
       </div>
       <!--    右边-->
       <div :key="activeObj.id">
-        <div class="w-full flex flex-col items-center h-8 mb-3">
-          <div class="font-bold mb-2">
+        <div class="h-8 text-center">
             {{ activeObj?.followupTaskName }}
-          </div>
-          <div>预定随访时间:{{ activeObj?.arrangeTime }}</div>
         </div>
+        <div class="mb-2 text-center">预定随访时间:{{ activeObj?.arrangeTime }}</div>
         <div class="mb-2 ml-2">
           您好,您于<span class="text-blue-600">【{{ activeObj?.medicalTime }}】</span>在我院<span class="text-blue-600">【{{ activeObj?.institutionName }}】</span>因为<span
             class="text-blue-600"

+ 2 - 2
src/components/PatientEdit.vue

@@ -93,10 +93,10 @@ const formEmits: VxeFormListeners<FormModel> = {
       <vxe-button type="reset" content="重置" :disabled="submitting"></vxe-button>
     </template>
     <template #disease-remote-select="{ data, field }">
-      <RemoteSelect v-model:value="data[field]" :load="pageMedicineMethod" key-prop="name" @blur="formRef?.validateField(field)" @update:value="formRef?.validateField(field)" />
+      <RemoteSelect v-model:value="data[field]" :load="pageMedicineMethod" :multiple="true" key-prop="name" @blur="formRef?.validateField(field)" @update:value="formRef?.validateField(field)" />
     </template>
     <template #symptom-remote-select="{ data, field }">
-      <RemoteSelect v-model:value="data[field]" :load="pageDiagnoseTypeMethod" key-prop="name" @blur="formRef?.validateField(field)" @update:value="formRef?.validateField(field)" />
+      <RemoteSelect v-model:value="data[field]" :load="pageDiagnoseTypeMethod" :multiple="true" key-prop="name" @blur="formRef?.validateField(field)" @update:value="formRef?.validateField(field)" />
     </template>
     <template #syndrome-remote-select="{ data, field }">
       <RemoteSelect v-model:value="data[field]" :load="pageDiagnoseSymptomMethod" :multiple="true" key-prop="name" @blur="formRef?.validateField(field)" @update:value="formRef?.validateField(field)" />

+ 0 - 2
src/pages/index/care/conditioningRecord.vue

@@ -6,8 +6,6 @@ import type { ConditioningRecordListModel, ConditioningRecordListQuery } from '@
 
 import ServicePackageDetail from '@/service/ServicePackageDetail.vue';
 import CareProcess from '@/service/CareProgress.vue';
-// 接口数据
-import { planDeleteMethod, planMethod, planUpdateStatusMethod, tagsSearchMethod } from '@/request/api/follow.api';
 import { usePagination, useRequest } from 'alova/client';
 import { notification } from 'ant-design-vue';
 

+ 3 - 10
src/pages/index/care/systemService.vue

@@ -163,12 +163,12 @@ function deleteSystemService(model: SystemCwModel, index: number) {
   const { name } = model;
   VxeUI.modal.confirm({
     title: `删除系统服务`,
-    content: `确认要删除 ${name} 系统服务吗?`,
+    content: `确认要删除 ${name} 系统服务吗?`,
     showClose: false,
     onConfirm() {
       deleteSystemCwMethod(model).then(() => {
         notification.success({
-          message: `删除系统服务: ${name}`,
+          message: `删除系统服务: ${name}`,
           description: '操作成功',
         });
         refresh(page.value);
@@ -182,8 +182,6 @@ function seeInstitution(model?: SystemCwModel, index?: number) {
   VxeUI.modal.open({
     id: 'servicePackageDetail-modal',
     title: '系统服务',
-    // height: 700,
-    // width: 1000,
     height: window.innerHeight,
     width: window.innerWidth,
     escClosable: true,
@@ -202,20 +200,15 @@ function editSystemService(model?: SystemCwModel, index?: number) {
   VxeUI.modal.open({
     id: 'edit-system-service-modal',
     title: model?.id ? `修改系统服务` : `新增系统服务`,
-    // height: 700,
-    // width: 1200,
     height: window.innerHeight,
     width: window.innerWidth,
-    // position: {
-    //   top: Math.min(100, window.innerHeight * 0.1),
-    // },
     escClosable: true,
     destroyOnClose: true,
     slots: {
       default() {
         return h(EditSystemService, <any>{
           data: { ...model, types },
-          onSubmitSubmit(data: SystemCwModel) {
+          onSubmit(data: SystemCwModel) {
             refresh(page.value);
             VxeUI.modal.close(`edit-system-service-modal`);
           },

+ 1 - 0
src/pages/index/follow/assessment.vue

@@ -123,6 +123,7 @@ const gridOptions = reactive<VxeGridProps<EvaluationModel>>({
     { field: 'result', title: '评估结果', slots: { default: 'result' } },
     { field: 'evaluateBy', title: '评估人' },
     {
+      field: 'action',
       title: '操作',
       align: 'center',
       width: 120,

+ 5 - 5
src/pages/index/follow/plan.vue

@@ -133,7 +133,7 @@ const gridOptions = reactive<VxeGridProps<PlanModel>>({
     custom: true,
     zoom: true,
     slots: {
-      buttons: 'handle',
+      // buttons: 'handle',
       tools: 'toolbar-extra',
     },
   },
@@ -180,6 +180,7 @@ const gridOptions = reactive<VxeGridProps<PlanModel>>({
       },
     },
     {
+      field: 'action',
       title: '操作',
       align: 'center',
       width: 120,
@@ -268,14 +269,13 @@ function deletePlan(model: PlanModel, index: number) {
 }
 
 function editPlan(model?: PlanModel, index?: number) {
-  console.log(model,"xinzeng1")
   VxeUI.modal.open({
     title: model?.id ? `修改随访计划` : `新增随访计划`,
     height: 800,
     width: 850,
-    position: {
-      top: Math.min(100, window.innerHeight * 0.1),
-    },
+    // position: {
+    //   top: Math.min(100, window.innerHeight * 0.1),
+    // },
     escClosable: true,
     destroyOnClose: true,
     id: `plan-modal`,

+ 1 - 1
src/service/AddItems.vue

@@ -156,7 +156,7 @@ watch(
   ([newType, newInstitutionId, newSupplierId, newOffline, newDelivery]) => {
     getSupplier({
       conditioningProgramTypes: newType ? [newType] : form.conditioningProgramType ? [form.conditioningProgramType] : [],
-      institutionId: newInstitutionId ? newInstitutionId : form.institutionId ? form.institutionId : '',
+      collaborateDeptId: newInstitutionId ? newInstitutionId : form.institutionId ? form.institutionId : '',
       conditioningProgramSupplierId: newSupplierId ? newSupplierId : form.conditioningProgramSupplierId ? form.conditioningProgramSupplierId : '',
       isOffline: newOffline,
       isDelivery: newDelivery,

+ 107 - 74
src/service/CareProgress.vue

@@ -18,7 +18,7 @@ import VChart from 'vue-echarts';
 
 use([CanvasRenderer, LineChart, MarkLineComponent, GridComponent, VisualMapComponent, TitleComponent, TooltipComponent, LegendComponent]);
 
-const type=ref('careProgress')
+const type = ref('careProgress');
 type FollowModel = Partial<ConditioningRecordListModel>;
 const props = defineProps<{
   data: FollowModel;
@@ -34,12 +34,21 @@ const { data: patient } = useWatcher(() => patientMethod(props.data.patientId!),
   },
 });
 
-
 const careProcessList = ref<OpenConditioningSchemeModel>();
 async function getCareProgress() {
   const res = await getConditioningProcessMethod(Number(props.data.id));
   careProcessList.value = res as OpenConditioningSchemeModel;
+  console.log(careProcessList.value?.items, 'careProcessList');
 }
+const isShowDelivery = ref<boolean>(false);
+// 监听 displayTableData 的变化
+watch(careProcessList, (newValue) => {
+  if (newValue?.items) {
+    isShowDelivery.value = newValue.items.some((item) => {
+      return item.conditioningProgramDetail?.isDelivery === 'Y';
+    });
+  }
+});
 onMounted(async () => {
   if (props.data.id) {
     await getCareProgress();
@@ -133,18 +142,22 @@ const option = ref({
 });
 
 // 监听数据变化更新图表
-watch(() => careProcessList.value?.patientConditioningScores, (newScores) => {
-  if (newScores && newScores.length > 0) {
-    option.value.xAxis.data = newScores.map(item => item.time4);
-    option.value.series[0].data = newScores.map(item => item.score);
-    option.value.series[0].markPoint.data = newScores.map((item) => ({
-      coord: [item.time4, item.score],
-      value: item.score,
-      name: item.time4,
-      label: { show: true, formatter: item.time4 },
-    }));
-  }
-}, { immediate: true });
+watch(
+  () => careProcessList.value?.patientConditioningScores,
+  (newScores) => {
+    if (newScores && newScores.length > 0) {
+      option.value.xAxis.data = newScores.map((item) => item.time4);
+      option.value.series[0].data = newScores.map((item) => item.score);
+      option.value.series[0].markPoint.data = newScores.map((item) => ({
+        coord: [item.time4, item.score],
+        value: item.score,
+        name: item.time4,
+        label: { show: true, formatter: item.time4 },
+      }));
+    }
+  },
+  { immediate: true }
+);
 
 type SymptomItemVo = Record<
   `symptom-${HealthReportSymptomItemVo['id']}`,
@@ -163,16 +176,20 @@ 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 = () => { VxeUI.drawer.close(id); };
+  const onDestroy = () => {
+    VxeUI.drawer.close(id);
+  };
   onDestroy();
   VxeUI.drawer.open({
     id,
-    mask: true, lockView: false, padding: false,
+    mask: true,
+    lockView: false,
+    padding: false,
     width: window.innerWidth - 256,
-    escClosable: true, maskClosable: true,
+    escClosable: true,
+    maskClosable: true,
     title: `健康分析报告`,
     slots: {
       default() {
@@ -204,29 +221,30 @@ function open(row: Model) {
                     ? '已完结'
                     : ''
       }}</span>
-      <span
-         v-if="careProcessList?.patientName"
-         >姓名:<b>{{ careProcessList?.patientName }}</b></span
+      <span v-if="careProcessList?.patientName"
+        >姓名:<b>{{ careProcessList?.patientName }}</b></span
       >
       <span v-if="careProcessList?.diagnosis">疾病名称:{{ careProcessList?.diagnosis }}</span>
       <span v-if="careProcessList?.symptom">证型:{{ careProcessList?.symptom }}</span>
       <span v-if="careProcessList?.createBy">开具医生:{{ careProcessList?.createBy }}</span>
-      <span v-if="careProcessList?.estimatedStartDate && careProcessList?.estimatedEndDate">调养周期:{{ careProcessList?.estimatedStartDate }} ~ {{ careProcessList?.estimatedEndDate }}</span>
+      <span v-if="careProcessList?.estimatedStartDate && careProcessList?.estimatedEndDate"
+        >调养周期:{{ careProcessList?.estimatedStartDate }} ~ {{ careProcessList?.estimatedEndDate }}</span
+      >
     </div>
-    <div v-if="careProcessList?.isDelivery === 'Y'" class="delivery-info">
-      <a-checkbox checked disabled style="color: #52c41a; margin-right: 8px" />
-      <span>配送</span>
+    <div v-if="isShowDelivery" class="delivery-info" style="margin-left: 75px">
+      <a-checkbox checked style="color: #52c41a; margin-right: 8px" />
+      <span style="margin-right: 15px">配送</span>
       <span>地址:{{ careProcessList?.provinceName }}{{ careProcessList?.cityName }}{{ careProcessList?.areaName }}{{ careProcessList?.detailAddress }}</span>
       <span style="margin-left: 16px">电话:{{ careProcessList?.phone }}</span>
     </div>
     <!-- 线上项目 -->
-    <div v-for="item in careProcessList?.items" :key="item.id">
+    <div v-for="item in careProcessList?.items" :key="item.id" class="project-card">
       <div class="project-section" v-if="item?.patientConditioningOfflines">
         <div class="project-title">
           <span style="font-size: 14px; font-weight: bold">◇ {{ item?.conditioningProgramDetail?.name }}</span>
-          <span class="stat">数量:{{ item.totalMeasure }}</span>
-          <span class="stat">还剩:{{ item?.remainCount }}</span>
-          <span class="stat">已核销:{{ item?.finishCount }}</span>
+          <span class="stat">数量:{{ item.totalMeasure }} {{ item?.conditioningProgramDetail?.cpFixedPricingRule?.pricingUnit || '次' }}</span>
+          <span class="stat">还剩:{{ item?.remainCount }} {{ item?.conditioningProgramDetail?.cpFixedPricingRule?.pricingUnit || '次' }}</span>
+          <span class="stat">已核销:{{ item?.finishCount }} {{ item?.conditioningProgramDetail?.cpFixedPricingRule?.pricingUnit || '次' }}</span>
         </div>
         <vxe-table :data="item?.patientConditioningOfflines" border>
           <vxe-column type="seq" title="序号" width="80" />
@@ -238,7 +256,7 @@ function open(row: Model) {
         <div class="mt-3">
           <div class="mb-1">
             预定频率:每 {{ item.frequencyType }} 天 {{ item.frequencyMeasure }}
-            {{ item?.conditioningProgramDetail?.cpFixedPricingRule?.pricingUnit || '次'}}
+            {{ item?.conditioningProgramDetail?.cpFixedPricingRule?.pricingUnit || '次' }}
           </div>
           <div v-if="item.remark">操作指南:{{ item.remark }}</div>
         </div>
@@ -246,22 +264,22 @@ function open(row: Model) {
       <!-- 线上 -->
       <div class="yuanqi-tea" v-if="item?.patientConditioningOnlines">
         <div class="mb-2">
-          <span class="mr-10">◇ {{ item?.conditioningProgramDetail?.name }}</span>
-          <span>数量:{{ item.totalMeasure }}</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>
         </div>
         <div class="mb-1">
           预定频率:每 {{ item.frequencyType }} 天 {{ item.frequencyMeasure }}
-          {{ item?.conditioningProgramDetail?.cpFixedPricingRule?.pricingUnit || '次'}}
+          {{ item?.conditioningProgramDetail?.cpFixedPricingRule?.pricingUnit || '次' }}
         </div>
         <div v-if="item.remark">操作指南:{{ item.remark }}</div>
       </div>
       <!-- 健康评估 -->
-      <div  class="project-section mb-3" v-if="item?.healthAnalysisReports">
+      <div class="project-section mb-3 project-card" v-if="item?.healthAnalysisReports">
         <div class="project-title">
           <span style="font-size: 14px; font-weight: bold">◇ {{ item?.conditioningProgramDetail?.name }}</span>
-          <span class="stat">数量:{{ item?.totalMeasure }}</span>
-          <span class="stat">还剩:{{ item?.remainCount }}</span>
-          <span class="stat">已核销:{{ item?.finishCount }}</span>
+          <span class="stat">数量:{{ item?.totalMeasure }} {{ item?.conditioningProgramDetail?.cpFixedPricingRule?.pricingUnit || '次' }}</span>
+          <span class="stat">还剩:{{ item?.remainCount }} {{ item?.conditioningProgramDetail?.cpFixedPricingRule?.pricingUnit || '次' }}</span>
+          <span class="stat">已核销:{{ item?.finishCount }} {{ item?.conditioningProgramDetail?.cpFixedPricingRule?.pricingUnit || '次' }}</span>
         </div>
         <vxe-table :data="item?.healthAnalysisReports" border>
           <vxe-column type="seq" title="序号" width="80" />
@@ -274,44 +292,44 @@ function open(row: Model) {
         </vxe-table>
         <div class="mt-3">
           <div class="mb-1">
-          预定频率:
-          <span v-if="item?.frequencyType==='不限'">不限</span>
-          <span v-else>每 {{ item?.frequencyType }}天 {{ item?.frequencyMeasure }}
-          {{ item?.conditioningProgramDetail?.cpFixedPricingRule?.pricingUnit }}
-        </span>
-       
-        </div>
-        <div v-if="item?.remark">操作指南:{{ item?.remark }}</div>
+            预定频率:
+            <span v-if="item?.frequencyType === '不限'">不限</span>
+            <span v-else
+              >每 {{ item?.frequencyType }}天 {{ item?.frequencyMeasure }}
+              {{ item?.conditioningProgramDetail?.cpFixedPricingRule?.pricingUnit }}
+            </span>
+          </div>
+          <div v-if="item?.remark">操作指南:{{ item?.remark }}</div>
         </div>
       </div>
-   
       <!-- 健康记录 -->
-      <a-tabs class="panel-wrapper" v-model:activeKey="activePanel" v-if="item?.healthAnalysisReports && item?.healthAnalysisReports.length > 0">
-       
-        <a-tab-pane v-for="panel in panels" :key="panel.id" class="panel-pane">
-          <component :is="panel.component" :patient="patient" :healthAnalysisReports="item?.healthAnalysisReports" :type="type"></component>
-        </a-tab-pane>
-        <template #renderTabBar>
-        <a-radio-group v-model:value="activePanel">
-          <a-radio-button v-for="panel in panels" :key="panel.id" :value="panel.id">
-            {{ panel.title }}
-          </a-radio-button>
-        </a-radio-group>
-      </template>
-      </a-tabs>
-     
-      </div>
-       <!-- 调养效果 -->
-       <div style="margin: 20px 0 10px 0;" v-if="careProcessList?.patientConditioningScores && careProcessList.patientConditioningScores.length > 0">
-        <h3>调养效果</h3>
-        <!-- todo 折线图 -->
-        <v-chart :option="option" style="width: 350px; height: 200px" />
-      </div>
-       <!-- 指标 -->
-       <div v-if="careProcessList?.patientQuotaGroups && careProcessList?.patientQuotaGroups.length > 0">
-        <label>生理指标</label>
-        <a-button type="link" @click="openIndicatorRecordsPreview">更新记录</a-button>
+      <div class="health-records-card">
+        <a-tabs class="panel-wrapper" v-model:activeKey="activePanel" v-if="item?.healthAnalysisReports && item?.healthAnalysisReports.length > 0">
+          <a-tab-pane v-for="panel in panels" :key="panel.id" class="panel-pane">
+            <div>记录</div>
+            <component :is="panel.component" :patient="patient" :healthAnalysisReports="item?.healthAnalysisReports" :type="type"></component>
+          </a-tab-pane>
+          <!-- <template #renderTabBar>
+            <a-radio-group v-model:value="activePanel">
+              <a-radio-button v-for="panel in panels" :key="panel.id" :value="panel.id">
+                {{ panel.title }}
+              </a-radio-button>
+            </a-radio-group>
+          </template> -->
+        </a-tabs>
       </div>
+    </div>
+    <!-- 调养效果 -->
+    <div style="margin: 20px 0 10px 0" v-if="careProcessList?.patientConditioningScores && careProcessList.patientConditioningScores.length > 0">
+      <h3>调养效果</h3>
+      <!-- todo 折线图 -->
+      <v-chart :option="option" style="width: 350px; height: 200px" />
+    </div>
+    <!-- 指标 -->
+    <div v-if="careProcessList?.patientQuotaGroups && careProcessList?.patientQuotaGroups.length > 0">
+      <label>生理指标</label>
+      <a-button type="link" @click="openIndicatorRecordsPreview">更新记录</a-button>
+    </div>
   </div>
 </template>
 
@@ -324,10 +342,9 @@ function open(row: Model) {
     padding-top: 12px;
     height: 600px;
     :deep(.ant-tabs-content) {
-    height: 100%;
-  }
+      height: 100%;
+    }
   }
- 
 }
 .care-progress-card {
   background: #fff;
@@ -396,4 +413,20 @@ function open(row: Model) {
   /* border-radius: 6px; */
   padding: 6px 30px 6px 6px;
 }
+.project-card :deep(.vxe-table--header th) {
+  background: #9abde4 !important;
+  color: black !important;
+}
+.health-records-card :deep(.vxe-table--header th) {
+  background: #F8F8F9 !important;
+  color: unset !important;
+}
+.project-card :deep(.vxe-table--border .vxe-body--row > td),
+.project-card :deep(.vxe-table--border .vxe-header--row > th) {
+  border-color: #bfcbd9 !important;
+  border-width: 2px !important;
+}
+.project-card :deep(.vxe-table--border) {
+  border-color: #bfcbd9 !important;
+}
 </style>

+ 1 - 1
src/service/ConfirmItems.vue

@@ -62,7 +62,7 @@ watch(
     }
     getSupplier({
       conditioningProgramTypes: newType ? [newType] : [],
-      institutionId: newInstitutionId ? newInstitutionId : '',
+      collaborateDeptId: newInstitutionId ? newInstitutionId : '',
     });
   },
   { immediate: true }

+ 11 - 7
src/service/IntroduceProjectList.vue

@@ -95,20 +95,24 @@ function addProject(row: any) {
 <template>
   <div style="background: #fff; border-radius: 6px">
     <vxe-table :data="tableData" border :row-class-name="({ row }) => (!row.canImport ? 'highlight-row' : '')">
-      <vxe-column field="conditioningProgramDetail.name" title="项目名称" width="200" />
-      <vxe-column field="conditioningProgramDetail.conditioningProgramType" title="方案类型" width="300" />
-      <vxe-column title="是否可引入" width="200" align="center">
+      <vxe-column field="conditioningProgramDetail.name" title="项目名称" />
+      <vxe-column field="conditioningProgramDetail.conditioningProgramType" title="方案类型" />
+      <vxe-column title="是否可引入"  align="center">
+        <template #default="{ row }">
+          <a-checkbox v-model:checked="checked" disabled />
+        </template>
+      </vxe-column>
+      <!-- <vxe-column title="是否可引入"  align="center">
         <template #default="{ row }">
           <span v-if="!row.conditioningProgramDetail.ischeck" style="color: #f5222d;">{{ row.conditioningProgramDetail.reason }}</span>
           <a-checkbox v-else v-model:checked="checked" disabled />
-         
         </template>
-      </vxe-column>
-      <vxe-column field="conditioningProgramDetail" title="操作" width="200">
+      </vxe-column> -->
+      <!-- <vxe-column field="conditioningProgramDetail" title="操作" >
         <template #default="{ row }">
           <a-button type="primary" @click="addProject(row.conditioningProgramDetail)" v-if="!row.conditioningProgramDetail.ischeck">新增</a-button>
         </template>
-      </vxe-column>
+      </vxe-column> -->
     </vxe-table>
     <div style="display: flex; justify-content: center; margin-top: 24px">
       <a-button style="margin-right: 24px" @click="handleCancel">取消</a-button>

+ 13 - 5
src/service/ServicePackageDetail.vue

@@ -2,7 +2,7 @@
 import { ref, reactive } from 'vue';
 import { getConditioningRecordDetailMethod, voidConditioningSchemeMethod } from '@/request/api/care.api';
 import { usePagination, useRequest } from 'alova/client';
-import type { ConditioningRecordListModel, ConditioningRecordListQuery,SystemCwModel } from '@/model/care.model';
+import type { ConditioningRecordListModel, ConditioningRecordListQuery, SystemCwModel } from '@/model/care.model';
 import CareProcess from '@/service/CareProgress.vue';
 import { message, notification } from 'ant-design-vue';
 import VxeUI from 'vxe-table';
@@ -16,7 +16,7 @@ const emit = defineEmits<{
   (e: 'voidSubmit', data: SystemCwModel): void;
 }>();
 let tableData = ref<any>({});
-async function getRecordDetail(){
+async function getRecordDetail() {
   try {
     const res: any = await getConditioningRecordDetailMethod(props.data);
     tableData.value = res;
@@ -66,7 +66,7 @@ const setVisible = (value: boolean): void => {
   visible.value = value;
 };
 // 作废
- function handleVoid() {
+function handleVoid() {
   voidConditioningSchemeMethod(Number(props.data.id)).then(async (res) => {
     notification.success({
       message: '作废成功',
@@ -115,7 +115,7 @@ const setVisible = (value: boolean): void => {
             <span>{{ tableData?.name }}</span>
           </div> -->
           <!-- 服务形象照 -->
-          <div class="flex" v-if="props.data?.types === 'institution'" style="align-items: center; margin-bottom: 0">
+          <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"
@@ -140,7 +140,15 @@ const setVisible = (value: boolean): void => {
               <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">
+          <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>