eight
2024-10-31 812ffe6f989303514b45f8106f09ff902bbe0d8a
update
已修改9个文件
103 ■■■■ 文件已修改
src/api/ecg/appointment/index.ts 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/ecg/devrent/index.ts 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/ecg/appointment/AppointmentConfirm.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/ecg/appointment/AppointmentForm.vue 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/ecg/appointment/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/ecg/doctor/DevDismantle.vue 33 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/ecg/doctor/components/DevInstallPanel.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/ecg/doctor/components/RoutinePanel.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/ecg/queue/index.vue 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/ecg/appointment/index.ts
@@ -36,9 +36,14 @@
    return await request.get({ url: `/ecg/appointment/get?id=` + id })
  },
  //
  getCurAppointmentByPatId: async (patId: string) => {
    return await request.get({ url: `/ecg/appointment/get-current-by-patient?patId=` + patId })
  },
  // 从HIS或者DB查询预约详情
  getAppointmentByPatId: async (patId: string) => {
    return await request.get({ url: `/ecg/appointment/get-by-patient?patId=` + patId })
  queryAndCreateAppointmentByPatId: async (patId: string) => {
    return await request.get({ url: `/ecg/appointment/query-and-create-by-patient?patId=` + patId })
  },
  // 从HIS查询预约或开单信息
src/api/ecg/devrent/index.ts
@@ -114,5 +114,10 @@
    return await request.post({ url: `/ecg/dev-rent/dev-lose`, data })
  },
  // 损毁
  devDamage: async (data: DevRentVO) => {
    return await request.post({ url: `/ecg/dev-rent/dev-damage`, data })
  },
}
src/views/ecg/appointment/AppointmentConfirm.vue
@@ -153,7 +153,7 @@
  if (null === queryParams.patId || "" === queryParams.patId)
    return
  const data = await AppointmentApi.getAppointmentByPatId(queryParams.patId) // 对应数据库中 pat_id
  const data = await AppointmentApi.queryAndCreateAppointmentByPatId(queryParams.patId) // 对应数据库中 pat_id
  console.info( data )
  if (null !== data) {
    formData.value = data
src/views/ecg/appointment/AppointmentForm.vue
@@ -219,10 +219,25 @@
    }
  }
}
defineExpose({ open }) // 提供 open 方法,用于打开弹窗
const openByQueue = async (type: string, patId: string) => {
  dialogVisible.value = true
  dialogTitle.value = t('action.' + type)
  formType.value = type
  resetForm()
  // 修改时,设置数据
  if (patId) {
    formLoading.value = true
    try {
      formData.value = await AppointmentApi.getCurAppointmentByPatId( patId )
    } finally {
      formLoading.value = false
    }
  }
}
defineExpose({ open, openByQueue }) // 提供 open 方法,用于打开弹窗
/** 提交表单 */
const emit = defineEmits(['success']) // 定义 success 事件,用于操作成功后的回调
const emit = defineEmits(['event_appointment_success']) // 定义 success 事件,用于操作成功后的回调
const submitForm = async () => {
  // 校验表单
  await formRef.value.validate()
@@ -232,14 +247,16 @@
    const data = formData.value as unknown as AppointmentVO
    if (formType.value === 'create') {
      await AppointmentApi.createAppointment(data)
      // 发送操作成功的事件
      emit('event_appointment_success')
      message.success(t('common.createSuccess'))
    } else {
    } else if (formType.value === 'update') {
      await AppointmentApi.updateAppointment(data)
      // 发送操作成功的事件
      emit('event_appointment_success')
      message.success(t('common.updateSuccess'))
    }
    dialogVisible.value = false
    // 发送操作成功的事件
    emit('success')
  } finally {
    formLoading.value = false
  }
src/views/ecg/appointment/index.vue
@@ -193,7 +193,7 @@
  </ContentWrap>
  <!-- 表单弹窗:添加/修改 -->
  <AppointmentForm ref="formRef" @success="getList" />
  <AppointmentForm ref="formRef" @event_appointment_success="getList" />
</template>
<script setup lang="ts">
src/views/ecg/doctor/DevDismantle.vue
@@ -1,3 +1,4 @@
<!--拆机界面-->
<template>
    <el-form
      ref="formRef"
@@ -76,6 +77,7 @@
    <el-button @click="submitForm" type="primary" :disabled="formLoading">拆机完成</el-button>
    <el-button @click="resetForm()">重 置</el-button>
    <el-button @click="loseDismantle" :disabled="formLoading">遗 失</el-button>
    <el-button @click="damageDismantle" :disabled="formLoading">损 毁</el-button>
  <!-- 医生拆机列表 -->
  <ContentWrap>
@@ -85,6 +87,7 @@
        <template #default="scope">
          <span v-if="scope.row.jobType === 20">"已拆机"</span>
          <span v-if="scope.row.jobType === 40">"已遗失"</span>
          <span v-if="scope.row.jobType === 42">"已损毁"</span>
        </template>
      </el-table-column>
