<template>
<el-dialog
  v-loading="loading"
  :show-close="false"
  :close-on-click-modal="false"
  :visible.sync="isShow"
  :title="this.curObj && this.curObj.typeName ? '编辑字典' : '添加字典'"
  :fullscreen="false"
  width="470px"
  custom-class="xl-dialog"
  center>
  <base-form style="width:400px" :data="formData" ref="ruleForm" :isInline="false" labelWidth="100px">
    <div slot="footer">
      <el-button class="xl-form-btn t2" @click="close">关 闭</el-button>
      <el-button class="xl-form-btn t1" @click="close('confirm')">确定</el-button>
    </div>
  </base-form>
</el-dialog>
</template>
<script>
export default {
  props: {
    isShow: Boolean,
    curObj: Object
  },
  inject: ['parentData'],
  mixins,
  data() {
    return {
      formData: [],
      loading: true
    }
  },
  watch: {
    isShow: function(val) {
      if (val) {
        let params = {...this.curObj}
        this.formData = [
          { label: '楼盘', key: 'estate_id', rules: 1, type: 'selectRemote',
            remoteParams: { skey: 'estate_name', api: `house.admestatelist`, opKey: 'estate_name', opVal: 'id' },
            remoteOptions: [{ keyRO: params.estate_name, valRO: params.estate_id }],
          },
          { label: '宣传图', key: 'pri_image', type: 'uploads', rules: 1 },
          { label: '排序', key: 'sort' },
        ]
        this.setDefaultValue(params)
      }
    }
  },
  methods: {
    close (str) {
      if (str === 'confirm' || str === 'next') {
        this.$refs['ruleForm'].$refs['baseForm'].validate((valid) => {
          if (valid) {
            const oldform = this.$refs.ruleForm.baseForm
            let params = {...oldform}
            let apiStr = 'admbranddataadd'
            if(this.curObj && this.curObj.id) {
              params.id = this.curObj.id
              apiStr = 'admbranddataedit'
            } else {
              params.brands_id = this.parentData.searchForm.id
            }
            this.$api.other[apiStr](params).then(data => {
              this.$msgs('保存成功！')
              this.$emit('close', params)
            })
          }
        })
      } else {
        this.$emit('close')
        this.setDefaultValue()
      }
    }
  }
}
</script>
