<template>
  <div class="brandClassification">
    <template v-if="!isShowAdd">
      <div class="head-title">
        品牌分类管理
        <el-button style="float:right;margin-top: -5px;" size="small" type="primary" @click="isShowAdd=true,clearMsg()">
          新增</el-button>
      </div>
      <div class="content">
        <div>
          <div class="searchInput" style="width:250px">
            <el-input @keyup.enter.native="msg.pageIndex=1,getList()" @clear="msg.pageIndex=1,getList()"
                      style="display:inline-block;width:225px;height:30px" placeholder="请输入品牌分类名称" v-model="msg.ClassName" size="small"
                      clearable>
            </el-input>
            <span @click="msg.pageIndex=1,getList()" class="el-icon-search"
                  style="color:#979dad;font-size:14px;position:relative;top:1px"></span>
          </div>
        </div>
        <el-table :data="tableData" v-loading="loading" border style="width: 100%;margin:20px 0">
          <el-table-column prop="ID" label="编号" width="100">
          </el-table-column>
          <el-table-column prop="ClassName" label="品牌分类名称">
          </el-table-column>
          <el-table-column prop="Logo" width="150" label="封面图">
            <template slot-scope="scope">
              <div class="app-image"
                   :style="{backgroundImage:'url(' + scope.row.Logo + ')',backgroundSize:'cover'}">
              </div>
            </template>
          </el-table-column>
          <el-table-column prop="CreateDate" width="200" label="创建时间">
          </el-table-column>

          <el-table-column prop="address" width="200" label="操作">
            <template slot-scope="scope">
              <el-tooltip class="item" effect="dark" content="编辑" placement="top">
                <img @click="editNews(scope.row)" style="width:32px;height:32px" src="../../assets/img/userman/edit.png"
                     alt="">
              </el-tooltip>
              <el-tooltip class="item" effect="dark" content="删除" placement="top-start">
                <img @click="delNews(scope.row)" style="width:32px;height:32px;margin:0 10px"
                     src="../../assets/img/userman/del.png" alt="">
              </el-tooltip>
            </template>
          </el-table-column>
        </el-table>
        <el-pagination style="text-align:right" background @current-change="handleCurrentChange"
                       :page-size="msg.pageSize" :current-page.sync="msg.pageIndex" layout="total,prev, pager, next" :total="total">
        </el-pagination>
      </div>
    </template>
    <template v-else>
      <div class="head-title">
        <span @click="isShowAdd=false" style="color:rgb(64, 158, 255);cursor:pointer;">品牌分类管理</span><span
        style="margin:0 9px;color:#C0C4CC">/</span><span>品牌分类信息</span>
      </div>
      <div class="content">
        <el-form label-width="120px" :model="addMsg" :rules="rules" ref="addMsg">
          <el-form-item label="品牌分类名称" class="is-required" prop="ClassName">
            <el-input type="text" class="w400" v-model="addMsg.ClassName" size="small" placeholder="品牌分类名称" maxlength="100">
            </el-input>
          </el-form-item>

          <el-form-item label="Logo" size="small" class="is-required" prop="Logo">
            <el-button @click="isShowImage=true" size="small">选择文件</el-button>
            <div class="app-gallery-item" style="position: relative;width: 100px;margin-top: 10px;border:none;">
              <img v-if="!addMsg.Logo || addMsg.Logo==''" src="../../assets/img/default.png"
                   style="width:80px;height:80px" alt="">
              <img v-else style="width:80px;height:80px" :src="addMsg.Logo" alt="">
            </div>
          </el-form-item>
        </el-form>
      </div>
      <el-button size="small" style="margin-top:20px;padding:9px 25px;" type="primary" @click="submitform('addMsg')">保存
      </el-button>
    </template>
    <!-- 选择文件 -->
    <el-dialog title="选择文件" :visible.sync="isShowImage" width="1240px">
      <ChooseImg @SelectId="SelectId"></ChooseImg>
    </el-dialog>
  </div>
