Commit 09a9dcd5 by wangying

1.1.2 / 2017-11-03

==================
 * 1.修改门锁管理、关联开锁信息、绑定开锁信息、邀请绑定页面样式
 * 2.添加产品型号页面
parent b61259fe
1.1.1 / 2017-10-18
1.1.2 / 2017-11-03
==================
* 1.修改门锁管理、关联开锁信息、绑定开锁信息、邀请绑定页面样式
* 2.添加产品型号页面
1.1.1 / 2017-10-18
==================
* 1.修改列表为空样式
......
......@@ -54,9 +54,13 @@
"userList": "用户列表",
"doorlockUser": "门锁用户",
"addUser": "添加用户",
"editName": "修改名称",
"inviteBind": "邀请绑定",
"unlockInfo": "绑定开锁信息"
"unlockInfo": "关联开锁信息",
"myInfo": "个人信息",
"editNickname": "修改昵称",
"editPassword": "修改密码",
"addUnlockInfo": "绑定开锁信息",
"deviceList": "产品型号"
},
"guide":{
"footer": "指纹改变生活"
......@@ -66,6 +70,7 @@
"passwordInputTip": "请输入密码",
"register": "快速注册",
"forgetPassword": "忘记密码",
"failure": "登陆失败",
"error": {
"telNull": "请输入手机号",
"passWordNull": "请输入密码"
......@@ -102,32 +107,62 @@
"followCont1": "关注 “i智信” 微信服务号可随时随地掌握设备动态<br>再也不担心错过重要通知,赶紧按下方提示试试吧",
"followCont2": "1.保存二维码-2.用微信从<span>相册选取扫码</span>-3.关注",
"laterFollow": "稍后关注",
"newMsgDoorlock": "门锁最新消息",
"doorLockRinging": "门铃响了",
"defaultNewMsg": "您尚未绑定门锁",
"noNewMsg": "门锁休息中",
"bindDoorlock": "绑定门锁"
},
"opendoorRecord":{
"noRecordTip": "暂无记录"
"noRecordTip": "暂无记录",
"passwordOpenDoor": "密码开门",
"fingerprintOpenDoor": "指纹开门",
"ICcardOpenDoor": "IC卡开门",
"remoteOpenDoor": "遥控器开门",
"keyOpenDoor": "钥匙开门",
"hijackingAlarm": "劫持报警",
"appRemoteOpenDoor": "app远程开门"
},
"alarmInfo":{
"noInfoTip": "暂无信息"
"noInfoTip": "暂无信息",
"tamperAlarm": "防撬报警",
"trialAlarm": "试错报警",
"powerAlarm": "欠电报警",
"fackLockAlram": "假锁报警"
},
"remoteOpendoor":{
"loading": "远程开门中",
"passwordInputTip": "请输入远程开门密码",
"openDoorSuccess": "远程开门成功",
"openDoorFailure": "远程开门失败",
"remoteOpendoorAgain": "请尝试重试",
"error": {
"noPasswordTip": "远程密码不能为空"
}
},
"hijackRecord":{
"noRecordTip": "暂无记录"
"noRecordTip": "暂无记录",
"hijackingAlarm": "劫持指纹报警"
},
"doorlockManage":{
"name": "名称",
"name": "名称",
"deleteDialogTip": "<span>{0}</span>将被删除",
"logoutDialogTip": "确定要退出系统吗?",
"deleteSuccess": "删除成功",
"deleteFailue": "删除失败",
"defaultNickname": "门锁",
"unbindDialogTip": "<span></span>解锁门锁后,您将失去对该门锁<br>所有查看、管理等功能操作",
"unbindSuccess": "解绑成功"
"unbindSuccess": "解绑成功",
"doorbellMsgPush": "门铃消息推送",
"alarmMsgPush": "报警消息推送",
"opendoorMsgPush": "开门消息推送"
},
"editName":{
"nameInputTip": "请输入门锁名称",
"editNameSuccess": "名字修改成功",
"editNameFailue": "名字修改失败",
"error": {
"nameCanNotBeBlank": "昵称不能为空"
}
},
"qrcode":{
......@@ -139,7 +174,11 @@
},
"addDevice": {
"scanCodeAdd": "扫描绑定设备",
"wifiAdd": "配置Wi-Fi"
"wifiAdd": "配置Wi-Fi",
"loading": "loading",
"bindSuccess": "绑定成功",
"bindFailure": "绑定失败",
"reBindDevice": "请重新绑定"
},
"wifiAddHelp": {
"helpTitle": "配置Wi-Fi说明:",
......@@ -193,46 +232,93 @@
},
"addUser":{
"nameInputTip": "请输入您想添加的用户名",
"addUserSuccess": "添加用户成功",
"addUserFailure": "添加用户失败",
"error": {
"nameCanNotEmpty": "用户名不能为空"
}
},
"doorlockUser":{
"name": "昵称:",
"inviteBind": "邀请绑定",
"bindUnlockInfo": "绑定开锁信息",
"bindUnlockInfo": "关联开锁信息",
"opendoorRecord": "历史开门记录",
"unbindDialogTip": "<span></span>解绑后,您将失去对门锁所有查看功能该用户仍在用户列表中",
"deleteUserDialogTip": "删除后,二者不再为绑定关系,用户无法查看该门锁下的任何信息,该用户名下绑定的所有ID号仍可以显示在开门记录中",
"unbindSuccess": "解绑成功",
"unbindFailue": "解绑失败",
"guideStep1Tip1": "邀请绑定成功",
"guideStep1Tip2": "(可查看开门记录,报警记录等<br>相关门锁信息)",
"guideStep3Tip": "绑定后看可了解<br>该用户的开门情况"
"guideStep3Tip": "绑定后看可了解<br>该用户的开门情况",
"deleteSuccess": "删除成功",
"deleteFailure": "删除失败"
},
"editName":{
"nameInputTip": "请输入用户名",
"nameInputTip": "请输入设备名称",
"nickNameInputTip": "请输入用户名",
"editNameSuccess": "修改名称成功",
"editNameFailue": "修改名称失败",
"error": {
"nameCanNotBeBlank": "设备名称不能为空",
"nicknameCanNotBeBlank": "用户名不能为空"
}
},
"inviteBind":{
"qrcodeExpireTip": "二维码已过期,请重新生成",
"title": "注意事项:",
"cont1": "1.直接通过微信扫一扫添加门锁",
"cont2": "2.将此二维码保存为图片,发送给好友,好友通过长按识别二维码"
"cont2": "2.将此二维码保存为图片,发送给好友,好友通过长按识别二维码"
},
"unlockInfo":{
"bindUnlockInfo": "已绑定的开锁信息",
"noInfoTip": "目前无绑定任何信息,请添加"
"bindUnlockInfo": "已关联的开锁信息",
"noInfoTip": "目前无绑定任何信息,请添加",
"passwordOpenDoor": "密码",
"fingerprintOpenDoor": "指纹",
"ICcardOpenDoor": "IC卡",
"remoteOpenDoor": "遥控器",
"keyOpenDoor": "钥匙",
"appRemoteOpenDoor": "app远程",
"setHijack": "设为劫持",
"setHijackTip": "确认设为劫持指纹吗?",
"cancelHijack": "取消劫持",
"cancelHijackTip": "确认取消劫持指纹吗?",
"cancelAssociated": "取消关联",
"cancelAssociatedTip": "取消关联后,开门历史记录中将不再显示关联的用户信息"
},
"addUnlockInfo":{
"opendoorMode": "开门方式",
"opendoorMode": "选择要关联的开锁方式",
"fingerprint": "指纹",
"password": "密码",
"icCard": "IC卡",
"key": "钥匙",
"hijackFingerprint": "劫持指纹",
"opendoorRecord": "今日开门记录",
"opendoorRecord": "选择要关联的开锁ID",
"tip": "仅显示未绑定开门记录",
"noRecordTip": "暂无记录"
"addInfoSuccess": "添加绑定开锁信息成功",
"addInfoFailue": "添加绑定开锁信息失败",
"noRecordTip": "暂无记录",
"setHijackSwitch": "设为劫持指纹",
"guideStep1Tip": "选择需要添加关联的开门方式",
"guideStep3Tip": "根据开门记录中的开门时间,选择关联的<br>开门ID<span>(一个ID只能被一个用户绑定)</span>",
"guideStep5Tip": "使用劫持指纹开门时,会以报警形式<br>通知到该门锁名下的其他绑定用户"
},
"myInfo":{
"editNickname": "修改昵称",
"editPassword": "修改密码",
"logoutDialogTip": "确定要退出系统吗?"
},
"editNickname": {
"nickNameInputTip": "请输入昵称"
},
"editPassword": {
"newPasswordInputTip": "请输入新密码",
"oldPasswordInputTip": "请输入旧密码",
"oldPasswordInputTipAgain": "请再次输入旧密码"
},
"request":{
"error": "请求发送失败"
},
"deviceList":{
"model": "型号:"
}
}
\ No newline at end of file
/**
* v_deviceList.js
* Version: 0.1
* User: wy
* Date: 2017-11-03
* Copyright(c) 2017. U-GEN Tech.Co,Ltd. All Rights Reserved.
* 产品型号页面
*/
import {iot, uPublic, uComponents} from '../../public/public.js';
iot.ready(init);
function init() {
//通用 list、dialog、loading组件
uPublic.componentsInit(['u-list','u-dialog','u-loading']);
const app = new Vue({
data:{
//配置组件
componentsConfig: initComponentsConfig()
},
mounted(){
},
methods:{
//tap <
onBackTap(){
backTap();
},
onDeviceListRowTap(){
deviceListRowTap();
}
}
}).$mount('#app');
}
//配置组件参数
function initComponentsConfig() {
let model = Vue.t('deviceList.model');
return {
deviceList:{
initParam: {
class: 'custom-device-list',
list: [
{leftImage: '../../resources/image/deviceImg.png', title:'智能门锁', subtitle: model + 'ABCDEFG',rightIcon: '&#xe6a7;'},
{leftImage: '../../resources/image/deviceImg.png', title:'智能门锁', subtitle: model + 'ABCDEFG',rightIcon: '&#xe6a7;'},
{leftImage: '../../resources/image/deviceImg.png', title:'智能门锁', subtitle: model + 'ABCDEFG',rightIcon: '&#xe6a7;'},
{leftImage: '../../resources/image/deviceImg.png', title:'智能门锁', subtitle: model + 'ABCDEFG',rightIcon: '&#xe6a7;'}
],
tip: ''
}
},
dialog: {
initParam: {
class: 'custom-dialog'
}
},
loading: {
initParam: {
class: 'custom-loading'
}
}
}
}
//tap <
function backTap(){
iot.navigator.back();
}
function deviceListRowTap(){
iot.navigator.openWindow({
url: './wifiAddHelp.html',
id: 'wifiAddHelp'
});
}
\ No newline at end of file
......@@ -69,7 +69,7 @@ function scanAddTap(){
//tap 配置Wi-Fi
function wifiAddTap(){
iot.navigator.openWindow({
url: './wifiAddHelp.html',
id: 'wifiAddHelp'
url: './deviceList.html',
id: 'deviceList'
});
}
\ No newline at end of file
......@@ -12,31 +12,17 @@ import {iot, uPublic, uComponents} from '../../public/public.js';
iot.ready(init);
function init() {
//通用 input、按钮、dialog、loading组件
uPublic.componentsInit(['u-text','u-button','u-commstatus-loading','u-dialog','u-loading']);
uPublic.componentsInit(['u-text','u-button','u-comm-loading','u-dialog','u-loading']);
const app = new Vue({
data:{
textPassword: null,
textErrorTip: null,
textLoading: 'loading...',
status: 0,
textErrorTip: null,
//配置组件
componentsConfig: initComponentsConfig()
},
mounted(){
},
methods:{
getTextLoading(){
return this.textLoading;
},
setTextLoading(text){
this.textLoading = text;
},
getStatus(){
return this.status;
},
setStatus(value){
this.status = value;
},
onPasswordChange(text){
passwordChange(this,text);
},
......@@ -49,9 +35,9 @@ function init() {
connectButtonTap(this);
},
//tap loading button
onCommstatusLoadingButtonTap(){
commstatusLoadingButtonTap(this);
}
onCommLoadingButtonTap(){
commLoadingButtonTap(this);
}
}
}).$mount('#app');
}
......@@ -84,10 +70,12 @@ function initComponentsConfig() {
class: 'custom-loading'
}
},
ucommstatusloading: {
ucommloading: {
initParam: {
class: 'custom-commstatus-loading',
buttonText: Vue.t('btn.confirm')
class: 'custom-comm-loading',
buttonText: Vue.t('btn.confirm'),
text: '密码确认中...',
status: 0,
}
}
}
......@@ -104,30 +92,26 @@ function backTap(){
}
//tap 连接
function connectButtonTap(self){
uComponents.showCommstatusloading(self);
function connectButtonTap(self){
uComponents.showCommLoading(self);
setTimeout(function(){
self.setTextLoading(Vue.t('commstatusLoading.connectSuccess'));
uComponents.changeCommLoadingStatusAndText(self,0,'门锁响应中...');
setTimeout(function(){
//绑定成功
self.setStatus(1);
self.setTextLoading(Vue.t('commstatusLoading.bindSuccess'));
uComponents.changeCommLoadingStatusAndText(self,1,'远程开门成功');
//绑定失败
//self.setStatus(2);
//self.setTextLoading(Vue.t('commstatusLoading.bindFailed'));
//uComponents.changeCommstatusButtonText(self,Vue.t('btn.reBound'));
//uComponents.changeCommLoadingStatusAndText(self,1,'远程开门失败');
//uComponents.changeCommButtonText(self,'请尝试重试');
},3000);
},3000);
}
//tap loading button
function commstatusLoadingButtonTap(self) {
function commLoadingButtonTap(self) {
//绑定成功
uComponents.hideCommstatusloading(self);
uComponents.hideCommLoading(self);
iot.navigator.openWindow({
url: '../device/',
id: 'device'
});
//绑定失败
//uComponents.hideCommstatusloading(self);
}
\ No newline at end of file
......@@ -11,14 +11,20 @@ import {iot, uPublic, uComponents} from '../../public/public.js';
iot.ready(init);
function init() {
//通用 按钮、dialog、loading组件
uPublic.componentsInit(['u-button','u-dialog','u-loading']);
//通用 开关、按钮、dialog、loading组件
uPublic.componentsInit(['u-switch','u-button','u-dialog','u-loading']);
//项目 list组件
uPublic.componentsExtend(['grid-list']);
const app = new Vue({
data:{
textDoorlock: '智能指纹锁1',
stateShowFlag: false,
stateShowFlag: false,
//门铃消息推送 switch
valueDoorbell: 1,
//报警消息推送 switch
valueAlarm: 0,
//开门消息推送 switch
valueOpendoor: 1,
//配置组件
componentsConfig: initComponentsConfig()
},
......@@ -52,6 +58,24 @@ function init() {
//配置组件参数
function initComponentsConfig() {
return {
//门铃消息推送 switch 参数
doorbellSwitch: {
initParam: {
class: 'custom-switch'
}
},
//报警消息推送 switch 参数
alarmSwitch: {
initParam: {
class: 'custom-switch'
}
},
//开门消息推送 switch 参数
opendoorSwitch: {
initParam: {
class: 'custom-switch'
}
},
//解绑门锁 button 参数
unbindDoorlockButton: {
initParam: {
......
......@@ -11,18 +11,68 @@ import {iot, uPublic, uComponents} from '../../public/public.js';
iot.ready(init);
function init() {
//通用 select、按钮、dialog、loading组件
uPublic.componentsInit(['u-select','u-button','u-dialog','u-loading']);
//通用 select、开关、按钮、dialog、loading组件
uPublic.componentsInit(['u-select','u-switch','u-button','u-dialog','u-loading']);
const app = new Vue({
data:{
recordSelectIndex: 0,
recordSelectList: [],
recordSelectList: [],
valueSetHijack: 1,
guideShowFlag: false,
guideStep1ShowFlag: false,
guideStep2ShowFlag: false,
guideStep3ShowFlag: false,
guideStep4ShowFlag: false,
guideStep5ShowFlag: false,
guideStep6ShowFlag: false,
//配置组件
componentsConfig: initComponentsConfig()
},
mounted(){
},
methods:{
getGuideShowFlag(){
return this.guideShowFlag;
},
setGuideShowFlag(boolean){
this.guideShowFlag = boolean;
},
getGuideStep1ShowFlag(){
return this.guideStep1ShowFlag;
},
setGuideStep1ShowFlag(boolean){
this.guideStep1ShowFlag = boolean;
},
getGuideStep2ShowFlag(){
return this.guideStep2ShowFlag;
},
setGuideStep2ShowFlag(boolean){
this.guideStep2ShowFlag = boolean;
},
getGuideStep3ShowFlag(){
return this.guideStep3ShowFlag;
},
setGuideStep3ShowFlag(boolean){
this.guideStep3ShowFlag = boolean;
},
getGuideStep4ShowFlag(){
return this.guideStep4ShowFlag;
},
setGuideStep4ShowFlag(boolean){
this.guideStep4ShowFlag = boolean;
},
getGuideStep5ShowFlag(){
return this.guideStep5ShowFlag;
},
setGuideStep5ShowFlag(boolean){
this.guideStep5ShowFlag = boolean;
},
getGuideStep6ShowFlag(){
return this.guideStep6ShowFlag;
},
setGuideStep6ShowFlag(boolean){
this.guideStep6ShowFlag = boolean;
},
//tap <
onBackTap(){
backTap();
......@@ -33,7 +83,18 @@ function init() {
//tap 添加
onAddButtonTap(){
addButtonTap();
}
},
//tap 下一步
onNextButtonTap(){
nextButtonTap(this);
},
onNextStepButtonTap(){
nextStepButtonTap(this);
},
//tap 我知道了
onISeeButtonTap(){
iSeeButtonTap(this);
}
}
}).$mount('#app');
}
......@@ -53,12 +114,33 @@ function initComponentsConfig() {
tip: Vue.t('addUnlockInfo.noRecordTip')
}
},
//设为劫持指纹
setHijackSwitch: {
initParam: {
class: 'custom-setHijack-switch',
text: Vue.t('addUnlockInfo.setHijackSwitch')
}
},
//添加 button 参数
addButton: {
initParam: {
class: 'custom-button',
text: Vue.t('btn.add')
}
},
//下一步 button 参数
nextButton: {
initParam: {
class: 'custom-dialog-button',
text: Vue.t('btn.next')
}
},
//我知道了 button 参数
iSeeButton: {
initParam: {
class: 'custom-dialog-button',
text: Vue.t('btn.iSee')
}
},
dialog: {
initParam: {
......@@ -86,4 +168,24 @@ function recordSelectChange(self, value) {
//tap 添加
function addButtonTap(){
iot.navigator.back();
}
//tap 下一步
function nextButtonTap(self){
self.setGuideStep1ShowFlag(false);
self.setGuideStep2ShowFlag(false);
self.setGuideStep3ShowFlag(true);
self.setGuideStep4ShowFlag(true);
}
function nextStepButtonTap(self){
self.setGuideStep3ShowFlag(false);
self.setGuideStep4ShowFlag(false);
self.setGuideStep5ShowFlag(true);
self.setGuideStep6ShowFlag(true);
}
//tap 我知道了
function iSeeButtonTap(self){
self.setGuideShowFlag(false);
}
\ No newline at end of file
......@@ -11,8 +11,8 @@ import {iot, uPublic, uComponents} from '../../public/public.js';
iot.ready(init);
function init() {
//通用 list、dialog、loading组件
uPublic.componentsInit(['u-list','u-dialog','u-loading']);
//通用 侧滑列表、dialog、loading组件
uPublic.componentsInit(['u-swipe-list','u-dialog','u-loading']);
const app = new Vue({
data:{
//配置组件
......@@ -28,7 +28,11 @@ function init() {
//tap 添加
onAddTap(){
addTap();
}
},
//tap list row btn
onUnlockInfoListButtonTap(value, buttonValue){
unlockInfoListButtonTap(this, value, buttonValue);
}
}
}).$mount('#app');
}
......@@ -36,12 +40,13 @@ function init() {
//配置组件参数
function initComponentsConfig() {
return {
unlockInfoList:{
unlockInfoList: {
initParam: {
class: 'custom-unlockInfo-list',
list: [
{title: '指纹1', rightText: 'ID:123456'},
{title: '指纹2', rightText: 'ID:123456'}
class: 'custom-swipe-list',
list: [
{title: '指纹1', subtitle: 'ID:123456', buttons: [{'text': Vue.t('unlockInfo.setHijack')},{'text': Vue.t('unlockInfo.cancelAssociated')}]},
{title: '指纹2', subtitle: 'ID:123456', buttons: [{'text': Vue.t('unlockInfo.setHijack')},{'text': Vue.t('unlockInfo.cancelAssociated')}]},
{title: '劫持指纹1', subtitle: 'ID:123456', buttons: [{'text': Vue.t('unlockInfo.cancelHijack')},{'text': Vue.t('unlockInfo.cancelAssociated')}]}
],
tip: Vue.t('unlockInfo.noInfoTip')
}
......@@ -70,4 +75,21 @@ function addTap(){
url: './addUnlockInfo.html',
id: 'addUnlockInfo'
});
}
function unlockInfoListButtonTap(self, value, buttonValue) {
//设为劫持&取消劫持
if(buttonValue == '0'){
uComponents.openConfirm(self, Vue.t('unlockInfo.setHijackTip'),
{text: Vue.t('dialog.cancel'), callback: function () {}},
{text: Vue.t('dialog.confirm'), callback: function () {}}
);
}
//取消关联
else if(buttonValue == '1'){
uComponents.openConfirm(self, Vue.t('unlockInfo.cancelAssociatedTip'),
{text: Vue.t('dialog.cancel'), callback: function () {}},
{text: Vue.t('dialog.confirm'), callback: function () {}}
);
}
}
\ No newline at end of file
......@@ -26,6 +26,9 @@
.tap_row(@ADDDEVICE-ROW-ACTIVE-BG);
}
//产品型号
.u-list();
//配置Wi-Fi
.wifiAddHelp{
.help();
......
......@@ -152,9 +152,9 @@
}
//门锁管理
.doorlockManage{
.doorlockManage li{
font-size: 16px;
padding: 17px 72px 17px 42px;
padding: 17px 42px;
position: relative;
overflow: hidden;
p{
......@@ -164,10 +164,13 @@
margin-top: 3px;
}
// > icon
&:before{
content: '\e6a7';
.transformV_center(right,35px);
.iconfont(@USERINFOLINK-ICON-FONTSIZE);
&.name{
padding-right: 72px;
&:before{
content: '\e6a7';
.transformV_center(right,35px);
.iconfont(@USERINFOLINK-ICON-FONTSIZE);
}
}
&:after{
content: '';
......@@ -180,4 +183,6 @@
}
}
.u-switch();
.unbindState-dialog();
\ No newline at end of file
......@@ -145,10 +145,11 @@
.inviteBind{
margin: 40px 38px 0;
li{
p{
&:first-child{
width: 200px;
height: 200px;
margin: 0 auto;
position: relative;
}
&:not(:first-child){
color: @INVITEBIND-TEXT-COLOR;
......@@ -164,6 +165,19 @@
margin-top: 33px;
}
}
p{
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
text-align: center;
background-color: rgba(255, 255, 255, 0.1);
span{
.transformV_center(left,0);
width: 100%;
}
}
}
}
......
......@@ -4,7 +4,7 @@
//开锁信息列表
.title{
height: 48px;
line-height: 48px;
line-height: 46px;
position: relative;
font-size: @UNLOCKINFO-TITLE-FONTSIZE;
padding-left: 42px;
......@@ -14,6 +14,7 @@
}
}
/*
.u-list();
.custom-unlockInfo-list{
......@@ -45,43 +46,53 @@
font-size: @LIST-NOCONTTIP-FONTSIZE;
}
}
*/
//绑定开锁信
.u-swipe-list();
.custom-swipe-list{
.u-swipe-list-scroll .u-swipe-list-row .u-swipe-list-handle{
background-color: #242635;
}
}
//绑定开锁信息
.opendoorMode{
border: solid #50515d;
border-width: 2px 0;/*no*/
overflow: hidden;
ul{
padding: 11px 42px;
font-size: 0;
margin: 0 -5px;
li{
color: #00ffff;
font-size: 13px;
border: 1px solid;/*no*/
position: relative;
width: 90px;
display: inline-block;
text-align: center;
line-height: 1;
padding: 8px 0;
border-radius: 5px;
margin: 10px 5px;
&:before{
content: '\e631';
position: absolute;
top: 50%;
.transform(translate(-14px,-50%));
.iconfont(12px);
display: none;
}
&.active{
background-color: #153D4C;
&:before{
display: inline-block;
}
}
}
}
.modeSelect{
padding: 11px 42px;
font-size: 0;
margin: 0 -5px;
li{
color: #00ffff;
font-size: 13px;
border: 1px solid;/*no*/
position: relative;
width: 90px;
display: inline-block;
text-align: center;
line-height: 1;
padding: 8px 0;
border-radius: 5px;
margin: 10px 5px;
&:before{
content: '\e631';
position: absolute;
top: 50%;
.transform(translate(-14px,-50%));
.iconfont(12px);
display: none;
}
&.active{
background-color: #153D4C;
&:before{
display: inline-block;
}
}
}
}
......@@ -129,9 +140,15 @@
margin-top: 4px;
}
.u-switch();
.u-button();
.custom-button{
.button();
.buttonPosition();
}
.guide-dialog{
.mask(1051,@CUSTOM-BACKDROP-BG);
}
\ No newline at end of file
......@@ -355,8 +355,8 @@
.u-swipe-list{
width: 100%;
height: 100%;
overflow: auto;
position: relative;
overflow: auto;
}
.u-swipe-list-scroll .u-swipe-list-row{
position: relative;
......@@ -388,10 +388,7 @@
}
.u-swipe-list-subtitle{
.text_oneRow_ellipsis();
}
&.u-swipe-list-selected{
left: -120px;
}
}
}
.u-swipe-list-button{
position: absolute;
......@@ -414,17 +411,20 @@
background-color: @SWIPELIST-COMPONENT-OTHERBUTTON-BG;
}
}
}
}
&:after{
.defaultBorder();
z-index: 2;
}
&.active .u-swipe-list-handle{
left: -120px;
}
}
//上拉加载
.u-swipe-list-load{
text-align: center;
}
//list 无内容
//swipeList 无内容
.u-swipeList-tip{
.transformV_center(left,0);
width: 100%;
......
web/resources/image/scanCodeAdd.png

3.26 KB | W: | H:

web/resources/image/scanCodeAdd.png

3.07 KB | W: | H:

web/resources/image/scanCodeAdd.png
web/resources/image/scanCodeAdd.png
web/resources/image/scanCodeAdd.png
web/resources/image/scanCodeAdd.png
  • 2-up
  • Swipe
  • Onion skin
......@@ -483,6 +483,92 @@ p {
background-color: #153D4C;
}
.u-list {
width: 100%;
height: 100%;
overflow: auto;
position: relative;
}
.u-list-scroll .u-list-row {
padding: 0.4rem 0.4rem 0.4rem 0.533rem;
position: relative;
display: -webkit-box;
display: -webkit-flex;
display: flex;
-webkit-box-align: center;
-webkit-align-items: center;
align-items: center;
}
.u-list-scroll .u-list-row .u-list-left-image {
width: 1.333rem;
height: 1.333rem;
margin-right: 0.267rem;
}
.u-list-scroll .u-list-row .u-list-left-icon {
margin-right: 0.267rem;
font-family: iconfont;
font-size: 0.533rem;
-webkit-font-smoothing: antialiased;
line-height: 1;
}
.u-list-scroll .u-list-row div {
-webkit-box-flex: 1;
-webkit-flex: 1;
flex: 1;
min-width: 0;
}
.u-list-scroll .u-list-row .u-list-title {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.u-list-scroll .u-list-row .u-list-subtitle {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.u-list-scroll .u-list-row .u-list-right-text {
margin-left: 0.107rem;
}
.u-list-scroll .u-list-row .u-list-right-icon {
font-family: defaultIconfont;
font-size: 0.667rem;
-webkit-font-smoothing: antialiased;
line-height: 1;
}
.u-list-scroll .u-list-row:after {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 1px;
background: #bbb;
}
.u-list-load {
text-align: center;
}
.u-list-tip {
position: absolute;
top: 50%;
left: 0;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
width: 100%;
text-align: center;
}
.wifiAddHelp {
margin: 0.8rem 1.013rem 1.547rem;
}
......
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0"/>
<meta name="apple-mobile-web-app-capable" content="yes"/>
<meta name="apple-mobile-web-app-status-bar-style" content="black"/>
<meta name="format-detection" content="telephone=no"/>
<title></title>
<link rel="stylesheet" type="text/css" href="../../lib/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="./addDevice.css">
<style type="text/css">
[v-cloak]{
display: none;
}
</style>
<script type="text/javascript" src="../../lib/js/p.js"></script>
<script type="text/javascript" src="../../lib/js/UIOT.js"></script>
</head>
<body ontouchstart="">
<div id="app" v-cloak>
<div class="header">
<v-touch tag="span" class="header-left icon" v-on:tap="onBackTap">&#xe611;</v-touch>
<p>{{ $t('title.deviceList') }}</p>
</div>
<u-list :init-param="componentsConfig.deviceList.initParam" v-on:u-list-tap="onDeviceListRowTap"></u-list>
<u-dialog ref="udialog" :init-param="componentsConfig.dialog.initParam"></u-dialog>
<u-loading ref="uloading" :init-param="componentsConfig.loading.initParam"></u-loading>
</div>
<script type="text/javascript" src="./deviceList.js" defer async></script>
</body>
</html>
\ No newline at end of file
......@@ -41,11 +41,11 @@
</ul>
<u-button :init-param="componentsConfig.connectButton.initParam" v-on:u-button-tap="onConnectButtonTap"></u-button>
</div>
<u-commstatus-loading ref="ucommstatusloading" :text="textLoading" :status="status"
:init-param="componentsConfig.ucommstatusloading.initParam" v-on:u-commstatus-loading-tap="onCommstatusLoadingButtonTap()">
<u-comm-loading ref="ucommloading"
:init-param="componentsConfig.ucommloading.initParam" v-on:u-comm-loading-tap="onCommLoadingButtonTap()">
<p class="loader"></p>
<p class="icon"></p>
</u-commstatus-loading>
</u-comm-loading>
<u-dialog ref="udialog" :init-param="componentsConfig.dialog.initParam"></u-dialog>
<u-loading ref="uloading" :init-param="componentsConfig.loading.initParam"></u-loading>
</div>
......
......@@ -715,8 +715,8 @@ p {
.u-swipe-list {
width: 100%;
height: 100%;
overflow: auto;
position: relative;
overflow: auto;
}
.u-swipe-list-scroll .u-swipe-list-row {
......@@ -773,10 +773,6 @@ p {
text-overflow: ellipsis;
}
.u-swipe-list-scroll .u-swipe-list-row .u-swipe-list-handle.u-swipe-list-selected {
left: -3.2rem;
}
.u-swipe-list-scroll .u-swipe-list-row .u-swipe-list-button {
position: absolute;
top: 0;
......@@ -820,6 +816,10 @@ p {
z-index: 2;
}
.u-swipe-list-scroll .u-swipe-list-row.active .u-swipe-list-handle {
left: -3.2rem;
}
.u-swipe-list-load {
text-align: center;
}
......
......@@ -818,21 +818,25 @@ p {
line-height: 1.067rem;
}
.doorlockManage {
.doorlockManage li {
font-size: 0.427rem;
padding: 0.453rem 1.92rem 0.453rem 1.12rem;
padding: 0.453rem 1.12rem;
position: relative;
overflow: hidden;
}
.doorlockManage p {
.doorlockManage li p {
float: right;
color: #A0A0A7;
font-size: 0.32rem;
margin-top: 0.08rem;
}
.doorlockManage:before {
.doorlockManage li.name {
padding-right: 1.92rem;
}
.doorlockManage li.name:before {
content: '\e6a7';
position: absolute;
top: 50%;
......@@ -845,7 +849,7 @@ p {
line-height: 1;
}
.doorlockManage:after {
.doorlockManage li:after {
content: '';
position: absolute;
bottom: 0;
......@@ -856,6 +860,71 @@ p {
background: linear-gradient(to right, #242635, #fff, #242635);
}
.u-switch {
position: relative;
width: 2.667rem;
height: 1.333rem;
}
.u-switch .u-switch-handle {
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
width: 1.333rem;
height: 0.8rem;
border: 2px solid;
border-radius: 0.533rem;
background-clip: padding-box;
}
.u-switch .u-switch-handle:before {
content: '';
position: absolute;
z-index: 1;
top: -1px;
width: 0.747rem;
height: 0.747rem;
-webkit-transition: left 0.2s ease-in-out;
transition: left 0.2s ease-in-out;
border-radius: 0.427rem;
background-color: #fff;
background-clip: padding-box;
-webkit-box-shadow: 0 0.053rem 0.133rem rgba(0, 0, 0, 0.4);
box-shadow: 0 0.053rem 0.133rem rgba(0, 0, 0, 0.4);
}
.u-switch.u-switch-on .u-switch-handle {
border-color: #4cd964;
-webkit-box-shadow: inset 0 0 0 0.427rem #4cd964;
box-shadow: inset 0 0 0 0.427rem #4cd964;
background-color: #4cd964;
-webkit-transition: border ease 0.4s, -webkit-box-shadow ease 0.4s, background-color ease 1.2s;
transition: border ease 0.4s, box-shadow ease 0.4s, background-color ease 1.2s;
}
.u-switch.u-switch-on .u-switch-handle:before {
left: 0.48rem;
}
.u-switch.u-switch-off .u-switch-handle {
border-color: #bbb;
-webkit-box-shadow: inset 0 0 0 0 #bbb;
box-shadow: inset 0 0 0 0 #bbb;
background-color: #bbb;
-webkit-transition: border cubic-bezier(0, 0, 0, 1) 0.4s, -webkit-box-shadow cubic-bezier(0, 0, 0, 1) 0.4s;
transition: border cubic-bezier(0, 0, 0, 1) 0.4s, box-shadow cubic-bezier(0, 0, 0, 1) 0.4s;
}
.u-switch.u-switch-off .u-switch-handle:before {
left: -1px;
}
.u-switch.disabled {
opacity: 0.3;
}
.unbindState-dialog {
position: fixed;
top: 0;
......
......@@ -25,10 +25,24 @@
<p>{{ $t('title.doorlockManage') }}</p>
</div>
<div class="content">
<v-touch tag="div" class="doorlockManage" v-on:tap="onEditNameTap">
{{ $t('doorlockManage.name') }}
<p>{{ textDoorlock }}</p>
</v-touch>
<ul class="doorlockManage">
<v-touch tag="li" class="name" v-on:tap="onEditNameTap">
{{ $t('doorlockManage.name') }}
<p>{{ textDoorlock }}</p>
</v-touch>
<li>
{{ $t('doorlockManage.doorbellMsgPush') }}
<u-switch :value="valueDoorbell" :init-param="componentsConfig.doorbellSwitch.initParam"></u-switch>
</li>
<li>
{{ $t('doorlockManage.alarmMsgPush') }}
<u-switch :value="valueAlarm" :init-param="componentsConfig.alarmSwitch.initParam"></u-switch>
</li>
<li>
{{ $t('doorlockManage.opendoorMsgPush') }}
<u-switch :value="valueOpendoor" :init-param="componentsConfig.opendoorSwitch.initParam"></u-switch>
</li>
</ul>
<u-button :init-param="componentsConfig.unbindDoorlockButton.initParam" v-on:u-button-tap="onUnbindDoorlockButtonTap"></u-button>
</div>
<transition name="fade">
......
......@@ -22,17 +22,16 @@
<div id="app" v-cloak>
<div class="header">
<v-touch tag="span" class="header-left icon" v-on:tap="onBackTap">&#xe611;</v-touch>
<p>{{ $t('title.unlockInfo') }}</p>
<p>{{ $t('title.addUnlockInfo') }}</p>
</div>
<div class="content">
<div class="opendoorMode">
<p class="title">{{ $t('addUnlockInfo.opendoorMode') }}</p>
<ul>
<ul class="modeSelect">
<li class="active">{{ $t('addUnlockInfo.fingerprint') }}</li>
<li>{{ $t('addUnlockInfo.password') }}</li>
<li>{{ $t('addUnlockInfo.icCard') }}</li>
<li>{{ $t('addUnlockInfo.key') }}</li>
<li>{{ $t('addUnlockInfo.hijackFingerprint') }}</li>
<li>遥控器</li>
</ul>
</div>
<div class="opendoorRecord">
......@@ -40,9 +39,70 @@
<u-select ref="uselect" :value="recordSelectIndex" :init-param="componentsConfig.recordSelect.initParam"
v-on:u-select-change="onRecordSelectChange(arguments[0])"></u-select>
<p class="tip">{{ $t('addUnlockInfo.tip') }}</p>
<u-switch :value="valueSetHijack" :init-param="componentsConfig.setHijackSwitch.initParam"></u-switch>
</div>
<u-button :init-param="componentsConfig.addButton.initParam" v-on:u-button-tap="onAddButtonTap"></u-button>
</div>
</div>
<transition name="fade">
<div class="guide-dialog" v-show="guideShowFlag">
<transition name="fade">
<div class="guideStep1" v-show="guideStep1ShowFlag">
<div class="guideStep1Cont">
<p class="title">{{ $t('addUnlockInfo.opendoorMode') }}</p>
<ul class="modeSelect">
<li class="active">{{ $t('addUnlockInfo.fingerprint') }}</li>
<li>{{ $t('addUnlockInfo.password') }}</li>
<li>{{ $t('addUnlockInfo.icCard') }}</li>
<li>遥控器</li>
</ul>
</div>
<div class="guideStep1Tip">
{{ $t('addUnlockInfo.guideStep1Tip') }}
</div>
</div>
</transition>
<transition name="fade">
<div class="guideStep2" v-show="guideStep2ShowFlag">
<u-button :init-param="componentsConfig.nextButton.initParam" v-on:u-button-tap="onNextButtonTap"></u-button>
</div>
</transition>
<transition name="fade">
<div class="guideStep3" v-show="guideStep3ShowFlag">
<div class="guideStep3Tip" v-html="$t('addUnlockInfo.guideStep3Tip')"></div>
<div class="guideStep3Cont">
<ul>
<li class="active">
<p>16:35</p>
<p>ID:001</p>
</li>
<li>
<p>15:33</p>
<p>ID:002</p>
</li>
</ul>
</div>
</div>
</transition>
<transition name="fade">
<div class="guideStep4" v-show="guideStep4ShowFlag">
<u-button :init-param="componentsConfig.nextButton.initParam" v-on:u-button-tap="onNextStepButtonTap"></u-button>
</div>
</transition>
<transition name="fade">
<div class="guideStep5" v-show="guideStep5ShowFlag">
<div class="guideStep5Tip" v-html="$t('addUnlockInfo.guideStep5Tip')"></div>
<div class="guideStep3Cont">
<p>{{ $t('addUnlockInfo.setHijackSwitch') }}</p>
</div>
</div>
</transition>
<transition name="fade">
<div class="guideStep6" v-show="guideStep6ShowFlag">
<u-button :init-param="componentsConfig.iSeeButton.initParam" v-on:u-button-tap="onISeeButtonTap"></u-button>
</div>
</transition>
</div>
</transition>
<u-dialog ref="udialog" :init-param="componentsConfig.dialog.initParam"></u-dialog>
<u-loading ref="uloading" :init-param="componentsConfig.loading.initParam"></u-loading>
</div>
......
......@@ -814,10 +814,11 @@ p {
margin: 1.067rem 1.013rem 0;
}
.inviteBind li p {
.inviteBind li:first-child {
width: 5.333rem;
height: 5.333rem;
margin: 0 auto;
position: relative;
}
.inviteBind li:not(:first-child) {
......@@ -835,6 +836,25 @@ p {
margin-top: 0.88rem;
}
.inviteBind li p {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
text-align: center;
background-color: rgba(255, 255, 255, 0.1);
}
.inviteBind li p span {
position: absolute;
top: 50%;
left: 0;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
width: 100%;
}
.unbindState-dialog {
position: fixed;
top: 0;
......
......@@ -27,7 +27,9 @@
<div class="content">
<ul class="inviteBind">
<li>
<p></p>
<p>
<span>{{ $t('inviteBind.qrcodeExpireTip') }}</span>
</p>
</li>
<li>{{ $t('inviteBind.title') }}</li>
<li>{{ $t('inviteBind.cont1') }}</li>
......
......@@ -454,7 +454,7 @@ p {
.title {
height: 1.28rem;
line-height: 1.28rem;
line-height: 1.227rem;
position: relative;
font-size: 0.427rem;
padding-left: 1.12rem;
......@@ -465,31 +465,75 @@ p {
top: 2.453rem;
}
.u-list {
/*
.u-list();
.custom-unlockInfo-list{
position: absolute;
top: 44px;
bottom: 0;
left: 0;
height: auto;
.u-list-scroll .u-list-row{
color: @UNLOCKINFOLIST-TEXT-COLOR;
font-size: @UNLOCKINFOLIST-TEXT-FONTSIZE;
padding: 18px 42px 8px;
&:after{
.white_gradient_border();
}
}
//上拉加载
.u-list-load{
.listLoad();
}
//list 无内容
.u-list-tip{
.bgImg("unlockNoCont.png");
background-position: top center;
background-repeat: no-repeat;
.background-size(70px 70px);
padding-top: 88px;
color: @LIST-NOCONTTIP-COLOR;
font-size: @LIST-NOCONTTIP-FONTSIZE;
}
}
*/
.u-swipe-list {
width: 100%;
height: 100%;
position: relative;
overflow: auto;
}
.u-swipe-list-scroll .u-swipe-list-row {
position: relative;
overflow: hidden;
}
.u-list-scroll .u-list-row {
padding: 0.4rem 0.4rem 0.4rem 0.533rem;
.u-swipe-list-scroll .u-swipe-list-row .u-swipe-list-handle {
position: relative;
-webkit-transition: left 0.4s ease;
transition: left 0.4s ease;
left: 0;
background-color: #fff;
padding: 0.4rem 0.533rem;
display: -webkit-box;
display: -webkit-flex;
display: flex;
-webkit-box-align: center;
-webkit-align-items: center;
align-items: center;
z-index: 2;
}
.u-list-scroll .u-list-row .u-list-left-image {
.u-swipe-list-scroll .u-swipe-list-row .u-swipe-list-handle .u-swipe-list-image {
width: 1.333rem;
height: 1.333rem;
margin-right: 0.267rem;
}
.u-list-scroll .u-list-row .u-list-left-icon {
.u-swipe-list-scroll .u-swipe-list-row .u-swipe-list-handle .u-swipe-list-icon {
margin-right: 0.267rem;
font-family: iconfont;
font-size: 0.533rem;
......@@ -497,37 +541,58 @@ p {
line-height: 1;
}
.u-list-scroll .u-list-row div {
.u-swipe-list-scroll .u-swipe-list-row .u-swipe-list-handle div {
-webkit-box-flex: 1;
-webkit-flex: 1;
flex: 1;
min-width: 0;
}
.u-list-scroll .u-list-row .u-list-title {
.u-swipe-list-scroll .u-swipe-list-row .u-swipe-list-handle .u-swipe-list-title {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.u-list-scroll .u-list-row .u-list-subtitle {
.u-swipe-list-scroll .u-swipe-list-row .u-swipe-list-handle .u-swipe-list-subtitle {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.u-list-scroll .u-list-row .u-list-right-text {
margin-left: 0.107rem;
.u-swipe-list-scroll .u-swipe-list-row .u-swipe-list-button {
position: absolute;
top: 0;
bottom: 0;
right: 0;
z-index: 1;
}
.u-list-scroll .u-list-row .u-list-right-icon {
font-family: defaultIconfont;
font-size: 0.667rem;
-webkit-font-smoothing: antialiased;
line-height: 1;
.u-swipe-list-scroll .u-swipe-list-row .u-swipe-list-button div {
width: 1.6rem;
height: 100%;
display: -webkit-box;
display: -webkit-flex;
display: flex;
-webkit-box-pack: center;
-webkit-justify-content: center;
justify-content: center;
-webkit-box-align: center;
-webkit-align-items: center;
align-items: center;
color: #fff;
float: left;
}
.u-swipe-list-scroll .u-swipe-list-row .u-swipe-list-button div:nth-last-of-type(1) {
background-color: #ff0000;
}
.u-list-scroll .u-list-row:after {
.u-swipe-list-scroll .u-swipe-list-row .u-swipe-list-button div:nth-last-of-type(2) {
background-color: #bbb;
}
.u-swipe-list-scroll .u-swipe-list-row:after {
content: '';
position: absolute;
bottom: 0;
......@@ -535,13 +600,18 @@ p {
right: 0;
height: 1px;
background: #bbb;
z-index: 2;
}
.u-list-load {
.u-swipe-list-scroll .u-swipe-list-row.active .u-swipe-list-handle {
left: -3.2rem;
}
.u-swipe-list-load {
text-align: center;
}
.u-list-tip {
.u-swipeList-tip {
position: absolute;
top: 50%;
left: 0;
......@@ -551,43 +621,8 @@ p {
text-align: center;
}
.custom-unlockInfo-list {
position: absolute;
top: 1.173rem;
bottom: 0;
left: 0;
height: auto;
}
.custom-unlockInfo-list .u-list-scroll .u-list-row {
color: #91929a;
font-size: 0.427rem;
padding: 0.48rem 1.12rem 0.213rem;
}
.custom-unlockInfo-list .u-list-scroll .u-list-row:after {
background: -webkit-linear-gradient(left, #242635, #fff, #242635);
background: linear-gradient(to right, #242635, #fff, #242635);
}
.custom-unlockInfo-list .u-list-load {
color: #00ffff;
font-size: 0.427rem;
-webkit-transform: scale(0.7);
transform: scale(0.7);
height: 0.933rem;
line-height: 0.933rem;
}
.custom-unlockInfo-list .u-list-tip {
background-image: url("../../resources/image/unlockNoCont.png");
background-position: top center;
background-repeat: no-repeat;
-webkit-background-size: 1.867rem 1.867rem;
background-size: 1.867rem 1.867rem;
padding-top: 2.347rem;
color: #91929a;
font-size: 0.427rem;
.custom-swipe-list .u-swipe-list-scroll .u-swipe-list-row .u-swipe-list-handle {
background-color: #242635;
}
.opendoorMode {
......@@ -596,13 +631,13 @@ p {
overflow: hidden;
}
.opendoorMode ul {
.modeSelect {
padding: 0.293rem 1.12rem;
font-size: 0;
margin: 0 -0.133rem;
}
.opendoorMode ul li {
.modeSelect li {
color: #00ffff;
font-size: 0.347rem;
border: 1px solid;
......@@ -616,7 +651,7 @@ p {
margin: 0.267rem 0.133rem;
}
.opendoorMode ul li:before {
.modeSelect li:before {
content: '\e631';
position: absolute;
top: 50%;
......@@ -629,11 +664,11 @@ p {
display: none;
}
.opendoorMode ul li.active {
.modeSelect li.active {
background-color: #153D4C;
}
.opendoorMode ul li.active:before {
.modeSelect li.active:before {
display: inline-block;
}
......@@ -791,6 +826,71 @@ p {
margin-top: 0.107rem;
}
.u-switch {
position: relative;
width: 2.667rem;
height: 1.333rem;
}
.u-switch .u-switch-handle {
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
width: 1.333rem;
height: 0.8rem;
border: 2px solid;
border-radius: 0.533rem;
background-clip: padding-box;
}
.u-switch .u-switch-handle:before {
content: '';
position: absolute;
z-index: 1;
top: -1px;
width: 0.747rem;
height: 0.747rem;
-webkit-transition: left 0.2s ease-in-out;
transition: left 0.2s ease-in-out;
border-radius: 0.427rem;
background-color: #fff;
background-clip: padding-box;
-webkit-box-shadow: 0 0.053rem 0.133rem rgba(0, 0, 0, 0.4);
box-shadow: 0 0.053rem 0.133rem rgba(0, 0, 0, 0.4);
}
.u-switch.u-switch-on .u-switch-handle {
border-color: #4cd964;
-webkit-box-shadow: inset 0 0 0 0.427rem #4cd964;
box-shadow: inset 0 0 0 0.427rem #4cd964;
background-color: #4cd964;
-webkit-transition: border ease 0.4s, -webkit-box-shadow ease 0.4s, background-color ease 1.2s;
transition: border ease 0.4s, box-shadow ease 0.4s, background-color ease 1.2s;
}
.u-switch.u-switch-on .u-switch-handle:before {
left: 0.48rem;
}
.u-switch.u-switch-off .u-switch-handle {
border-color: #bbb;
-webkit-box-shadow: inset 0 0 0 0 #bbb;
box-shadow: inset 0 0 0 0 #bbb;
background-color: #bbb;
-webkit-transition: border cubic-bezier(0, 0, 0, 1) 0.4s, -webkit-box-shadow cubic-bezier(0, 0, 0, 1) 0.4s;
transition: border cubic-bezier(0, 0, 0, 1) 0.4s, box-shadow cubic-bezier(0, 0, 0, 1) 0.4s;
}
.u-switch.u-switch-off .u-switch-handle:before {
left: -1px;
}
.u-switch.disabled {
opacity: 0.3;
}
.u-button {
width: 6.4rem;
color: #fff;
......@@ -834,4 +934,14 @@ p {
.custom-button.disabled {
background-color: transparent;
color: #999;
}
.guide-dialog {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1051;
background-color: rgba(36, 38, 53, 0.9);
}
\ No newline at end of file
......@@ -27,17 +27,8 @@
</div>
<div class="content">
<p class="title">{{ $t('unlockInfo.bindUnlockInfo') }}</p>
<u-list :init-param="componentsConfig.unlockInfoList.initParam"></u-list>
<!-- <div class="unlockInfo-list">
<ul class="unlockInfo-list-scroll" v-show="unlockInfoList.length">
<li class="unlockInfo-list-row" v-for="item in unlockInfoList">
{{ item.title }}
<p>ID:{{ item.rightText }}</p>
</li>
<v-touch tag="li" class="unlockInfo-list-load" v-on:tap="onTapLoad" v-show="loadShowFlag">{{ loadText }}</v-touch>
</ul>
<p class="unlockInfo-list-tip" v-show="(unlockInfoList.length == 0)">{{ tip }}</p>
</div> -->
<u-swipe-list ref="uswipelist" :init-param="componentsConfig.unlockInfoList.initParam"
v-on:u-swipe-list-button-tap="onUnlockInfoListButtonTap(arguments[0],arguments[1])"></u-swipe-list>
</div>
<u-dialog ref="udialog" :init-param="componentsConfig.dialog.initParam"></u-dialog>
<u-loading ref="uloading" :init-param="componentsConfig.loading.initParam"></u-loading>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment