11
WXL
7 天以前 4400856b415e254bed5082005bd2ea45285047c5
11
已修改7个文件
258 ■■■■ 文件已修改
src/views/ecg/appointment/AppointmentConfirm.vue 167 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/ecg/appointment/AppointmentForm.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/ecg/appointment/alter.vue 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/ecg/appointment/index.vue 33 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/ecg/doctor/components/DevInstallPanel.vue 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/ecg/doctor/components/DevReadyPanel.vue 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/ecg/doctor/components/RoutinePanel.vue 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/ecg/appointment/AppointmentConfirm.vue
@@ -1,90 +1,93 @@
<template>
  <div style="display: flex; justify-content: center; ">
    <el-form-item label="患者编号" >
      <el-input v-model="queryParams.patId" placeholder="请输入患者编号" clearable @input="searchBookInfo" />
  <div style="display: flex; justify-content: center">
    <el-form-item label="患者编号">
      <el-input
        v-model="queryParams.patId"
        placeholder="请输入患者编号"
        clearable
        @input="searchBookInfo"
      />
    </el-form-item>
  </div>
  <div style="color: #ff0000; text-align: center; font-size: 12px; margin-top: 4px;">
    <i class="el-icon-warning" style="margin-right: 4px;"></i>
  <div style="color: #ff0000; text-align: center; font-size: 12px; margin-top: 4px">
    <i class="el-icon-warning" style="margin-right: 4px"></i>
    支持身份证号,申请单号,就诊流水号,住院号
  </div>
  <div style="display: flex; flex-wrap: wrap; justify-content: center; margin-bottom: 20px">
    <div v-for="(_appointment, index) in appointmentVOList" :key="index">
      <CheckItemPanel  :appointment="_appointment"  @event_appoint_confirm="onEventAppointConfirm"/>
      <CheckItemPanel :appointment="_appointment" @event_appoint_confirm="onEventAppointConfirm" />
    </div>
  </div>
  <el-divider/>
  <el-divider />
  <el-form
    ref="formRef"
    :model="formData"
    label-width="100px"
    class="two-column-form"
  >
  <el-form ref="formRef" :model="formData" label-width="100px" class="two-column-form">
    <div class="form-row">
      <el-form-item label="患者姓名" prop="patName">
        <el-input v-model="formData.patName" placeholder="患者姓名" readonly />
      </el-form-item>
      <el-form-item label="患者生日" prop="patBirthday">
        <el-date-picker
            v-model="formData.patBirthday"
            type="date"
            value-format="x"
            placeholder="选择患者生日"
            readonly
          v-model="formData.patBirthday"
          type="date"
          value-format="x"
          placeholder="选择患者生日"
          readonly
        />
      </el-form-item>
    </div>
    <div class="form-row">
       <el-form-item label="患者性别" prop="patGender">
      <el-form-item label="患者性别" prop="patGender">
        <el-radio-group v-model="formData.patGender" readonly>
          <el-radio
              v-for="dict in getIntDictOptions(DICT_TYPE.SYSTEM_USER_SEX)"
              :key="dict.value"
              :value="dict.value">
            v-for="dict in getIntDictOptions(DICT_TYPE.SYSTEM_USER_SEX)"
            :key="dict.value"
            :value="dict.value"
          >
            {{ dict.label }}
          </el-radio>
        </el-radio-group>
      </el-form-item>
      <el-form-item label="是否多耐" prop="tolerance">
        <el-radio-group v-model="formData.tolerance" readonly>
        <el-tag type="info" v-if="formData.tolerance == 0">否</el-tag>
        <el-tag type="danger" v-else>是</el-tag>
        <!-- <el-radio-group v-model="formData.tolerance" readonly>
          <el-radio
              v-for="dict in getIntDictOptions(DICT_TYPE.ecg_tolerance)"
              :key="dict.value"
              :value="dict.value">
            v-for="dict in getIntDictOptions(DICT_TYPE.ecg_tolerance)"
            :key="dict.value"
            :value="dict.value"
          >
            {{ dict.label }}
          </el-radio>
        </el-radio-group>
        </el-radio-group> -->
      </el-form-item>
    </div>
    <div class="form-row">
      <el-form-item label="患者手机" prop="patMobile" >
      <el-form-item label="患者手机" prop="patMobile">
        <el-input v-model="formData.patMobile" placeholder="请输入患者手机" readonly />
      </el-form-item>
<!--
      <!--
      <el-form-item label="患者电话" prop="patPhone" readonly>
        <el-input v-model="formData.patPhone" placeholder="请输入患者电话" />
      </el-form-item>
-->
      <el-form-item label="身份证号" prop="patIdentityId" >
      <el-form-item label="身份证号" prop="patIdentityId">
        <el-input v-model="formData.patIdentityId" placeholder="请输入身份证号" readonly />
      </el-form-item>
    </div>
    <div class="form-row">
<!--
      <!--
      <el-form-item label="病区代码" prop="patWardCode" readonly>
        <el-input v-model="formData.patWardCode" placeholder="请输入病区代码" />
      </el-form-item>
-->
      <el-form-item label="病区名称" prop="patWardDesc" >
      <el-form-item label="病区名称" prop="patWardDesc">
        <el-input v-model="formData.patWardDesc" placeholder="请输入病区名称" readonly />
      </el-form-item>
      <el-form-item label="床号" prop="patBedNo" >
      <el-form-item label="床号" prop="patBedNo">
        <el-input v-model="formData.patBedNo" placeholder="请输入床号" readonly />
      </el-form-item>
    </div>
@@ -94,130 +97,127 @@
              <el-input v-model="formData.patDeptCode" placeholder="请输入科室代码" />
            </el-form-item>
      -->
      <el-form-item label="科室名称" prop="patDeptDesc" >
        <el-input v-model="formData.patDeptDesc" placeholder="请输入科室名称" readonly/>
      <el-form-item label="科室名称" prop="patDeptDesc">
        <el-input v-model="formData.patDeptDesc" placeholder="请输入科室名称" readonly />
      </el-form-item>
      <el-form-item label="患者地址" prop="patAddr">
        <el-input v-model="formData.patAddr" placeholder="请输入患者地址" readonly/>
        <el-input v-model="formData.patAddr" placeholder="请输入患者地址" readonly />
      </el-form-item>
    </div>
  </el-form>
</template>
<script setup lang="ts">
import {DICT_TYPE, getIntDictOptions} from '@/utils/dict'
import { DICT_TYPE, getIntDictOptions } from '@/utils/dict'
import { AppointmentApi, AppointmentVO } from '@/api/ecg/appointment'
import CheckItemPanel from "@/views/ecg/appointment/CheckItemPanel.vue";
import {getCheckTypeName} from "@/utils/checkTypeFormatter";
import CheckItemPanel from '@/views/ecg/appointment/CheckItemPanel.vue'
import { getCheckTypeName } from '@/utils/checkTypeFormatter'
/** 预约确认 表单 */
defineOptions({ name: 'AppointmentConfirm' })
const queryParams = reactive({
    patId: ''
  patId: ''
})
const appointmentVOList = ref<AppointmentVO[]>([])
const formData = ref<AppointmentVO>({
  id: 0,
  applyNo: "",
  episodeId: "",
  applyNo: '',
  episodeId: '',
  patSrc: 0,
  patId: "",
  patName: "",
  tolerance:0,
  patId: '',
  patName: '',
  tolerance: 0,
  patGender: 1, // 1 男 2 女
  patBirthday: new Date(),
  patMobile: "",
  patPhone: "",
  patIdentityId: "",
  patAddr: "",
  patDeptCode: "",
  patDeptDesc: "",
  patWardCode: "",
  patWardDesc: "",
  patBedNo: "",
  patMobile: '',
  patPhone: '',
  patIdentityId: '',
  patAddr: '',
  patDeptCode: '',
  patDeptDesc: '',
  patWardCode: '',
  patWardDesc: '',
  patBedNo: '',
  bookTime: new Date(),
  bookDate: new Date(),
  bookTimeslot: 9301030,
  bookCheckType: getCheckTypeName(100),
  paid: 0,
  bookSeqNum: 0,
  bookSeqNum: 0
})
const formRef = ref() // 表单 Ref
const searchBookInfo = async () => {
  resetForm()
  if (null === queryParams.patId || "" === queryParams.patId.trim())
    return
  if (null === queryParams.patId || '' === queryParams.patId.trim()) return
  const _patId = queryParams.patId.trim()
  console.warn("===" + _patId + "===")
  console.warn('===' + _patId + '===')
  const data = await AppointmentApi.queryAndCreateAppointmentByPatId(_patId) // 对应数据库中 pat_id
  console.info( data )
  console.info(data)
  if (null !== data && data.length > 0) {
    formData.value = data[0]
    appointmentVOList.value = data
    console.info( formData.value )
    console.info(formData.value)
    return
  }
  ElNotification({
    title: '温馨提示',
    message: "请先预约",
    message: '请先预约',
    type: 'warning'
  })
}
/** 重置表单 */
const resetForm = () => {
  appointmentVOList.value.length=0;
  appointmentVOList.value.length = 0
  formData.value = {
    id: 0,
    applyNo: "",
    episodeId: "",
    applyNo: '',
    episodeId: '',
    patSrc: 0,
    patId: "",
    patName: "",
    tolerance:0,
    patId: '',
    patName: '',
    tolerance: 0,
    patGender: 1, // 1 男 2 女
    patBirthday: new Date(),
    patMobile: "",
    patPhone: "",
    patIdentityId: "",
    patAddr: "",
    patDeptCode: "",
    patDeptDesc: "",
    patWardCode: "",
    patWardDesc: "",
    patBedNo: "",
    patMobile: '',
    patPhone: '',
    patIdentityId: '',
    patAddr: '',
    patDeptCode: '',
    patDeptDesc: '',
    patWardCode: '',
    patWardDesc: '',
    patBedNo: '',
    bookTime: new Date(),
    bookDate: new Date(),
    bookTimeslot: 9301030,
    bookCheckType: getCheckTypeName(100),
    paid: 0,
    bookSeqNum: 0,
    bookSeqNum: 0
  }
  formRef.value?.resetFields()
}
const onEventAppointConfirm = () => {
/*
  /*
  if (null !== appointmentVOList.value && appointmentVOList.value.length === 1) {
    queryParams.patId = ""
  }
*/
  queryParams.patId = ""
  queryParams.patId = ''
}
/** 初始化 **/
onMounted(() => {
  resetForm()
})
</script>
<style lang="scss" scoped>
@@ -234,5 +234,4 @@
.el-form-item {
  margin-bottom: 5px;
}
</style>
src/views/ecg/appointment/AppointmentForm.vue
@@ -9,10 +9,10 @@
    >
      <el-row :gutter="20">
        <el-col :span="12">
          <el-form-item label="患者编号" prop="patId">
          <el-form-item label="编号" prop="patId">
            <el-input
              v-model="formData.patId"
              placeholder="请输入患者编号"
              placeholder="请输入编号"
              clearable
              @input="searchBookInfo"
            />
