You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

144 lines
4.9 KiB

3 years ago
2 years ago
3 years ago
2 years ago
2 years ago
4 months ago
2 years ago
3 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 months ago
3 years ago
3 years ago
3 years ago
2 years ago
3 years ago
3 years ago
2 years ago
3 years ago
3 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
2 years ago
2 years ago
3 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
2 years ago
2 months ago
2 years ago
3 months ago
3 years ago
3 years ago
3 years ago
3 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
2 years ago
3 years ago
3 years ago
3 years ago
2 years ago
  1. <template>
  2. <div style="display: flex;background-color: #fff;margin-top: 10px;border-radius: 8px;padding: 10px;">
  3. <div class="asbitemListClass">
  4. <div class="asbTitle">未检组合项目</div>
  5. <div style="overflow-y:auto; height:68px;width:100%; margin-top:2px;border: 1px solid;">
  6. <el-tag style="color:red;background-color: white;margin-left: 5px;" v-for="item in data.unCheckedAsbitem" :key="item" size="mini">{{
  7. item }}</el-tag>
  8. </div>
  9. </div>
  10. <div class="asbitemListClass">
  11. <div class="asbTitle">弃检组合项目</div>
  12. <div style="overflow-y:auto; height:68px;width:100%; margin-top:2px;border: 1px solid;">
  13. <el-tag style="color:#303133;background-color: white;margin-left: 5px;" v-for="item in data.giveUpAsbitem" :key="item" size="mini">{{ item
  14. }}</el-tag>
  15. </div>
  16. </div>
  17. <div class="asbitemListClass">
  18. <div class="asbTitle">组合项目已检但无值的明细项目</div>
  19. <div style="overflow-y:auto; height:68px;width:100%; margin-top:2px;border: 1px solid;">
  20. <el-tag style="color:#303133;background-color: white;margin-left: 5px;" v-for="item in data.checkedNullValueItem" :key="item" size="mini">{{ item
  21. }}</el-tag>
  22. </div>
  23. </div>
  24. <div class="asbitemListClass">
  25. <div class="asbTitle">组合项目已检但弃检的明细项目</div>
  26. <div style="overflow-y:auto; height:68px;width:100%; margin-top:2px;border: 1px solid;">
  27. <el-tag style="color: #303133;background-color: white;margin-left: 5px;" v-for="item in data.checkedGiveUpItem" :key="item" size="mini">{{
  28. item }}</el-tag>
  29. </div>
  30. </div>
  31. </div>
  32. </template>
  33. <script>
  34. import moment from "moment";
  35. import { mapState } from "vuex";
  36. import { getapi, postapi, putapi, deletapi } from "@/api/api";
  37. export default {
  38. components: {},
  39. props: ['patientRegisterId','tabChoosed','brushSummary'],
  40. data() {
  41. return {
  42. data: {
  43. unCheckedAsbitem: [],//['未检项目1','未检项目2','未检项目3','未检项目4','未检项目5','未检项目6','未检项目7','未检项目8'],
  44. giveUpAsbitem: [],//['弃检1','弃检2'],
  45. checkedNullValueItem: [],//['无果1','无果2'],
  46. checkedGiveUpItem: [],//['弃检明细1','弃检明细2'],
  47. }
  48. };
  49. },
  50. created() {
  51. },
  52. //挂载完成
  53. mounted() {
  54. this.getSumAsbItemStatus(this.patientRegisterId);
  55. },
  56. computed: {
  57. ...mapState(["window", "dict", "dataTransOpts", "doctorCheck", "sumDoctorCheck"]),
  58. sumHeight() {
  59. let tempHeight = this.window.pageHeight < 600 ? 600 : this.window.pageHeight
  60. return tempHeight - 320
  61. },
  62. },
  63. methods: {
  64. getSumAsbItemStatus(PatientRegisterId) {
  65. this.data.unCheckedAsbitem = [];
  66. this.data.giveUpAsbitem = [];
  67. this.data.checkedNullValueItem = [];
  68. this.data.checkedGiveUpItem = [];
  69. if (!PatientRegisterId) return
  70. getapi(`/api/app/patientregister/getpatientregisteritemstatus?PatientRegisterId=${PatientRegisterId}`).then(res => {
  71. if (res.code > -1) {
  72. this.data.unCheckedAsbitem = res.data.unCheckedAsbitem;
  73. this.data.giveUpAsbitem = res.data.giveUpAsbitem;
  74. this.data.checkedNullValueItem = res.data.checkedNullValueItem;
  75. this.data.checkedGiveUpItem = res.data.checkedGiveUpItem;
  76. }
  77. });
  78. }
  79. },
  80. //监听事件
  81. watch: {
  82. //人员ID切换
  83. // "patientRegisterId":{
  84. // immediate:true,
  85. // handler(newVal, oldVal) {
  86. // console.log("watch patientRegisterId newVal:", newVal, " oldVal:", oldVal);
  87. // this.getSumAsbItemStatus(newVal);
  88. // }
  89. // },
  90. // 虚拟表 触发强制刷新 (sumDoctor.M 合并包含:综述、建议、对比、历史等,不包含总检诊断)
  91. // "dataTransOpts.refresh.sumDoctor.M": {
  92. // // immediate:true,
  93. // handler(newVal, oldVal) {
  94. // console.log(`watch 总检--检查状态汇总 newVal: ${newVal}, oldVal: ${oldVal} patientRegisterId: ${this.patientRegisterId}`);
  95. // if(newVal != oldVal && this.tabChoosed == '1') this.getSumAsbItemStatus(this.patientRegisterId);
  96. // }
  97. // },
  98. // 传入参数控制
  99. "brushSummary": {
  100. // immediate:true,
  101. handler(newVal, oldVal) {
  102. console.log(`watch 总检--检查状态汇总 newVal: ${newVal}, oldVal: ${oldVal} patientRegisterId: ${this.patientRegisterId}`);
  103. // && this.tabChoosed == '1'
  104. if(newVal && newVal != oldVal) this.getSumAsbItemStatus(this.patientRegisterId);
  105. }
  106. },
  107. },
  108. };
  109. </script>
  110. <style scoped>
  111. .asbitemListClass {
  112. display: block;
  113. width: v-bind("Math.floor((window.pageWidth - 110 - 15 - 15) / 4) + 'px'");
  114. margin-left: 3px;
  115. }
  116. .labelClass {
  117. margin-top: 2px;
  118. font-size: 8x;
  119. }
  120. .asbTitle {
  121. margin-top: -5px;
  122. font-size:12px;
  123. color: #303133;
  124. }
  125. .contentClass {
  126. display: flex;
  127. height: 52px;
  128. margin-top: 2px;
  129. font-size: 8x;
  130. }
  131. </style>