<!-- 搜索表单 -->
<template>
  <div class="itemSearch">
    <el-form
      label-width="80px"
      label-position="left"
      class="ele-form-search"
      @keyup.enter.native="search"
      @submit.native.prevent
    >
      <el-row :gutter="15">
        <el-col :span="6">
          <el-form-item label="所属工厂" prop="factoryId">
            <el-select
              filterable
              placeholder="请选择"
              v-model="params.factoryId"
              clearable
              class="w100"
              @change="getWarehouseListHandle"
            >
              <el-option
                v-for="item in factoryList"
                :key="item.id"
                :label="item.name"
                :value="item.id"
              ></el-option>
            </el-select> </el-form-item
        ></el-col>
        <el-col v-if="type === 'products'" :span="6">
          <el-form-item label="仓库:" prop="warehouseId">
            <template>
              <el-select
                clearable
                style="width: 100%"
                v-model="params.warehouseId"
                placeholder="请选择"
              >
                <el-option
                  v-for="item in warehouseList"
                  :label="item.name"
                  :value="item.id"
                  :key="item.id"
                >
                </el-option>
              </el-select>
            </template>
          </el-form-item>
        </el-col>
        <!-- <el-col :span="6">
          <el-form-item label="组织机构:">
            <auth-selection
              v-model="params.deptIds"
              style="width: 100%"
            ></auth-selection>
          </el-form-item>
        </el-col> -->
        <el-col :span="6">
          <el-form-item label="列表维度:" prop="dimension">
            <template>
              <el-select
                style="width: 100%"
                clearable
                @change="$emit('handledime', $event)"
                v-model="dimension"
                placeholder="请选择"
              >
                <el-option
                  label="物品维度"
                  value="1"
                >
                </el-option>
                <el-option label="批次维度" value="2"> </el-option>
                <el-option label="包装维度" value="3"> </el-option>
                <!-- <el-option
                  v-if="clientEnvironmentId == 3"
                  label="物料维度"
                  value="4"
                >
                </el-option> -->
              </el-select>
            </template>
          </el-form-item>
        </el-col>
        <el-col :span="6">
          <el-form-item label="关键词:" prop="keyWord">
            <el-input
              clearable
              placeholder="物品编码/物品名称/批次号/规格/型号"
              v-model.trim="params.keyWord"
            ></el-input>
          </el-form-item>
        </el-col>
        <el-col :span="6" v-if="dimension == 2">
          <el-form-item label="入库时间:" prop="startTime">
            <el-date-picker
              style="width: 100%;"
              size="small"
              v-model="params.startTime"
              type="date"
              value-format="yyyy-MM-dd"
              placeholder="选择日期"
            >
            </el-date-picker>
          </el-form-item>
        </el-col>
        <!-- <el-col :span="6">
          <el-form-item label="物品编码:" prop="categoryCode">
            <el-input
              clearable
              placeholder="请输入"
              v-model.trim="params.categoryCode"
            ></el-input>
          </el-form-item>
        </el-col>

        <el-col :span="6">
          <el-form-item label="物品名称:" prop="categoryName">
            <el-input
              clearable
              v-model="params.categoryName"
              placeholder="请输入"
            ></el-input>
          </el-form-item>
        </el-col>
        <el-col :span="6">
          <el-form-item label="批次号:" prop="batchNo">
            <el-input
              clearable
              v-model="params.batchNo"
              placeholder="请输入"
            ></el-input>
          </el-form-item>
        </el-col>
        <el-col v-if="dimension == 3 || dimension == 4" :span="6">
          <el-form-item label="发货条码:" prop="barcodes">
            <el-input
              clearable
              v-model="params.barcodes"
              placeholder="请输入"
            ></el-input>
          </el-form-item>
        </el-col> -->
        <el-col :span="6">
          <el-form-item label="型号:" prop="categoryModel">
            <el-input
              clearable
              v-model="params.categoryModel"
              placeholder="请输入"
            ></el-input>
          </el-form-item>
        </el-col>
        <el-col :span="6">
          <el-form-item label="规格:" prop="specification">
            <el-input
              clearable
              v-model="params.specification"
              placeholder="请输入"
            ></el-input>
          </el-form-item>
        </el-col>
        <el-col :span="6">
          <el-form-item label="批次号:" prop="batchNo">
            <el-input
              clearable
              v-model="params.batchNo"
              placeholder="请输入"
            ></el-input>
          </el-form-item>
        </el-col>
        <!-- <el-col v-if="dimension == 3 || dimension == 4" :span="6">
          <el-form-item label="客户代号:" prop="clientCode">
            <el-input
              clearable
              v-model="params.clientCode"
              placeholder="请输入"
            ></el-input>
          </el-form-item>
        </el-col>
        <el-col v-if="dimension == 3 || dimension == 4" :span="6">
          <el-form-item label="刻码:" prop="engrave">
            <el-input
              clearable
              v-model="params.engrave"
              placeholder="请输入"
            ></el-input>
          </el-form-item>
        </el-col> -->
        <el-col :span="6">
          <div class="ele-form-actions">
            <el-button
              type="primary"
              icon="el-icon-search"
              class="ele-btn-icon"
              @click="search"
              size="small"
            >
              查询
            </el-button>
            <el-button
              @click="reset"
              icon="el-icon-refresh-left"
              size="small"
              type="primary"
              >重置</el-button
            >
          </div>
        </el-col>
      </el-row>
    </el-form>
  </div>
