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.

248 lines
7.4 KiB

3 years ago
3 years ago
2 years ago
2 years ago
2 years ago
3 years ago
2 years ago
3 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
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
2 years ago
3 years ago
2 years ago
2 years ago
2 years ago
3 years ago
2 years ago
3 years ago
2 years ago
2 years ago
3 years ago
2 years ago
3 years ago
2 years ago
2 years ago
2 years ago
3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
3 years ago
3 years ago
2 years ago
3 years ago
2 years ago
3 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
3 years ago
3 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
3 years 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
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
2 years ago
3 years ago
3 years ago
2 years ago
3 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
  1. <template>
  2. <div>
  3. <div>
  4. <div class="contenttitle">
  5. 体检 /<span class="contenttitleBold">总检医生诊台</span>
  6. </div>
  7. <div style="display: flex">
  8. <div :style="'width:' + (window.pageWidth - 110 - 15) + 'px;'">
  9. <div>
  10. <PatientRegisterBase />
  11. </div>
  12. <div :style="`height: ${window.pageHeight < 600 ? 436 : window.pageHeight - 164}px;`">
  13. <el-tabs v-model="tabChoosed">
  14. <el-tab-pane label="综述建议" name="1">
  15. <div style="display: flex;">
  16. <!-- 综述建议 -->
  17. <div :style="'width:' + (window.pageWidth - 110 - 15) + 'px;'">
  18. <SumSug :patientRegisterId="dataTransOpts.tableS.patient_register.id" :tabChoosed="tabChoosed"/>
  19. </div>
  20. <!-- 诊断 width:200px;
  21. <div v-if="false" style="width:200px;">
  22. <SumDiagnosis :patientRegisterId="dataTransOpts.tableS.patient_register.id" />
  23. </div>
  24. -->
  25. </div>
  26. <div>
  27. <!-- 总检状态 -->
  28. <SumPREdit />
  29. <!-- 检查情况 -->
  30. <div style="margin-top: -6px;">
  31. <SumAsbItemStatus :patientRegisterId="dataTransOpts.tableS.patient_register.id" :tabChoosed="tabChoosed"/>
  32. </div>
  33. </div>
  34. </el-tab-pane>
  35. <el-tab-pane label="明细结果" name="2">
  36. <CheckDetails :patientRegisterId="dataTransOpts.tableS.patient_register.id" :tabChoosed="tabChoosed"/>
  37. </el-tab-pane>
  38. <!--
  39. <el-tab-pane label="危急值" name="3"> </el-tab-pane>
  40. <el-tab-pane label="项目对比" name="4">
  41. <SumItemsType :patientId="dataTransOpts.tableS.patient_register.patientId" />
  42. </el-tab-pane>
  43. -->
  44. <el-tab-pane label="历次结果" name="5">
  45. <SumItems :patientId="dataTransOpts.tableS.patient_register.patientId" :tabChoosed="tabChoosed"/>
  46. </el-tab-pane>
  47. <el-tab-pane label="历次综述" name="6">
  48. <SumHistory :patientId="dataTransOpts.tableS.patient_register.patientId" :tabChoosed="tabChoosed"/>
  49. </el-tab-pane>
  50. </el-tabs>
  51. </div>
  52. </div>
  53. <div style="width: 110px">
  54. <ButtonList/>
  55. </div>
  56. </div>
  57. </div>
  58. </div>
  59. </template>
  60. <script>
  61. import { mapState } from "vuex";
  62. import { getapi, postapi, putapi, deletapi } from "@/api/api";
  63. import { tcdate } from "../../utlis/proFunc";
  64. import PatientRegisterBase from "../../components/doctorCheck/PatientRegisterBase.vue";
  65. import ButtonList from "../../components/sumDoctorCheck/ButtonList.vue";
  66. import SumSug from "../../components/sumDoctorCheck/SumSug.vue";
  67. import SumDiagnosis from "../../components/sumDoctorCheck/SumDiagnosis.vue";
  68. import SumPREdit from "../../components/sumDoctorCheck/SumPREdit.vue";
  69. import SumAsbItemStatus from "../../components/sumDoctorCheck/SumAsbItemStatus.vue";
  70. import CheckDetails from "../../components/sumDoctorCheck/CheckDetails.vue";
  71. import SumItemsType from "../../components/sumDoctorCheck/SumItemsType.vue";
  72. import SumItems from "../../components/sumDoctorCheck/SumItems.vue";
  73. import SumHistory from "../../components/sumDoctorCheck/SumHistory.vue";
  74. export default {
  75. components: {
  76. PatientRegisterBase,
  77. ButtonList,
  78. SumSug,
  79. SumDiagnosis,
  80. SumPREdit,
  81. SumAsbItemStatus,
  82. CheckDetails,
  83. SumItemsType,
  84. SumItems,
  85. SumHistory,
  86. },
  87. data() {
  88. return {
  89. tabChoosed: "1",
  90. };
  91. },
  92. created() {
  93. if(this.$route.query.patient_register){
  94. this.dataTransOpts.tableS.patient_register = this.$route.query.patient_register
  95. }else{
  96. this.dataTransOpts.tableS.patient_register = { id: '', patientRegisterNo: ''}
  97. }
  98. },
  99. //挂载完成
  100. mounted() {
  101. this.dictInit();
  102. },
  103. computed: {
  104. ...mapState([
  105. "window",
  106. "dict",
  107. "dataTransOpts",
  108. "patientRegister",
  109. "customerOrg",
  110. "sumDoctorCheck",
  111. ]),
  112. },
  113. methods: {
  114. //数据初始化
  115. dictInit() {
  116. //性别
  117. getapi("/api/app/sex").then((res) => {
  118. if (res.code == 1) {
  119. this.dict.sex = res.data;
  120. }
  121. });
  122. //体检中心
  123. getapi("/api/app/organization-units/organization-unit-by-is-peis").then(
  124. (res) => {
  125. if (res.code == 1) {
  126. this.dict.organization = res.data;
  127. }
  128. }
  129. );
  130. //体检单位
  131. // getapi("/api/app/customer-org/in-filter").then((res) => {
  132. // if (res.code == 1) {
  133. // this.dict.customerOrg = res.data;
  134. // }
  135. // });
  136. //体检类别
  137. getapi("/api/app/medical-type/in-filter").then((res) => {
  138. if (res.code == 1) {
  139. this.dict.medicalType = res.data;
  140. }
  141. });
  142. //人员类别
  143. getapi("/api/app/personnel-type/in-filter").then((res) => {
  144. if (res.code == 1) {
  145. this.dict.personnelType = res.data;
  146. }
  147. });
  148. //婚姻状况
  149. getapi("/api/app/MaritalStatus/GetMaritalStatusList").then((res) => {
  150. if (res.code == 1) {
  151. this.dict.maritalStatus = res.data;
  152. }
  153. });
  154. //性激素期
  155. getapi("/api/app/sex-hormone-term/in-filter").then((res) => {
  156. if (res.code == 1) {
  157. this.dict.sexHormoneTerm = res.data;
  158. }
  159. });
  160. //民族
  161. getapi("/api/app/nation/in-filter").then((res) => {
  162. if (res.code == 1) {
  163. this.dict.nation = res.data;
  164. }
  165. });
  166. //籍惯 ,出生地
  167. getapi("/api/app/birth-place/in-filter").then((res) => {
  168. if (res.code == 1) {
  169. this.dict.birthPlace = res.data;
  170. }
  171. });
  172. //套餐
  173. postapi("/api/app/medicalpackage/GetBasicList", {}).then((res) => {
  174. if (res.code == 1) {
  175. this.dict.medicalPackage = res.data;
  176. }
  177. });
  178. //分组,所有分组,不限单位,不限次数
  179. // getapi("/api/app/customer-org-group").then((res) => {
  180. // if (res.code == 1) {
  181. // this.dict.customerOrgGroupAll = res.data.items;
  182. // }
  183. // });
  184. //支付方式
  185. // getapi("/api/app/pay-mode").then((res) => {
  186. // if (res.code == 1) {
  187. // this.dict.payMode = res.data;
  188. // }
  189. // });
  190. //体检类别 树结构
  191. getapi("/api/app/item-type/by-code-all").then((res) => {
  192. if (res.code == 1) {
  193. this.dict.itemTypeTree = res.data;
  194. tcdate(this.dict.itemTypeTree);
  195. }
  196. });
  197. postapi("/api/app/asbitem/GetBasicList", { isFilterActive: 'Y' }).then((res) => {
  198. if (res.code == 1) {
  199. this.dict.asbItemAll = res.data;
  200. }
  201. });
  202. console.log("dict", this.dict);
  203. },
  204. },
  205. //监听事件()
  206. watch: {
  207. "tabChoosed":{
  208. // immediate:true,
  209. handler(newVal, oldVal) {
  210. console.log(`watch 总检--历次综述建议 newVal: ${newVal}, oldVal: ${oldVal} `);
  211. if(newVal != oldVal && newVal != '1') this.dataTransOpts.refresh.sumDoctor.M++
  212. }
  213. },
  214. },
  215. };
  216. </script>
  217. <style scoped>
  218. @import '../../assets/css/global_card.css';
  219. @import '../../assets/css/global_input.css';
  220. @import '../../assets/css/global_table.css';
  221. @import '../../assets/css/global.css';
  222. </style>