<template>
  <a-card :bordered="false" title="会议签到">
    <template slot="extra">
      <a-button size="small" @click="close">返回</a-button>
    </template>
    <a-tabs :animated="false" :default-active-key="1" @change="changeTab" :headStyle="{ paddingTop: '300px' }">
      <a-tab-pane key="1" :tab="list1.title">
        <a-list item-layout="horizontal" :data-source="list1.data">
          <a-list-item slot="renderItem" slot-scope="item">
            <a-list-item-meta :description="headerListData(item)">
              <p slot="title">{{ item.name }}</p>
              <a-avatar slot="avatar" src="https://zos.alipayobjects.com/rmsportal/ODTLcjxAfvqbxHnVXCYX.png" />
            </a-list-item-meta>
            <div class="list-content">
              <div class="list-content-item">
                <span>签到状态</span>
                <p v-if="item.signStatus == 1" :style="{ color: 'turquoise' }">正常</p>
                <p v-if="item.signStatus == 2" :style="{ color: 'red' }">迟到</p>
              </div>
              <div class="list-content-item">
                <span>签到时间</span>
                <p>{{ item.signTime }}</p>
              </div>
            </div>
          </a-list-item>
        </a-list>
      </a-tab-pane>
      <a-tab-pane key="2" :tab="list2.title" force-render>
        <a-list item-layout="horizontal" :data-source="list2.data">
          <a-list-item slot="renderItem" slot-scope="item">
            <a-list-item-meta :description="headerListData(item)">
              <p slot="title">{{ item.name }}</p>
              <a-avatar slot="avatar" src="https://zos.alipayobjects.com/rmsportal/ODTLcjxAfvqbxHnVXCYX.png" />
            </a-list-item-meta>
          </a-list-item>
        </a-list>
      </a-tab-pane>
    </a-tabs>
  </a-card>
</template>

<script>
// 这里可以导入其他文件（比如：组件，工具js，第三方插件js，json文件，图片文件等等）
// 例如：import 《组件名称》 from '《组件路径》'
import { terminalTrainSignList } from '@/api/project/terminalTrainSign'

export default {
  // import引入的组件需要注入到对象中才能使用
  components: {
    terminalTrainSignList,
  },
  props: {},
  data() {
    // 这里存放数据
    return {
      list1: {
        title: '',
        params: {
          id: this.$route.query.id || '',
          type: 1,
        },
        data: [],
      },
      list2: {
        title: '',
        params: {
          id: this.$route.query.id || '',
          type: 2,
        },
        data: [],
      },
    }
  },
  // 计算属性 类似于data概念
  computed: {},
  // 监控data中的数据变化
  watch: {},
  // 方法集合
  methods: {
    changeTab(key) {
      if (key === '1') {
        this.queryList(this.list1.params)
      } else {
        this.queryList(this.list2.params)
      }
    },
    // 返回 按钮
    close() {
      this.$router.push({
        path: '/project/terminalTrain/detail',
        query: {
          terminalTrainId: this.list1.params.id,
        },
      })
    },

    //返回数据拼接
    headerListData(item) {
      return item.department + '-' + item.position
    },

    //异步查询数据
    queryList(params) {
      terminalTrainSignList(params).then((res) => {
        console.log(res)
        if (params.type === 1) {
          this.list1.data = res.data
          this.list1.title = '已签到人员 (' + res.signNum + ')'
          this.list2.title = '未签到人员 (' + res.enrollNum + ')'
        } else {
          this.list2.data = res.data
          this.list1.title = '已签到人员 (' + res.signNum + ')'
          this.list2.title = '未签到人员 (' + res.enrollNum + ')'
        }
      })
    },
  },
  // 生命周期 - 创建完成（可以访问当前this实例）
  created() {
    this.changeTab('1')
  },
  // 生命周期 - 挂载完成（可以访问DOM元素）
  mounted() {},
  // 生命周期 - 创建之前
  beforeCreate() {},
  // 生命周期 - 挂载之前
  beforeMount() {},
  // 生命周期 - 更新之前
  beforeUpdate() {},
  // 生命周期 - 更新之后
  updated() {},
  // 生命周期 - 销毁之前
  beforeDestroy() {},
  // 生命周期 - 销毁完成
  destroyed() {},
  // 如果页面有keep-alive缓存功能，这个函数会触发
  activated() {},
}
</script>
<style lang="less" scoped>
.ant-avatar-lg {
  width: 48px;
  height: 48px;
  line-height: 48px;
}

.list-content-item {
  color: rgba(0, 0, 0, 0.45);
  display: inline-block;
  vertical-align: middle;
  font-size: 14px;
  margin-left: 300px;
  span {
    line-height: 20px;
  }
  p {
    margin-top: 4px;
    margin-bottom: 0;
    line-height: 22px;

  }
}
</style>