<template>
  <view class="content">
    <view class="card">
      <view class="view-title">
        <u--text text="隐患信息" bold></u--text>
      </view>
      <u-cell-group :border="false">
        <u-cell>
          <view slot="title" class="title">隐患来源</view>
          <view slot="value">
            <template v-if="form.source === '1'">
              隐患快报
            </template>
            <template v-else-if="form.source === '2'">
              清单排查
            </template>
            <template v-else-if="form.source === '3'">
              清单排查
            </template>
            <template v-else-if="form.source === '8'">
              点检隐患
            </template>
          </view>
        </u-cell>
        <u-cell>
          <view slot="title" class="title">隐患描述</view>
          <view slot="label" class="mt-10">{{ form.hiddendescr }}</view>
        </u-cell>
        <template v-if="form.source === '2'">
          <u-cell>
            <view slot="title" class="title">风险点（单元）</view>
            <view slot="value">{{ form.riskUnit }}</view>
          </u-cell>
          <u-cell>
            <view slot="title" class="title">辨识部位</view>
            <view slot="value">{{ form.identification }}</view>
          </u-cell>
          <u-cell>
            <view slot="title" class="title">存在风险</view>
            <view slot="value">{{ form.riskDescr }}</view>
          </u-cell>
          <u-cell>
            <view slot="title" class="title">风险分级</view>
            <view slot="value">{{ form.level }}</view>
          </u-cell>
          <u-cell>
            <view slot="title" class="title">检查内容</view>
            <view slot="value">{{ form.checkContent }}</view>
          </u-cell>
        </template>
        <u-cell>
          <view slot="title" class="title">隐患级别</view>
          <view slot="value">{{ form.hiddenlevelName }}</view>
        </u-cell>
        <u-cell>
          <view slot="title" class="title">隐患状态</view>
          <view slot="value">
            <template>已核定</template>
          </view>
        </u-cell>
        <u-cell>
          <view slot="title" class="title">隐患类型</view>
          <view slot="value">{{ form.hiddenTypeName }}</view>
        </u-cell>
        <u-cell>
          <view slot="title" class="title">隐患部位</view>
          <view slot="value">{{ form.hiddenpartStr || info.hiddenpart }}</view>
        </u-cell>
        <u-cell>
          <view slot="title" class="title">是否是相关方：</view>
          <view slot="value">{{ form.isrelevant === '1'?'是':'否' }}</view>
        </u-cell>
        <u-cell>
          <view slot="title" class="title">隐患位置描述：</view>
          <view slot="value">{{ form.positiondesc }}</view>
        </u-cell>
        <u-cell>
          <view slot="title" class="title">隐患上报位置</view>
          <view slot="label" class="mt-10">
            <view>经度:{{ form.longitude }}</view>
            <view>纬度:{{ form.latitude }}</view>
          </view>
        </u-cell>
        <u-cell>
          <view slot="title" class="title">隐患图片</view>
          <view slot="label" class="mt-10">
            <view style="display: flex;flex-wrap: wrap">
              <view v-for="(item,index) in hImgs" :key="index" class="ml-10 mt-10">
                <u--image :showLoading="true" :src="item" width="80px" height="80px"
                          @click="previewImage(hImgs,item)"></u--image>
              </view>
            </view>
          </view>
        </u-cell>
        <u-cell v-if="videoUrl">
          <view slot="title" class="title">隐患视频</view>
          <view slot="value">
            <u-icon name="play-circle-fill" size="30" @click="modalShow = true"></u-icon>
          </view>
        </u-cell>
        <u-modal :show="modalShow" title="视频播放" confirmText="关闭" @confirm="modalShow = false">
          <view>
            <video v-if="modalShow" :src="videoUrl" :autoplay="true"></video>
          </view>
        </u-modal>
        <u-cell>
          <view slot="title" class="title">隐患发现人</view>
          <view slot="value">
            {{
              hiddenFindPeople
                  .map((item) => item.userName)
                  .filter(Boolean)
                  .join("、") || info.creatorName
            }}
          </view>
        </u-cell>
        <u-cell>
          <view slot="title" class="title">隐患发现时间</view>
          <view slot="value">{{ form.discoverytime }}</view>
        </u-cell>
      </u-cell-group>
    </view>
    <view class="card">
      <view class="view-title">
        <u--text text="发现隐患部门负责人确认" bold></u--text>
      </view>
      <u-cell-group :border="false">
        <u-cell>
          <view slot="title" class="title">隐患级别</view>
          <view slot="value">{{ form.hiddenlevelName }}</view>
        </u-cell>
        <u-cell v-if="majorinforPdf?.[0]">
          <view slot="title" class="title">临时处置信息</view>
          <view slot="value">
            <u-button type="primary" text="下载" size="mini"
                      @click="downloadAppendix(majorinforPdf?.[0])"></u-button>
          </view>
        </u-cell>
        <u-cell v-if="supplementPdf?.[0]">
          <view slot="title" class="title">补充重大隐患信息</view>
          <view slot="value">
            <u-button type="primary" text="下载" size="mini"
                      @click="downloadAppendix(supplementPdf?.[0])"></u-button>
          </view>
        </u-cell>
        <u-cell>
          <view slot="title" class="title">隐患确认人</view>
          <view slot="value">{{ form.confirmUserName }}</view>
        </u-cell>
        <u-cell>
          <view slot="title" class="title">隐患确认时间</view>
          <view slot="value">{{ form.confirmTime }}</view>
        </u-cell>
      </u-cell-group>
    </view>
    <view class="card">
      <view class="view-title">
        <u--text text="分公司安委会办公室副主任核实" bold></u--text>
      </view>
      <u-cell-group :border="false">
        <u-cell>
          <view slot="title" class="title">隐患级别</view>
          <view slot="value">{{ form.hiddenlevelName }}</view>
        </u-cell>
        <u-cell v-if="safetyofficePdf?.[0]">
          <view slot="title" class="title">安委会办公室会议记录</view>
          <view slot="value">
            <u-button type="primary" text="下载" size="mini"
                      @click="downloadAppendix(safetyofficePdf?.[0])"></u-button>
          </view>
        </u-cell>
        <u-cell v-if="majorapprovedPdf?.[0]">
          <view slot="title" class="title">临时处置信息</view>
          <view slot="value">
            <u-button type="primary" text="下载" size="mini"
                      @click="downloadAppendix(majorapprovedPdf?.[0])"></u-button>
          </view>
        </u-cell>
        <u-cell>
          <view slot="title" class="title">核对结果</view>
          <view slot="value">{{ resultslist.checkresults === '2' ? '核对确定' : '' }}</view>
        </u-cell>
        <u-cell>
          <view slot="title" class="title">核实人</view>
          <view slot="value">{{ resultslist.checker }}</view>
        </u-cell>
        <u-cell>
          <view slot="title" class="title">核实时间</view>
          <view slot="value">{{ resultslist.checkTime }}</view>
        </u-cell>
      </u-cell-group>
    </view>
    <view class="card">
      <view class="view-title">
        <u--text text="港股分公司安委会办公室副主任核定" bold></u--text>
      </view>
      <u-cell-group :border="false">
        <u-cell>
          <view slot="title" class="title">隐患级别</view>
          <view slot="value">{{ form.hiddenlevelName }}</view>
        </u-cell>
        <u-cell>
          <view slot="title" class="title">核定人</view>
          <view slot="value">{{ resultslist.approved || resultslist.checker }}</view>
        </u-cell>
        <u-cell>
          <view slot="title" class="title">核定时间</view>
          <view slot="value">{{ resultslist.approvedTime }}</view>
        </u-cell>
        <u-cell v-if="reportPdf?.[0]">
          <view slot="title" class="title">隐患调查报告</view>
          <view slot="value">
            <u-button type="primary" text="下载" size="mini"
                      @click="downloadAppendix(reportPdf?.[0])"></u-button>
          </view>
        </u-cell>
        <u-cell v-if="resolutionPdf?.[0]">
          <view slot="title" class="title">安委会或党委会决议记录</view>
          <view slot="value">
            <u-button type="primary" text="下载" size="mini"
                      @click="downloadAppendix(resolutionPdf?.[0])"></u-button>
          </view>
        </u-cell>
      </u-cell-group>
    </view>
    <view class="card" v-if="form.rectificationName">
      <view class="view-title">
        <u--text text="较大隐患整改" bold></u--text>
      </view>
      <u-cell-group :border="false">
        <u-cell>
          <view slot="title" class="title">整改部门</view>
          <view slot="value">{{ form.rectificationDeptName }}</view>
        </u-cell>
        <u-cell>
          <view slot="title" class="title">整改人</view>
          <view slot="value">{{ form.rectificationName }}</view>
        </u-cell>
        <u-cell v-if="rectificationPdf?.[0]">
          <view slot="title" class="title">隐患调查报告</view>
          <view slot="value">
            <u-button type="primary" text="下载" size="mini"
                      @click="downloadAppendix(rectificationPdf?.[0])"></u-button>
          </view>
        </u-cell>
        <u-cell v-if="processPdf?.[0]">
          <view slot="title" class="title">安委会或党委会决议记录</view>
          <view slot="value">
            <u-button type="primary" text="下载" size="mini"
                      @click="downloadAppendix(processPdf?.[0])"></u-button>
          </view>
        </u-cell>
      </u-cell-group>
    </view>
  </view>
