doc-search.vue 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  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: 6 } : { span: 6 }">
  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 ? { md: 6 } : { span: 6 }">
  16. <el-form-item label="模块名">
  17. <el-input clearable v-model.trim="where.module" placeholder="请输入" />
  18. </el-form-item>
  19. </el-col>
  20. <el-col v-bind="styleResponsive ? { md: 6 } : { span: 6 }">
  21. <el-form-item label="上传时间">
  22. <el-date-picker
  23. type="daterange"
  24. class="ele-fluid"
  25. end-placeholder="结束日期"
  26. start-placeholder="开始日期"
  27. v-model.trim="where.time"
  28. range-separator="至"
  29. value-format="yyyy-MM-dd HH:mm:ss"
  30. :default-time="['00:00:00', '23:59:59']"
  31. >
  32. </el-date-picker>
  33. </el-form-item>
  34. </el-col>
  35. <!-- <el-col v-bind="styleResponsive ? { lg: 6, md: 6 } : { span: 6 }">
  36. <el-form-item label="组织机构:">
  37. <auth-selection v-model.trim="where.deptIds" style="width: 100%"></auth-selection>
  38. </el-form-item>
  39. </el-col> -->
  40. </el-row>
  41. <el-row>
  42. <el-col v-bind="styleResponsive ? { md: 24 } : { span: 24 }" style="display: flex;justify-content: flex-end">
  43. <el-form-item>
  44. <el-button
  45. type="primary"
  46. icon="el-icon-search"
  47. class="ele-btn-icon"
  48. @click="search"
  49. >
  50. 查询
  51. </el-button>
  52. <el-button
  53. @click="reset"
  54. icon="el-icon-refresh"
  55. class="ele-btn-icon"
  56. size="medium"
  57. >重置</el-button
  58. >
  59. </el-form-item>
  60. </el-col>
  61. </el-row>
  62. </el-form>
  63. </template>
  64. <script>
  65. export default {
  66. components: {},
  67. data () {
  68. // 默认表单数据
  69. const defaultWhere = {
  70. module: '',
  71. name: '',
  72. time: []
  73. };
  74. return {
  75. defaultWhere,
  76. // 表单数据
  77. where: { ...defaultWhere }
  78. };
  79. },
  80. computed: {
  81. // 是否开启响应式布局
  82. styleResponsive () {
  83. return this.$store.state.theme.styleResponsive;
  84. }
  85. },
  86. methods: {
  87. /* 搜索 */
  88. search () {
  89. const where = { ...this.where };
  90. if (where.time?.length) {
  91. where.startTime = where.time[0];
  92. where.endTime = where.time[1];
  93. }
  94. delete where.time;
  95. this.$emit('search', where);
  96. },
  97. /* 重置 */
  98. reset () {
  99. this.where = { ...this.defaultWhere };
  100. this.search();
  101. }
  102. }
  103. };
  104. </script>