handleChangeViewB.js 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197
  1. Vue.component('comB', {
  2. template: '<div class="tab2" >\
  3. <template>\
  4. <span>就诊类型:</span> \
  5. <el-select v-model="eventType" placeholder="请选择">\
  6. <el-option v-for="item in event_type" :key="item.code" :label="item.name" :value="item.code">\
  7. </el-option>\
  8. </el-select>\
  9. <span>机构等级:</span> \
  10. <el-select v-model="level" placeholder="请选择" @change="selectChange">\
  11. <el-option v-for="item in level_id" :key="item.code" :label="item.name" :value="item.code">\
  12. </el-option>\
  13. </el-select>\
  14. <el-select v-model="hos" placeholder="请选择">\
  15. <el-option v-for="item in hos_hierarchy" :key="item.code" :label="item.name" :value="item.code">\
  16. </el-option>\
  17. </el-select>\
  18. <el-date-picker v-model="value4" type="month" placeholder="选择时间">\
  19. </el-date-picker>\
  20. <div class="search" @click="searchClick">搜 索</div>\
  21. <span class="span">门急诊费>=999,000.00(999,000.00=上月门急诊次均费用*3)/住院费用>=999,000.00(999,000.00=上月住院次均费用*3)</span>\
  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 prop="demographic_id" label="身份证号" >\
  28. </el-table-column>\
  29. <el-table-column prop="fee" label="就诊费用">\
  30. </el-table-column>\
  31. <el-table-column prop="diagnosis" label="主要诊断">\
  32. </el-table-column>\
  33. <el-table-column label="性别">\
  34. <template slot-scope="scope">\
  35. <span v-if="scope.row.patient_sex == 1">男</span>\
  36. <span v-else>女</span>\
  37. </template>\
  38. </el-table-column>\
  39. <el-table-column prop="patient_age" label="年龄">\
  40. </el-table-column>\
  41. <el-table-column prop="address" label="家庭地址" >\
  42. </el-table-column>\
  43. <el-table-column fixed="right" label="操作">\
  44. <template slot-scope="scope">\
  45. <el-button @click="handleClick(scope.row)" type="text" size="small">查看详情</el-button>\
  46. </template>\
  47. </el-table-column>\
  48. </el-table>\
  49. <el-pagination \
  50. @size-change="handleSizeChange"\
  51. @current-change="handleCurrentChange" \
  52. :current-page="currentPage"\
  53. :page-sizes="pageSizeArr"\
  54. :page-size="pageSize" \
  55. layout="total,sizes,prev, pager, next, jumper"\
  56. :total="total">\
  57. </el-pagination>\
  58. </template>\
  59. </div>',
  60. data: function () {
  61. return {
  62. currentPage: 1, //初始页
  63. pageSize: 10, // 每页的数据
  64. pageSizeArr: [10, 20, 30, 50],
  65. tableData: [],
  66. total: 0,
  67. eventType: '0',
  68. item: '',
  69. hosLevel: '',
  70. level: "",
  71. hos: "",
  72. value4:new Date(getLastMonthStartDate()),
  73. event_type: [{
  74. "code": '0',
  75. "name": '门急诊'
  76. }, {
  77. "code": '1',
  78. "name": '住院'
  79. }],
  80. hos_hierarchy: [{
  81. "code": '',
  82. "name": '全部'
  83. }, {
  84. "code": "1",
  85. "name": '甲等'
  86. }, {
  87. "code": "2",
  88. "name": '乙等'
  89. }, {
  90. "code": "3",
  91. "name": '丙等'
  92. }],
  93. level_id: [{
  94. "code": "",
  95. "name": '全部',
  96. }, {
  97. "code": "1",
  98. "name": '一级'
  99. }, {
  100. "code": "2",
  101. "name": '二级'
  102. }, {
  103. "code": "3",
  104. "name": '三级'
  105. },
  106. ]
  107. }
  108. },
  109. watch: {
  110. },
  111. mounted: function () {
  112. this.getData()
  113. },
  114. methods: {
  115. handleClick:function(row) {
  116. demographic_id=row.demographic_id,
  117. blurry_type=row.eventType,
  118. searchParam=''
  119. var url = httpRequest.server+'/profile/app/medication/html/jiuzhen-item.html?'+
  120. 'healthProblemName='+'&demographic_id='+demographic_id+'&blurry_type='+blurry_type+'&searchParam='+searchParam
  121. console.log(url)
  122. // window.open(url)
  123. var width=(0.5212*window.screen.width)+'px';
  124. var height=(0.7878*window.screen.height)+'px';
  125. top.layer.open({
  126. id:'Lay_xiangqing',
  127. type:2,
  128. title:false,
  129. closeBtn:0,
  130. shade:0.5,
  131. shadeClose:true,
  132. area:[width,height],
  133. content:url
  134. })
  135. },
  136. selectChange(value) {
  137. console.log(value);
  138. if(value==3){
  139. this.hos_hierarchy.push({'code':'9',"name": '特等'})
  140. this.hos=''
  141. }else{
  142. if(this.level.code==3){
  143. this.hos=''
  144. }else{
  145. this.hos=''
  146. var vm=this.hos_hierarchy[0].code
  147. console.log(vm)
  148. this.hos_hierarchy.splice(4)
  149. }
  150. }
  151. },
  152. handleCurrentChange: function (val) { //page 当前页
  153. this.currentPage = val;
  154. this.getData()
  155. },
  156. handleSizeChange: function (val) {// size 页面展示数据条数
  157. this.pageSize = val;
  158. this.initData()
  159. },
  160. searchClick: function () {
  161. console.log(this.eventType)
  162. console.log(this.level)
  163. console.log(this.hos)
  164. this.initData()
  165. },
  166. initData: function () { //初始化数据
  167. this.currentPage = 1;
  168. this.getData()
  169. },
  170. getData: function () {
  171. var vm = this;
  172. var params = {
  173. month: this.value4.format('yyyy-MM'),
  174. eventType: this.eventType,
  175. hosLevel: this.level,
  176. hosHierarchy:this.hos,
  177. size: 15,
  178. page: 1,
  179. }
  180. GlobalEventBus.$emit('setLoading', {
  181. loading: true
  182. });
  183. bigDataOutApi.getHighCostList(params).then(function (res) {
  184. console.log(res)
  185. GlobalEventBus.$emit('setLoading');
  186. vm.tableData = res.detailModelList;
  187. vm.total = res.totalCount;
  188. }).catch(function (err) {
  189. console.log(err)
  190. GlobalEventBus.$emit('setLoading');
  191. })
  192. }
  193. }
  194. })