</template>

<script>
import {getHiddenGoEdit} from "@/api";

export default {
  data() {
    return {
      hiddenId: '',
      form: {},
      hImgs: [],
      videoUrl: '',
      modalShow: false,
      majorinforPdf: {},
      supplementPdf: {},
      safetyofficePdf: {},
      majorapprovedPdf: {},
      resultslist: {},
      reportPdf: {},
      resolutionPdf: {},
      rectificationPdf: {},
      processPdf: {},
      hiddenFindPeople: [],
    }
  },
  onLoad(event) {
    this.hiddenId = event.hiddenId;
    this.getData()
  },
  methods: {
    async getData() {
      let resData = await getHiddenGoEdit({ id: this.hiddenId });
      this.form = resData.data;
      this.hiddenFindPeople = resData.data?.acceptor;
      this.resultslist = resData.data?.major?.[0] || {};
      this.majorinforPdf = this.findAPicture(resData.data?.files, 106);
      this.majorapprovedPdf = this.findAPicture(resData.data?.files, 107);
      this.resolutionPdf = this.findAPicture(resData.data?.files, 109);
      this.reportPdf = this.findAPicture(resData.data?.files, 108);
      this.rectificationPdf = this.findAPicture(resData.data?.files, 110);
      this.processPdf = this.findAPicture(resData.data?.files, 111);
      this.supplementPdf = this.findAPicture(resData.data?.files, 112);
      this.safetyofficePdf = this.findAPicture(resData.data?.files, 113);
      this.hImgs = this.findAPicture(resData.data?.files, 3);
      this.videoUrl = this.findAPicture(resData.data?.files, 102)?.[0];
    },
    previewImage(list, current) {
      uni.previewImage({
        urls: list,
        current
      });
    },
    downloadAppendix(DISPOSAL_FILE) {
      uni.downloadFile({
        url: this.$store.state.filePath + DISPOSAL_FILE,
        success: (res) => {
          uni.openDocument({
            filePath: res.tempFilePath,
          });
        },
      });
    },
    findAPicture(files, type) {
      const result = [];
      files?.forEach((item) => {
        if (item?.type === type) {
          result.push(this.$store.state.filePath + item.filepath);
        }
      });
      return result.length > 0 ? result : null;
    }
  },
}
</script>

<style scoped>

</style>
