<template>
  <div class="goodsList">
    <div class="head-title">
      商品列表
      <el-button
        @click="Export"
        style="float: right; margin-top: -5px; margin-left: 20px"
        size="small"
        type="primary"
        >商品导出
      </el-button>
      <el-button
        @click="
          CommonJump('goodsListEdit', { hpState: hpState, FxState: FxState })
        "
        style="float: right; margin-top: -5px; margin-left: 20px"
        size="small"
        type="primary"
        >添加商品</el-button
      >
      <!-- <el-button style="float:right;margin-top: -5px;margin-left:20px;" size="small" type="primary">更新所有商品销量</el-button> -->
    </div>
    <div class="content">
      <div>
        <el-tabs v-model="activeName" @tab-click="handleClick">
          <el-tab-pane :dataId="0" label="全部" name="first"></el-tab-pane>
          <el-tab-pane :dataId="1" label="上架中" name="second"></el-tab-pane>
          <el-tab-pane :dataId="2" label="下架中" name="third"></el-tab-pane>
          <el-tab-pane :dataId="3" label="售罄" name="fourth"></el-tab-pane>
        </el-tabs>
      </div>
      <div>
        <el-button @click="flDig = true" style="margin-right: 10px" size="small"
          >分类筛选</el-button
        >
        <el-button
          v-show="checkList.length > 0"
          @click="
            (checkList = []),
              (msg.CategoryIds = ''),
              (msg.pageIndex = 1),
              getList()
          "
          type="danger"
          style="margin-right: 10px"
          size="small"
          >清除分类</el-button
        >
        <span>添加时间：</span>
        <el-date-picker
          v-model="dateList"
          @change="(msg.pageIndex = 1), getList()"
          size="small"
          type="datetimerange"
          range-separator="至"
          value-format="yyyy-MM-dd HH:mm:ss"
          start-placeholder="开始日期"
          end-placeholder="结束日期"
        >
        </el-date-picker>
        <div class="searchInput" style="width: 250px; margin-right: 0px">
          <el-input
            @keyup.enter.native="(msg.pageIndex = 1), getList()"
            style="display: inline-block; width: 225px; height: 30px"
            placeholder="请输入名称搜索"
            v-model="msg.Name"
            @clear="(msg.pageIndex = 1), getList()"
            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 class="searchInput" style="width: 250px">
          <el-input
            @keyup.enter.native="(msg.pageIndex = 1), getList()"
            style="display: inline-block; width: 225px; height: 30px"
            placeholder="请输入ID搜索"
            v-model="msg.Id"
            @clear="(msg.pageIndex = 1), getList()"
            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>
        <span
          @click="Clearconditions"
          v-if="
            msg.Name != '' ||
            msg.CategoryIds != '' ||
            (dateList && dateList.length > 0)
          "
          class="blue point"
          >清空筛选条件</span
        >
      </div>
      <div style="margin-top: 15px">
        <el-button @click="tableSet(4)" style="margin-left: 10px" size="mini"
          >上架</el-button
        >
        <el-button @click="tableSet(5)" style="margin-left: 10px" size="mini"
          >下架</el-button
        >
        <el-button @click="tableSet(6)" style="margin-left: 10px" size="mini"
          >删除</el-button
        >
        <el-button
          @click="plsetBtn"
          style="margin-left: 10px"
          size="mini"
          v-if="currentUserInfo.IsKorea == 0"
          >批量设置</el-button
        >
      </div>
      <el-table
        :data="tableData"
        v-loading="loading"
        border
        sortable="custom"
        @sort-change="getSort"
        @selection-change="tableSelect"
        style="width: 100%; margin: 20px 0"
      >
        <el-table-column type="selection" width="55"> </el-table-column>
        <el-table-column prop="Id" width="80" sortable label="ID">
        </el-table-column>
        <el-table-column prop="address" sortable label="排序">
          <template slot-scope="scope">
            <template v-if="!scope.row.editsort">
              <span>{{ scope.row.Sort }}</span>
              <img
                @click="
                  (scope.row.editsort = true),
                    (scope.row.SortNew = scope.row.Sort)
                "
                style="width: 15px; height: 15px; margin-left: 7px"
                src="../../assets/img/userman/edit1.png"
                alt=""
              />
            </template>
            <template v-else>
              <el-input
                v-model="scope.row.SortNew"
                type="number"
                min="1"
                size="small"
                style="display: inline-block; width: 70px"
              ></el-input>
              <span
                @click="scope.row.editsort = false"
                class="el-icon-error"
                style="color: rgb(245, 108, 108)"
              ></span>
              <span
                @click="Edit(scope.row, 1)"
                class="el-icon-success"
                style="color: #67c23a"
              ></span>
            </template>
          </template>
        </el-table-column>
        <el-table-column prop="Remark" label="分类">
          <template slot-scope="scope">
            <el-tag
              size="mini"
              v-if="scope.row.CategoryList && scope.row.CategoryList.length > 0"
            >
              {{ scope.row.CategoryList[0].CategoryName }}</el-tag
            >
            <el-tooltip class="item" effect="dark" placement="top">
              <div slot="content">
                <span
                  v-for="(item, index) in scope.row.CategoryList"
                  :key="index"
                  >{{ item.CategoryName }}
                </span>
              </div>
              <span
                v-if="scope.row.CategoryList.length > 1 && index == 0"
                v-for="(item, index) in scope.row.CategoryList"
                :key="index"
                >...</span
              >
            </el-tooltip>
          </template>
        </el-table-column>
        <el-table-column prop="address" width="300" label="商品名称">
          <template slot-scope="scope">
            <div flex="box:first">
              <el-image
                title="点击查看大图"
                style="width: 50px; height: 50px; margin-right: 1px"
                :src="scope.row.CoverImage"
                :preview-src-list="scope.row.CarouselImageList"
              >
              </el-image>
              <template v-if="!scope.row.editname">
                <div flex="cross:top" style="display: inline-flex">
                  <div flex="dir:left">
                    <el-tooltip
                      class="item"
                      effect="dark"
                      :content="scope.row.Name"
                      placement="top"
                    >
                      <div
                        class="vue-line-clamp"
                        style="word-break: break-all; -webkit-line-clamp: 2"
                      >
                        <span>{{ scope.row.Name }}</span>
                      </div>
                    </el-tooltip>
                    <img
                      @click="
                        (scope.row.editname = true),
                          (scope.row.NameNew = scope.row.Name)
                      "
                      style="width: 15px; height: 15px; margin-left: 7px"
                      src="../../assets/img/userman/edit1.png"
                      alt=""
                    />
                  </div>
                </div>
              </template>
              <template v-else>
                <el-input
                  v-model="scope.row.NameNew"
                  size="small"
                  style="display: inline-block; width: 150px"
                ></el-input>
                <span
                  @click="scope.row.editname = false"
                  class="el-icon-error"
                  style="
                    margin-left: 5px;
                    color: rgb(245, 108, 108);
                    position: relative;
                    top: 9px;
                  "
                ></span>
                <span
                  @click="Edit(scope.row, 2)"
                  class="el-icon-success"
                  style="color: #67c23a; position: relative; top: 9px"
                ></span>
              </template>
            </div>
            <div
              flex="dir:left"
              style="margin-top: 5px; color: #f56c6c; font-size: 12px"
              v-if="scope.row.Remark"
            >
              <div style="width: 38px">备注：</div>
              <el-tooltip
                class="item"
                effect="dark"
                :content="scope.row.Remark"
                placement="top"
              >
                <div
                  class="vue-line-clamp"
                  style="
                    word-break: break-all;
                    -webkit-line-clamp: 2;
                    width: 90%;
                    margin-left: 0;
                  "
                >
                  <span>{{ scope.row.Remark }}</span>
                </div>
              </el-tooltip>
            </div>
          </template>
        </el-table-column>
        <el-table-column
          prop="SellingPrice"
          width="100"
          sortable
          label="售价"
          v-if="currentUserInfo.IsKorea == 0"
        >
        </el-table-column>
        <el-table-column
          prop="InventoryNum"
          width="100"
          sortable
          label="库存"
          v-if="currentUserInfo.IsKorea == 0"
        >
          <template slot-scope="scope">
            <span v-if="scope.row.InventoryNum == 0" style="color: red"
              >售罄</span
            >
            <span v-else>{{ scope.row.InventoryNum }}</span>
          </template>
        </el-table-column>
        <el-table-column width="120" v-if="currentUserInfo.IsKorea == 0">
          <template slot="header">
            已出售量
            <el-tooltip
              effect="dark"
              content="已出售量=实际销量+虚拟销量，按实际销量排序"
              placement="top"
            >
              <i class="el-icon-info"></i>
            </el-tooltip>
          </template>
          <template slot-scope="scope">
            <span>{{ scope.row.GoodsBuyNum }}+{{ scope.row.SalesNum }}</span>
          </template>
        </el-table-column>
        <el-table-column
          prop="UpdateDate"
          width="110"
          label="是否加入快速购买"
          v-if="currentUserInfo.IsKorea == 0"
        >
          <template slot-scope="scope">
            <el-switch
              @change="Edit(scope.row, 10)"
              v-model="scope.row.IsQuickBuy"
              active-color="#409EFF"
              :active-value="1"
              :inactive-value="0"
            >
            </el-switch>
          </template>
        </el-table-column>
        <el-table-column prop="CreateDate" width="160" label="添加时间">
        </el-table-column>
        <el-table-column prop="UpdateDate" width="100" label="状态">
          <template slot-scope="scope">
            <el-tag v-if="scope.row.GoodsStatus == 1" type="success"
              >销售中</el-tag
            >
            <el-tag v-if="scope.row.GoodsStatus == 2" type="warning"
              >下架中</el-tag
            >
          </template>
        </el-table-column>
        <el-table-column prop="RetailStore" width="100" label="分销商品">
          <template slot-scope="scope">
            <el-checkbox
              v-if="scope.row.SourceGoodsId > 0"
              :value="scope.row.SourceGoodsId > 0"
              disabled
            ></el-checkbox>
          </template>
        </el-table-column>
        <el-table-column prop="RetailStore" width="100" label="是否分销">
          <template slot-scope="scope">
            <el-checkbox
              v-if="scope.row.RetailStore == 1"
              :value="scope.row.RetailStore == 1"
              disabled
            ></el-checkbox>
          </template>
        </el-table-column>
        <el-table-column prop="address" width="250" label="操作">
          <template slot-scope="scope">
            <!-- <img
              @click="goGoodsEdit(scope.row.Id)"
              style="width: 32px; height: 32px; margin: 0 10px"
              v-if="
                currentUserInfo.TenantId == 1 &&
                currentUserInfo.MallBaseId == 1 &&
                (currentUserInfo.EmpId == 0 ||
                  currentUserInfo.IsOtherUpdateGoods == 1 ||
                  currentUserInfo.EmpId == scope.row.CreateBy)
              "
              src="../../assets/img/userman/edit.png"
              alt=""
            />
            <img
              @click="goGoodsEdit(scope.row.Id)"
              style="width: 32px; height: 32px; margin: 0 10px"
              v-if="
                currentUserInfo.TenantId != 1 && currentUserInfo.MallBaseId != 1
              "
              src="../../assets/img/userman/edit.png"
              alt=""
            />
            <img
              @click="Delete(scope.row)"
              style="width: 32px; height: 32px; margin: 0 10px"
              src="../../assets/img/userman/del.png"
              alt=""
            /> -->
           
            <span v-if="currentUserInfo.TenantId == 1 &&  currentUserInfo.MallBaseId ==1 && (currentUserInfo.EmpId == 0 || currentUserInfo.IsOtherUpdateGoods ==1 || currentUserInfo.EmpId==scope.row.CreateBy)">
              <img @click="goGoodsEdit(scope.row.Id)" style="width:32px;height:32px;margin:0 10px" 
              src="../../assets/img/userman/edit.png" alt="">
              <img @click="Delete(scope.row)" style="width:32px;height:32px;margin:0 10px"
              src="../../assets/img/userman/del.png" alt="">

            </span>
            <span v-if="currentUserInfo.TenantId != 1 &&  currentUserInfo.MallBaseId !=1">
              <img @click="goGoodsEdit(scope.row.Id)" style="width:32px;height:32px;margin:0 10px" 
              src="../../assets/img/userman/edit.png" alt="">
              <img @click="Delete(scope.row)" style="width:32px;height:32px;margin:0 10px"
              src="../../assets/img/userman/del.png" alt="">
            </span>
            <el-tooltip
              effect="dark"
              content="提交分销"
              placement="top"
              v-if="
                scope.row.SourceGoodsId === 0 && scope.row.RetailStore === 0
              "
            >
              <img
                style="width: 32px; height: 32px; margin: 0 10px"
                src="../../assets/img/tijiao.png"
                alt=""
                @click="tijiaofenxiao(scope.row.Id)"
              />
            </el-tooltip>
            <el-tooltip
              effect="dark"
              content="撤销分销"
              placement="top"
              v-if="
                scope.row.SourceGoodsId === 0 && scope.row.RetailStore === 1
              "
            >
              <img
                style="width: 32px; height: 32px; margin: 0 10px"
                src="../../assets/img/chexiao.png"
                alt=""
                @click="chexiaofenxiao(scope.row.Id)"
              />
            </el-tooltip>
          </template>
        </el-table-column>
      </el-table>
      <el-pagination
        style="text-align: right"
        background
        @current-change="handleCurrentChange"
        :page-size="msg.pageSize"
        layout="prev, pager, next"
        :current-page.sync="msg.pageIndex"
        :total="total"
      >
      </el-pagination>
    </div>
    <!-- 选择分类 -->
    <el-dialog
      custom-class="app-add-cat"
      title="选择分类"
      :visible.sync="flDig"
      width="1100px"
    >
      <el-row>
        <el-col :span="8" style="padding: 0 10px; box-sizing: border-box">
          <h3 style="padding: 15px 0">一级分类</h3>
          <div class="app-goods-cat-list active">
            <el-checkbox-group v-model="checkList">
              <div
                v-for="(item, index) in fenleiData"
                :key="index"
                flex="dir:left box:first"
                class="cat-item"
              >
                <el-checkbox :label="item">
                  <span style="display: none">{{ item.Name }}</span>
                </el-checkbox>
                <div flex="box:last cross:center">
                  <span>{{ item.Name }}</span>
                  <i
                    v-if="item.ChildList.length > 0"
                    @click="getChild2(item.ChildList)"
                    class="el-icon-arrow-right"
                  ></i>
                </div>
              </div>
            </el-checkbox-group>
          </div>
        </el-col>
        <el-col
          v-show="childList2.length > 0"
          :span="8"
          style="padding: 0 10px; box-sizing: border-box"
        >
          <h3 style="padding: 15px 0">二级分类</h3>
          <div class="app-goods-cat-list active">
            <el-checkbox-group v-model="checkList">
              <div
                v-for="(item, index) in childList2"
                :key="index"
                flex="dir:left box:first"
                class="cat-item"
              >
                <el-checkbox :label="item">
                  <span style="display: none">{{ item.Name }}</span>
                </el-checkbox>
                <div flex="box:last cross:center">
                  <span>{{ item.Name }}</span>
                  <i
                    v-if="item.ChildList.length > 0"
                    @click="getChild3(item.ChildList)"
                    class="el-icon-arrow-right"
                  ></i>
                </div>
              </div>
            </el-checkbox-group>
          </div>
        </el-col>
        <el-col
          v-show="childList3.length > 0"
          :span="8"
          style="padding: 0 10px; box-sizing: border-box"
        >
          <h3 style="padding: 15px 0">三级分类</h3>
          <div class="app-goods-cat-list active">
            <el-checkbox-group v-model="checkList">
              <div
                v-for="(item, index) in childList3"
                :key="index"
                flex="dir:left box:first"
                class="cat-item"
              >
                <el-checkbox :label="item">
                  <span style="display: none">{{ item.Name }}</span>
                </el-checkbox>
                <div flex="box:last cross:center">
                  <span>{{ item.Name }}</span>
                  <i class="el-icon-arrow-right"></i>
                </div>
              </div>
            </el-checkbox-group>
          </div>
        </el-col>
      </el-row>
      <div class="tag-box">
        <el-tag
          @close="exitCheck(item)"
          v-for="(item, index) in checkList"
          :key="index"
          type="warning"
          closable
          style="margin-right: 5px"
          >{{ item.Name }}</el-tag
        >
      </div>
      <span slot="footer" class="dialog-footer">
        <el-button size="small" @click="flDig = false">取 消</el-button>
        <el-button @click="chooseFl" size="small" type="primary"
          >确 定</el-button
        >
      </span>
    </el-dialog>
    <!-- 批量修改 -->
    <el-dialog
      custom-class="plxg"
      title="批量修改"
      :visible.sync="plDig"
      width="960px"
    >
      <span class="absoSpan">已选商品{{ GoodsIds.length }}个</span>
      <div class="batch-remark c99 f14">
        注：每次只能修改一项，修改后点击确定即可生效。如需修改多项，需多次操作。
      </div>
      <div style="margin-top: 15px" flex="dir:left box:first">
        <div flex="dir:top" class="batch-box-left">
          <div
            flex="main:center"
            @click="ClearSelect(7)"
            :class="plszMsg.Type == 7 ? 'batch-div-active' : ''"
          >
            运费
          </div>
          <div
            flex="main:center"
            @click="ClearSelect(8)"
            :class="plszMsg.Type == 8 ? 'batch-div-active' : ''"
          >
            限购
          </div>
          <div
            flex="main:center"
            @click="ClearSelect(9)"
            :class="plszMsg.Type == 9 ? 'batch-div-active' : ''"
          >
            积分
          </div>
          <div
            flex="main:center"
            @click="ClearSelect(10)"
            :class="plszMsg.Type == 10 ? 'batch-div-active' : ''"
          >
            快速购买
          </div>
          <div
            flex="main:center"
            @click="ClearSelect(11)"
            :class="plszMsg.Type == 11 ? 'batch-div-active' : ''"
          >
            面议
          </div>
          <div
            flex="main:center"
            @click="ClearSelect(12)"
            :class="plszMsg.Type == 12 ? 'batch-div-active' : ''"
          >
            供应商
          </div>
          <div
            flex="main:center"
            @click="ClearSelect(13)"
            :class="plszMsg.Type == 13 ? 'batch-div-active' : ''"
          >
            加入分销
          </div>
        </div>
        <div class="batch-box-right">
          <el-form
            class="app-batch"
            :model="addMsg"
            :rules="rules"
            ref="addMsg"
            label-width="100px"
          >
            <el-form-item v-if="plszMsg.Type == 7" label="运费设置">
              <el-tag
                v-if="ruleSelect.RulesName"
                @close="(plszMsg.FreightId = 0), (ruleSelect = {})"
                closable
              >
                {{ ruleSelect.RulesName }}</el-tag
              >
              <el-button
                @click="chooseyfDig = true"
                style="margin-left: 10px"
                size="small"
                >选择运费</el-button
              >
            </el-form-item>
            <el-form-item v-if="plszMsg.Type == 8" label="每人限购">
              <el-form-item label-width="50px" label="商品">
                <el-input
                  :disabled="BuyGoodsNumState"
                  v-model="plszMsg.LimitBuyGoodsNum"
                  style="width: 254px; margin-left: 15px"
                  type="number"
                  min="1"
                  size="small"
                  placeholder="请输入内容"
                  class="input-with-select"
                >
                  <el-button slot="append">件</el-button>
                </el-input>
                <el-checkbox
                  @change="goodChange(BuyGoodsNumState, 1)"
                  style="margin-left: 10px"
                  v-model="BuyGoodsNumState"
                  >不限制</el-checkbox
                >
              </el-form-item>
              <el-form-item label-width="50px" label="订单">
                <el-input
                  :disabled="BuyOrderNumState"
                  v-model="plszMsg.LimitBuyOrderNum"
                  style="width: 254px; margin-left: 15px"
                  type="number"
                  min="1"
                  size="small"
                  placeholder="请输入内容"
                  class="input-with-select"
                >
                  <el-button slot="append">单</el-button>
                </el-input>
                <el-checkbox
                  @change="goodChange(BuyOrderNumState, 2)"
                  style="margin-left: 10px"
                  v-model="BuyOrderNumState"
                  >不限制</el-checkbox
                >
              </el-form-item>
            </el-form-item>
            <template v-if="plszMsg.Type == 9">
              <el-form-item label="积分赠送">
                <el-tooltip
                  class="item"
                  effect="dark"
                  placement="top"
                  style="position: absolute; left: -10px; top: 12px"
                >
                  <div slot="content">
                    用户购物赠送的积分, 如果不填写或填写0，则默认为不赠送积分<br />
                    如果为百分比则为按成交价格的比例计算积分<br />
                    如: 购买2件，设置10 积分, 不管成交价格是多少，
                    则购买后获得20积分<br />
                    如: 购买2件，设置10%积分, 成交价格2 * 200= 400，
                    则购买后获得 40 积分（400*10%)<br />
                  </div>
                  <i class="el-tooltip el-icon-info"></i>
                </el-tooltip>
                <el-input
                  v-model="plszMsg.IntegralPresent"
                  style="width: 670px; margin-left: 15px"
                  type="number"
                  min="1"
                  size="small"
                  placeholder="请输入内容"
                  class="input-with-select"
                >
                  <el-button slot="append">
                    分
                    <el-radio v-model="plszMsg.IntegralPresentType" :label="2"
                      >固定值</el-radio
                    >
                    <el-radio v-model="plszMsg.IntegralPresentType" :label="1"
                      >百分比</el-radio
                    >
                  </el-button>
                </el-input>
              </el-form-item>
              <el-form-item label="积分抵扣">
                <el-tooltip
                  class="item"
                  effect="dark"
                  content="如果设置0，则不支持积分抵扣 如果带%则为按成交价格的比例计算抵扣多少元"
                  placement="top"
                  style="position: absolute; left: -10px; top: 12px"
                >
                  <i class="el-tooltip el-icon-info"></i>
                </el-tooltip>
                <el-input
                  v-model="plszMsg.PointsDeduction"
                  style="width: 670px; margin-left: 15px"
                  type="number"
                  min="1"
                  size="small"
                  placeholder="请输入内容"
                  class="input-with-select"
                >
                  <template slot="prepend">最多抵扣</template>
                  <el-button slot="append">
                    分
                    <el-radio v-model="plszMsg.PointsDeductionType" :label="2"
                      >固定值</el-radio
                    >
                    <el-radio v-model="plszMsg.PointsDeductionType" :label="1"
                      >百分比</el-radio
                    >
                  </el-button>
                </el-input>
              </el-form-item>
              <el-form-item label-width="110px">
                <el-checkbox
                  v-model="plszMsg.IsMultipleDeduction"
                  :true-label="1"
                  :false-label="2"
                  >允许多件抵扣</el-checkbox
                >
              </el-form-item>
            </template>
            <el-form-item
              v-if="plszMsg.Type == 10"
              label-width="160px"
              label="是否加入快速购买"
            >
              <el-switch
                v-model="plszMsg.IsQuickBuy"
                active-color="#409EFF"
                :active-value="1"
                :inactive-value="0"
              >
              </el-switch>
            </el-form-item>
            <el-form-item
              class="spmy"
              v-if="plszMsg.Type == 11"
              label-width="160px"
              label="是否加入商品面议"
            >
              <el-tooltip
                class="item"
                effect="dark"
                content="如果开启面议，则商品无法在线支付"
                placement="top"
                style="position: absolute; left: -22px; top: 12px"
              >
                <i class="el-tooltip el-icon-info"></i>
              </el-tooltip>
              <el-switch
                v-model="plszMsg.IsGoodsNegotiable"
                active-color="#409EFF"
                :active-value="1"
                :inactive-value="0"
              >
              </el-switch>
            </el-form-item>
            <el-form-item
              class="spmy"
              v-if="plszMsg.Type == 12"
              label-width="160px"
              label="供应商"
            >
              <el-select
                class="w150"
                style="margin-right: 10px"
                v-model="plszMsg.SupplierId"
                size="small"
                placeholder="请选择"
                @change="changeSupplier"
              >
                <el-option
                  v-for="item in options"
                  :key="item.ID"
                  :label="item.Name"
                  :value="item.ID"
                >
                </el-option>
              </el-select>
            </el-form-item>
            <el-form-item
              class="spmy"
              v-if="plszMsg.Type == 13"
              label-width="160px"
              label="是否加入分销平台"
            >
              <el-switch
                v-model="plszMsg.RetailStore"
                active-text="是"
                :active-value="2"
                inactive-text="否"
                :inactive-value="1"
              >
              </el-switch>
            </el-form-item>
          </el-form>
        </div>
      </div>
      <span slot="footer" class="dialog-footer">
        <el-button size="small" @click="plDig = false">取 消</el-button>
        <el-button @click="plsetOk" size="small" type="primary"
          >确 定</el-button
        >
      </span>
    </el-dialog>
    <!-- 选择运费 -->
    <el-dialog
      title="选择运费"
      top="2%"
      :modal="false"
      :modal-append-to-body="false"
      :visible.sync="chooseyfDig"
      width="25%"
    >
      <div>
        <el-radio-group v-model="val">
          <el-radio
            @change="YfSelect"
            class="yfradio"
            v-for="(item, index) in ruleList"
            :key="index"
            :label="item"
          >
            {{ item.RulesName }}</el-radio
          >
        </el-radio-group>
      </div>
      <span slot="footer" class="dialog-footer">
        <el-button
          size="small"
          @click="
            (chooseyfDig = false), (ruleSelect = {}), (plszMsg.FreightId = 0)
          "
          >取 消</el-button
        >
        <el-button size="small" @click="chooseyfDig = false" type="primary"
          >确 定</el-button
        >
      </span>
    </el-dialog>
  </div>
