handleChangeViewD.js 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. Vue.component('comD',{
  2. template:' <div class="tab4">\
  3. <template>\
  4. <span>就诊时间:</span> \
  5. <el-date-picker v-model="value1" type="date" placeholder="选择日期">\
  6. </el-date-picker>\
  7. <el-date-picker v-model="value2" type="date" placeholder="选择日期">\
  8. </el-date-picker>\
  9. <span>药品名称:</span> \
  10. <div class="modelSearch" >\
  11. <el-input paceholder="请输入药品名称" v-model="drugName">\
  12. </el-input>\
  13. </div>\
  14. <a href="#" @click="handleZidian"> 查看药品字典 </a>\
  15. <span>就诊类型:</span> \
  16. <el-select v-model="eventType" placeholder="请选择">\
  17. <el-option v-for="item in event_type" :key="item.code" :label="item.name" :value="item.code">\
  18. </el-option>\
  19. </el-select>\
  20. <div class="search" @click="searchClick">搜索</div>\
  21. </template>\
  22. <el-table :data="tableData" border style="width: 100%" :data.native="tableData.slice((currentPage-1)*pageSize,currentPage*pageSize)">\
  23. <el-table-column prop="event_date" label="就诊时间">\
  24. </el-table-column>\
  25. <el-table-column prop="patient_name" label="姓名">\
  26. </el-table-column>\
  27. <el-table-column label="就诊类型" width="140">\
  28. <template slot-scope="scope">\
  29. <span v-if="scope.row.every_type == 0">门急诊</span>\
  30. <span v-else>住院</span>\
  31. </template>\
  32. </el-table-column>\
  33. <el-table-column prop="HDSD00_04_021" label="规格">\
  34. </el-table-column>\
  35. <el-table-column prop="HDSD00_04_027" label="用法" >\
  36. </el-table-column>\
  37. <el-table-column prop="HDSD00_04_028" label="总量">\
  38. </el-table-column>\
  39. <el-table-column fixed="right" label="操作">\
  40. <template slot-scope="scope">\
  41. <el-button @click="handleClick(scope.row)" type="text" size="small">查看详情</el-button>\
  42. </template>\
  43. </el-table-column>\
  44. </el-table>\
  45. <el-pagination \
  46. @size-change="handleSizeChange"\
  47. @current-change="handleCurrentChange" \
  48. :current-page="currentPage"\
  49. :page-sizes="pageSizeArr"\
  50. :page-size="pageSize" \
  51. layout="total,sizes,prev, pager, next, jumper"\
  52. :total="total">\
  53. </el-pagination>\
  54. </template>\
  55. </div>\
  56. </div> ',
  57. data: function () {
  58. return {
  59. currentPage: 1, //初始页
  60. pageSize: 10, // 每页的数据
  61. tableData: [],
  62. pageSizeArr: [10, 20, 30, 50],
  63. total: 0,
  64. event_type: [{
  65. "code": '0',
  66. "name": '门急诊'
  67. }, {
  68. "code": '1',
  69. "name": '住院'
  70. }],
  71. value1: new Date(getLastMonthStartDate()),
  72. value2:new Date(getLastMonthEndDate()),
  73. drugName:'',
  74. eventType: '0',
  75. }
  76. },
  77. mounted: function () {
  78. this.getData()
  79. console.log()
  80. },
  81. methods: {
  82. handleCurrentChange: function (val) {
  83. this.currentPage = val;
  84. this.getData()
  85. },
  86. handleSizeChange: function (val) {
  87. this.pageSize = val;
  88. this.initData()
  89. },
  90. initData: function () { //初始化
  91. this.currentPage = 1;
  92. this.getData()
  93. },
  94. searchClick: function () {
  95. console.log(this.eventType)
  96. console.log(this.drugName)
  97. this.initData()
  98. },
  99. getData: function () {
  100. var vm = this;
  101. var params = {
  102. start:this.value1.format('yyyy-MM-dd'),
  103. end:this.value2.format('yyyy-MM-dd'),
  104. drugName:this.drugName,
  105. eventType:this.eventType,
  106. size:15,
  107. page:1,
  108. }
  109. GlobalEventBus.$emit('setLoading', {
  110. loading: true
  111. }); //缓存效果
  112. bigDataOutApi.drugAnalysis(params).then(function (res) {
  113. console.log(res)
  114. GlobalEventBus.$emit('setLoading');
  115. vm.tableData = res.detailModelList;
  116. vm.total = res.detailModelList.length;
  117. vm.tableData = vm.tableData.map(function(item){
  118. item.event_date = new Date(item.event_date).format('yyyy-MM-dd-hh-mm-ss')
  119. return item;
  120. })
  121. }).catch(function (err) {
  122. console.log(err)
  123. GlobalEventBus.$emit('setLoading');
  124. })
  125. },
  126. handleClick:function(row) {
  127. console.log(row)
  128. demographic_id=row.demographic_id,
  129. medication=row.HDSD00_04_023,
  130. eventdate=row.event_date
  131. var url = httpRequest.server+'/app-ehr-browser/app/medication/html/medication.html?'+
  132. 'healthProblemName='+'&demographic_id='+demographic_id+'&medication='+medication+'&eventdate='+eventdate
  133. console.log(url)
  134. var width=(0.5212*window.screen.width)+'px';
  135. var height=(0.7878*window.screen.height)+'px';
  136. top.layer.open({
  137. id:'Lay_xiangqingD',
  138. type:2,
  139. title:false,
  140. closeBtn:0,
  141. shade:0.5,
  142. shadeClose:true,
  143. area:[width,height],
  144. content:url
  145. })
  146. },
  147. handleZidian:function(){
  148. var url ='../html/zidian.html'
  149. console.log(url)
  150. var width=(0.5212*window.screen.width)+'px';
  151. var height=(0.6528*window.screen.height)+'px';
  152. top.layer.open({
  153. id:'Lay_zidian',
  154. type:2,
  155. title:false,
  156. closeBtn:0,
  157. shade:0.5,
  158. shadeClose:true,
  159. area:[width,height],
  160. content:url
  161. })
  162. }
  163. }
  164. })