index.vue 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. <template>
  2. <div class='m-container'>
  3. <h2>
  4. <div class="squrt"></div>保存表单演示
  5. </h2>
  6. <div class="m-core">
  7. <saveform ref="form" :model.sync="form" inline>
  8. <el-form-item
  9. prop="input"
  10. :rules="[{required: true}]"
  11. >
  12. <el-input v-model="form.input" placeholder="请输入内容"/>
  13. </el-form-item>
  14. <el-form-item
  15. prop="input2"
  16. :rules="[{required: true}]"
  17. >
  18. <el-input v-model="form.input2" placeholder="请输入内容2"/>
  19. </el-form-item>
  20. <el-form-item prop="region">
  21. <el-select v-model="form.region" placeholder="请选择活动区域">
  22. <el-option label="区域一" value="shanghai"></el-option>
  23. <el-option label="区域二" value="beijing"></el-option>
  24. </el-select>
  25. </el-form-item>
  26. <el-form-item required>
  27. <el-col :span="11">
  28. <el-form-item prop="date1">
  29. <el-date-picker type="date" placeholder="选择日期" v-model="form.date1" style="width: 100%;"></el-date-picker>
  30. </el-form-item>
  31. </el-col>
  32. <el-col class="line" :span="2">-</el-col>
  33. <el-col :span="11">
  34. <el-form-item prop="date2">
  35. <el-time-picker placeholder="选择时间" v-model="form.date2" style="width: 100%;"></el-time-picker>
  36. </el-form-item>
  37. </el-col>
  38. </el-form-item>
  39. <!-- <el-form-item prop="delivery">
  40. <el-switch v-model="form.delivery"></el-switch>
  41. </el-form-item> -->
  42. <!-- <el-form-item prop="type">
  43. <el-checkbox-group v-model="form.type">
  44. <el-checkbox label="美食/餐厅线上活动" value="1" name="type"></el-checkbox>
  45. <el-checkbox label="地推活动" value="2" name="type"></el-checkbox>
  46. <el-checkbox label="线下主题活动" value="3" name="type"></el-checkbox>
  47. <el-checkbox label="单纯品牌曝光" value="4" name="type"></el-checkbox>
  48. </el-checkbox-group>
  49. </el-form-item> -->
  50. <!-- <el-form-item prop="resource">
  51. <el-radio-group v-model="form.resource">
  52. <el-radio label="线上品牌商赞助"></el-radio>
  53. <el-radio label="线下场地免费"></el-radio>
  54. </el-radio-group>
  55. </el-form-item> -->
  56. <el-form-item prop="desc">
  57. <el-input type="textarea" v-model="form.desc"></el-input>
  58. </el-form-item>
  59. <el-form-item prop="times">
  60. <el-date-picker
  61. v-model="form.times"
  62. type="daterange"
  63. range-separator="至"
  64. start-placeholder="开始日期"
  65. end-placeholder="结束日期">
  66. </el-date-picker>
  67. </el-form-item>
  68. <el-button @click="submit">提交</el-button>
  69. <el-button @click="reset">重置</el-button>
  70. <el-button @click="testvisible = true">打开弹窗</el-button>
  71. </saveform>
  72. </div>
  73. <pagination
  74. :total="rules.total"
  75. :page.sync="rules.page"
  76. :limit.sync="rules.limit"
  77. :page-sizes="rules.page_size"
  78. :sync="true"
  79. @pagination="getList"
  80. />
  81. <el-dialog :visible.sync="testvisible" destroy-on-close>
  82. <test v-if="testvisible"/>
  83. <template #footer>
  84. <el-button @click="testvisible = false">关闭</el-button>
  85. </template>
  86. </el-dialog>
  87. </div>
  88. </template>
  89. <script>
  90. import saveform from '@/components/save-form'
  91. import pagination from "@/components/Pagination/index";
  92. import test from './modals/test'
  93. export default {
  94. components: {
  95. saveform,
  96. test,
  97. pagination
  98. },
  99. data() {
  100. return {
  101. testvisible: false,
  102. rules: {
  103. // 分页规则
  104. limit: 10, // 限制显示条数
  105. page: 1, // 当前页
  106. total: 30, // 总条数
  107. page_size: [10, 20, 40, 50] // 选择限制显示条数
  108. },
  109. form: {
  110. input: '',
  111. input2: '',
  112. region: '',
  113. date1: '',
  114. date2: '',
  115. delivery: '',
  116. type: [],
  117. resource: '',
  118. desc: '',
  119. times: []
  120. }
  121. }
  122. },
  123. mounted() {
  124. },
  125. methods: {
  126. getList() {
  127. return Promise.resolve()
  128. },
  129. submit() {
  130. this.$refs.form.validate(valid => {
  131. console.log(valid)
  132. })
  133. },
  134. reset() {
  135. this.$refs.form.resetFields()
  136. }
  137. }
  138. }
  139. </script>