product-search.vue 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. <!-- 搜索表单 -->
  2. <template>
  3. <el-form
  4. label-width="77px"
  5. class="ele-form-search"
  6. @keyup.enter.native="search"
  7. @submit.native.prevent
  8. >
  9. <el-row :gutter="10">
  10. <el-col v-bind="styleResponsive ? { md: 5 } : { span: 4 }">
  11. <el-form-item label="产品编码">
  12. <el-input clearable v-model="where.code" placeholder="请输入" />
  13. </el-form-item>
  14. </el-col>
  15. <el-col v-bind="styleResponsive ? { md: 5 } : { span: 4 }">
  16. <el-form-item label="产品名称">
  17. <el-input clearable v-model="where.name" placeholder="请输入" />
  18. </el-form-item>
  19. </el-col>
  20. <el-col v-bind="styleResponsive ? { md: 5 } : { span: 4 }">
  21. <el-form-item label="牌号">
  22. <el-input clearable v-model="where.name" placeholder="请输入" />
  23. </el-form-item>
  24. </el-col>
  25. <el-col v-bind="styleResponsive ? { md: 5 } : { span: 4 }">
  26. <el-form-item label="型号">
  27. <el-input clearable v-model="where.name" placeholder="请输入" />
  28. </el-form-item>
  29. </el-col>
  30. <el-col v-bind="styleResponsive ? { md: 4 } : { span: 4 }">
  31. <el-form-item>
  32. <el-button
  33. type="primary"
  34. icon="el-icon-search"
  35. class="ele-btn-icon"
  36. @click="search"
  37. >
  38. 查询
  39. </el-button>
  40. <el-button
  41. @click="reset"
  42. icon="el-icon-refresh"
  43. class="ele-btn-icon"
  44. size="medium"
  45. >重置</el-button
  46. >
  47. </el-form-item>
  48. </el-col>
  49. </el-row>
  50. </el-form>
  51. </template>
  52. <script>
  53. export default {
  54. data () {
  55. // 默认表单数据
  56. const defaultWhere = {
  57. name: '',
  58. code: '',
  59. appType: ''
  60. };
  61. return {
  62. options: [
  63. { value: 0, label: '全部' },
  64. { value: 1, label: '业务字典' },
  65. { value: 2, label: '数据字典' }
  66. ],
  67. defaultWhere,
  68. // 表单数据
  69. where: { ...defaultWhere }
  70. };
  71. },
  72. computed: {
  73. // 是否开启响应式布局
  74. styleResponsive () {
  75. return this.$store.state.theme.styleResponsive;
  76. }
  77. },
  78. methods: {
  79. /* 搜索 */
  80. search () {
  81. if (this.where.appType === 0) {
  82. this.where.appType = '';
  83. }
  84. this.$emit('search', this.where);
  85. },
  86. /* 重置 */
  87. reset () {
  88. this.where = { ...this.defaultWhere };
  89. this.search();
  90. }
  91. }
  92. };
  93. </script>