</template>

<script>
export default {
  name: "quickBuy",
  data() {
    return {
      chooseyfDig: false,
      plDig: false,
      flDig: false,
      val: "",
      dateList: [],
      activeName: "first",
      editState: false,
      msg: {
        pageIndex: 1,
        pageSize: 15,
        Name: "",
        GoodsStatus: 0,
        IsSelectSellOut: 0,
        CategoryIds: "",
        Id: "",
        StartTime: "",
        EndTime: "",
        OrderBy: 0,
      },
      total: 0,
      tableData: [],
      loading: false,
      options: [],
      addMsg: {
        Id: 0,
        Sort: "",
        Name: "",
        IsDefault: 1,
        Remark: "",
        UpdateType: 1,
      },
      rules: {
        CategoryIdNew: [
          {
            required: true,
            message: "分类不能为空",
            trigger: "change",
          },
        ],
        Sort: [
          {
            required: true,
            message: "请输入排序",
            trigger: "blur",
          },
        ],
      },
      fenleiData: [],
      checkList: [],
      childList2: [],
      childList3: [],
      GoodsIds: [],
      plszMsg: {
        GoodsIds: "",
        Type: 7,
        FreightId: 0,
        LimitBuyGoodsNum: -1,
        LimitBuyOrderNum: -1,
        IntegralPresent: 0,
        IntegralPresentType: 2,
        PointsDeduction: 0,
        PointsDeductionType: 2,
        IsMultipleDeduction: 2,
        IsQuickBuy: 2,
        IsGoodsNegotiable: 2,
        SupplierId: "",
      },
      ruleList: [],
      ruleSelect: {},
      keepGoodsIds: "",
      BuyGoodsNumState: true,
      BuyOrderNumState: true,
      hpState: 0,
      FxState: 0,
      currentUserInfo: {}, //当前用户
    };
  },
  created() {
    this.currentUserInfo = JSON.parse(localStorage.mall_userInfo);
    this.getList();
    this.getTree();
    this.getRule();
    this.getHpState();
    this.getFxState();
    this.getSupplierList(); //获取供应商
  },
  methods: {
    //获取是否开启和平返佣
    getHpState() {
      this.apipost("/api/user/GetHpDistributorIsEnabled", {}, (res) => {
        if (res.data.resultCode == 1) {
          this.hpState = res.data.data;
        }
      });
    },
    //是否开启粉象返佣
    getFxState() {
      this.apipost("/api/user/GetIsEnableFXDistributorGrade", {}, (res) => {
        if (res.data.resultCode == 1) {
          this.FxState = res.data.data;
        }
      });
    },
    goodChange(val, num) {
      if (!val) {
        if (num == 1) {
          this.plszMsg.LimitBuyGoodsNum = 0;
        } else if (num == 2) {
          this.plszMsg.LimitBuyOrderNum = 0;
        }
      }
    },
    Export() {
      let msg = this.msg;
      if (msg.Id == "") {
        msg.Id = 0;
      }
      msg = JSON.parse(JSON.stringify(msg));
      msg.pageSize = 999;
      this.GetLocalFile(
        "/api/product/GetProductGoodsListToExcel",
        msg,
        "商品列表.xls"
      );
    },
    plsetOk() {
      if (this.plszMsg.Type == 7) {
        // if(this.plszMsg.FreightId==0){
        //     this.Error("请选择运费规则");
        //     return;
        // }
      }
      if (this.plszMsg.Type == 8) {
        if (this.plszMsg.BuyGoodsNumState) {
          this.plszMsg.LimitBuyGoodsNum = -1;
        }
        if (this.plszMsg.BuyOrderNumState) {
          this.plszMsg.LimitBuyOrderNum = -1;
        }
      }

      let mall_userInfo = JSON.parse(localStorage.mall_userInfo);
      if (mall_userInfo.TenantId == 1 && mall_userInfo.MallBaseId == 1) {
        if (this.plszMsg.SupplierId == "" && this.plszMsg.Type !== 13) {
          this.Error("请选择供应商!");
          return;
        } else {
          this.commonSet(this.plszMsg);
        }
      } else {
        if (this.plszMsg.SupplierId == "") {
          this.plszMsg.SupplierId = 0;
          this.commonSet(this.plszMsg);
        } else {
          this.commonSet(this.plszMsg);
        }
      }
    },
    plsetBtn() {
      if (this.GoodsIds.length == 0) {
        this.Error("请先勾选要设置的商品!");
        return;
      }
      let idList = [];
      this.GoodsIds.forEach((item) => {
        idList.push(item.Id);
      });
      this.keepGoodsIds = idList.join(",");
      this.plszMsg.GoodsIds = this.keepGoodsIds;
      this.plszMsg.SupplierId = "";
      this.plDig = true;
    },
    ClearSelect(type) {
      this.plszMsg = {
        GoodsIds: this.keepGoodsIds,
        Type: type,
        FreightId: 0,
        LimitBuyGoodsNum: -1,
        LimitBuyOrderNum: -1,
        IntegralPresent: 0,
        IntegralPresentType: 2,
        PointsDeduction: 0,
        PointsDeductionType: 2,
        IsMultipleDeduction: 2,
        IsQuickBuy: 2,
        IsGoodsNegotiable: 2,
        SupplierId: "",
      };
    },
    YfSelect(val) {
      this.ruleSelect = val;
      this.plszMsg.FreightId = val.ID;
    },
    tableSelect(val) {
      this.GoodsIds = val;
    },
    // 上架 下架 删除
    tableSet(num) {
      if (this.GoodsIds.length == 0) {
        this.Error("请先勾选要设置的商品!");
        return;
      }
      let idList = [];
      this.GoodsIds.forEach((item) => {
        idList.push(item.Id);
      });
      let GoodsIds = idList.join(",");
      let msg = {
        GoodsIds: GoodsIds,
        Type: num,
      };
      let str = "";
      if (num == 4) {
        str = "批量上架,是否继续";
      }
      if (num == 5) {
        str = "批量下架,是否继续";
      }
      if (num == 6) {
        str = "是否确认删除选中的商品?";
      }
      let that = this;
      that
        .$confirm(str, "提示", {
          confirmButtonText: "确定",
          cancelButtonText: "取消",
          type: "warning",
        })
        .then(() => {
          this.commonSet(msg);
        })
        .catch(() => {});
    },
    Edit(row, num) {
      let addMsg = {
        GoodsIds: row.Id,
        Type: num,
        Sort: row.SortNew,
        GoodsName: row.NameNew,
        IsQuickBuy: row.IsQuickBuy,
      };
      this.commonSet(addMsg);
    },
    commonSet(addMsg) {
      this.apipost(
        "/api/product/SetProductGoodsQuickUpdate",
        addMsg,
        (res) => {
          if (res.data.resultCode === 1) {
            this.getList();
            this.Success(res.data.message);
            this.plDig = false;
          } else {
            this.Error(res.data.message);
          }
        },
        null
      );
    },
    chooseFl() {
      let CategoryIds = [];
      this.checkList.forEach((item) => {
        CategoryIds.push(item.Id);
      });
      this.msg.pageIndex = 1;
      this.msg.CategoryIds = CategoryIds.join(",");
      this.getList();
      this.flDig = false;
    },
    getChild3(ChildList) {
      this.childList3 = ChildList;
    },
    getChild2(ChildList) {
      this.childList2 = ChildList;
    },
    exitCheck(item, index) {
      this.checkList.forEach((list, k) => {
        if (list.Id == item.Id) {
          this.checkList.splice(k, 1);
        }
      });
    },
    handleCheckChange(val) {},
    Clearconditions() {
      this.msg.Name = "";
      this.msg.CategoryIds = "";
      this.dateList = [];
      this.checkList = [];
      this.getList();
    },
    handleClick(val) {
      let dataId = val.$attrs.dataId;
      if (dataId == 0) {
        this.msg.GoodsStatus = 0;
        this.msg.IsSelectSellOut = 0;
      }
      if (dataId == 1) {
        this.msg.GoodsStatus = 1;
        this.msg.IsSelectSellOut = 0;
      }
      if (dataId == 2) {
        this.msg.GoodsStatus = 2;
        this.msg.IsSelectSellOut = 0;
      }
      if (dataId == 3) {
        this.msg.GoodsStatus = 0;
        this.msg.IsSelectSellOut = 1;
      }
      this.msg.pageIndex = 1;
      this.getList();
    },
    Delete(item) {
      let that = this;
      that
        .$confirm("是否删除?", "提示", {
          confirmButtonText: "确定",
          cancelButtonText: "取消",
          type: "warning",
        })
        .then(() => {
          this.apipost(
            "/api/product/DelProcudtGoodsInfo",
            {
              GoodsId: item.Id,
            },
            (res) => {
              if (res.data.resultCode === 1) {
                this.getList();
                this.Success(res.data.message);
              } else {
                this.Error(res.data.message);
              }
            },
            null
          );
        })
        .catch(() => {});
    },
    handleCurrentChange(val) {
      this.msg.pageIndex = val;
      this.getList();
    },
    getList() {
      if (this.dateList && this.dateList.length > 0) {
        this.msg.StartTime = this.dateList[0];
        this.msg.EndTime = this.dateList[1];
      } else {
        this.msg.StartTime = "";
        this.msg.EndTime = "";
      }
      let msg = JSON.parse(JSON.stringify(this.msg));
      if (msg.Id == "") {
        msg.Id = 0;
      }
      msg.EmpId = this.currentUserInfo.EmpId
      msg.IsOtherUpdateGoods = this.currentUserInfo.IsOtherUpdateGoods
      this.loading = true;
      this.apipost("/api/product/GetProductGoodsPageList", msg, (res) => {
        this.loading = false;
        if (res.data.resultCode == 1) {
          this.total = res.data.data.count;
          let pageData = res.data.data.pageData;
          pageData.forEach((item) => {
            item.SortNew = item.Sort;
            item.NameNew = item.Name;
            item.editsort = false;
            item.editname = false;
          });
          this.tableData = pageData;
        }
      });
    },
    getTree() {
      let msg1 = {
        Id: 0,
        Name: "",
        Tier: 0,
        ParentId: 0,
        Enabled: 1,
        IsShow: 1,
      };
      this.apipost("/api/product/GetProductCategoryTreeList", msg1, (res) => {
        if (res.data.resultCode == 1) {
          let pageData = res.data.data;
          this.fenleiData = pageData;
        }
      });
    },
    getRule() {
      let msg1 = {
        pageIndex: 1,
        pageSize: 999,
        RulesName: "",
      };
      this.apipost("/api/MallBase/GetLogisticsRulesPage", msg1, (res) => {
        if (res.data.resultCode == 1) {
          let pageData = res.data.data.pageData;
          this.ruleList = pageData;
        }
      });
    },
    changeSupplier(val) {},
    getSupplierList() {
      this.apipost("/api/Supplier/GetSupplierAllList", {}, (res) => {
        this.loading = false;
        if (res.data.resultCode == 1) {
          this.options = res.data.data;
        }
      });
    },
    getSort(val) {
      //列表的升序降序
      if (val.prop == "Id") {
        if (val.order == "ascending") {
          this.msg.OrderBy = 1;
        } else if (val.order == "descending") {
          this.msg.OrderBy = 2;
        } else {
          this.msg.OrderBy = 0;
        }
      } else if (val.prop == "address") {
        if (val.order == "ascending") {
          this.msg.OrderBy = 3;
        } else if (val.order == "descending") {
          this.msg.OrderBy = 4;
        } else {
          this.msg.OrderBy = 0;
        }
      } else if (val.prop == "SellingPrice") {
        if (val.order == "ascending") {
          this.msg.OrderBy = 5;
        } else if (val.order == "descending") {
          this.msg.OrderBy = 6;
        } else {
          this.msg.OrderBy = 0;
        }
      } else if (val.prop == "InventoryNum") {
        if (val.order == "ascending") {
          this.msg.OrderBy = 7;
        } else if (val.order == "descending") {
          this.msg.OrderBy = 8;
        } else {
          this.msg.OrderBy = 0;
        }
      }
      this.getList();
    },
    //新窗口跳转
    goGoodsEdit(Id) {
      let routeData = this.$router.resolve({
        name: "goodsListEdit",
        query: {
          GoodsId: Id,
          hpState: this.hpState,
          FxState: this.FxState,
        },
      });
      window.open(routeData.href, "_blank");
    },
    //提交分销
    tijiaofenxiao(id) {
      let msg = JSON.parse(JSON.stringify(this.plszMsg));
      msg.Type = 13;
      msg.GoodsIds = id;
      msg.RetailStore = 2;
      this.commonSet(msg);
    },
    //撤销分销
    chexiaofenxiao(id) {
      let msg = JSON.parse(JSON.stringify(this.plszMsg));
      msg.Type = 13;
      msg.GoodsIds = id;
      msg.RetailStore = 1;
      this.commonSet(msg);
    },
  },
};
</script>
<style>
.plxg .spmy .el-form-item__label {
  padding-right: 26px;
}

