<template>
  <div class="closed">
    <div class="conentBox">
      <div class="header">处理方案</div>
      <div v-if="model.incident" class="conent">
        <div class="navBar">
          <div class="fl">
            <a :class="{active:actives=='info'}" href="javascript:;" @click="toInfo('info')">事件信息</a>
          </div>
          <div class="fl">
            <a
              :class="{active:actives=='handlerInfo'}"
              href="javascript:;"
              @click="toInfo('handlerInfo')"
            >处理信息</a>
          </div>
          <div class="fl">
            <a
              :class="{active:actives=='closeInfo'}"
              href="javascript:;"
              @click="toInfo('closeInfo')"
            >关单信息</a>
          </div>
          <div class="fl">
            <a
              :class="{active:actives=='progress'}"
              href="javascript:;"
              @click="toInfo('progress')"
            >处理进度</a>
          </div>
        </div>

        <div class="info">
          <div class="label headtop" id="info">事件信息</div>
          <div class="head">
            <p>
              <i class="iconfont icon-zuixinbaoxiu newPapir"></i>
              事件编号：{{model.incident.incidentsign}}
              <span class="fr btn yiguanbi">{{model.incident.state.name}}</span>
            </p>
          </div>
          <p>
            <span class="fl">事件分类</span>
            <span class="fr">{{model.incident.category.category}}</span>
          </p>
          <!-- <p>
            <span class="fl">事件主题</span>
            <span class="fr">{{model.incident.title}}</span>
          </p> -->
          <p class="desc">
            <span class="fl">事件描述</span>
            <span class="fr grayFont" v-html="model.incident.description"></span>
          </p>
          <div class="shows" id="shows">
            <p v-if="valConfig==2">
              <span class="fl">报修科室</span>
              <span class="fr">{{model.incident.department?model.incident.department.dept:''}}</span>
            </p>
            <p v-if="valConfig==1">
              <span class="fl">报修人</span>
              <span class="fr">{{model.incident.requester.name}}</span>
            </p>
            <p v-if="valConfig==2">
              <span class="fl">联系人</span>
              <span class="fr">{{model.incident.contacts}}</span>
            </p>
            <p>
              <span class="fl">联系电话</span>
              <span class="fr">{{model.incident.contactsInformation}}</span>
            </p>
            <p>
              <span class="fl">联系地址</span>
              <span class="fr">{{model.incident.houseNumber||''}}</span>
            </p>
            <p class="boeder_B">
              <span class="fl">事件来源</span>
              <span class="fr">{{model.incident.source.name}}</span>
            </p>
            <!-- <p>
              <span class="fl">影响度</span>
              <span class="fr">{{model.incident.influence?model.incident.influence.name:''}}</span>
            </p>
            <p>
              <span class="fl">紧急度</span>
              <span class="fr">{{model.incident.emergency?model.incident.emergency.name:''}}</span>
            </p> -->
            <p>
              <span class="fl">优先级</span>
              <span class="fr">{{model.incident.priority?model.incident.priority.name:''}}</span>
            </p>
            <p>
              <span class="fl">逾期响应时间</span>
              <span class="fr">{{model.incident.overdueResponseDate}}</span>
            </p>
            <p>
              <span class="fl">逾期解决时间</span>
              <span class="fr">{{model.incident.overdueTime}}</span>
            </p>
          </div>
          <p class="info_hide">
            <span class="fl hide" @click="hides()" v-if="!item_hides">展开详情 >></span>
            <span class="fl hide" @click="hides()" v-if="item_hides">隐藏详情<<</span>
          </p>
          <div class="imgs-container" v-if="imgs.length">
            <div class="imgs-cont">
              <img v-if='img.suffix=="jpeg"||img.suffix=="jpg"||img.suffix=="gif"||img.suffix=="png"||img.suffix=="svg"||img.suffix=="pdf"' :src="img.previewUrl" v-for="(img, index) in imgs" class="imgs">
              <p v-else>
                <a :href='[img.previewUrl]'>{{img.name}}</a>
              </p>
            </div>
          </div>

          <div class="label" id="handlerInfo">处理信息</div>
          <!-- <p>
            <span class="fl">升级对象</span>
            <span class="fr">{{model.isupreason?model.handlerUser.name:''}}</span>
          </p>
          <p>
            <span class="fl">升级原因</span>
            <span class="fr">{{model.isupreason?model.isupreason:''}}</span>
          </p> -->
          <p>
            <span class="fl">处理方式</span>
            <span
              class="fr showwrap"
            >{{model.incident.handleCategory?model.incident.handleCategory.name:''}}</span>
          </p>
          <div class="shows1" id="shows1">
            <p>
              <span class="fl">确认事件分类</span>
              <span class="fr">{{model.incident.category.category}}</span>
            </p>
            <p>
              <span class="fl">关闭代码</span>
              <span class="fr">{{model.incident.closecode?model.incident.closecode.name:''}}</span>
            </p>
            <p class="desc">
              <span class="fl">处理方案</span>
              <span class="fr grayFont" v-html="model.incident.handleDescription"></span>
            </p>
          </div>
          <p class="info_hide">
            <span class="fl hide" @click="hides1()" v-if="!item_hides1">展开详情 >></span>
            <span class="fl hide" @click="hides1()" v-if="item_hides1">隐藏详情<<</span>
          </p>

          <div class="label" id="closeInfo">关单信息</div>
          <p>
            <span class="fl">是否已解决</span>
            <span class="fr">{{model.isclose=='close'?'已解决':'未解决'}}</span>
          </p>
          <p>
            <span class="fl">结果类型</span>
            <span class="fr">{{model.incident.handleResult?model.incident.handleResult.name:''}}</span>
          </p>
          <p>
            <span class="fl">满意度评价</span>
            <span class="fr">{{model.incident.degree?model.incident.degree.name:''}}</span>
          </p>
          <p>
            <span class="fl">回访备注</span>
            <span class="fr">{{model.incident.visitRemarks||''}}</span>
          </p>

          <div class="label" id="progress">处理进度</div>
          <div :class="{'progress':true,'progressHide':!pro_hides}" id="progressBox">
            <div class="progress_info" v-for="item in progressInfo">
              <div class="progress_info_L">{{item.activityName}}</div>
              <div class="progress_info_R">
                <div class="time">
                  <i
                    :class="{'iconfont':true, 'icon-icon_weizuo':item.endTime!='','icon-icon_zhengzaijinx':item.endTime=='' }"
                  ></i>
                  <span class="text1">{{item.startTime}}</span>
                </div>
                <div
                  :class="{'cont':true,'blue':item.endTime!='' }"
                >
                  <p class="text2" v-if="item.desc">{{item.desc}}</p>
                </div>
              </div>
            </div>
          </div>
          <p class="info_hide">
            <span class="fl hide" @click="proHides()">{{pro_hides?'隐藏详情 <<':'展开详情 >>'}}</span>
          </p>
        </div>
      </div>
      <load-ing v-if="!model.incident"></load-ing>
    </div>
  </div>
