Commit 4eea6a3a by wjd

Merge branch 'jianxiang' into 'test/96'

Jianxiang

See merge request iot-project-js/doorlock!28
parents 1218deff 45cda6b5
......@@ -29,7 +29,8 @@
"next": "下一步",
"iSee": "我知道了",
"unbindDoorlock": "解绑门锁",
"finish": "完成"
"finish": "完成",
"cancel": "取消"
},
"dialog":{
"confirm": "确认",
......@@ -161,8 +162,8 @@
"alarmMsgPush": "报警消息推送",
"opendoorMsgPush": "开门消息推送",
"unbindDialogTip": "确认解除绑定",
"unbindSuccess": "<span></span>解绑成功",
"unbindFailue": "解绑失败"
"unbindSuccess": "<img src='../../resources/image/green_unbindSuccess_icon.png'>解绑成功",
"unbindFailue": "<img src='../../resources/image/green_unbindSuccess_icon.png'>解绑失败"
},
"editName":{
"nameInputTip": "请输入门锁名称",
......@@ -258,13 +259,13 @@
"bindUnlockInfo": "关联开锁信息",
"editUsername": "编辑用户昵称",
"opendoorRecord": "历史开门记录",
"unbindDialogTip": "<span></span>解绑后,该用户不能对门锁下的信息进行查看",
"unbindDialogTip": "<img src='../../resources/image/green_unbind_icon.png'>解绑后,该用户不能对门锁下的信息进行查看",
"deleteUserDialogTip": "删除后,用户对应的开锁id取消关联,同时失去信息查看权限。",
"unbindSuccess": "解绑成功",
"unbindFailue": "解绑失败",
"unbindSuccess": "<img src='../../resources/image/green_unbindSuccess_icon.png'>解绑成功",
"unbindFailue": "<img src='../../resources/image/green_unbindSuccess_icon.png'>解绑失败",
"guideStep1Tip1": "邀请绑定成功",
"guideStep1Tip2": "(可查看开门记录,报警记录等<br>相关门锁信息)",
"guideStep3Tip": "绑定后看可了解<br>该用户的开门情况",
"guideStep1Tip2": "(受邀用户可查看开门记录,报警记录等<br>相关门锁信息)",
"guideStep3Tip": "关联后可了解<br>该用户的开门情况",
"deleteSuccess": "删除成功",
"deleteFailure": "删除失败",
"defaultName": "管理员"
......@@ -290,6 +291,7 @@
"unlockInfo":{
"bindUnlockInfo": "已关联的开锁信息",
"noInfoTip": "尚未关联开锁信息",
"bindSoon": "快速关联",
"passwordOpenDoor": "密码",
"fingerprintOpenDoor": "指纹",
"ICcardOpenDoor": "IC卡",
......@@ -298,9 +300,9 @@
"appRemoteOpenDoor": "app远程",
"hijackingAlarm": "劫持指纹",
"setHijack": "设为劫持",
"setHijackTip": "确认设为劫持指纹?",
"setHijackTip": "确认设为劫持指纹?设定后使用该指纹开锁时,门锁用户将会收到劫持报警",
"cancelHijack": "取消劫持",
"cancelHijackTip": "确认取消劫持指纹?",
"cancelHijackTip": "确认取消劫持指纹?取消后,门锁用户不再收到劫持报警",
"cancelAssociated": "取消关联",
"cancelAssociatedTip": "取消关联后,开门历史记录中将不再显示关联的用户信息。",
"cancelAssociatedSuccess": "取消关联成功",
......@@ -308,7 +310,9 @@
"setHijackSuccess": "设为劫持指纹成功",
"setHijackFailue": "设为劫持指纹失败",
"cancelHijackSuccess": "取消劫持指纹成功",
"cancelHijackFailue": "取消劫持指纹失败"
"cancelHijackFailue": "取消劫持指纹失败",
"unlockInfoListTip": "暂无关联信息",
"noHistoryTip": "今日尚无未关联的开门记录"
},
"addUnlockInfo":{
"opendoorMode": "选择要关联的开锁方式",
......@@ -326,7 +330,9 @@
"setHijackSwitch": "设为劫持指纹",
"guideStep1Tip": "选择需要添加关联的开门方式",
"guideStep3Tip": "根据开门记录中的开门时间,选择关联的<br>开门ID<span>(一个ID只能被一个用户绑定)</span>",
"guideStep5Tip": "使用劫持指纹开门时,会以报警形式<br>通知到该门锁名下的其他绑定用户"
"guideStep5Tip": "使用劫持指纹开门时,会以报警形式<br>通知到该门锁名下的其他绑定用户",
"bindedUnlockInfo": "查看已关联信息",
"stay": "留在此页"
},
"myInfo":{
"editNickname": "修改昵称",
......
......@@ -29,7 +29,8 @@
"next": "下一步",
"iSee": "我知道了",
"unbindDoorlock": "解绑门锁",
"finish": "完成"
"finish": "完成",
"cancel": "取消"
},
"dialog":{
"confirm": "确认",
......@@ -161,8 +162,8 @@
"alarmMsgPush": "报警消息推送",
"opendoorMsgPush": "开门消息推送",
"unbindDialogTip": "确认解除绑定",
"unbindSuccess": "<span></span>解绑成功",
"unbindFailue": "解绑失败"
"unbindSuccess": "<img src='../../resources/image/green_unbindSuccess_icon.png'>解绑成功",
"unbindFailue": "<img src='../../resources/image/green_unbindSuccess_icon.png'>解绑失败"
},
"editName":{
"nameInputTip": "请输入门锁名称",
......@@ -258,13 +259,13 @@
"bindUnlockInfo": "关联开锁信息",
"editUsername": "编辑用户昵称",
"opendoorRecord": "历史开门记录",
"unbindDialogTip": "<span></span>解绑后,该用户不能对门锁下的信息进行查看",
"unbindDialogTip": "<img src='../../resources/image/green_unbind_icon.png'>解绑后,该用户不能对门锁下的信息进行查看",
"deleteUserDialogTip": "删除后,用户对应的开锁id取消关联,同时失去信息查看权限。",
"unbindSuccess": "解绑成功",
"unbindFailue": "解绑失败",
"unbindSuccess": "<img src='../../resources/image/green_unbindSuccess_icon.png'>解绑成功",
"unbindFailue": "<img src='../../resources/image/green_unbindSuccess_icon.png'>解绑失败",
"guideStep1Tip1": "邀请绑定成功",
"guideStep1Tip2": "(可查看开门记录,报警记录等<br>相关门锁信息)",
"guideStep3Tip": "绑定后看可了解<br>该用户的开门情况",
"guideStep1Tip2": "(受邀用户可查看开门记录,报警记录等<br>相关门锁信息)",
"guideStep3Tip": "关联后可了解<br>该用户的开门情况",
"deleteSuccess": "删除成功",
"deleteFailure": "删除失败",
"defaultName": "管理员"
......@@ -290,6 +291,7 @@
"unlockInfo":{
"bindUnlockInfo": "已关联的开锁信息",
"noInfoTip": "尚未关联开锁信息",
"bindSoon": "快速关联",
"passwordOpenDoor": "密码",
"fingerprintOpenDoor": "指纹",
"ICcardOpenDoor": "IC卡",
......@@ -298,9 +300,9 @@
"appRemoteOpenDoor": "app远程",
"hijackingAlarm": "劫持指纹",
"setHijack": "设为劫持",
"setHijackTip": "确认设为劫持指纹?",
"setHijackTip": "确认设为劫持指纹?设定后使用该指纹开锁时,门锁用户将会收到劫持报警",
"cancelHijack": "取消劫持",
"cancelHijackTip": "确认取消劫持指纹?",
"cancelHijackTip": "确认取消劫持指纹?取消后,门锁用户不再收到劫持报警",
"cancelAssociated": "取消关联",
"cancelAssociatedTip": "取消关联后,开门历史记录中将不再显示关联的用户信息。",
"cancelAssociatedSuccess": "取消关联成功",
......@@ -308,7 +310,9 @@
"setHijackSuccess": "设为劫持指纹成功",
"setHijackFailue": "设为劫持指纹失败",
"cancelHijackSuccess": "取消劫持指纹成功",
"cancelHijackFailue": "取消劫持指纹失败"
"cancelHijackFailue": "取消劫持指纹失败",
"unlockInfoListTip": "暂无关联信息",
"noHistoryTip": "今日尚无未关联的开门记录"
},
"addUnlockInfo":{
"opendoorMode": "选择要关联的开锁方式",
......@@ -326,7 +330,9 @@
"setHijackSwitch": "设为劫持指纹",
"guideStep1Tip": "选择需要添加关联的开门方式",
"guideStep3Tip": "根据开门记录中的开门时间,选择关联的<br>开门ID<span>(一个ID只能被一个用户绑定)</span>",
"guideStep5Tip": "使用劫持指纹开门时,会以报警形式<br>通知到该门锁名下的其他绑定用户"
"guideStep5Tip": "使用劫持指纹开门时,会以报警形式<br>通知到该门锁名下的其他绑定用户",
"bindedUnlockInfo": "查看已关联信息",
"stay": "留在此页"
},
"myInfo":{
"editNickname": "修改昵称",
......
......@@ -27,8 +27,8 @@ export default {
"model": "USMARTLOCK_SECURITY_SMARTDOOR_SMART_LOCK",
"GET_MSG_INTERVAL": 5000,
"wifi_add_timeout": 150000,
"add_wifi_timeout": 60,
"active_device_timeout": 30,
"add_wifi_timeout": 90,
// "active_device_timeout": 30,
//门铃晃动间隔时间
"await_time": 3000,
//门铃晃动次数
......
......@@ -101,45 +101,6 @@ uPublic.checkString = function (text){
}
}
uPublic.getCompleteDeviceInfo = function iOSbindToUgen(vmobj, inCompleteInfo){
let target = inCompleteInfo.model;
let nickname = target;
let product_id = target;
let deviceInfo = null
console.log("调用SDS云获取设备列表,getSDSDevice.....");
iot.business.device.getList({
data: {
sds: true
},
success: (response) => {
console.log("sds云返回设备数据。。。↓↓");
console.log(response);
response.data.map((item,index)=>{
console.log("展示sds设备...");
console.log(item);
if (item.sn == inCompleteInfo.sn) {
console.log("匹配到了sn一致...");
deviceInfo = {
mac:item.sn,
device_id:item.uuid,
nickname:nickname,
product_id:product_id
};
}
})
},
error: (err) => {
console.log(err);
return false;
},
complete: () => {
}
});
return deviceInfo;
}
uPublic.openWindow = function (params){
console.log("innnnn");
var wv = plus.webview.create(params.url, params.id, {styles: params.styles || {} }, { IOTData: params.extras });
......
......@@ -70,7 +70,7 @@ class unotify{
var cid = null;
var oldCid = null;
try{
cid = await this.getCidPeriotic(9);
cid = await this.getCidPeriotic(999);
if(cid != null && cid != oldCid){
iot.business.api.send('user/updateCid',{
data: {
......
......@@ -26,9 +26,6 @@ function init() {
noticeTipShowFlag: false,
timeout: null,
countDownText: config.add_wifi_timeout,
wifiAddSuccess: false,
activeSuccess: false,
activing: false
},
mounted(){
resolve(this);
......@@ -152,25 +149,32 @@ function backTap(){
//tap 连接
function connectButtonTap(self){
if(self.getTextWiFiName() == null || self.getTextWiFiName().trim() == ''){
self.setTextErrorTip(Vue.t('wifiAdd.unbindWifiTip'));
}else if(self.getTextPassword() == null || self.getTextPassword().trim() == ''){
self.setTextErrorTip(Vue.t('wifiAdd.passwordInputTip'));
}else{
self.countDownText = config.add_wifi_timeout;
self.activing = false;
let countDown = setInterval(() => {
window.clearInterval(self.timeout);
self.timeout = setInterval(() => {
self.countDownText --;
if((self.countDownText <= 0) && (self.wifiAddSuccess == false)){
window.clearInterval(countDown);
if(self.countDownText <= 0){
console.log("innnnn");
window.clearInterval(self.timeout);
addFailue(self);
}
},1000);
uComponents.showProcess(self, 0, Vue.t('addDevice.loading'), [{
"class": 'custom-process-button custom-process-cancelButton', 'text': Vue.t('btn.cancel'), 'callback': () => {
uComponents.hideProcess(self);
window.clearInterval(self.timeout);
//停止配网
iot.business.sds.stopFindDevices({
success: (response) => {},
error: (error) => {}
});
}
},1000);
if(self.getTextWiFiName() == null || self.getTextWiFiName().trim() == ''){
self.setTextErrorTip(Vue.t('wifiAdd.unbindWifiTip'));
}else if(self.getTextPassword() == null || self.getTextPassword().trim() == ''){
self.setTextErrorTip(Vue.t('wifiAdd.passwordInputTip'));
}else{
uComponents.showProcess(self, 0, Vue.t('addDevice.loading'));
}]);
iot.business.sds.findWifi({
data: {
model: defaultConfig.model,
......@@ -195,7 +199,17 @@ function connectButtonTap(self){
if (window.iotDebug) {
iotDebug.upload(iot,'配网中');
}
uComponents.showProcess(self, 0, Vue.t('wifiAdd.wifiBinding'));
uComponents.showProcess(self, 0, Vue.t('wifiAdd.wifiBinding'), [{
"class": 'custom-process-button custom-process-cancelButton', 'text': Vue.t('btn.cancel'), 'callback': () => {
uComponents.hideProcess(self);
window.clearInterval(self.timeout);
//停止配网
iot.business.sds.stopFindDevices({
success: (response) => {},
error: (error) => {}
});
}
}]);
}else if(response.data == 'provisioned success'){
if(window.iotDebug){
iotDebug.push('end: 配网成功'+JSON.stringify(response));
......@@ -204,7 +218,17 @@ function connectButtonTap(self){
iotDebug.upload(iot,'配网成功');
}
//wifi连接成功,停止连接wifi
uComponents.showProcess(self, 0, Vue.t('wifiAdd.wifiBindSuccess'));
uComponents.showProcess(self, 0, Vue.t('wifiAdd.wifiBindSuccess'), [{
"class": 'custom-process-button custom-process-cancelButton', 'text': Vue.t('btn.cancel'), 'callback': () => {
uComponents.hideProcess(self);
window.clearInterval(self.timeout);
//停止配网
iot.business.sds.stopFindDevices({
success: (response) => {},
error: (error) => {}
});
}
}]);
}
},
error: (error) => {
......@@ -215,7 +239,6 @@ function connectButtonTap(self){
if (window.iotDebug) {
iotDebug.upload(iot,'配网失败');
}
self.wifiAddSuccess = true;
addFailue(self);
}
});
......@@ -236,24 +259,17 @@ function connectButtonTap(self){
if (window.iotDebug) {
iotDebug.upload(iot,'激活中');
}
self.wifiAddSuccess = true;
if(self.activing == false){
self.countDownText = config.active_device_timeout;
window.clearInterval(countDown);
countDown = setInterval(() => {
self.countDownText --;
if((self.countDownText <= 0) && (self.activeSuccess == false)){
window.clearInterval(countDown);
addFailue(self);
uComponents.showProcess(self, 0, Vue.t('wifiAdd.deviceActivating'), [{
"class": 'custom-process-button custom-process-cancelButton', 'text': Vue.t('btn.cancel'), 'callback': () => {
uComponents.hideProcess(self);
window.clearInterval(self.timeout);
//停止配网
iot.business.sds.stopFindDevices({
success: (response) => {},
error: (error) => {}
});
}
},1000);
self.activing = true;
}
uComponents.showProcess(self, 0, Vue.t('wifiAdd.deviceActivating'));
}]);
}else if(response.data == "joined success"){
if(window.iotDebug){
iotDebug.push('end: 激活成功'+JSON.stringify(response));
......@@ -271,11 +287,6 @@ function connectButtonTap(self){
iotDebug.upload(iot,'激活失败');
}
addFailue(self);
//停止查找设备
iot.business.sds.stopFindDevices({
success: (response) => {},
error: (error) => {}
});
}
},
error: (error) => {
......@@ -286,20 +297,10 @@ function connectButtonTap(self){
if (window.iotDebug) {
iotDebug.upload(iot);
}
self.activeSuccess = true;
addFailue(self);
}
});
}
// self.timeout = setTimeout(function (){
// console.log("timeout");
// window.clearTimeout(self.timeout);
// addFailue(self);
// iot.business.sds.stopFindDevices({
// success: (response) => {},
// error: (error) => {}
// });
// },config.wifi_add_timeout);
}
function joinedSuccess(self, response){
......@@ -362,7 +363,6 @@ function sendDeviceStatus(self, deviceId, productId, uuid){
error: (error) => {
console.log(error);
uPublic.openRequestErrorAlert(self);
self.activeSuccess = true;
uComponents.hideProcess(self);
},
complete(){}
......@@ -415,7 +415,6 @@ function bind(self, deviceId, productId){
let data = response.data;
if(data.success){
addSuccess(self);
self.activeSuccess = true;
}
if(window.iotDebug){
iotDebug.push('end: 绑定成功'+JSON.stringify(response));
......@@ -432,7 +431,6 @@ function bind(self, deviceId, productId){
if (window.iotDebug) {
iotDebug.upload(iot,'绑定失败');
}
self.activeSuccess = true;
addFailue(self);
},
complete: () => {}
......@@ -440,6 +438,12 @@ function bind(self, deviceId, productId){
}
function addFailue(self){
//停止配网
iot.business.sds.stopFindDevices({
success: (response) => {},
error: (error) => {}
});
window.clearInterval(self.timeout);
uComponents.showProcess(self, 2, Vue.t('wifiAdd.deviceActivateFailure'), [{
"class": 'custom-process-button', 'text': Vue.t('addDevice.reBindDevice'), 'callback': () => {
//激活失败
......@@ -449,6 +453,12 @@ function addFailue(self){
}
function addSuccess(self){
//停止配网
iot.business.sds.stopFindDevices({
success: (response) => {},
error: (error) => {}
});
window.clearInterval(self.timeout);
self.noticeTipShowFlag = !iot.native.isNotifycationOpen();
if(self.noticeTipShowFlag){
uComponents.showProcess(self, 1, Vue.t('wifiAdd.deviceActivateSuccess'), [{
......
......@@ -866,12 +866,18 @@ async function sdsDataPorcessing(self, data){
break;
case '6':
//远程开门超时
if(self.getRemoteOpendoorShowFlag()){
uComponents.openAlert(self, Vue.t('remoteOpendoor.remoteTimeout'), {
text: Vue.t('dialog.confirm'), callback: function () {
self.setValueRemoteOpendoor(false);
self.setRemoteOpendoorDisabledFlag(true);
self.setRemoteOpendoorShowFlag(false);
}
});
}else{
self.setValueRemoteOpendoor(false);
self.setRemoteOpendoorDisabledFlag(true);
}
break;
}
break;
......@@ -1031,10 +1037,10 @@ function notifyDataProcessing(self, payload){
// //历史记录信息只拿一遍,不需要轮询
// getLockInfo(self);
// break;
// case 'ring':
// //门铃
// setBellRing(self, payload.time);
// break;
case 'ring':
//门铃
setBellRing(self, payload.time);
break;
case 'remoteOpen':
//远程开门
setRemoteOpendoor(self, payload.time);
......
......@@ -37,6 +37,9 @@ function init() {
setTextErrorTip(text){
this.textErrorTip = text;
},
getTextErrorTip(){
return this.textErrorTip;
},
onNameChange(text){
nameChange(this,text);
},
......@@ -83,13 +86,9 @@ function initComponentsConfig() {
}
function nameChange(self,text){
if(uPublic.checkString(text)){
self.setTextErrorTip(Vue.t('editNickname.nickNameTypeTip'));
}else{
self.setTextName(text);
self.setTextErrorTip('');
console.log('nameChange: ' + self.textName);
}
}
//tap <
......@@ -108,7 +107,9 @@ function backTap(){
function saveTap(self){
if(self.getTextName() == null || self.getTextName().trim() == ''){
self.setTextErrorTip(Vue.t('editName.error.nameCanNotBeBlank'));
}else{
}else if(uPublic.checkString(self.getTextName())){
self.setTextErrorTip(Vue.t('textTip.textType'));
}else if(self.getTextErrorTip() == ''){
uComponents.showLoading(self);
iot.business.device.setName({
data: {
......
......@@ -63,8 +63,6 @@ function init() {
console.log("returnPage");
getDoorlockInfo(self);
});
},
methods:{
getStateShowFlag(){
......@@ -397,5 +395,4 @@ function unbindStateDialogTap(self){
// id: 'device'
// });
// }
}
......@@ -224,10 +224,10 @@ function resolve(self){
async function showGuide(self){
self.setGuideShowFlag(true);
try{
let time = await sleep(1000);
let time = await sleep(500);
self.setGuideStep1ShowFlag(true);
time = await sleep(1000);
time = await sleep(500);
self.setGuideStep2ShowFlag(true);
}
catch (err){
......@@ -244,10 +244,10 @@ function nextButtonTap(self){
async function nextGuide(self){
try{
let time = await sleep(1000);
let time = await sleep(500);
self.setGuideStep3ShowFlag(true);
time = await sleep(1000);
time = await sleep(500);
self.setGuideStep4ShowFlag(true);
}
catch (err){
......@@ -264,10 +264,10 @@ function nextStepButtonTap(self){
async function nextStepGuide(self){
try{
let time = await sleep(1000);
let time = await sleep(500);
self.setGuideStep5ShowFlag(true);
time = await sleep(1000);
time = await sleep(500);
self.setGuideStep6ShowFlag(true);
}
catch (err){
......
......@@ -92,20 +92,18 @@ function backTap(){
}
function nameChange(self,text){
if(uPublic.checkString(text)){
self.setTextErrorTip(Vue.t('editNickname.nickNameTypeTip'));
}else{
self.textName = text;
self.setTextErrorTip(null);
self.setTextErrorTip('');
console.log('nameChange: ' + self.textName);
}
}
//tap 确定
function confirmButtonTap(self){
if(self.getTextName() == null || self.getTextName().trim() == ''){
self.setTextErrorTip(Vue.t('addUser.error.nameCanNotEmpty'));
}else{
}else if(uPublic.checkString(self.getTextName())){
self.setTextErrorTip(Vue.t('textTip.textType'));
}else if(self.getTextErrorTip() == ''){
uComponents.showLoading(self);
iot.business.api.sendCustom('lock/addLockUser',{
data: {
......
......@@ -19,7 +19,7 @@ function init() {
userInfo: {},
bindShowFlag: true,
unbindShowFlag: false,
stateShowFlag: false,
// stateShowFlag: false,
guideShowFlag: false,
guideStep1ShowFlag: false,
guideStep2ShowFlag: false,
......@@ -29,7 +29,7 @@ function init() {
componentsConfig: initComponentsConfig(),
extras: {},
imageSrc: '../../resources/image/green_unbindSuccess_icon.png',
textBindTip: Vue.t('doorlockUser.unbindSuccess'),
// textBindTip: Vue.t('doorlockUser.unbindSuccess'),
role: null,
info: null,
isFirstAddUser: true
......@@ -63,12 +63,12 @@ function init() {
setUnbindShowFlag(boolean){
this.unbindShowFlag = boolean;
},
getStateShowFlag(){
return this.stateShowFlag;
},
setStateShowFlag(boolean){
this.stateShowFlag = boolean;
},
// getStateShowFlag(){
// return this.stateShowFlag;
// },
// setStateShowFlag(boolean){
// this.stateShowFlag = boolean;
// },
getGuideShowFlag(){
return this.guideShowFlag;
},
......@@ -102,9 +102,9 @@ function init() {
setImageSrc(src){
this.imageSrc = src;
},
setTextBindTip(tip){
this.textBindTip = tip;
},
// setTextBindTip(tip){
// this.textBindTip = tip;
// },
getInfo(){
return this.info;
},
......@@ -139,9 +139,9 @@ function init() {
onDeleteUserButtonTap(){
deleteUserButtonTap(this);
},
onUnbindStateDialogTap(){
unbindStateDialogTap(this);
},
// onUnbindStateDialogTap(){
// unbindStateDialogTap(this);
// },
//tap 下一步
onNextButtonTap(){
nextButtonTap(this);
......@@ -241,10 +241,10 @@ async function showGuide(self){
console.log(self.userInfo.role);
if(self.userInfo.role == 0){
try{
time = await sleep(1000);
time = await sleep(500);
self.setGuideStep3ShowFlag(true),
time = await sleep(1000);
time = await sleep(500);
self.setGuideStep4ShowFlag(true);
}
catch (err){
......@@ -298,7 +298,9 @@ function getUserInfo(self){
if(data){
self.setInfo(data);
setUserInfo(self, data);
if(self.role == 0){
checkFirstAddUser(self);
}
}else{}
},
......@@ -350,7 +352,7 @@ function backTap(){
//tap 编辑用户昵称
function editNameTap(self){
if(!self.role && self.getUnbindShowFlag()){
if(!self.role && !self.isFirstAddUser){
iot.navigator.openWindow({
url: './editName.html',
id: 'editName',
......@@ -398,15 +400,23 @@ function unbindButtonTap(self){
},
success: (response) => {
console.log(response);
self.setStateShowFlag(true);
// self.setStateShowFlag(true);
uComponents.openAlert(self, Vue.t('doorlockUser.unbindSuccess'), {
text: Vue.t('dialog.confirm'), callback: function () {
getUserInfo(self);
}
});
},
error: (error) => {
console.log(error);
uPublic.openRequestErrorAlert(self);
self.setImageSrc('../../resources/image/green_unbindFail_icon.png');
self.setTextBindTip(Vue.t('doorlockUser.unbindFailue'));
self.setStateShowFlag(true);
// uPublic.openRequestErrorAlert(self);
// self.setImageSrc('../../resources/image/green_unbindFail_icon.png');
// self.setTextBindTip(Vue.t('doorlockUser.unbindFailue'));
// self.setStateShowFlag(true);
uComponents.openAlert(self, Vue.t('doorlockUser.unbindFailue'), {
text: Vue.t('dialog.confirm'), callback: function () {
}
});
},
complete: () => {
uComponents.hideLoading(self);
......@@ -416,9 +426,14 @@ function unbindButtonTap(self){
error: (error) => {
console.log(error);
uPublic.openRequestErrorAlert(self);
self.setImageSrc('../../resources/image/green_unbindFail_icon.png');
self.setTextBindTip(Vue.t('doorlockUser.unbindFailue'));
self.setStateShowFlag(true);
// self.setImageSrc('../../resources/image/green_unbindFail_icon.png');
// self.setTextBindTip(Vue.t('doorlockUser.unbindFailue'));
// self.setStateShowFlag(true);
uComponents.openAlert(self, Vue.t('doorlockUser.unbindSuccess'), {
text: Vue.t('dialog.confirm'), callback: function () {
getUserInfo(self);
}
});
},
complete: () => {
}
......@@ -427,12 +442,12 @@ function unbindButtonTap(self){
);
}
function unbindStateDialogTap(self){
self.setStateShowFlag(false);
self.setBindShowFlag(true);
self.setUnbindShowFlag(false);
self.userInfo.image = '../../resources/image/gray_unbindHead_icon.png';
}
//function unbindStateDialogTap(self){
// self.setStateShowFlag(false);
// self.setBindShowFlag(true);
// self.setUnbindShowFlag(false);
// self.userInfo.image = '../../resources/image/gray_unbindHead_icon.png';
//}
//tap 绑定开锁信息
function bindUnlockInfoTap(self){
......@@ -451,7 +466,7 @@ function bindUnlockInfoTap(self){
//tap 历史开门记录
function opendoorRecordTap(self){
if(self.getUnbindShowFlag()){
if(!self.isFirstAddUser){
iot.navigator.openWindow({
url: '../device/opendoorRecord.html',
id: 'opendoorRecord',
......@@ -527,10 +542,10 @@ function deleteUser(self){
},
error: (error) => {
console.log(error);
uPublic.openRequestErrorAlert(self);
self.setImageSrc('../../resources/image/green_unbindFail_icon.png');
self.setTextBindTip(Vue.t('doorlockUser.unbindFailue'));
self.setStateShowFlag(true);
uComponents.openAlert(self, Vue.t('doorlockUser.deleteFailure'), {
text: Vue.t('btn.confirm'), callback: function () {
}
});
},
complete: () => {
}
......
......@@ -92,7 +92,9 @@ function backTap(){
function saveTap(self){
if(self.getTextName() == null || self.getTextName().trim() == ''){
self.setTextErrorTip(Vue.t('editName.error.nicknameCanNotBeBlank'));
}else{
}else if(uPublic.checkString(self.getTextName())){
self.setTextErrorTip(Vue.t('textTip.textType'));
}else if(self.getTextErrorTip() == ''){
uComponents.showLoading(self);
iot.business.api.sendCustom('lock/setLockUserName',{
data: {
......@@ -149,11 +151,7 @@ function saveTap(self){
}
function nameChange(self,text){
if(uPublic.checkString(text)){
self.setTextErrorTip(Vue.t('editNickname.nickNameTypeTip'));
}else{
self.textName = text;
self.setTextErrorTip(null);
self.setTextErrorTip('');
console.log('nameChange: ' + self.textName);
}
}
\ No newline at end of file
......@@ -79,7 +79,9 @@ function initComponentsConfig() {
function saveTap(self){
if(self.textNickName == null || self.textNickName.trim() == ''){
self.textErrorTip = Vue.t('editNickname.nickNameInputTip');
}else{
}else if(uPublic.checkString(self.textNickName)){
self.textErrorTip = Vue.t('textTip.textType');
}else if(self.textErrorTip == ''){
uComponents.showLoading(self);
iot.business.user.setInfo({
data: {
......@@ -119,10 +121,6 @@ function backTap(){
}
function nicknameChange(self, text){
if(uPublic.checkString(text)){
self.textErrorTip = Vue.t('editNickname.nickNameTypeTip');
}else{
self.textNickName = text;
self.textErrorTip = '';
}
}
......@@ -127,7 +127,7 @@ function logoutButtonTap(self){
console.log("sdsLogout:"+response);
let sdsResponse = response;
iot.business.websql.delMaps(['utoken', 'userinfo'], (response) => {
iot.storage.delMaps(['historyId','history'], (response) => {
iot.storage.delMaps(['historyId','history','isFirstAddUser','isFristAddUnlockInfo'], (response) => {
console.log("clearMap"+response);
//打开首页
iot.navigator.openWindow({
......
......@@ -232,6 +232,7 @@
right: 0;
height: 1px;/*no*/
.white_gradient_border();
z-index: 1;
}
&:after{
content: '';
......
......@@ -230,7 +230,7 @@
height: auto;
text-align: center;
color: #00ffff;
margin: 0.72rem auto 0;
margin: 0 auto;
padding: 0.267rem 0;
}
......@@ -291,8 +291,12 @@
.custom-dialog{
.u-dialog-box{
.u-dialog-content{
span{
.bgImgSize(51px,51px,"green_unbindSuccess_icon.png",center,cover);
// span{
// .bgImgSize(51px,51px,"green_unbindSuccess_icon.png",center,cover);
// }
img{
width: 51px;
height: 51px;
}
}
}
......
......@@ -129,7 +129,7 @@
}
.disabled{
color: #ccc;
color: #575a6d;
}
}
......@@ -366,3 +366,14 @@
.userInfo-title-disabled:after {
display: none;
}
.custom-dialog{
.u-dialog-box{
.u-dialog-content{
img{
width: 51px;
height: 51px;
}
}
}
}
\ No newline at end of file
......@@ -50,52 +50,98 @@
.u-swipe-list();
.custom-swipe-list{
.tab{
.display-box();
position: relative;
border-bottom: 1px solid #575a6d;/*no*/
li{
.flex();
text-align: center;
height: 45px;
line-height: 45px;
position: relative;
color: #575a6d;
font-size: 16px;
&:after{
content: '';
position: absolute;
top: 44px;
bottom: 0;
left: 0;
height: auto;
.u-swipe-list-scroll .u-swipe-list-row{
.u-swipe-list-handle{
background-color: @CUSTOM-UNLOCKINFO-SWIPELIST-COMPONENT-ROW-BG;
padding: 0 42px;
right: 0;
height: 2px /*except*/;
background-color: transparent;
}
}
.active{
color: #fff;
&:after{
background-color: #FFF;
}
}
}
.infoList-list{
width: 100%;
overflow: auto;
position: absolute;
top: 90px;
bottom: 0;
left: 0;
.infoList-list-scroll .infoList-list-row{
position: relative;
height: 55px;
font-size: @CUSTOM-UNLOCKINFO-SWIPELIST-COMPONENT-TEXT-FONTSIZE;
padding: 0 42px;
.display-box();
.box-vertical-alignment();
.infoList-list-handle{
.u-swipe-list-title{
float: left;
.text_oneRow_ellipsis();
font-size: 16px;
}
.u-swipe-list-subtitle{
float: right;
.text_oneRow_ellipsis();
}
}
.u-swipe-list-button{
right: 32px;
div{
width: 85px;
color: @CUSTOM-UNLOCKINFO-SWIPELIST-COMPONENT-BUTTON-COLOR;
font-size: @CUSTOM-UNLOCKINFO-SWIPELIST-COMPONENT-BUTTON-FONTSIZE;
&:nth-last-of-type(1),
&:nth-last-of-type(2){
background-color: @CUSTOM-UNLOCKINFO-SWIPELIST-COMPONENT-BUTTON-BG;
.infoList-list-button{
position: absolute;
top: 0;
bottom: 0;
right: 25px;
z-index: 1;
.display-box();
.box-vertical-alignment();
.infoList-list-buttonCont{
float: left;
padding: 10px;
margin: 0 5px;
img{
width: 23px;
height: 23px;
}
}
}
&:after{
.defaultBorder();
.white_gradient_border();
}
&.active .u-swipe-list-handle{
left: -202px;
}
}
//上拉加载
.u-swipe-list-load{
.listLoad();
.infoList-list-load{
text-align: center;
}
//swipeList 无内容
.u-swipeList-tip{
//list 无内容
.infoList-list-tip{
.transformV_center(left,0);
width: 100%;
text-align: center;
.listNoCont("unlockNoCont.png",70px 70px);
}
//list 无历史记录
.noHistory-list-tip{
.listNoCont("noCont.png",70px 70px);
}
}
//绑定开锁信息
......
......@@ -43,7 +43,7 @@
@C_RED_1: #fc2168;
@C_GRAY: #bbb;
@C_GRAY_1: #ddd;
@C_GRAY_2: #999;
@C_GRAY_2: #575a6d;
@C_GRAY_3: #91929a;
@C_GRAY_4: #959595;
@C_GRAY_5: #898989;
......@@ -53,7 +53,7 @@
@BLACK_OPACITY: fade(@C_BLACK,80%);
@BLACK_OPACITY_1: fade(@C_BLACK,40%);
@WHITE_OPACITY: fade(@C_WHITE,0);
@BLUE_OPACITY: fade(@C_BLUE_2,90%);
@BLUE_OPACITY: fade(@C_BLUE_2,94%);
@GRAY_OPACITY: fade(@C_GRAY_2,5%);
//font-sizes
......
web/resources/image/noCont.png

3.54 KB | W: | H:

web/resources/image/noCont.png

3.62 KB | W: | H:

web/resources/image/noCont.png
web/resources/image/noCont.png
web/resources/image/noCont.png
web/resources/image/noCont.png
  • 2-up
  • Swipe
  • Onion skin
web/resources/image/unlockNoCont.png

5.4 KB | W: | H:

web/resources/image/unlockNoCont.png

5.35 KB | W: | H:

web/resources/image/unlockNoCont.png
web/resources/image/unlockNoCont.png
web/resources/image/unlockNoCont.png
web/resources/image/unlockNoCont.png
  • 2-up
  • Swipe
  • Onion skin
......@@ -100,7 +100,7 @@ p {
}
.custom-loading {
background-color: rgba(36, 38, 53, 0.9);
background-color: rgba(36, 38, 53, 0.94);
}
.custom-loading .u-loading-box {
......@@ -303,7 +303,7 @@ p {
}
.custom-dialog {
background-color: rgba(36, 38, 53, 0.9);
background-color: rgba(36, 38, 53, 0.94);
}
.custom-dialog .u-dialog-box {
......@@ -372,7 +372,7 @@ p {
.custom-dialog .u-dialog-box .u-dialog-button .u-dialog-cancel.disabled,
.custom-dialog .u-dialog-box .u-dialog-button .u-dialog-confirm.disabled {
background-color: transparent;
color: #999;
color: #575a6d;
}
.custom-dialog .u-dialog-box .u-dialog-button .u-dialog-cancel:after {
......@@ -672,7 +672,7 @@ p {
.custom-help-button.disabled,
.custom-button.disabled {
background-color: transparent;
color: #999;
color: #575a6d;
}
.inputBox {
......
......@@ -100,7 +100,7 @@ p {
}
.custom-loading {
background-color: rgba(36, 38, 53, 0.9);
background-color: rgba(36, 38, 53, 0.94);
}
.custom-loading .u-loading-box {
......@@ -303,7 +303,7 @@ p {
}
.custom-dialog {
background-color: rgba(36, 38, 53, 0.9);
background-color: rgba(36, 38, 53, 0.94);
}
.custom-dialog .u-dialog-box {
......@@ -372,7 +372,7 @@ p {
.custom-dialog .u-dialog-box .u-dialog-button .u-dialog-cancel.disabled,
.custom-dialog .u-dialog-box .u-dialog-button .u-dialog-confirm.disabled {
background-color: transparent;
color: #999;
color: #575a6d;
}
.custom-dialog .u-dialog-box .u-dialog-button .u-dialog-cancel:after {
......@@ -506,7 +506,7 @@ p {
.custom-help-button.disabled,
.custom-button.disabled {
background-color: transparent;
color: #999;
color: #575a6d;
}
.linkText {
......
......@@ -100,7 +100,7 @@ p {
}
.custom-loading {
background-color: rgba(36, 38, 53, 0.9);
background-color: rgba(36, 38, 53, 0.94);
}
.custom-loading .u-loading-box {
......@@ -303,7 +303,7 @@ p {
}
.custom-dialog {
background-color: rgba(36, 38, 53, 0.9);
background-color: rgba(36, 38, 53, 0.94);
}
.custom-dialog .u-dialog-box {
......@@ -372,7 +372,7 @@ p {
.custom-dialog .u-dialog-box .u-dialog-button .u-dialog-cancel.disabled,
.custom-dialog .u-dialog-box .u-dialog-button .u-dialog-confirm.disabled {
background-color: transparent;
color: #999;
color: #575a6d;
}
.custom-dialog .u-dialog-box .u-dialog-button .u-dialog-cancel:after {
......@@ -637,7 +637,7 @@ p {
.custom-button.disabled {
background-color: transparent;
color: #999;
color: #575a6d;
}
.u-comm-loading {
......@@ -881,7 +881,7 @@ p {
}
.custom-comm-loading {
background-color: rgba(36, 38, 53, 0.9);
background-color: rgba(36, 38, 53, 0.94);
}
.custom-comm-loading .u-comm-loading-button {
......@@ -1153,8 +1153,8 @@ p {
height: 5.333rem;
border-radius: 50%;
margin: 0 auto;
background-color: rgba(153, 153, 153, 0.05);
border: 0.08rem solid rgba(153, 153, 153, 0.05);
background-color: rgba(87, 90, 109, 0.05);
border: 0.08rem solid rgba(87, 90, 109, 0.05);
position: relative;
}
......@@ -1224,6 +1224,7 @@ p {
height: 1px;
background: -webkit-linear-gradient(left, #242635, #fff, #242635);
background: linear-gradient(to right, #242635, #fff, #242635);
z-index: 1;
}
.custom-marquee:after {
......@@ -1640,7 +1641,7 @@ p {
width: 100%;
height: 100%;
z-index: 1051;
background-color: rgba(36, 38, 53, 0.9);
background-color: rgba(36, 38, 53, 0.94);
}
.u-notification .u-notification-box {
......@@ -1740,7 +1741,7 @@ p {
.u-notification .u-notification-box .u-notification-button li.disabled {
background-color: transparent;
color: #999;
color: #575a6d;
}
.u-notification .u-notification-box .clearfix {
......
......@@ -100,7 +100,7 @@ p {
}
.custom-loading {
background-color: rgba(36, 38, 53, 0.9);
background-color: rgba(36, 38, 53, 0.94);
}
.custom-loading .u-loading-box {
......@@ -303,7 +303,7 @@ p {
}
.custom-dialog {
background-color: rgba(36, 38, 53, 0.9);
background-color: rgba(36, 38, 53, 0.94);
}
.custom-dialog .u-dialog-box {
......@@ -372,7 +372,7 @@ p {
.custom-dialog .u-dialog-box .u-dialog-button .u-dialog-cancel.disabled,
.custom-dialog .u-dialog-box .u-dialog-button .u-dialog-confirm.disabled {
background-color: transparent;
color: #999;
color: #575a6d;
}
.custom-dialog .u-dialog-box .u-dialog-button .u-dialog-cancel:after {
......
......@@ -100,7 +100,7 @@ p {
}
.custom-loading {
background-color: rgba(36, 38, 53, 0.9);
background-color: rgba(36, 38, 53, 0.94);
}
.custom-loading .u-loading-box {
......@@ -303,7 +303,7 @@ p {
}
.custom-dialog {
background-color: rgba(36, 38, 53, 0.9);
background-color: rgba(36, 38, 53, 0.94);
}
.custom-dialog .u-dialog-box {
......@@ -372,7 +372,7 @@ p {
.custom-dialog .u-dialog-box .u-dialog-button .u-dialog-cancel.disabled,
.custom-dialog .u-dialog-box .u-dialog-button .u-dialog-confirm.disabled {
background-color: transparent;
color: #999;
color: #575a6d;
}
.custom-dialog .u-dialog-box .u-dialog-button .u-dialog-cancel:after {
......
......@@ -100,7 +100,7 @@ p {
}
.custom-loading {
background-color: rgba(36, 38, 53, 0.9);
background-color: rgba(36, 38, 53, 0.94);
}
.custom-loading .u-loading-box {
......@@ -303,7 +303,7 @@ p {
}
.custom-dialog {
background-color: rgba(36, 38, 53, 0.9);
background-color: rgba(36, 38, 53, 0.94);
}
.custom-dialog .u-dialog-box {
......@@ -372,19 +372,16 @@ p {
.custom-dialog .u-dialog-box .u-dialog-button .u-dialog-cancel.disabled,
.custom-dialog .u-dialog-box .u-dialog-button .u-dialog-confirm.disabled {
background-color: transparent;
color: #999;
color: #575a6d;
}
.custom-dialog .u-dialog-box .u-dialog-button .u-dialog-cancel:after {
display: none;
}
.u-dialog-box .u-dialog-content span {
.u-dialog-box .u-dialog-content img {
width: 1.36rem;
height: 1.36rem;
background: url("../../resources/image/green_unbindSuccess_icon.png") no-repeat center;
-webkit-background-size: cover;
background-size: cover;
}
.header {
......@@ -527,7 +524,7 @@ p {
.custom-button.disabled {
background-color: transparent;
color: #999;
color: #575a6d;
}
@media (min-width: 360px /*no*/) and (max-height: 570px /*no*/) {
......@@ -971,7 +968,7 @@ p {
height: auto;
text-align: center;
color: #00ffff;
margin: 0.72rem auto 0;
margin: 0 auto;
padding: 0.267rem 0;
}
......@@ -1034,7 +1031,7 @@ p {
width: 100%;
height: 100%;
z-index: 1051;
background-color: rgba(36, 38, 53, 0.9);
background-color: rgba(36, 38, 53, 0.94);
}
.unbindState-dialog div {
......@@ -1070,10 +1067,7 @@ p {
margin-bottom: 0.373rem;
}
.custom-dialog .u-dialog-box .u-dialog-content span {
.custom-dialog .u-dialog-box .u-dialog-content img {
width: 1.36rem;
height: 1.36rem;
background: url("../../resources/image/green_unbindSuccess_icon.png") no-repeat center;
-webkit-background-size: cover;
background-size: cover;
}
\ No newline at end of file
......@@ -56,11 +56,12 @@
<transition name="fade">
<div class="u-dialog custom-dialog"v-show="unbindShowDialog">
<div class="u-dialog-box">
<p class="u-dialog-content">
<div class="u-dialog-content">
<img src='../../resources/image/green_unbind_icon.png'>
{{$t('doorlockManage.unbindDialogTip')}}
<u-switch :value="valueIsClear" :init-param="componentsConfig.isClearSwitch.initParam" v-show="!role"
v-on:u-switch-tap="onIsClearSwitchTap(arguments[0])"></u-switch>
</p>
</div>
<ul class="u-dialog-button">
<v-touch tag="li" class="u-dialog-cancel" v-on:tap="onCancelTap()">{{ $t('dialog.cancel') }}
</v-touch>
......
......@@ -100,7 +100,7 @@ p {
}
.custom-loading {
background-color: rgba(36, 38, 53, 0.9);
background-color: rgba(36, 38, 53, 0.94);
}
.custom-loading .u-loading-box {
......@@ -303,7 +303,7 @@ p {
}
.custom-dialog {
background-color: rgba(36, 38, 53, 0.9);
background-color: rgba(36, 38, 53, 0.94);
}
.custom-dialog .u-dialog-box {
......@@ -372,13 +372,18 @@ p {
.custom-dialog .u-dialog-box .u-dialog-button .u-dialog-cancel.disabled,
.custom-dialog .u-dialog-box .u-dialog-button .u-dialog-confirm.disabled {
background-color: transparent;
color: #999;
color: #575a6d;
}
.custom-dialog .u-dialog-box .u-dialog-button .u-dialog-cancel:after {
display: none;
}
.u-dialog-box .u-dialog-content img {
width: 1.36rem;
height: 1.36rem;
}
.header {
position: fixed;
top: 0;
......@@ -640,7 +645,7 @@ p {
.custom-button.disabled {
background-color: transparent;
color: #999;
color: #575a6d;
}
.userInfoLink li:not(.userInfo) {
......@@ -760,7 +765,7 @@ p {
.userInfoLink li.userInfo .custom-unbind-button.disabled {
background-color: transparent;
color: #999;
color: #575a6d;
}
.userInfoLink li.userInfo:after {
......@@ -774,7 +779,7 @@ p {
}
.userInfoLink .disabled {
color: #ccc;
color: #575a6d;
}
.inviteBind {
......@@ -830,7 +835,7 @@ p {
width: 100%;
height: 100%;
text-align: center;
background-color: rgba(36, 38, 53, 0.9);
background-color: rgba(36, 38, 53, 0.94);
}
.inviteBind li p span {
......@@ -863,7 +868,7 @@ p {
width: 100%;
height: 100%;
z-index: 1051;
background-color: rgba(36, 38, 53, 0.9);
background-color: rgba(36, 38, 53, 0.94);
}
.unbindState-dialog div {
......@@ -906,7 +911,7 @@ p {
width: 100%;
height: 100%;
z-index: 1051;
background-color: rgba(36, 38, 53, 0.9);
background-color: rgba(36, 38, 53, 0.94);
}
.guide-dialog .guideStep1 {
......@@ -993,7 +998,7 @@ p {
.guide-dialog .guideStep1 .guideStep1Cont .custom-unbind-button.disabled {
background-color: transparent;
color: #999;
color: #575a6d;
}
.guide-dialog .guideStep1 .guideStep1Cont:after {
......@@ -1056,7 +1061,7 @@ p {
.guide-dialog .custom-dialog-button.disabled {
background-color: transparent;
color: #999;
color: #575a6d;
}
.guide-dialog .guideStep3 {
......@@ -1129,3 +1134,8 @@ p {
.userInfo-title-disabled:after {
display: none;
}
.custom-dialog .u-dialog-box .u-dialog-content img {
width: 1.36rem;
height: 1.36rem;
}
\ No newline at end of file
......@@ -35,18 +35,18 @@
<u-button :init-param="componentsConfig.unbindButton.initParam" v-on:u-button-tap="onUnbindButtonTap" v-show="(unbindShowFlag && !role && userInfo.role != 0)"></u-button>
</li>
<v-touch tag="li" v-on:tap="onBindUnlockInfoTap">{{ $t('doorlockUser.bindUnlockInfo') }}</v-touch>
<v-touch tag="li" v-bind:class="[{disabled: isFirstAddUser}]" v-on:tap="onEditNameTap">{{ $t('doorlockUser.editUsername') }}</v-touch>
<v-touch tag="li" v-bind:class="[{disabled: isFirstAddUser}]" v-on:tap="onEditNameTap" v-show="!role">{{ $t('doorlockUser.editUsername') }}</v-touch>
<v-touch tag="li" v-bind:class="[{disabled: isFirstAddUser}]" v-on:tap="onOpendoorRecordTap">{{ $t('doorlockUser.opendoorRecord') }}</v-touch>
</ul>
<u-button :disabled="isFirstAddUser" :init-param="componentsConfig.deleteUserButton.initParam" v-on:u-button-tap="onDeleteUserButtonTap" v-show="!role && userInfo.role != 0"></u-button>
</div>
<transition name="fade">
<!--<transition name="fade">
<v-touch tag="div" class="unbindState-dialog" v-show="stateShowFlag" v-on:tap="onUnbindStateDialogTap">
<div>
<img :src="imageSrc">{{ textBindTip }}
</div>
</v-touch>
</transition>
</transition> -->
<transition name="fade">
<div class="guide-dialog" v-show="guideShowFlag">
<transition name="fade">
......
......@@ -100,7 +100,7 @@ p {
}
.custom-loading {
background-color: rgba(36, 38, 53, 0.9);
background-color: rgba(36, 38, 53, 0.94);
}
.custom-loading .u-loading-box {
......@@ -303,7 +303,7 @@ p {
}
.custom-dialog {
background-color: rgba(36, 38, 53, 0.9);
background-color: rgba(36, 38, 53, 0.94);
}
.custom-dialog .u-dialog-box {
......@@ -372,7 +372,7 @@ p {
.custom-dialog .u-dialog-box .u-dialog-button .u-dialog-cancel.disabled,
.custom-dialog .u-dialog-box .u-dialog-button .u-dialog-confirm.disabled {
background-color: transparent;
color: #999;
color: #575a6d;
}
.custom-dialog .u-dialog-box .u-dialog-button .u-dialog-cancel:after {
......@@ -615,64 +615,139 @@ p {
text-align: center;
}
.custom-swipe-list {
.tab {
display: -webkit-box;
display: -webkit-flex;
display: flex;
position: relative;
border-bottom: 1px solid #575a6d;
}
.tab li {
-webkit-box-flex: 1;
-webkit-flex: 1;
flex: 1;
text-align: center;
height: 1.2rem;
line-height: 1.2rem;
position: relative;
color: #575a6d;
font-size: 0.427rem;
}
.tab li:after {
content: '';
position: absolute;
top: 1.173rem;
bottom: 0;
left: 0;
height: auto;
right: 0;
height: 0.053rem ;
background-color: transparent;
}
.custom-swipe-list .u-swipe-list-scroll .u-swipe-list-row .u-swipe-list-handle {
background-color: #242635;
padding: 0 1.12rem;
height: 1.467rem;
font-size: 0.427rem;
.tab .active {
color: #fff;
}
.custom-swipe-list .u-swipe-list-scroll .u-swipe-list-row .u-swipe-list-handle .u-swipe-list-title {
float: left;
.tab .active:after {
background-color: #FFF;
}
.custom-swipe-list .u-swipe-list-scroll .u-swipe-list-row .u-swipe-list-handle .u-swipe-list-subtitle {
float: right;
.infoList-list {
width: 100%;
overflow: auto;
position: absolute;
top: 2.4rem;
bottom: 0;
left: 0;
}
.custom-swipe-list .u-swipe-list-scroll .u-swipe-list-row .u-swipe-list-button {
right: 0.853rem;
.infoList-list .infoList-list-scroll .infoList-list-row {
position: relative;
height: 1.467rem;
padding: 0 1.12rem;
display: -webkit-box;
display: -webkit-flex;
display: flex;
-webkit-box-align: center;
-webkit-align-items: center;
align-items: center;
}
.custom-swipe-list .u-swipe-list-scroll .u-swipe-list-row .u-swipe-list-button div {
width: 2.267rem;
color: #00ffff;
.infoList-list .infoList-list-scroll .infoList-list-row .infoList-list-handle .u-swipe-list-title {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
font-size: 0.427rem;
}
.custom-swipe-list .u-swipe-list-scroll .u-swipe-list-row .u-swipe-list-button div:nth-last-of-type(1),
.custom-swipe-list .u-swipe-list-scroll .u-swipe-list-row .u-swipe-list-button div:nth-last-of-type(2) {
background-color: transparent;
.infoList-list .infoList-list-scroll .infoList-list-row .infoList-list-handle .u-swipe-list-subtitle {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.custom-swipe-list .u-swipe-list-scroll .u-swipe-list-row:after {
.infoList-list .infoList-list-scroll .infoList-list-row .infoList-list-button {
position: absolute;
top: 0;
bottom: 0;
right: 0.667rem;
z-index: 1;
display: -webkit-box;
display: -webkit-flex;
display: flex;
-webkit-box-align: center;
-webkit-align-items: center;
align-items: center;
}
.infoList-list .infoList-list-scroll .infoList-list-row .infoList-list-button .infoList-list-buttonCont {
float: left;
padding: 0.267rem;
margin: 0 0.133rem;
}
.infoList-list .infoList-list-scroll .infoList-list-row .infoList-list-button .infoList-list-buttonCont img {
width: 0.613rem;
height: 0.613rem;
}
.infoList-list .infoList-list-scroll .infoList-list-row:after {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 1px;
background: #bbb;
background: -webkit-linear-gradient(left, #242635, #fff, #242635);
background: linear-gradient(to right, #242635, #fff, #242635);
}
.custom-swipe-list .u-swipe-list-scroll .u-swipe-list-row.active .u-swipe-list-handle {
left: -5.387rem;
.infoList-list .infoList-list-load {
text-align: center;
}
.custom-swipe-list .u-swipe-list-load {
color: #00ffff;
.infoList-list .infoList-list-tip {
position: absolute;
top: 50%;
left: 0;
-webkit-transform: translateY(-50%);
transform: translateY(-50%);
width: 100%;
text-align: center;
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;
color: #91929a;
font-size: 0.427rem;
-webkit-transform: scale(0.7);
transform: scale(0.7);
height: 0.933rem;
line-height: 0.933rem;
padding-top: 2.347rem;
}
.custom-swipe-list .u-swipeList-tip {
background-image: url("../../resources/image/unlockNoCont.png");
.infoList-list .noHistory-list-tip {
background-image: url("../../resources/image/noCont.png");
background-position: top center;
background-repeat: no-repeat;
-webkit-background-size: 1.867rem 1.867rem;
......@@ -1058,7 +1133,7 @@ p {
.custom-button.disabled {
background-color: transparent;
color: #999;
color: #575a6d;
}
.guide-dialog {
......@@ -1068,7 +1143,7 @@ p {
width: 100%;
height: 100%;
z-index: 1051;
background-color: rgba(36, 38, 53, 0.9);
background-color: rgba(36, 38, 53, 0.94);
}
.guide-dialog .guideStep1 {
......@@ -1278,7 +1353,7 @@ p {
.guide-dialog .custom-dialog-button.disabled {
background-color: transparent;
color: #999;
color: #575a6d;
}
@media (min-width: 360px /*no*/) and (max-height: 570px /*no*/) {
......
......@@ -19,17 +19,41 @@
<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.unlockInfo') }}</p>
<v-touch tag="span" class="header-right" v-on:tap="onAddTap" v-show="!role">{{ $t('btn.add') }}</v-touch>
<!--<v-touch tag="span" class="header-right" v-on:tap="onAddTap" v-show="!role">{{ $t('btn.add') }}</v-touch>-->
</div>
<div class="content">
<p class="title">{{ $t('unlockInfo.bindUnlockInfo') }}</p>
<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>
<!--<p class="title">{{ $t('unlockInfo.bindUnlockInfo') }}</p>-->
<ul class="tab">
<v-touch tag="li" v-for="(item, key, index) in lockItems" v-text="lockItems[key].text"
:class="{active: (selectItem == key)}" v-on:tap="onItemChange(key)">
</v-touch>
</ul>
<!--<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 class="infoList-list" ref="infoList" >
<ul class="infoList-list-scroll" v-show="infoList.length">
<li class="infoList-list-row" v-for="(item, index) in infoList">
<div class="infoList-list-handle">
<p class="infoList-list-title">{{ item.title }}</p>
<p class="infoList-list-subtitle">{{ item.subtitle }}</p>
</div>
<div class="infoList-list-button">
<v-touch tag="div" class="infoList-list-buttonCont" v-for="(button, buttonIndex) in item.buttons" v-show="button.imgSrc" v-on:tap="onImgButtonTap(index, buttonIndex)">
<img :src="button.imgSrc">
</v-touch>
</div>
</li>
<!--<v-touch tag="li" class="infoList-list-load" v-on:tap="onTapLoad" v-show="loadShowFlag">
<span class="infoList-list-load-animation" v-show="loadFlag"></span>
{{ loadText }}
</v-touch>-->
</ul>
<p class="infoList-list-tip" v-bind:class="{'noHistory-list-tip':selectItem == 0}" v-show="tipShowFlag && (infoList.length == 0)">{{ selectItem == 0 ? noHistoryTip : unlockInfoListTip }}</p>
</div>
</div>
<u-dialog ref="udialog" :init-param="componentsConfig.dialog.initParam"></u-dialog>
<u-loading ref="uloading" :init-param="componentsConfig.loading.initParam"></u-loading>
......
......@@ -100,7 +100,7 @@ p {
}
.custom-loading {
background-color: rgba(36, 38, 53, 0.9);
background-color: rgba(36, 38, 53, 0.94);
}
.custom-loading .u-loading-box {
......@@ -303,7 +303,7 @@ p {
}
.custom-dialog {
background-color: rgba(36, 38, 53, 0.9);
background-color: rgba(36, 38, 53, 0.94);
}
.custom-dialog .u-dialog-box {
......@@ -372,7 +372,7 @@ p {
.custom-dialog .u-dialog-box .u-dialog-button .u-dialog-cancel.disabled,
.custom-dialog .u-dialog-box .u-dialog-button .u-dialog-confirm.disabled {
background-color: transparent;
color: #999;
color: #575a6d;
}
.custom-dialog .u-dialog-box .u-dialog-button .u-dialog-cancel:after {
......@@ -799,7 +799,7 @@ p {
.custom-button.disabled {
background-color: transparent;
color: #999;
color: #575a6d;
}
@media (min-width: 360px /*no*/) and (max-height: 570px /*no*/) {
......
......@@ -100,7 +100,7 @@ p {
}
.custom-loading {
background-color: rgba(36, 38, 53, 0.9);
background-color: rgba(36, 38, 53, 0.94);
}
.custom-loading .u-loading-box {
......@@ -303,7 +303,7 @@ p {
}
.custom-dialog {
background-color: rgba(36, 38, 53, 0.9);
background-color: rgba(36, 38, 53, 0.94);
}
.custom-dialog .u-dialog-box {
......@@ -372,7 +372,7 @@ p {
.custom-dialog .u-dialog-box .u-dialog-button .u-dialog-cancel.disabled,
.custom-dialog .u-dialog-box .u-dialog-button .u-dialog-confirm.disabled {
background-color: transparent;
color: #999;
color: #575a6d;
}
.custom-dialog .u-dialog-box .u-dialog-button .u-dialog-cancel:after {
......@@ -700,7 +700,7 @@ p {
.custom-code-button.disabled {
background-color: transparent;
color: #999;
color: #575a6d;
}
.custom-password-text input {
......@@ -751,7 +751,7 @@ p {
.custom-button.disabled {
background-color: transparent;
color: #999;
color: #575a6d;
}
.custom-guide-button {
......@@ -773,7 +773,7 @@ p {
.custom-guide-button.disabled {
background-color: transparent;
color: #999;
color: #575a6d;
}
@media (min-width: 360px /*no*/) and (max-height: 570px /*no*/) {
......
......@@ -100,7 +100,7 @@ p {
}
.custom-loading {
background-color: rgba(36, 38, 53, 0.9);
background-color: rgba(36, 38, 53, 0.94);
}
.custom-loading .u-loading-box {
......@@ -303,7 +303,7 @@ p {
}
.custom-dialog {
background-color: rgba(36, 38, 53, 0.9);
background-color: rgba(36, 38, 53, 0.94);
}
.custom-dialog .u-dialog-box {
......@@ -372,7 +372,7 @@ p {
.custom-dialog .u-dialog-box .u-dialog-button .u-dialog-cancel.disabled,
.custom-dialog .u-dialog-box .u-dialog-button .u-dialog-confirm.disabled {
background-color: transparent;
color: #999;
color: #575a6d;
}
.custom-dialog .u-dialog-box .u-dialog-button .u-dialog-cancel:after {
......@@ -532,7 +532,7 @@ p {
.custom-button.disabled {
background-color: transparent;
color: #999;
color: #575a6d;
}
@media (min-width: 360px /*no*/) and (max-height: 570px /*no*/) {
......
......@@ -100,7 +100,7 @@ p {
}
.custom-loading {
background-color: rgba(36, 38, 53, 0.9);
background-color: rgba(36, 38, 53, 0.94);
}
.custom-loading .u-loading-box {
......@@ -303,7 +303,7 @@ p {
}
.custom-dialog {
background-color: rgba(36, 38, 53, 0.9);
background-color: rgba(36, 38, 53, 0.94);
}
.custom-dialog .u-dialog-box {
......@@ -372,7 +372,7 @@ p {
.custom-dialog .u-dialog-box .u-dialog-button .u-dialog-cancel.disabled,
.custom-dialog .u-dialog-box .u-dialog-button .u-dialog-confirm.disabled {
background-color: transparent;
color: #999;
color: #575a6d;
}
.custom-dialog .u-dialog-box .u-dialog-button .u-dialog-cancel:after {
......@@ -488,7 +488,7 @@ p {
.custom-button.disabled {
background-color: transparent;
color: #999;
color: #575a6d;
}
.editNickname,
......
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