@@ -38,11 +38,11 @@
            </el-radio-group>
          </el-form-item>
        </el-col>
        <el-col :span="12">
        <!-- <el-col :span="12">
          <el-form-item label="预约编号" prop="bookId">
            <el-input v-model="formData.bookId" placeholder="请输入预约编号" />
          </el-form-item>
        </el-col>
        </el-col> -->
      </el-row>
      <el-row :gutter="20">
        <el-col :span="12">
src/views/ecg/appointment/alter.vue
@@ -55,7 +55,7 @@
          class="!w-240px"
        />
      </el-form-item>
      <el-form-item label="预约编号" prop="applyNo">
      <!-- <el-form-item label="预约编号" prop="applyNo">
        <el-input
          v-model="queryParams.applyNo"
          placeholder="请输入预约编号"
@@ -63,7 +63,7 @@
          @keyup.enter="handleQuery"
          class="!w-240px"
        />
      </el-form-item>
      </el-form-item> -->
      <el-form-item label="检查类型" prop="bookCheckType">
        <el-select
          v-model="queryParams.bookCheckType"
@@ -217,8 +217,14 @@
    <el-form :model="form">
      <el-form-item label="状态" :label-width="formLabelWidth">
        <el-select v-model="form.status" placeholder="请选择">
          <el-option label="检查登记" :value="3" />
          <el-option label="取消检查" :value="4" />
          <el-option label="申请单开立" disabled :value="'1'" />
          <el-option label="申请单撤销" disabled :value="'2'" />
          <el-option label="检查登记"  :value="'3'" />
          <el-option label="取消检查" :value="'4'" />
          <el-option label="检查开始" disabled :value="'5'" />
          <el-option label="给造影剂" disabled :value="'6'" />
          <el-option label="检查结束" disabled :value="'7'" />
          <el-option label="报告生成" disabled :value="'8'" />
        </el-select>
      </el-form-item>
    </el-form>
@@ -325,7 +331,8 @@
  }).then(() => {
    console.log(form, 'form')
    AppointmentApi.alterAppointment(form)
    dialogFormVisible.value = true
  message.success('修改成功')
    dialogFormVisible.value = false
  })
}
src/views/ecg/appointment/index.vue
@@ -8,10 +8,10 @@
      :inline="true"
      label-width="68px"
    >
      <el-form-item label="患者编号" prop="patId">
      <el-form-item label="编号" prop="patId">
        <el-input
          v-model="queryParams.patId"
          placeholder="请输入患者编号"
          placeholder="请输入编号"
          clearable
          @keyup.enter="handleQuery"
          class="!w-240px"
@@ -55,7 +55,7 @@
          class="!w-240px"
        />
      </el-form-item>
      <el-form-item label="预约编号" prop="applyNo">
      <!-- <el-form-item label="预约编号" prop="applyNo">
        <el-input
          v-model="queryParams.applyNo"
          placeholder="请输入预约编号"
