index.vue 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219
  1. <template>
  2. <div class="app-container trainingCourse">
  3. <div class="title-box">
  4. <el-form class="form-box" :model="queryParams" ref="examineForm" :inline="true" label-width="65px">
  5. <el-form-item label="" prop="name">
  6. <div class="query-type-box">
  7. <p @click="queryTypeClick(1)" :class="queryParams.type == 1?'check-p':''">全部</p>
  8. <p @click="queryTypeClick(2)" :class="queryParams.type == 2?'check-p':''">待开课</p>
  9. <p @click="queryTypeClick(3)" :class="queryParams.type == 3?'check-p':''">已开课</p>
  10. </div>
  11. </el-form-item>
  12. <el-form-item label="关键字" prop="name">
  13. <el-input
  14. maxlength="10"
  15. v-model="queryParams.searchValue"
  16. placeholder="课程名称/主讲老师"
  17. clearable
  18. size="small"/>
  19. </el-form-item>
  20. <el-form-item>
  21. <p class="inquire-button-one" @click="onSearch">查询</p>
  22. <p class="reset-button-one" @click="resetForm">重置</p>
  23. </el-form-item>
  24. <el-form-item style="float: right;">
  25. <p class="inquire-button-one" style="width:100px;" @click="addDialogOpen">+ 新增课程</p>
  26. </el-form-item>
  27. </el-form>
  28. </div>
  29. <div class="content-box">
  30. <el-table border :data="tableData" ref="multipleTable">
  31. <el-table-column label="序号" prop="code" width="50"/>
  32. <el-table-column label="课程名称" prop="name" show-overflow-tooltip/>
  33. <el-table-column label="学院" prop="mainPoint" width="180" show-overflow-tooltip/>
  34. <el-table-column label="主讲老师" prop="mainPoint" width="100" show-overflow-tooltip/>
  35. <el-table-column label="辅导老师" prop="mainPoint" width="100" show-overflow-tooltip/>
  36. <el-table-column label="辅导老师" prop="mainPoint" width="100" show-overflow-tooltip/>
  37. <el-table-column label="人数" prop="mainPoint" width="80" show-overflow-tooltip/>
  38. <el-table-column label="上课时间" prop="mainPoint" width="150" show-overflow-tooltip/>
  39. <el-table-column label="上课日期" prop="mainPoint" width="200" show-overflow-tooltip/>
  40. <el-table-column label="状态" prop="mainPoint" width="112" show-overflow-tooltip/>
  41. <el-table-column label="操作" width="180">
  42. <template slot-scope="scope">
  43. <div class="table-button-box">
  44. <p class="table-button-null"></p>
  45. <p class="table-button-p" @click="controlsButton(1,scope.row)">详情</p>
  46. <p class="table-button-p" @click="controlsButton(2,scope.row)">编辑</p>
  47. <p class="table-button-p" @click="controlsButton(3,scope.row)">删除</p>
  48. <p class="table-button-null"></p>
  49. </div>
  50. </template>
  51. </el-table-column>
  52. </el-table>
  53. <pagination :page-sizes="[20, 30, 40, 50]" v-show="total>0" :total="total"
  54. layout="total, prev, pager, next, sizes, jumper"
  55. :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
  56. @pagination="getList"/>
  57. </div>
  58. <el-dialog :title='dialogTitle' @close="dialogClose" :visible.sync="dialogType" v-if="dialogType" width="1373px">
  59. <el-form ref="dialogForm" :model="dialogForm" :rules="rules" label-width="80px">
  60. <el-form-item label="预案名称" prop="name">
  61. <el-input v-model="dialogForm.name" placeholder="请输入预案名称" maxLength="15"/>
  62. </el-form-item>
  63. </el-form>
  64. <div slot="footer" class="dialog-footer">
  65. <el-button @click="dialogClose">取 消</el-button>
  66. <el-button style="width:100px;" type="primary" @click="dialogSubmit">配置规则</el-button>
  67. </div>
  68. </el-dialog>
  69. </div>
  70. </template>
  71. <script>
  72. export default {
  73. name: 'trainingCourse',
  74. data(){
  75. return{
  76. // 遮罩层
  77. loading: false,
  78. queryParams:{
  79. type:1,
  80. searchValue:"",
  81. page:1,
  82. pageSize:20,
  83. },
  84. tableData: [{}],
  85. total:10,
  86. dialogType:false,
  87. dialogTitle:"",
  88. dialogForm:{
  89. data1:"",
  90. data2:"",
  91. data3:"",
  92. data4:"",
  93. data5:"",
  94. data6:"",
  95. data7:"",
  96. data8:"",
  97. data9:"",
  98. data10:"",
  99. data11:"",
  100. data12:"",
  101. },
  102. rules:{}
  103. }
  104. },
  105. created(){
  106. },
  107. mounted(){
  108. this.getList();
  109. },
  110. methods:{
  111. queryTypeClick(type){
  112. if(this.queryParams.type != type){
  113. this.$set(this.queryParams,'type',type);
  114. this.getList();
  115. }
  116. },
  117. onSearch(){
  118. this.$set(this.queryParams,'page',1);
  119. this.getList();
  120. },
  121. resetForm(){
  122. this.$set(this,'queryParams',{
  123. type:1,
  124. searchValue:'',
  125. page:1,
  126. pageSize:20,
  127. });
  128. this.onSearch();
  129. },
  130. // 查询数据列表
  131. getList() {
  132. this.loading = true;
  133. // checkOptionList(this.queryParams).then( response => {
  134. //
  135. // this.loading = false;
  136. // });
  137. },
  138. //新增按钮
  139. addDialogOpen(){
  140. this.$set(this,'dialogTitle','添加');
  141. this.$set(this,'dialogType',true);
  142. },
  143. dialogSubmit(){
  144. },
  145. dialogClose(){
  146. this.$set(this,'dialogType',false);
  147. },
  148. //操作按钮
  149. controlsButton(type,row){
  150. if(type == 1){
  151. //查看详情
  152. }else if(type == 2){
  153. //编辑
  154. this.$set(this,'dialogTitle','编辑');
  155. this.$set(this,'dialogType',true);
  156. }else if(type == 3){
  157. //删除
  158. }
  159. }
  160. }
  161. }
  162. </script>
  163. <style scoped lang="scss">
  164. .trainingCourse{
  165. flex:1;
  166. display: flex!important;
  167. flex-direction: column;
  168. overflow: hidden;
  169. font-weight: 500;
  170. .title-box{
  171. padding-top:20px;
  172. .form-box{
  173. border-bottom:1px solid #E0E0E0;
  174. .query-type-box{
  175. margin-left:20px;
  176. display: flex;
  177. p{
  178. line-height:40px;
  179. font-size:14px;
  180. color:#333;
  181. width:80px;
  182. text-align: center;
  183. cursor: pointer;
  184. }
  185. p:nth-child(1){
  186. border:1px solid #E0E0E0;
  187. border-radius: 4px 0 0 4px
  188. }
  189. p:nth-child(2){
  190. border-top:1px solid #E0E0E0;
  191. border-bottom:1px solid #E0E0E0;
  192. }
  193. p:nth-child(3){
  194. border:1px solid #E0E0E0;
  195. border-radius: 0 4px 4px 0
  196. }
  197. .check-p{
  198. color:#fff;
  199. background: #0045AF;
  200. border-color:#0045AF!important;
  201. }
  202. }
  203. }
  204. }
  205. .content-box{
  206. flex:1;
  207. overflow: hidden;
  208. display: flex;
  209. flex-direction: column;
  210. padding:20px;
  211. }
  212. }
  213. </style>