index.vue 4.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. <template>
  2. <div class="subPage">
  3. <div class="system-table-search">
  4. <div class="flex-h">
  5. <div class="flex-item flex-h">
  6. <el-button size="mini" type="success" @click="addSchedule">新增排课</el-button>
  7. </div>
  8. </div>
  9. <div class="moreFilter"></div>
  10. <full-calendar :events="fcEvents" locale="zh" @eventClick="eventClick"></full-calendar>
  11. </div>
  12. <el-dialog
  13. title="课时信息"
  14. :visible.sync="centerDialogVisible"
  15. width="500px"
  16. center>
  17. <div>
  18. <ul class="courseDetailForm">
  19. <li class="flex-h">
  20. <span>课程名称:</span>
  21. <div class="flex-item">
  22. <div>
  23. <el-input
  24. placeholder="请输入课程名称"
  25. v-model="currentCourseItem.CourseName"
  26. clearable>
  27. </el-input>
  28. </div>
  29. </div>
  30. </li>
  31. <li class="flex-h">
  32. <span>课时名称:</span>
  33. <div class="flex-item">
  34. <div>
  35. <el-input
  36. placeholder="请输入课时名称"
  37. v-model="currentCourseItem.DetailName"
  38. clearable>
  39. </el-input>
  40. </div>
  41. </div>
  42. </li>
  43. <li class="flex-h">
  44. <span>课时简介:</span>
  45. <div class="flex-item">
  46. <div>
  47. <el-input
  48. type="textarea"
  49. placeholder="请输入课时简介"
  50. v-model="currentCourseItem.DetailDesc"
  51. clearable>
  52. </el-input>
  53. </div>
  54. </div>
  55. </li>
  56. <li class="flex-h">
  57. <span>案场名称:</span>
  58. <div class="flex-item">
  59. <div>
  60. <el-input
  61. placeholder="请输入案场名称"
  62. v-model="currentCourseItem.CaseName"
  63. clearable>
  64. </el-input>
  65. </div>
  66. </div>
  67. </li>
  68. <li class="flex-h">
  69. <span>案场地址:</span>
  70. <div class="flex-item">
  71. <div>
  72. <el-input
  73. placeholder="请输入案场地址"
  74. v-model="currentCourseItem.CaseAddress"
  75. clearable>
  76. </el-input>
  77. </div>
  78. </div>
  79. </li>
  80. <li class="flex-h">
  81. <span>开始时间:</span>
  82. <div class="flex-item">
  83. <div>
  84. <el-date-picker
  85. v-model="currentCourseItem.BeginDate"
  86. type="date"
  87. placeholder="选择开始日期">
  88. </el-date-picker>
  89. </div>
  90. </div>
  91. </li>
  92. <li class="flex-h">
  93. <span>结束时间:</span>
  94. <div class="flex-item">
  95. <div>
  96. <el-date-picker
  97. v-model="currentCourseItem.EndDate"
  98. type="date"
  99. placeholder="选择结束日期">
  100. </el-date-picker>
  101. </div>
  102. </div>
  103. </li>
  104. </ul>
  105. </div>
  106. <span slot="footer" class="dialog-footer">
  107. <el-button type="danger" @click="centerDialogVisible = false">删除该课时</el-button>
  108. <el-button type="primary" @click="centerDialogVisible = false">确 定</el-button>
  109. </span>
  110. </el-dialog>
  111. </div>
  112. </template>
  113. <script>
  114. import fullCalendar from 'vue-fullcalendar'
  115. export default {
  116. name: '',
  117. data () {
  118. return {
  119. currentCourseItem: {
  120. CourseName: 'xxx', // 课程名称
  121. DetailName: 'xxx', // 课时名称
  122. DetailDesc: 'xxx', // 课时简介
  123. CaseName: 'xxx', // 案场名称
  124. CaseAddress: 'xxx', // 案场地点
  125. BeginDate: 'xxx', // 开始时间
  126. EndDate: 'xxx', // 结束时间
  127. },
  128. centerDialogVisible: false,
  129. fcEvents: [{
  130. title: '课程名称',
  131. start: '2018-09-25',
  132. end: '2018-09-25',
  133. }, {
  134. title: '课程名称1',
  135. start: '2018-09-25',
  136. end: '2018-09-25',
  137. }]
  138. }
  139. },
  140. components: {
  141. fullCalendar,
  142. },
  143. methods: {
  144. addSchedule () { // 新增排课
  145. this.$router.push({name: 'editSchedule', query: {}})
  146. },
  147. eventClick (event, jsEvent, pos) { // 点击日历
  148. console.log(event, jsEvent, pos)
  149. this.centerDialogVisible = true
  150. },
  151. }
  152. }
  153. </script>
  154. <!-- Add "scoped" attribute to limit CSS to this component only -->
  155. <style lang="scss" scoped>
  156. @import "page.scss";
  157. </style>