<template>
  <div class="">
    <div v-if="isEdit == 1">
      <div>
        <div class="diy-table-1">
          <el-row>
            <el-col :span="8" class="item">
              <div class="label">销售政策编号</div>
              <div class="value">{{ detail.code }}</div>
            </el-col>
            <el-col :span="8" class="item">
              <div class="label">销售政策类型</div>
              <div class="value">
                <el-select v-model="detail.type" size="small" disabled placeholder="销售政策类型" class="select_height">
                  <el-option
                    v-for="(item, index) in typeOptions"
                    :key="index"
                    :label="item.label"
                    :value="item.value"
                  />
                </el-select>
              </div>
            </el-col>
            <el-col :span="8" class="item">
              <div class="label">状态</div>
              <div class="value">
                {{ detail.status == 1 ? '已生效' : '未生效' }}
              </div>
            </el-col>

            <el-col :span="24" class="item">
              <div class="label">销售政策名称</div>
              <div class="value">
                <el-input v-model="detail.title" disabled placeholder="请输入政策名称" />
              </div>
            </el-col>
            <el-col :span="24" class="item">
              <div class="label">表头备注</div>
              <div class="value">
                <el-input v-model="detail.remark" disabled placeholder="请输入表头备注" />
              </div>
            </el-col>

            <el-col :span="8" class="item">
              <div class="label">制单人</div>
              <div class="value">{{ detail.createBy }}</div>
            </el-col>
            <el-col :span="8" class="item">
              <div class="label">制单日期</div>
              <div class="value">
                <el-date-picker
                  v-model="detail.createTime"
                  disabled
                  type="datetime"
                  placeholder="制单日期"
                  default-time="00:00:00"
                  value-format="yyyy-MM-dd HH:mm:ss"
                />
              </div>
            </el-col>
            <el-col :span="8" class="item">
              <div class="label">生效日期</div>
              <div class="value">
                <el-date-picker
                  v-model="detail.startTime"
                  disabled
                  type="datetime"
                  placeholder="生效日期"
                  default-time="00:00:00"
                  value-format="yyyy-MM-dd HH:mm:ss"
                />
              </div>
            </el-col>
            <el-col :span="24" class="item">
              <div class="label">失效日期</div>
              <div class="value">
                <el-date-picker
                  v-model="detail.endTime"
                  disabled
                  type="datetime"
                  placeholder="生效日期"
                  default-time="00:00:00"
                  value-format="yyyy-MM-dd HH:mm:ss"
                />
              </div>
            </el-col>
          </el-row>

          <el-row v-if="detail.imgSrc" class="img-box">
            <el-col :span="24" class="item">
              <div class="label" style="height: 150px">政策封面图</div>
              <div class="value" style="height: 150px">
                <template v-for="item in detail.imgSrc">
                  <el-image
                    v-if="checkFileType(item) == 'image'"
                    ref="img"
                    :src="$imageUrl + item"
                    style="width: 120px; height: 120px; margin-right: 20px"
                    fit="cover"
                    :preview-src-list="[$imageUrl + item]"
                    class="elImageClose"
                  />
                  <img v-if="checkFileType(item) == 'word'" class="file" src="@/assets/common/word.png" />
                  <img v-if="checkFileType(item) == 'excel'" class="file" src="@/assets/common/excel.png" />
                  <img v-if="checkFileType(item) == 'ppt'" class="file" src="@/assets/common/ppt.png" />

                  <img
                    v-if="checkFileType(item) == 'pdf'"
                    class="file"
                    style="cursor: pointer"
                    src="@/assets/common/pdf.png"
                    @click="openPdf(item)"
                  />

                  <img v-if="checkFileType(item) == 'file'" class="file aaa" src="@/assets/common/zip.jpeg" />
                </template>
              </div>
            </el-col>
          </el-row>
          <el-row v-if="this.isShow == 4">
            <el-col :span="8" class="item">
              <div class="label">审核人</div>
              <div class="value">{{ detail.examineBy }}</div>
            </el-col>
            <el-col :span="16" class="item">
              <div class="label">审核日期</div>
              <div class="value">{{ detail.examineTime }}</div>
            </el-col>
            <!--            <el-col :span="8" class="item">-->
            <!--              <div class="label">关闭人</div>-->
            <!--              <div class="value"></div>-->
            <!--            </el-col>-->
            <!--            <el-col :span="24" class="item">-->
            <!--              <div class="label">关闭日期</div>-->
            <!--              <div class="value"></div>-->
            <!--            </el-col>-->
          </el-row>
          <el-row>
            <el-col :span="12" class="item">
              <div class="label">返利使用金额需满额使用</div>
              <div class="value">
                <el-checkbox v-model="detail.isFullRebate" disabled>{{
                  detail.isFullRebate ? '是' : '否'
                }}</el-checkbox>
              </div>
            </el-col>
            <el-col :span="12" class="item">
              <div class="label">商用空调政策</div>
              <div class="value">
                <el-checkbox v-model="detail.commercialType" disabled>{{
                  detail.commercialType ? '是' : '否'
                }}</el-checkbox>
              </div>
            </el-col>
          </el-row>
        </div>
        <div class="mymain-container">
          <el-row>
            <el-divider />
            <el-row type="flex">
              <el-col :span="12">
                <h4 style="display: inline-block; margin-right: 20px">货品信息</h4>
                <ExportButton
                  v-if="isShow === 4"
                  style="display: inline-block"
                  :ex-url="'policy/material/export'"
                  ex-text="导出货品"
                  :ex-params="{ policyId: detail.code }"
                />
              </el-col>
              <el-col :span="12" class="tr">
                <!-- <el-button size="small" @click="$parent.isShow = 10"
                >查看条件</el-button
              > -->
              </el-col>
            </el-row>
            <el-divider />
          </el-row>
          <el-table
            v-loading="listLoading"
            :data="dataList"
            element-loading-text="Loading"
            border
            max-height="700"
            fit
            highlight-current-row
            stripe
          >
            <el-table-column fixed type="index" label="序号" width="50" align="left" />
            <el-table-column prop="materialNumber" label="物料编码" min-width="160" show-overflow-tooltip align="left">
              <template slot-scope="scope">
                <CopyButton :copy-text="scope.row.materialNumber" />
                <span>{{ scope.row.materialNumber }}</span>
              </template>
            </el-table-column>
            <el-table-column prop="materialName" label="产品名称" min-width="160" show-overflow-tooltip align="left">
              <template slot-scope="scope">
                <CopyButton :copy-text="scope.row.materialName" />
                <span>{{ scope.row.materialName }}</span>
              </template>
            </el-table-column>
            <el-table-column prop="specification" label="规格型号" min-width="300" show-overflow-tooltip align="left">
              <template slot-scope="scope">
                <CopyButton :copy-text="scope.row.specification" />
                <span>{{ scope.row.specification }}</span>
              </template>
            </el-table-column>
            <el-table-column
              prop="saleTypeCode"
              label="销售类型编码"
              min-width="160"
              show-overflow-tooltip
              align="left"
            />
            <el-table-column prop="saleTypeName" label="销售类型" min-width="160" show-overflow-tooltip align="left" />
            <el-table-column prop="discAmount" label="格力折扣" align="right" />
            <el-table-column prop="price" label="单价" align="right" />
            <el-table-column prop="orgPrice" label="原供价" align="right" min-width="150">
              <template slot-scope="scope">
                {{ scope.row.orgPrice }}
              </template>
            </el-table-column>
            <el-table-column prop="priceType" label="价格类型" align="left" min-width="150">
              <template slot-scope="scope">
                {{ scope.row.priceType }}
              </template>
            </el-table-column>
            <el-table-column label="返利钱包" align="left" min-width="200" show-overflow-tooltip>
              <template slot-scope="scope">
                <template v-for="item in scope.row.walletRelaList">
                  <el-tag v-if="item.type === 'REBATE'" style="margin: 5px" type="success" size="small">{{
                    item.walletName
                  }}</el-tag>
                </template>
              </template>
            </el-table-column>
            <el-table-column label="现金钱包" align="left" min-width="200" show-overflow-tooltip>
              <template slot-scope="scope">
                <template v-for="item in scope.row.walletRelaList">
                  <el-tag v-if="item.type === 'COMMONLY'" style="margin: 5px" type="success" size="small">{{
                    item.walletName
                  }}</el-tag>
                </template>
              </template>
            </el-table-column>
            <el-table-column prop="status" label="状态" align="left" show-overflow-tooltip min-width="150">
              <template slot-scope="scope">
                {{ scope.row.status ? '启用' : '作废' }}
              </template>
            </el-table-column>
          </el-table>
          <!-- 分页 -->
          <div style="margin: 20px 0">
            <el-pagination
              :current-page="dcurrentPage"
              :page-sizes="[10, 20, 30, 50]"
              :page-size="10"
              layout="total, sizes, prev, pager, next, jumper"
              :total="dlistTotal"
              @size-change="handleSizeChange2"
              @current-change="handleCurrentChange2"
            />
          </div>
          <el-row>
            <el-divider />
            <el-row type="flex">
              <el-col :span="12">
                <h4 style="display: inline-block; margin-right: 20px">条件信息</h4>
              </el-col>
            </el-row>
            <el-divider />
          </el-row>
          <el-table :data="conditionList" element-loading-text="Loading" border fit highlight-current-row stripe>
            <el-table-column fixed type="index" label="序号" width="50" align="left" />
            <el-table-column prop="name" label="限定条件" align="left">
              <template slot-scope="scope">
                {{ scope.row.name }}
              </template>
            </el-table-column>
            <el-table-column label="操作" align="left" width="150">
              <template slot-scope="scope">
                <el-button type="text" size="small" @click="getCommonApi(scope.row)">查看条件</el-button>
              </template>
            </el-table-column>
          </el-table>
          <el-row>
            <el-divider />
            <el-row type="flex">
              <el-col :span="12">
                <h4 style="display: inline-block; margin-right: 20px">经销商使用范围</h4>
                <template v-if="detail.flag == 0">
                  <ExportButton
                    v-if="isShow === 4"
                    style="display: inline-block"
                    :ex-url="'policy/customer/export'"
                    ex-text="导出经销商"
                    :ex-params="{ policyId: detail.code }"
                  />
                </template>
              </el-col>
            </el-row>
            <el-divider />
          </el-row>
          <div style="margin-bottom: 20px">
            <el-radio-group v-model="detail.flag">
              <el-radio :label="0" :disabled="detail.flag != 0">指定经销商</el-radio>
              <el-radio :label="1" :disabled="detail.flag != 1">广州经销商</el-radio>
              <el-radio :label="2" :disabled="detail.flag != 2">佛山经销商</el-radio>
            </el-radio-group>
          </div>

          <template v-if="isShow != 5">
            <template v-if="detail.flag == 0">
              <el-table
                v-loading="listLoading"
                :data="custoList"
                element-loading-text="Loading"
                border
                fit
                highlight-current-row
                stripe
              >
                <el-table-column fixed type="index" label="序号" width="50" align="left" />
                <el-table-column prop="customerNumber" label="经销商编码" align="left">
                  <template slot-scope="scope">
                    <CopyButton :copy-text="scope.row.customerNumber" />
                    <span>{{ scope.row.customerNumber }}</span>
                  </template></el-table-column
                >
                <el-table-column prop="customerName" label="经销商名称" align="left">
                  <template slot-scope="scope">
                    <CopyButton :copy-text="scope.row.customerName" />
                    <span>{{ scope.row.customerName }}</span>
                  </template>
                </el-table-column>
              </el-table>
              <!-- 分页 -->
              <div style="margin: 20px 0">
                <el-pagination
                  :current-page="currentPages"
                  :page-sizes="[10, 20, 30, 50]"
                  :page-size="10"
                  layout="total, sizes, prev, pager, next, jumper"
                  :total="clistTotals"
                  @size-change="handleSizeChanges"
                  @current-change="handleCurrentChanges"
                />
              </div>
            </template>
          </template>
          <template v-else>
            <el-row :gutter="20">
              <el-col :span="10" :offset="0">
                <h5>未选经销商</h5>
                <el-divider direction="horizontal" content-position="left" />

                <el-table
                  ref="multipleTable"
                  :data="dataL"
                  element-loading-text="Loading"
                  border
                  height="480px"
                  fit
                  highlight-current-row
                  @select-all="handleSelectionAllChange"
                  @selection-change="handleSelectionChange"
                >
                  <el-table-column type="selection" width="55" :selectable="selectable" align="left" />
                  <el-table-column prop="number" label="经销商编码" align="left">
                    <template slot-scope="scope">
                      <CopyButton :copy-text="scope.row.number" />
                      <span>{{ scope.row.number }}</span>
                    </template>
                  </el-table-column>
                  <el-table-column prop="name" label="经销商名称" align="left">
                    <template slot-scope="scope">
                      <CopyButton :copy-text="scope.row.name" />
                      <span>{{ scope.row.name }}</span>
                    </template>
                  </el-table-column>
                </el-table>
                <!-- 分页 -->
                <div style="margin: 20px 0">
                  <el-pagination
                    :current-page="currentPages"
                    :page-sizes="[10, 20, 30, 50]"
                    :page-size="10"
                    layout="total, sizes, prev, pager, next, jumper"
                    :total="clistTotal"
                    @size-change="handleSizeChanges"
                    @current-change="handleCurrentChanges"
                  />
                </div>
              </el-col>
              <el-col :span="4" class="middle_box" :offset="0">
                <el-col>
                  <el-button size="small" :disabled="type == 2" @click="handleAllAdd">全部添加</el-button></el-col
                >
                <el-col> <el-button size="small" :disabled="type == 2" @click="handleAdd">增加</el-button></el-col>
                <el-col> <el-button size="small" :disabled="type == 1" @click="handleDelete">删除</el-button></el-col>
                <el-col>
                  <el-button size="small" :disabled="type == 1" @click="handleAllDelete">全部删除</el-button></el-col
                >
              </el-col>
              <el-col :span="10" :offset="0">
                <h5>已选经销商</h5>
                <el-divider direction="horizontal" content-position="left" />

                <el-table
                  v-loading="listLoading"
                  :data="custoList"
                  element-loading-text="Loading"
                  border
                  height="480px"
                  fit
                  highlight-current-row
                  stripe
                  @select-all="handleSelectionAllChange2"
                  @selection-change="handleSelectionChange2"
                >
                  <el-table-column type="selection" width="55" align="left" />
                  <el-table-column prop="customerNumber" label="经销商编码" align="left">
                    <template slot-scope="scope">
                      <CopyButton :copy-text="scope.row.customerNumber" />
                      <span>{{ scope.row.customerNumber }}</span>
                    </template>
                  </el-table-column>
                  <el-table-column prop="customerName" label="经销商名称" align="left">
                    <template slot-scope="scope">
                      <CopyButton :copy-text="scope.row.customerName" />
                      <span>{{ scope.row.customerName }}</span>
                    </template>
                  </el-table-column>
                </el-table>
                <!-- 分页 -->
                <!-- <div style="margin: 20px 0">
                  <el-pagination
                    @size-change="handleSizeChanges"
                    @current-change="handleCurrentChanges"
                    :current-page="currentPages"
                    :page-sizes="[10, 20, 30, 50]"
                    :page-size="10"
                    layout="total, sizes, prev, pager, next, jumper"
                    :total="clistTotals"
                  >
                  </el-pagination>
                </div> -->
              </el-col>
            </el-row>
          </template>
          <div>
            <h4 style="display: inline-block; margin-right: 20px">经销商上限</h4>
            <el-divider />
          </div>
          <div>
            <div class="table">
              <el-table
                v-loading="clistLoading"
                :data="list"
                element-loading-text="Loading"
                border
                fit
                highlight-current-row
                stripe
                @select-all="handleSelectionAllChange2"
                @selection-change="handleSelectionChange2"
              >
                <!-- <el-table-column type="selection" width="55" align="left" /> -->
                <el-table-column
                  prop="customerNumber"
                  label="经销商编号
