业务组件封装

<template>

  <!-- 业务组件 -->

  <mf-pane width="890px"

           :style="style">

    <!-- 头像 -->

    <mf-image width="100px"

              height="100px"

              borderRadius="50%"

              :src="data && data.avatar"

              margin="0 25px 0 0" />

    <mf-pane width="stretch"

             justify="center"

             layoutEnabled

             :cols="3">

      <!-- 用户名 -->

      <mf-panel>

        <mf-text v-bind="labelProps">用户名</mf-text>

        <mf-text v-bind="contentProps">{{data && data.userName || '—'}}</mf-text>

      </mf-panel>

      <!-- 所属用户组 -->

      <mf-panel>

        <mf-text v-bind="labelProps">所属用户组</mf-text>

        <mf-text v-bind="contentProps">{{data && data.groupName || '—'}}</mf-text>

      </mf-panel>

      <!-- 创建时间 -->

      <mf-panel>

        <mf-text v-bind="labelProps">创建时间</mf-text>

        <mf-text v-bind="contentProps">{{data && data.createTime || '—'}}</mf-text>

      </mf-panel>

      <!-- 角色 -->

      <mf-panel>

        <mf-text v-bind="labelProps">角色</mf-text>

        <mf-text v-bind="contentProps">{{data && data.roleName || '—'}}</mf-text>

      </mf-panel>

      <!-- 最近登录 -->

      <mf-panel>

        <mf-text v-bind="labelProps">最近登录</mf-text>

        <mf-text v-bind="contentProps">{{data && data.lastLoginTime || '—'}}</mf-text>

      </mf-panel>

      <!-- 邮箱 -->

      <mf-panel>

        <mf-text v-bind="labelProps">邮箱</mf-text>

        <mf-text v-bind="contentProps">{{data && data.email || '—'}}</mf-text>

      </mf-panel>

      <!-- 状态 -->

      <mf-panel>

        <mf-text v-bind="labelProps">状态</mf-text>

        <mf-tag v-if="data && data.status" tagType="success">{{data && data.status}}</mf-tag>

        <mf-text v-else v-bind="contentProps">—</mf-text>

      </mf-panel>

    </mf-pane>

  </mf-pane>

</template>

<script>

  export default {

    name: 'mf-user-card',

    data() {

      return {

        labelProps: {

          width: '90px',

          fontWeight: 'bold'

        },

        contentProps: {

          fontColor: 'rgb(102, 102, 102)'

        }

      }

    },

    props: {

      // 背景色

      backgrundColor: String,

      /**

       * 卡片数据

       * avatar         头像

       * email           邮箱

       * lastLoginTime  最近登录

       * roleName       管理员

       * createTime     创建时间

       * userName       用户名

       * groupName      所属用户组

       * status         状态

       */

      data: {

        type: Object,

        default: _ => {}

      }

    },

    computed: {

      style() {

        let style = {};

        if (this.backgrundColor) style.backgrundColor = this.backgrundColor;

        return style;

      }

    },

    created() {},

    methods: {

    }

  }

</script>

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值