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.

167 lines
5.6 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
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. <div style="display: flex">
  4. <div style="display: flex; flex-wrap: wrap;height:70px; width: 100%;">
  5. <div>
  6. <span class="query">条码号</span>
  7. <el-input placeholder="条码号" v-model="doctorCheck.prBase.patientRegisterNo" size="small" style="width: 140px;"
  8. clearable @change="onQueryByPatientRegisterNo" />
  9. </div>
  10. <div>
  11. <span class="query">档案号</span>
  12. <el-input placeholder="档案号" v-model="doctorCheck.prBase.patientNo" size="small" style="width: 100px;" clearable
  13. @change="onQueryByPatientNo" />
  14. </div>
  15. <div>
  16. <span class="query">姓名</span>
  17. <el-input placeholder="姓名" v-model="doctorCheck.prBase.patientName" size="small" style="width: 100px;" disabled />
  18. </div>
  19. <div>
  20. <span class="query">性别</span>
  21. <el-select v-model="doctorCheck.prBase.sexId" style="width: 80px;" size="small" disabled>
  22. <el-option v-for="item in dict.sex" :key="item.id" :label="item.displayName" :value="item.id" />
  23. </el-select>
  24. </div>
  25. <div>
  26. <span class="query">体检次数</span>
  27. <el-input v-model="doctorCheck.prBase.medicalTimes" size="small" style="width: 40px;" disabled />
  28. </div>
  29. <div>
  30. <span class="query">婚姻</span>
  31. <el-select v-model="doctorCheck.prBase.maritalStatusId" style="width: 80px;" size="small" disabled>
  32. <el-option v-for="item in dict.maritalStatus" :key="item.id" :label="item.displayName" :value="item.id" />
  33. </el-select>
  34. </div>
  35. <div>
  36. <span class="query">体检日期</span>
  37. <el-input :value="doctorCheck.prBase.creationTime ? lmoment(doctorCheck.prBase.creationTime, 'yyyy-MM-DD') : ''"
  38. style="width: 100px;" size="small" disabled></el-input>
  39. </div>
  40. <div>
  41. <span class="query">单位</span>
  42. <el-input :value="doctorCheck.prBase.customerOrgParentName" style="width: 120px;" size="small" disabled />
  43. </div>
  44. <div>
  45. <span class="query">部门</span>
  46. <el-input :value="doctorCheck.prBase.customerOrgName" style="width: 120px;" size="small" disabled />
  47. </div>
  48. <div>
  49. <span class="query">体检类别</span>
  50. <el-select v-model="doctorCheck.prBase.medicalTypeId" disabled style="width: 100px;" size="small">
  51. <el-option v-for="item in dict.medicalType" :key="item.id" :label="item.displayName" :value="item.id" />
  52. </el-select>
  53. </div>
  54. <div>
  55. <span class="query">人员类别</span>
  56. <el-select v-model="doctorCheck.prBase.personnelTypeId" disabled style="width: 100px;" size="small">
  57. <el-option v-for="item in dict.personnelType" :key="item.id" :label="item.displayName" :value="item.id" />
  58. </el-select>
  59. </div>
  60. <div>
  61. <span class="query">民族</span>
  62. <el-select v-model="doctorCheck.prBase.nationId" disabled style="width: 100px;" size="small">
  63. <el-option v-for="item in dict.nation" :key="item.id" :label="item.displayName" :value="item.id" />
  64. </el-select>
  65. </div>
  66. <div>
  67. <span class="query">手机</span>
  68. <el-input :value="doctorCheck.prBase.mobileTelephone" style="width: 120px;" size="small" disabled />
  69. </div>
  70. </div>
  71. </div>
  72. </div>
  73. </template>
  74. <script>
  75. import moment from "moment";
  76. import { mapState, mapMutations} from "vuex";
  77. import { getapi, postapi, putapi, deletapi } from "@/api/api";
  78. import { objCopy, opjCopy } from '../../utlis/proFunc'
  79. export default {
  80. components: {},
  81. data() {
  82. return {
  83. dialogVisible: false,
  84. };
  85. },
  86. created() { },
  87. //挂载完成
  88. mounted() { },
  89. computed: {
  90. ...mapState(["dict", "doctorCheck", "sumDoctorCheck"]),
  91. },
  92. methods: {
  93. ...mapMutations(['doctorCheckPrBaseInit','sumPREditInit']),
  94. //按条码号查个人数据
  95. onQueryByPatientRegisterNo() {
  96. let patientRegisterNo = this.doctorCheck.prBase.patientRegisterNo
  97. let body = {
  98. sType:1,
  99. patientRegisterNo
  100. }
  101. console.log(`/api/app/patientregister/getpatientregisterorpatient`,body)
  102. postapi('/api/app/patientregister/getpatientregisterorpatient',body)
  103. .then((res) => {
  104. if (res.code != -1) {
  105. this.doctorCheckPrBaseInit()
  106. this.doctorCheck.prBase.patientRegisterNo = patientRegisterNo
  107. objCopy(res.data,this.doctorCheck.prBase)
  108. this.sumPREditInit()
  109. objCopy(res.data,this.sumDoctorCheck.sumPREdit)
  110. }
  111. });
  112. },
  113. //按条码号查个人数据
  114. onQueryByPatientNo() {
  115. let patientNo = this.doctorCheck.prBase.patientNo
  116. let body = {
  117. sType:2,
  118. patientNo
  119. }
  120. console.log(`/api/app/patientregister/getpatientregisterorpatient`,body)
  121. postapi('/api/app/patientregister/getpatientregisterorpatient',body)
  122. .then((res) => {
  123. if (res.code != -1) {
  124. console.log('按条码号查个人数据',res.data)
  125. this.doctorCheckPrBaseInit()
  126. this.doctorCheck.prBase.patientNo = patientNo
  127. objCopy(res.data,this.doctorCheck.prBase)
  128. this.sumPREditInit()
  129. objCopy(res.data,this.sumDoctorCheck.sumPREdit)
  130. }
  131. });
  132. },
  133. lmoment(date, forMat) {
  134. return moment(new Date(date)).format(forMat);
  135. },
  136. //查询
  137. btnQuery() {
  138. this.doctorCheck.prBase.times++;
  139. console.log("this.doctorCheck.prBase", this.doctorCheck.prBase);
  140. },
  141. //读身份证
  142. readIdCard() {
  143. alert("读身份证");
  144. },
  145. },
  146. };
  147. </script>
  148. <style scoped>
  149. .query {
  150. margin-left: 10px;
  151. margin-right: 2px;
  152. padding: 1px 1px;
  153. }
  154. </style>