eight
2024-08-07 71367d956116b05cdadd8d3abefd5e7670683e9c
新增 预约 基本字段 OK
已修改4个文件
117 ■■■■■ 文件已修改
src/api/ecg/appointment/index.ts 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/dict.ts 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/ecg/appointment/AppointmentForm.vue 92 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/ecg/appointment/index.vue 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/ecg/appointment/index.ts
@@ -4,7 +4,7 @@
export interface AppointmentVO {
  patId: string // 患者编号
  patName: string // 患者姓名
  patGender: boolean // 患者性别
  patGender: number // 患者性别
  patBirthday: Date // 患者生日
  patMobile: string // 患者手机
  patPhone: string // 患者电话
src/utils/dict.ts
@@ -142,6 +142,10 @@
  INFRA_FILE_STORAGE = 'infra_file_storage',
  INFRA_OPERATE_TYPE = 'infra_operate_type',
  // ========== ECG 模块 ==========
  ECG_BOOK_TIMESLOT = 'ecg_book_timeslot',
  ECG_CHECK_TYPE = 'ecg_check_type',
  // ========== BPM 模块 ==========
  BPM_MODEL_FORM_TYPE = 'bpm_model_form_type',
  BPM_TASK_CANDIDATE_STRATEGY = 'bpm_task_candidate_strategy',
src/views/ecg/appointment/AppointmentForm.vue
@@ -16,13 +16,42 @@
      <el-form-item label="患者性别" prop="patGender">
        <el-radio-group v-model="formData.patGender">
          <el-radio
            v-for="dict in getBoolDictOptions(DICT_TYPE.SYSTEM_USER_SEX)"
            v-for="dict in getIntDictOptions(DICT_TYPE.SYSTEM_USER_SEX)"
            :key="dict.value"
            :label="dict.value"
          >
            {{ dict.label }}
          </el-radio>
        </el-radio-group>
      </el-form-item>
      <el-form-item label="预约日期" prop="bookDate">
          <el-date-picker
                  v-model="formData.bookDate"
                  type="date"
                  value-format="x"
                  placeholder="选择预约日期"
                  :default-value="new Date()"
          />
      </el-form-item>
      <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)"
                      :key="dict.value"
                      :label="dict.label"
                      :value="dict.value"
              />
          </el-select>
      </el-form-item>
      <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)"
                      :key="dict.value"
                      :label="dict.label"
                      :value="dict.value"
              />
          </el-select>
      </el-form-item>
      <el-form-item label="患者生日" prop="patBirthday">
        <el-date-picker
@@ -59,43 +88,6 @@
      <el-form-item label="床号" prop="patBedNo">
        <el-input v-model="formData.patBedNo" placeholder="请输入床号" />
      </el-form-item>
      <el-form-item label="预约编号" prop="bookId">
        <el-input v-model="formData.bookId" placeholder="请输入预约编号" />
      </el-form-item>
      <el-form-item label="预约检查时间段" prop="bookPeriodStart">
        <el-date-picker
          v-model="formData.bookPeriodStart"
          type="date"
          value-format="x"
          placeholder="选择预约检查时间段"
        />
      </el-form-item>
      <el-form-item label="预约检查时间段" prop="bookPeriodEnd">
        <el-date-picker
          v-model="formData.bookPeriodEnd"
          type="date"
          value-format="x"
          placeholder="选择预约检查时间段"
        />
      </el-form-item>
      <el-form-item label="预约发生时间" prop="bookTime">
        <el-date-picker
          v-model="formData.bookTime"
          type="date"
          value-format="x"
          placeholder="选择预约发生时间"
        />
      </el-form-item>
      <el-form-item label="预约检查类型" prop="bookCheckType">
        <el-select v-model="formData.bookCheckType" placeholder="请选择预约检查类型">
          <el-option
            v-for="dict in getBoolDictOptions(DICT_TYPE.ECG_CHECK_TYPE)"
            :key="dict.value"
            :label="dict.label"
            :value="dict.value"
          />
        </el-select>
      </el-form-item>
    </el-form>
    <template #footer>
      <el-button @click="submitForm" type="primary" :disabled="formLoading">确 定</el-button>
