<template>
  <el-select
    filterable
    :value="value === 0 ? undefined : value"
    @change="change"
    v-bind="$attrs"
    clearable
  >
    <el-option
      v-for="supplier in getSuppliers"
      :key="supplier.id"
      :label="$l(supplier, 'company')"
      :value="supplier.id"
    ></el-option>
  </el-select>
</template>

<script>
/**
 * 供应商
 */
export default {
  name: "supplierSelect",
  props: {
    companyType: String,
    value: Number,
    allSupplier: Array,
    areaType: {
      type: Number,
      default: 0
    },
  },
  model: {
    prop: "value",
    event: "change",
  },
  data() {
    return {};
  },
  computed: {
    getSuppliers() {
      let allSupplier = this.allSupplier.filter(
        (item) => item.areaType == this.areaType
      );
      if(this.areaType == 1 || !this.companyType) return allSupplier;
      return allSupplier?.filter((item) =>
        item.companyTypes?.includes(this.companyType)
      );
    },
  },
  methods: {
    change(val) {
      this.$emit("change", val);
    },
  },
};
</script>
