select-patient.html 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>同步出院小结</title>
  6. <link rel="stylesheet" type="text/css" href="../../../css/cross.css" />
  7. <link rel="stylesheet" type="text/css" href="../../../css/cross.ui.css" />
  8. <link rel="stylesheet" type="text/css" href="../../../css/style.min.css" />
  9. <link rel="stylesheet" type="text/css" href="../css/select-patient.css" />
  10. </head>
  11. <body class="m0">
  12. <div id="app" style="height: 100%;" v-cloak>
  13. <div class="plr20 ptb10 c-border-b">
  14. <div class="clearfix c-border">
  15. <input class="fl search-input plr10" type="text" placeholder="输入居民姓名或身份证号码" v-model="keyword" />
  16. <span class="fr search-btn" @click="getPatientInfoByDoctor()"></span>
  17. </div>
  18. </div>
  19. <div style="overflow: hidden; height: calc(100% - 59px);">
  20. <ul class="pat-list p0 m0" style="overflow: auto; height: 100%;" v-if="isSearch">
  21. <li class="clearfix lh40 plr20 ptb10" v-for="(pati, index) in patiList" :key="index" @click="getPatientInfo(pati)">
  22. <div class="fl set-img">
  23. <img :src="setPatImg(pati.photo)" alt="居民头像" />
  24. </div>
  25. <span class="fl ml20 mr10 c-333 c-f16">{{pati.patientName}}</span>
  26. <span class="fl c-999">({{pati.sex}}&emsp;{{pati.age}}岁)</span>
  27. </li>
  28. <li v-if="!patiList.length" class="c-t-center pt40 set-no-hover">无查询数据</li>
  29. </ul>
  30. <ul class="label-list p0 m0" style="overflow: auto; height: 100%;" v-if="isLabel">
  31. <li v-for="(label, index) in labelList" :key="index">
  32. <h4 class="c-border-b m0 lh40 pl10 pr50 clearfix" @click="selectIndexFn(index, label)" :class="{'active':selectIndex == index}">{{label.labelName}}<span class="fr">{{label.count}}</span></h4>
  33. <ul class="pat-list p0 m0 c-border-b" v-if="selectIndex == index">
  34. <li class="clearfix lh40 plr20 ptb10" v-for="(pati, ind) in patiList" @click="getPatientInfo(pati)">
  35. <div class="fl set-img">
  36. <img :src="setPatImg(pati.photo)" alt="居民头像" />
  37. </div>
  38. <span class="fl ml20 mr10 c-333 c-f16">{{pati.patientName}}</span>
  39. <span class="fl c-999">({{pati.sex}}&emsp;{{pati.age == 0 ? "<1" : pati.age}}岁)</span>
  40. </li>
  41. </ul>
  42. </li>
  43. </ul>
  44. <div class="selected-patient c-h100" v-if="!isSearch && !isLabel">
  45. <div class="clearfix plr20 ptb10">
  46. <div class="fl set-img">
  47. <img :src="setPatImg(patiInfo.photo)" alt="居民头像" />
  48. </div>
  49. <div class="fl ml10 set-txt c-999 clearfix">
  50. <div class="m0 lh22 clearfix"><span class="c-333 c-f16">{{patiInfo.patientName}}</span>&emsp;{{patiInfo.sex}}&emsp;{{patiInfo.age}}岁<p class="fr m0 p0 c-f14 mr20 c-333">出院医嘱:<span>0</span></p></div>
  51. <p class="m0">身份证号: <span class="c-333 c-f14">{{patiInfo.idcard}}</span></p>
  52. </div>
  53. </div>
  54. <div class="result plr20" style="overflow: hidden; height: calc(100% - 60px);">
  55. <div class="no-result c-t-center c-border-t ptb20" v-if="true">
  56. <img src="../images/wushuju01_img.png" alt="" />
  57. <p class="c-999 mt10 mb20">暂无相关信息</p>
  58. <span class="c-fff btn cur-pit plr10 ptb5 bgc-12b7f5 b-r-3" @click="selectPatient()">同步居民</span>
  59. </div>
  60. <ul class="p0 m0 c-333 c-border-t" style="overflow: auto; height: 100%;" v-if="false">
  61. <li class="ptb10 c-border-b">
  62. <div class="clearfix">
  63. <p class="fl p0 m0 w-100-70"><span class="c-999">出院医嘱:</span>这是出院医学征服世界爱的色放卡大V阿大V撒<span class="ml10 c-12b7f5 txt-underline cur-pit" @click="showLayer()">查看</span></p>
  64. <span class="fr w40 c-t-center c-fff btn cur-pit plr10 ptb5 bgc-12b7f5 b-r-3" @click="selectPatient()">提取</span>
  65. </div>
  66. <div class="clearfix mt5">
  67. <p class="fl m0"><span class="c-999">主治医生:</span>名字</p>
  68. <p class="fr m0"><span class="c-999">出院时间:</span>2018-08-28</p>
  69. </div>
  70. </li>
  71. </ul>
  72. </div>
  73. </div>
  74. </div>
  75. </div>
  76. <script src="../../../js/vue.js" type="text/javascript" charset="utf-8"></script>
  77. <script src="../../../js/jquery-2.2.4.js"></script>
  78. <script src="../../../plugins/layer/layer.min.js"></script>
  79. <script src="../../../js/bootstrap.min.js"></script>
  80. <script src="../../../js/es6-promise.js" type="text/javascript" charset="utf-8"></script>
  81. <script src="../../../js/underscore.js" type="text/javascript" charset="utf-8"></script>
  82. <script src="../../../js/util.js" type="text/javascript" charset="utf-8"></script>
  83. <script src="../../../api/http-request.js" type="text/javascript"></script>
  84. <script src="../../../api/recover_api.js" type="text/javascript"></script>
  85. <script type="text/javascript">
  86. var doctorType = (JSON.parse(window.localStorage.getItem('wlyyAgent'))||{}).doctorType,
  87. doctorCode = (JSON.parse(window.localStorage.getItem('wlyyAgent'))||{}).uid
  88. var httpData=GetRequest()
  89. function showSuccessMessage(msg) {
  90. layer.msg(msg, {
  91. icon: 1
  92. })
  93. }
  94. function showErrorMessage(msg) {
  95. layer.msg(msg, {
  96. icon: 5
  97. })
  98. }
  99. function showWarningMessage(msg) {
  100. layer.msg(msg, {
  101. icon: 2
  102. })
  103. }
  104. function showInfoMessage(msg) {
  105. layer.msg(msg, {
  106. icon: 6
  107. })
  108. }
  109. selectVue = new Vue({
  110. el: "#app",
  111. data: {
  112. page: 1,
  113. keyword: null,
  114. selectIndex: null,
  115. labelList: [],
  116. isLabel: true,
  117. isSearch: false,
  118. patiList: [],
  119. patiInfo: null
  120. },
  121. mounted: function() {
  122. this.findLabelAndPatientCountByDoctor()
  123. },
  124. methods: {
  125. showLayer: function() {
  126. top.layer.open({
  127. type: 1,
  128. area: ['400px', '500px'],
  129. shade: 0.5,
  130. title: "出院医嘱",
  131. closeBtn: 1,
  132. shift: 5,
  133. shadeClose: true, //点击遮罩关闭层
  134. content: "<div class='plr10 ptb10'>&emsp;&emsp;" + "这是医嘱大的大爱大" + "</div>"
  135. })
  136. },
  137. findLabelAndPatientCountByDoctor: function() {
  138. var vm = this,
  139. loadding = layer.load(0, {shade: false}),
  140. params = {
  141. doctor: doctorCode
  142. }
  143. recoverAPI.findLabelAndPatientCountByDoctor(params).then(function(res) {
  144. layer.close(loadding)
  145. if(res.status == 200) {
  146. vm.labelList = res.data
  147. } else {
  148. showErrorMessage(res.msg);
  149. }
  150. })
  151. },
  152. getPatientInfoByDoctor: function(label) {
  153. var vm = this,
  154. loadding = layer.load(0, {shade: false}),
  155. params = {
  156. doctor: doctorCode,
  157. patientInfo: this.keyword == "" ? null : this.keyword, // 居民身份证或者姓名
  158. disease: label ? label.label : "",
  159. page: vm.page,
  160. size: 50
  161. }
  162. recoverAPI.getPatientInfoByDoctor(params).then(function(res) {
  163. layer.close(loadding)
  164. if(res.status == 200) {
  165. vm.patiList = res.data
  166. if(!label) {
  167. vm.isSearch = true
  168. vm.isLabel = false
  169. }
  170. if(!vm.keyword) {
  171. vm.isSearch = false
  172. vm.isLabel = true
  173. }
  174. } else {
  175. showErrorMessage(res.msg);
  176. }
  177. })
  178. },
  179. getPatientInfo: function(pati) {
  180. this.isSearch = false
  181. this.isLabel = false
  182. this.patiInfo = pati
  183. },
  184. selectIndexFn: function(index, label) {
  185. if(this.selectIndex == index) {
  186. this.selectIndex = null
  187. } else {
  188. this.selectIndex = index
  189. this.getPatientInfoByDoctor(label)
  190. }
  191. },
  192. selectPatient: function() {
  193. top.recoverVue.selectPatientOk(this.patiInfo)
  194. top.layer.close(top.selectPatientIndex)
  195. },
  196. setPatImg: function(src) {
  197. if(!src) {
  198. return "../../../images/p-female.png"
  199. } else {
  200. var str = httpRequest.getImgUrl(src);
  201. return str
  202. }
  203. }
  204. }
  205. })
  206. </script>
  207. </body>
  208. </html>