.yfradio {
  display: block;
  padding: 10px;
}

.plxg .batch-div-active {
  background-color: #e2e2e2;
}

.plxg .batch-box-left div {
  padding: 5px 0;
  margin: 5px 0;
  cursor: pointer;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
}

.plxg .batch-box-left {
  width: 120px;
  border-right: 1px solid #e2e2e2;
  padding: 0 20px;
}

.plxg .el-dialog__body {
  padding-top: 10px !important;
}

.plxg .absoSpan {
  position: absolute;
  top: 22px;
  left: 100px;
}

.app-add-cat .el-checkbox-group {
  font-size: 14px !important;
}

.app-add-cat .el-checkbox {
  margin-right: 0;
}

.app-add-cat .el-dialog__body {
  padding: 10px 20px !important;
}

.app-add-cat .tag-box .tag-item {
  margin-right: 5px;
}

.app-add-cat .tag-box {
  margin: 20px 0;
}

.app-add-cat .app-goods-cat-list .active {
  background: #fafafa;
}

.app-add-cat .app-goods-cat-list .cat-item {
  cursor: pointer;
  padding: 5px 10px;
}

.app-add-cat .app-goods-cat-list {
  border: 1px solid #e8eaee;
  border-radius: 5px;
  margin-top: -5px;
  padding: 10px 0;
  overflow: scroll;
  height: 400px;
}

.goodsList .vue-line-clamp {
  display: block;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.goodsList .content {
  background: #fff;
  margin-top: 10px;
  padding: 20px;
  box-sizing: border-box;
}
.goodsList .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner {
  background-color: #409eff;
  border-color: #409eff;
}
</style>

