mirror of
https://gitee.com/beecue/fastbee.git
synced 2025-12-18 00:45:55 +08:00
智慧宿舍系统小程序
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
'use strict';
|
||||
Object.defineProperty(exports, '__esModule', { value: true });
|
||||
var component_1 = require('../common/component');
|
||||
component_1.VantComponent({
|
||||
props: {
|
||||
// whether to show popup
|
||||
show: Boolean,
|
||||
// overlay custom style
|
||||
overlayStyle: Object,
|
||||
// z-index
|
||||
zIndex: {
|
||||
type: Number,
|
||||
value: 100,
|
||||
},
|
||||
title: String,
|
||||
cancelText: {
|
||||
type: String,
|
||||
value: '取消',
|
||||
},
|
||||
description: String,
|
||||
options: {
|
||||
type: Array,
|
||||
value: [],
|
||||
},
|
||||
overlay: {
|
||||
type: Boolean,
|
||||
value: true,
|
||||
},
|
||||
safeAreaInsetBottom: {
|
||||
type: Boolean,
|
||||
value: true,
|
||||
},
|
||||
closeOnClickOverlay: {
|
||||
type: Boolean,
|
||||
value: true,
|
||||
},
|
||||
duration: {
|
||||
type: null,
|
||||
value: 300,
|
||||
},
|
||||
},
|
||||
methods: {
|
||||
onClickOverlay: function () {
|
||||
this.$emit('click-overlay');
|
||||
},
|
||||
onCancel: function () {
|
||||
this.onClose();
|
||||
this.$emit('cancel');
|
||||
},
|
||||
onSelect: function (event) {
|
||||
this.$emit('select', event.detail);
|
||||
},
|
||||
onClose: function () {
|
||||
this.$emit('close');
|
||||
},
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"component": true,
|
||||
"usingComponents": {
|
||||
"van-popup": "../popup/index",
|
||||
"options": "./options"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
<wxs src="./index.wxs" module="computed" />
|
||||
|
||||
<van-popup
|
||||
round
|
||||
class="van-share-sheet"
|
||||
show="{{ show }}"
|
||||
position="bottom"
|
||||
overlay="{{ overlay }}"
|
||||
duration="{{ duration }}"
|
||||
z-index="{{ zIndex }}"
|
||||
overlay-style="{{ overlayStyle }}"
|
||||
close-on-click-overlay="{{ closeOnClickOverlay }}"
|
||||
safe-area-inset-bottom="{{ safeAreaInsetBottom }}"
|
||||
bind:close="onClose"
|
||||
bind:click-overlay="onClickOverlay"
|
||||
>
|
||||
<view class="van-share-sheet__header">
|
||||
<view class="van-share-sheet__title">
|
||||
<slot name="title" />
|
||||
</view>
|
||||
<view wx:if="{{ title }}" class="van-share-sheet__title">{{ title }}</view>
|
||||
|
||||
<view class="van-share-sheet__description">
|
||||
<slot name="description" />
|
||||
</view>
|
||||
<view wx:if="{{ description }}" class="van-share-sheet__description">
|
||||
{{ description }}
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<block wx:if="{{ computed.isMulti(options) }}">
|
||||
<options
|
||||
wx:for="{{ options }}"
|
||||
show-border="{{ index !== 0 }}"
|
||||
wx:key="index"
|
||||
options="{{ item }}"
|
||||
bind:select="onSelect"
|
||||
/>
|
||||
</block>
|
||||
|
||||
<options wx:else options="{{ options }}" bind:select="onSelect" />
|
||||
|
||||
<button type="button" class="van-share-sheet__cancel" bindtap="onCancel">
|
||||
{{ cancelText }}
|
||||
</button>
|
||||
</van-popup>
|
||||
@@ -0,0 +1,12 @@
|
||||
/* eslint-disable */
|
||||
function isMulti(options) {
|
||||
if (options == null || options[0] == null) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return "Array" === options.constructor && "Array" === options[0].constructor;
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
isMulti: isMulti
|
||||
};
|
||||
@@ -0,0 +1 @@
|
||||
@import '../common/index.wxss';.van-share-sheet__header{padding:12px 16px 4px;text-align:center}.van-share-sheet__title{margin-top:8px;color:#323233;font-weight:400;font-size:14px;line-height:20px}.van-share-sheet__title:empty,.van-share-sheet__title:not(:empty)+.van-share-sheet__title{display:none}.van-share-sheet__description{display:block;margin-top:8px;color:#969799;font-size:12px;line-height:16px}.van-share-sheet__description:empty,.van-share-sheet__description:not(:empty)+.van-share-sheet__description{display:none}.van-share-sheet__cancel{display:block;box-sizing:initial;width:100%;height:auto;padding:0;font-size:16px;line-height:48px;text-align:center;background:#fff;border:none}.van-share-sheet__cancel:before{display:block;height:8px;background-color:#f7f8fa;content:" "}.van-share-sheet__cancel:after{display:none}.van-share-sheet__cancel:active{background-color:#f2f3f5}
|
||||
@@ -0,0 +1,31 @@
|
||||
'use strict';
|
||||
var __assign =
|
||||
(this && this.__assign) ||
|
||||
function () {
|
||||
__assign =
|
||||
Object.assign ||
|
||||
function (t) {
|
||||
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
||||
s = arguments[i];
|
||||
for (var p in s)
|
||||
if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
|
||||
}
|
||||
return t;
|
||||
};
|
||||
return __assign.apply(this, arguments);
|
||||
};
|
||||
Object.defineProperty(exports, '__esModule', { value: true });
|
||||
var component_1 = require('../common/component');
|
||||
component_1.VantComponent({
|
||||
props: {
|
||||
options: Array,
|
||||
showBorder: Boolean,
|
||||
},
|
||||
methods: {
|
||||
onSelect: function (event) {
|
||||
var index = event.currentTarget.dataset.index;
|
||||
var option = this.data.options[index];
|
||||
this.$emit('select', __assign(__assign({}, option), { index: index }));
|
||||
},
|
||||
},
|
||||
});
|
||||
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"component": true
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
<wxs src="../wxs/utils.wxs" module="utils" />
|
||||
<wxs src="./options.wxs" module="computed" />
|
||||
|
||||
<view class="{{ utils.bem('share-sheet__options', { border: showBorder }) }}">
|
||||
<view
|
||||
wx:for="{{ options }}"
|
||||
wx:key="index"
|
||||
class="van-share-sheet__option"
|
||||
data-index="{{ index }}"
|
||||
bindtap="onSelect"
|
||||
>
|
||||
<button class="van-share-sheet__button" open-type="{{ item.openType }}">
|
||||
<image src="{{ computed.getIconURL(item.icon) }}" class="van-share-sheet__icon" />
|
||||
</button>
|
||||
<view wx:if="{{ item.name }}" class="van-share-sheet__name">{{ item.name }}</view>
|
||||
<view wx:if="{{ item.description }}" class="van-share-sheet__option-description">
|
||||
{{ item.description }}
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -0,0 +1,14 @@
|
||||
/* eslint-disable */
|
||||
var PRESET_ICONS = ['qq', 'weibo', 'wechat', 'link', 'qrcode', 'poster'];
|
||||
|
||||
function getIconURL(icon) {
|
||||
if (PRESET_ICONS.indexOf(icon) !== -1) {
|
||||
return 'https://img.yzcdn.cn/vant/share-icon-' + icon + '.png';
|
||||
}
|
||||
|
||||
return icon;
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
getIconURL: getIconURL,
|
||||
};
|
||||
@@ -0,0 +1 @@
|
||||
@import '../common/index.wxss';.van-share-sheet__options{position:relative;display:-webkit-flex;display:flex;padding:16px 0 16px 8px;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch}.van-share-sheet__options--border:before{position:absolute;box-sizing:border-box;-webkit-transform-origin:center;transform-origin:center;content:" ";pointer-events:none;top:0;right:0;left:16px;border-top:1px solid #ebedf0;-webkit-transform:scaleY(.5);transform:scaleY(.5)}.van-share-sheet__options::-webkit-scrollbar{height:0}.van-share-sheet__option{display:-webkit-flex;display:flex;-webkit-flex-direction:column;flex-direction:column;-webkit-align-items:center;align-items:center;-webkit-user-select:none;user-select:none}.van-share-sheet__option:active{opacity:.7}.van-share-sheet__button{height:auto;padding:0;line-height:inherit;background-color:initial;border:0}.van-share-sheet__button:after{border:0}.van-share-sheet__icon{width:48px;height:48px;margin:0 16px}.van-share-sheet__name{margin-top:8px;padding:0 4px;color:#646566;font-size:12px}.van-share-sheet__option-description{padding:0 4px;color:#c8c9cc;font-size:12px}
|
||||
Reference in New Issue
Block a user