<!-- 搜索表单 -->
<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: 12 } : { span: 6 }">
        <el-form-item label="工厂编码:">
          <el-input clearable v-model.trim="where.code" placeholder="请输入"/>
        </el-form-item>
        <el-form-item label="所属区域:" prop="location_city">
          <area-select
            v-model.trim="where.areaId"
            :data="areaTreeList"
            ref="tree"
          />
        </el-form-item>
      </el-col>
      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
        <el-form-item label="工厂名称:">
          <el-input clearable v-model.trim="where.name" placeholder="请输入"/>
        </el-form-item>
      </el-col>
      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
        <el-form-item label="状态:">
          <el-select
            style="width: 100%;"
            v-model.trim="where.enable"
            class="m-2"
            placeholder="请选择"
            size="large"
          >
            <el-option
              v-for="item in options.state"
              :key="item.value"
              :label="item.label"
              :value="item.value"
            />
          </el-select>
        </el-form-item>
      </el-col>
      <el-col v-bind="styleResponsive ? { lg: 6, md: 12 } : { span: 6 }">
        <el-form-item label="组织机构:">
          <auth-selection v-model.trim="where.deptIds" style="width: 100%"></auth-selection>
        </el-form-item>
      </el-col>


      <el-col v-bind="styleResponsive ? { lg: 6, md: 6 } : { span: 6 }">
        <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 AreaSelect from "@/views/enterpriseModel/regionalManage/components/area-cascader.vue";
import {basicAreaPageAPI} from "@/api/regionalManage";

export default {
  components: {AreaSelect},
  data() {
    // 默认表单数据
    const defaultWhere = {
      code: '',
      name: '',
      enable: ''
    };
    return {
      defaultWhere,
      // 表单数据
      where: {...defaultWhere},
      options: {
        state: [
          {
            label: '生效',
            value: 1
          },
          {
            label: '失效',
            value: 0
          }
        ]
      },
      areaTreeList:[]
    };
  },
  created() {
    this.getBasicAreaList();
  },
  computed: {
    // 是否开启响应式布局
    styleResponsive() {
      return this.$store.state.theme.styleResponsive;
    }
  },
  methods: {
    /* 获取区域集合 */
    async getBasicAreaList() {
      this.areaList = await basicAreaPageAPI(
        {
          pageNum: 1,
          size: 9999
        }
      )
      this.areaTreeList = this.$util.toTreeData({
        data: this.areaList,
        idField: 'id',
        parentIdField: 'parentId'
      });

    },
    /* 搜索 */
    search() {
      this.$emit('search', this.where);
    },
    /*  重置 */
    reset() {
      console.log(this.defaultWhere);
      this.where = {...this.defaultWhere};
      this.search();
    }
  }
};
</script>
