<!-- 搜索表单 -->
6
<template>
  <el-form label-width="77px" class="ele-form-search" @keyup.enter.native="search" @submit.native.prevent>
    <el-row :gutter="15">
      <el-col v-bind="styleResponsive ? { lg: 6, md: 8 } : { span: 4 }">
        <el-form-item label="申请时间:">
          <el-date-picker style="width: 100%;" size="small" v-model="where.time" type="daterange" range-separator="至"
            start-placeholder="开始日期" end-placeholder="结束日期" value-format="yyyy-MM-dd"></el-date-picker>
        </el-form-item>
      </el-col>
      <el-col v-bind="styleResponsive ? { lg: 6, md: 8 } : { span: 4 }">
        <el-form-item label="申请单号:">
          <el-input clearable v-model="where.sourceBizNo" placeholder="请输入" />
        </el-form-item>
      </el-col>
      <el-col v-bind="styleResponsive ? { lg: 6, md: 8 } : { span: 4 }">
        <el-form-item label="申请类型:">
          <el-select style="width: 100%" filterable placeholder="请选择" v-model="where.bizType" clearable>
            <el-option v-for="item in sceneState" :key="item.code" :value="item.code + ''"
              :label="item.label"></el-option>
          </el-select>
        </el-form-item>
      </el-col>
      <el-col v-bind="styleResponsive ? { lg: 6, md: 8 } : { span: 4 }">
        <el-form-item label="物品编码:">
          <el-input clearable v-model="where.categoryCode" placeholder="请输入" />
        </el-form-item>
      </el-col>
      <el-col v-bind="styleResponsive ? { lg: 6, md: 8 } : { span: 4 }">
        <el-form-item label="物品名称:">
          <el-input clearable v-model="where.categoryName" placeholder="请输入" />
        </el-form-item>
      </el-col>
      <el-col v-bind="styleResponsive ? { lg: 6, md: 8 } : { span: 4 }">
        <el-form-item label="状态:">
          <el-select filterable size="small" class="w100" v-model="where.status" placeholder="请选择" clearable>
            <el-option v-for="item in auditStatus" :key="item.code" :value="item.code" :label="item.label"></el-option>
          </el-select>
        </el-form-item>
      </el-col>
      <el-col style="display: flex; justify-content: flex-end"
        v-bind="styleResponsive ? { lg: 12, md: 6 } : { span: 12 }">
        <div class="ele-form-actions">
          <el-button type="primary" icon="el-icon-search" class="ele-btn-icon" @click="search">
            查询
          </el-button>
          <el-button @click="reset">重置</el-button>
        </div>
      </el-col>
    </el-row>
  </el-form>
</template>

<script>
import {
  sceneState,
  auditStatus
} from '@/utils/dict/index';
export default {
  data() {
    // 默认表单数据
    const defaultWhere = {
      categoryCode: '',
      categoryName: '',
      sourceBizNo: '',
      startTime: '',
      endTime: '',
      status: '',
      time: []
    };
    return {
      defaultWhere,
      // 表单数据
      where: { ...defaultWhere },
      sceneState,
      auditStatus
    };
  },
  computed: {
    // 是否开启响应式布局
    styleResponsive() {
      return this.$store.state.theme.styleResponsive;
    }
  },
  methods: {
    /* 搜索 */
    search() {
      this.$emit('search', this.where);
    },
    /*  重置 */
    reset() {
      this.where = { ...this.defaultWhere };
      this.search();
    }
  }
};
</script>
