smp-map-func.vue 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <template>
  2. <div class="smp-map-func">
  3. <div class="smpmf-item" v-for="(item,index) in itemArr" :key="index" @click="doTool(item)">
  4. <i class="smp-icon-20" :class="[item.icon,{'on':item.isOn}]"></i>
  5. <span :class="{'on':item.isOn}">{{item.name}}</span>
  6. </div>
  7. </div>
  8. </template>
  9. <script>
  10. // props:
  11. // list_data{
  12. // type
  13. // title
  14. // time
  15. // }
  16. // titleName:['type','title','time']
  17. export default {
  18. data () {
  19. return {
  20. itemArr: [
  21. {
  22. name: '地图工具',
  23. icon: 'smp-i20-sy_map_dtgj_n',
  24. isOn: false,
  25. func: this.mapTool
  26. },
  27. {
  28. name: '专题监测预警',
  29. icon: 'smp-i20-sy_map_ztjcyj_n',
  30. isOn: false,
  31. func: this.mapTool
  32. },
  33. {
  34. name: 'GIS态势配置',
  35. icon: 'smp-i20-sy_map_gis_n',
  36. isOn: false,
  37. func: this.mapTool
  38. },
  39. {
  40. name: '时间轴',
  41. icon: 'smp-i20-sy_map_sjz_n',
  42. isOn: false,
  43. func: this.mapTool
  44. }
  45. ]
  46. }
  47. },
  48. methods: {
  49. mapTool () {
  50. console.log(123)
  51. },
  52. doTool (item) {
  53. item.isOn = !item.isOn
  54. item.func()
  55. }
  56. }
  57. }
  58. </script>
  59. <style lang="scss">
  60. .smp-map-func{
  61. // padding: 0!important;
  62. }
  63. </style>