HuanZheXinXi.vue 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. <template>
  2. <div>
  3. <div @click="collapseChange"
  4. style="padding-left: 30px;cursor: pointer;border-bottom: 1px solid #000">
  5. {{ titleName() }}
  6. </div>
  7. <div v-show="collapse">
  8. <div class="box">
  9. <div>
  10. <template v-if="isDev || needRule(1)">
  11. <el-input style="width: 90px" v-model="props.huanZheXinXi.inpatientNo"
  12. @keydown.enter="queryPatientInfoClick"/>
  13. {{ props.huanZheXinXi.admissTimes }}
  14. </template>
  15. <template v-else>
  16. 住院号:{{ props.huanZheXinXi.inpatientNo }}_{{ props.huanZheXinXi.admissTimes }}
  17. </template>
  18. </div>
  19. <div>
  20. 床号:{{ props.huanZheXinXi.bedNo }}
  21. </div>
  22. <div>
  23. 姓名:{{ props.huanZheXinXi.name }}
  24. </div>
  25. <div>
  26. 身份证号:{{ props.huanZheXinXi.socialNo }}
  27. </div>
  28. <div>
  29. 出生日期:{{ props.huanZheXinXi.birthDate }} {{ companyFunc(props.huanZheXinXi.age, '岁') }}
  30. </div>
  31. <div>
  32. 性别:{{ props.huanZheXinXi.sexName }}
  33. </div>
  34. <div>
  35. 联系电话:{{ props.huanZheXinXi.homeTel }}
  36. </div>
  37. <div>
  38. 入院日期:{{ props.huanZheXinXi.admissDate }}
  39. {{ companyFunc(props.huanZheXinXi.actIptDays, '天') }}
  40. </div>
  41. </div>
  42. <div class="box">
  43. <div>
  44. 管床医生:{{ props.huanZheXinXi.referPhysicianName }}
  45. </div>
  46. <div>
  47. 病区:{{ props.huanZheXinXi.admissWardName }}
  48. </div>
  49. <div>
  50. 入院医生:{{ props.huanZheXinXi.admissPhysicianName }}
  51. </div>
  52. <div>
  53. 入院诊断:{{ props.huanZheXinXi.admissDiagStr }}
  54. </div>
  55. <div>
  56. 小科室:{{ props.huanZheXinXi.zkWardName }}
  57. </div>
  58. <div>
  59. 身份:{{ props.huanZheXinXi.medTypeName }}
  60. </div>
  61. </div>
  62. <div class="box">
  63. <div>
  64. 总费用:{{ props.huanZheXinXi.totalCharge }}
  65. <span style="color: red">
  66. {{ props.huanZheXinXi.balance }}
  67. </span>
  68. </div>
  69. <div>
  70. 药品占比:{{ props.huanZheXinXi.yp }}
  71. </div>
  72. <div>
  73. 检验检查:{{ props.huanZheXinXi.jyjc }}
  74. </div>
  75. <div>
  76. 医保:{{ props.huanZheXinXi.chargeYb }} {{ props.huanZheXinXi.yb }}
  77. </div>
  78. </div>
  79. <div class="box">
  80. <div>
  81. 付费权重:{{ props.huanZheXinXi.groupInfoWeight }}
  82. </div>
  83. <div>
  84. 分组结果:{{ props.huanZheXinXi.groupInfoName }}
  85. </div>
  86. <div>
  87. 倍率(DRG):{{ props.huanZheXinXi.groupInfoBl }}
  88. </div>
  89. <div>
  90. 盈亏额:{{ props.huanZheXinXi.groupInfoProfit }}
  91. </div>
  92. <div>
  93. 标杆费用:{{ props.huanZheXinXi.groupInfoFeeStand }}
  94. </div>
  95. </div>
  96. </div>
  97. </div>
  98. </template>
  99. <script setup name="HuanZheXinXi">
  100. import {isDev, needRule} from "@/utils/public";
  101. import {clickOnThePatient} from "@/views/hospitalization/zhu-yuan-yi-sheng/public-js/zhu-yuan-yi-sheng";
  102. import {stringNotBlank} from "@/utils/blank-utils";
  103. const props = defineProps({
  104. huanZheXinXi: {
  105. type: Object
  106. },
  107. })
  108. const emit = defineEmits(['isShow'])
  109. const collapse = ref(!isDev)
  110. const queryPatientInfoClick = () => {
  111. clickOnThePatient(props.huanZheXinXi.inpatientNo)
  112. }
  113. const companyFunc = (val, company) => {
  114. if (stringNotBlank(val)) {
  115. return val + company
  116. } else {
  117. return ''
  118. }
  119. }
  120. const collapseChange = async () => {
  121. collapse.value = !collapse.value
  122. emit('isShow', collapse.value, collapse.value ? 130 : 16)
  123. }
  124. const titleName = () => {
  125. if (props.huanZheXinXi.inpatientNo) {
  126. return `患者 【${props.huanZheXinXi.name}】`;
  127. }
  128. return `请选择患者`;
  129. }
  130. onMounted(() => {
  131. emit('isShow', collapse.value, collapse.value ? 130 : 16)
  132. })
  133. </script>
  134. <style lang="scss" scoped>
  135. .box {
  136. display: flex;
  137. line-height: 26px;
  138. border-bottom: 1px solid #000;
  139. div {
  140. white-space: nowrap;
  141. padding: 0 5px;
  142. border-left: 1px solid;
  143. border-right: 1px solid;
  144. }
  145. }
  146. </style>