@@ -63,7 +63,7 @@
          @keyup.enter="handleQuery"
          class="!w-240px"
        />
      </el-form-item>
      </el-form-item> -->
      <el-form-item label="检查类型" prop="bookCheckType">
        <el-select
          v-model="queryParams.bookCheckType"
@@ -78,6 +78,24 @@
            :value="dict.value"
          />
        </el-select>
      </el-form-item>
      <el-form-item label="登记时间" prop="registerTime">
        <el-select
          v-model="queryParams.registerTime"
          placeholder="请选择检查类型"
          clearable
          class="!w-240px"
        >
          <el-option
            v-for="dict in opeionregister"
            :key="dict.value"
            :label="dict.value"
            :value="dict.value"
          />
        </el-select>
      </el-form-item>
      <el-form-item label="病区" prop="patWardDesc">
        <el-input v-model="queryParams.patWardDesc" placeholder="请输入病区名称" readonly />
      </el-form-item>
<!--
      <el-form-item label="预约来源" prop="bookSrc">
@@ -155,6 +173,7 @@
<!--      <el-table-column label="电话" align="center" prop="patPhone" />-->
<!--      <el-table-column label="身份证号" align="center" prop="patIdentityId" />-->
      <el-table-column label="地址" align="center" prop="patAddr" />
      <el-table-column label="登记时间" align="center" prop="registerDate" />
      <el-table-column label="科室代码" align="center" prop="patDeptCode" />
      <el-table-column label="科室名称" align="center" prop="patDeptDesc" />
      <el-table-column label="病区代码" align="center" prop="patWardCode" />
@@ -216,6 +235,7 @@
  pageNo: 1,
  pageSize: 10,
  applyNo: undefined,
  registerTime:undefined,
  patId: undefined,
  patName: undefined,
  patGender: undefined,
@@ -235,6 +255,11 @@
  bookSrc: undefined
})
const queryFormRef = ref() // 搜索的表单
const opeionregister = ref([
  {value:'全部',label:'全部'},
  {value:'上午',label:'上午'},
  {value:'下午',label:'下午'}
]) // 搜索的表单
const exportLoading = ref(false) // 导出的加载中
const checkTypeStore = useCheckTypeStore();
src/views/ecg/doctor/components/DevInstallPanel.vue
@@ -44,15 +44,8 @@
            <el-input v-model="formData.remark" placeholder="请输入备注" />
          </el-form-item>
           <el-form-item label="是否多耐" prop="tolerance">
          <el-radio-group v-model="formData.tolerance" readonly>
            <el-radio
              v-for="dict in getIntDictOptions(DICT_TYPE.ecg_tolerance)"
              :key="dict.value"
              :value="dict.value"
            >
              {{ dict.label }}
            </el-radio>
          </el-radio-group>
          <el-tag type="info" v-if="formData.tolerance == 0">否</el-tag>
        <el-tag type="danger" v-else>是</el-tag>
        </el-form-item>
        </el-col>
      </el-row>
src/views/ecg/doctor/components/DevReadyPanel.vue
@@ -41,15 +41,8 @@
        />
      </el-form-item>
       <el-form-item label="是否多耐" prop="tolerance">
          <el-radio-group v-model="formData.tolerance" readonly>
            <el-radio
              v-for="dict in getIntDictOptions(DICT_TYPE.ecg_tolerance)"
              :key="dict.value"
              :value="dict.value"
            >
              {{ dict.label }}
            </el-radio>
          </el-radio-group>
         <el-tag type="info" v-if="formData.tolerance == 0">否</el-tag>
        <el-tag type="danger" v-else>是</el-tag>
        </el-form-item>
      <el-form-item label="备注" prop="remark">
        <el-input v-model="formData.remark" placeholder="请输入备注" />
src/views/ecg/doctor/components/RoutinePanel.vue
@@ -49,15 +49,8 @@
          <el-input v-model="formData.remark" placeholder="请输入备注" />
        </el-form-item>
        <el-form-item label="是否多耐" prop="tolerance">
          <el-radio-group v-model="formData.tolerance" readonly>
            <el-radio
              v-for="dict in getIntDictOptions(DICT_TYPE.ecg_tolerance)"
              :key="dict.value"
              :value="dict.value"
            >
              {{ dict.label }}
            </el-radio>
          </el-radio-group>
         <el-tag type="info" v-if="formData.tolerance == 0">否</el-tag>
        <el-tag type="danger" v-else>是</el-tag>
        </el-form-item>
      </el-col>
    </el-row>