<template>
  <div class="bgcolor VisitSummaryAdd">
    <!--        顶部条-->

    <!--        顶部条-->
    <div class="navBarTOP">
      <van-nav-bar class="navBar" left-arrow :title="title" @click-left="onClickLeft" />
    </div>
    <!--        主体内容-->
    <div class="lineGrey"></div>
    <div class="lineGrey"></div>
    <div class="lineGrey"></div>
    <div class="lineGrey"></div>
    <div class="lineGrey"></div>
    <div class="lineGrey" style="height: 6px"></div>
    <div class="container" style="width: 94%; margin: 0px auto; border-radius: 6px">
      <van-form ref="tabstoreVal">
        <div v-for="(item, index) in collectionItemList" :key="index">
          <div v-if="item.answerType == 'sz'" class="formLabel z-cell">
            <van-cell>
              <template #title>
                <span v-if="item.isMust == 0" class="van-f-red">*</span>{{ item.customName }}
              </template>
            </van-cell>
            <van-field
              v-model="item.answerValue"
              :placeholder="item.customName"
              type="number"
              @input="numberFn(item, index)"></van-field>
            <p style="color: #444; font-size: 12px; margin: 0; padding: 10px 0; text-align: right">
              {{ item.remark }}
            </p>
          </div>
          <div v-if="item.answerType == 'rq'" class="formLabel z-cell">
            <van-cell>
              <template #title>
                <span v-if="item.isMust == 0" class="van-f-red">*</span>{{ item.customName }}
              </template>
            </van-cell>
            <van-field
              v-model="item.answerValue"
              clickable
              name="calendar"
              placeholder="点击选择日期"
              readonly
              @click="showCalendarClick(index)" />
            <p style="color: #444; font-size: 12px; margin: 0; padding: 10px 0; text-align: right">
              {{ item.remark }}
            </p>
          </div>
          <div v-if="item.answerType == 'zp'" class="formLabel z-cell">
            <van-cell>
              <template #title>
                <span v-if="item.isMust == 0" class="van-f-red">*</span>{{ item.customName }}
              </template>
            </van-cell>
            <van-row gutter="10" style="margin-bottom: 10px">
              <p style="margin-top: 0">
                <span style="font-size: 12px; color: #888">{{ item.remark }}</span>
              </p>
              <delete-upload-img :imgs="item.fileInfoList" :isDelete="false"></delete-upload-img>
              <upload-img
                :uploadid="uploadid2"
                @newimgarr="newimgarr1"
                imgText="上传照片"
                :indexImg="index"
                :customId="item.customId"
                :summaryId="item.summaryId"
                :item="item"
                @click="imgClick(item, index)"></upload-img>
            </van-row>
          </div>
          <div v-if="item.answerType == 'wb'" class="formLabel z-cell">
            <van-cell>
              <template #title>
                <span v-if="item.isMust == 0" class="van-f-red">*</span>{{ item.customName }}
              </template>
            </van-cell>
            <van-field
              v-model="item.answerValue"
              :formatter="formatter"
              autosize
              type="textarea"
              :placeholder="item.customName"></van-field>
            <p style="color: #444; font-size: 12px; margin: 0; padding: 10px 0; text-align: right">
              {{ item.remark }}
            </p>
          </div>
          <div v-if="item.answerType == 'gs'" class="formLabel z-cell" @click="regionClick(index)">
            <van-cell>
              <template #title>
                <span v-if="item.isMust == 0" class="van-f-red">*</span>{{ item.customName }}
              </template>
            </van-cell>
            <van-field
              readonly
              v-model="item.answerName"
              :formatter="formatter"
              :placeholder="item.customName"></van-field>
            <p style="color: #444; font-size: 12px; margin: 0; padding: 10px 0; text-align: right">
              {{ item.remark }}
            </p>
          </div>
          <div
            v-if="item.answerType == 'dq'"
            class="formLabel z-cell"
            @click="SalesRegionClick(index)">
            <van-cell>
              <template #title>
                <span v-if="item.isMust == 0" class="van-f-red">*</span>{{ item.customName }}
              </template>
            </van-cell>
            <van-field
              readonly
              v-model="item.answerName"
              :formatter="formatter"
              :placeholder="item.customName"></van-field>
            <p style="color: #444; font-size: 12px; margin: 0; padding: 10px 0; text-align: right">
              {{ item.remark }}
            </p>
          </div>
          <div
            v-if="item.answerType == 'xsb'"
            class="formLabel z-cell"
            @click="SalesDepartmentClick(index)">
            <van-cell>
              <template #title>
                <span v-if="item.isMust == 0" class="van-f-red">*</span>{{ item.customName }}
              </template>
            </van-cell>
            <van-field
              readonly
              v-model="item.answerName"
              :formatter="formatter"
              :placeholder="item.customName"></van-field>
            <p style="color: #444; font-size: 12px; margin: 0; padding: 10px 0; text-align: right">
              {{ item.remark }}
            </p>
          </div>
          <div v-if="item.answerType == 'duox'" class="formLabel z-cell">
            <van-cell>
              <template #title>
                <span v-if="item.isMust == 0" class="van-f-red">*</span>{{ item.customName }}
              </template>
            </van-cell>
            <z-checkbox
              :answerType="item.answerType"
              :checkboxval="item.answerValue"
              :collectionType="item.customOptionList"
              :textc="item.customId"
              :zCheckboxcolumns="item.customOptionList"
              @zSelectVal="zSelectVal"></z-checkbox>
          </div>
          <div v-if="item.answerType == 'dx'" class="formLabel z-cell">
            <van-cell>
              <template #title>
                <span v-if="item.isMust == 0" class="van-f-red">*</span>{{ item.customName }}
              </template>
            </van-cell>
            <z-radio
              :answerType="item.answerType"
              :collectionType="item.collectionType"
              :radio="item.answerValue"
              :textc="item.customId"
              :zRadiocolumns="item.customOptionList"
              @zSelectVal="zSelectVal"></z-radio>
          </div>
          <div v-if="item.answerType == 'jxs'" class="formLabel z-cell">
            <van-cell>
              <template #title>
                <span v-if="item.isMust == 0" class="van-f-red">*</span>{{ item.customName }}
              </template>
            </van-cell>
            <div class="jxsBox">
              <div class="jxsContent">
                <div class="item" v-for="(val, index) in item.chainList">
                  <el-popover
                    placement="bottom"
                    trigger="click"
                    :content="val.chainName + '(' + val.chainCode + ')'">
                    <template slot="reference">
                      <div class="selectItem">{{ val.chainName }} &nbsp; ({{ val.chainCode }})</div>
                      <van-icon name="clear" size="16" @click="closeJXS(item, index)" />
                    </template>
                  </el-popover>
                </div>
              </div>
              <div class="addJXS"><van-icon name="add-o" size="24" @click="addJXS" /></div>
              <div class="tips">{{ item.remark }}</div>
            </div>
          </div>
          <br />
        </div>
      </van-form>
    </div>
    <br />
    <div class="tc" style="padding: 0 16px">
      <van-button class="submitBtn" block type="primary" @click="onStorage"> 暂存 </van-button>
      <van-button class="submitBtn" block type="info" color="#0057ba" @click="onSubmit">
        提交汇报
      </van-button>
    </div>
    <br />
    <van-calendar
      v-model="showCalendar"
      @confirm="onConfirm"
      color="#0057ba"
      :min-date="minDate"
      :max-date="maxDate"
      :show-confirm="false" />
    <van-popup v-model="RegionShow" capture position="bottom">
      <van-picker
        :columns="companyList"
        show-toolbar
        value-key="deptName"
        @cancel="RegionShow = false"
        @confirm="onregionConfirm" />
    </van-popup>
    <van-popup v-model="SalesRegionShow" capture position="bottom">
      <van-picker
        :columns="regionList"
        show-toolbar
        value-key="deptName"
        @cancel="SalesRegionShow = false"
        @confirm="onSalesRegionConfirm" />
    </van-popup>
    <van-popup v-model="SalesDepartmentShow" capture position="bottom">
      <van-picker
        :columns="deptList"
        show-toolbar
        value-key="deptName"
        @cancel="SalesDepartmentShow = false"
        @confirm="onSalesDepartmentConfirm" />
    </van-popup>
    <van-popup v-model="StartTimeShow" capture position="bottom">
      <van-datetime-picker
        v-model="strtcurrentDate"
        :max-date="strtmaxDate"
        :min-date="strtminDate"
        title="选择查找开始时间"
        type="date"
        @cancel="StartTimeShow = false"
        @confirm="onStartTimeConfirm" />
    </van-popup>
    <van-popup v-model="EndTimeShow" capture position="bottom">
      <van-datetime-picker
        v-model="endcurrentDate"
        :max-date="endmaxDate"
        :min-date="endminDate"
        title="选择查找结束时间"
        type="date"
        @cancel="EndTimeShow = false"
        @confirm="onEndTimeConfirm" />
    </van-popup>
    <!-- 经销商 -->
    <van-popup v-model="moreTypeShow" position="bottom">
      <van-row style="background-color: #f5f5f5">
        <van-col span="20">
          <van-field
            left-icon="search"
            style="margin-top: 2px; border-radius: 6px; overflow: hidden"
            v-model="agentValue"
            label=""
            placeholder="请输入关键词"
            clearable />
        </van-col>
        <van-col
          span="4"
          style="text-align: center; line-height: 48px"
          @click="getChainsList(agentValue)">
          <div style="background-color: #0057ba; color: #fff">搜索</div>
        </van-col>
      </van-row>
      <van-picker
        show-toolbar
        :columns="chainsData"
        value-key="chainName"
        @confirm="onConfirmChainsList"
        @cancel="moreTypeShow = false" />
    </van-popup>
  </div>
