<template>
  <div style=" height: 100%;">
    <div class="layout-center-wrap flex-column">
      <!-- 上部数据 -->
      <div class="layout-center-top-wrap flex-row justify-content-between">
        <div class="top-wrap-title flex-row justify-content-between"></div>
        <div class="top-wrap-btn-left flex-row justify-content-between">
          <div class="flex-row justify-content-between align-items-center mr-16">
            <el-button class="bg-F2F3F5" icon="el-icon-arrow-left" circle></el-button>
            <div class="ml-16 mr-16 flex-row justify-content-between align-items-center">
              <div class="mr-8 f16">{{ baseInfo.debtorEntityList.find(item => item.role == 'DEBTOR').name }}</div>
              <div class="mr-8">
                <el-tag size="small" type="warning">{{ baseInfo.debtorEntityList.find(item => item.role == 'DEBTOR').addr }}</el-tag>
              </div>
              <div class="mr-8 f16 color-FF7D00"><i class="el-icon-warning"></i></div>
              <div class="f16 color-165DFF"><i class="el-icon-success"></i></div>
            </div>
            
            <el-button class="bg-F2F3F5" icon="el-icon-arrow-right" circle></el-button>
          </div>

          <el-popover
              placement="top"
              width="500"
              v-model="singlesmsvisible"
              title="发送短信"
              trigger="click">
              <singlesmsPopover :caseId="caseId" :singlesmsvisible.sync="singlesmsvisible"/>
              <el-button slot="reference" type="warning" icon="el-icon-message" circle></el-button>
          </el-popover>

          <div class="wrap-btn-left-dial pl-22 pr-24 f14 flex-row justify-content-between ml-16">
            <div class="mr-24 flex-row justify-content-between align-items-center">
              <div class="mr-8 f16 color-F53F3F"><i class="el-icon-video-pause"></i></div>
              <div class="mr-8">暂停拨打</div>
              <div class="mr-8 f12 color-000">01:00</div>
              <div class="mr-8 f20"><i class="el-icon-phone-outline"></i></div>
              <div class="mr-8 f20"><i class="el-icon-microphone"></i></div>
              <div class="mr-8 ai-logo-img"></div>
            </div>
            <div class="flex-row justify-content-between align-items-center f14">
              <div class="flex-row justify-content-between align-items-center mr-24">
                <div class="mr-8 f16"><i class="el-icon-s-operation"></i></div>
                <div>队列 <span class="color-000">200</span></div>
              </div>
              <div class="mr-24">已拨打 <span class="color-000">200</span></div>
              <div class="mr-24">已接通 <span class="color-000">200</span></div>
              <div>未接通 <span class="color-000">200</span></div>
            </div>
          </div>
        </div>
        <div class="flex-row justify-content-between">
          <el-button icon="el-icon-setting" circle></el-button>
          <el-button icon="el-icon-switch-button" circle @click="handleBack"></el-button>
        </div>
      </div>
      
      <!-- 中间数据 -->
      <LayoutContentNew :caseId="caseId" />

    </div>

    <div class="flex-row align-items-center pl-24 pr-24 btn-group-controls">
      <div class="pt-16 pb-16 flex-row justify-content-between align-items-center btn-group-real-time">
        <el-badge :value="3" class="item">
          <i class="f24 el-icon-phone cursor-pointer color-52ABF2"></i>
        </el-badge>
        <el-badge :value="3" class="item">
          <i class="f24 el-icon-video-camera cursor-pointer color-52ABF2"></i>
        </el-badge>
      </div>
      <div class="ml-24 mr-24 btn-group-interval"></div>
      <div class="flex-row justify-content-between align-items-center btn-group-processing-event">

        <div class="flex-row justify-content-between align-items-center cursor-pointer" @click="visiblePopover={caseId: caseId}">
          <i class="f24 el-icon-video-camera color-4E5969"></i>
          <div class="pl-4 f14">预约</div>
        </div>

        <div class="flex-row justify-content-between align-items-center cursor-pointer">
          <i class="f24 el-icon-document color-4E5969"></i>
          <div class="pl-4 f14">协议</div>
        </div>

        <el-popover 
            placement="top"
            width="500"
            v-model="singleofficevisible"
            title="发起签字"
            trigger="click">
            <singleofficeWritPopover :caseId="caseId" :singleofficevisible.sync="singleofficevisible"/>
            <span slot="reference" class="flex-row justify-content-between align-items-center cursor-pointer">
              <i class="f24 el-icon-document-remove color-4E5969"></i>
              <a class="pl-4 f14">签字</a>
            </span>
        </el-popover>

        
        <el-popover 
            placement="top"
            width="500"
            v-model="singlesealvisible"
            title="发起签章"
            trigger="click">
            <singleofficeSealPopover :caseId="caseId" :singlesealvisible.sync="singlesealvisible"/>
            <span slot="reference" class="flex-row justify-content-between align-items-center cursor-pointer">
              <i class="f24 el-icon-s-check color-4E5969"></i>
              <a class="pl-4 f14">签章</a>
            </span>
        </el-popover>

        <el-popover 
            placement="top"
            width="500"
            v-model="singledeliveryvisible"
            title="发起送达"
            trigger="click">
            <singleofficeDeliveryPopover :caseId="caseId" :singledeliveryvisible.sync="singledeliveryvisible"/>
            <span slot="reference" class="flex-row justify-content-between align-items-center cursor-pointer">
              <i class="f24 el-icon-s-claim color-4E5969"></i>
              <a class="pl-4 f14">送达</a>
            </span>
        </el-popover>
        
        
        <div class="flex-row justify-content-between align-items-center cursor-pointer">
          <i class="f24 el-icon-wallet color-4E5969"></i>
          <div class="pl-4 f14">类案</div>
        </div>
        <div class="flex-row justify-content-between align-items-center cursor-pointer">
          <i class="f24 el-icon-document-checked color-4E5969"></i>
          <div class="pl-4 f14">办结</div>
        </div>
        <div class="flex-row justify-content-between align-items-center cursor-pointer">
          <i class="f24 el-icon-document-delete color-4E5969"></i>
          <div class="pl-4 f14">失败</div>
        </div>
        <div class="flex-row justify-content-between align-items-center cursor-pointer">
          <i class="f24 el-icon-user-solid color-4E5969"></i>
          <div class="pl-4 f14">帮扶</div>
        </div>

        <el-popover
            placement="top"
            width="400"
            v-model="singlejointlyvisible"
            title="案件协办"
            trigger="click">
            <singleJointlyPopover :caseId="caseId" :singlejointlyvisible.sync="singlejointlyvisible" @handleSubmit="getCaseInfoById()"/>
            <span slot="reference" class="flex-row justify-content-between align-items-center cursor-pointer">
              <i class="f24 el-icon-s-management color-4E5969"></i>
              <a class="pl-4 f14">协办</a>
            </span>
        </el-popover>

      </div>
    </div>

    <caseVideoReservationDialog v-if="visiblePopover" :visible-popover.sync="visiblePopover" />
    
    <!--  视频房间  -->
    <VideoRoom v-if="VideoCallDialog" :eventDialog.sync="VideoCallDialog" />
    
  </div>