<!--      <el-table-column label="作业类型" align="center" prop="jobType" />-->
@@ -151,7 +154,7 @@
/** 装机拆机 表单 */
defineOptions({ name: 'DevrDismantle' })
const emit = defineEmits(['success']) // 定义 success 事件,用于操作成功后的回调
const emit = defineEmits(['event_dismantle_success']) // 定义 success 事件,用于操作成功后的回调
const { t } = useI18n() // 国际化
const message = useMessage() // 消息弹窗
@@ -181,7 +184,7 @@
    message.success(t('操作成功'))
    dialogVisible.value = false
    // 发送操作成功的事件
    emit('success')
    emit('event_dismantle_success')
    resetForm()
    getList()
  } finally {
@@ -189,7 +192,7 @@
  }
}
// 遗失操作
// 遗失.拆机操作
const loseDismantle = async () => {
  // 校验表单
  await formRef.value.validate()
@@ -201,7 +204,27 @@
    message.success(t('操作成功'))
    dialogVisible.value = false
    // 发送操作成功的事件
    emit('success')
    emit('event_dismantle_success')
    resetForm()
    getList()
  } finally {
    formLoading.value = false
  }
}
// 损毁.拆机操作
const damageDismantle = async () => {
  // 校验表单
  await formRef.value.validate()
  // 提交请求
  formLoading.value = true
  try {
    const data = formData.value as unknown as DevRentVO
    await DevRentApi.devDamage(data)
    message.success(t('操作成功'))
    dialogVisible.value = false
    // 发送操作成功的事件
    emit('event_dismantle_success')
    resetForm()
    getList()
  } finally {
@@ -271,7 +294,7 @@
const queryParams = reactive({
  pageNo: 1,
  pageSize: 10,
  jobType: [20, 40],
  jobType: [20, 40, 42], // 检查状态
  docId: undefined,
  docName: undefined,
  devId: undefined,
src/views/ecg/doctor/components/DevInstallPanel.vue
@@ -10,6 +10,7 @@
        <el-col :span="12">
          <el-form-item label="患者编号" prop="patId">
            <el-input v-model="formData.patId" placeholder="请输入患者编号" @input="getRentInfoByPatId" />
            <Qrcode v-if="formData.patId !== undefined && formData.patId !== ''" :text="formData.patId" logo="/logo.gif" width=100 />
          </el-form-item>
          <el-form-item label="患者名称" prop="patName">
            <el-input v-model="formData.patName" placeholder="请输入患者名称" />
src/views/ecg/doctor/components/RoutinePanel.vue
@@ -11,6 +11,7 @@
        <el-col :span="12">
          <el-form-item label="患者编号" prop="patId">
            <el-input v-model="formData.patId" placeholder="请输入患者编号" @input="getRentInfoByPatId" />
            <Qrcode v-if="formData.patId !== undefined && formData.patId !== ''" :text="formData.patId" logo="/logo.gif" width=100 />
          </el-form-item>
          <el-form-item label="患者名称" prop="patName">
            <el-input v-model="formData.patName" placeholder="请输入患者名称" />
src/views/ecg/queue/index.vue
@@ -101,6 +101,7 @@
      <el-form-item>
        <el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button>
        <el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button>
<!--
        <el-button
          type="primary"
          plain
@@ -109,6 +110,8 @@
        >
          <Icon icon="ep:plus" class="mr-5px" /> 新增
        </el-button>
-->
<!--
        <el-button
          type="success"
          plain
@@ -118,6 +121,7 @@
        >
          <Icon icon="ep:download" class="mr-5px" /> 导出
        </el-button>
-->
      </el-form-item>
    </el-form>
  </ContentWrap>
@@ -163,11 +167,12 @@
          <el-button
            link
            type="primary"
            @click="openForm('update', scope.row.id)"
            v-hasPermi="['ecg:queue:update']"
            @click="openAppointmentForm('preview', scope.row.patId)"
            v-hasPermi="['ecg:appointment:preview']"
          >
            编辑
            查看
          </el-button>
<!--
          <el-button
            link
            type="danger"
@@ -176,6 +181,7 @@
          >
            删除
          </el-button>
-->
          <el-button
            link
            type="danger"
@@ -183,7 +189,7 @@
            v-if="scope.row.status === 10"
            v-hasPermi="['ecg:queue:jump']"
          >
            {{scope.row.jumpFlag === 0? "插队" : "取消插队"}}
            {{scope.row.jumpFlag === 0? "加急" : "取消加急"}}
          </el-button>
          <el-button
            link
@@ -207,7 +213,10 @@
  </ContentWrap>
  <!-- 表单弹窗:添加/修改 -->
  <queueForm ref="formRef" @success="getList" />
  <!--  <queueForm ref="formRef" @success="getList" />-->
  <!-- 表单弹窗:添加/修改 -->
  <AppointmentForm ref="formRef" @event_appointment_success="getList" />
</template>
<script setup lang="ts">
@@ -218,6 +227,7 @@
import {DICT_TYPE, getIntDictOptions} from '@/utils/dict'
import {DoctorApi, PatientVO} from "@/api/ecg/doctor";
import {useCheckTypeStore} from "@/store/modules/checkType";
import AppointmentForm from "@/views/ecg/appointment/AppointmentForm.vue";
/** 排队 列表 */
defineOptions({ name: 'queue' })
@@ -278,6 +288,9 @@
const openForm = (type: string, id?: number) => {
  formRef.value.open(type, id)
}
const openAppointmentForm = (type: string, patId: string, status: number) => {
  formRef.value.openByQueue(type, patId, status)
}
/** 删除按钮操作 */
const handleDelete = async (id: number) => {