<template>
  <el-dialog
    title="查看"
    width="70%"
    :close-on-click-modal="false"
    :visible.sync="visible">
    <div style="margin-left: 20px;margin-right: 20px">
      <!-- 工作流 -->
      <div v-show="dataForm.workFlowBusinessExt">
        <el-steps :active="dataForm.workFlowBusinessExt?dataForm.workFlowBusinessExt.workFlowProcessStepList.length + 2:0" align-center style="margin-bottom: 20px">
          <template v-for="(item, i) in stepList">
            <el-step :icon="item.icon" :title="item.title" :description="item.description"></el-step>
          </template>
        </el-steps>
        <el-collapse style="margin-bottom: 20px">
          <el-collapse-item>
            <template slot="title">
              <span style="color: red">审批日志（展开查看更多）：</span>
            </template>
            <template v-for="(item, i) in logList">
              <div>{{++i}}：{{item.approverName}}  {{item.createTime}}  {{item.approvalValue}}</div>
            </template>
          </el-collapse-item>
        </el-collapse>
      </div>
      <e-desc title="基本信息" column="3">
        <e-desc-item label="公告主题名称">{{dataForm.title}}</e-desc-item>
        <e-desc-item label="级别">{{dataForm.levelDesc}}</e-desc-item>
        <e-desc-item label="发布人">{{dataForm.publisherName}}</e-desc-item>
        <e-desc-item label="公告内容" span="3">{{dataForm.content}}</e-desc-item>
      </e-desc>
      <e-desc title="公告附件" column="3">
        <upload-component :display="true" :display-title="false" :accept="'*'" :file-obj-list="fileList"/>
      </e-desc>
      <e-desc title="接收对象信息" column="3">
        <e-desc-item label="接收对象" span="3">{{dataForm.receiverList?dataForm.receiverList.toString():''}}</e-desc-item>
        <e-desc-item label="已读" span="3">{{dataForm.readReceiverList?dataForm.readReceiverList.toString():''}}</e-desc-item>
      </e-desc>
    </div>
    <span slot="footer" class="dialog-footer">
      <el-button @click="visible = false">返回</el-button>
    </span>
  </el-dialog>
</template>

<script>
  import EDesc from '../common/e-desc'
  import EDescItem from '../common/e-desc-item'
  import { dealStepData, dealStepLogs } from '@/api/util'
  import uploadComponent from '../common/upload-component'
  import { getNoticeDetail } from '@/api/notice'
  export default {
    name: 'notice-detail',
    components: {
      EDesc, EDescItem, uploadComponent
    },
    data () {
      return {
        visible: false,
        id: 0,
        dataForm: {},
        stepList: [],
        logList: [],
        fileList: []
      }
    },
    methods: {
      async init (id) {
        this.visible = true
        this.id = id || 0
        this.dataForm = {}
        this.stepList = []
        this.logList = []
        this.fileList = []
        this.getDetails()
      },
      getDetails () {
        getNoticeDetail(this.id).then(({data}) => {
          if (data && data.code === '200') {
            this.dataForm = data.data
            // 流程图展示
            if (data.data.workFlowBusinessExt) {
              dealStepData(data.data.workFlowBusinessExt.workFlowProcessStepList, this.stepList)
              dealStepLogs(data.data.workFlowBusinessExt.processLogList, this.logList)
            }
            // 附件显示
            if (data.data.attaches) {
              data.data.attaches.forEach((item) => {
                this.fileList.push({
                  name: item.fileName,
                  url: item.url,
                  id: item.url
                })
              })
            }
          }
        })
      }
    }
  }
</script>

<style scoped>
.my-line{
  border-bottom: 1px solid #c0c4cc;
  margin-bottom: 10px;
}
.title{
  padding: 10px 0 ;
}
</style>
