first commit
commit
26608e65ad
@ -0,0 +1,18 @@
|
|||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
onLaunch: function () {
|
||||||
|
console.log('App Launch')
|
||||||
|
},
|
||||||
|
onShow: function () {
|
||||||
|
console.log('App Show')
|
||||||
|
},
|
||||||
|
onHide: function () {
|
||||||
|
console.log('App Hide')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
@import "uview-ui/index.scss";
|
||||||
|
/*每个页面公共css */
|
||||||
|
</style>
|
@ -0,0 +1,72 @@
|
|||||||
|
<template>
|
||||||
|
<div class="content2" :style="styleColor">
|
||||||
|
<div class="wrap1" v-for="item in result">
|
||||||
|
<div class="wrap1_1">
|
||||||
|
<slot :name="Object.keys(item).find(x => x.includes('l'))"></slot>
|
||||||
|
</div>
|
||||||
|
<div class="wrap1_2">
|
||||||
|
<slot :name="Object.keys(item).find(x => x.includes('r'))"></slot>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import { useSlots, ref, defineProps } from 'vue'
|
||||||
|
const slots = useSlots();
|
||||||
|
const prop = defineProps({
|
||||||
|
styleColor: {
|
||||||
|
type: Object,
|
||||||
|
default: () => {
|
||||||
|
return { backgroundColor: '#fff' }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
const groupObjectsByNumberKeys = (obj) => {
|
||||||
|
const grouped = {};
|
||||||
|
for (const key in obj) {
|
||||||
|
const numericPart = key.slice(1);
|
||||||
|
if (!grouped[numericPart]) {
|
||||||
|
grouped[numericPart] = {};
|
||||||
|
}
|
||||||
|
grouped[numericPart][key] = obj[key];
|
||||||
|
}
|
||||||
|
return Object.values(grouped);
|
||||||
|
}
|
||||||
|
const result = ref(groupObjectsByNumberKeys(slots))
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.content2 {
|
||||||
|
border-radius: 24rpx;
|
||||||
|
padding-left: 18rpx;
|
||||||
|
padding-right: 32rpx;
|
||||||
|
|
||||||
|
.wrap1 {
|
||||||
|
padding-left: 14rpx;
|
||||||
|
padding-top: 26rpx;
|
||||||
|
padding-bottom: 22rpx;
|
||||||
|
border-bottom: 1rpx solid #E4EAF1;
|
||||||
|
display: flex;
|
||||||
|
|
||||||
|
&:last-child {
|
||||||
|
border-bottom: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.wrap1_2 {
|
||||||
|
flex-grow: 1;
|
||||||
|
padding-left: 36rpx;
|
||||||
|
font-size: 24rpx;
|
||||||
|
color: #939393;
|
||||||
|
}
|
||||||
|
|
||||||
|
.wrap1_1 {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
width: 192rpx;
|
||||||
|
border-right: 1rpx solid #E4EAF1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,20 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8" />
|
||||||
|
<script>
|
||||||
|
var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') ||
|
||||||
|
CSS.supports('top: constant(a)'))
|
||||||
|
document.write(
|
||||||
|
'<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' +
|
||||||
|
(coverSupport ? ', viewport-fit=cover' : '') + '" />')
|
||||||
|
</script>
|
||||||
|
<title></title>
|
||||||
|
<!--preload-links-->
|
||||||
|
<!--app-context-->
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="app"><!--app-html--></div>
|
||||||
|
<script type="module" src="/main.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -0,0 +1,23 @@
|
|||||||
|
import App from "./App";
|
||||||
|
import uView from "uview-ui";
|
||||||
|
// #ifndef VUE3
|
||||||
|
import Vue from "vue";
|
||||||
|
import "./uni.promisify.adaptor";
|
||||||
|
Vue.config.productionTip = false;
|
||||||
|
Vue.use(uView);
|
||||||
|
App.mpType = "app";
|
||||||
|
const app = new Vue({
|
||||||
|
...App,
|
||||||
|
});
|
||||||
|
app.$mount();
|
||||||
|
// #endif
|
||||||
|
|
||||||
|
// #ifdef VUE3
|
||||||
|
import { createSSRApp } from "vue";
|
||||||
|
export function createApp() {
|
||||||
|
const app = createSSRApp(App);
|
||||||
|
return {
|
||||||
|
app,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
// #endif
|
@ -0,0 +1,72 @@
|
|||||||
|
{
|
||||||
|
"name" : "museum-H5-V2",
|
||||||
|
"appid" : "__UNI__E2B2F1A",
|
||||||
|
"description" : "",
|
||||||
|
"versionName" : "1.0.0",
|
||||||
|
"versionCode" : "100",
|
||||||
|
"transformPx" : false,
|
||||||
|
/* 5+App特有相关 */
|
||||||
|
"app-plus" : {
|
||||||
|
"usingComponents" : true,
|
||||||
|
"nvueStyleCompiler" : "uni-app",
|
||||||
|
"compilerVersion" : 3,
|
||||||
|
"splashscreen" : {
|
||||||
|
"alwaysShowBeforeRender" : true,
|
||||||
|
"waiting" : true,
|
||||||
|
"autoclose" : true,
|
||||||
|
"delay" : 0
|
||||||
|
},
|
||||||
|
/* 模块配置 */
|
||||||
|
"modules" : {},
|
||||||
|
/* 应用发布信息 */
|
||||||
|
"distribute" : {
|
||||||
|
/* android打包配置 */
|
||||||
|
"android" : {
|
||||||
|
"permissions" : [
|
||||||
|
"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
|
||||||
|
"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
|
||||||
|
"<uses-permission android:name=\"android.permission.VIBRATE\"/>",
|
||||||
|
"<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
|
||||||
|
"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
|
||||||
|
"<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
|
||||||
|
"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
|
||||||
|
"<uses-permission android:name=\"android.permission.CAMERA\"/>",
|
||||||
|
"<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
|
||||||
|
"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
|
||||||
|
"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
|
||||||
|
"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
|
||||||
|
"<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
|
||||||
|
"<uses-feature android:name=\"android.hardware.camera\"/>",
|
||||||
|
"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
/* ios打包配置 */
|
||||||
|
"ios" : {},
|
||||||
|
/* SDK配置 */
|
||||||
|
"sdkConfigs" : {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
/* 快应用特有相关 */
|
||||||
|
"quickapp" : {},
|
||||||
|
/* 小程序特有相关 */
|
||||||
|
"mp-weixin" : {
|
||||||
|
"appid" : "",
|
||||||
|
"setting" : {
|
||||||
|
"urlCheck" : false
|
||||||
|
},
|
||||||
|
"usingComponents" : true
|
||||||
|
},
|
||||||
|
"mp-alipay" : {
|
||||||
|
"usingComponents" : true
|
||||||
|
},
|
||||||
|
"mp-baidu" : {
|
||||||
|
"usingComponents" : true
|
||||||
|
},
|
||||||
|
"mp-toutiao" : {
|
||||||
|
"usingComponents" : true
|
||||||
|
},
|
||||||
|
"uniStatistics" : {
|
||||||
|
"enable" : false
|
||||||
|
},
|
||||||
|
"vueVersion" : "2"
|
||||||
|
}
|
@ -0,0 +1,64 @@
|
|||||||
|
<template>
|
||||||
|
<view class="content">
|
||||||
|
<view class="text-area">
|
||||||
|
<mumuGetQrcode @success="qrcodeSucess" @error="qrcodeError"></mumuGetQrcode>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import mumuGetQrcode from "../../components/mumu-getQrcode/mumu-getQrcode.vue";
|
||||||
|
|
||||||
|
export default {
|
||||||
|
components: {
|
||||||
|
mumuGetQrcode
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
title: 'Hello'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onLoad() {
|
||||||
|
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
qrcodeSucess(res) {
|
||||||
|
uni.showModal({
|
||||||
|
title: res,
|
||||||
|
content: res,
|
||||||
|
});
|
||||||
|
},
|
||||||
|
qrcodeError(res) {
|
||||||
|
console.log(res);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
.content {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.logo {
|
||||||
|
height: 200rpx;
|
||||||
|
width: 200rpx;
|
||||||
|
margin-top: 200rpx;
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
margin-bottom: 50rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.text-area {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.title {
|
||||||
|
font-size: 36rpx;
|
||||||
|
color: #8f8f94;
|
||||||
|
}
|
||||||
|
</style>
|
Binary file not shown.
After Width: | Height: | Size: 3.9 KiB |
@ -0,0 +1,10 @@
|
|||||||
|
uni.addInterceptor({
|
||||||
|
returnValue (res) {
|
||||||
|
if (!(!!res && (typeof res === "object" || typeof res === "function") && typeof res.then === "function")) {
|
||||||
|
return res;
|
||||||
|
}
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
res.then((res) => res[0] ? reject(res[0]) : resolve(res[1]));
|
||||||
|
});
|
||||||
|
},
|
||||||
|
});
|
@ -0,0 +1,21 @@
|
|||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2020 www.uviewui.com
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
@ -0,0 +1,52 @@
|
|||||||
|
export default {
|
||||||
|
props: {
|
||||||
|
// 头像图片组
|
||||||
|
urls: {
|
||||||
|
type: Array,
|
||||||
|
default: uni.$u.props.avatarGroup.urls
|
||||||
|
},
|
||||||
|
// 最多展示的头像数量
|
||||||
|
maxCount: {
|
||||||
|
type: [String, Number],
|
||||||
|
default: uni.$u.props.avatarGroup.maxCount
|
||||||
|
},
|
||||||
|
// 头像形状
|
||||||
|
shape: {
|
||||||
|
type: String,
|
||||||
|
default: uni.$u.props.avatarGroup.shape
|
||||||
|
},
|
||||||
|
// 图片裁剪模式
|
||||||
|
mode: {
|
||||||
|
type: String,
|
||||||
|
default: uni.$u.props.avatarGroup.mode
|
||||||
|
},
|
||||||
|
// 超出maxCount时是否显示查看更多的提示
|
||||||
|
showMore: {
|
||||||
|
type: Boolean,
|
||||||
|
default: uni.$u.props.avatarGroup.showMore
|
||||||
|
},
|
||||||
|
// 头像大小
|
||||||
|
size: {
|
||||||
|
type: [String, Number],
|
||||||
|
default: uni.$u.props.avatarGroup.size
|
||||||
|
},
|
||||||
|
// 指定从数组的对象元素中读取哪个属性作为图片地址
|
||||||
|
keyName: {
|
||||||
|
type: String,
|
||||||
|
default: uni.$u.props.avatarGroup.keyName
|
||||||
|
},
|
||||||
|
// 头像之间的遮挡比例
|
||||||
|
gap: {
|
||||||
|
type: [String, Number],
|
||||||
|
validator(value) {
|
||||||
|
return value >= 0 && value <= 1
|
||||||
|
},
|
||||||
|
default: uni.$u.props.avatarGroup.gap
|
||||||
|
},
|
||||||
|
// 需额外显示的值
|
||||||
|
extraValue: {
|
||||||
|
type: [Number, String],
|
||||||
|
default: uni.$u.props.avatarGroup.extraValue
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,46 @@
|
|||||||
|
$u-button-active-opacity:0.75 !default;
|
||||||
|
$u-button-loading-text-margin-left:4px !default;
|
||||||
|
$u-button-text-color: #FFFFFF !default;
|
||||||
|
$u-button-text-plain-error-color:$u-error !default;
|
||||||
|
$u-button-text-plain-warning-color:$u-warning !default;
|
||||||
|
$u-button-text-plain-success-color:$u-success !default;
|
||||||
|
$u-button-text-plain-info-color:$u-info !default;
|
||||||
|
$u-button-text-plain-primary-color:$u-primary !default;
|
||||||
|
.u-button {
|
||||||
|
&--active {
|
||||||
|
opacity: $u-button-active-opacity;
|
||||||
|
}
|
||||||
|
|
||||||
|
&--active--plain {
|
||||||
|
background-color: rgb(217, 217, 217);
|
||||||
|
}
|
||||||
|
|
||||||
|
&__loading-text {
|
||||||
|
margin-left:$u-button-loading-text-margin-left;
|
||||||
|
}
|
||||||
|
|
||||||
|
&__text,
|
||||||
|
&__loading-text {
|
||||||
|
color:$u-button-text-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
&__text--plain--error {
|
||||||
|
color:$u-button-text-plain-error-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
&__text--plain--warning {
|
||||||
|
color:$u-button-text-plain-warning-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
&__text--plain--success{
|
||||||
|
color:$u-button-text-plain-success-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
&__text--plain--info {
|
||||||
|
color:$u-button-text-plain-info-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
&__text--plain--primary {
|
||||||
|
color:$u-button-text-plain-primary-color;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,80 @@
|
|||||||
|
// nvue下hover-class无效
|
||||||
|
$u-button-before-top:50% !default;
|
||||||
|
$u-button-before-left:50% !default;
|
||||||
|
$u-button-before-width:100% !default;
|
||||||
|
$u-button-before-height:100% !default;
|
||||||
|
$u-button-before-transform:translate(-50%, -50%) !default;
|
||||||
|
$u-button-before-opacity:0 !default;
|
||||||
|
$u-button-before-background-color:#000 !default;
|
||||||
|
$u-button-before-border-color:#000 !default;
|
||||||
|
$u-button-active-before-opacity:.15 !default;
|
||||||
|
$u-button-icon-margin-left:4px !default;
|
||||||
|
$u-button-plain-u-button-info-color:$u-info;
|
||||||
|
$u-button-plain-u-button-success-color:$u-success;
|
||||||
|
$u-button-plain-u-button-error-color:$u-error;
|
||||||
|
$u-button-plain-u-button-warning-color:$u-error;
|
||||||
|
|
||||||
|
.u-button {
|
||||||
|
width: 100%;
|
||||||
|
|
||||||
|
&__text {
|
||||||
|
white-space: nowrap;
|
||||||
|
line-height: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:before {
|
||||||
|
position: absolute;
|
||||||
|
top:$u-button-before-top;
|
||||||
|
left:$u-button-before-left;
|
||||||
|
width:$u-button-before-width;
|
||||||
|
height:$u-button-before-height;
|
||||||
|
border: inherit;
|
||||||
|
border-radius: inherit;
|
||||||
|
transform:$u-button-before-transform;
|
||||||
|
opacity:$u-button-before-opacity;
|
||||||
|
content: " ";
|
||||||
|
background-color:$u-button-before-background-color;
|
||||||
|
border-color:$u-button-before-border-color;
|
||||||
|
}
|
||||||
|
|
||||||
|
&--active {
|
||||||
|
&:before {
|
||||||
|
opacity: .15
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&__icon+&__text:not(:empty),
|
||||||
|
&__loading-text {
|
||||||
|
margin-left:$u-button-icon-margin-left;
|
||||||
|
}
|
||||||
|
|
||||||
|
&--plain {
|
||||||
|
&.u-button--primary {
|
||||||
|
color: $u-primary;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&--plain {
|
||||||
|
&.u-button--info {
|
||||||
|
color:$u-button-plain-u-button-info-color;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&--plain {
|
||||||
|
&.u-button--success {
|
||||||
|
color:$u-button-plain-u-button-success-color;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&--plain {
|
||||||
|
&.u-button--error {
|
||||||
|
color:$u-button-plain-u-button-error-color;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
&--plain {
|
||||||
|
&.u-button--warning {
|
||||||
|
color:$u-button-plain-u-button-warning-color;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,99 @@
|
|||||||
|
<template>
|
||||||
|
<view class="u-calendar-header u-border-bottom">
|
||||||
|
<text
|
||||||
|
class="u-calendar-header__title"
|
||||||
|
v-if="showTitle"
|
||||||
|
>{{ title }}</text>
|
||||||
|
<text
|
||||||
|
class="u-calendar-header__subtitle"
|
||||||
|
v-if="showSubtitle"
|
||||||
|
>{{ subtitle }}</text>
|
||||||
|
<view class="u-calendar-header__weekdays">
|
||||||
|
<text class="u-calendar-header__weekdays__weekday">一</text>
|
||||||
|
<text class="u-calendar-header__weekdays__weekday">二</text>
|
||||||
|
<text class="u-calendar-header__weekdays__weekday">三</text>
|
||||||
|
<text class="u-calendar-header__weekdays__weekday">四</text>
|
||||||
|
<text class="u-calendar-header__weekdays__weekday">五</text>
|
||||||
|
<text class="u-calendar-header__weekdays__weekday">六</text>
|
||||||
|
<text class="u-calendar-header__weekdays__weekday">日</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: 'u-calendar-header',
|
||||||
|
mixins: [uni.$u.mpMixin, uni.$u.mixin],
|
||||||
|
props: {
|
||||||
|
// 标题
|
||||||
|
title: {
|
||||||
|
type: String,
|
||||||
|
default: ''
|
||||||
|
},
|
||||||
|
// 副标题
|
||||||
|
subtitle: {
|
||||||
|
type: String,
|
||||||
|
default: ''
|
||||||
|
},
|
||||||
|
// 是否显示标题
|
||||||
|
showTitle: {
|
||||||
|
type: Boolean,
|
||||||
|
default: true
|
||||||
|
},
|
||||||
|
// 是否显示副标题
|
||||||
|
showSubtitle: {
|
||||||
|
type: Boolean,
|
||||||
|
default: true
|
||||||
|
},
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
name() {
|
||||||
|
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
@import "../../libs/css/components.scss";
|
||||||
|
|
||||||
|
.u-calendar-header {
|
||||||
|
padding-bottom: 4px;
|
||||||
|
|
||||||
|
&__title {
|
||||||
|
font-size: 16px;
|
||||||
|
color: $u-main-color;
|
||||||
|
text-align: center;
|
||||||
|
height: 42px;
|
||||||
|
line-height: 42px;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
&__subtitle {
|
||||||
|
font-size: 14px;
|
||||||
|
color: $u-main-color;
|
||||||
|
height: 40px;
|
||||||
|
text-align: center;
|
||||||
|
line-height: 40px;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
&__weekdays {
|
||||||
|
@include flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
|
||||||
|
&__weekday {
|
||||||
|
font-size: 13px;
|
||||||
|
color: $u-main-color;
|
||||||
|
line-height: 30px;
|
||||||
|
flex: 1;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
@ -0,0 +1,85 @@
|
|||||||
|
export default {
|
||||||
|
methods: {
|
||||||
|
// 设置月份数据
|
||||||
|
setMonth() {
|
||||||
|
// 月初是周几
|
||||||
|
const day = dayjs(this.date).date(1).day()
|
||||||
|
const start = day == 0 ? 6 : day - 1
|
||||||
|
|
||||||
|
// 本月天数
|
||||||
|
const days = dayjs(this.date).endOf('month').format('D')
|
||||||
|
|
||||||
|
// 上个月天数
|
||||||
|
const prevDays = dayjs(this.date).endOf('month').subtract(1, 'month').format('D')
|
||||||
|
|
||||||
|
// 日期数据
|
||||||
|
const arr = []
|
||||||
|
// 清空表格
|
||||||
|
this.month = []
|
||||||
|
|
||||||
|
// 添加上月数据
|
||||||
|
arr.push(
|
||||||
|
...new Array(start).fill(1).map((e, i) => {
|
||||||
|
const day = prevDays - start + i + 1
|
||||||
|
|
||||||
|
return {
|
||||||
|
value: day,
|
||||||
|
disabled: true,
|
||||||
|
date: dayjs(this.date).subtract(1, 'month').date(day).format('YYYY-MM-DD')
|
||||||
|
}
|
||||||
|
})
|
||||||
|
)
|
||||||
|
|
||||||
|
// 添加本月数据
|
||||||
|
arr.push(
|
||||||
|
...new Array(days - 0).fill(1).map((e, i) => {
|
||||||
|
const day = i + 1
|
||||||
|
|
||||||
|
return {
|
||||||
|
value: day,
|
||||||
|
date: dayjs(this.date).date(day).format('YYYY-MM-DD')
|
||||||
|
}
|
||||||
|
})
|
||||||
|
)
|
||||||
|
|
||||||
|
// 添加下个月
|
||||||
|
arr.push(
|
||||||
|
...new Array(42 - days - start).fill(1).map((e, i) => {
|
||||||
|
const day = i + 1
|
||||||
|
|
||||||
|
return {
|
||||||
|
value: day,
|
||||||
|
disabled: true,
|
||||||
|
date: dayjs(this.date).add(1, 'month').date(day).format('YYYY-MM-DD')
|
||||||
|
}
|
||||||
|
})
|
||||||
|
)
|
||||||
|
|
||||||
|
// 分割数组
|
||||||
|
for (let n = 0; n < arr.length; n += 7) {
|
||||||
|
this.month.push(
|
||||||
|
arr.slice(n, n + 7).map((e, i) => {
|
||||||
|
e.index = i + n
|
||||||
|
|
||||||
|
// 自定义信息
|
||||||
|
const custom = this.customList.find((c) => c.date == e.date)
|
||||||
|
|
||||||
|
// 农历
|
||||||
|
if (this.lunar) {
|
||||||
|
const {
|
||||||
|
IDayCn,
|
||||||
|
IMonthCn
|
||||||
|
} = this.getLunar(e.date)
|
||||||
|
e.lunar = IDayCn == '初一' ? IMonthCn : IDayCn
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
...e,
|
||||||
|
...custom
|
||||||
|
}
|
||||||
|
})
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,14 @@
|
|||||||
|
export default {
|
||||||
|
props: {
|
||||||
|
// 是否打乱键盘按键的顺序
|
||||||
|
random: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false
|
||||||
|
},
|
||||||
|
// 输入一个中文后,是否自动切换到英文
|
||||||
|
autoChange: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,14 @@
|
|||||||
|
export default {
|
||||||
|
props: {
|
||||||
|
// 分组标题
|
||||||
|
title: {
|
||||||
|
type: String,
|
||||||
|
default: uni.$u.props.cellGroup.title
|
||||||
|
},
|
||||||
|
// 是否显示外边框
|
||||||
|
border: {
|
||||||
|
type: Boolean,
|
||||||
|
default: uni.$u.props.cellGroup.border
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,8 @@
|
|||||||
|
export default {
|
||||||
|
props: {
|
||||||
|
percentage: {
|
||||||
|
type: [String, Number],
|
||||||
|
default: uni.$u.props.circleProgress.percentage
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,34 @@
|
|||||||
|
export default {
|
||||||
|
props: {
|
||||||
|
// 倒计时总秒数
|
||||||
|
seconds: {
|
||||||
|
type: [String, Number],
|
||||||
|
default: uni.$u.props.code.seconds
|
||||||
|
},
|
||||||
|
// 尚未开始时提示
|
||||||
|
startText: {
|
||||||
|
type: String,
|
||||||
|
default: uni.$u.props.code.startText
|
||||||
|
},
|
||||||
|
// 正在倒计时中的提示
|
||||||
|
changeText: {
|
||||||
|
type: String,
|
||||||
|
default: uni.$u.props.code.changeText
|
||||||
|
},
|
||||||
|
// 倒计时结束时的提示
|
||||||
|
endText: {
|
||||||
|
type: String,
|
||||||
|
default: uni.$u.props.code.endText
|
||||||
|
},
|
||||||
|
// 是否在H5刷新或各端返回再进入时继续倒计时
|
||||||
|
keepRunning: {
|
||||||
|
type: Boolean,
|
||||||
|
default: uni.$u.props.code.keepRunning
|
||||||
|
},
|
||||||
|
// 为了区分多个页面,或者一个页面多个倒计时组件本地存储的继续倒计时变了
|
||||||
|
uniqueKey: {
|
||||||
|
type: String,
|
||||||
|
default: uni.$u.props.code.uniqueKey
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,65 @@
|
|||||||
|
export default {
|
||||||
|
props: {
|
||||||
|
// 标题选中时的样式
|
||||||
|
activeStyle: {
|
||||||
|
type: [String, Object],
|
||||||
|
default: () => ({
|
||||||
|
color: '#2979ff',
|
||||||
|
fontSize: '14px'
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 标题未选中时的样式
|
||||||
|
inactiveStyle: {
|
||||||
|
type: [String, Object],
|
||||||
|
default: () => ({
|
||||||
|
color: '#606266',
|
||||||
|
fontSize: '14px'
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 点击遮罩是否关闭菜单
|
||||||
|
closeOnClickMask: {
|
||||||
|
type: Boolean,
|
||||||
|
default: true
|
||||||
|
},
|
||||||
|
// 点击当前激活项标题是否关闭菜单
|
||||||
|
closeOnClickSelf: {
|
||||||
|
type: Boolean,
|
||||||
|
default: true
|
||||||
|
},
|
||||||
|
// 过渡时间
|
||||||
|
duration: {
|
||||||
|
type: [Number, String],
|
||||||
|
default: 300
|
||||||
|
},
|
||||||
|
// 标题菜单的高度
|
||||||
|
height: {
|
||||||
|
type: [Number, String],
|
||||||
|
default: 40
|
||||||
|
},
|
||||||
|
// 是否显示下边框
|
||||||
|
borderBottom: {
|
||||||
|
type: Boolean,
|
||||||
|
default: false
|
||||||
|
},
|
||||||
|
// 标题的字体大小
|
||||||
|
titleSize: {
|
||||||
|
type: [Number, String],
|
||||||
|
default: 14
|
||||||
|
},
|
||||||
|
// 下拉出来的内容部分的圆角值
|
||||||
|
borderRadius: {
|
||||||
|
type: [Number, String],
|
||||||
|
default: 0
|
||||||
|
},
|
||||||
|
// 菜单右侧的icon图标
|
||||||
|
menuIcon: {
|
||||||
|
type: String,
|
||||||
|
default: 'arrow-down'
|
||||||
|
},
|
||||||
|
// 菜单右侧图标的大小
|
||||||
|
menuIconSize: {
|
||||||
|
type: [Number, String],
|
||||||
|
default: 14
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,14 @@
|
|||||||
|
export default {
|
||||||
|
props: {
|
||||||
|
// 宫格的name
|
||||||
|
name: {
|
||||||
|
type: [String, Number, null],
|
||||||
|
default: uni.$u.props.gridItem.name
|
||||||
|
},
|
||||||
|
// 背景颜色
|
||||||
|
bgColor: {
|
||||||
|
type: String,
|
||||||
|
default: uni.$u.props.gridItem.bgColor
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,19 @@
|
|||||||
|
export default {
|
||||||
|
props: {
|
||||||
|
// 分成几列
|
||||||
|
col: {
|
||||||
|
type: [String, Number],
|
||||||
|
default: uni.$u.props.grid.col
|
||||||
|
},
|
||||||
|
// 是否显示边框
|
||||||
|
border: {
|
||||||
|
type: Boolean,
|
||||||
|
default: uni.$u.props.grid.border
|
||||||
|
},
|
||||||
|
// 宫格对齐方式,表现为数量少的时候,靠左,居中,还是靠右
|
||||||
|
align: {
|
||||||
|
type: String,
|
||||||
|
default: uni.$u.props.grid.align
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,214 @@
|
|||||||
|
export default {
|
||||||
|
'uicon-level': '\ue693',
|
||||||
|
'uicon-column-line': '\ue68e',
|
||||||
|
'uicon-checkbox-mark': '\ue807',
|
||||||
|
'uicon-folder': '\ue7f5',
|
||||||
|
'uicon-movie': '\ue7f6',
|
||||||
|
'uicon-star-fill': '\ue669',
|
||||||
|
'uicon-star': '\ue65f',
|
||||||
|
'uicon-phone-fill': '\ue64f',
|
||||||
|
'uicon-phone': '\ue622',
|
||||||
|
'uicon-apple-fill': '\ue881',
|
||||||
|
'uicon-chrome-circle-fill': '\ue885',
|
||||||
|
'uicon-backspace': '\ue67b',
|
||||||
|
'uicon-attach': '\ue632',
|
||||||
|
'uicon-cut': '\ue948',
|
||||||
|
'uicon-empty-car': '\ue602',
|
||||||
|
'uicon-empty-coupon': '\ue682',
|
||||||
|
'uicon-empty-address': '\ue646',
|
||||||
|
'uicon-empty-favor': '\ue67c',
|
||||||
|
'uicon-empty-permission': '\ue686',
|
||||||
|
'uicon-empty-news': '\ue687',
|
||||||
|
'uicon-empty-search': '\ue664',
|
||||||
|
'uicon-github-circle-fill': '\ue887',
|
||||||
|
'uicon-rmb': '\ue608',
|
||||||
|
'uicon-person-delete-fill': '\ue66a',
|
||||||
|
'uicon-reload': '\ue788',
|
||||||
|
'uicon-order': '\ue68f',
|
||||||
|
'uicon-server-man': '\ue6bc',
|
||||||
|
'uicon-search': '\ue62a',
|
||||||
|
'uicon-fingerprint': '\ue955',
|
||||||
|
'uicon-more-dot-fill': '\ue630',
|
||||||
|
'uicon-scan': '\ue662',
|
||||||
|
'uicon-share-square': '\ue60b',
|
||||||
|
'uicon-map': '\ue61d',
|
||||||
|
'uicon-map-fill': '\ue64e',
|
||||||
|
'uicon-tags': '\ue629',
|
||||||
|
'uicon-tags-fill': '\ue651',
|
||||||
|
'uicon-bookmark-fill': '\ue63b',
|
||||||
|
'uicon-bookmark': '\ue60a',
|
||||||
|
'uicon-eye': '\ue613',
|
||||||
|
'uicon-eye-fill': '\ue641',
|
||||||
|
'uicon-mic': '\ue64a',
|
||||||
|
'uicon-mic-off': '\ue649',
|
||||||
|
'uicon-calendar': '\ue66e',
|
||||||
|
'uicon-calendar-fill': '\ue634',
|
||||||
|
'uicon-trash': '\ue623',
|
||||||
|
'uicon-trash-fill': '\ue658',
|
||||||
|
'uicon-play-left': '\ue66d',
|
||||||
|
'uicon-play-right': '\ue610',
|
||||||
|
'uicon-minus': '\ue618',
|
||||||
|
'uicon-plus': '\ue62d',
|
||||||
|
'uicon-info': '\ue653',
|
||||||
|
'uicon-info-circle': '\ue7d2',
|
||||||
|
'uicon-info-circle-fill': '\ue64b',
|
||||||
|
'uicon-question': '\ue715',
|
||||||
|
'uicon-error': '\ue6d3',
|
||||||
|
'uicon-close': '\ue685',
|
||||||
|
'uicon-checkmark': '\ue6a8',
|
||||||
|
'uicon-android-circle-fill': '\ue67e',
|
||||||
|
'uicon-android-fill': '\ue67d',
|
||||||
|
'uicon-ie': '\ue87b',
|
||||||
|
'uicon-IE-circle-fill': '\ue889',
|
||||||
|
'uicon-google': '\ue87a',
|
||||||
|
'uicon-google-circle-fill': '\ue88a',
|
||||||
|
'uicon-setting-fill': '\ue872',
|
||||||
|
'uicon-setting': '\ue61f',
|
||||||
|
'uicon-minus-square-fill': '\ue855',
|
||||||
|
'uicon-plus-square-fill': '\ue856',
|
||||||
|
'uicon-heart': '\ue7df',
|
||||||
|
'uicon-heart-fill': '\ue851',
|
||||||
|
'uicon-camera': '\ue7d7',
|
||||||
|
'uicon-camera-fill': '\ue870',
|
||||||
|
'uicon-more-circle': '\ue63e',
|
||||||
|
'uicon-more-circle-fill': '\ue645',
|
||||||
|
'uicon-chat': '\ue620',
|
||||||
|
'uicon-chat-fill': '\ue61e',
|
||||||
|
'uicon-bag-fill': '\ue617',
|
||||||
|
'uicon-bag': '\ue619',
|
||||||
|
'uicon-error-circle-fill': '\ue62c',
|
||||||
|
'uicon-error-circle': '\ue624',
|
||||||
|
'uicon-close-circle': '\ue63f',
|
||||||
|
'uicon-close-circle-fill': '\ue637',
|
||||||
|
'uicon-checkmark-circle': '\ue63d',
|
||||||
|
'uicon-checkmark-circle-fill': '\ue635',
|
||||||
|
'uicon-question-circle-fill': '\ue666',
|
||||||
|
'uicon-question-circle': '\ue625',
|
||||||
|
'uicon-share': '\ue631',
|
||||||
|
'uicon-share-fill': '\ue65e',
|
||||||
|
'uicon-shopping-cart': '\ue621',
|
||||||
|
'uicon-shopping-cart-fill': '\ue65d',
|
||||||
|
'uicon-bell': '\ue609',
|
||||||
|
'uicon-bell-fill': '\ue640',
|
||||||
|
'uicon-list': '\ue650',
|
||||||
|
'uicon-list-dot': '\ue616',
|
||||||
|
'uicon-zhihu': '\ue6ba',
|
||||||
|
'uicon-zhihu-circle-fill': '\ue709',
|
||||||
|
'uicon-zhifubao': '\ue6b9',
|
||||||
|
'uicon-zhifubao-circle-fill': '\ue6b8',
|
||||||
|
'uicon-weixin-circle-fill': '\ue6b1',
|
||||||
|
'uicon-weixin-fill': '\ue6b2',
|
||||||
|
'uicon-twitter-circle-fill': '\ue6ab',
|
||||||
|
'uicon-twitter': '\ue6aa',
|
||||||
|
'uicon-taobao-circle-fill': '\ue6a7',
|
||||||
|
'uicon-taobao': '\ue6a6',
|
||||||
|
'uicon-weibo-circle-fill': '\ue6a5',
|
||||||
|
'uicon-weibo': '\ue6a4',
|
||||||
|
'uicon-qq-fill': '\ue6a1',
|
||||||
|
'uicon-qq-circle-fill': '\ue6a0',
|
||||||
|
'uicon-moments-circel-fill': '\ue69a',
|
||||||
|
'uicon-moments': '\ue69b',
|
||||||
|
'uicon-qzone': '\ue695',
|
||||||
|
'uicon-qzone-circle-fill': '\ue696',
|
||||||
|
'uicon-baidu-circle-fill': '\ue680',
|
||||||
|
'uicon-baidu': '\ue681',
|
||||||
|
'uicon-facebook-circle-fill': '\ue68a',
|
||||||
|
'uicon-facebook': '\ue689',
|
||||||
|
'uicon-car': '\ue60c',
|
||||||
|
'uicon-car-fill': '\ue636',
|
||||||
|
'uicon-warning-fill': '\ue64d',
|
||||||
|
'uicon-warning': '\ue694',
|
||||||
|
'uicon-clock-fill': '\ue638',
|
||||||
|
'uicon-clock': '\ue60f',
|
||||||
|
'uicon-edit-pen': '\ue612',
|
||||||
|
'uicon-edit-pen-fill': '\ue66b',
|
||||||
|
'uicon-email': '\ue611',
|
||||||
|
'uicon-email-fill': '\ue642',
|
||||||
|
'uicon-minus-circle': '\ue61b',
|
||||||
|
'uicon-minus-circle-fill': '\ue652',
|
||||||
|
'uicon-plus-circle': '\ue62e',
|
||||||
|
'uicon-plus-circle-fill': '\ue661',
|
||||||
|
'uicon-file-text': '\ue663',
|
||||||
|
'uicon-file-text-fill': '\ue665',
|
||||||
|
'uicon-pushpin': '\ue7e3',
|
||||||
|
'uicon-pushpin-fill': '\ue86e',
|
||||||
|
'uicon-grid': '\ue673',
|
||||||
|
'uicon-grid-fill': '\ue678',
|
||||||
|
'uicon-play-circle': '\ue647',
|
||||||
|
'uicon-play-circle-fill': '\ue655',
|
||||||
|
'uicon-pause-circle-fill': '\ue654',
|
||||||
|
'uicon-pause': '\ue8fa',
|
||||||
|
'uicon-pause-circle': '\ue643',
|
||||||
|
'uicon-eye-off': '\ue648',
|
||||||
|
'uicon-eye-off-outline': '\ue62b',
|
||||||
|
'uicon-gift-fill': '\ue65c',
|
||||||
|
'uicon-gift': '\ue65b',
|
||||||
|
'uicon-rmb-circle-fill': '\ue657',
|
||||||
|
'uicon-rmb-circle': '\ue677',
|
||||||
|
'uicon-kefu-ermai': '\ue656',
|
||||||
|
'uicon-server-fill': '\ue751',
|
||||||
|
'uicon-coupon-fill': '\ue8c4',
|
||||||
|
'uicon-coupon': '\ue8ae',
|
||||||
|
'uicon-integral': '\ue704',
|
||||||
|
'uicon-integral-fill': '\ue703',
|
||||||
|
'uicon-home-fill': '\ue964',
|
||||||
|
'uicon-home': '\ue965',
|
||||||
|
'uicon-hourglass-half-fill': '\ue966',
|
||||||
|
'uicon-hourglass': '\ue967',
|
||||||
|
'uicon-account': '\ue628',
|
||||||
|
'uicon-plus-people-fill': '\ue626',
|
||||||
|
'uicon-minus-people-fill': '\ue615',
|
||||||
|
'uicon-account-fill': '\ue614',
|
||||||
|
'uicon-thumb-down-fill': '\ue726',
|
||||||
|
'uicon-thumb-down': '\ue727',
|
||||||
|
'uicon-thumb-up': '\ue733',
|
||||||
|
'uicon-thumb-up-fill': '\ue72f',
|
||||||
|
'uicon-lock-fill': '\ue979',
|
||||||
|
'uicon-lock-open': '\ue973',
|
||||||
|
'uicon-lock-opened-fill': '\ue974',
|
||||||
|
'uicon-lock': '\ue97a',
|
||||||
|
'uicon-red-packet-fill': '\ue690',
|
||||||
|
'uicon-photo-fill': '\ue98b',
|
||||||
|
'uicon-photo': '\ue98d',
|
||||||
|
'uicon-volume-off-fill': '\ue659',
|
||||||
|
'uicon-volume-off': '\ue644',
|
||||||
|
'uicon-volume-fill': '\ue670',
|
||||||
|
'uicon-volume': '\ue633',
|
||||||
|
'uicon-red-packet': '\ue691',
|
||||||
|
'uicon-download': '\ue63c',
|
||||||
|
'uicon-arrow-up-fill': '\ue6b0',
|
||||||
|
'uicon-arrow-down-fill': '\ue600',
|
||||||
|
'uicon-play-left-fill': '\ue675',
|
||||||
|
'uicon-play-right-fill': '\ue676',
|
||||||
|
'uicon-rewind-left-fill': '\ue679',
|
||||||
|
'uicon-rewind-right-fill': '\ue67a',
|
||||||
|
'uicon-arrow-downward': '\ue604',
|
||||||
|
'uicon-arrow-leftward': '\ue601',
|
||||||
|
'uicon-arrow-rightward': '\ue603',
|
||||||
|
'uicon-arrow-upward': '\ue607',
|
||||||
|
'uicon-arrow-down': '\ue60d',
|
||||||
|
'uicon-arrow-right': '\ue605',
|
||||||
|
'uicon-arrow-left': '\ue60e',
|
||||||
|
'uicon-arrow-up': '\ue606',
|
||||||
|
'uicon-skip-back-left': '\ue674',
|
||||||
|
'uicon-skip-forward-right': '\ue672',
|
||||||
|
'uicon-rewind-right': '\ue66f',
|
||||||
|
'uicon-rewind-left': '\ue671',
|
||||||
|
'uicon-arrow-right-double': '\ue68d',
|
||||||
|
'uicon-arrow-left-double': '\ue68c',
|
||||||
|
'uicon-wifi-off': '\ue668',
|
||||||
|
'uicon-wifi': '\ue667',
|
||||||
|
'uicon-empty-data': '\ue62f',
|
||||||
|
'uicon-empty-history': '\ue684',
|
||||||
|
'uicon-empty-list': '\ue68b',
|
||||||
|
'uicon-empty-page': '\ue627',
|
||||||
|
'uicon-empty-order': '\ue639',
|
||||||
|
'uicon-man': '\ue697',
|
||||||
|
'uicon-woman': '\ue69c',
|
||||||
|
'uicon-man-add': '\ue61c',
|
||||||
|
'uicon-man-add-fill': '\ue64c',
|
||||||
|
'uicon-man-delete': '\ue61a',
|
||||||
|
'uicon-man-delete-fill': '\ue66a',
|
||||||
|
'uicon-zh': '\ue70a',
|
||||||
|
'uicon-en': '\ue692'
|
||||||
|
}
|
@ -0,0 +1,5 @@
|
|||||||
|
export default {
|
||||||
|
props: {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue