eight
2024-10-31 812ffe6f989303514b45f8106f09ff902bbe0d8a
src/views/ecg/appointment/AppointmentConfirm.vue
@@ -24,7 +24,7 @@
          <el-radio
            v-for="dict in getIntDictOptions(DICT_TYPE.SYSTEM_USER_SEX)"
            :key="dict.value"
            :label="dict.value"
            :value="dict.value"
          >
            {{ dict.label }}
          </el-radio>
@@ -40,7 +40,7 @@
      </el-form-item>
    </div>
    <div class="form-row">
      <el-form-item label="预约时间段" prop="bookTimeslot">
      <el-form-item label="预约时间" prop="bookTimeslot">
        <el-select v-model="formData.bookTimeslot" placeholder="请选择预约时间段">
          <el-option
            v-for="dict in getIntDictOptions(DICT_TYPE.ECG_BOOK_TIMESLOT)"
@@ -50,10 +50,10 @@
          />
        </el-select>
      </el-form-item>
      <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 getIntDictOptions(DICT_TYPE.ECG_CHECK_TYPE)"
            v-for="dict in checkTypeStore.getCheckTypeOptions()"
            :key="dict.value"
            :label="dict.label"
            :value="dict.value"
@@ -86,21 +86,21 @@
      <el-form-item label="患者地址" prop="patAddr">
        <el-input v-model="formData.patAddr" placeholder="请输入患者地址" />
      </el-form-item>
      <el-form-item label="患者所在科室代码" prop="patDeptCode">
        <el-input v-model="formData.patDeptCode" placeholder="请输入患者所在科室代码" />
      <el-form-item label="科室代码" prop="patDeptCode">
        <el-input v-model="formData.patDeptCode" placeholder="请输入科室代码" />
      </el-form-item>
    </div>
    <div class="form-row">
      <el-form-item label="患者所在科室名称" prop="patDeptDesc">
        <el-input v-model="formData.patDeptDesc" placeholder="请输入患者所在科室名称" />
      <el-form-item label="科室名称" prop="patDeptDesc">
        <el-input v-model="formData.patDeptDesc" placeholder="请输入科室名称" />
      </el-form-item>
      <el-form-item label="患者所在病区代码" prop="patWardCode">
        <el-input v-model="formData.patWardCode" placeholder="请输入患者所在病区代码" />
      <el-form-item label="病区代码" prop="patWardCode">
        <el-input v-model="formData.patWardCode" placeholder="请输入病区代码" />
      </el-form-item>
    </div>
    <div class="form-row">
      <el-form-item label="患者所在病区名称" prop="patWardDesc">
        <el-input v-model="formData.patWardDesc" placeholder="请输入患者所在病区名称" />
      <el-form-item label="病区名称" prop="patWardDesc">
        <el-input v-model="formData.patWardDesc" placeholder="请输入病区名称" />
      </el-form-item>
      <el-form-item label="床号" prop="patBedNo">
        <el-input v-model="formData.patBedNo" placeholder="请输入床号" />
@@ -111,22 +111,20 @@
<script setup lang="ts">
import {DICT_TYPE, getIntDictOptions} from '@/utils/dict'
import { AppointmentApi, AppointmentVO } from '@/api/ecg/appointment'
import {useCheckTypeStore} from "@/store/modules/checkType";
/** 预约确认 表单 */
defineOptions({ name: 'AppointmentConfirm' })
const checkTypeStore = useCheckTypeStore();
const message = useMessage() // 消息弹窗
const loading = ref(true) // 列表的加载中
const list = ref<AppointmentVO[]>([]) // 列表的数据
const total = ref(0) // 列表的总页数
const queryParams = reactive({
    pageNo: 1,
    pageSize: 10,
    patId: undefined
})
const formData = ref({
const formData = ref<AppointmentVO>({
  id: 0,
  patId: "",
  patName: "",
@@ -144,41 +142,39 @@
  bookId: "",
  bookTime: new Date(),
  bookDate: new Date(),
  bookTimeslot: 10001015,
  bookCheckType: 10
  bookTimeslot: 9000930,
  bookCheckType: checkTypeStore.getCheckTypeName(100)
})
const formRef = ref() // 表单 Ref
const searchBookInfo = async () => {
  resetForm()
  total.value = 0
  list.value = []
  await getList()
  if (total.value === 1) {
    formData.value = list.value[0]
  if (null === queryParams.patId || "" === queryParams.patId)
    return
  const data = await AppointmentApi.queryAndCreateAppointmentByPatId(queryParams.patId) // 对应数据库中 pat_id
  console.info( data )
  if (null !== data) {
    formData.value = data
    return
  }
  message.notify("请先预约!")
}
/** 查询列表 */
const getList = async () => {
    loading.value = true
    try {
        const data = await AppointmentApi.getAppointmentPage(queryParams)
        list.value = data.list
        total.value = data.total
    } finally {
        loading.value = false
    }
  ElNotification({
    title: '温馨提示',
    message: "请先预约",
    type: 'warning'
  })
}
const _confirmAppointment = async () => {
    const data = await AppointmentApi.confirmAppointment(formData.value)
    message.info(data)
    ElNotification({
      title: '温馨提示',
      message: data,
      type: 'warning'
    })
}
/** 重置表单 */
const resetForm = () => {
@@ -200,7 +196,7 @@
    bookId: "",
    bookTime: new Date(),
    bookDate: new Date(),
    bookTimeslot: 10001015,
    bookTimeslot: 9000930,
    bookCheckType: 10
  }
  formRef.value?.resetFields()