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.

213 lines
5.5 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
3 years ago
2 years ago
2 years ago
3 years ago
2 years ago
2 years ago
2 years ago
3 years ago
2 years ago
2 years ago
3 years ago
2 years ago
2 years ago
2 years ago
3 years ago
2 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
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
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
2 years ago
2 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
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>
  4. <div slot="header">
  5. 体检人员登记
  6. </div>
  7. <div style="display: flex;">
  8. <!-- 单位树组件 -->
  9. <div
  10. :style="
  11. 'border: 1px solid;width:200px; height:' +
  12. (window.pageHeight < 600 ? 450 : window.pageHeight - 150) +
  13. 'px;'
  14. "
  15. >
  16. <CustomerOrgTreeAll />
  17. </div>
  18. <div
  19. :style="
  20. 'display:block;width:' +
  21. (window.pageWidth - 200 - 50) +
  22. 'px;height:' +
  23. (window.pageHeight < 600 ? 450 : window.pageHeight - 150) +
  24. 'px;' +
  25. (window.pageHeight < 600 ? 'overflow-y: scroll;' : '')
  26. "
  27. >
  28. <!-- 查询条件 -->
  29. <PatientRegisterQuery />
  30. <!-- 人员列表信息 -->
  31. <PatientRegisterList />
  32. </div>
  33. </div>
  34. </el-card>
  35. </div>
  36. </template>
  37. <script>
  38. import { mapState, mapActions } from "vuex";
  39. import { getapi, postapi, putapi, deletapi } from "@/api/api";
  40. import { tcdate } from "../../utlis/proFunc";
  41. import CustomerOrgTreeAll from "../../components/patientRegister/customerOrgTreeAll.vue";
  42. import PatientRegisterQuery from "../../components/patientRegister/patientRegisterQuery.vue";
  43. import PatientRegisterList from "../../components/patientRegister/PatientRegisterList.vue";
  44. export default {
  45. components: {
  46. CustomerOrgTreeAll,
  47. PatientRegisterQuery,
  48. PatientRegisterList,
  49. },
  50. data() {
  51. return {
  52. CustomerOrgTreeStyle: "",
  53. CustomerOrgRightStyle: "margin-left: 10px;",
  54. };
  55. },
  56. //组件创建完成,一般页面初始布局放在这里
  57. created() {},
  58. //页面挂载完成,一般页面渲染数据放在这里
  59. mounted() {
  60. this.dictInit();
  61. },
  62. computed: {
  63. ...mapState(["window", "dict", "patientRegister", "customerOrg"]),
  64. },
  65. methods: {
  66. ...mapActions(["getCustomerOrgGroup"]),
  67. //数据初始化
  68. dictInit() {
  69. //性别(仅档案用)
  70. getapi("/api/app/sex").then((res) => {
  71. if (res.code == 1) {
  72. this.dict.sex = res.data;
  73. }
  74. });
  75. //性别(查询)
  76. getapi("/api/app/for-sex").then((res) => {
  77. if (res.code == 1) {
  78. this.dict.forSex = res.data;
  79. }
  80. });
  81. //体检中心
  82. getapi("/api/app/organization-units/organization-unit-by-is-peis").then(
  83. (res) => {
  84. if (res.code == 1) {
  85. this.dict.organization = res.data;
  86. }
  87. }
  88. );
  89. //体检单位
  90. getapi("/api/app/customer-org/in-filter").then((res) => {
  91. if (res.code == 1) {
  92. this.dict.customerOrg = res.data.items;
  93. }
  94. });
  95. //体检类别
  96. getapi("/api/app/medical-type/in-filter").then((res) => {
  97. if (res.code == 1) {
  98. this.dict.medicalType = res.data.items;
  99. }
  100. });
  101. //人员类别
  102. getapi("/api/app/personnel-type/in-filter").then((res) => {
  103. if (res.code == 1) {
  104. this.dict.personnelType = res.data.items;
  105. }
  106. });
  107. //婚姻状况
  108. getapi("/api/app/marital-statuses").then((res) => {
  109. if (res.code == 1) {
  110. this.dict.maritalStatus = res.data.items;
  111. }
  112. });
  113. //性激素期
  114. getapi("/api/app/sex-hormone-term/in-filter").then((res) => {
  115. if (res.code == 1) {
  116. this.dict.sexHormoneTerm = res.data.items;
  117. }
  118. });
  119. //民族
  120. getapi("/api/app/nation/in-filter").then((res) => {
  121. if (res.code != -1) {
  122. this.dict.nation = res.data;
  123. }
  124. });
  125. //籍惯 ,出生地
  126. getapi("/api/app/birth-place/in-filter").then((res) => {
  127. if (res.code == 1) {
  128. this.dict.birthPlace = res.data.items;
  129. }
  130. });
  131. //套餐
  132. getapi("/api/app/medical-package/in-filter").then((res) => {
  133. if (res.code == 1) {
  134. this.dict.medicalPackage = res.data.items;
  135. }
  136. });
  137. //分组,所有分组,不限单位,不限次数
  138. getapi("/api/app/customer-org-group").then((res) => {
  139. if (res.code == 1) {
  140. this.dict.customerOrgGroupAll = res.data.items;
  141. }
  142. });
  143. //支付方式
  144. getapi("/api/app/pay-mode").then((res) => {
  145. if (res.code == 1) {
  146. this.dict.payMode = res.data;
  147. }
  148. });
  149. //体检类别 树结构
  150. getapi("/api/app/item-type/by-code-all").then((res) => {
  151. if (res.code == 1) {
  152. this.dict.itemTypeTree = res.data;
  153. tcdate(this.dict.itemTypeTree);
  154. }
  155. });
  156. getapi("/api/app/asbitem/in-filter?Filter").then((res) => {
  157. if (res.code == 1) {
  158. this.dict.asbItemAll = res.data.items;
  159. }
  160. });
  161. console.log("dict", this.dict);
  162. },
  163. },
  164. //监听事件()
  165. watch: {
  166. //1级单位值改变,分组改变
  167. "patientRegister.query.CustomerOrgParentId"(newVal, oldVal) {
  168. console.log(
  169. "watch patientRegister.query.CustomerOrgParentId newVal:",
  170. newVal,
  171. "oldVal:",
  172. oldVal
  173. );
  174. if (newVal != oldVal && newVal !== this.dict.personOrgId) {
  175. this.getCustomerOrgGroup(newVal);
  176. }
  177. },
  178. },
  179. };
  180. </script>
  181. <style scoped>
  182. @import '../../assets/css/global_button.css';
  183. @import '../../assets/css/global_dialog.css';
  184. @import '../../assets/css/global_form.css';
  185. @import '../../assets/css/global_input.css';
  186. @import '../../assets/css/global_table.css';
  187. @import '../../assets/css/global.css';
  188. .box {
  189. display: flex;
  190. }
  191. </style>