</template>
<script>
import LoadIng from "./../views/loading.vue";
export default {
  data() {
    return {
      id:'',
      loginUser: JSON.parse(localStorage.getItem("loginUser")),
      valConfig: JSON.parse(localStorage.getItem("valConfig")) - 0, //报修主体
      selected: 1,
      options: [
        {
          label: "接单",
          value: 1
        },
        {
          label: "关单信息",
          value: 2
        }
      ],
      resignComment: "", //重新指派原因
      item_hides: false,
      item_hides1: false,
      actives: "info",
      processInstanceId: "",
      progressInfo: [], //处理进度
      imgs: [], //图片
      model: {}, //提交数据
      pro_hides:false,//展开/收起处理进度
    };
  },
  components: {
    LoadIng
  },
  methods: {
    //   获取事件数据
    getParamsData() {
      var that = this;
      that.$http
        .get(
          "/service/form/renderForm/receiveform/" +
            that.processInstanceId +
            "/" +
            that.loginUser.id+'/'+that.id,
          {}
        )
        .then(function(res) {
          console.log(res.data);
          that.model = res.data.model;
          //seimin
          localStorage.setItem('modelData',JSON.stringify(that.model))
        });
    },
    // 获取图片
    getImgs() {
      var that = this;
      that.$http
        .get(
          "service/common/common/listAttachment/incident/" +
            that.processInstanceId,
          {}
        )
        .then(function(res) {
          console.log(res.data);
          that.imgs = res.data.data.splice(0, 3);
          console.log(that.imgs);
        });
    },
    // 获取处理进度
    getProgressInfo() {
      var that = this;
      that.$http
        .post(
          "/service/bpm/bpm/flowTracingCustom/" + that.processInstanceId,
          {}
        )
        .then(function(res) {
          console.log(res.data);
          that.progressInfo = res.data.data;
          that.progressInfo.reverse();
        });
    },
    //隐藏显示详情
    hides() {
      this.item_hides = !this.item_hides;
      $("#shows").slideToggle();
    },

    // 处理进度隐藏/展开
    proHides(){
      if(!this.pro_hides){
        $('#progressBox').animate({'height':$('#progressBox')[0].scrollHeight})
      }else{
        $('#progressBox').animate({'height':'1.7rem'})
      }
      this.pro_hides=!this.pro_hides;
    },
    //隐藏显示详情
    hides1() {
      this.item_hides1 = !this.item_hides1;
      $("#shows1").slideToggle();
    },
    // 快速定位
    toInfo(id) {
      this.actives = id;
      $("body,html").animate(
        {
          scrollTop:
            $("#" + id).offset().top -
            $(".header")[0].offsetHeight -
            $(".navBar")[0].offsetHeight
        },
        260
      );
    }
  },
  created() {
    // seimin
    this.processInstanceId = this.$route.params.data
      ? this.$route.params.data.processInstanceId
      : JSON.parse(localStorage.getItem("modelData")).incident
          .processInstanceId;
          this.id=this.$route.params.data?this.$route.params.data.id:JSON.parse(localStorage.getItem("modelData")).incident.id;
    this.getParamsData();
    this.getProgressInfo();
    this.getImgs();
  }
};
</script>
<style lang="less" scoped>
i.iconfont {
  &.blue {
    color: #005395;
    // &::after {
    //   content: "";
    //   width: 0.01rem;
    //   height: 0.4rem;
    //   background: #005395;
    //   position: relative;
    //   display: block;
    //   left: 0.14rem;
    // }
  }
  &.blue1 {
    color: #005395;
  }
}
.closed {
  .header {
    width: 100%;
    height: 0.88rem;
    line-height: 0.88rem;
    text-align: center;
    color: #fff;
    font-size: 0.37rem;
    background: linear-gradient(#2e2f32, #414246);
    position: fixed;
    top: 0;
    z-index: 6;
  }
  .navBar {
    width: 100%;
    height: 0.96rem;
    line-height: 0.96rem;
    background-color: #fafafa;
    font-size: 0.28rem;
    position: fixed;
    top: 0.88rem;
    div {
      width: 25%;
      text-align: center;
      a {
        display: inline-block;
        height: 0.9rem;
        width: 1.7rem;
        padding: 0 0.1rem;
        &.active {
          color: #005395;
          border-bottom: 0.06rem solid #005395;
        }
      }
    }
  }

  .headtop {
    margin-top: 1.84rem;
  }
  .label {
    background-color: #eeeeee;
    height: 0.6rem;
    line-height: 0.58rem;
    padding-left: 0.2rem;
    font-size: 0.24rem;
    color: #666666;
    span {
      font-size: 0.2rem;
      display: inline-block;
      margin-left: 0.08rem;
      color: #999999;
    }
    &.formLabel {
      background-color: #fff;
    }
  }
  .conentBox {
    width: 100%;
    .conent {
      font-size: 0.32rem;
      font-weight: 400;
      line-height: 0.45rem;
      // border-bottom: 0.16rem solid #e5e5e5;

      .shows {
        display: none;
      }

      .shows1 {
        display: none;
      }
      .boeder_B {
        border-bottom: 0.01rem solid #ccc;
      }
         p {
          &.desc{
            overflow: hidden;
          }
          .grayFont {
            width: 75%;
            text-align: right;
            overflow-x: scroll;
          }
      }
      .bottom {
        overflow: hidden;
        line-height: 0.86rem;
        border-bottom: 0.01rem solid #e6e6e6;
        font-size: 0.24rem;
        color: #999;
        padding: 0 0.24rem 0 0.48rem;
      }
      .info {
        color: #999;
        font-size: 0.28rem;
        overflow: hidden;
        .head {
          border-bottom: 0.01rem solid #e6e6e6;
          p {
            padding: 0.24rem 0.3rem;
            i {
              color: #00559d;
            }
          }
        }
        p {
          line-height: 0.4rem;
          padding: 0.1rem 0.24rem;
          overflow: hidden;
          .overflowEllipsis2 {
            margin-left: 1.96rem;
          }
        }
        .info_hide {
          padding: 0.2rem 0.24rem;
          border-bottom: 0.01rem solid #e6e6e6;
          .hide {
            color: #00559d;
          }
        }
        .imgs-container{
          a{
            color:#03c !important;
            &:visited{
              color: #551a8b !important;
            }
          }
           img {
            width: 1.5rem;
            height: 1.5rem;
            margin-right: 0.7rem;
            &:nth-child(1) {
              margin-left: 0.75rem;
            }
          }
        }
        .progress {
          padding: 0.2rem 0.2rem;
          overflow: hidden;
          transition-duration: .2s;
          transition-timing-function: linear;
          &.progressHide{
            height: 1.7rem;
          }
          .progress_info {
            overflow: hidden;
            margin-bottom: 0.1rem;
            &:nth-last-child(1){
              .cont{
                border:none !important;
              }
            }
            .progress_info_L {
              float: left;
              color: #333;
              max-width: 18%;
            }
            .progress_info_R {
              float: right;
              margin-left: 0.09rem;
              width: 80%;
              font-size: 0.25rem;
              .time {
                i {
                  margin-left: -0.15rem;
                  &.icon-icon_weizuo {
                    color: #005495;
                  }
                  &.icon-icon_zhengzaijinx {
                    color: #48a843;
                    font-size: 0.37rem;
                  }
                }
                span {
                  margin-left: 0.15rem;
                }
              }
              .cont {
                border-left: 1px solid #999;
                padding-left: 0.4rem;
                min-height: 0.4rem;
                &.blue {
                  border-left: 1px solid #005395;
                }
              }

              .text1 {
                font-size: 0.15rem;
              }
              .text2 {
                color: #666;
              }
              p {
                padding: 0;
              }
            }
          }
        }
      }
      .txtLabel {
        width: 100%;
        overflow: hidden;
        padding: 0.32rem 0.24rem 0.32rem 0.32rem;
        .txt {
          width: 30%;
          color: #666;
        }
        .cube-textarea-wrapper {
          width: 62%;
        }
      }
      .sub {
        background: #ececec;
        .cube-btn {
          background-color: #005395 !important;
          width: 90%;
          margin: 0.2rem auto;
          border-radius: 8px;
        }
      }
    }
  }
  .showwrap {
    width: 75%;
    text-align: right;
  }
}
</style>
