search.vue 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  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>
  10. <el-col v-bind="styleResponsive ? { lg: 5, md: 12 } : { span: 4 }">
  11. <el-form-item label="名称:">
  12. <el-input clearable v-model.trim="where.name" placeholder="请输入" />
  13. </el-form-item>
  14. </el-col>
  15. <el-col v-bind="styleResponsive ? { lg: 5, md: 12 } : { span: 4 }">
  16. <el-form-item label="所属工厂:">
  17. <el-select
  18. style="width: 100%"
  19. clearable
  20. v-model="where.factoryId"
  21. filterable
  22. placeholder="请选择所属工厂"
  23. >
  24. <el-option
  25. v-for="item in factoryList"
  26. :label="item.name"
  27. :value="item.id"
  28. :key="item.id"
  29. ></el-option>
  30. </el-select>
  31. </el-form-item>
  32. </el-col>
  33. <el-col v-bind="styleResponsive ? { lg: 4, md: 12 } : { span: 4 }">
  34. <div class="ele-form-actions">
  35. <el-button
  36. type="primary"
  37. icon="el-icon-search"
  38. class="ele-btn-icon"
  39. @click="search"
  40. >
  41. 查询
  42. </el-button>
  43. <el-button @click="reset">重置</el-button>
  44. </div>
  45. </el-col>
  46. </el-row>
  47. </el-form>
  48. </template>
  49. <script>
  50. import { getFactoryarea } from '@/api/factoryModel';
  51. export default {
  52. data() {
  53. // 默认表单数据
  54. const defaultWhere = {
  55. name: '',
  56. factoryId: '',
  57. };
  58. return {
  59. // 表单数据
  60. where: { ...defaultWhere },
  61. factoryList: [],
  62. workshopPlanList: []
  63. };
  64. },
  65. created() {
  66. this.getFactoryList();
  67. },
  68. computed: {
  69. // 是否开启响应式布局
  70. styleResponsive() {
  71. return this.$store.state.theme.styleResponsive;
  72. }
  73. },
  74. methods: {
  75. async getFactoryList() {
  76. const { list } = await getFactoryarea({
  77. pageNum: 1,
  78. size: 999,
  79. type: 1
  80. });
  81. this.factoryList = list || [];
  82. },
  83. /* 搜索 */
  84. search() {
  85. this.$emit('search', this.where);
  86. },
  87. /* 重置 */
  88. reset() {
  89. this.where = { ...this.defaultWhere };
  90. this.search();
  91. }
  92. }
  93. };
  94. </script>