| | |
| | | idCard: '', |
| | | startTime: '', |
| | | endTime: '', |
| | | |
| | | floorId: '', |
| | | floorNum: '', |
| | | floorName: '', |
| | | unitId: '', |
| | | unitName: '', |
| | | roomId: '', |
| | | locationTypeCd: '', |
| | | locationObjId: '', |
| | | roomName: '', |
| | | typeFlag:'', |
| | | photo: '', |
| | | mediaStreamTrack: null |
| | | } |
| | | }, |
| | | _initMethod: function () { |
| | | |
| | | vc.component._initAddApplicationKeyDateInfo(); |
| | | //vc.component._initAddApplicationKeyMedia(); |
| | | }, |
| | | _initEvent: function () { |
| | | vc.on('addApplicationKey', 'openAddApplicationKeyModal', function () { |
| | | $('#addApplicationKeyModel').modal('show'); |
| | | }); |
| | | vc.on('addApplicationKey', "_initAddApplicationKeyData", function () { |
| | | vc.component._initAddApplicationKeyMedia(); |
| | | }); |
| | | vc.on("addApplicationKey", "notify", function (_param) { |
| | | if (_param.hasOwnProperty("floorId")) { |
| | | vc.component.addApplicationKeyInfo.floorId = _param.floorId; |
| | | } |
| | | |
| | | if (_param.hasOwnProperty("unitId")) { |
| | | vc.component.addApplicationKeyInfo.unitId = _param.unitId; |
| | | } |
| | | |
| | | if (_param.hasOwnProperty("roomId")) { |
| | | vc.component.addApplicationKeyInfo.roomId = _param.roomId; |
| | | } |
| | | }); |
| | | }, |
| | | methods: { |
| | | addApplicationKeyValidate() { |
| | | _initAddApplicationKeyDateInfo: function () { |
| | | vc.component.addApplicationKeyInfo.startTime = vc.dateFormat(new Date().getTime()); |
| | | $('.addApplicationStartTime').datetimepicker({ |
| | | language: 'zh-CN', |
| | | format: 'yyyy-mm-dd hh:ii:ss', |
| | | initTime: true, |
| | | initialDate: new Date(), |
| | | autoClose: 1, |
| | | todayBtn: true |
| | | |
| | | }); |
| | | $('.addApplicationStartTime').datetimepicker() |
| | | .on('changeDate', function (ev) { |
| | | var value = $(".addApplicationStartTime").val(); |
| | | vc.component.addApplicationKeyInfo.startTime = value; |
| | | }); |
| | | $('.addApplicationEndTime').datetimepicker({ |
| | | language: 'zh-CN', |
| | | format: 'yyyy-mm-dd hh:ii:ss', |
| | | initTime: true, |
| | | initialDate: new Date(), |
| | | autoClose: 1, |
| | | todayBtn: true |
| | | }); |
| | | $('.addApplicationEndTime').datetimepicker() |
| | | .on('changeDate', function (ev) { |
| | | var value = $(".addApplicationEndTime").val(); |
| | | vc.component.addApplicationKeyInfo.endTime = value; |
| | | }); |
| | | }, |
| | | |
| | | addApplicationKeyValidate: function () { |
| | | return vc.validate.validate({ |
| | | addApplicationKeyInfo: vc.component.addApplicationKeyInfo |
| | | }, { |
| | |
| | | limit: "required", |
| | | param: "", |
| | | errInfo: "性别不能为空" |
| | | }, |
| | | { |
| | | limit: "num", |
| | | param: "", |
| | | errInfo: "性别格式错误" |
| | | }, |
| | | } |
| | | |
| | | ], |
| | | 'addApplicationKeyInfo.age': [ |
| | | { |
| | |
| | | errInfo: "不是有效的时间格式" |
| | | }, |
| | | ], |
| | | 'addApplicationKeyInfo.locationTypeCd': [ |
| | | { |
| | | limit: "required", |
| | | param: "", |
| | | errInfo: "申请位置不能为空" |
| | | } |
| | | ], |
| | | 'addApplicationKeyInfo.locationObjId': [ |
| | | { |
| | | limit: "required", |
| | | param: "", |
| | | errInfo: "具体位置不能为空" |
| | | } |
| | | ] |
| | | |
| | | |
| | | }); |
| | | }, |
| | | saveApplicationKeyInfo: function () { |
| | | vc.component.addApplicationKeyInfo.communityId = vc.getCurrentCommunity().communityId; |
| | | if (vc.component.addApplicationKeyInfo.locationTypeCd != '2000' && vc.component.addApplicationKeyInfo.locationTypeCd != '3000') { //大门时直接写 小区ID |
| | | vc.component.addApplicationKeyInfo.locationObjId = vc.component.addApplicationKeyInfo.communityId; |
| | | } else if (vc.component.addApplicationKeyInfo.locationTypeCd == '2000') { |
| | | vc.component.addApplicationKeyInfo.locationObjId = vc.component.addApplicationKeyInfo.unitId; |
| | | } else if (vc.component.addApplicationKeyInfo.locationTypeCd == '3000') { |
| | | vc.component.addApplicationKeyInfo.locationObjId = vc.component.addApplicationKeyInfo.roomId; |
| | | } else { |
| | | vc.toast("设备位置值错误"); |
| | | return; |
| | | } |
| | | if (!vc.component.addApplicationKeyValidate()) { |
| | | vc.message(vc.validate.errInfo); |
| | | vc.toast(vc.validate.errInfo); |
| | | |
| | | return; |
| | | } |
| | | |
| | | vc.component.addApplicationKeyInfo.communityId = vc.getCurrentCommunity().communityId; |
| | | //不提交数据将数据 回调给侦听处理 |
| | | if (vc.notNull($props.callBackListener)) { |
| | | vc.emit($props.callBackListener, $props.callBackFunction, vc.component.addApplicationKeyInfo); |
| | |
| | | //vm.menus = vm.refreshMenuActive(JSON.parse(json),0); |
| | | if (res.status == 200) { |
| | | //关闭model |
| | | $('#addApplicationKeyModel').modal('hide'); |
| | | //$('#addApplicationKeyModel').modal('hide'); |
| | | vc.component.clearAddApplicationKeyInfo(); |
| | | vc.emit('applicationKeyManage', 'listApplicationKey', {}); |
| | | |
| | |
| | | idCard: '', |
| | | startTime: '', |
| | | endTime: '', |
| | | |
| | | floorId: '', |
| | | floorNum: '', |
| | | floorName: '', |
| | | unitId: '', |
| | | unitName: '', |
| | | roomId: '', |
| | | locationTypeCd: '', |
| | | locationObjId: '', |
| | | roomName: '', |
| | | photo: '', |
| | | videoPlaying: false, |
| | | mediaStreamTrack: null, |
| | | typeFlag:'', |
| | | }; |
| | | } |
| | | }, |
| | | _closeAddApplicationKeyView: function () { |
| | | vc.emit('applicationKeyManage', 'listApplicationKey', {}); |
| | | //关闭拍照摄像头 |
| | | if (vc.component.addApplicationKeyInfo.mediaStreamTrack != null) { |
| | | vc.component.addApplicationKeyInfo.mediaStreamTrack.stop(); |
| | | } |
| | | }, |
| | | _addUserMedia: function () { |
| | | return navigator.getUserMedia = navigator.getUserMedia || |
| | | navigator.webkitGetUserMedia || |
| | | navigator.mozGetUserMedia || |
| | | navigator.msGetUserMedia || null; |
| | | }, |
| | | _initAddApplicationKeyMedia: function () { |
| | | if (vc.component._addUserMedia()) { |
| | | vc.component.addApplicationKeyInfo.videoPlaying = false; |
| | | var constraints = { |
| | | video: true, |
| | | audio: false |
| | | }; |
| | | var addVideo = document.getElementById('addApplicationKeyPhoto'); |
| | | var media = navigator.getUserMedia(constraints, function (stream) { |
| | | var url = window.URL || window.webkitURL; |
| | | //video.src = url ? url.createObjectURL(stream) : stream; |
| | | vc.component.addApplicationKeyInfo.mediaStreamTrack = typeof stream.stop === 'function' ? stream : stream.getTracks()[0]; |
| | | try { |
| | | addVideo.src = url ? url.createObjectURL(stream) : stream; |
| | | } catch (error) { |
| | | addVideo.srcObject = stream; |
| | | } |
| | | addVideo.play(); |
| | | vc.component.addApplicationKeyInfo.videoPlaying = true; |
| | | }, function (error) { |
| | | console.log("ERROR"); |
| | | console.log(error); |
| | | }); |
| | | } else { |
| | | console.log("初始化视频失败"); |
| | | } |
| | | }, |
| | | _takePhoto: function () { |
| | | if (vc.component.addApplicationKeyInfo.videoPlaying) { |
| | | var canvas = document.getElementById('AddApplicationKeyCanvas'); |
| | | var takeAddVideo = document.getElementById('addApplicationKeyPhoto'); |
| | | canvas.width = takeAddVideo.videoWidth; |
| | | canvas.height = takeAddVideo.videoHeight; |
| | | canvas.getContext('2d').drawImage(takeAddVideo, 0, 0); |
| | | var data = canvas.toDataURL('image/webp'); |
| | | vc.component.addApplicationKeyInfo.photo = data; |
| | | //document.getElementById('photo').setAttribute('src', data); |
| | | } |
| | | }, |
| | | _uploadPhoto: function (event) { |
| | | $("#uploadApplicationKeyPhoto").trigger("click") |
| | | }, |
| | | _choosePhoto: function (event) { |
| | | var photoFiles = event.target.files; |
| | | if (photoFiles && photoFiles.length > 0) { |
| | | // 获取目前上传的文件 |
| | | var file = photoFiles[0];// 文件大小校验的动作 |
| | | if (file.size > 1024 * 1024 * 1) { |
| | | vc.toast("图片大小不能超过 2MB!") |
| | | return false; |
| | | } |
| | | var reader = new FileReader(); //新建FileReader对象 |
| | | reader.readAsDataURL(file); //读取为base64 |
| | | reader.onloadend = function (e) { |
| | | vc.component.addApplicationKeyInfo.photo = reader.result; |
| | | } |
| | | } |
| | | }, |
| | | } |
| | | }); |
| | | |