liuchengxin
2022-06-09 0d68be1fa109b0f55fa0b4c023baf4b66dcc9f28
src/views/components/manufacturer/index.vue
@@ -1,10 +1,11 @@
<template>
  <div>
    <el-input placeholder="请选择" :value="name" disabled>
      <el-button slot="append" icon="el-icon-thumb" @click="handleClick"></el-button>
      <el-button slot="append" v-if="currentId" icon="el-icon-circle-close" @click="handleClear"></el-button>
      <el-button slot="append" v-else icon="el-icon-thumb" @click="handleClick"></el-button>
    </el-input>
    <el-dialog title="生产厂商" :visible.sync="open" width="800px" :append-to-body="true" :destroy-on-close="true">
      <manufacturer-list v-if="open" ref="manufacturerRef"></manufacturer-list>
      <manufacturer-list v-if="open" ref="manufacturerRef" @setCurrentRow="getCurrentRow"></manufacturer-list>
      <div slot="footer" class="dialog-footer">
        <el-button  type="primary" @click="submitForm">确 定</el-button>
        <el-button @click="open = false">取 消</el-button>
@@ -30,14 +31,15 @@
  },
  props: {
    value: {
      type: [Number],
      type: [Number, String],
      default: undefined
    }
  },
  data() {
    return {
      open: false,
      name: ''
      name: '',
      currentId: ''
    }
  },
  watch: {
@@ -45,9 +47,11 @@
      if (v) {
        getManufacturer(v).then(response => {
          this.name = response.data.name;
          this.currentId = response.data.id;
        });
      }else {
        this.name = '';
        this.currentId = ''
      }
    }
  },
@@ -55,10 +59,19 @@
    if (this.value) {
      getManufacturer(this.value).then(response => {
        this.name = response.data.name;
        this.currentId = response.data.id;
      });
    }
  },
  methods: {
    handleClear () {
      this.currentId = '';
      this.name = undefined;
      this.$emit("change", '');
    },
    getCurrentRow (e) {
      this.currentId = e.id
    },
    handleClick() {
      this.open = true;
    },
@@ -79,4 +92,4 @@
<style scoped>
</style>
</style>