eight
2024-10-30 1cbfac109c80cdefab53d573619c2a3c332ddf45
update
已修改3个文件
43 ■■■■ 文件已修改
src/api/ecg/appointment/index.ts 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/ecg/appointment/AppointmentForm.vue 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/ecg/appointment/index.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/ecg/appointment/index.ts
@@ -36,11 +36,16 @@
    return await request.get({ url: `/ecg/appointment/get?id=` + id })
  },
  // 查询预约详情
  // 从HIS或者DB查询预约详情
  getAppointmentByPatId: async (patId: string) => {
    return await request.get({ url: `/ecg/appointment/get-by-patient?patId=` + patId })
  },
  // 从HIS查询预约或开单信息
  queryAppointmentFromHis: async (patId: string) => {
    return await request.get({ url: `/ecg/appointment/query-his-by-patient?patId=` + patId })
  },
  // 新增预约
  createAppointment: async (data: AppointmentVO) => {
    return await request.post({ url: `/ecg/appointment/create`, data })
src/views/ecg/appointment/AppointmentForm.vue
@@ -10,7 +10,7 @@
      <el-row :gutter="20">
        <el-col :span="12">
          <el-form-item label="患者编号" prop="patId">
            <el-input v-model="formData.patId" placeholder="请输入患者编号" />
            <el-input v-model="formData.patId" placeholder="请输入患者编号" clearable @input="searchBookInfo"/>
          </el-form-item>
        </el-col>
        <el-col :span="12">
@@ -65,8 +65,8 @@
      </el-row>
      <el-row :gutter="20">
        <el-col :span="12">
          <el-form-item label="预约检查类型" prop="bookCheckType">
            <el-select v-model="formData.bookCheckType" placeholder="请选择预约检查类型">
          <el-form-item label="检查类型" prop="bookCheckType">
            <el-select v-model="formData.bookCheckType" placeholder="请选择检查类型">
              <el-option
                  v-for="dict in checkTypeStore.getCheckTypeOptions()"
                  :key="dict.value"
@@ -142,7 +142,7 @@
          </el-form-item>
        </el-col>
      </el-row>
      <el-form-item label="已付款标记" prop="paid">
      <el-form-item label="付款标记" prop="paid">
        <el-checkbox v-model="formData.paid" :true-label=1 :false-label=0>
          已付款
        </el-checkbox>
@@ -270,4 +270,24 @@
  }
  formRef.value?.resetFields()
}
const searchBookInfo = async () => {
  const tmpPatId = formData.value.patId
  if (null === tmpPatId || "" === tmpPatId)
    return
  const data = await AppointmentApi.queryAppointmentFromHis( tmpPatId ) // 对应数据库中 pat_id
  console.info( data )
  if (null !== data) {
    formData.value = data
    return
  }
  ElNotification({
    title: '温馨提示',
    message: "没有开单信息",
    type: 'warning'
  })
}
</script>
src/views/ecg/appointment/index.vue
@@ -116,7 +116,7 @@
  <!-- 列表 -->
  <ContentWrap>
    <el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
    <el-table v-loading="loading" :data="appointmentList" :stripe="true" :show-overflow-tooltip="true">
      <el-table-column label="编号" align="center" prop="patId" />
      <el-table-column label="缴费" align="center" prop="paid">
        <template #default="scope">
@@ -197,7 +197,7 @@
</template>
<script setup lang="ts">
import {DICT_TYPE, getIntDictOptions} from '@/utils/dict'
import {DICT_TYPE} from '@/utils/dict'
import { dateFormatter2 } from '@/utils/formatTime'
import download from '@/utils/download'
import { AppointmentApi, AppointmentVO } from '@/api/ecg/appointment'
@@ -211,7 +211,7 @@
const { t } = useI18n() // 国际化
const loading = ref(true) // 列表的加载中
const list = ref<AppointmentVO[]>([]) // 列表的数据
const appointmentList = ref<AppointmentVO[]>([]) // 列表的数据
const total = ref(0) // 列表的总页数
const queryParams = reactive({
  pageNo: 1,
@@ -245,7 +245,7 @@
  loading.value = true
  try {
    const data = await AppointmentApi.getAppointmentPage(queryParams)
    list.value = data.list
    appointmentList.value = data.list
    total.value = data.total
  } finally {
    loading.value = false