add.vue 5.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  1. <template>
  2. <div class="subPage">
  3. <form class="mainForm">
  4. <ul>
  5. <li class="flex-h">
  6. <span>上级课程类型:</span>
  7. <div class="flex-item">
  8. <div style="width:50%">
  9. <el-input
  10. placeholder="请输入内容"
  11. v-model="postData.label"
  12. @focus="showTree"
  13. readonly
  14. clearable>
  15. </el-input>
  16. </div>
  17. </div>
  18. </li>
  19. <li class="flex-h">
  20. <span>名称:</span>
  21. <div class="flex-item">
  22. <div style="width:50%">
  23. <el-input
  24. placeholder="请输入名称"
  25. v-model="postData.name"
  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 style="width:50%">
  35. <el-input
  36. placeholder="请输入标题"
  37. v-model="postData.title"
  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 style="width:50%">
  47. <el-input
  48. placeholder="请输入咨询分类"
  49. v-model="postData.class"
  50. clearable>
  51. </el-input>
  52. </div>
  53. </div>
  54. </li>
  55. <li class="flex-h">
  56. <span>编码:</span>
  57. <div class="flex-item">
  58. <div style="width:50%">
  59. <el-input
  60. placeholder="请输入编码"
  61. v-model="postData.coding"
  62. clearable>
  63. </el-input>
  64. </div>
  65. </div>
  66. </li>
  67. <li class="flex-h">
  68. <span>序号:</span>
  69. <div class="flex-item">
  70. <div style="width:50%">
  71. <el-input
  72. placeholder="请输入序号"
  73. v-model="postData.number"
  74. clearable>
  75. </el-input>
  76. </div>
  77. </div>
  78. </li>
  79. <li class="flex-h">
  80. <span>课程图片:</span>
  81. <div class="flex-item">
  82. <div>
  83. <a class="formImg">
  84. <img src="" class="centerLabel contain" alt="">
  85. <i class="iconfont icon-quxiao"></i>
  86. </a>
  87. <el-button type="success" size="mini">上传图片</el-button>
  88. </div>
  89. </div>
  90. </li>
  91. <li style="text-align:center">
  92. <el-button type="primary" size="mini">保存</el-button>
  93. <el-button type="danger" size="mini">取消</el-button>
  94. </li>
  95. </ul>
  96. </form>
  97. <el-dialog title="请选择机构" :visible.sync="dialogTableVisible">
  98. <el-tree
  99. class="flxe-h"
  100. :data="treeData"
  101. :default-expand-all="true"
  102. :expand-on-click-node="false"
  103. @node-click="handleNodeClick"></el-tree>
  104. </el-dialog>
  105. </div>
  106. </template>
  107. <script>
  108. export default {
  109. name: '',
  110. data () {
  111. return {
  112. postData: {
  113. label: '', // 父页面带入的上级类型
  114. name: '', // 名称
  115. title: '', // 标题
  116. class: '', // 咨询分类
  117. coding: '', // 编码
  118. number: '', // 序号
  119. },
  120. dialogTableVisible: false,
  121. treeData: [{
  122. label: '根目录',
  123. rank: '0',
  124. img: '',
  125. children: [{
  126. label: '共享课程&书吧',
  127. rank: '0',
  128. img: '',
  129. children: [{
  130. label: '健身',
  131. rank: '0',
  132. img: 'http://jingcheng-resourceplat.oss-cn-shanghai.aliyuncs.com/upload/163306109741.png',
  133. }, {
  134. label: '健康',
  135. rank: '0',
  136. img: 'http://jingcheng-resourceplat.oss-cn-shanghai.aliyuncs.com/upload/163325263583.png',
  137. }, {
  138. label: '艺术',
  139. rank: '0',
  140. img: 'http://jingcheng-resourceplat.oss-cn-shanghai.aliyuncs.com/upload/104118813781.png',
  141. }, {
  142. label: '社交',
  143. rank: '0',
  144. img: 'http://jingcheng-resourceplat.oss-cn-shanghai.aliyuncs.com/upload/163339496588.png',
  145. }, {
  146. label: '教育',
  147. rank: '0',
  148. img: 'http://jingcheng-resourceplat.oss-cn-shanghai.aliyuncs.com/upload/163351586373.png',
  149. }]
  150. }]
  151. }]
  152. }
  153. },
  154. components: {},
  155. methods: {
  156. showTree () {
  157. this.dialogTableVisible = true
  158. },
  159. handleNodeClick (node) {
  160. this.postData.label = node.label
  161. this.dialogTableVisible = false
  162. }
  163. },
  164. mounted () {
  165. this.postData.label = this.$route.query.label
  166. }
  167. }
  168. </script>
  169. <!-- Add "scoped" attribute to limit CSS to this component only -->
  170. <style lang="scss" scoped>
  171. </style>