From 3b6042284d2924b07d8f8a87c00824c0a0328783 Mon Sep 17 00:00:00 2001 From: Tevin <tingquanren@163.com> Date: Fri, 19 Aug 2022 16:30:26 +0800 Subject: [PATCH] 实现数值显示组件 --- layout/loading/CLoading.vue | 5 -- layout/numerical/index.js | 10 +++++ layout/numerical/cNumerical.scss | 21 ++++++++++ layout/numerical/CNumerical.vue | 58 +++++++++++++++++++++++++++++ 4 files changed, 90 insertions(+), 4 deletions(-) diff --git a/layout/loading/CLoading.vue b/layout/loading/CLoading.vue index 53263da..a77eec2 100644 --- a/layout/loading/CLoading.vue +++ b/layout/loading/CLoading.vue @@ -4,10 +4,7 @@ */ <template> - <view - class="c-loading" - @tap="evt => handleGoTo()" - > + <view class="c-loading"> <AtActivityIndicator :isOpened="show" mode="center" diff --git a/layout/numerical/CNumerical.vue b/layout/numerical/CNumerical.vue new file mode 100644 index 0000000..56ec833 --- /dev/null +++ b/layout/numerical/CNumerical.vue @@ -0,0 +1,58 @@ +/** + * CNumerical - 数值显示 + * @author Tevin + */ + +<template> + <view class="c-numerical at-row at-row--wrap"> + <view + class="at-col" + v-for="(item,index) in values" + :key="index" + :class="'at-col-' + valueFlex[index]" + > + <view class="c-numerical-value">{{item.value}}</view> + <view class="c-numerical-title">{{item.title}}</view> + </view> + </view> +</template> + +<script> +import Taro from '@tarojs/taro'; +import {} from 'taro-ui-vue'; +import './cNumerical.scss'; + +export default { + name: 'CNumerical', + components: {}, + props: { + values: Array, + }, + computed: { + valueFlex() { + return this.values.map((item, index) => { + const surplus = this.values.length % 3; + if (surplus === 0) { + return 4; + } else if (surplus === 1) { + if (index === this.values.length - 1) { + return 12; + } else { + return 4; + } + } else if (surplus === 2) { + if (index >= this.values.length - 2) { + return 6; + } else { + return 4; + } + } + }); + }, + }, + data() { + return {}; + }, + methods: {}, +}; +</script> diff --git a/layout/numerical/cNumerical.scss b/layout/numerical/cNumerical.scss new file mode 100644 index 0000000..6323a1c --- /dev/null +++ b/layout/numerical/cNumerical.scss @@ -0,0 +1,21 @@ +/** + * CNumerical - 数值显示 + * @author Tevin + */ + +@import "../../common/sassMixin"; + +.c-numerical { + text-align: center; + .at-col { + padding: 10px 0; + } + .c-numerical-value { + font-size: 40px; + line-height: 60px; + } + .c-numerical-title { + font-size: 32px; + color: #666; + } +} \ No newline at end of file diff --git a/layout/numerical/index.js b/layout/numerical/index.js new file mode 100644 index 0000000..8ea68e7 --- /dev/null +++ b/layout/numerical/index.js @@ -0,0 +1,10 @@ +/** + * CNumerical + * @author Tevin + */ + +import CNumerical from '@components/layout/numerical/CNumerical.vue'; + +export { + CNumerical, +} \ No newline at end of file -- Gitblit v1.9.1