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.

168 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
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">
  3. <div style="display:block;">
  4. <div style="display: flex; flex-wrap: wrap; height:35px;">
  5. <div class="query">
  6. <span>体检单位</span>
  7. <el-input placeholder="请选择单位" v-model="patientRegister.query.cusOrgOCX" style="width:240px;" size="small" disabled>
  8. <el-button slot="append" icon="el-icon-search" @click="report.dialogCusOrgOCX = true" style="font-size: 20px;"></el-button>
  9. </el-input>
  10. </div>
  11. <div class="query">
  12. <span>性别</span>
  13. <el-select v-model="patientRegister.query.sex" placeholder="请选择" style="width: 60px" size="small">
  14. <el-option v-for="item in dict.sex" :key="item.id" :label="item.displayName" :value="item.id" />
  15. </el-select>
  16. </div>
  17. <div class="query">
  18. <span>身份证号</span>
  19. <el-input placeholder="身份证号" v-model="patientRegister.query.idCardNo" size="small" clearable
  20. style="width: 150px" />
  21. </div>
  22. <div class="query">
  23. <span>电话</span>
  24. <el-input placeholder="手机号及电话" v-model="patientRegister.query.phone" size="small" clearable
  25. style="width: 110px" />
  26. </div>
  27. <div class="query">
  28. <span>检查状态</span>
  29. <el-select v-model="patientRegister.query.completeFlag" placeholder="请选择" clearable style="width: 80px"
  30. size="small">
  31. <el-option v-for="item in dict.completeFlag" :key="item.id" :label="item.displayName" :value="item.id">
  32. </el-option>
  33. </el-select>
  34. </div>
  35. </div>
  36. <div style="display: flex; flex-wrap: wrap; height:35px;">
  37. <div class="query">
  38. <span>条码号</span>
  39. <el-input placeholder="条码号" v-model="patientRegister.query.patientRegisterNo" size="small" clearable
  40. style="width: 130px" />
  41. </div>
  42. <div class="query">
  43. <span>档案号</span>
  44. <el-input placeholder="档案号" v-model="patientRegister.query.patientNo" size="small" clearable
  45. style="width: 120px" />
  46. </div>
  47. <div class="query">
  48. <span>姓名</span>
  49. <el-input placeholder="姓名" v-model="patientRegister.query.patientName" size="small" clearable
  50. style="width: 100px" />
  51. </div>
  52. <div class="query" style="margin-left: 80px;">
  53. <span>审核</span>
  54. <el-select v-model="patientRegister.query.isAudit" placeholder="请选择" clearable style="width: 75px"
  55. size="small">
  56. <el-option label="未审核" value="N"/>
  57. <el-option label="已审核" value="Y"/>
  58. </el-select>
  59. </div>
  60. <div class="query">
  61. <span>上传</span>
  62. <el-select v-model="patientRegister.query.isUpload" placeholder="请选择" clearable style="width: 75px"
  63. size="small">
  64. <el-option label="未上传" value="N"/>
  65. <el-option label="已上传" value="Y"/>
  66. </el-select>
  67. </div>
  68. <div class="query">
  69. <span>打印</span>
  70. <el-select v-model="patientRegister.query.reportPrintTimes" placeholder="请选择" clearable style="width: 75px"
  71. size="small">
  72. <el-option label="未打印" value=0 />
  73. <el-option label="已打印" value=1 />
  74. </el-select>
  75. </div>
  76. </div>
  77. </div>
  78. <!--通用选单位体检次数分组的控件-->
  79. <el-dialog title="体检单位选择" :visible.sync="report.dialogCusOrgOCX"
  80. :close-on-click-modal="false" width="800px" height="600px">
  81. <CusOrgOCX/>
  82. </el-dialog>
  83. </div>
  84. </template>
  85. <script>
  86. import { mapState } from "vuex";
  87. import { getapi, postapi, putapi, deletapi } from "@/api/api";
  88. import CusOrgOCX from "./CusOrgOCX.vue"
  89. export default {
  90. components: {
  91. CusOrgOCX,
  92. },
  93. props: ["orgEnable"],
  94. data() {
  95. return {
  96. dialogVisible: false,
  97. };
  98. },
  99. created() { },
  100. //挂载完成
  101. mounted() { },
  102. computed: {
  103. ...mapState(["window", "dict", "patientRegister", "customerOrg","report"]),
  104. },
  105. methods: {
  106. //选择单位
  107. changeCustomerOrgId(v) {
  108. console.log(v)
  109. if (!v) {
  110. this.patientRegister.query.customerOrgRegister = null;
  111. return;
  112. }
  113. let customerOrgId = v[0];
  114. if (customerOrgId == this.dict.personOrgId) {
  115. this.patientRegister.query.customerOrgRegister = null;
  116. return;
  117. }
  118. getapi(
  119. `/api/app/customerorgregister/getlistincustomerorgid?CustomerOrgId=${customerOrgId}`
  120. ).then((res) => {
  121. //console.log('res.data',res.data)
  122. if (res.code != -1) {
  123. this.customerOrg.customerOrgRegisterList = res.data;
  124. if (res.data.length > 0) {
  125. this.patientRegister.query.customerOrgRegister = res.data[res.data.length - 1];
  126. this.patientRegister.query.dateRange = [
  127. res.data[res.data.length - 1].beginTime,
  128. res.data[res.data.length - 1].isComplete == 'N' ? new Date() : res.data[res.data.length - 1].endTime
  129. ]
  130. }
  131. }
  132. });
  133. },
  134. //选择单位体检次数是,更新起止日期
  135. changeMedicalTimes(v){
  136. this.patientRegister.query.customerOrgRegister = v;
  137. this.patientRegister.query.dateRange = [
  138. v.beginTime,
  139. v.isComplete == 'N' ? new Date() : v.endTime
  140. ];
  141. }
  142. },
  143. };
  144. </script>
  145. <style scoped>
  146. ::v-deep .el-input__inner {
  147. /*text-align: center;*/
  148. padding-left: 5px;
  149. padding-right: 15px;
  150. }
  151. ::v-deep .el-input__icon{
  152. width: 15px; /* 输入框下拉箭头或清除图标 默认 25 */
  153. }
  154. ::v-deep .el-input-group__append{
  155. padding: 0 5px; /* 控件默认 0 20px;*/
  156. }
  157. .query {
  158. margin-left: 10px;
  159. }
  160. </style>