</template>
<script>
import api from "@/services/caseManagement";
export default {
  components: {
    caseVideoReservationDialog: () => import('./caseVideoReservationDialog'),//

    singleofficeWritPopover: () => import('./singleofficeWritPopover.vue'),//发起签字
    singleofficeSealPopover: () => import('./singleofficeSealPopover.vue'),//发起签章
    singleofficeDeliveryPopover: () => import('./singleofficeDeliveryPopover.vue'),//发起送达
    
    singleJointlyPopover: () => import('./singleJointlyPopover.vue'),//案件协办
    singlesmsPopover: () => import('./singlesmsPopover.vue'),//发送短信
    VideoRoom: () => import('./VideoRoom'),
    LayoutContentNew: () => import('./LayoutContentNew'),//调解数据
  },
  data() {
    return {
      singlesmsvisible:false,
      singlejointlyvisible:false,
      visiblemediatRecord:false,
      singledeliveryvisible:false,
      singlesealvisible:false,
      singleofficevisible:false,
      eventDialog: {caseId: this.$route.query.caseId},
      leftActive: 1,
      rightActive: 1,
      fileList: [],
      mediationRecord: [],//调解记录
      baseInfo: {},//基本信息
      obligorInfo: [],//债务人信息
      caseId: '',//案件id
      // 联系人
      contactAddObj: {},
      contactAddFlag: false,
      contactObj: {},
      contactUpdate: false,
      relationOptions: [{label: '本人', value: '本人'}, {label: '父母', value: '父母'}, {label: '配偶', value: '配偶'},
        {label: '子女', value: '子女'}, {label: '其他', value: '其他'}, {label: '朋友', value: '朋友'}, {
          label: '兄弟',
          value: '兄弟'
        },
        {label: '同事', value: '同事'}, {label: '同学', value: '同学'}],
      // 还款计划
      repaymentObj: {
        type: 'ALL'
      },
      RepaymentOptions: [{label: '一次性还款', value: 'ALL'}, {
        label: '全部分期',
        value: 'STAGES'
      }, {label: '部分先还加分期', value: 'MIX'}, {label: '其他', value: 'OTHER'}],
      rulesClientRepayment: {
        type: [
          {required: true, message: '请选择还款方式', trigger: 'change',},
        ],
        totalAmount: [
          {required: true, message: '请输入还款金额', trigger: 'change',},
          {
            pattern: /^[1-9]\d*(,\d{3})*(\.\d{1,2})?$|^0.\d{1,2}$/,
            message: '请输入2位小数金额',
            trigger: ['blur', 'change']
          }
        ],
        paybackDate: [
          {required: true, message: '请选择还款截止日期', trigger: 'change',},
        ],
        stagesDay: [
          {required: true, message: '请选择每期还款日期', trigger: 'change',},
        ],
        partAmount: [
          {required: true, message: '请输入分期前偿还金额	', trigger: 'change',},
          {
            pattern: /^[1-9]\d*(,\d{3})*(\.\d{1,2})?$|^0.\d{1,2}$/,
            message: '请输入2位小数金额',
            trigger: ['blur', 'change']
          }
        ],
        partDate: [
          {required: true, message: '请选择分期前偿还日期', trigger: 'change',},
        ],
        stagesNum: [
          {required: true, message: '请输入分期期数', trigger: 'change',},
          {pattern: /^[1-9]\d*$/, message: '只能输入正整数', trigger: ['blur', 'change']}
        ],
      },

      communicationRecord: [],

      visiblePopover: null,
      VideoCallDialog: null,
      mediaterecordpm:{
        caseId:this.$route.query.caseId,
        linkedWay:''
      },
      materialTypeOptions: [
        {label:'承诺账户',value:'1'},{label:'重点账户',value:'2'},{label:'拒联账户',value:'3'},{label:'已结清客户',value:'4'},
        {label:'疑难账户',value:'5'},{label:'失联账户',value:'6'},{label:'半失联账户',value:'7'},{label:'部分还款账户',value:'8'},
        {label:'适诉案件',value:'9'},{label:'可联账户',value:'10'},{label:'投诉倾向客户',value:'11'},{label:'分期客户',value:'12'},
        {label:'其他/无标签',value:'13'}
      ],
    };
  },
  computed: {
    // 左侧
    leftContentHeight() {
      let oh = document.documentElement.clientHeight;
      return oh - 100
    },
    // 获取右侧滚动高度
    rightContentHeight() {
      let oh = document.documentElement.clientHeight;
      return oh - 57
    },
    // 获取抽屉drawer的内容高度
    OfficecontentHeight() {
      let oh = document.documentElement.clientHeight;
      return oh - 185
    },
    CommunicationcontentHeight() {
      let oh = document.documentElement.clientHeight;
      return oh - 57 - 48 - 38 -308
    },
    MediationrecordHeight() {
      let oh = document.documentElement.clientHeight;
      return oh - 57 - 128
    },
  },
  async created() {
    this.caseId = this.$route.query.caseId
    this.getCaseInfoById();//获取详情
    this.getmediate_record()
  },
  beforeDestroy() {
    // if(this.timer) { //如果定时器还在运行 或者直接关闭，不用判断
    //     clearInterval(this.timer); //关闭
    // }
  },
  methods: {
    debtorEntityCardNo(datalist, len) {
      let datacardno = ''
      let dataphone = ''
      datalist.forEach((item, index) => {
        if (index == 0) {
          datacardno = item.cardNo
          dataphone = item.phone
        } else {
          datacardno += ',' + item.cardNo
          dataphone += ',' + item.phone
        }
      })

      return {cardNo: datacardno.substring(0, len), phone: dataphone.substring(0, len)};
    },
    // 获取详情
    getCaseInfoById() {
      let _that = this
      api.getCaseInfoById(this.caseId).then(res => {
        if (!res.code) {
          this.baseInfo = res
          // 材料
          // console.log('获取图片',res.caseFileEntityList)
          let caseFileEntityList = []
          res.caseFileEntityList.forEach((item) => {
            caseFileEntityList.push({name: item.name, fileName: item.name, url: item.url})
          })
          _that.fileList = caseFileEntityList
        }
      })
    },
    // 获取上一件案件
    getFrontCaseById() {
      if (!this.$clickThrottle()) {
        return
      }//防止重复点击
      api.getFrontCaseById({id: this.caseId}).then(res => {
        if (!res.code) {
          // let caseChangeData = res
          this.detailData(res)
        }
      })
    },
    // 获取下一件案件
    getNextCaseById() {
      if (!this.$clickThrottle()) {
        return
      }//防止重复点击
      api.getNextCaseById({id: this.caseId}).then(res => {
        if (!res.code) {
          this.detailData(res)
        }
      })
    },
    handleBack() {
      // this.$route.query.sourcePage == 'mediationManagement'
      this.$router.push('/mediation-management')
    },
    // 获取调解记录
    getmediate_record() {
      api.mediate_record_list(this.mediaterecordpm).then(res => {
        if (!res.code) {
          this.communicationRecord = res
        }
      })
    },
  }
};
</script>
<style lang="scss" scoped>
.ai-logo-img{
  width: 29px;
  height: 29px;
  background: url('~@/assets/image/ai-logo.png') no-repeat;
  background-size: 100%,100%;
}

