<style>
  .diy-notice {
    width: 100%;
    height: 80px;
    padding: 0 24px;
    justify-content: space-between;
  }

  .diy-notice .content {
    flex-grow: 1;
  }

  .diy-notice .content div {
    white-space: nowrap;
    overflow-x: hidden;
  }

  .diy-notice-dialog {
    min-width: 900px;
  }

  .diy-notice-dialog .left .phone {
    width: 750px;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    border-radius: 80px;
    zoom: 0.5;
    font-size: 28px;
    position: relative;
  }

  .diy-notice-dialog .left .notice-dialog {
    width: 100%;
    max-height: 800px;
    background-color: #FFFFFF;
    padding: 24px;
  }

  .notice-gallery-item {
    width: 100px;
    height: 100px;
    border: 1px solid #e3e3e3;
    border-radius: 2px;
    margin-right: 10px;
    margin-bottom: 10px;
    position: relative;
  }

  .diy-notice-dialog .left .phone {
    width: 750px;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    border-radius: 80px;
    zoom: 0.5;
    font-size: 28px;
    position: relative;
  }

</style>
<template>
  <div :class="{'active':noticeData.isCked}">
    <div class="diy-component-options" v-if="noticeData.isCked">
      <el-button type="primary" icon="el-icon-delete" style="left: -25px; top: 0px;" @click="delPlugin()"></el-button>
      <el-button type="primary" icon="el-icon-document-copy" style="left: -25px; top: 30px;"></el-button>
      <el-button type="primary" icon="el-icon-arrow-up" v-if="index>0" @click="resetSord(0)"
        style="right: -25px; top: 0;"></el-button>
      <el-button type="primary" icon="el-icon-arrow-down" v-if="index!=dataLeng-1" @click="resetSord(1)"
        style="right: -25px; top: 30px;"></el-button>
    </div>
    <div class="diy-component-preview">
      <div class="diy-notice" :style="cStyle" flex="dir:left cross:center">
        <img :src="getIconLink(data.icon)" style="width: 36px;height: 36px;margin-right: 24px;">
        <div class="content" flex="dir:left box:first">
          <div style="min-width: 2rem;max-width: 7rem;">{{data.name}}</div>
          <div style="margin: 0 12px;">{{data.content}}</div>
        </div>
        <img :src="domainManager().ImageUrl+'/Static/icon-left-arrow.png'" style="width: 10px;height: 18px;">
      </div>
    </div>
    <div class="diy-component-edit" v-if="noticeData.isCked">
      <el-form label-width="100px" @submit.native.prevent>
        <el-form-item label="公告名称">
          <el-input v-model="data.name" max="8"></el-input>
        </el-form-item>
        <el-form-item label="公告内容">
          <el-input type="textarea" :rows="3" v-model="data.content"></el-input>
        </el-form-item>
        <el-form-item label="公告图标">
          <el-tooltip class="item" effect="dark" content="建议尺寸36*36" placement="top">
            <el-button size="mini" @click="choicImg=true,checkIndex=1">选择图片</el-button>
          </el-tooltip>
          <el-tooltip class="item" effect="dark" content="建议尺寸36*36" placement="top">
            <el-button size="mini" @click="SetDefaultIcon()">默认图标</el-button>
          </el-tooltip>
          <div flex="main:center cross:center" class="notice-gallery-item">
            <img :src="getIconLink(data.icon)" style="width:100%;height:100%;" class="app-gallery-img"
              draggable="false">
          </div>
        </el-form-item>
        <el-form-item label="文字颜色">
          <el-color-picker size="small" v-model="data.textColor"></el-color-picker>
          <el-input size="small" style="width: 80px;margin-right: 25px;" v-model="data.textColor"></el-input>
        </el-form-item>
        <el-form-item label="背景颜色">
          <el-color-picker size="small" v-model="data.background"></el-color-picker>
          <el-input size="small" style="width: 80px;margin-right: 25px;" v-model="data.background"></el-input>
        </el-form-item>
        <el-form-item label="弹窗设置">
          <el-button @click="dialogVisible = !dialogVisible" size="small">弹窗设置</el-button>
        </el-form-item>
      </el-form>
    </div>
    <!-- 选择图片文件 -->
    <el-dialog title="选择文件" :visible.sync="choicImg" width="1240px">
      <ChooseImg @SelectId="SelectId"></ChooseImg>
    </el-dialog>
    <!-- 公告弹窗 -->
    <el-dialog title="弹窗设置" :visible.sync="dialogVisible" width="956px" custom-class="diy-notice-dialog">
      <div flex="dir:left box:mean">
        <div class="left" flex="main:center cross:center">
          <div class="phone" flex="main:center cross:center">
            <div style="width: 600px">
              <img :src="getIconLink(data.headerUrl)" style="width: 600px;height: 150px;display: block">
              <div class="notice-dialog">
                <div style="margin-bottom: 24px;max-height: 600px;overflow-y: auto;">{{data.content}}</div>
                <div flex="dir:left main:center">
                  <div :style="btnStyle" style="text-align: center;">{{data.btnText}}</div>
                </div>
              </div>
            </div>
          </div>
        </div>
        <div>
          <el-form label-width="100px" @submit.native.prevent>
            <el-form-item label="头部图片">
              <el-tooltip class="item" effect="dark" content="建议尺寸600*150" placement="top">
                <el-button size="mini" @click="choicImg=true,checkIndex=2">选择图片</el-button>
              </el-tooltip>
              <div flex="main:center cross:center" class="notice-gallery-item">
                <img style="max-width:100%;max-height: 100%;" :src="getIconLink(data.headerUrl)" />
              </div>
            </el-form-item>
            <el-form-item label="按钮颜色">
              <el-color-picker v-model="data.btnColor"></el-color-picker>
            </el-form-item>
            <el-form-item label="按钮宽度">
              <label slot="label">按钮宽度
                <el-tooltip class="item" effect="dark" content="最大宽度500px" placement="top">
                  <i class="el-icon-info"></i>
                </el-tooltip>
              </label>
              <el-input v-model.number="data.btnWidth" type="number" max="500">
                <template slot="append">
                  <span>px</span>
                </template>
              </el-input>
            </el-form-item>
            <el-form-item label="按钮高度">
              <label slot="label">按钮高度
                <el-tooltip class="item" effect="dark" content="最大高度80px" placement="top">
                  <i class="el-icon-info"></i>
                </el-tooltip>
              </label>
              <el-input v-model.number="data.btnHeight" type="number" max="80">
                <template slot="append">
                  <span>px</span>
                </template>
              </el-input>
            </el-form-item>
            <el-form-item label="按钮圆角">
              <label slot="label">按钮圆角
                <el-tooltip class="item" effect="dark" content="最大圆角40px" placement="top">
                  <i class="el-icon-info"></i>
                </el-tooltip>
              </label>
              <el-input v-model.number="data.btnRadius" type="number" max="40">
                <template slot="append">
                  <span>px</span>
                </template>
              </el-input>
            </el-form-item>
            <el-form-item label="按钮文本内容">
              <el-input v-model="data.btnText"></el-input>
            </el-form-item>
            <el-form-item label="按钮文本颜色">
              <el-color-picker v-model="data.btnTextColor"></el-color-picker>
            </el-form-item>
          </el-form>
        </div>
      </div>
      <div slot="footer" class="dialog-footer">
        <el-button type="primary" size="small" @click="dialogVisible = false">确 定</el-button>
      </div>
    </el-dialog>

  </div>
