通过VUE封装时间表格

<template>

<div class="Tablecenter">

    <div class="TableCON">

        <table class="Table1">

            <thead>

                <tr class="Table1thhedad">

                    <td>姓名</td>

                    <td>当前班级</td>

               </tr>

            </thead>

            <tbody>

                 <tr v-for="item in DataList" :key="item.id">

                    <td>{{item.name}}</td>

                    <td>{{item.school}}</td>

               </tr>

            </tbody>

           

        </table>

        <table class="Table">

            <thead>

                <tr>

                    <td v-for="(item) in date[CurrentMonth]" :key="item" class="ant-table-bordered">

                    {{CurrentMonth +1}}月{{item}}日

                    </td>

               </tr>

            </thead>

            <tbody v-if="DataList.length>0">

               <tr v-for="(data) in DateData" :key="data.id" >

                   <td v-for="item in  date[CurrentMonth]" :key="item" class="ant-table-bordered">

                      {{RecordData(data,item)}}

                   </td>

               </tr>

            </tbody>

            <div v-else class="NoData">

                   暂无数据

            </div>

        </table>

    </div>

</div>

</template>

<script>

export default {

    props:{

        DataList:{

            type:Array,

        default:()=>{

            return [

                {

                    id:1,

                    name:"姓名",

                    school:"1402班",

                    dataList:[

                        {

                            id:1,

                            key:1,

                            value:'1515'

                        }

                    ]

                }

            ];

        }

        }

    },

   data () {

       return {

           date:[31,28,31,30,31,30,31,31,30,31,30,31],

           month:''

       }

   },

   computed:{

       CurrentMonth:function(){

           let Data = new Date();

           return Data.getMonth();

       },

       DateData:function(){

          return this.DataList.map(item=>{

              return item.dataList;

          })

       },

       RecordData(){

           return (data,item)=>{

              let sub = data.filter(i=>{

                   return i.key === item;

               })

               console.log(sub);

               if(sub.length >0){

                   return sub[0].value

               }else{

                   return ''

               }

           }

       }

       }

   }



</script>

<style lang="less" scoped>

.Tablecenter{

    position: relative;

    .NoData{

          position: absolute;

          top: 50%;

          left: 50%;

          transform: rotate3d(-50%,-50%);

      }

}

   .TableCON{

       display: flex;

       width: 100%;

       height: 360px;

       overflow: auto;

       border: 1px solid #ccc;

       border-top: none;

   }

   .Table{

       margin-left: 340px ;

       width: 1400px;

       table-layout: fixed;

         background: #fff;

       tr{

           td{

               text-align: center;

               border: 1px solid #ccc;

               width: 80px;

           }

       }

       .ant-table-bordered{

           padding: 8px 8px;

          

       }

   }

.Table1{

    position: absolute;

    top: 0;

    left: 0;

    width: 340px;

    background: #fff;

    z-index: 1;

     .Table1thhedad{

         td{

 padding: 8px 8px;

         }

           

        }

    tr{

        td{

            border: 1px solid #ccc;

               padding: 7.2px 8px;

            

        }

      

    }

}

</style>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值