"
                  align="left"
                >
                  <template slot-scope="scope">
                    <CopyButton :copy-text="scope.row.customerNumber" />
                    <span>{{ scope.row.customerNumber }}</span>
                  </template>
                </el-table-column>
                <el-table-column prop="customerName" label="经销商名称" align="left">
                  <template slot-scope="scope">
                    <CopyButton :copy-text="scope.row.customerName" />
                    <span>{{ scope.row.customerName }}</span>
                  </template>
                </el-table-column>
                <el-table-column
                  prop="materialName"
                  label="物料名称

"
                  align="left"
                >
                  <template slot-scope="scope">
                    <CopyButton :copy-text="scope.row.materialName" />
                    <span>{{ scope.row.materialName }}</span>
                  </template>
                </el-table-column>
                <el-table-column
                  prop="materialNumber"
                  label="物料编号
"
                  align="left"
                >
                  <template slot-scope="scope">
                    <CopyButton :copy-text="scope.row.materialNumber" />
                    <span>{{ scope.row.materialNumber }}</span>
                  </template>
                </el-table-column>
                <el-table-column
                  prop="examineOrderNums"
                  label="已审订单数
"
                  align="left"
                >
                  <template slot-scope="scope">
                    {{ scope.row.examineOrderNums | numToFixed }}
                  </template>
                </el-table-column>
                <el-table-column
                  prop="limitQty"
                  label="购买量上限

