feat: 电子药箱小程序 - 4Tab药品管理
- 电子药箱: 药品库存管理 + 手动录入 + 今日用药打卡 - 药品百科: 搜索 + 分类筛选 + 20种药品静态数据 - 惠教中心: 4条药品使用指南课程 - 我的: 家庭成员信息管理 - 自定义TabBar + navigation-bar组件 - SVG药品分类插图
This commit is contained in:
+1
@@ -0,0 +1 @@
|
||||
"use strict";var _times=require("../../../utils/times"),_utils=require("../../../utils/utils");Component({properties:{sendTime:{type:Number,value:null},deadLine:{type:Number,value:null},deadLineSecond:{type:Number,value:null},timeOverText:{type:String,value:""},type:{type:String,value:null},isDownWarn:{type:Boolean,value:!1},useDarkTheme:{type:Boolean,value:!1},awardThemeUrl:{type:String,value:""},forceZero:{type:Boolean,value:!1}},data:{countdownText:""},lifetimes:{attached:function(){},detached:function(){clearInterval(this.timerRef)}},observers:{sendTime:function(){this.syncCountdown()},forceZero:function(){this.syncCountdown()}},methods:{syncCountdown:function(){if(this.timerRef&&clearInterval(this.timerRef),this.data.forceZero)(0,_utils.setDataIfChanged)(this,{countdownText:"00:00"});else if(this.data.sendTime){var e=this.getCountDownText({sendTime:this.data.sendTime,deadLine:this.data.deadLine,deadLineSecond:this.data.deadLineSecond});(0,_utils.setDataIfChanged)(this,{countdownText:e}),"00:00"!==e?this.timerRef=setInterval(this.loop.bind(this),1e3):this.onCountDown()}},loop:function(){if(this.data.forceZero)return(0,_utils.setDataIfChanged)(this,{countdownText:"00:00"}),void clearInterval(this.timerRef);var e=this.getCountDownText({sendTime:this.data.sendTime,deadLine:this.data.deadLine,deadLineSecond:this.data.deadLineSecond});(0,_utils.setDataIfChanged)(this,{countdownText:e});var t=e.split(":");"00"===t[0]&&10===Number(t[1])&&this.onCountDownWarn(),"00:00"===e&&(this.onCountDown(),clearInterval(this.timerRef))},getCountDownText:function(e){var t=e.sendTime,n=e.deadLine,i=e.deadLineSecond;return(0,_times.getCountDownV2)(t,n,i).join(":")},onCountDown:function(){this.triggerEvent("onCountDown")},onCountDownWarn:function(){this.triggerEvent("onCountDownWarn")}}});
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"component":true,"usingComponents":{}}
|
||||
+38
@@ -0,0 +1,38 @@
|
||||
<wxs module="m1">
|
||||
var countdownText = function(countdownText) {
|
||||
return countdownText ? countdownText.split(':') : ['00', '00'];
|
||||
}
|
||||
module.exports.countdownText = countdownText;
|
||||
</wxs>
|
||||
<view class="status-tip" wx:if="{{countdownText === '00:00' && timeOverText}}">{{timeOverText}}</view>
|
||||
<!-- 答题倒计时 -->
|
||||
<view wx:elif="{{type === 'quiz'}}" class="quiz-count-down {{isDownWarn ? 'quiz-count-down-warn' : ''}}" >
|
||||
<view class="quiz-count-down-item" >
|
||||
{{m1.countdownText(countdownText)[0]}}
|
||||
</view>:<view class="quiz-count-down-item" >
|
||||
{{m1.countdownText(countdownText)[1]}}
|
||||
</view>
|
||||
</view>
|
||||
<!-- 签到倒计时 -->
|
||||
<view wx:elif="{{type === 'check-in'}}" class="check-in-count-down {{useDarkTheme ? 'check-in-count-down-dark' : ''}}" >
|
||||
<view class="check-in-count-down-item" >
|
||||
{{m1.countdownText(countdownText)[0]}}
|
||||
</view>:<view class="check-in-count-down-item" >
|
||||
{{m1.countdownText(countdownText)[1]}}
|
||||
</view>{{m1.countdownText(countdownText).length === 3 ? ':' : ''}}<view wx:if="{{m1.countdownText(countdownText).length === 3}}" class="check-in-count-down-item" >
|
||||
{{m1.countdownText(countdownText)[2]}}
|
||||
</view>
|
||||
</view>
|
||||
<!-- 抽奖倒计时 -->
|
||||
<view wx:elif="{{type === 'lottery'}}" class="lottery-detail-countdown {{useDarkTheme ? ' lottery-detail-countdown-dark' : ''}}{{awardThemeUrl === 'lotteryBox' ? ' lottery-detail-countdown-box' : ''}}{{awardThemeUrl === 'slotMachine' ? 'lottery-detail-countdown-machine' : '' }}" >
|
||||
<view class="lottery-detail-countdown-box" >
|
||||
{{m1.countdownText(countdownText)[0]}}
|
||||
</view>:<view class="lottery-detail-countdown-box" >
|
||||
{{m1.countdownText(countdownText)[1]}}
|
||||
</view>{{m1.countdownText(countdownText).length === 3 ? ':' : ''}}<view wx:if="{{m1.countdownText(countdownText).length === 3}}" class="lottery-detail-countdown-box" >
|
||||
{{m1.countdownText(countdownText)[2]}}
|
||||
</view>
|
||||
</view>
|
||||
<view wx:else class="status-tip" wx:else>{{countdownText}}</view>
|
||||
|
||||
|
||||
+1
@@ -0,0 +1 @@
|
||||
.status-tip{display:inline-block;width:max-content;transform:scale(.75);margin:0 -12rpx}.quiz-count-down{margin-left:6rpx}.quiz-count-down-item{display:inline-block;background-color:#ccdbff;border-radius:4rpx;margin:0 4rpx;padding:0 4rpx;font-size:calc(26rpx + .5 * (1rem - 16px));font-weight:700}.quiz-count-down-warn .quiz-count-down-item{background-color:#facbc5}.check-in-count-down{display:flex;justify-content:center;margin-top:20rpx;color:#3370ff;opacity:.9;font-size:calc(44rpx + .5 * (1rem - 16px));font-weight:400;line-height:calc(80rpx + .5 * (1rem - 16px))}.check-in-count-down-item{width:80rpx;height:80rpx;line-height:80rpx;background-color:#e8f3ff;border-radius:4rpx;margin:0 8rpx}.check-in-count-down-dark .check-in-count-down-item{background-color:#37383a}.lottery-detail-countdown{display:flex;justify-content:center;margin-top:-40rpx;margin-bottom:32rpx}.lottery-detail-countdown .lottery-detail-countdown-box{width:28px;height:28px;margin:0 4px;background:#fafdff;border-radius:4px;box-shadow:0 2px 12px 0 rgba(0,102,255,.02);backdrop-filter:none}.lottery-detail-countdown,.lottery-detail-countdown>view{color:#1664ff;font-size:calc(14px + .5 * (1rem - 16px));font-weight:500;line-height:calc(28px + .5 * (1rem - 16px))}.lottery-detail-countdown-dark .lottery-detail-countdown-box{backdrop-filter:blur(4px);background:#2a2a35;box-shadow:none}.lottery-detail-countdown-dark,.lottery-detail-countdown-dark>view{color:#fff}.lottery-detail-countdown-box .lottery-detail-countdown-box{background:linear-gradient(115.14deg,rgba(6,38,103,.6) 1.82%,rgba(97,7,93,.6) 37.77%,rgba(84,0,8,.6) 81.16%),linear-gradient(98.27deg,rgba(28,45,194,.424) 3.47%,rgba(255,163,111,.232) 43.12%,rgba(84,4,121,.744) 92.24%);box-shadow:none;backdrop-filter:blur(4px)}.lottery-detail-countdown-box,.lottery-detail-countdown-box>view{color:#fff}.lottery-detail-countdown-machine .lottery-detail-countdown-box{background:#fff;box-shadow:0 2px 12px 0 rgba(255,122,0,.02);backdrop-filter:none}.lottery-detail-countdown-machine,.lottery-detail-countdown-machine>view{color:#ff7751}
|
||||
Reference in New Issue
Block a user