index.html 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259
  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. <div class="searchDiv pb20">
  18. <label class="c-333 c-f14">
  19. <label class="c-333 c-f14">确诊年份:</label>
  20. <el-select v-model="chooseYear" class="pr20 formWidth wd160">
  21. <el-option v-for="(item , index) in years" :key="index" :label="item" :value="item"></el-option>
  22. </el-select>
  23. </label>
  24. </div>
  25. <!--=======================================================-->
  26. <div class="searchDiv pb20">
  27. <label class="c-333 c-f14">患者姓名:</label>
  28. <el-input v-model="name" class="pr20 formWidth wd160" placeholder="请输入患者姓名查询"></el-input>
  29. </div>
  30. <!--=======================================================-->
  31. <div class="searchDiv pb20">
  32. <label class="c-333 c-f14">下转状态:</label>
  33. <el-select class="pr20 formWidth" v-model="turnDownStatus" placeholder="请选择">
  34. <el-option
  35. v-for="(option, index) in transferStatusOptions"
  36. :label="option.value"
  37. :value="option.code"></el-option>
  38. <!-- <el-option label="全部" value="item.value"></el-option> -->
  39. </el-select>
  40. </div>
  41. <!--=======================================================-->
  42. <div class="searchDiv pb20">
  43. <label class="c-333 c-f14">接收状态:</label>
  44. <el-select class="pr20 formWidth" v-model="receiveStatus" placeholder="请选择">
  45. <el-option
  46. v-for="(option, index) in receiveStatusOptions"
  47. :label="option.label"
  48. :value="option.value"></el-option>
  49. </el-select>
  50. </div>
  51. <!--=======================================================-->
  52. <div class="searchDiv pb20">
  53. <label class="c-333 c-f14">接收社区医院:</label>
  54. <el-select class="pr20 formWidth" v-model="hospital" placeholder="请选择">
  55. <el-option
  56. v-for="(option, index) in receivingHospitalList"
  57. :label="option.name"
  58. :value="option.code"></el-option>
  59. </el-select>
  60. </div>
  61. <!--=======================================================-->
  62. <div class="searchDiv pb20">
  63. <label class="c-333 c-f14">接收医生:</label>
  64. <el-input class="pr20 formWidth wd160" v-model="doctorName" placeholder="请输入医生姓名查询"></el-input>
  65. </div>
  66. <!--=======================================================-->
  67. <div class="searchDiv pb20">
  68. <label class="c-333 c-f14">随访状态:</label>
  69. <el-select class="pr20 formWidth" v-model="archivesStatus" placeholder="请选择">
  70. <el-option
  71. v-for="(option, index) in followStatusArr"
  72. :label="option.value"
  73. :value="option.code"></el-option>
  74. </el-select>
  75. </div>
  76. <!--=======================================================-->
  77. <div class="searchDiv pb20">
  78. <label class="c-333 c-f14">生存状态:</label>
  79. <el-select class="pr20 formWidth" v-model="isLive" placeholder="请选择">
  80. <el-option
  81. v-for="(option, index) in survivalStatusOption"
  82. :label="option.value"
  83. :value="option.code"></el-option>
  84. </el-select>
  85. </div>
  86. <!--=======================================================-->
  87. <div class="searchDiv pb20">
  88. <label class="c-333 c-f14">首次诊断医院名称:</label>
  89. <el-input class="pr20 formWidth wd160" v-model="firstOrg" placeholder="请输入医院名称查询"></el-input>
  90. </div>
  91. <!--=======================================================-->
  92. <div class="searchDiv pb20">
  93. <label class="c-333 c-f14">
  94. 数据范围:
  95. </label>
  96. <el-select class="pr20 formWidth" v-model="rangeCode" placeholder="请选择">
  97. <el-option v-for="(option, index) in rangeList" :label="option.name"
  98. :value="option.code"></el-option>
  99. </el-select>
  100. </div>
  101. <!--=======================================================-->
  102. <template v-if="rangeCode!='city'">
  103. <div class="searchDiv pb20">
  104. <label class="c-333 c-f14">
  105. 地区:
  106. </label>
  107. <el-select v-model="areaCode" style="width: 100px" class="pr10">
  108. <el-option v-for="(item , index) in areaList" :key="index" :label="item.name"
  109. :value="item.code"></el-option>
  110. </el-select>
  111. </div>
  112. <!--=======================================================-->
  113. <div class="searchDiv pb20" v-show="rangeCode!='town'&&rangeCode!='specHos'">
  114. <label class="c-333 c-f14">
  115. 社区:
  116. </label>
  117. <el-select v-model="communityCode" style="width: 200px" class="pr10">
  118. <el-option v-for="(item , index) in communityArr" :key="index" :label="item.name"
  119. :value="item.code"></el-option>
  120. </el-select>
  121. </div>
  122. </template>
  123. <!--=======================================================-->
  124. <div class="searchDiv pb20">
  125. <el-button type="primary" size="mini" @click="queryDate">查询</el-button>
  126. <!-- <el-upload
  127. class="upload-demo"
  128. active=""
  129. :on-preview="handlePreview"
  130. :file-list="fileList">
  131. <el-button type="success " size="mini">导入</el-button>
  132. </el-upload> -->
  133. <!-- <div>
  134. <input ref="imgFile" type="file" name="FileUpload" class="file-upload" @change="handlePreview">
  135. </div>
  136. -->
  137. <el-button type="success " size="mini" @click="toggle(true)">导入</el-button>
  138. <el-button type="ff9526" size="mini" @click="exportTable">导出</el-button>
  139. <el-button type="success" size="mini" @click="synPatient">档案同步</el-button>
  140. <el-button type="primary" size="mini" @click="distributionHospital">批量分配</el-button>
  141. <span class="eliminate" @click="eliminateClick">清除筛选条件</span>
  142. </div>
  143. <!--=======================================================-->
  144. </div>
  145. <div class="ad-schedule-import">
  146. <el-dialog
  147. :destroy-on-close="true"
  148. title="导入"
  149. custom-class="schedule-import"
  150. :visible.sync="isShow"
  151. :append-to-body="true"
  152. width="400px">
  153. <div>
  154. <el-form ref="form" label-width="100px">
  155. <el-form-item label="居民档案">
  156. <el-upload
  157. action=""
  158. :before-upload="beforeUploadPic"
  159. :multiple="false"
  160. accept=".xls,.xlsx"
  161. :show-file-list="false"
  162. :file-list="fileList">
  163. <span class="fileName" style="color: #12b7f5;">{{file? file.name : '请选择文件'}}</span>
  164. <el-button style="vertical-align: middle;" size="small" type="primary">选择文件</el-button>
  165. </el-upload>
  166. </el-form-item>
  167. </el-form>
  168. </div>
  169. <span slot="footer" class="dialog-footer">
  170. <el-button @click="toggle(false)">取 消</el-button>
  171. <el-button v-loading="loading" type="primary" @click="check">确 定</el-button>
  172. </span>
  173. </el-dialog>
  174. <div >
  175. <el-dialog
  176. :destroy-on-close="true"
  177. title="导入进度"
  178. custom-class="schedule-import"
  179. :visible.sync="isProgressShow"
  180. :append-to-body="true"
  181. :close-on-click-modal="false"
  182. :close-on-press-escape="false"
  183. :show-close="false"
  184. width="400px">
  185. <div class="tc">
  186. <div class="mb20">{{percentage!=100? '批量处理中,请耐心等待' : success? '处理成功!' : '处理失败,请重试'}}</div>
  187. <el-progress v-if="percentage!=100||success" :percentage="percentage"></el-progress>
  188. <el-progress v-else="" status="exception" :percentage="percentage"></el-progress>
  189. <div class="err-list" v-if="errList&&errList.length">
  190. <div v-for="(item, i) in errList" :key="i" v-html="item.errorMes"></div>
  191. </div>
  192. <div class="mt20">
  193. <el-button v-if="percentage!=100" type="info">处理中...</el-button>
  194. <el-button @click="close()" v-else-if="success" type="primary">处理成功</el-button>
  195. <el-button @click="close(1)" v-else type="danger">重试</el-button>
  196. </div>
  197. </div>
  198. </el-dialog>
  199. </div>
  200. </div>
  201. <el-table style="width: 100%" :data="dataList" v-loading="daLoading" @selection-change="selectionLineChangeHandle">
  202. <el-table-column type="selection" width="55"></el-table-column>
  203. <el-table-column prop="name" label="患者姓名" width="180"></el-table-column>
  204. <el-table-column prop="nationality" label="国籍" width="180"></el-table-column>
  205. <el-table-column prop="nationName" label="民族" width="180"></el-table-column>
  206. <el-table-column prop="idcardTypeName" label="证件类型" width="180"></el-table-column>
  207. <el-table-column prop="idcard" label="证件号码" width="180"></el-table-column>
  208. <el-table-column prop="sexName" label="性别" width="180"></el-table-column>
  209. <el-table-column prop="birthday" label="出生日期" width="180"></el-table-column>
  210. <el-table-column prop="age" label="年龄" width="180"></el-table-column>
  211. <el-table-column prop="mobile" label="联系电话" width="180"></el-table-column>
  212. <el-table-column prop="liveAddress" label="常住地址" width="180"></el-table-column>
  213. <el-table-column prop="registAddress" label="户籍地址" width="180"></el-table-column>
  214. <el-table-column prop="occupationName" label="职业" width="180"></el-table-column>
  215. <el-table-column prop="marriageName" label="婚姻状态" width="180"></el-table-column>
  216. <el-table-column prop="firstChargeType" label="医保类型" width="180"></el-table-column>
  217. <el-table-column prop="turnDownStatusName" label="下转状态" width="180"></el-table-column>
  218. <el-table-column prop="receiveStatusName" label="接收状态" width="180"></el-table-column>
  219. <el-table-column prop="hospitalName" label="接收医院" width="180"></el-table-column>
  220. <el-table-column prop="doctorName" label="接收医生" width="180"></el-table-column>
  221. <el-table-column prop="archivesStatusName" label="随访状态" width="180"></el-table-column>
  222. <el-table-column prop="isLiveName" label="生存状态" width="180"></el-table-column>
  223. <el-table-column prop="deathTime" label="死亡日期" width="180"></el-table-column>
  224. <el-table-column label="操作" min-width="220" fixed="right">
  225. <template slot-scope="{row}">
  226. <el-button type="text" @click="onClickEdit(row)">编辑</el-button>
  227. <el-button type="text" @click="onClickServiceRecord(row)">服务记录</el-button>
  228. <el-button type="text" @click="onClickHealthRecord(row)">健康档案</el-button>
  229. </template>
  230. </el-table-column>
  231. </el-table>
  232. <div class="c-t-right mt20">
  233. <!-- TODO 修正 -->
  234. <el-pagination
  235. @current-change="handleCurrentChange"
  236. :current-page.sync="currentPage"
  237. :page-size="currentSize"
  238. layout="total, prev, pager, next, jumper"
  239. :total="totalCount"></el-pagination>
  240. </div>
  241. </template>
  242. <template v-else-if="showEditView">
  243. <copd-patient-record-edit :editData="currentEditData" ref="editName"></copd-patient-record-edit>
  244. </template>
  245. <template v-else-if="serviceRecordVisable">
  246. <copd-service-record :detailInfo="currentEditData" ></copd-service-record>
  247. </template>
  248. <template v-else-if="healthRecordVisable">
  249. <health-record></health-record>
  250. </template>
  251. </div>
  252. </div>
  253. </body>
  254. </html>