.bg-F2F3F5{
  background-color: #F2F3F5;
}

.btn-group-controls{
  width: 864px;
  height: 56px;
  border-radius: 16px;
  background-color: #fff;
  position: fixed;
  bottom: 20px;
  left: calc(50% - 432px);
  box-shadow: 0 2px 12px 0 rgba(0,0,0,.1);
  .btn-group-real-time{
    width: 64px;
  }
  .btn-group-interval{
    width: 1px;
    height: 40px;
    background-color: #C9CDD4;
  }
  .btn-group-processing-event{
    width: calc(100% - 64px - 1px - 48px);
  }
}

.layout-center-wrap {
  height: 100%;
  font-size: 14px;

  .layout-center-top-wrap {
    padding: 8px 16px;
    border-bottom: solid 1px #E5E6EB;

    .top-wrap-title{
      width: 223px;
      height: 32px;
      background: url('~@/assets/image/logo-tjs.png');
      background-size:  100%,100%;
      margin-top: 4px;
    }

    .top-wrap-btn-left{
      //width: 55%;
      min-width: 1034px;
      .wrap-btn-left-dial{
        background-color: #FFF2F0;
        border-radius: 20px;

      }
    }
  }

  .layout-center-center-wrap {

    height: 100%;

    .background-color-F5F5F5 {
      background-color: #F5F5F5;
    }

    .border-E5E6EB {
      border: solid 1px #E5E6EB;
    }

    .width120px {
      width: 140px;
    }

    .width180px {
      width: 220px;
    }

    .width200px {
      width: calc(50% - 320px);
    }

    .layout-center-left-wrap {
      background: url('~@/assets/image/mediate/m-left-bg.png') no-repeat;
      background-size: 100% 100%;
      width: 540px;
      height: 100%;
      border-right: 1px solid var(--fill-3, #E5E6EB);

      .layout-center-left1-wrap {
        width: 80px;
        height: 100%;
        text-align: center;

        .left-rbobot {
          width: 100%;
          height: 80px;
          text-align: center;
          margin: 30px 0 0 0;

          img {
            width: 64px;
          }
        }

        .separation {
          width: 50px;
          margin: 15px 0 0 15px;
          border-bottom: solid 1px #dedfe4;
        }

        .left-img-info {
          margin-top: 15px;
          width: 100%;
          font-size: 12px;
          cursor: pointer;

          img {
            width: 48px;
            margin-left: 15px;
          }

          a {
            margin-top: 5px;
          }
        }

        .left-img-info.active {
          background: url('~@/assets/image/mediate/m-triangle.png') no-repeat;
          background-size: 15px 30px;
          background-position: 68px 10px;
        }

        .left-img-info:hover {
          background: url('~@/assets/image/mediate/m-triangle.png') no-repeat;
          background-size: 15px 30px;
          background-position: 68px 10px;
        }
      }

      .layout-center-left2-wrap {
        width: 460px;
        height: 100%;
        background-color: #fff;
        // border-radius: 25px 0px 0px 25px;
        padding: 20px 30px;


        .case-debt-info{
          .descriptions-t{
            .descriptions-t-title{
              //margin-bottom: 5px;
            }
            .descriptions-t-item-l{
              padding: 12px 10px;
              text-align: right;
              width: 40%;
            }
            .descriptions-t-item-r{
              padding: 12px 10px;
              text-align: left;
              width: 60%;
            }
            .bgColor-F7F8FA{
              background-color: #F7F8FA;
            }
          }

          .case-debt-info-call{
            padding: 12px 42px;
          }
        }

        .case-contact-person{
          .contact-person-type{
            background-color: #F2F3F5;
            padding:5px 15px;
            border-radius: 8px;
            margin: 0 5px;
            cursor: pointer;
          }
        }

        .case-detail-des {
          border: solid 1px #E5E6EB;
          padding: 10px 15px;
          border-radius: 8px;
          font-size: 14px;

          span {
            margin: 3px 0;
            padding: 3px 10px;
            // a:first-child{width: 120px;display: inline-block;text-align: right;}
          }

          span:nth-child(even) {
            background-color: #F7F8FA;
          }

          .case-img {
            width: 50px;
            height: 50px;
            text-align: center;
            line-height: 50px;

            img {
              max-width: 50px;
              max-height: 50px;
            }
          }

        }

        .case-materials-person {
          .case-detail-des {
            i {
              margin-right: 4px;
            }
          }
        }

        .case-office-person {

          .case-detail-des {
            .case-img {
              width: 55px;
              height: 55px;
              text-align: center;
              line-height: 55px;

              img {
                max-width: 55px;
                max-height: 55px;
              }
            }

            i {
              margin-right: 4px;
            }
          }
        }

      }


    }

    .layout-center-right-wrap {
      background: #F2F3FA;
      // background: url('~@/assets/image/mediate/m-right-bg.png') no-repeat;
      background-size: 100% 100%;
      width: calc(100% - 540px);
      height: 100%;
      .right-wrap-left{
        width: 367px;
        height: 100%;
      }

      .right-wrap-right{
        width: calc(100% - 367px - 40px);
        .timeline-layout{
          .timeline-layout-w{
            width: calc(50% - 8px);
            .icon-bg{
              width: 20px;
              height: 20px;
              // border-radius: 4px;
              // color: #FFFFFF;

              .callphone-icon{
                background: url('~@/assets/image/mediate/callphone.png') no-repeat;
                display: inline-block;
                width: 20px;
                height: 20px;
                background-size: 100% 100%;
              }
              .callbackphone-icon{
                background: url('~@/assets/image/mediate/callbackphone.png') no-repeat;
                display: inline-block;
                width: 20px;
                height: 20px;
                background-size: 100% 100%;
              }
              .nocallphone-icon{
                background: url('~@/assets/image/mediate/nocallbackphone.png') no-repeat;
                display: inline-block;
                width: 20px;
                height: 20px;
                background-size: 100% 100%;
              }

              .callvideo-icon{
                background: url('~@/assets/image/mediate/callvideo.png') no-repeat;
                display: inline-block;
                width: 20px;
                height: 20px;
                background-size: 100% 100%;
              }
              .callwechat-icon{
                background: url('~@/assets/image/mediate/WeChat.png') no-repeat;
                display: inline-block;
                width: 20px;
                height: 20px;
                background-size: 100% 100%;
              }
            }
            // .icon-phone{
            //   background-color: #52ABF2;
            // }
            .icon-video{
              background-color: #FF7D00;
            }
            .timeline-layout-w-records{
              background-color: #F5F5F5;
              border-radius: 4px;
              padding: 8px 12px 12px 12px;
            }
          }
          .timeline-layout-ai{
            padding: 6px 16px;
            border-radius: 4px;
            background: linear-gradient(270deg, #F1F4FE 0%, #FFF2F8 100%);
          }
        }
      }

      .right-wrap-side{
        width: 40px;
        height: 100%;
        background-color: #F7F8FA;
      }

      //.case-communication-record {
      //  .btn-communication {
      //    padding: 5px 15px;
      //    border-radius: 8px;
      //    cursor: pointer;
      //  }
      //
      //  .case-communication-cont {
      //    // background: ;
      //    padding: 20px;
      //    border-radius: 8px;
      //    margin-top: 15px;
      //  }
      //}
      //.case-office-record, .case-materials-record {
      //
      //  span a {
      //    color: #C66A5B;
      //    margin-right: 13px;
      //    cursor: pointer;
      //  }
      //
      //  span a:last-child {
      //    margin-right: 0;
      //  }
      //}
    }

  }

}
</style>
