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.

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