11
WXL
7 天以前 4400856b415e254bed5082005bd2ea45285047c5
src/views/ecg/doctor/components/DevReadyPanel.vue
@@ -40,6 +40,10 @@
          placeholder="选择领用时间"
        />
      </el-form-item>
       <el-form-item label="是否多耐" prop="tolerance">
         <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="请输入备注" />
      </el-form-item>
@@ -54,7 +58,7 @@
    </el-form>
    <el-button @click="submitForm" type="primary" :disabled="formLoading">领用完成</el-button>
    <el-checkbox style="margin-left:10px" label="自动&nbsp;" v-model="autoPrint" />
    <el-button @click="printBill(formData.patId!, formData.checkType!)">打印小票</el-button>
    <el-button @click="printBill(formData.patDetails?.appointmentId)">打印小票</el-button>
    <el-button @click="cancelReady"  :disabled="formLoading">放弃领用</el-button>
    <el-button @click="resetForm()">重 置</el-button>
    <el-button v-if="needAutoFeeConfirm(formData.checkType)" @click="feeConfirm"  :disabled="formLoading">确费</el-button>
@@ -147,7 +151,7 @@
import {AppointmentApi, AppointmentVO} from "@/api/ecg/appointment";
import {useCheckTypeStore} from '@/store/modules/checkType'
import {calGender, getBookBeginTime} from "@/utils";
import {DICT_TYPE} from "@/utils/dict";
import { DICT_TYPE, getIntDictOptions } from '@/utils/dict'
import {tranlateDevState} from "@/utils/statusFormatter";
import {getCheckTypeName, needAutoFeeConfirm} from "../../../../utils/checkTypeFormatter";
@@ -241,7 +245,7 @@
    await DevRentApi.devReady(formData.value)
    if (autoPrint.value && formData.value.patId && formData.value.checkType) {
      printBill(formData.value.patId, formData.value.checkType)
      printBill(formData.value.patDetails?.appointmentId)
    }
    // 自动确费
@@ -357,10 +361,11 @@
  devInfo.value.state = data.devState
}
const printBill = async (patId: string, checkType: number, printMode?: number) => {
const printBill = async (appointmentId: number | null | undefined, printMode?: number) => {
  if ( appointmentId == null )
    return
  const curAppointment: AppointmentVO = await AppointmentApi.getCurAppointmentByPatIdAndCheckType( patId, checkType )
  //console.info( curAppointment )
  const curAppointment: AppointmentVO = await AppointmentApi.getAppointment( appointmentId )
// 引入后使用示例
  hiprint.init({
@@ -445,26 +450,39 @@
const feeConfirm = async () => {
  if (formData.value.id == null) {
    message.error(t('请先领用'))
    message.error('请先领用')
    return
  }
  const result = await DevRentApi.feeConfirm(formData.value.id)
  if (0 === result)
    message.success(t('确费操作成功'))
 try {
    const result = await DevRentApi.feeConfirm(formData.value.id)
    if (0 === result) {
      //message.success('确费操作成功')
    }
  } catch (err) {
    // 框架 会给出 后台的 错误信息
  }
}
const feeCancel = async () => {
  if (formData.value.id == null) {
    message.error(t('请先领用'))
    message.error('请先领用')
    return
  }
  const result = await DevRentApi.feeCancel(formData.value.id)
  if (0 === result)
    message.success(t('操作成功'))
  try {
    const result = await DevRentApi.feeCancel(formData.value.id)
    if (0 === result) {
      //message.success('确费取消成功')
    }
  } catch (err) {
    // 框架 会给出 后台的 错误信息
  }
}
/**
 * 获取条形码,显示与否  同一个值
 */
const getDisplayBarcode = (): string => {
  if (formData.value.checkType == null)
    return ""
@@ -500,7 +518,12 @@
const copyBarcode = async () => {
  displayBarCode.value = getDisplayBarcode()
  await navigator.clipboard.writeText( getBarcode() );
  const barCode = getBarcode()
  if (isStringEmpty(barCode))
    return
  await navigator.clipboard.writeText( barCode );
}
/** 初始化 **/