<template>
  <div class="taskPhotoTaking">
    <van-nav-bar class="navBar" left-arrow title="拜访任务" @click-left="onClickLeft">
      <template #right>
        <span
          v-if="isEdit && insert == '1'"
          @click="onSubmit"
          style="
            color: white;
            background: rgb(0, 87, 186);
            display: block;
            padding: 6px 10px;
            border-radius: 6px;
          "
          >保存</span
        >
      </template>
    </van-nav-bar>
    <div class="content" v-if="formData">
      <div class="container">
        <van-form ref="tabstoreVal">
          <div v-for="(item, index) in formData.collectionItemList" :key="index">
            <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>
                  <span>1.</span>
                  {{ item.collectionName }}
                  <!-- 操作说明图片和电话 -->
                  <taskTips
                    v-if="item.contactPhone || item.examplePhoto"
                    :contactPhone="item.contactPhone"
                    :examplePhoto="item.examplePhoto">
                  </taskTips>
                </template>
              </van-cell>
              <delete-upload-img
                :imgs="item.fileInfoList"
                :storeGroupId="storeGroupId"
                :taskIds="taskIds"
                :visitsId="visitsId"
                :collectionItemId="item.collectionId"
                :putInCode="formData.putInCode"
                :photoIdentifyType="formData.photoIdentifyType"
                @upDataDetail="getDetaile"
                :pictureSource="item.pictureSource"
                :continuousShoot="item.continuousShoot"
                :insert="insert"
                :objectType="objectType"></delete-upload-img>
            </div>
          </div>
        </van-form>
      </div>
      <div class="dataList" v-if="dataList">
        <div class="dataItem" v-for="(item, index) in dataList">
          <div class="itemTop">
            <div class="itemIndex">
              <p>{{ index + 1 }}、</p>
            </div>
            <div v-html="item.displayInstructions"></div>
          </div>
          <div class="itemBottom" v-if="insert == '0'">
            <img
              @click="openDialog(item)"
              :src="
                item.taskPhotoConditionPassed == 1
                  ? require('@/assets/taskPhotoSu.png')
                  : require('@/assets/taskPhotoErr.png')
              " />
            <!-- <img
              v-if="item.taskPhotoConditionPassed == 0"
              :src="require('@/assets/taskPhotoErr.png')" /> -->
          </div>
        </div>
      </div>
    </div>
    <el-dialog
      title="识别结果"
      :visible.sync="vanPopup"
      width="80%"
      :append-to-body="true"
      :close-on-click-modal="false"
      @close="vanPopup == false"
      custom-class="identifyResultdialog">
      <!-- 识别结果 -->
      <div class="identifyResult" v-if="taskPhotoRecognitionResult" style="padding: 0 10px">
        <div class="resultContent">
          <el-table
            :data="taskPhotoRecognitionResult"
            border
            class="table-headermd1"
            style="width: 100%">
            <el-table-column label="" type="index" width="50px" align="center" />
            <el-table-column label="产品" prop="skuProductName" align="center" />
            <el-table-column label="要求" prop="conditionIdentifyNum" align="center" width="60px">
            </el-table-column>
            <el-table-column
              label="识别排面数"
              prop="identifyTheNumberOfCards"
              width="70px"
              align="center"
              >meetTheStandard
              <template slot-scope="scope">
                <span :style="{ color: scope.row.meetTheStandard == 1 ? '#07c160' : 'red' }">
                  {{ scope.row.identifyTheNumberOfCards }}
                </span>
              </template>
            </el-table-column>
          </el-table>
        </div>
      </div>
    </el-dialog>
  </div>
