resultList.js 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. (function () {
  2. Vue.component('resultlist', {
  3. template: '<div >\
  4. <div v-if="data && data.length>0">\
  5. <div v-for="item in data" style="margin-bottom:15px">\
  6. <div class="result_list flex f_wrap" @click="go(item)">\
  7. <div class="flex"><span class="des">就诊日期</span>:<span class="result">{{forMatterDate(item.event_date)}}</span></div>\
  8. <div class="flex"><span class="des">就诊类型</span>:<span class="result">{{(item.event_type==0 && \'门诊\') || (item.event_type==1 && \'住院\')}}</span></div>\
  9. <div class="flex"><span class="des text_s ">性别</span>:<span class="result">{{(item.patient_sex==1 && \'男\') || (item.patient_sex==2 && \'女\') || "" }}</span></div>\
  10. <div class="flex"><span class="des">出生日期</span>:<span class="result">{{forMatterDate(item.patient_birthday)}}</span></div>\
  11. <div class="flex"><span class="des text_s">姓名</span>:<span class="result">{{item.patient_name}}</span></div>\
  12. <div class="flex"><span class="des text_s">医生</span>:<span class="result">{{item.doctor}}</span></div>\
  13. <div class="flex"><span class="des text_s ">就诊医院</span>:<span class="result two_width">{{item.org_name}}</span></div>\
  14. <div class="flex"><span class="des text_s " >就诊科室</span>:<span class="result two_width">{{item.dept_name}}</span></div>\
  15. </div>\
  16. <div v-if="item.hl" class="zhaiyao" v-html="item.hl"></div>\
  17. </div>\
  18. <div class="block flex f_xy_c">\
  19. <el-pagination\
  20. @size-change="handleSizeChange"\
  21. @current-change="handleCurrentChange"\
  22. :current-page="currentPage"\
  23. :page-sizes="pageSizeArr"\
  24. :page-size="pageSize"\
  25. layout="total, sizes, prev, pager, next, jumper"\
  26. :total="total">\
  27. </el-pagination>\
  28. </div>\
  29. </div>\
  30. <nodata v-else ></nodata>\
  31. </div>',
  32. props: ['keyword','filters'],
  33. data: function () {
  34. return {
  35. currentPage:1,
  36. pageSizeArr:[15,30,50,100],
  37. pageSize:15,
  38. total:0,
  39. data:[],
  40. searchKey:''
  41. }
  42. },
  43. mounted: function () {
  44. },
  45. methods: {
  46. forMatterDate:function(date){
  47. return new Date(date).format('yyyy-MM-dd')
  48. },
  49. handleCurrentChange:function(val){ //page
  50. this.currentPage = val;
  51. this.getList()
  52. },
  53. handleSizeChange:function(val){// size
  54. this.pageSize=val;
  55. this.initData()
  56. },
  57. getList:function(){
  58. var vm=this;
  59. var params={
  60. page:this.currentPage,
  61. size:this.pageSize,
  62. keyword:this.keyword,
  63. filters:this.filters
  64. }
  65. GlobalEventBus.$emit('setLoading',{
  66. loading:true
  67. });
  68. bigDataOutApi.text_search(params).then(function(res){
  69. GlobalEventBus.$emit('setLoading');
  70. vm.data=res.detailModelList;
  71. vm.total=res.totalCount;
  72. }).catch(function(err){
  73. console.erroe(err)
  74. GlobalEventBus.$emit('setLoading');
  75. })
  76. },
  77. initData:function(){ //初始化数据
  78. this.currentPage = 1;
  79. this.getList()
  80. },
  81. go:function(item){
  82. var date = this.forMatterDate(item.event_date),
  83. orgName = item.org_name,
  84. profileId=item.rowkey,
  85. eventType=item.event_type,
  86. searchWord=this.keyword
  87. var url = httpRequest.server+'/profile/app/templateDetails/html/hospitalIndex.html?'+
  88. 'date='+date+'&orgName='+orgName+'&profileId='+profileId+'&eventType='+eventType+
  89. '&searchWord='+searchWord
  90. window.open(url)
  91. }
  92. },
  93. watch: {
  94. resultList(val){
  95. }
  96. }
  97. })
  98. })()