matter-search.vue 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. <!-- 搜索表单 -->
  2. <template>
  3. <el-form
  4. label-width="80px"
  5. class="ele-form-search"
  6. @keyup.enter.native="search"
  7. @submit.native.prevent
  8. >
  9. <el-row :gutter="15">
  10. <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
  11. <el-form-item label="规则名称:">
  12. <el-input clearable v-model="where.name" placeholder="请输入" />
  13. </el-form-item>
  14. <el-form-item label="规则状态:">
  15. <DictSelection dictName="规则状态" clearable v-model="where.status">
  16. </DictSelection>
  17. </el-form-item>
  18. </el-col>
  19. <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
  20. <el-form-item label="规则编码:">
  21. <el-input clearable v-model="where.code" placeholder="请输入" />
  22. </el-form-item>
  23. <el-form-item label="创建时间:">
  24. <el-date-picker
  25. v-model="time"
  26. type="daterange"
  27. range-separator="至"
  28. start-placeholder="开始日期"
  29. end-placeholder="结束日期"
  30. value-format="yyyy-MM-dd HH:mm:ss"
  31. :default-time="['00:00:00', '23:59:59']"
  32. >
  33. </el-date-picker>
  34. </el-form-item>
  35. </el-col>
  36. <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
  37. <el-form-item label="规则类型:">
  38. <DictSelection dictName="规则类型" clearable v-model="where.type">
  39. </DictSelection>
  40. </el-form-item>
  41. </el-col>
  42. <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
  43. <el-form-item label="创建人:">
  44. <el-input clearable v-model="where.userName" placeholder="请输入" />
  45. </el-form-item>
  46. <div class="ele-form-actions">
  47. <el-button
  48. type="primary"
  49. icon="el-icon-search"
  50. class="ele-btn-icon"
  51. @click="search"
  52. size="small"
  53. >
  54. 查询
  55. </el-button>
  56. <el-button
  57. @click="reset"
  58. icon="el-icon-refresh-left"
  59. size="small"
  60. type="primary"
  61. >重置</el-button
  62. >
  63. </div>
  64. </el-col>
  65. </el-row>
  66. </el-form>
  67. </template>
  68. <script>
  69. export default {
  70. data() {
  71. // 默认表单数据
  72. const defaultWhere = {
  73. name: '',
  74. code: '',
  75. userName: '',
  76. type: '',
  77. status: '',
  78. startTime: '',
  79. endTime: ''
  80. };
  81. return {
  82. // 表单数据
  83. where: { ...defaultWhere },
  84. treeData: [],
  85. time: []
  86. };
  87. },
  88. computed: {
  89. // 是否开启响应式布局
  90. styleResponsive() {
  91. return this.$store.state.theme.styleResponsive;
  92. }
  93. },
  94. created() {},
  95. methods: {
  96. /* 搜索 */
  97. search() {
  98. if (this.time.length) {
  99. this.where.startTime = this.time[0];
  100. this.where.endTime = this.time[1];
  101. }
  102. this.$emit('search', this.where);
  103. },
  104. /* 重置 */
  105. reset() {
  106. this.time = [];
  107. this.where = { ...this.defaultWhere };
  108. this.search();
  109. }
  110. }
  111. };
  112. </script>
  113. <style lang="scss" scoped>
  114. .ele-form-actions {
  115. display: flex;
  116. align-items: center;
  117. justify-content: flex-end;
  118. }
  119. </style>