<template>
  <div class="bs-setting-wrap">
    <el-form
      ref="form"
      :model="config"
      label-width="100px"
      label-position="left"
      class="setting-body"
    >
      <div>
        <slot name="top" />
        <el-form
          :model="config.customize"
          label-position="left"
          class="setting-body"
          label-width="100px"
        >
          <SettingTitle>标题</SettingTitle>
          <div class="lc-field-body">
            <el-form-item label="是否显示标题">
              <el-switch
                v-model="config.customize.showTitle"
                class="bs-el-switch"
                active-color="#007aff"
              />
            </el-form-item>
            <el-form-item
              v-if="config.customize.showTitle"
              label="标题"
            >
              <el-input
                v-model="config.customize.title"
                class="bs-el-input"
                clearable
              />
            </el-form-item>
            <el-form-item
              v-if="config.customize.showTitle"
              label="标题大小"
            >
              <el-input-number
                v-model="config.customize.titleStyle.fontSize"
                class="bs-el-input-number"
                controls-position="right"
                :min="12"
                :max="100"
              />
            </el-form-item>
            <el-form-item
              v-if="config.customize.showTitle"
              label="标题颜色"
            >
              <ColorPicker
                v-model="config.customize.titleStyle.color"
                :predefine="predefineThemeColors"
              />
            </el-form-item>
            <el-form-item
              v-if="config.customize.showTitle"
              label="标题右间距"
            >
              <el-input-number
                v-model="config.customize.titleStyle.marginRight"
                class="bs-el-input-number"
                controls-position="right"
                :min="0"
                :max="100"
              />
            </el-form-item>
          </div>
          <SettingTitle>位置</SettingTitle>
          <div class="lc-field-body">
            <PosWhSetting :config="config" />
          </div>

          <!-- <el-form-item label="输入框类型">
            <el-select
              v-model="config.customize.type"
              popper-class="bs-el-select"
              class="bs-el-select"
            >
              <el-option
                v-for="typeItem in typeOptions"
                :key="typeItem.value"
                :label="typeItem.label"
                :value="typeItem.value"
              />
            </el-select>
          </el-form-item> -->


          <!-- <el-form-item
            v-if="config.customize.showTitle"
            label="标题位置"
          >
            <el-select
              v-model="config.customize.titlePosition"
              popper-class="bs-el-select"
              class="bs-el-select"
            >
              <el-option
                v-for="titlePosition in titlePositionOptions"
                :key="titlePosition.value"
                :label="titlePosition.label"
                :value="titlePosition.value"
              />
            </el-select>
          </el-form-item> -->
          <SettingTitle>基础</SettingTitle>
          <div class="lc-field-body">
            <el-form-item label="输入值字体大小">
              <el-input-number
                v-model="config.customize.inputStyle.fontSize"
                class="bs-el-input-number"
                controls-position="right"
                :min="12"
                :max="100"
              />
            </el-form-item>
            <el-form-item label="输入值字体颜色">
              <ColorPicker
                v-model="config.customize.inputStyle.color"
                :predefine="predefineThemeColors"
              />
            </el-form-item>
            <!-- <el-form-item label="输入值左间距">
              <el-input-number
                v-model="config.customize.inputStyle.paddingLeft"
                class="bs-el-input-number"
                controls-position="right"
                :min="0"
                :max="100"
              />
            </el-form-item> -->
            <el-form-item label="背景颜色">
              <ColorPicker
                v-model="config.customize.backgroundStyle.backgroundColor"
                :predefine="predefineThemeColors"
              />
            </el-form-item>
            <el-form-item label="占位符">
              <el-input
                v-model="config.customize.placeholderStyle.placeholder"
                class="bs-el-input"
                clearable
              />
            </el-form-item>
            <el-form-item label="图标选择">
              <IconPicker v-model="config.customize.icon.name" />
            </el-form-item>
            <el-form-item label="图标位置">
              <el-select
                v-model="config.customize.icon.position"
                popper-class="bs-el-select"
                class="bs-el-select"
              >
                <el-option
                  v-for="iconPosition in iconPositionOptions"
                  :key="iconPosition.value"
                  :label="iconPosition.label"
                  :value="iconPosition.value"
                />
              </el-select>
            </el-form-item>
            <!-- <el-form-item label="占位符字体颜色">
              <ColorPicker
                v-model="config.customize.placeholderStyle.placeholderColor"
                :predefine="predefineThemeColors"
              />
            </el-form-item> -->
            <el-form-item label="边框颜色">
              <ColorPicker
                v-model="config.customize.borderStyle.borderColor"
                :predefine="predefineThemeColors"
              />
            </el-form-item>
            <el-form-item label="边框宽度">
              <el-input-number
                v-model="config.customize.borderStyle.borderWidth"
                class="bs-el-input-number"
                controls-position="right"
                :min="0"
                :max="10"
              />
            </el-form-item>
            <el-form-item label="边框样式">
              <el-select
                v-model="config.customize.borderStyle.borderStyle"
                popper-class="bs-el-select"
                class="bs-el-select"
                clearable
              >
                <el-option
                  v-for="borderStyle in borderStyleOptions"
                  :key="borderStyle.value"
                  :label="borderStyle.label"
                  :value="borderStyle.value"
                />
              </el-select>
            </el-form-item>
            <el-form-item label="边框圆角">
              <el-input-number
                v-model="config.customize.borderStyle.borderRadius"
                class="bs-el-input-number"
                controls-position="right"
                :min="0"
                :max="100"
              />
            </el-form-item>
          </div>

        </el-form>
      </div>
    </el-form>
  </div>
</template>
<script>
import SettingTitle from 'packages/SettingTitle/index.vue'
import IconPicker from 'packages/IconPicker/index.vue'
import ColorPicker from 'packages/ColorPicker/index.vue'
import PosWhSetting from 'packages/BigScreenDesign/RightSetting/PosWhSetting.vue'
export default {
  name: 'InputSetting',
  components: {
    ColorPicker,
    IconPicker,
    PosWhSetting,
    SettingTitle
  },
  props: {
    config: {
      type: Object,
      required: true
    },
    predefineThemeColors: {
      type: Array,
      default: () => {
        return [
          '#007aff',
          '#1aa97b',
          '#ff4d53',
          '#1890FF',
          '#DF0E1B',
          '#0086CC',
          '#2B74CF',
          '#00BC9D',
          '#ED7D32'
        ]
      }
    }
  },
  data () {
    return {
      // 输入框类型
      // typeOptions: [
      //   {
      //     label: '单行文本',
      //     value: 'text'
      //   },
      //   {
      //     label: '多行文本',
      //     value: 'textarea'
      //   }
      // ],
      // 标题位置
      titlePositionOptions: [
        {
          label: '左',
          value: 'left'
        },
        {
          label: '右',
          value: 'right'
        },
        {
          label: '上',
          value: 'top'
        },
        {
          label: '下',
          value: 'bottom'
        }
      ],
      // 边框样式
      borderStyleOptions: [
        {
          label: '实线',
          value: 'solid'
        },
        {
          label: '虚线',
          value: 'dashed'
        },
        {
          label: '点线',
          value: 'dotted'
        }
      ],
      iconPositionOptions: [
        {
          label: '左',
          value: 'left'
        },
        {
          label: '右',
          value: 'right'
        }
      ]
    }
  },
  watch: {},
  mounted () {},
  methods: {}
}
</script>

<style lang="scss" scoped>
.lc-field-body {
  width: 97%;
  padding: 12px 16px;
  //padding-bottom: 65px;
}
</style>