selectPanel.vue 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. <template>
  2. <div class="select">
  3. <div class="year">
  4. <span>年度:</span>
  5. <el-date-picker
  6. v-model="year"
  7. type="year"
  8. placeholder="选择年"
  9. size="small"
  10. @change="yearChange">
  11. </el-date-picker>
  12. </div>
  13. <Search @searchActive="searchActive" @clearData="clearData" />
  14. <div class="target">
  15. <span>考核指标:</span>
  16. <el-select placeholder="请选择" v-model="target" size="small" @change="change" clearable @clear="$emit('clearTarget')">
  17. <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
  18. </el-option>
  19. </el-select>
  20. </div>
  21. </div>
  22. </template>
  23. <script>
  24. import Search from '@/components/search/index'
  25. export default {
  26. name: '',
  27. data () {
  28. return {
  29. year: String(new Date().getFullYear()),
  30. target:'',
  31. options: [
  32. { label: '开票指标', value: '1' },
  33. { label: '订单金额', value: '2' },
  34. { label: '出货金额', value: '3' },
  35. ]
  36. };
  37. },
  38. components: { Search, },
  39. computed: {
  40. },
  41. watch: {
  42. },
  43. methods: {
  44. yearChange(time) {
  45. this.$emit('yearChange',time == null ? '' : time.getFullYear())
  46. },
  47. searchActive(data) {
  48. this.$emit('searchActive',data)
  49. },
  50. clearData() {
  51. this.$emit('clearData')
  52. },
  53. change(data) {
  54. this.$emit('targetChange',data)
  55. }
  56. },
  57. };
  58. </script>
  59. <style scoped>
  60. .select {
  61. font-size: 14px;
  62. display: flex;
  63. align-items: center;
  64. }
  65. .select .year,
  66. .target {
  67. display: flex;
  68. align-items: center;
  69. margin-right: 16px;
  70. }
  71. .select span,
  72. .target span {
  73. margin-right: 8px;
  74. }
  75. </style>