@@ -104,7 +96,7 @@
  </Dialog>
</template>
<script setup lang="ts">
import { getBoolDictOptions, DICT_TYPE } from '@/utils/dict'
import {DICT_TYPE, getIntDictOptions} from '@/utils/dict'
import { AppointmentApi, AppointmentVO } from '@/api/ecg/appointment'
/** 预约 表单 */
@@ -120,7 +112,7 @@
const formData = ref({
  patId: undefined,
  patName: undefined,
  patGender: undefined,
  patGender: 1, // 1 男 2 女
  patBirthday: undefined,
  patMobile: undefined,
  patPhone: undefined,
@@ -132,19 +124,17 @@
  patWardDesc: undefined,
  patBedNo: undefined,
  bookId: undefined,
  bookPeriodStart: undefined,
  bookPeriodEnd: undefined,
  bookTime: undefined,
  bookCheckType: undefined
  bookDate: new Date(),
  bookTimeslot: 10001015,
  bookCheckType: 10
})
const formRules = reactive({
  patId: [{ required: true, message: '患者编号不能为空', trigger: 'blur' }],
  patName: [{ required: true, message: '患者姓名不能为空', trigger: 'blur' }],
  patGender: [{ required: true, message: '患者性别不能为空', trigger: 'blur' }],
  bookId: [{ required: true, message: '预约编号不能为空', trigger: 'blur' }],
  bookPeriodStart: [{ required: true, message: '预约检查时间段不能为空', trigger: 'blur' }],
  bookPeriodEnd: [{ required: true, message: '预约检查时间段不能为空', trigger: 'blur' }],
  bookTime: [{ required: true, message: '预约发生时间不能为空', trigger: 'blur' }],
  bookDate: [{ required: true, message: '预约日期不能为空', trigger: 'blur' }],
  bookTimeslot: [{ required: true, message: '预约检查时间段不能为空', trigger: 'blur' }],
  bookCheckType: [{ required: true, message: '预约检查类型不能为空', trigger: 'change' }]
})
const formRef = ref() // 表单 Ref
@@ -196,7 +186,7 @@
  formData.value = {
    patId: undefined,
    patName: undefined,
    patGender: undefined,
    patGender: 1, // 1 男 2 女
    patBirthday: undefined,
    patMobile: undefined,
    patPhone: undefined,
@@ -208,10 +198,10 @@
    patWardDesc: undefined,
    patBedNo: undefined,
    bookId: undefined,
    bookPeriodStart: undefined,
    bookPeriodEnd: undefined,
    bookTime: undefined,
    bookCheckType: undefined
    bookDate: new Date(),
    bookTimeslot: 10001015,
    bookCheckType: 10
  }
  formRef.value?.resetFields()
}
src/views/ecg/appointment/index.vue
@@ -161,17 +161,6 @@
          class="!w-240px"
        />
      </el-form-item>
      <el-form-item label="预约发生时间" prop="bookTime">
        <el-date-picker
          v-model="queryParams.bookTime"
          value-format="YYYY-MM-DD HH:mm:ss"
          type="daterange"
          start-placeholder="开始日期"
          end-placeholder="结束日期"
          :default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]"
          class="!w-220px"
        />
      </el-form-item>
      <el-form-item label="预约检查类型" prop="bookCheckType">
        <el-select
          v-model="queryParams.bookCheckType"
@@ -325,7 +314,6 @@
  patName: undefined,
  patGender: undefined,
  patBirthday: undefined,
  patBirthday: [],
  patMobile: undefined,
  patPhone: undefined,
  patIdentityId: undefined,
@@ -336,11 +324,8 @@
  patWardDesc: undefined,
  patBedNo: undefined,
  bookId: undefined,
  bookPeriodStart: undefined,
  bookPeriodStart: [],
  bookPeriodEnd: undefined,
  bookPeriodEnd: [],
  bookTime: [],
  bookDate: undefined,
  bookTimeslot: undefined,
  bookCheckType: undefined,
  bookSrc: undefined
})