use-search.vue 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. <!-- 搜索表单 -->
  2. <template>
  3. <el-form label-width="77px" size="small" class="ele-form-search" @keyup.enter.native="search" @submit.native.prevent>
  4. <el-row :gutter="10">
  5. <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
  6. <el-form-item label="名称:">
  7. <el-input clearable size="small" v-model.trim="where.name" placeholder="请输入排班组名称"/>
  8. </el-form-item>
  9. </el-col>
  10. <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
  11. <el-form-item label="状态:">
  12. <el-select v-model.trim="where.status" style="width: 100%">
  13. <el-option label="发布" :value="1"/>
  14. <el-option label="草稿" :value="0"/>
  15. </el-select>
  16. </el-form-item>
  17. </el-col>
  18. <!-- <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
  19. <el-form-item label="组织机构:" label-width="100px">
  20. <auth-selection v-model.trim="where.deptIds" style="width: 100%"></auth-selection>
  21. </el-form-item>
  22. </el-col> -->
  23. <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
  24. <el-form-item>
  25. <el-button size="small" type="primary" icon="el-icon-search" class="ele-btn-icon" @click="search">
  26. 查询
  27. </el-button>
  28. <el-button size="small" type="primary" icon="el-icon-refresh-left" class="ele-btn-icon" @click="reset">
  29. 重置
  30. </el-button>
  31. <slot></slot>
  32. </el-form-item>
  33. </el-col>
  34. </el-row>
  35. </el-form>
  36. </template>
  37. <script>
  38. export default {
  39. data() {
  40. // 默认表单数据
  41. const defaultWhere = {
  42. name: '',
  43. status: '',
  44. deptIds: '',
  45. };
  46. return {
  47. // 表单数据
  48. where: {...defaultWhere}
  49. };
  50. },
  51. computed: {
  52. // 是否开启响应式布局
  53. styleResponsive() {
  54. return this.$store.state.theme.styleResponsive;
  55. }
  56. },
  57. methods: {
  58. /* 搜索 */
  59. search() {
  60. this.$emit('search', this.where);
  61. },
  62. /* 重置 */
  63. reset() {
  64. this.where = {...this.defaultWhere};
  65. this.search();
  66. }
  67. }
  68. };
  69. </script>