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,record.id)">取消预约</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 wushuju">\
  53. <img src="../../../images/queshengye-.png" />\
  54. <div class="mt40">暂无预约就诊记录</div>\
  55. </div>\
  56. <div id="homepage" class="page_div" v-if="!ishomeNull"></div>\
  57. </div>\
  58. <div role="tabpanel" class="tab-pane" id="history">\
  59. <template v-if="historyrecords.length>0">\
  60. <div class="list-body" v-for="record in historyrecords">\
  61. <div class="list-header"><span>预约时间</span><span class="pl20">{{record.orderCreateTime}}</span></div>\
  62. <div class="div-table">\
  63. <div class="table-row">\
  64. <div class="table-cell">\
  65. <div class="w3-row">\
  66. <div class="w3-col pl15" style="width:95px">\
  67. <img :src="record.photoUri|| defaultImg" class="img-circle" width="80" height="80" />\
  68. </div>\
  69. <div class="w3-rest c-t-left pl20 c-f14 ">\
  70. <div class="mt15">\
  71. <span class="c-f16">{{record.doctorName}}</span>\
  72. <span class="plr10">{{record.deptName}}</span>\
  73. <span class="c-909090">{{record.deptName}}</span>\
  74. </div>\
  75. <div class="mt10 c-909090">{{record.hospitalName}}</div>\
  76. </div>\
  77. </div>\
  78. </div>\
  79. <div class="table-cell c-f16">\
  80. <div class="mt15">{{record.registerDate}}</div>\
  81. <div class="mt10">{{record.serialNo}},{{record.commendTime}}</div>\
  82. </div>\
  83. <div class="table-cell c-f16 mt25">{{record.patientName}}</div>\
  84. <div class="table-cell">\
  85. <div class="mt10">{{record.stateDesc}}</span>\
  86. <div class="mt10" style="color:#0AD8C8" @click="getinfo(record.id)">查看详情</span>\
  87. </div>\
  88. </div>\
  89. </div>\
  90. </div>\
  91. </div>\
  92. </template>\
  93. <div v-else class="c-t-center wushuju">\
  94. <img src="../../../images/queshengye-.png" />\
  95. <div class="mt40">暂无预约就诊记录</div>\
  96. </div>\
  97. <div id="historypage" class="page_div" v-if="!ishistoryNull"></div>\
  98. </div>\
  99. </div>\
  100. </div>\
  101. </div>\
  102. <div class="modal fade" id="appointmentinfo" tabindex="-1" role="dialog" aria-labelledby="appointmentinfoLabel">\
  103. <div class="modal-dialog" role="document">\
  104. <div class="modal-content">\
  105. <div class="modal-header bgc-f9f9f9">\
  106. <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>\
  107. <h4 class="modal-title" id="appointmentinfoLabel">挂号明细</h4>\
  108. </div>\
  109. <div class="modal-body">\
  110. <div class="bgc-fff">\
  111. <div class="w3-row modal-list">\
  112. <div class="w3-col" style="width:120px;">订单号</div>\
  113. <div class="w3-rest">{{recordinfo.orderId}}</div>\
  114. </div>\
  115. <div class="w3-row modal-list" style="border:none;">\
  116. <div class="w3-col" style="width:120px;">订单状态</div>\
  117. <div class="w3-rest">{{recordinfo.stateDesc}}</div>\
  118. </div>\
  119. <div class="w3-row modal-list bgc-f9f9f9" style="color:#323232;border:none;">预约信息</div>\
  120. <div class="w3-row c-border-b modal-list">\
  121. <div class="w3-col" style="width:120px;">预约医院</div>\
  122. <div class="w3-rest">{{recordinfo.hospitalName}}</div>\
  123. </div>\
  124. <div class="w3-row modal-list">\
  125. <div class="w3-col" style="width:120px;">预约科室</div>\
  126. <div class="w3-rest">{{recordinfo.deptName}}</div>\
  127. </div>\
  128. <div class="w3-row modal-list">\
  129. <div class="w3-col" style="width:120px;">就诊日期</div>\
  130. <div class="w3-rest">{{recordinfo.registerDate}} {{recordinfo.timeId}}</div>\
  131. </div>\
  132. <div class="w3-row modal-list">\
  133. <div class="w3-col" style="width:120px;">就诊时间</div>\
  134. <div class="w3-rest">{{recordinfo.commendTime}}</div>\
  135. </div>\
  136. <div class="w3-row modal-list">\
  137. <div class="w3-col" style="width:120px;">就诊序号</div>\
  138. <div class="w3-rest">{{recordinfo.serialNo}}</div>\
  139. </div>\
  140. <div class="w3-row modal-list" style="border:none;">\
  141. <div class="w3-col" style="width:120px;">退号截止时间</div>\
  142. <div class="w3-rest">{{recordinfo.invalidDate}}</div>\
  143. </div>\
  144. <div class="w3-row modal-list bgc-f9f9f9" style="color:#323232;border:none;">就诊人信息</div>\
  145. <div class="w3-row modal-list">\
  146. <div class="w3-col" style="width:120px;">姓名</div>\
  147. <div class="w3-rest">{{recordinfo.patientName}}</div>\
  148. </div>\
  149. <div class="w3-row modal-list">\
  150. <div class="w3-col" style="width:120px;">证件号</div>\
  151. <div class="w3-rest">{{recordinfo.cardNo}}</div>\
  152. </div>\
  153. <div class="w3-row modal-list">\
  154. <div class="w3-col" style="width:120px;">手机号</div>\
  155. <div class="w3-rest">{{recordinfo.phoneNo}}</div>\
  156. </div>\
  157. <div class="c-t-center">\
  158. <button type="button" class="btn btn-default c-f16 mt30 mb20" style="width:144px;" @click="hideModel()">关 闭</button>\
  159. </div>\
  160. </div>\
  161. </div>\
  162. </div>\
  163. </div>\
  164. </div>\
  165. </div>',
  166. props: [],
  167. data: function() {
  168. return {
  169. code: "record",
  170. records: [],
  171. historyrecords: [],
  172. recodestype: '2',
  173. historytype: '',
  174. recordinfo: {},
  175. defaultImg: "../../../images/moren_touxiang_img.png",
  176. ishomeNull: false,
  177. ishistoryNull: false,
  178. }
  179. },
  180. mounted: function() {
  181. var vm = this
  182. vm.getlist(1, vm.recodestype)
  183. vm.getlist(1, vm.historytype)
  184. },
  185. methods: {
  186. getlist: function(pageNo, types) {
  187. var vm = this
  188. var oauthInfo = JSON.parse(sessionStorage.getItem("oauthInfo"));
  189. var filters = "userId=" + oauthInfo.id
  190. if(types == '2') {
  191. filters += ";state=" + types+";orderId<>null"
  192. }
  193. var param = {
  194. fields: '',
  195. filters: filters,
  196. sort: '+registerDate',
  197. page: pageNo,
  198. size: 5
  199. }
  200. jiuzhenAPI.queryRegOrderInfos(param).then(function(res) {
  201. if(types == '2') {
  202. vm.records = res.detailModelList
  203. if(res.totalCount == 0) {
  204. vm.ishomeNull = true
  205. } else {
  206. vm.inithomePage(pageNo, res.totalPage, res.totalCount)
  207. }
  208. } else if(types == '') {
  209. vm.historyrecords = res.detailModelList
  210. vm.inithistoryPage(pageNo, res.totalPage, res.totalCount)
  211. if(res.totalCount == 0) {
  212. vm.ishistoryNull = true
  213. } else {
  214. vm.inithistoryPage(pageNo, res.totalPage, res.totalCount)
  215. }
  216. }
  217. })
  218. },
  219. cancelbtn: function(orderid, thirdorderid) {
  220. mineJiuZhenDialogForm.cancelAppointment(orderid, thirdorderid)
  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. })()