</template>
<script>
import { getCollectionInfosBatch, addCollectionAnswerBatch, getVisitsDetail } from '@/api/index';
import taskTips from './taskTips';
import deleteUploadImg from '@/components/deleteUploadImgTaskPhoto';
export default {
  name: 'abnortaskPhotoTakingmalVisit',
  components: { taskTips, deleteUploadImg },
  data() {
    return {
      isEdit: true,
      formData: null,
      dataList: null,
      taskIds: [],
      visitsId: null,
      storeGroupId: '',
      objectType: '',
      insert: '',
      vanPopup: false,
      taskPhotoRecognitionResult: null,
    };
  },
  activated() {
    this.taskIds = this.$route.query.taskIds || [];
    this.visitsId = this.$route.query.visitsId || '';
    this.storeGroupId = this.$route.query.storeGroupId || '';
    this.objectType = this.$route.query.photoType || '';
    this.insert = this.$route.query.insert;
    if (this.$route.query.source == 'historicalDetails') {
      this.getVisitsDetailFun();
    } else {
      this.getDetaile();
    }
  },
  methods: {
    getVisitsDetailFun() {
      this.toastLoading(0, '加载中...', true);
      getVisitsDetail({ visitsId: this.visitsId }).then((res) => {
        this.toastLoading().clear();
        if (res.data.sfaTaskList) {
          this.dataList = res.data.sfaTaskList.filter((val) => val.taskType == '5');
          this.formData = this.dataList[0];
        } else {
          this.formData = null;
        }
      });
    },
    getDetaile() {
      console.log(this.$route.query);
      getCollectionInfosBatch({
        storeCode: this.$route.query.storeCode,
        insert: this.insert == '1' ? true : false,
        id: this.visitsId,
        taskIds: this.taskIds.split(','),
      }).then((res) => {
        if (res.data && res.data.length) {
          this.dataList = res.data;
          this.formData = res.data[0];
        } else {
          this.formData = null;
        }
      });
    },
    openDialog(item) {
      this.vanPopup = true;
      this.taskPhotoRecognitionResult = item.taskPhotoRecognitionResult;
    },
    onSubmit() {
      let formData = {
        storeId: this.$route.query.storeId,
        storeCode: this.$route.query.storeCode,
        storeGroupId: this.$route.query.storeGroupId,
        visitsId: this.visitsId,
        taskList: this.taskIds.split(',').map((val) => Number(val)),
        insert: true,
        collectionAnswers: [],
        checkUnManage: 'N',
        deviceCode: '',
        putInCode: '',
        equipmentCode: '',
      };
      addCollectionAnswerBatch(formData).then((res) => {
        if (res.code == 200) {
          localStorage.setItem('getRequestFlage', 'true');
          this.$router.go(-1);
        }
      });
    },
    onClickLeft() {
      this.$router.go(-1);
    },
  },
};
</script>
<style lang="scss" scoped>
.taskPhotoTaking {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  overflow: hidden;
  .content {
    padding: 10px;
    flex: 1;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    padding-bottom: 46px;
    .container {
      background: #fff;
      width: 100%;
      border-radius: 6px;
      padding: 10px;
    }
    .formLabel {
      margin-left: 20px;
      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;
    }
    .z-cell .van-cell__title {
      font-size: 16px;
    }
    .van-f-red {
      color: red;
      width: 8px;
      display: inline-block;
      line-height: 26px;
    }
  }
  .dataList {
    width: 100%;
    margin-top: 10px;
    overflow-y: auto;
    .dataItem {
      display: flex;
      background: #fff;
      border-radius: 6px;
      flex-direction: column;
      margin-bottom: 10px;
      padding: 10px;
      font-size: 16px;
      padding-left: 20px;
      .itemIndex {
      }
      .itemTop {
        flex: 1;
      }
      .itemTop,
      .itemBottom {
        display: flex;
        flex-direction: row;
      }
      .itemBottom {
        justify-content: end;
      }
    }
  }
}
</style>
<style lang="scss">
.identifyResultdialog {
  width: vw(690) !important;
  margin-top: 1vh !important;
  border-radius: 8px !important;
  font-size: vw(32) !important;
  height: 70% !important;
  display: flex;
  flex-direction: column;
  .el-dialog__headerbtn {
    width: vw(44);
    height: vw(44);
    background-color: #e1e1e1;
    border-radius: 50%;
    margin-top: -3px;
  }
  .el-dialog__body {
    flex: 1;
    overflow-y: auto;
  }
}
.table-headermd1 {
  font-size: 14px;
  text-align: center;
  position: initial;
  width: 98% !important;
  margin: 0 auto;
  border-right: 0;
  border-radius: 8px;
  th {
    color: #000;
    font-weight: bold;
  }
  td {
    color: #000;
  }
  .el-table__cell {
    padding: 6px 0 !important;
    .cell {
      padding: 0;
    }
  }
}
</style>
