searchContract.vue 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  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="contractName">
  12. <el-input
  13. clearable
  14. placeholder="请输入"
  15. v-model.trim="params.contractName"
  16. ></el-input>
  17. </el-form-item>
  18. <el-form-item label="合同类型:" prop="type">
  19. <DictSelection dictName="合同类型" clearable v-model="params.type">
  20. </DictSelection>
  21. </el-form-item>
  22. </el-col>
  23. <el-col v-bind="styleResponsive ? { lg:6, md: 12 } : { span:6 }">
  24. <el-form-item label="编码:" prop="contractNo">
  25. <el-input
  26. placeholder="请输入"
  27. v-model.trim="params.contractNo" controls-position="right" ></el-input>
  28. </el-form-item>
  29. <el-form-item label="合同编号:" prop="contractNumber">
  30. <el-input
  31. placeholder="请输入"
  32. v-model.trim="params.contractNumber" controls-position="right" ></el-input>
  33. </el-form-item>
  34. </el-col>
  35. <el-col v-bind="styleResponsive ? { lg:8, md: 12 } : { span:6 }">
  36. <el-form-item label="客户名称:" prop="contactName">
  37. <el-input
  38. placeholder="请输入"
  39. style="max-width:180px"
  40. v-model.trim="params.contactName" controls-position="right" >
  41. </el-input>
  42. </el-form-item>
  43. <el-form-item label="签订人:" prop="linkName">
  44. <el-input
  45. placeholder="请输入"
  46. style="max-width:180px"
  47. v-model.trim="params.linkName" controls-position="right" >
  48. </el-input>
  49. </el-form-item>
  50. </el-col>
  51. <el-col v-bind="styleResponsive ? { lg:4, md: 12 } : { span:4 }">
  52. <div class="ele-form-actions">
  53. <el-button
  54. type="primary"
  55. icon="el-icon-search"
  56. class="ele-btn-icon"
  57. @click="search"
  58. >
  59. 查询
  60. </el-button>
  61. <el-button @click="reset">重置</el-button>
  62. </div>
  63. </el-col>
  64. </el-row>
  65. </el-form>
  66. </template>
  67. <script>
  68. export default {
  69. data () {
  70. // 默认表单数据
  71. const defaultParams = {
  72. contractName: '',
  73. contactName:'',
  74. linkName:'',
  75. contractNo:'',
  76. contractNumber:'',
  77. contractStartDateStart: '',
  78. contractStartDateEnd:'',
  79. totalPriceMax: null,
  80. totalPriceMin: null
  81. };
  82. return {
  83. createTime:[],
  84. defaultParams,
  85. // 表单数据
  86. params: { ...defaultParams }
  87. };
  88. },
  89. computed: {
  90. // 是否开启响应式布局
  91. styleResponsive () {
  92. return this.$store.state.theme.styleResponsive;
  93. }
  94. },
  95. methods: {
  96. //选择时间
  97. changeDate(e){
  98. this.createTime=e
  99. },
  100. /* 搜索 */
  101. search () {
  102. const [contractStartDateStart,contractStartDateEnd]=this.createTime
  103. this.params=Object.assign({},this.params,{contractStartDateStart,contractStartDateEnd})
  104. this.$emit('search', {
  105. ...this.params
  106. });
  107. },
  108. /* 重置 */
  109. reset () {
  110. this.createTime=[]
  111. this.params = Object.assign({},{ ...this.defaultParams });
  112. this.search();
  113. }
  114. }
  115. };
  116. </script>