微信

index.vue 2.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. <template>
  2. <div class="mainPage flex-v">
  3. <div class="top">
  4. <topCaseInfo :data="topCaseInfoData" @selectCase="showSelect = true"></topCaseInfo>
  5. </div>
  6. <div class="content flex-item">
  7. <div>
  8. <div class="flex-h">
  9. <div class="flex-item">
  10. <ul class="areaList">
  11. <li v-for="(item,index) in list" :key="index">
  12. <div class="title">
  13. <i class="iconfont icon-yinchenglogo"></i>
  14. <span>{{item.name}}</span>
  15. </div>
  16. <ul class="subAreaList flex-h">
  17. <li class="flex-item flex-h" v-for="(subItem,subIndex) in item.list" :key="subIndex">
  18. <caseTableItem :item="subItem" :index="subIndex"></caseTableItem>
  19. </li>
  20. <li class="flex-item noData" v-if="item.list.length % 2 != 0"></li>
  21. </ul>
  22. </li>
  23. </ul>
  24. </div>
  25. </div>
  26. </div>
  27. </div>
  28. <div class="selectCase" :hidden="!showSelect"></div>
  29. <van-picker :hidden="!showSelect"
  30. show-toolbar
  31. title="选择案场"
  32. :columns="caseList"
  33. @cancel="showSelect = false"
  34. @confirm="selectCase"
  35. value-key="value"
  36. />
  37. </div>
  38. </template>
  39. <script>
  40. import caseTableItem from '../../../../components/caseTableItem/index'
  41. import topCaseInfo from '../../../../components/topCaseInfo/index'
  42. export default {
  43. name: '',
  44. data () {
  45. return {
  46. topCaseInfoData: {
  47. caseName: '',
  48. caseId: '',
  49. showSelect: true,
  50. userName: 'xxx'
  51. },
  52. caseInfo: {
  53. value: '',
  54. id: ''
  55. },
  56. showSelect: false,
  57. caseList: [{
  58. value: '案场一',
  59. id: ''
  60. }, {
  61. value: '案场二',
  62. id: ''
  63. }, {
  64. value: '案场三',
  65. id: ''
  66. }, {
  67. value: '案场四',
  68. id: ''
  69. }],
  70. list: [{
  71. name: '案场名称1',
  72. list: [{}, {}, {}, {}, {}],
  73. }, {
  74. name: '案场名称2',
  75. list: [{}, {}, {}, {}, {}],
  76. }]
  77. }
  78. },
  79. computed: {
  80. },
  81. components: {
  82. topCaseInfo,
  83. caseTableItem,
  84. },
  85. created () {
  86. },
  87. methods: {
  88. selectCase (val) { // 选择案场
  89. this.caseInfo = val
  90. this.topCaseInfoData.caseName = val.value
  91. this.topCaseInfoData.caseId = val.id
  92. this.showSelect = false
  93. },
  94. }
  95. }
  96. </script>
  97. <!-- Add "scoped" attribute to limit CSS to this component only -->
  98. <style lang="scss" scoped>
  99. @import "page.scss";
  100. </style>