searchTable.vue 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. <!-- 搜索表单 -->
  2. <template>
  3. <el-form
  4. label-width="100px"
  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="对账单编码:" prop="statementNo">
  12. <el-input
  13. clearable
  14. placeholder="请输入"
  15. v-model.trim="params.statementNo"
  16. ></el-input>
  17. </el-form-item>
  18. <el-form-item label="创建时间:" prop="createTimeStart">
  19. <el-date-picker
  20. v-model="createTime"
  21. @change="changeDate"
  22. type="daterange"
  23. style="width:292px"
  24. value-format="yyyy-MM-dd"
  25. start-placeholder="开始时间"
  26. end-placeholder="结束时间"
  27. :default-time="['00:00:00', '23:59:59']">
  28. </el-date-picker>
  29. </el-form-item>
  30. </el-col>
  31. <el-col v-bind="styleResponsive ? { lg:6, md: 12 } : { span:6 }">
  32. <el-form-item label="项目名称:" prop="projectName">
  33. <el-input
  34. placeholder="请输入"
  35. style="max-width:320px"
  36. v-model.trim="params.projectName" controls-position="right" >
  37. </el-input>
  38. </el-form-item>
  39. </el-col>
  40. <el-col v-bind="styleResponsive ? { lg:6, md: 12 } : { span:6 }">
  41. <el-form-item label="客户名称:" prop="contactName">
  42. <el-input
  43. placeholder="请输入"
  44. style="max-width:320px"
  45. v-model.trim="params.contactName" controls-position="right" >
  46. </el-input>
  47. </el-form-item>
  48. </el-col>
  49. <el-col v-bind="styleResponsive ? { lg:6, md: 12 } : { span:4 }">
  50. <div class="ele-form-actions">
  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. </div>
  61. </el-col>
  62. </el-row>
  63. </el-form>
  64. </template>
  65. <script>
  66. import {reviewStatusEnum} from '@/enum/dict';
  67. const repliedOptions=[
  68. {value:0,label:'否'},
  69. {value:1,label:'是'},
  70. ]
  71. export default {
  72. data () {
  73. // 默认表单数据
  74. const defaultParams = {
  75. contactName: '',
  76. statementNo:'',
  77. projectId:'',
  78. projectName:'',
  79. createTimeEnd:'',
  80. createTimeStart:''
  81. };
  82. return {
  83. reviewStatusEnum,
  84. defaultParams,
  85. repliedOptions,
  86. createTime:[],
  87. // 表单数据
  88. params: { ...defaultParams }
  89. };
  90. },
  91. computed: {
  92. // 是否开启响应式布局
  93. styleResponsive () {
  94. return this.$store.state.theme.styleResponsive;
  95. }
  96. },
  97. methods: {
  98. //选择时间
  99. changeDate(e){
  100. this.createTime=e
  101. },
  102. /* 搜索 */
  103. search () {
  104. let [createTimeStart,createTimeEnd]=this.createTime
  105. this.params=Object.assign({},this.params,{createTimeStart,createTimeEnd})
  106. this.$emit('search', {
  107. ...this.params
  108. });
  109. },
  110. /* 重置 */
  111. reset () {
  112. this.createTime=[]
  113. this.params = Object.assign({},{ ...this.defaultParams });
  114. this.search();
  115. }
  116. }
  117. };
  118. </script>