</template>
<script>
  import { getWarehouseList } from '@/api/classifyManage/itemInformation';
  import warehouseDefinition from '@/api/warehouseManagement/warehouseDefinition';
  import en from '@/i18n/lang/en';
  export default {
    data() {
      // 默认表单数据
      const defaultParams = {
        batchNo: '',
        informationName: '',
        manualBatchNo: '',
        barcodes: '',
        engrave: '',
        clientCode: '',
        modelType: '',
        specification: '',
        code: '',
        categoryCode: '',
        assetName: '',
        qualityResult: '',
        factoryId: '',
        keyWord: '',
        deptIds: '',
        warehouseId: '',
        startTime: '',
        endTime: ''
      };
      return {
        // 表单数据
        params: { ...defaultParams },
        qualityResultOption: [
          {
            value: 0,
            label: '合格'
          },
          {
            value: 1,
            label: '不合格'
          }
        ],
        qualityStatusOption: [
          {
            value: 1,
            label: '已质检'
          },
          {
            value: 0,
            label: '未质检'
          }
        ],
        warehouseList: [],
        dimension: '2',
        factoryList: []
      };
    },
    props: {
      type: {
        type: String,
        default: ''
      }
    },
    watch: {
      type(val) {
        if (val === 'warehouse') {
          this.dimension = '2';
        } else {
          this.dimension = '2';
        }
      }
    },
    computed: {
      // 是否开启响应式布局
      styleResponsive() {
        return this.$store.state.theme.styleResponsive;
      },
      clientEnvironmentId() {
        return this.$store.state.user.info.clientEnvironmentId;
      }
    },
    created() {
      this.getArguInfo();
      this.getFactoryList();
    },
    methods: {
      //获取工厂列表
      async getFactoryList() {
        const res = await warehouseDefinition.getFactoryarea({
          pageNum: 1,
          size: 9999,
          type: 1
        });
        this.factoryList = res.list;
      },

      getWarehouseListHandle(val) {
        this.params.warehouseId = '';
        this.warehouseList = this.allWarehouseList.filter(
          (item) => item.factoryId === val
        );
      },

      //搜索数据源
      async getArguInfo() {
        const { data } = await getWarehouseList();
        this.allWarehouseList = data;
      },
      /* 搜索 */
      search() {
        this.params.endTime = this.params.startTime;

        this.$emit('search', {
          ...this.params
        });
      },
      /*  重置 */
      reset() {
        this.params = { ...this.defaultParams };
        this.search();
      }
    }
  };
</script>
<style lang="scss" scoped>
  ::v-deep .el-row {
    display: flex;
    flex-wrap: wrap;
  }
  .ele-form-actions {
    display: flex;
    align-items: center;
  }
  :deep(.el-form-item) {
    margin-bottom: 5px !important;
  }
</style>
