index.vue 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. <template>
  2. <div class="equipment">
  3. <div class="ele-body">
  4. <el-card shadow="never">
  5. <div class="switch">
  6. <div class="switch_left">
  7. <ul>
  8. <li
  9. v-for="item in tabOptions"
  10. :key="item.key"
  11. :class="{ active: activeComp == item.key }"
  12. @click="activeComp = item.key"
  13. >
  14. {{ item.name }}
  15. </li>
  16. </ul>
  17. </div>
  18. </div>
  19. <div class="main">
  20. <div v-if="activeComp == 'plan'">
  21. <plan />
  22. </div>
  23. <div v-else>
  24. <workOrder />
  25. </div>
  26. </div>
  27. </el-card>
  28. </div>
  29. </div>
  30. </template>
  31. <script>
  32. import plan from './plan';
  33. import workOrder from './workOrder';
  34. export default {
  35. components: { plan, workOrder },
  36. data() {
  37. return {
  38. activeComp: 'plan',
  39. tabOptions: [
  40. { key: 'plan', name: '计划' },
  41. { key: 'workOrder', name: '工单' }
  42. ]
  43. };
  44. },
  45. mounted() {
  46. switch (this.$route.query.title) {
  47. case '计划':
  48. this.activeComp = 'plan';
  49. break;
  50. case '工单':
  51. this.activeComp = 'workOrder';
  52. break;
  53. default:
  54. break;
  55. }
  56. }
  57. };
  58. </script>
  59. <style lang="scss" scoped>
  60. ::v-deep .el-card__body {
  61. padding-top: 0;
  62. padding-left: 0;
  63. }
  64. .main {
  65. padding-left: 17px;
  66. .plan {
  67. padding-top: 15px;
  68. }
  69. }
  70. </style>