<template>
  <el-dialog title="详情" :visible.sync="detailOpen" width="1200px" append-to-body destroy-on-close :close-on-click-modal="false">

    <el-form label-width="120px">
      <el-row>
        <el-col :span="12">
          <el-row class="el-row-table">
            <el-col :span="12">
              <el-form-item label="停气开始日期">
                <span v-if="detailInfo.fStartDate">{{ detailInfo.fStartDate }}</span>
                <span v-else>-</span>
              </el-form-item>
            </el-col>

            <el-col :span="12">
              <el-form-item label="停气结束日期">
                <span v-if="detailInfo.fEndDate">{{ detailInfo.fEndDate }}</span>
                <span v-else>-</span>
              </el-form-item>
            </el-col>

            <el-col :span="12">
              <el-form-item label="停气类型">
                <span v-if="detailInfo.fStopType">{{ $parent.fStopTypeFormat(detailInfo) }}</span>
                <span v-else>-</span>
              </el-form-item>
            </el-col>

            <el-col :span="12">
              <el-form-item label="停气进度">
                <span v-if="detailInfo.fStopType">{{ $parent.fStopProgressFormat(detailInfo) }}</span>
                <span v-else>-</span>
              </el-form-item>
            </el-col>

            <el-col :span="12">
              <el-form-item label="影响用户">
                <span v-if="detailInfo.fInfluenceCus">{{ detailInfo.fInfluenceCus }}</span>
                <span v-else>-</span>
              </el-form-item>
            </el-col>

            <el-col :span="12">
              <el-form-item label="停气原因">
                <span v-if="detailInfo.fStopReason">{{ detailInfo.fStopReason }}</span>
                <span v-else>-</span>
              </el-form-item>
            </el-col>

            <el-col :span="12">
              <el-form-item label="停气范围">
                <span v-if="detailInfo.fStopRange">{{ detailInfo.fStopRange }}</span>
                <span v-else>-</span>
              </el-form-item>
            </el-col>  
            <el-col :span="12">
              <el-form-item label="创建时间">
                <span v-if="detailInfo.createTime">{{ detailInfo.createTime }}</span>
                <span v-else>-</span>
              </el-form-item>
            </el-col>

            <el-col :span="12">
              <el-form-item label="更新时间">
                <span v-if="detailInfo.updateTime">{{ detailInfo.updateTime }}</span>
                <span v-else>-</span>
              </el-form-item>
            </el-col>
          </el-row>
          <div>
            <h3>停气操作记录</h3>
            <div class="stop-record">
              <el-table :data="stopLog">
                <el-table-column label="停气进度" align="center" prop="fStopProgress" :formatter="$parent.fStopProgressFormat"/>
                <el-table-column label="操作停气进度时间" align="center" prop="fOprDate" width="150">
                  <template slot-scope="scope">
                    <span>{{ parseTime(scope.row.fOprDate, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
                  </template>
                </el-table-column>
              </el-table>
              <pagination
                v-show="total>0"
                :total="total"
                :pageSizes="[5,10, 20, 30, 50]"
                :page.sync="queryParams.pageNum"
                :limit.sync="queryParams.pageSize"
                @pagination="getStopLog"
              />
            </div>
          </div>
        </el-col>

        <el-col :span="12" style="padding-left: 10px">
          <div style="font-size: 14px;color: #606266;margin-bottom: 10px;font-weight: 700">停气区域</div>
          <div id="areaInfo"></div>
        </el-col>
      </el-row>

    </el-form>


    <el-divider content-position="left">上报时态</el-divider>
    <el-form label-width="170px">
      <el-row class="el-row-table">    
        
          <el-col :span="12">
                <el-form-item :label="fUploadTypeLable"  >
                  <span>{{fUploadType}}</span> 
                </el-form-item>
          </el-col>

          <el-col :span="12">
              <el-form-item :label="fUploadTimeLable" >
                <span>{{ fUploadTime }}</span> 
              </el-form-item>
          </el-col>
              
          <el-col :span="12"> 
            <el-form-item  v-if="this.$store.state.user.roleId == 3" label="企业端上报时间" >
              <span>{{ detailInfo.entRepTime }}</span>
            </el-form-item>
          </el-col>   

      </el-row>
    </el-form>


  </el-dialog>

</template>

<script>
  import { getSup } from "@/api/supplybalance/stop";
  import { EditorMap } from "@/utils/mapClass/getPath.js";
  import { listLog } from "@/api/supplybalance/stopLog.js";
  export default {
    name: "detail-info",
    data(){
        return{
          detailInfo: {},
          detailOpen: false,
          stopLog: [],
          total: 0,
          fUploadType: "",
          fUploadTime: null,
          fUploadTimeLable: "",
          fUploadTypeLable: "",
          queryParams: {
            pageNum: 1,
            pageSize: 5,
            fGasStopId: null,
          },
        }
    },
    watch:{
      detailOpen(newVal){
        if(newVal){
          //if(this.detailInfo.fGasStopArea) this.path = JSON.parse(this.detailInfo.fGasStopArea);
          this.$nextTick(() =>{
            this.initMap();
          });
          this.getStopLog();
        }
      }
    },
    methods:{
      //根据不同角色显示不同字段
      showUploadType() {
        let roleId = this.$store.state.user.roleId;
        if (roleId == 3) {
          this.fUploadType =  this.detailInfo.fGovUploadStatus
          this.fUploadTypeLable = "上报省厅状态"
        }
        if (roleId == 5) {
          this.fUploadType =  this.detailInfo.fRepStatus
          this.fUploadTypeLable = "上报状态"
        }

        if (this.fUploadType == '0') {
          this.fUploadType = "未上报"
        }
        if (this.fUploadType == '1') {
          this.fUploadType = "已上报"
        }
      },
      showUploadTime() {

        let roleId = this.$store.state.user.roleId;
        if (roleId == 3) {
          this.fUploadTime =  this.detailInfo.fGovUploadTime
          this.fUploadTimeLable = "上报省厅时间"
        }
        if (roleId == 5) {
          this.fUploadTime =  this.detailInfo.entRepTime
          this.fUploadTimeLable = "上报时间"
        }
      },
      getDetailInfo(id){
        this.queryParams.fGasStopId = id;
        getSup(id).then(res =>{
          if(res.code == 200 && res.data){
            this.detailInfo = res.data;
            this.showUploadType();
            this.showUploadTime();
            this.detailOpen = true;
          }
        })
      },
      initMap(){
        const path = eval(this.$store.state.user.systemSetting.map_center);
        const gaoMap = new EditorMap("areaInfo", {center:path}, this);
        if(this.detailInfo.fGasStopArea){
          if (this.detailInfo.fGasStopArea.includes("#")){
            let areas = this.detailInfo.fGasStopArea.split("#");
            for (let i = 0; i < areas.length;i++) {
                let areasItem = areas[i];
                if (areasItem != null && areasItem != "") {
                    new AMap.Polygon({
                      map: gaoMap.map,
                      path: JSON.parse(areasItem),
                      fillColor:'#00b0ff',
                      strokeColor:'#80d8ff'
                    });
                }
            }

          } else {
            new AMap.Polygon({
            map: gaoMap.map,
            path: JSON.parse(this.detailInfo.fGasStopArea),
            fillColor:'#00b0ff',
            strokeColor:'#80d8ff'
          });
          gaoMap.setCenter(JSON.parse(this.detailInfo.fGasStopArea)[0]);
          }
          gaoMap.map.setZoom(12)
        }
      },
      getStopLog(){
        listLog(this.queryParams).then(res =>{
          if(res.code == 200 && res.rows){
            console.log("fdsfd=======",res)
            this.stopLog = res.rows;
            this.total = res.total;
          }
        })
      }
    }
  }
</script>

<style scoped lang="scss">
  #areaInfo{
    width: 100%;
    height: 650px;
  }

  .stop-record{
    height: 350px;
    overflow-y: scroll;
    &::-webkit-scrollbar {
      /* 设置滚动条宽度 */
      width: 4px;
      /* 设置滚动条背景色 */
      //background: black;
    }

    //滚动条轨道
    &::-webkit-scrollbar-track {
      background-color:transparent;
      -webkit-border-radius: 2em;
      -moz-border-radius: 2em;
      border-radius:2em;
    }

    //滚动条滑块
    &::-webkit-scrollbar-thumb {
      background-color: rgb(147,147,153,0.5);
      -webkit-border-radius: 2em;
      -moz-border-radius: 2em;
      border-radius:2em;
    }
  }

</style>