</template>
<script>
  import ChooseImg from "@/components/global/ChooseImg.vue";
  export default {
    props: ["noticeData", "index", "dataLeng"],
    components: {
      ChooseImg
    },
    data() {
      return {
        //默认公告图标
        defaultIcon: this.domainManager().ImageUrl + '/Static/icon-notice.png',
        choicImg: false,
        dialogVisible: false,
        data: this.noticeData.data,
        checkIndex: 0,
      };
    },
    created() {

    },
    methods: {
      //还原默认图标
      SetDefaultIcon() {
        this.data.icon=this.defaultIcon;
      },
      //向父组件传值 并调用排序
      resetSord(IsUp) {
        this.$emit('getSord', this.index, IsUp);
      },
      //点击触发父组件删除
      delPlugin() {
        this.$emit('comDelPlugin', this.index);
      },
      //选择图片
      SelectId(msg) {
        if (this.checkIndex == 1) {
          this.data.icon = this.getIconLink(msg.url);
        } else if (this.checkIndex == 2) {
          this.data.headerUrl = this.getIconLink(msg.url);
        }
        this.choicImg = false;
      },
    },
    computed: {
      cStyle() {
        if (this.data.background) {
          return `background: ${this.data.background};` +
            `color: ${this.data.textColor};`
        } else {
          return `color: ${this.data.textColor};`
        }
      },
      btnStyle() {
        return `background: ${this.data.btnColor};` +
          `color: ${this.data.btnTextColor};` +
          `border-radius: ${this.data.btnRadius}px;` +
          `width: ${this.data.btnWidth}px;` +
          `height: ${this.data.btnHeight}px;` +
          `line-height: ${this.data.btnHeight}px;`
      }

    },
    mounted() {

    }
  };

</script>