"
                  align="left"
                >
                  <template slot-scope="scope">
                    {{ scope.row.limitQty | numToFixed }}
                  </template>
                </el-table-column>
              </el-table>
            </div>
            <!-- 分页 -->
            <div style="margin: 20px 0">
              <el-pagination
                :current-page="policyList.currentPages"
                :page-sizes="[10, 20, 30, 50]"
                :page-size="10"
                layout="total, sizes, prev, pager, next, jumper"
                :total="cTotal"
                @size-change="handleSizeChanges4"
                @current-change="handleCurrentChanges4"
              />
            </div>
          </div>
          <div v-if="isShow == 5 && detail.examineStatus == 'WAIT'" class="descriptions diy-table-1">
            <el-row>
              <el-col :span="6">审核人</el-col>
              <el-col :span="6">{{ $store.getters.name }}</el-col>
              <el-col :span="6">审核结果</el-col>
              <el-col :span="6">
                <template>
                  <el-radio-group v-model="examineStatus">
                    <el-radio :label="'OK'">通过</el-radio>
                    <el-radio :label="'FAIL'">驳回</el-radio>
                  </el-radio-group>
                </template>
              </el-col>
            </el-row>
            <el-row class="item">
              <el-col :span="4">审批说明</el-col>
              <el-col :span="20" class="col value" style="padding-left: 10px">
                <el-input v-model="remark" size="small" placeholder="请输入内容" />
              </el-col>
            </el-row>
            <el-row>
              <el-button type="primary" size="small" @click="handleSubmit">审核</el-button>
            </el-row>
          </div>
        </div>
      </div>
    </div>
    <AddCondition v-else :id="cid" @close="handleConditionClose" @back="handleBack" :isEdit="isEdit" />
  </div>
