index.vue 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183
  1. <template>
  2. <div class='m-container'>
  3. <h2>
  4. <div class="squrt"></div>保存表单演示
  5. </h2>
  6. <div class="m-core">
  7. <save-form ref="form" :model.sync="form" inline @submit="submit" @reset="reset">
  8. <el-form-item
  9. prop="input"
  10. >
  11. <el-input v-model="form.input" placeholder="请输入内容"/>
  12. </el-form-item>
  13. <el-form-item
  14. prop="input2"
  15. >
  16. <el-input type="number" v-model="form.input2" placeholder="请输入内容2"/>
  17. </el-form-item>
  18. <el-form-item prop="region">
  19. <el-select v-model="form.region" placeholder="请选择活动区域">
  20. <el-option label="区域一" value="shanghai"></el-option>
  21. <el-option label="区域二" value="beijing"></el-option>
  22. </el-select>
  23. </el-form-item>
  24. <el-form-item prop="branch">
  25. <el-select v-model="form.branch" placeholder="请选择分部">
  26. <el-option v-for="item in selects.branchs" :key="item.id" :label="item.name" :value="item.id"></el-option>
  27. </el-select>
  28. </el-form-item>
  29. <el-form-item prop="subject">
  30. <el-select v-model="form.subject" placeholder="请选择声部">
  31. <el-option v-for="item in selects.subjects" :key="item.id" :label="item.name" :value="item.id"></el-option>
  32. </el-select>
  33. </el-form-item>
  34. <el-form-item required>
  35. <el-col :span="11">
  36. <el-form-item prop="date1">
  37. <el-date-picker type="date" placeholder="选择日期" v-model="form.date1" style="width: 100%;"></el-date-picker>
  38. </el-form-item>
  39. </el-col>
  40. <el-col class="line" :span="2">-</el-col>
  41. <el-col :span="11">
  42. <el-form-item prop="date2">
  43. <el-time-picker placeholder="选择时间" v-model="form.date2" style="width: 100%;"></el-time-picker>
  44. </el-form-item>
  45. </el-col>
  46. </el-form-item>
  47. <el-form-item prop="times">
  48. <el-date-picker
  49. v-model="form.times"
  50. type="daterange"
  51. range-separator="至"
  52. start-placeholder="开始日期"
  53. end-placeholder="结束日期">
  54. </el-date-picker>
  55. </el-form-item>
  56. <el-form-item>
  57. <remoteSearch :commit='"setEducations"' v-model='form.educations' />
  58. </el-form-item>
  59. <el-form-item>
  60. <remoteSearch :commit='"setTeachers"' v-model='form.teacher' />
  61. </el-form-item>
  62. <div>
  63. <el-button type="primary" native-type="submit">提交</el-button>
  64. <el-button type="danger" native-type="reset">重置</el-button>
  65. </div>
  66. </save-form>
  67. </div>
  68. <tab-router>
  69. <el-tab-pane label="1" name="1">12131231</el-tab-pane>
  70. <el-tab-pane label="2" name="2">adwqj</el-tab-pane>
  71. </tab-router>
  72. <el-table
  73. :data="list"
  74. class="table"
  75. >
  76. <el-table-column
  77. prop="title"
  78. label="标题"
  79. >
  80. <template slot-scope="scope">
  81. <copy-text>{{scope.row.title}}</copy-text>
  82. </template>
  83. </el-table-column>
  84. <el-table-column
  85. prop="remark"
  86. width="220px"
  87. label="备注"
  88. >
  89. <template slot-scope="scope">
  90. <overflow-text
  91. :text="scope.row.remark"
  92. />
  93. </template>
  94. </el-table-column>
  95. </el-table>
  96. <pagination
  97. :total="rules.total"
  98. :page.sync="rules.page"
  99. :limit.sync="rules.limit"
  100. :page-sizes="rules.page_size"
  101. :sync="true"
  102. @pagination="getList"
  103. />
  104. <el-dialog :visible.sync="testvisible" destroy-on-close>
  105. <test v-if="testvisible"/>
  106. <template #footer>
  107. <el-button @click="testvisible = false">关闭</el-button>
  108. </template>
  109. </el-dialog>
  110. </div>
  111. </template>
  112. <script>
  113. import pagination from "@/components/Pagination/index";
  114. import test from './modals/test'
  115. import remoteSearch from "@/components/remote-search"
  116. export default {
  117. components: {
  118. test,
  119. pagination,
  120. remoteSearch
  121. },
  122. data() {
  123. return {
  124. testvisible: false,
  125. rules: {
  126. // 分页规则
  127. limit: 10, // 限制显示条数
  128. page: 1, // 当前页
  129. total: 30, // 总条数
  130. page_size: [10, 20, 40, 50] // 选择限制显示条数
  131. },
  132. form: {
  133. input: '',
  134. input2: '',
  135. region: '',
  136. date1: '',
  137. date2: '',
  138. delivery: '',
  139. type: [],
  140. resource: '',
  141. desc: '',
  142. times: [],
  143. educations:'',
  144. teacher:''
  145. },
  146. list: [{
  147. id: 1,
  148. title: '表阿嚏内容',
  149. remark: '很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长很长'
  150. },{
  151. id: 2,
  152. title: '标题信息',
  153. remark: '很长很长很长'
  154. }],
  155. }
  156. },
  157. mounted() {
  158. this.$store.dispatch('setBranchs')
  159. this.$store.dispatch('setSubjects')
  160. },
  161. methods: {
  162. getList() {
  163. return Promise.resolve()
  164. },
  165. submit(evt) {
  166. console.log(this.form.educations)
  167. console.log(evt)
  168. },
  169. reset() {
  170. this.$refs.form.resetFields()
  171. }
  172. }
  173. }
  174. </script>
  175. <style lang="less" scoped>
  176. .table{
  177. margin-top: 20px;
  178. ::v-deep .el-table__header .has-gutter tr th{
  179. background-color: #EDEEF0;
  180. color: #444;
  181. }
  182. }
  183. </style>