</template>
<script>
  import ChooseImg from "@/components/global/ChooseImg.vue";
  import UE from "@/components/global/UE.vue";
  export default {
    components: {
      ChooseImg,
      UE,
    },
    data() {
      return {
        defaultMsg: "",
        config: {
          initialFrameWidth: null,
          initialFrameHeight: 350
        },
        msg: {
          pageIndex: 1,
          pageSize: 10,
          ClassName: '',
        },
        total: 0,
        tableData: [], //数据列表
        isShowImage: false, //是否显示选择图片弹窗
        isShowAdd: false, //是否显示新增
        addMsg: {
          ID: 0, //主键编号
          Logo: "", //封面图
          ClassName: "", //品牌分类标题

        },
        rules: {
          ClassName: [{
            required: true,
            message: '请输入品牌分类名称',
            trigger: 'blur'
          }],
          Logo: [{
            required: true,
            message: '请输入品牌Logo',
            trigger: 'blur'
          }],

        },
      };
    },
    created() {
      this.getList();
    },
    methods: {
      SelectId(msg) {
        let url = this.getIconLink(msg.url)
        this.addMsg.Logo = url
        this.isShowImage = false;
      },
      clearMsg() {
        this.addMsg.ID = 0;
        this.addMsg.Logo = "";
        this.addMsg.ClassName = "";
      },
      getList() {
        this.loading = true;
        this.apipost("/api/Trade/GetBrandClassPageList", this.msg, res => {
          this.loading = false;
          if (res.data.resultCode == 1) {
            this.total = res.data.data.count;
            let pageData = res.data.data.pageData;
            this.tableData = pageData;
          }
        })
      },
      handleCurrentChange(val) {
        this.msg.pageIndex = val;
        this.getList();
      },
      //删除品牌分类
      delNews(item) {
        let that = this;
        that.Confirm("是否删除?", function () {
          that.apipost(
            "/api/Trade/RemoveBrandClass", {
              Id: item.ID,
              Status: 1
            },
            res => {
              if (res.data.resultCode == 1) {
                that.Success(res.data.message);
                that.getList();
              } else {
                that.Error(res.data.message);
              }
            },
          );
        });
      },
      //修改品牌分类
      editNews(item) {
        this.apipost("/api/Trade/GetBrandClassDetails", {
          ID: item.ID
        }, res => {
          if (res.data.resultCode == 1) {
            this.isShowAdd = true;
            var tempData = res.data.data;
            this.addMsg.ID = tempData.ID;
            this.addMsg.Logo = tempData.Logo;
            this.addMsg.ClassName = tempData.ClassName;

          } else {
            this.Error(res.data.message);
          }
        })
      }, //新增修改
      submitform(formName) {
        this.$refs[formName].validate((valid) => {
          if (valid) {

            this.apipost("/api/Trade/GetSetBrandClass", this.addMsg, res => {
              if (res.data.resultCode == 1) {
                this.isShowAdd = false;
                this.getList();
                this.clearMsg();
                this.Success(res.data.message);
              } else {
                this.Error(res.data.message);
              }
            })
          } else {
            return false;
          }
        });
      }
    },
    mounted() {}
  };

</script>
<style>
  .brandClassification .remark_name {
    color: #888888;
    font-size: 12px;
    margin-left: 10px;
    float: right;
  }

  .brandClassification .app-image {
    background-position: center center;
    width: 50px;
    height: 50px;
    border-radius: 0%;
    float: left;
    margin-right: 8px;
  }

  .brandClassification .blue {
    color: #409EFF;

  }

  .brandClassification .content .searchInput {
    border: 1px solid #DCDFE6;
    border-radius: 4px;
  }

  .brandClassification .content .searchInput .el-input__inner {
    border: none;
    outline: none;
    height: 30px;
    line-height: 30px;
  }

  .brandClassification .content .searchInput {
    line-height: normal;
    display: inline-table;
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    width: 250px;
    margin-right: 20px;
  }

  .brandClassification .content {
    background: #fff;
    margin-top: 10px;
    padding: 20px;
    box-sizing: border-box;
  }

  .brandClassification .el-form-item__content {
    line-height: 0;
  }

</style>
