123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138 |
- <template>
- <view class="rf-no-data hideToShow" :style="{ backgroundColor: bgColor }">
- <view class="image"
- ><image :src="custom == true ? notFoundImg : noNetWorkImg"></image
- ></view>
- <!-- 网络连接失败默认显示内容 -->
- <view class="content" v-if="netType == 'none' && custom == false">
- <text class="title" :style="{ color: mainColor }">{{ mainText }}</text>
- <text class="desc" :style="{ color: viceColor }">{{ viceText }}</text>
- <!-- #ifdef MP -->
- <!--<button class="btn" type="default" @tap="setting(true)">刷新试试</button>-->
- <!-- #endif -->
- <!-- #ifdef APP-PLUS -->
- <!--<button class="btn" type="default" @tap="setting(netWorkStatus)">{{ netWorkStatus ? '刷新试试' : '去设置' }}</button>-->
- <!-- #endif -->
- </view>
- <!-- 自定义内容 -->
- <slot />
- <view class="back">
- <text class="spec-color" @tap="navTo('/pages/index/index')"
- >返回主页</text
- >
- </view>
- <slot name="refresh" />
- </view>
- </template>
- <script>
- import { mapGetters } from 'vuex';
- // import settings from '@/library/settings.js';
- export default {
- props: {
- isShow: {
- type: Boolean,
- default: false
- },
- /* 背景颜色自定义 */
- bgColor: {
- type: String,
- default: '#ffffff'
- },
- /* 标题颜色自定义 */
- mainColor: {
- type: String,
- default: '#373a40'
- },
- /* 描述颜色自定义 */
- viceColor: {
- type: String,
- default: '#8b8b8b'
- },
- // 是否开启自定义
- custom: {
- type: Boolean,
- default: false
- }
- },
- computed: {
- ...mapGetters(['networkStatus'])
- },
- data() {
- return {
- type: '',
- netType: this.networkType,
- mainText: '网络居然崩溃了',
- viceText: '别紧张,去检测一下网络设置',
- notFoundImg: this.$mAssetsPath.notFoundImg,
- noNetWorkImg: this.$mAssetsPath.noNetWorkImg
- };
- },
- methods: {
- setting(status) {
- /* 检查到网络已打开,请点击按钮手动刷新数据 */
- if (status) {
- this.$emit('handle', status);
- /* 如果没有网络,打开系统设置检查网络连接 */
- }
- // else {
- // settings.open(settings.SETTINGS);
- // }
- },
- navTo(route) {
- this.$mRouter.reLaunch({ route });
- }
- }
- };
- </script>
- <style lang="scss" scoped>
- .rf-no-data {
- width: 100%;
- height: 100vh;
- display: flex;
- align-items: center;
- justify-content: center;
- flex-direction: column;
- .image {
- width: 60vw;
- height: 40vw;
- margin-bottom: 20upx;
- image {
- width: 100%;
- height: 100%;
- }
- }
- .content {
- width: 100%;
- display: flex;
- align-items: center;
- flex-direction: column;
- justify-content: center;
- letter-spacing: 1upx;
- .title {
- font-size: $font-lg;
- color: $font-color-dark;
- }
- .desc {
- font-size: 28upx;
- margin-top: 6upx;
- }
- .btn {
- width: 160upx;
- height: 65upx;
- color: #868d91;
- font-size: 24upx;
- margin-top: 34upx;
- border-radius: 36upx;
- border: 1upx solid #d4d4d4;
- }
- .btn::after {
- border: none;
- }
- }
- .back {
- margin: 300upx 0 40upx;
- }
- }
- </style>
|