user-search.vue 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. <!-- 搜索表单 -->
  2. <template>
  3. <el-form
  4. label-width="120px"
  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: 6, md: 12 } : { span: 6 }">
  11. <el-form-item label="工艺路线组编码:">
  12. <el-input clearable v-model.trim="where.code" placeholder="请输入" />
  13. </el-form-item>
  14. </el-col>
  15. <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
  16. <el-form-item label="工艺路线名称:">
  17. <el-input clearable v-model.trim="where.name" placeholder="请输入" />
  18. </el-form-item>
  19. </el-col>
  20. <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
  21. <el-form-item label="生产版本:">
  22. <el-select v-model.trim="where.produceVersionId" filterable placeholder="请选择" :style="{ width: '100%' }">
  23. <el-option v-for="item in versionList" :key="item.code" :label="item.code + '-' + item.name"
  24. :value="item.id">
  25. </el-option>
  26. </el-select>
  27. </el-form-item>
  28. </el-col>
  29. <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
  30. <el-form-item label="状态:" label-width="70px">
  31. <el-select v-model.trim="where.status" filterable placeholder="请选择" style="width: 100%">
  32. <el-option
  33. v-for="item in statusList"
  34. :key="item.value"
  35. :label="item.label"
  36. :value="item.value"
  37. >
  38. </el-option>
  39. </el-select>
  40. </el-form-item>
  41. </el-col>
  42. </el-row>
  43. <el-row>
  44. <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
  45. <el-form-item label="组织机构:">
  46. <auth-selection v-model.trim="where.deptIds" style="width: 100%"></auth-selection>
  47. </el-form-item>
  48. </el-col>
  49. <el-col v-bind="styleResponsive ? { lg: 18, md: 12 } : { span: 18 }" style="display: flex;justify-content: flex-end">
  50. <el-form-item label-width="20px">
  51. <el-button
  52. type="primary"
  53. icon="el-icon-search"
  54. class="ele-btn-icon"
  55. @click="search"
  56. >
  57. 查询
  58. </el-button>
  59. <el-button @click="reset">重置</el-button>
  60. </el-form-item>
  61. </el-col>
  62. </el-row>
  63. </el-form>
  64. </template>
  65. <script>
  66. import { pageList } from '@/api/technology/version/version.js';
  67. export default {
  68. data() {
  69. // 默认表单数据
  70. const defaultWhere = {
  71. code: '',
  72. name: '',
  73. status: 1,
  74. produceVersionId: ''
  75. };
  76. return {
  77. // 表单数据
  78. where: { ...defaultWhere },
  79. statusList: [
  80. { label: '草稿', value: -1 },
  81. { label: '失效', value: 0 },
  82. { label: '生效', value: 1 }
  83. ],
  84. versionList: [],
  85. };
  86. },
  87. created() {
  88. this.getVersionList()
  89. },
  90. computed: {
  91. // 是否开启响应式布局
  92. styleResponsive() {
  93. return this.$store.state.theme.styleResponsive;
  94. }
  95. },
  96. methods: {
  97. /* 搜索 */
  98. search() {
  99. this.$emit('search', this.where);
  100. },
  101. /* 重置 */
  102. reset() {
  103. this.where = { ...this.defaultWhere }
  104. this.search();
  105. },
  106. async getVersionList() {
  107. const res = await pageList({
  108. pageNum: 1,
  109. size: 100
  110. });
  111. this.versionList = res.list;
  112. },
  113. }
  114. };
  115. </script>