search.js 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. new Vue({
  2. el: '#app',
  3. data: function () {
  4. return {
  5. searchKey:'',//input的值
  6. searchword:'',//搜索时传给子组件的值(可能input改变了未按搜索 所以分成两个)
  7. hotList:[],
  8. type:'全部',
  9. allEventInit:false, //判断是否需要重新加载数据
  10. outpatientInit:false,
  11. hospitalizationInit:false
  12. }
  13. },
  14. computed: {
  15. },
  16. mounted:function() {
  17. this.getHot();
  18. this.searchKey =(GetRequest().search && decodeURIComponent(GetRequest().search)) || ''
  19. this.initData(this.searchKey);
  20. },
  21. methods: {
  22. getHot:function(){
  23. var vm=this;
  24. bigDataOutApi.hot_words().then(function(res){
  25. vm.hotList=res
  26. }).catch(function(err){
  27. console.err(err)
  28. })
  29. },
  30. initData:function(keyword){
  31. this.searchword=keyword
  32. this.allEventInit =false;
  33. this.outpatientInit =false;
  34. this.hospitalizationInit =false;
  35. var vm=this
  36. this.$nextTick(function () {
  37. switch (vm.type){
  38. case '全部':vm.$refs.allEvent.initData();vm.allEventInit =true;break;
  39. case '门诊':vm.$refs.outpatient.initData();vm.outpatientInit =true;break;
  40. case '住院':vm.$refs.hospitalization.initData();vm.hospitalizationInit =true;break
  41. }
  42. })
  43. },
  44. setIndexPage:function(key){ //前往左边菜单页面
  45. GlobalEventBus.$emit('setleftTabUrl', {
  46. key: key
  47. });
  48. },
  49. search:function(value){
  50. this.searchKey=value
  51. this.initData(value);
  52. }
  53. },
  54. watch: {
  55. type:function(value){
  56. switch (value){
  57. case '全部':if(!this.allEventInit){this.$refs.allEvent.initData();this.allEventInit =true};break;
  58. case '门诊':if(!this.outpatientInit){this.$refs.outpatient.initData();this.outpatientInit =true;}break;
  59. case '住院':if(!this.hospitalizationInit){this.$refs.hospitalization.initData();this.hospitalizationInit =true;}break
  60. }
  61. }
  62. }
  63. })