index.html 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217
  1. <html lang="en">
  2. <head>
  3. <meta charset="UTF-8" />
  4. <meta
  5. name="viewport"
  6. content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0" />
  7. <meta http-equiv="X-UA-Compatible" content="ie=edge" />
  8. <title>慢阻肺患者档案</title>
  9. <link rel="stylesheet" type="text/css" href="index.css" />
  10. </head>
  11. <body>
  12. <div id="app">
  13. <div class="copd-table-main">
  14. <template v-if="showTotalTable">
  15. <!--过滤器-->
  16. <div class="copd-filter-group ui-col-1 bgc-fff" style="min-width: 900px">
  17. <!--=======================================================-->
  18. <div class="searchDiv pb20">
  19. <label class="c-333 c-f14">患者姓名:</label>
  20. <el-input v-model="name" class="pr20 formWidth wd160" placeholder="请输入患者姓名查询"></el-input>
  21. </div>
  22. <!--=======================================================-->
  23. <div class="searchDiv pb20">
  24. <label class="c-333 c-f14">下转状态:</label>
  25. <el-select class="pr20 formWidth" v-model="turnDownStatus" placeholder="请选择">
  26. <el-option
  27. v-for="(option, index) in transferStatusOptions"
  28. :label="option.value"
  29. :value="option.code"></el-option>
  30. <!-- <el-option label="全部" value="item.value"></el-option> -->
  31. </el-select>
  32. </div>
  33. <!--=======================================================-->
  34. <div class="searchDiv pb20">
  35. <label class="c-333 c-f14">接收状态:</label>
  36. <el-select class="pr20 formWidth" v-model="receiveStatus" placeholder="请选择">
  37. <el-option
  38. v-for="(option, index) in receiveStatusOptions"
  39. :label="option.label"
  40. :value="option.value"></el-option>
  41. </el-select>
  42. </div>
  43. <!--=======================================================-->
  44. <div class="searchDiv pb20">
  45. <label class="c-333 c-f14">接收社区医院:</label>
  46. <el-select class="pr20 formWidth" v-model="hospital" placeholder="请选择">
  47. <el-option
  48. v-for="(option, index) in receivingHospitalList"
  49. :label="option.name"
  50. :value="option.code"></el-option>
  51. </el-select>
  52. </div>
  53. <!--=======================================================-->
  54. <div class="searchDiv pb20">
  55. <label class="c-333 c-f14">接收医生:</label>
  56. <el-input class="pr20 formWidth wd160" v-model="doctorName" placeholder="请输入医生姓名查询"></el-input>
  57. </div>
  58. <!--=======================================================-->
  59. <div class="searchDiv pb20">
  60. <label class="c-333 c-f14">档案状态:</label>
  61. <el-select class="pr20 formWidth" v-model="archivesStatus" placeholder="请选择">
  62. <el-option
  63. v-for="(option, index) in recordStatusOptions"
  64. :label="option.value"
  65. :value="option.code"></el-option>
  66. </el-select>
  67. </div>
  68. <!--=======================================================-->
  69. <div class="searchDiv pb20">
  70. <label class="c-333 c-f14">生存状态:</label>
  71. <el-select class="pr20 formWidth" v-model="isLive" placeholder="请选择">
  72. <el-option
  73. v-for="(option, index) in survivalStatusOption"
  74. :label="option.value"
  75. :value="option.code"></el-option>
  76. </el-select>
  77. </div>
  78. <!--=======================================================-->
  79. <div class="searchDiv">
  80. <label class="c-333 c-f14">首次诊断医院名称:</label>
  81. <el-input class="pr20 formWidth wd160" v-model="firstOrg" placeholder="请输入医院名称查询"></el-input>
  82. </div>
  83. <!--=======================================================-->
  84. <div class="searchDiv">
  85. <el-button type="primary" size="mini" @click="queryDate">查询</el-button>
  86. <!-- <el-upload
  87. class="upload-demo"
  88. active=""
  89. :on-preview="handlePreview"
  90. :file-list="fileList">
  91. <el-button type="success " size="mini">导入</el-button>
  92. </el-upload> -->
  93. <!-- <div>
  94. <input ref="imgFile" type="file" name="FileUpload" class="file-upload" @change="handlePreview">
  95. </div>
  96. -->
  97. <el-button type="success " size="mini" @click="toggle(true)">导入</el-button>
  98. <el-button type="ff9526" size="mini" @click="exportTable">导出</el-button>
  99. <el-button type="success" size="mini" @click="synPatient">档案同步</el-button>
  100. <el-button type="5692fb" size="mini" @click="distributionHospital">批量分配</el-button>
  101. <span class="eliminate" @click="eliminateClick">清除筛选条件</span>
  102. </div>
  103. <!--=======================================================-->
  104. </div>
  105. <div class="ad-schedule-import">
  106. <el-dialog
  107. :destroy-on-close="true"
  108. title="导入"
  109. custom-class="schedule-import"
  110. :visible.sync="isShow"
  111. :append-to-body="true"
  112. width="400px">
  113. <div>
  114. <el-form ref="form" label-width="100px">
  115. <el-form-item label="居民档案">
  116. <el-upload
  117. action=""
  118. :before-upload="beforeUploadPic"
  119. :multiple="false"
  120. accept=".xls,.xlsx"
  121. :show-file-list="false"
  122. :file-list="fileList">
  123. <span class="fileName" style="color: #12b7f5;">{{file? file.name : '请选择文件'}}</span>
  124. <el-button style="vertical-align: middle;" size="small" type="primary">选择文件</el-button>
  125. </el-upload>
  126. </el-form-item>
  127. </el-form>
  128. </div>
  129. <span slot="footer" class="dialog-footer">
  130. <el-button @click="toggle(false)">取 消</el-button>
  131. <el-button v-loading="loading" type="primary" @click="check">确 定</el-button>
  132. </span>
  133. </el-dialog>
  134. <div >
  135. <el-dialog
  136. :destroy-on-close="true"
  137. title="导入进度"
  138. custom-class="schedule-import"
  139. :visible.sync="isProgressShow"
  140. :append-to-body="true"
  141. :close-on-click-modal="false"
  142. :close-on-press-escape="false"
  143. :show-close="false"
  144. width="400px">
  145. <div class="tc">
  146. <div class="mb20">{{percentage!=100? '批量处理中,请耐心等待' : success? '处理成功!' : '处理失败,请重试'}}</div>
  147. <el-progress v-if="percentage!=100||success" :percentage="percentage"></el-progress>
  148. <el-progress v-else="" status="exception" :percentage="percentage"></el-progress>
  149. <div class="err-list" v-if="errList&&errList.length">
  150. <div v-for="(item, i) in errList" :key="i" v-html="item.errorMes"></div>
  151. </div>
  152. <div class="mt20">
  153. <el-button v-if="percentage!=100" type="info">处理中...</el-button>
  154. <el-button @click="close()" v-else-if="success" type="primary">处理成功</el-button>
  155. <el-button @click="close(1)" v-else type="danger">重试</el-button>
  156. </div>
  157. </div>
  158. </el-dialog>
  159. </div>
  160. </div>
  161. <el-table style="width: 100%" :data="dataList" v-loading="daLoading" @selection-change="selectionLineChangeHandle">
  162. <el-table-column type="selection" width="55"></el-table-column>
  163. <el-table-column prop="name" label="患者姓名" width="180"></el-table-column>
  164. <el-table-column prop="nationality" label="国籍" width="180"></el-table-column>
  165. <el-table-column prop="nationName" label="民族" width="180"></el-table-column>
  166. <el-table-column prop="idcardTypeName" label="证件类型" width="180"></el-table-column>
  167. <el-table-column prop="idcard" label="证件号码" width="180"></el-table-column>
  168. <el-table-column prop="sexName" label="性别" width="180"></el-table-column>
  169. <el-table-column prop="birthday" label="出生日期" width="180"></el-table-column>
  170. <el-table-column prop="age" label="年龄" width="180"></el-table-column>
  171. <el-table-column prop="mobile" label="联系电话" width="180"></el-table-column>
  172. <el-table-column prop="liveAddress" label="常住地址" width="180"></el-table-column>
  173. <el-table-column prop="registAddress" label="户籍地址" width="180"></el-table-column>
  174. <el-table-column prop="occupationName" label="职业" width="180"></el-table-column>
  175. <el-table-column prop="marriageName" label="婚姻状态" width="180"></el-table-column>
  176. <el-table-column prop="firstChargeType" label="医保类型" width="180"></el-table-column>
  177. <el-table-column prop="turnDownStatusName" label="下转状态" width="180"></el-table-column>
  178. <el-table-column prop="receiveStatusName" label="接收状态" width="180"></el-table-column>
  179. <el-table-column prop="receivingHospital" label="接收医院" width="180"></el-table-column>
  180. <el-table-column prop="receivingDoctor" label="接收医生" width="180"></el-table-column>
  181. <el-table-column prop="archivesStatusName" label="档案状态" width="180"></el-table-column>
  182. <el-table-column prop="isLiveName" label="生存状态" width="180"></el-table-column>
  183. <el-table-column prop="deathDate" label="死亡日期" width="180"></el-table-column>
  184. <el-table-column label="操作" min-width="220" fixed="right">
  185. <template slot-scope="{row}">
  186. <el-button type="text" @click="onClickEdit(row)">编辑</el-button>
  187. <el-button type="text" @click="onClickServiceRecord(row)">服务记录</el-button>
  188. <el-button type="text" @click="onClickHealthRecord(row)">健康档案</el-button>
  189. </template>
  190. </el-table-column>
  191. </el-table>
  192. <div class="c-t-right mt20">
  193. <!-- TODO 修正 -->
  194. <el-pagination
  195. @current-change="handleCurrentChange"
  196. :current-page.sync="currentPage"
  197. :page-size="currentSize"
  198. layout="total, prev, pager, next, jumper"
  199. :total="totalCount"></el-pagination>
  200. </div>
  201. </template>
  202. <template v-else-if="showEditView">
  203. <copd-patient-record-edit :editData="currentEditData"></copd-patient-record-edit>
  204. </template>
  205. <template v-else-if="serviceRecordVisable">
  206. <copd-service-record :detailInfo="currentEditData"></copd-service-record>
  207. </template>
  208. <template v-else-if="healthRecordVisable">
  209. <health-record></health-record>
  210. </template>
  211. </div>
  212. </div>
  213. </body>
  214. </html>