record.js 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265
  1. (function() {
  2. Vue.component('record', {
  3. template: '<div class="container ptb20">\
  4. <div class="row w3-row">\
  5. <left-menu :code="code"></left-menu>\
  6. <div class="pl251">\
  7. <div class="bgc-fff c-border" style="min-height: 706px;">\
  8. <ul class="nav nav-tabs c-inline-block width-100" role="tablist" id="recordlist">\
  9. <li role="presentation" class="active">\
  10. <a href="#home" aria-controls="home" role="tab" data-toggle="tab" id="_home">待就诊</a>\
  11. </li>\
  12. <li role="presentation">\
  13. <a href="#history" aria-controls="history" role="tab" data-toggle="tab" id="_history">历史记录</a>\
  14. </li>\
  15. </ul>\
  16. <div class="tab-content plr25 ptb8">\
  17. <div role="tabpanel" class="tab-pane active" id="home">\
  18. <template v-if="records.length>0">\
  19. <div class="list-body" v-for="record in records">\
  20. <div class="list-header"><span>预约时间</span><span class="pl20">{{record.orderCreateTime}}</span></div>\
  21. <div class="div-table">\
  22. <div class="table-row">\
  23. <div class="table-cell">\
  24. <div class="w3-row">\
  25. <div class="w3-col pl15" style="width:95px">\
  26. <img :src="record.photoUri || defaultImg" class="img-circle" width="80" height="80" />\
  27. </div>\
  28. <div class="w3-rest c-t-left pl20 c-f14 ">\
  29. <div class="mt15">\
  30. <span class="c-f16">{{record.doctorName}}</span>\
  31. <span class="plr10">{{record.doctorName}}</span>\
  32. <span class="c-909090">{{record.deptName}}</span>\
  33. </div>\
  34. <div class="mt10 c-909090">{{record.hospitalName}}</div>\
  35. </div>\
  36. </div>\
  37. </div>\
  38. <div class="table-cell c-f16">\
  39. <div class="mt15">{{record.registerDate}}</div>\
  40. <div class="mt10">{{record.serialNo}},{{record.commendTime}}</div>\
  41. </div>\
  42. <div class="table-cell c-f16 mt25">{{record.patientName}}</div>\
  43. <div class="table-cell">\
  44. <div class="cancelbtn" @click="cancelbtn(record.orderId)">取消预约</div>\
  45. <div class="mt10" style="color:#0AD8C8" @click="getinfo(record.id)">查看详情</span>\
  46. </div>\
  47. </div>\
  48. </div>\
  49. </div>\
  50. </div>\
  51. </template>\
  52. <div v-else class="c-t-center mtb100">\
  53. <img src="../../../images/queshengye-.png" />\
  54. </div>\
  55. <div id="homepage" class="page_div" v-if="!ishomeNull"></div>\
  56. </div>\
  57. <div role="tabpanel" class="tab-pane" id="history">\
  58. <template v-if="historyrecords.length>0">\
  59. <div class="list-body" v-for="record in historyrecords">\
  60. <div class="list-header"><span>预约时间</span><span class="pl20">{{record.orderCreateTime}}</span></div>\
  61. <div class="div-table">\
  62. <div class="table-row">\
  63. <div class="table-cell">\
  64. <div class="w3-row">\
  65. <div class="w3-col pl15" style="width:95px">\
  66. <img :src="record.photoUri|| defaultImg" class="img-circle" width="80" height="80" />\
  67. </div>\
  68. <div class="w3-rest c-t-left pl20 c-f14 ">\
  69. <div class="mt15">\
  70. <span class="c-f16">{{record.doctorName}}</span>\
  71. <span class="plr10">{{record.deptName}}</span>\
  72. <span class="c-909090">{{record.deptName}}</span>\
  73. </div>\
  74. <div class="mt10 c-909090">{{record.hospitalName}}</div>\
  75. </div>\
  76. </div>\
  77. </div>\
  78. <div class="table-cell c-f16">\
  79. <div class="mt15">{{record.registerDate}}</div>\
  80. <div class="mt10">{{record.serialNo}},{{record.commendTime}}</div>\
  81. </div>\
  82. <div class="table-cell c-f16 mt25">{{record.patientName}}</div>\
  83. <div class="table-cell">\
  84. <div class="mt10">{{record.stateDesc}}</span>\
  85. <div class="mt10" style="color:#0AD8C8" @click="getinfo(record.id)">查看详情</span>\
  86. </div>\
  87. </div>\
  88. </div>\
  89. </div>\
  90. </div>\
  91. </template>\
  92. <div v-else class="c-t-center mtb100">\
  93. <img src="../../../images/queshengye-.png" />\
  94. </div>\
  95. <div id="historypage" class="page_div" v-if="!ishistoryNull"></div>\
  96. </div>\
  97. </div>\
  98. </div>\
  99. </div>\
  100. <div class="modal fade" id="appointmentinfo" tabindex="-1" role="dialog" aria-labelledby="appointmentinfoLabel">\
  101. <div class="modal-dialog" role="document">\
  102. <div class="modal-content">\
  103. <div class="modal-header bgc-f9f9f9">\
  104. <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>\
  105. <h4 class="modal-title" id="appointmentinfoLabel">挂号明细</h4>\
  106. </div>\
  107. <div class="modal-body">\
  108. <div class="bgc-fff">\
  109. <div class="w3-row modal-list">\
  110. <div class="w3-col" style="width:120px;">订单号</div>\
  111. <div class="w3-rest">{{recordinfo.orderId}}</div>\
  112. </div>\
  113. <div class="w3-row modal-list" style="border:none;">\
  114. <div class="w3-col" style="width:120px;">订单状态</div>\
  115. <div class="w3-rest">{{recordinfo.stateDesc}}</div>\
  116. </div>\
  117. <div class="w3-row modal-list bgc-f9f9f9" style="color:#323232;border:none;">预约信息</div>\
  118. <div class="w3-row c-border-b modal-list">\
  119. <div class="w3-col" style="width:120px;">预约医院</div>\
  120. <div class="w3-rest">{{recordinfo.hospitalName}}</div>\
  121. </div>\
  122. <div class="w3-row modal-list">\
  123. <div class="w3-col" style="width:120px;">预约科室</div>\
  124. <div class="w3-rest">{{recordinfo.deptName}}</div>\
  125. </div>\
  126. <div class="w3-row modal-list">\
  127. <div class="w3-col" style="width:120px;">就诊日期</div>\
  128. <div class="w3-rest">{{recordinfo.registerDate}} {{recordinfo.timeId}}</div>\
  129. </div>\
  130. <div class="w3-row modal-list">\
  131. <div class="w3-col" style="width:120px;">就诊时间</div>\
  132. <div class="w3-rest">{{recordinfo.commendTime}}</div>\
  133. </div>\
  134. <div class="w3-row modal-list">\
  135. <div class="w3-col" style="width:120px;">就诊序号</div>\
  136. <div class="w3-rest">{{recordinfo.serialNo}}</div>\
  137. </div>\
  138. <div class="w3-row modal-list" style="border:none;">\
  139. <div class="w3-col" style="width:120px;">退号截止时间</div>\
  140. <div class="w3-rest">{{recordinfo.invalidDate}}</div>\
  141. </div>\
  142. <div class="w3-row modal-list bgc-f9f9f9" style="color:#323232;border:none;">就诊人信息</div>\
  143. <div class="w3-row modal-list">\
  144. <div class="w3-col" style="width:120px;">姓名</div>\
  145. <div class="w3-rest">{{recordinfo.patientName}}</div>\
  146. </div>\
  147. <div class="w3-row modal-list">\
  148. <div class="w3-col" style="width:120px;">证件号</div>\
  149. <div class="w3-rest">{{recordinfo.cardNo}}</div>\
  150. </div>\
  151. <div class="w3-row modal-list">\
  152. <div class="w3-col" style="width:120px;">手机号</div>\
  153. <div class="w3-rest">{{recordinfo.phoneNo}}</div>\
  154. </div>\
  155. <div class="c-t-center">\
  156. <button type="button" class="btn btn-default c-f16 mt30 mb20" style="width:144px;" @click="hideModel()">关 闭</button>\
  157. </div>\
  158. </div>\
  159. </div>\
  160. </div>\
  161. </div>\
  162. </div>\
  163. </div>',
  164. props: [],
  165. data: function() {
  166. return {
  167. code: "record",
  168. records: [],
  169. historyrecords: [],
  170. recodestype: '2',
  171. historytype: '',
  172. recordinfo: {},
  173. defaultImg: "../../../images/moren_touxiang_img.png",
  174. ishomeNull: false,
  175. ishistoryNull: false,
  176. }
  177. },
  178. mounted: function() {
  179. var vm = this
  180. vm.getlist(1, vm.recodestype)
  181. vm.getlist(1, vm.historytype)
  182. },
  183. methods: {
  184. getlist: function(pageNo, types) {
  185. var vm = this
  186. var oauthInfo = JSON.parse(sessionStorage.getItem("oauthInfo"));
  187. var filters = "userId=" + oauthInfo.id
  188. if(types == '2') {
  189. filters += ";state=" + types
  190. }
  191. var param = {
  192. fields: '',
  193. filters: filters,
  194. sort: '+registerDate',
  195. page: pageNo,
  196. size: 5
  197. }
  198. jiuzhenAPI.queryRegOrderInfos(param).then(function(res) {
  199. if(types == '2') {
  200. vm.records = res.detailModelList
  201. if(res.totalCount == 0) {
  202. vm.ishomeNull = true
  203. } else {
  204. vm.inithomePage(pageNo, res.totalPage, res.totalCount)
  205. }
  206. } else if(types == '') {
  207. vm.historyrecords = res.detailModelList
  208. vm.inithistoryPage(pageNo, res.totalPage, res.totalCount)
  209. if(res.totalCount == 0) {
  210. vm.ishistoryNull = true
  211. } else {
  212. vm.inithistoryPage(pageNo, res.totalPage, res.totalCount)
  213. }
  214. }
  215. })
  216. },
  217. cancelbtn: function(id) {
  218. personalDialogForm.cancelAppointment(id).then(function(layerid) {
  219. top.layer.close(layerid)
  220. })
  221. },
  222. inithomePage: function(pageNo, total, size) {
  223. var vm = this
  224. //分页初始化
  225. $("#homepage").paging({
  226. pageNo: pageNo,
  227. totalPage: total,
  228. totalSize: size,
  229. callback: function(num) {
  230. //回调的页数
  231. vm.getlist(num, vm.recodestype)
  232. }
  233. })
  234. },
  235. inithistoryPage: function(pageNo, total, size) {
  236. var vm = this
  237. //分页初始化
  238. $("#historypage").paging({
  239. pageNo: pageNo,
  240. totalPage: total,
  241. totalSize: size,
  242. callback: function(num) {
  243. //回调的页数
  244. vm.getlist(num, vm.historytype)
  245. }
  246. })
  247. },
  248. getinfo: function(orderid) {
  249. var vm = this
  250. jiuzhenAPI.getRegOrderInfo(orderid).then(function(res) {
  251. vm.recordinfo = res.obj
  252. vm.openmodel()
  253. })
  254. },
  255. openmodel: function() {
  256. $('#appointmentinfo').modal('show')
  257. },
  258. hideModel: function() {
  259. $('#appointmentinfo').modal('hide')
  260. }
  261. },
  262. })
  263. })()