</template>

<script>
import timeico from '@/assets/Icon/datatims.png';
import {
  insertCustomAnswer,
  getSummaryDetailById,
  getDeptInfo,
  getSummaryMobileDeptInfo,
  getDeptsByUser,
  chainsList,
  temporarilyCustomAnswer,
} from '@/api/index';
import zRadio from '@/components/zRadio2';
import zCheckbox from '@/components/zCheckbox2';
// import uploadImg from "@/components/uo";
import uploadImg from '@/components/uploadVTask';
import deleteUploadImg from '@/components/deleteUploadImg2';

export default {
  name: 'MyHistoricalWeekly',
  components: { zRadio, zCheckbox, uploadImg, deleteUploadImg },
  data() {
    return {
      timeico: timeico,
      RegionShow: false,
      SalesRegionShow: false,
      SalesDepartmentShow: false,
      StaffShow: false,
      StartTimeShow: false,
      dateIndex: '',
      EndTimeShow: false,
      uploadid2: 'uploadid2',
      PhotoTypeList: [{ text: '009', value: '09' }],
      strtminDate: new Date(2022, 0, 1),
      endminDate: new Date(2022, 0, 1),
      minDate: new Date(2020, 0, 1),
      maxDate: new Date(2090, 0, 31),
      strtmaxDate: new Date(),
      endmaxDate: new Date(),
      strtcurrentDate: new Date(),
      endcurrentDate: new Date(),
      companyName: '全部公司',
      deptName: '全部销售部',
      regionName: '全部大区',
      userName: '全部',
      companyCode: '',
      deptCode: '',
      regionCode: '',
      userCode: '',
      companyList: [],
      title: '',
      deptList: [],
      regionList: [],
      userList: [],
      deptForm: { type: '', parentId: '' },
      list: [],
      loading: false,
      finished: true,
      showCalendar: false,
      formData: {
        type: '2', // 汇报类型或入口 1-下属业务员日报 2-下属销售部主管周报 3-下属大区主管半月报
        companyId: '', // 公司id，必传 Long类型
        regionId: '', // 大区id，必传  Long类型
        deptId: '', // 部门id，如果为周报或日报为必传  Long类型
        userId: '', // 业务员id，如果为日报为必传      Long类型
        startTime: '', // 开始时间，必传  格式：yyyy-MM-dd  String类型
        endTime: '', // 结束时间，必传  格式：yyyy-MM-dd  String类型
        pageNum: 1, // 当前页码  int类型
        pageSize: 10, // 当前每页条数  int类型
      },
      tableList: [],
      collectionItemList: [],
      collectionAnswerlisd: [],
      flagclick: true,
      index: '',
      activaFlag: true,
      moreTypeShow: false,
      agentValue: '',
      chainsData: [],
      chainName: '',
      chainCode: '',
      jxsList: [],
    };
  },
  created() {
    this.activaFlag = true;
    // this.formData.startTime = this.GetPreMonthDay(this.parseTime(new Date(), '{y}-{m}-{d}'),2)
    this.formData.startTime = this.getThreeDaysAgo();
    // this.strtcurrentDate=new Date(this.GetPreMonthDay(this.parseTime(new Date(), '{y}-{m}-{d}'),2))
    this.strtcurrentDate = new Date(this.getThreeDaysAgo());
    this.formData.endTime = this.parseTime(new Date(), '{y}-{m}-{d}') + '';
    this.endminDate = new Date(this.GetPreMonthDay(this.parseTime(new Date(), '{y}-{m}-{d}'), 2));
    this.powerGrade = localStorage.getItem('powerGrade');
    this.title = this.$route.query.title;
    this.getReportInfo();
    this.regionCode = '';
  },
  watch: {
    $route(to, from) {
      if (to.path == '/VisitSummaryAdd') {
        this.title = this.$route.query.title;
        this.getReportInfo();
        this.regionCode = '';
      }
    },
  },
  methods: {
    showCalendarClick(val) {
      this.dateIndex = val;
      this.showCalendar = true;
    },
    formatDate(date) {
      var Month = date.getMonth() + 1;
      var Day = date.getDate();
      if (Month < 10) {
        Month = '0' + Month;
      }
      if (Day < 10) {
        Day = '0' + Day;
      }
      return `${date.getFullYear()}-${Month}-${Day}`;
    },
    onConfirm(date) {
      this.showCalendar = false;
      this.collectionItemList[this.dateIndex].answerValue = this.formatDate(date);
    },
    formatter(value) {
      return value.replace(
        /[\uD83C|\uD83D|\uD83E][\uDC00-\uDFFF][\u200D|\uFE0F]|[\uD83C|\uD83D|\uD83E][\uDC00-\uDFFF]|[0-9|*|#]\uFE0F\u20E3|[0-9|#]\u20E3|[\u203C-\u3299]\uFE0F\u200D|[\u203C-\u3299]\uFE0F|[\u2122-\u2B55]|\u303D|[\A9|\AE]\u3030|\uA9|\uAE|\u3030/gi,
        ''
      );
    },
    numberFn(val, index) {
      if (!/^[+-]?\d*\.{0,1}\d{0,1}$/.test(this.collectionItemList[index].answerValue)) {
        this.collectionItemList[index].answerValue = this.collectionItemList[
          index
        ].answerValue.replace(
          /\.\d{2,}$/,
          this.collectionItemList[index].answerValue.substr(
            this.collectionItemList[index].answerValue.indexOf('.'),
            3
          )
        );
      }
    },
    zSelectVal(value) {
      var collectionAnswerlisd = this.collectionAnswerlisd;
      if (collectionAnswerlisd.length > 0) {
        var num = 0;
        for (var a = 0; a < collectionAnswerlisd.length; a++) {
          if (collectionAnswerlisd[a].id == value.id) {
            collectionAnswerlisd[a] = value;
            num = 0;
          } else {
            num = 1;
          }
        }
        if (num > 0) {
          collectionAnswerlisd.push(value);
        }
      } else {
        collectionAnswerlisd.push(value);
      }
      this.collectionAnswerlisd = collectionAnswerlisd;
    },
    imgClick(val, index) {
      this.collectionId = val.collectionId + '';
      this.indeximg = index;
      this.show = true;
    },
    newimgarr1(val) {
      this.$forceUpdate();
      // if (
      //   this.collectionItemList[val.index].fileInfoList == null ||
      //   this.collectionItemList[val.index].fileInfoList == undefined
      // ) {
      //   this.collectionItemList[val.index].fileInfoList = [];
      //   this.collectionItemList[val.index].fileIdList = [];
      // }
      // this.collectionItemList[val.index].fileInfoList.push(val);
      // this.collectionItemList[val.index].fileIdList.push(val.id);
    },
    dateFn(val) {
      return val.slice(0, 4) + '-' + val.slice(4, 6) + '-' + val.slice(6, 8);
    },
    onLoad() {},
    onSubmit() {
      this.setParams(() => {
        if (this.flagclick) {
          this.flagclick = false;
          this.timer = null;
          this.timer = setTimeout(() => {
            this.flagclick = true;
          }, 2000);
          insertCustomAnswer({
            userSummaryId: '', //	Long	用户总结id，如果为新增则不填，编辑则必填
            summaryId: this.$route.query.summaryId, //Long	主管任务id
            customItemList: this.collectionItemList, //List<Object>	答案列表
          })
            .then((res) => {
              if (res.code == 200) {
                this.$router.go(-1);
              } else {
                this.$toast(res.msg);
              }
            })
            .catch((err) => {
              this.$toast(err.msg);
            });
        }
      });
    },
    setParams(callback) {
      for (var c = 0; c < this.collectionAnswerlisd.length; c++) {
        for (var b = 0; b < this.collectionItemList.length; b++) {
          if (this.collectionAnswerlisd[c].id == this.collectionItemList[b].customId) {
            this.collectionItemList[b].customOptionList = this.collectionAnswerlisd[c].value;
          }
        }
      }
      // // 照片
      let zpDataList = this.collectionItemList.find((item) => item.answerType == 'zp');
      if (zpDataList && zpDataList.fileInfoList) {
        let fileIdList = [];
        zpDataList.fileInfoList.forEach((item) => {
          fileIdList.push(item.id);
        });
        zpDataList.fileIdList = fileIdList;
      }
      // 经销商
      // let JXSSataList = this.collectionItemList.find((item) => item.answerType == 'jxs');
      // if (this.jxsList.length) {
      //   let fileIdList = [];
      //   this.jxsList.forEach((item) => {
      //     fileIdList.push({
      //       chainCode: item.chainCode,
      //       chainName: item.chainName,
      //     });
      //   });
      //   JXSSataList.chainList = fileIdList;
      // }
      callback && callback();
    },
    getReportInfo() {
      let loading1 = this.$toast.loading({
        duration: 0,
        message: '加载中...',
        forbidClick: true,
      });
      this.collectionItemList = [];
      this.collectionAnswerlisd = [];
      getSummaryDetailById({ summaryId: this.$route.query.summaryId }).then((res) => {
        loading1.clear();
        if (res.code == 200) {
          var collectionItemLists = res.data;
          for (var q = 0; q < collectionItemLists.length; q++) {
            collectionItemLists[q].answerName = undefined;
            // 公司
            if (
              (collectionItemLists[q].answerType == 'gs' ||
                collectionItemLists[q].answerType == 'dq' ||
                collectionItemLists[q].answerType == 'xsb') &&
              this.activaFlag
            ) {
              this.activaFlag = false;
              if (collectionItemLists[q].answerType == 'xsb') {
                this.getDeptsBy(collectionItemLists[q].answerValue);
                this.getDeptInfo(
                  'dept',
                  collectionItemLists[q].answerType,
                  collectionItemLists[q].answerValue
                );
              } else {
                this.getDeptInfo(
                  'dept',
                  collectionItemLists[q].answerType,
                  collectionItemLists[q].answerValue
                );
              }
            }
            // 单选
            if (
              collectionItemLists[q].answerType == 'dx' &&
              collectionItemLists[q].showHistory == '1'
            ) {
              let findCustom = collectionItemLists[q].customOptionList.find((item) => item.checked);
              if (findCustom) {
                collectionItemLists[q].answerValue = findCustom.customOptionId + '';
              }
            }
            // 多选
            if (
              collectionItemLists[q].answerType == 'duox' &&
              collectionItemLists[q].showHistory == '1'
            ) {
              let findCustom = [];
              collectionItemLists[q].customOptionList.forEach((item) => {
                if (item.checked) {
                  findCustom.push(item.customOptionId + '');
                }
              });
              if (findCustom) {
                collectionItemLists[q].answerValue = findCustom.join(',');
              }
            }
            // 照片
            if (collectionItemLists[q].answerType == 'zp' && collectionItemLists[q].fileInfoList) {
              let fileIdList = [];
              collectionItemLists[q].fileInfoList.forEach((item) => {
                fileIdList.push(item.id);
              });
              collectionItemLists[q].fileIdList = fileIdList;
            }
          }
          this.collectionItemList = collectionItemLists;
        }
      });
    },
    getThreeDaysAgo() {
      let myDate = new Date();
      let lw = new Date(myDate - 1000 * 60 * 60 * 24 * 14); //最后一个数字30可改，30天的意思
      let lastY = lw.getFullYear();
      let lastM = lw.getMonth() + 1;
      let lastD = lw.getDate();
      let startData =
        lastY + '-' + (lastM < 10 ? '0' + lastM : lastM) + '-' + (lastD < 10 ? '0' + lastD : lastD); //三十天之前日期
      return startData;
    },
    GetPreMonthDay(date, monthNum, type) {
      var dateArr = date.split('-');
      var year = dateArr[0]; //获取当前日期的年份
      var month = dateArr[1]; //获取当前日期的月份
      var day = dateArr[2]; //获取当前日期的日
      var days = new Date(year, month, 0);
      days = days.getDate(); //获取当前日期中月的天数
      var year2 = year;
      var month2 = parseInt(month) - monthNum;
      if (month2 <= 0) {
        var absM = Math.abs(month2);
        year2 = parseInt(year2) - Math.ceil(absM / 12 == 0 ? 1 : parseInt(absM) / 12);
        month2 = 12 - (absM % 12);
      }
      var day2 = day;
      var days2 = new Date(year2, month2, 0);
      days2 = days2.getDate();
      if (day2 > days2) {
        day2 = days2;
      }
      if (month2 < 10) {
        month2 = '0' + month2;
      }
      var t2 = '';
      if (monthNum > 0) {
        t2 = year2 + '-' + month2 + '-01';
      } else {
        if (type == 'end') {
          var Months = new Date().getMonth() + 1;
          var days111 = new Date().getDate();
          if (Months < 10) {
            Months = '0' + Months;
          }
          if (days111 < 10) {
            days111 = '0' + days111;
          }
          if (parseInt(month2) >= new Date().getMonth() + 1) {
            t2 = year2 + '-' + Months + '-' + days111;
          } else {
            var daysd = this.getMonthDays(year2, month2);
            t2 = year2 + '-' + month2 + '-' + daysd;
          }
        } else {
          t2 = year2 + '-' + month2 + '-' + day2;
        }
      }
      return t2;
    },
    getMonthDays(year, month) {
      var stratDate = new Date(year, month - 1, 1),
        endData = new Date(year, month, 1);
      var days = (endData - stratDate) / (1000 * 60 * 60 * 24);
      return days;
    },
    getDeptInfo(type, grade, answerValue) {
      this.deptForm.type = type;
      if (grade == 'dq') {
        this.deptForm.parentId = this.companyCode;
      } else if (grade == 'xsb') {
        this.deptForm.parentId = this.regionCode;
      } else {
        this.deptForm.type = '';
        this.deptForm.parentId = '';
      }
      getSummaryMobileDeptInfo(this.deptForm).then((res) => {
        if (grade == 'dq') {
          if (res.data.region != null) {
            this.regionList = res.data.region;
            // for (var k = 0; k < this.collectionItemList.length; k++) {
            //   if (this.collectionItemList[k].answerType == 'dq') {
            //     this.collectionItemList[k].answerName = res.data.region[0].deptName;
            //     this.collectionItemList[k].answerValue = res.data.region[0].deptCode;
            //   }
            // }
            if (answerValue) {
              let findCompany = this.companyList.find((item) => item.deptCode == answerValue);
              this.onSalesRegionConfirm(findCompany);
            } else {
              this.onSalesRegionConfirm(this.regionList[0]);
            }
          }
        } else if (grade == 'xsb') {
          if (res.data.dept != null) {
            this.deptList = res.data.dept;
            if (answerValue) {
              let findCompany = this.regionList.find((item) => item.deptCode == answerValue);
              this.onSalesDepartmentConfirm(findCompany);
            } else {
              this.onSalesDepartmentConfirm(this.deptList[0]);
            }
          }
        } else if (grade == 'gs') {
          this.companyList = res.data.company;
          if (answerValue) {
            let findCompany = this.companyList.find((item) => item.deptCode == answerValue);
            this.onregionConfirm(findCompany);
          } else {
            this.onregionConfirm(this.companyList[0]);
          }
          if (res.data.dept != null) {
            this.deptList = res.data.dept;
          }
          if (res.data.region != null) {
            this.regionList = res.data.region;
          }
        }
      });
    },
    getDeptsBy(answerValue) {
      getDeptsByUser().then((res) => {
        if (res.data && res.code == 200) {
          let arr = [];
          res.data.forEach((val) => {
            arr.push({
              ancestors: val.ancestors || '',
              deptCode: val.deptCode || '',
              deptId: val.deptId || '',
              deptLevel: val.deptLevel || '',
              deptName: val.deptName || '',
              parentId: val.parentId || '',
            });
          });
          this.deptList = arr;
          if (answerValue) {
            let findCompany = this.regionList.find((item) => item.deptCode == answerValue);
            this.onSalesDepartmentConfirm(findCompany);
          } else {
            this.onSalesDepartmentConfirm(this.deptList[0]);
          }
        }
      });
    },
    dailyFn(row) {
      if (row.status != '0') {
        if (row.status == -1) {
          var dayTime = row.showDate;
          var times = new Date(
            dayTime.slice(0, 4) + '-' + dayTime.slice(4, 6) + '-' + dayTime.slice(6, 8)
          ).getTime();
          var time = new Date('2022-08-25').getTime();
          if (times < time) {
            this.$dialog.alert({
              title: '系统提示',
              message: '非常抱歉，8月25日前历史报告数据不存在',
            });
          } else {
            this.$router.push({
              path: '/weeklyHistoricalDetils',
              query: { reportId: row.id },
            });
          }
        } else {
          this.$router.push({
            path: '/weeklyHistoricalDetils',
            query: { reportId: row.id },
          });
        }
      }
    },
    onClickLeft() {
      this.$router.go(-1);
    },
    regionClick(val) {
      // if(this.powerGrade>4){
      this.index = val;
      this.RegionShow = true;
      // }
    },
    SalesRegionClick(val) {
      this.index = val;
      this.SalesRegionShow = true;
    },
    SalesDepartmentClick(val) {
      this.index = val;
      this.SalesDepartmentShow = true;
    },
    StaffClick() {
      this.StaffShow = true;
    },
    StartTimeClick() {
      this.StartTimeShow = true;
    },
    EndTimeClick() {
      this.EndTimeShow = true;
    },
    onSalesRegionConfirm(val) {
      this.SalesRegionShow = false;
      this.regionCode = val.deptId;
      // if (this.index !== '') {
      //   this.collectionItemList[this.index].answerName = val.deptName;
      //   this.collectionItemList[this.index].answerValue = val.deptCode;
      //   for (var k1 = 0; k1 < this.collectionItemList.length; k1++) {
      //     if (this.collectionItemList[k1].answerType == 'xsb' && val.deptId != '') {
      //       this.getDeptInfo('dept', 'xsb');
      //     }
      //   }
      // } else {
      for (var k1 = 0; k1 < this.collectionItemList.length; k1++) {
        if (this.collectionItemList[k1].answerType == 'xsb') {
          this.collectionItemList[k1].answerName = '';
          this.collectionItemList[k1].answerValue = '';
        }
        if (this.collectionItemList[k1].answerType == 'dq') {
          this.collectionItemList[k1].answerName = val.deptName;
          this.collectionItemList[k1].answerValue = val.deptCode;
        }
        if (this.collectionItemList[k1].answerType == 'xsb' && val.deptId != '') {
          this.getDeptInfo('dept', 'xsb');
        }
      }
      // }
      // if (val.deptId != '') {
      //   this.getDeptInfo('dept', 'xsb');
      // }
    },
    onregionConfirm(val) {
      this.RegionShow = false;
      this.companyCode = val.deptId;
      // if (this.index !== '') {
      //   this.collectionItemList[this.index].answerName = val.deptName;
      //   this.collectionItemList[this.index].answerValue = val.deptCode;
      //   for (var k1 = 0; k1 < this.collectionItemList.length; k1++) {
      //     if (this.collectionItemList[k1].answerType == 'dq') {
      //       this.getDeptInfo('dept', 'dq');
      //     }
      //   }
      // } else {
      for (var k1 = 0; k1 < this.collectionItemList.length; k1++) {
        if (this.collectionItemList[k1].answerType == 'xsb') {
          this.collectionItemList[k1].answerName = '';
          this.collectionItemList[k1].answerValue = '';
        }
        if (this.collectionItemList[k1].answerType == 'xsb') {
          this.collectionItemList[k1].answerName = '';
          this.collectionItemList[k1].answerValue = '';
        }
        if (this.collectionItemList[k1].answerType == 'gs') {
          this.collectionItemList[k1].answerName = val.deptName;
          this.collectionItemList[k1].answerValue = val.deptCode;
        }
        if (this.collectionItemList[k1].answerType == 'dq') {
          this.getDeptInfo('dept', 'dq');
        }
      }
      // }
    },
    onSalesDepartmentConfirm(val) {
      this.SalesDepartmentShow = false;
      // if (this.index !== '') {
      //   this.collectionItemList[this.index].answerName = val.deptName;
      //   this.collectionItemList[this.index].answerValue = val.deptCode;
      // } else {
      for (var k1 = 0; k1 < this.collectionItemList.length; k1++) {
        if (this.collectionItemList[k1].answerType == 'xsb') {
          this.collectionItemList[k1].answerName = val.deptName;
          this.collectionItemList[k1].answerValue = val.deptCode;
        }
      }
      // }
    },
    onStartTimeConfirm(val) {
      this.formData.startTime = this.parseTime(new Date(val), '{y}-{m}-{d}') + '';
      this.StartTimeShow = false;
      this.endminDate = new Date(val);
      this.endmaxDate = new Date(this.GetPreMonthDay(this.formData.startTime, -2, 'end'));
      if (
        new Date(this.formData.startTime).getTime() > new Date(this.formData.endTime).getTime() ||
        new Date(this.endmaxDate).getTime() < new Date(this.formData.endTime).getTime()
      ) {
        this.formData.endTime = this.parseTime(new Date(val), '{y}-{m}-{d}') + '';
        this.endcurrentDate = this.GetPreMonthDay(this.formData.startTime, -2);
      }
      this.list = [];
      this.formData.pageNum = 1;
    },
    onEndTimeConfirm(val) {
      this.formData.endTime = this.parseTime(new Date(val), '{y}-{m}-{d}');
      this.strtmaxDate = new Date(val);
      if (new Date(this.formData.startTime).getTime() > new Date(this.formData.endTime).getTime()) {
        this.formData.startTime = this.formData.endTime;
      }
      this.list = [];
      this.formData.pageNum = 1;
      this.EndTimeShow = false;
    },
    // 添加经销商
    addJXS() {
      this.agentValue = '';
      this.moreTypeShow = true;
      this.getChainsList();
    },
    // 删除经销商
    closeJXS(item, index) {
      item.chainList.splice(index, 1);
    },
    getChainsList(value = '') {
      this.chainsData = [];
      chainsList({
        chainCode: '', //	string	经销商编码
        chainName: value, //	string	经销商名称
      })
        .then((res) => {
          if (res.code == 200 && res.rows) {
            this.chainsData = res.rows;
          } else {
            this.chainsData = [];
          }
        })
        .catch(() => {
          this.chainsData = [];
        });
    },
    onConfirmChainsList(value) {
      if (value && value.chainName != undefined) {
        let JXSSataList = this.collectionItemList.find((item) => item.answerType == 'jxs');
        if (!JXSSataList.chainList) {
          JXSSataList.chainList = [];
        }
        let isFlag = JXSSataList.chainList.find((val) => val.chainCode == value.chainCode);
        if (!isFlag) {
          JXSSataList.chainList.push({
            chainName: value.chainName,
            chainCode: value.chainCode,
          });
          this.moreTypeShow = false;
        } else {
          this.$toast('当前经销商已添加，不能重复添加！');
        }
      }
    },
    // 暂存 不校验答案是否必填
    onStorage() {
      this.setParams(() => {
        temporarilyCustomAnswer({
          userSummaryId: '', //	Long	用户总结id，如果为新增则不填，编辑则必填
          summaryId: this.$route.query.summaryId, //Long	主管任务id
          customItemList: this.collectionItemList, //List<Object>	答案列表
        })
          .then((res) => {
            if (res.code == 200) {
              this.$router.go(-1);
            } else {
              this.$toast(res.msg);
            }
          })
          .catch((err) => {
            this.$toast(err.msg);
          });
      });
    },
  },
};
</script>
<style scoped lang="scss">
.container {
  background-color: white;
}

.van-f-red {
  color: red;
  width: 8px;
  display: inline-block;
  line-height: 26px;
}

.formLabel {
  margin: 0 16px;
  border-bottom: 1px solid #f1f1f1;
}

.formLabel .van-cell {
  padding: 10px 0;
}

.formLabel .van-cell::after {
  border: 0;
}

.formLabel .van-field {
  border: 1px solid #f1f1f1;
  padding: 6px;
  width: 100%;
  border-radius: 4px;
  overflow: hidden;
}

.formLabel .van-field__control {
  padding: 0 10px;
}

.formLabel .formLabeltitle {
  position: absolute;
  top: 8px;
}

.lineGrey {
  height: 10px;
  width: 100%;
  background: #f1f1f1;
}

.z-checkbox .van-radio {
  padding: 6px 0;
}

.z-cell .van-cell__title {
  font-size: 16px;
}
.VisitSummaryAdd {
  .tc {
    display: flex;
    justify-content: space-between;
    .submitBtn {
      width: 45%;
      border-radius: 20px;
    }
  }
}
</style>
<style lang="scss">
.table-headermd {
  font-size: 12px;
  text-align: center;
  position: initial;
  width: 98% !important;
  margin: 0 auto;
  border-right: 0;
}

.table-headermd .el-table__header,
.table-headermd .el-table__body {
  width: 100% !important;
}

/*.table-headermd col {width: 6.8rem;}*/
.table-headermd col:nth-child(4) {
  width: 5.6rem;
}

.table-headermd col:nth-child(2),
.table-headermd col:nth-child(3) {
  width: 4.6rem;
}

.table-headermd .van-cell {
  padding: 0 4px;
  height: 100%;
}

.table-headermd th.el-table__cell > .cell {
  padding: 0 4px;
  text-align: center;
}

.table-headermd th.el-table__cell:first-child > .cell {
  text-align: left;
}

.table-headermd th.el-table__cell {
  background-color: #1989fa;
  color: #fff;
}

.table-headermd .el-table__cell {
  padding: 4px 0;
}

.table-headermd.el-table .cell {
  padding: 0;
}

.table-headermd .tipTitle {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.table-headermd::before {
  height: 0;
}

.xing {
  color: red;
  padding-left: 4px;
}

.formLabel .van-radio__label,
.formLabel .van-checkbox__label {
  font-size: 1.4rem;
}

.table-headermd .cell,
.el-table--border .el-table__cell:first-child .cell {
  padding: 0 4px;
}

.van-dialog__confirm,
.van-dialog__confirm:active {
  color: #1989fa;
}

.navBarTOP {
  position: fixed;
  width: 100%;
  z-index: 2;
  top: 0;
}

.isTableMust {
  padding: 4px;
  color: #999;
  margin: 0;
  margin-top: -10px;
}
.jxsBox {
  .jxsContent {
    margin-bottom: 10px;
    .item {
      padding: 5px;
      background: #e9e9e9;
      margin: 5px 0;
      .el-popover__reference-wrapper {
        display: flex;
        justify-content: space-between;
        align-items: center;
      }
      .selectItem {
        flex: 1;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        font-size: 14px;
      }
    }
  }
  .tips {
    text-align: right;
  }
}
</style>
