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.

131 lines
4.4 KiB

2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
  1. <template>
  2. <div style="display: flex;height:90px;">
  3. <div class="asbitemListClass">
  4. <div style="margin-top:2px;font-size:9px;color: #F56C6C;">未检组合项目</div>
  5. <div style="overflow-y:auto; height:68px;width:100%; margin-top:2px;border: 1px solid;">
  6. <el-tag type="danger" style="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 style="margin-top:2px;font-size:9px;color: #909399;">弃检组合项目</div>
  12. <div style="overflow-y:auto; height:68px;width:100%; margin-top:2px;border: 1px solid;">
  13. <el-tag type="info" style="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 style="margin-top:2px;font-size:9px;color: #409EFF;">组合项目已检但无值的明细项目</div>
  19. <div style="overflow-y:auto; height:68px;width:100%; margin-top:2px;border: 1px solid;">
  20. <el-tag style="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 style="margin-top:2px;font-size:9px;color: #E6A23C;">组合项目已检但弃检的明细项目</div>
  26. <div style="overflow-y:auto; height:68px;width:100%; margin-top:2px;border: 1px solid;">
  27. <el-tag type="warning" style="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'],
  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. mounted() {
  53. this.getSumAsbItemStatus(this.dataTransOpts.tableS.patient_register.id);
  54. },
  55. computed: {
  56. ...mapState(["window", "dict","dataTransOpts", "doctorCheck", "sumDoctorCheck"]),
  57. sumHeight() {
  58. let tempHeight = this.window.pageHeight < 600 ? 600 : this.window.pageHeight
  59. return tempHeight - 320
  60. },
  61. },
  62. methods: {
  63. getSumAsbItemStatus(PatientRegisterId) {
  64. if (!PatientRegisterId) {
  65. this.data.unCheckedAsbitem = [];
  66. this.data.giveUpAsbitem = [];
  67. this.data.checkedNullValueItem = [];
  68. this.data.checkedGiveUpItem = [];
  69. return
  70. }
  71. getapi(`/api/app/patientregister/getpatientregisteritemstatus?PatientRegisterId=${PatientRegisterId}`).then(res => {
  72. if (res.code != -1) {
  73. this.data.unCheckedAsbitem = res.data.unCheckedAsbitem;
  74. this.data.giveUpAsbitem = res.data.giveUpAsbitem;
  75. this.data.checkedNullValueItem = res.data.checkedNullValueItem;
  76. this.data.checkedGiveUpItem = res.data.checkedGiveUpItem;
  77. }
  78. });
  79. }
  80. },
  81. //监听事件
  82. watch: {
  83. //人员ID切换
  84. // "patientRegisterId":{
  85. // immediate:true,
  86. // handler(newVal, oldVal) {
  87. // console.log("watch patientRegisterId newVal:", newVal, " oldVal:", oldVal);
  88. // this.getSumAsbItemStatus(newVal);
  89. // }
  90. // },
  91. // 虚拟表 触发强制刷新 (sumDoctor.M 合并包含:综述、建议、对比、历史等,不包含总检诊断)
  92. "dataTransOpts.refresh.sumDoctor.M": {
  93. // immediate:true,
  94. handler(newVal, oldVal) {
  95. console.log(`watch 总检--检查状态汇总 newVal: ${newVal}, oldVal: ${oldVal} patientRegisterId: ${this.dataTransOpts.tableS.patient_register.id}`);
  96. this.getSumAsbItemStatus(this.dataTransOpts.tableS.patient_register.id);
  97. }
  98. },
  99. },
  100. };
  101. </script>
  102. <style scoped>
  103. .asbitemListClass {
  104. display: block;
  105. width: v-bind("Math.floor((window.pageWidth - 110 - 15 - 15) / 4) + 'px'");
  106. margin-left: 3px;
  107. }
  108. .labelClass {
  109. margin-top: 2px;
  110. font-size: 8x;
  111. }
  112. .contentClass {
  113. display: flex;
  114. height: 52px;
  115. margin-top: 2px;
  116. font-size: 8x;
  117. }
  118. </style>