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.

171 lines
5.9 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
1 week ago
2 years ago
2 years ago
2 years ago
1 week 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 week ago
2 years ago
2 years ago
2 years ago
1 week 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
2 years ago
2 years ago
  1. <template>
  2. <div style="display: flex;height:32px;margin-top: 2px;">
  3. <div style="display: flex; flex-wrap: wrap;height:32px; width: 100%">
  4. <div>
  5. <span class="query">体检结论</span>
  6. <el-select v-model="dataTransOpts.tableS.patient_register.medicalConclusionId" filterable clearable
  7. :disabled="dataTransOpts.tableS.patient_register.completeFlag == '3' ? true : false" placeholder="请选择"
  8. style="width: 80px" size="small">
  9. <el-option-group v-for="group in medicalConclusionGroup" :key="group.value" :label="group.label">
  10. <el-option v-for="item in group.options" :key="item.id" :label="item.displayName" :value="item.id" />
  11. </el-option-group>
  12. </el-select>
  13. </div>
  14. <div>
  15. <span class="query">{{ summary_check_doctor_alias[0] || '总检' }}医生</span>
  16. <el-select v-model="dataTransOpts.tableS.patient_register.summaryDoctorId" filterable clearable
  17. :disabled="(dataTransOpts.tableS.patient_register.completeFlag == '3' ? true : false) || summary_check_doctor_chooseable[0] == 'N'"
  18. placeholder="请选择" style="width: 80px" size="small">
  19. <el-option v-for="item in users" :key="item.id" :label="item.surname" :value="item.id" />
  20. </el-select>
  21. </div>
  22. <div>
  23. <span class="query">{{ summary_check_doctor_alias[0] || '总检' }}日期</span>
  24. <el-date-picker v-model="dataTransOpts.tableS.patient_register.summaryDate" value-format="yyyy-MM-dd HH:mm:ss"
  25. :readonly="dataTransOpts.tableS.patient_register.completeFlag == '3' ? true : false" type="datetime"
  26. style="width: 140px" size="small" />
  27. </div>
  28. <div style="margin-top: 3px;">
  29. <span class="query">{{ summary_check_doctor_alias[0] || '总检' }}</span>
  30. <el-checkbox :value="dataTransOpts.tableS.patient_register.completeFlag == '3'" readonly></el-checkbox>
  31. </div>
  32. <div>
  33. <span class="query">{{ summary_check_doctor_alias[1] || '审核' }}医生</span>
  34. <el-select v-model="dataTransOpts.tableS.patient_register.auditDoctorId" style="width: 80px" placeholder="请选择" size="small"
  35. :disabled="summary_check_doctor_chooseable[1] == 'N' || dataTransOpts.tableS.patient_register.isAudit == 'Y'">
  36. <el-option v-for="item in users" :key="item.id" :label="item.surname" :value="item.id" />
  37. </el-select>
  38. </div>
  39. <div>
  40. <span class="query">{{ summary_check_doctor_alias[1] || '审核' }}日期</span>
  41. <el-date-picker v-model="dataTransOpts.tableS.patient_register.auditDate" value-format="yyyy-MM-dd HH:mm:ss" readonly
  42. type="datetime" style="width: 140px" size="small" />
  43. </div>
  44. <div style="margin-top: 3px;">
  45. <span class="query">{{ summary_check_doctor_alias[1] || '审核' }}</span>
  46. <el-checkbox :value="dataTransOpts.tableS.patient_register.isAudit == 'Y'" readonly></el-checkbox>
  47. </div>
  48. </div>
  49. </div>
  50. </template>
  51. <script>
  52. import { mapState } from "vuex";
  53. import { getapi, postapi, putapi, deletapi } from "@/api/api";
  54. import { arrayExistObj } from "../../utlis/proFunc"
  55. export default {
  56. components: {},
  57. data() {
  58. return {
  59. users: [],
  60. medicalConclusion: [],
  61. medicalConclusionGroup: [],
  62. summary_check_doctor_alias: ["总检", "审核"],
  63. summary_check_doctor_chooseable: ["Y", "N"],
  64. };
  65. },
  66. created() {
  67. },
  68. //挂载完成
  69. mounted() {
  70. this.dictInit()
  71. },
  72. computed: {
  73. ...mapState(["dict", "window", "dataTransOpts"]),
  74. },
  75. methods: {
  76. // 初始化字典数据
  77. dictInit() {
  78. // 获取用户信息
  79. postapi('/api/identity/users/GetListByOperatorType', { operatorTypes: ["2", "3"] })
  80. .then(res => {
  81. if (res.code > -1) {
  82. this.users = res.data
  83. }
  84. })
  85. // 获取体检结论信息
  86. getapi('/api/app/medical-conclusion/in-type')
  87. .then(res => {
  88. if (res.code != -1) {
  89. this.medicalConclusion = res.data
  90. this.medicalConclusionHandle()
  91. }
  92. })
  93. postapi('/api/app/SysParmValue/GetSysParmValueBySysParmId', { sysParmId: "summary_check_doctor_alias" })
  94. .then(res => {
  95. if (res.code > -1) {
  96. this.summary_check_doctor_alias = JSON.parse(res.data)
  97. }
  98. })
  99. postapi('/api/app/SysParmValue/GetSysParmValueBySysParmId', { sysParmId: 'summary_check_doctor_chooseable' })
  100. .then(res => {
  101. if (res.code > -1) {
  102. this.summary_check_doctor_chooseable = JSON.parse(res.data)
  103. }
  104. })
  105. },
  106. medicalConclusionHandle() {
  107. // <el-option-group
  108. // v-for="group in options"
  109. // :key="group.label"
  110. // :label="group.label">
  111. // <el-option
  112. // v-for="item in group.options"
  113. // :key="item.value"
  114. // :label="item.label"
  115. // :value="item.value">
  116. // </el-option>
  117. // </el-option-group>
  118. this.medicalConclusionGroup = []
  119. this.medicalConclusion.forEach(e => {
  120. let lfind = arrayExistObj(this.medicalConclusionGroup, 'value', e.medicalConclusionTypeId)
  121. if (lfind > -1) {
  122. this.medicalConclusionGroup[lfind]["options"].push({ id: e.id, displayName: e.displayName })
  123. } else {
  124. this.medicalConclusionGroup.push({
  125. label: e.medicalConclusionTypeName,
  126. value: e.medicalConclusionTypeId,
  127. options: [{ id: e.id, displayName: e.displayName }]
  128. })
  129. }
  130. });
  131. },
  132. },
  133. //监听事件
  134. watch: {
  135. },
  136. };
  137. </script>
  138. <style scoped>
  139. ::v-deep .el-select-group__title {
  140. font-size: 15px;
  141. background-color: #EEEEEE;
  142. color: black;
  143. font-weight: 700;
  144. }
  145. /* popper-class="sumarySelect" :popper-append-to-body="false"
  146. ::v-deep .sumarySelect .el-select-dropdown__wrap {
  147. background-color: #FFF;
  148. max-height: 500px;
  149. }
  150. */
  151. .query {
  152. font-size: 14px;
  153. margin-left: 10px;
  154. margin-top: 5px;
  155. padding: 1px 1px;
  156. }
  157. </style>