</template>

<script>
import {
  deleteCondition,
  deleteMaterialPolicy,
  getConditionList,
  getCrList,
  getCustomerList,
  getMaterialList,
  getPolicyDetail,
  toExamine,
  updatePolicy,
  getPolicyList
} from '@/api/policy_list'
import AddCondition from './AddCondition'
import ImageUpload from '@/components/Common/image-upload.vue'

import { handleImport } from '@/utils/util'

import Minxin from '@/mixin'

export default {
  name: 'Examine',
  props: {
    id: {
      type: String,
      default: ''
    },
    isShow: {
      type: Number
    }
  },
  components: {
    AddCondition,
    ImageUpload
  },
  mixins: [Minxin],
  data() {
    return {
      baseURL: '',
      dcurrentPage: 1,
      dpageSize: 10,
      dlistTotal: 0,
      currentPages: 1, // 当前页码
      pageSizes: 10, // 每页数量
      clistTotal: 0,
      input: '',
      remark: '',
      fileList: [],
      listLoading: false,
      imageUrl: '',
      dataList: [],
      examineStatus: 'OK',
      options: {},
      value: '',
      detail: {},
      srcList: [],
      screenForm: {
        code: '',
        createBy: '',
        endCreateTime: '',
        endTime1: '',
        endTime2: '',
        examineBy: '',
        remark: '',
        startCreateTime: '',
        startTime1: '',
        startTime2: '',
        status: '',
        title: '',
        type: ''
      },
      conditionList: [],
      custoList: [],
      isEdit: 1,
      cid: '',
      cpolicyId: '',
      dataL: [],
      clistTotal: 0,
      clistTotals: 0,
      type: 1,
      fileList: [],
      importFileList: [],
      leftData: [],
      rightData: [],
      typeOptions: [
        {
          value: 'PROVISION',
          label: '配提'
        },
        {
          value: 'LIMIT',
          label: '限量'
        }
      ],
      detailFang: false,

      policyList: {
        pageNum: 1,
        pageSize: 10,
        policyId: '',
        keyword: '',
        currentPages: 1
      },
      list: [],
      cTotal: 1,
      clistLoading: false
    }
  },
  computed: {
    comTitle() {
      let title = '详情页'
      if (this.isShow == 5) {
        title = '编辑页'
      } else if (this.isShow == 8 && !this.detailFang) {
        title = '审核页'
      } else {
        title = '详情页'
      }
      return title
    }
  },
  created() {},
  methods: {
    handleConditionClose() {
      this.isEdit = 1
    },

    getList() {
      this.listLoading = true
      getPolicyDetail({ policyId: this.id }).then(res => {
        this.detail = res.data
        this.detail.imgSrc = this.detail.imgSrc.split(',')
        this.detail.imgSrc.forEach(k => {
          this.srcList.push(this.$imageUrl + k)
        })
        if (this.isShow == 5 && this.detail.imgSrc) {
          this.fileList = [
            {
              hover: '',
              url: this.detail.imgSrc
            }
          ]
        }
        this.handletwoList()
        // 获取条件政策
        this.getConditionList()
        this.getCond()
        this.getPolicyList()
      })
    },
    getPolicyList() {
      this.clistLoading = true
      getPolicyList({
        pageNum: this.policyList.currentPages,
        pageSize: this.policyList.pageSize,
        policyId: this.id,
        keyword: this.policyList.keyword
      }).then(res => {
        this.list = res.data.records
        this.cTotal = res.data.total
        this.clistLoading = false
      })
    },
    // 更改每页数量
    handleSizeChanges4(val) {
      this.policyList.pageSizes = val
      this.policyList.currentPages = 1
      this.getPolicyList()
    },
    // 更改当前页
    handleCurrentChanges4(val) {
      this.policyList.currentPages = val
      this.getPolicyList()
    },
    getCrList() {
      const customerParams = {
        pageNum: this.currentPage,
        pageSize: this.pageSize,
        keyword: this.region == 1 || this.region == '' ? '' : this.keyword,
        region: this.region == 1 ? this.keyword : ''
      }
      // 获取经销商列表
      getCrList(customerParams).then(res => {
        for (let j = 0; j < this.custoList.length; j++) {
          for (let i = 0; i < res.data.records.length; i++) {
            if (res.data.records[i].id == this.custoList[j].customerId) {
              res.data.records[i].disabled = true
            }
          }
        }
        this.dataL = res.data.records
        for (let k = 0; k < this.dataL.length; k++) {
          ;(this.dataL[k].customerId = this.dataL[k].id),
            (this.dataL[k].customerName = this.dataL[k].name),
            (this.dataL[k].customerNumber = this.dataL[k].number)
        }

        console.log(this.dataL, '获取经销商列表')
        this.clistTotal = res.data.total
      })
    },
    // 更改每页数量
    handleSizeChanges(val) {
      this.pageSizes = val
      this.currentPages = 1
      this.getCond()
    },
    handleBack() {
      this.isEdit = 1
    },
    // 检查文件类型
    checkFileType(url) {
      if (!url) return ''
      const fileSuffix = url.substring(url.lastIndexOf('.') + 1)

      if (['jpg', 'jpeg', 'png'].includes(fileSuffix)) {
        return 'image'
      } else if (['doc', 'docx', 'dot', 'wps', 'wpt'].includes(fileSuffix)) {
        return 'word'
      } else if (['xls', 'xlsx', 'xlt', 'et', 'ett'].includes(fileSuffix)) {
        return 'excel'
      } else if (['ppt', 'pptx', 'dps', 'dpt', 'pot', 'pps'].includes(fileSuffix)) {
        return 'ppt'
      } else if (['pdf'].includes(fileSuffix)) {
        return 'pdf'
      } else if (['zip', 'rar', 'gz', 'apk'].includes(fileSuffix)) {
        return 'file'
      } else {
        return ''
      }
    },
    openPdf(pdfUrl) {
      window.open(this.$imageUrl + pdfUrl)
    },
    // 更改当前页
    handleCurrentChanges(val) {
      this.currentPages = val
      this.getCond()
    },
    // 更改每页数量
    handleSizeChange2(val) {
      this.dpageSize = val
      this.dcurrentPage = 1
      this.handletwoList()
    },
    // 更改当前页
    handleCurrentChange2(val) {
      this.dcurrentPage = val
      this.handletwoList()
    },
    getCommonApi(row) {
      this.isEdit = 2
      this.cid = row.id
      this.cpolicyId = row.policyId
    },
    getCond() {
      this.listLoading = true
      const custoParams = {
        pageNum: this.currentPages,
        pageSize: this.pageSizes,
        policyId: this.detail.code
      }
      getCustomerList(custoParams).then(res => {
        this.custoList = res.data.records
        this.clistTotals = res.data.total
        this.listLoading = false
        this.getCrList()
      })
    },
    handleSubmit() {
      toExamine({
        examineStatus: this.examineStatus,
        policyId: this.id,
        examineRemark: this.remark
      }).then(res => {
        this.$successMsg('已提交审核')
        this.$emit('close')
      })
    },
    // 获取货品信息
    handletwoList() {
      // this.searchForm.type
      const paramss = {
        pageNum: this.dcurrentPage,
        pageSize: this.dpageSize,
        policyId: this.detail.code,
        saleTypeCode: ''
      }
      getMaterialList(paramss)
        .then(result => {
          this.dataList = result.data.records
          this.dlistTotal = result.data.total
          this.listLoading = false
        })
        .catch(err => {
          console.error(err)
        })
    },
    // 导入
    async handleImport(param) {
      this.importLoading = true
      const file = param.file
      console.log(file, 123)
      const formData = new FormData()
      formData.append('file', file)
      formData.append('policyId', this.detail.code)
      // formData.append("mainId", this.detail.mainId);
      const result = await handleImport('/policy/material/import', formData)
      this.importLoading = false
      this.importFileList = []
      if (result.code == 200) {
        this.$alert(result.message, '导入成功', {
          confirmButtonText: '确定'
        })

        this.handletwoList()
      } else {
        this.$alert(result.message, '导入失败', {
          confirmButtonText: '确定'
        })
      }
    },
    handleCondition(id, index) {
      deleteCondition({ id }).then(res => {
        // this.conditionList.splice(index, 1);
        // Object.assign(
        //   this.$children[9].$data,
        //   this.$children[9].$options.data()
        // );
        this.getConditionList()
        this.$successMsg('删除成功')
      })
    },
    getConditionList() {
      const condParams = {
        policyId: this.detail.code
      }
      getConditionList(condParams).then(res => {
        this.conditionList = res.data
      })
    },
    // 删除
    hanleDelete(id) {
      const params = { policyMaterialId: id }
      deleteMaterialPolicy(params).then(res => {
        this.$successMsg('删除成功')
        this.handletwoList()
      })
    },
    /**
     * 根据条件禁用行复选框
     * 函数返回值为false则禁用选择(反之亦然)
     * @param {Object} row - 行数据
     * @param {String} index - 索引值
     * @return Boolean
     */
    selectable: function (row, index) {
      // row.disabled == undefined 才能被选中
      if (row.disabled == undefined || row.disabled == false) {
        return true
      } else {
        return false
      }
      // 函数必须有返回值且是布尔值
      // 页面刷新后该函数会执行 N 次进行判断(N 为表格行数)
      // 如果没有返回值则默认返回false(全部无法选中)
    },
    handleSelectionAllChange(e) {
      this.leftData = e
      this.type = 1
    },
    handleSelectionChange(e) {
      this.leftData = e
      this.type = 1
    },
    handleSelectionAllChange2(e) {
      this.rightData = e
      this.type = 2
    },
    handleSelectionChange2(e) {
      this.rightData = e
      this.type = 2
    },
    handleLeft(e) {
      this.type = 1
    },
    handleRight(e) {
      this.type = 2
    },
    handleAllAdd() {
      if (this.type == 1 && this.leftData.length) {
        for (let i = 0; i < this.dataL.length; i++) {
          for (let j = 0; j < this.leftData.length; j++) {
            if (this.dataL[i].id == this.leftData[j].id) {
              this.dataL[i].disabled = true
            }
          }
        }
        this.custoList = [...this.custoList, ...this.leftData]
        this.$refs.multipleTable.clearSelection()
      } else {
        this.$errorMsg('请选择要添加的经销商')
      }
    },
    handleAllDelete() {
      if (this.type == 2 && this.rightData.length) {
        for (let i = 0; i < this.dataL.length; i++) {
          for (let j = 0; j < this.rightData.length; j++) {
            if (this.dataL[i].id == this.rightData[j].customerId) {
              this.$set(this.dataL[i], 'disabled', false)
            }
          }
        }
        const arr = this.resArr(this.custoList, this.rightData)
        this.custoList = arr
      } else {
        this.$errorMsg('请选择要删除的经销商')
      }
    },
    handleAdd() {
      if (this.type == 1 && this.leftData.length) {
        for (let i = 0; i < this.dataL.length; i++) {
          for (let j = 0; j < this.leftData.length; j++) {
            if (this.dataL[i].id == this.leftData[j].id) {
              this.dataL[i].disabled = true
            }
          }
        }
        this.custoList = [...this.custoList, ...this.leftData]
        this.leftData = []
        this.$refs.multipleTable.clearSelection()
      } else {
        this.$errorMsg('请选择要添加的经销商')
      }
    },
    handleDelete() {
      if (this.type == 2 && this.rightData.length) {
        for (let i = 0; i < this.dataL.length; i++) {
          for (let j = 0; j < this.rightData.length; j++) {
            if (this.dataL[i].id == this.rightData[j].customerId) {
              this.$set(this.dataL[i], 'disabled', false)
            }
          }
        }
        const arr = this.resArr(this.custoList, this.rightData)
        this.custoList = arr
      } else {
        this.$errorMsg('请选择要删除的经销商')
      }
    },
    // 去掉相同数据
    resArr(arr1, arr2) {
      return arr1.filter(v => arr2.every(val => val.id != v.id))
    },
    async handleSave() {
      if (this.custoList.length) {
        var arr = []
        this.custoList.forEach(el => {
          arr.push({
            customerId: el.customerId,
            customerName: el.customerName,
            customerNumber: el.customerNumber,
            lastOrderTime: '',
            limitTakeNum: 0,
            policyId: this.detail.code,
            policyTitle: '',
            remark: ''
          })
        })

        const params = {
          ...this.detail,
          policyCustomers: arr,
          imgSrc: this.fileList.length ? this.fileList[0].url : ''
        }
        await updatePolicy(params)
        await this.getCond()
        this.$successMsg('编辑成功')
        this.fileList = []
        this.isShow = 1
      }
    }
  }
}
</script>

<style lang="scss" scoped>
::v-deep .elImageClose .el-image-viewer__wrapper span[class='el-image-viewer__btn el-image-viewer__close'] {
  top: 100px;
}
.el-col {
  overflow: hidden;
}
.value {
  ::v-deep .el-input__prefix {
    display: none;
  }
}
.descriptions {
  // border: #EBEEF5;
  border: 1px solid #ebeef5;
  border-bottom: none;
  .el-row {
    height: 40px;
    line-height: 40px;
  }
  .el-col:nth-child(odd) {
    background-color: #ebeef5;
  }
  .el-col {
    padding: 0 15px;
    height: 100%;
    border-bottom: 1px solid #ebeef5;
  }
}
.el-divider--horizontal {
  margin: 20px 0;
}
.col {
  height: 100px;
}

.import-btn {
  margin-right: 10px;
  display: inline-block;
}
::v-deep .el-input__icon .el-icon-time {
  display: none;
}
.middle_box {
  margin-top: 80px;
  text-align: center;
  height: 430px;
  display: flex;
  flex-direction: column;
  align-content: center;
  justify-content: space-between;
  align-items: center;
}
.img-box {
  height: 150px;
  display: flex;
  align-items: center;
}
</style>
