mirror of
https://gitee.com/beecue/fastbee.git
synced 2025-12-17 16:36:03 +08:00
1 line
132 KiB
JavaScript
1 line
132 KiB
JavaScript
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-b95ebb40","chunk-724c14dd","chunk-80833096","chunk-7c5661b0","chunk-1022b97a","chunk-2f2532c4","chunk-03fb653e","chunk-722c5e57","chunk-61c8fc02","chunk-249433bb","chunk-2d229411","chunk-2d0e145b","chunk-2d0a3715"],{"01ca":function(e,t,i){"use strict";i.d(t,"f",(function(){return n})),i.d(t,"d",(function(){return o})),i.d(t,"a",(function(){return r})),i.d(t,"e",(function(){return s})),i.d(t,"g",(function(){return l})),i.d(t,"c",(function(){return c})),i.d(t,"b",(function(){return d}));var a=i("b775");function n(e){return Object(a["a"])({url:"/iot/model/list",method:"get",params:e})}function o(e){return Object(a["a"])({url:"/iot/model/"+e,method:"get"})}function r(e){return Object(a["a"])({url:"/iot/model",method:"post",data:e})}function s(e){return Object(a["a"])({url:"/iot/model/import",method:"post",data:e})}function l(e){return Object(a["a"])({url:"/iot/model",method:"put",data:e})}function c(e){return Object(a["a"])({url:"/iot/model/"+e,method:"delete"})}function d(e){return Object(a["a"])({url:"/iot/model/cache/"+e,method:"get"})}},"09cb":function(e,t,i){"use strict";i.d(t,"a",(function(){return a}));i("d3b7");function a(){return new Promise((function(e,t){if("undefined"!==typeof BMap)return e(BMap),!0;window.onBMapCallback=function(){e(BMap)};var i=document.location.protocol;if("https:"==i){var a=document.createElement("meta");a.httpEquiv="Content-Security-Policy",a.content="upgrade-insecure-requests",a.onerror=t,document.head.appendChild(a)}var n=document.createElement("script");n.type="text/javascript",n.src="http://api.map.baidu.com/api?v=2.0&ak=nAtaBg9FYzav6c8P9rF9qzsWZfT8O0PD&s=1&__ec_v__=20190126&callback=onBMapCallback",n.onerror=t,document.head.appendChild(n)}))}},2544:function(e,t,i){"use strict";i.d(t,"e",(function(){return n})),i.d(t,"d",(function(){return o})),i.d(t,"a",(function(){return r})),i.d(t,"b",(function(){return s})),i.d(t,"f",(function(){return l})),i.d(t,"c",(function(){return c}));var a=i("b775");function n(e){return Object(a["a"])({url:"/iot/deviceUser/list",method:"get",params:e})}function o(e,t){return Object(a["a"])({url:"/iot/deviceUser/"+e+"/"+t,method:"get"})}function r(e){return Object(a["a"])({url:"/iot/deviceUser",method:"post",data:e})}function s(e){return Object(a["a"])({url:"/iot/deviceUser/addDeviceUsers",method:"post",data:e})}function l(e){return Object(a["a"])({url:"/iot/deviceUser",method:"put",data:e})}function c(e){return Object(a["a"])({url:"/iot/deviceUser",method:"delete",data:e})}},"39c9":function(e,t,i){"use strict";i.r(t);var a=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("el-dialog",{attrs:{title:e.title,visible:e.open,width:"400px","append-to-body":""},on:{"update:visible":function(t){e.open=t}}},[i("el-form",{ref:"createForm",attrs:{model:e.createForm,"label-width":"100px"}},[i("el-form-item",{attrs:{label:"行政区划"}},[i("el-cascader",{attrs:{options:e.cityOptions,"change-on-select":""},on:{change:e.changeProvince},model:{value:e.createForm.city,callback:function(t){e.$set(e.createForm,"city",t)},expression:"createForm.city"}})],1),i("el-form-item",{attrs:{label:"设备类型",prop:"deviceType"}},[i("el-select",{attrs:{placeholder:"请选择设备类型"},model:{value:e.createForm.deviceType,callback:function(t){e.$set(e.createForm,"deviceType",t)},expression:"createForm.deviceType"}},e._l(e.dict.type.video_type,(function(e){return i("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})})),1)],1),i("el-form-item",{attrs:{label:"通道类型",prop:"channelType"}},[i("el-select",{attrs:{placeholder:"请选择设备类型"},model:{value:e.createForm.channelType,callback:function(t){e.$set(e.createForm,"channelType",t)},expression:"createForm.channelType"}},e._l(e.dict.type.channel_type,(function(e){return i("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})})),1)],1),i("el-form-item",{attrs:{label:"通道数量",prop:"createNum"}},[i("el-input-number",{staticStyle:{width:"220px"},attrs:{"controls-position":"right",placeholder:"请输入生成通道数量",type:"number"},model:{value:e.createForm.createNum,callback:function(t){e.$set(e.createForm,"createNum",t)},expression:"createForm.createNum"}})],1)],1),i("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[i("el-button",{attrs:{type:"primary"},on:{click:e.submitForm}},[e._v("生 成")]),i("el-button",{on:{click:e.closeDialog}},[e._v("取 消")])],1)],1)},n=[],o=i("ef6c"),r=i("e2de"),s={name:"sipid-dialog",dicts:["video_type","channel_type"],props:{product:{type:Object,default:null}},data:function(){return{loading:!0,title:"生成设备编号和通道",total:0,open:!1,devsipid:"",createForm:{city:"",deviceType:"",channelType:"",createNum:1},cityOptions:o["regionData"],city:"",cityCode:""}},created:function(){},methods:{changeProvince:function(e){if(e&&null!=e[0]&&null!=e[1]&&null!=e[2]){var t=o["CodeToText"][e[0]]+"/"+o["CodeToText"][e[1]]+"/"+o["CodeToText"][e[2]];this.createForm.citycode=t}},submitForm:function(){var e=this;this.createForm.createNum<1?this.$modal.alertError("通道数量至少一个"):(this.createForm.productId=this.product.productId,this.createForm.productName=this.product.productName,this.createForm.tenantId=this.product.tenantId,this.createForm.tenantName=this.product.tenantName,this.createForm.deviceSipId=this.createForm.city[2]+"0000"+this.createForm.deviceType+"0",this.createForm.channelSipId=this.createForm.city[2]+"0000"+this.createForm.channelType+"0",""!==this.createForm.deviceType&&""!==this.createForm.channelType&&3===this.createForm.city.length?Object(r["a"])(this.createForm.createNum,this.createForm).then((function(t){e.$modal.msgSuccess("已生成设备编号和通道"),e.devsipid=t.data,e.confirmSelectProduct()})):this.$message({type:"error",message:"请选择地区,设备类型,通道类型!!"}))},confirmSelectProduct:function(){this.open=!1,this.$emit("addGenEvent",this.devsipid)},closeDialog:function(){this.open=!1}}},l=s,c=i("2877"),d=Object(c["a"])(l,a,n,!1,null,"44791a14",null);t["default"]=d.exports},"3abb":function(e,t,i){"use strict";i.r(t);var a=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{directives:[{name:"loading",rawName:"v-loading",value:e.isLoging,expression:"isLoging"}],attrs:{id:"devicePlayer"}},[i("el-dialog",{attrs:{title:"视频播放",top:"0","close-on-click-modal":!1,visible:e.showVideoDialog},on:{"update:visible":function(t){e.showVideoDialog=t},close:function(t){return e.close()}}},[i("div",{staticClass:"player-wrapper"},[i("div",{ref:"player",staticClass:"player"},[i("div",{staticClass:"container-shell"},[i("div",{ref:"container",attrs:{id:"container"}})])]),i("div",{staticClass:"player-display"})]),i("el-tabs",{staticStyle:{"padding-bottom":"15px"},on:{"tab-click":e.tabHandleClick},model:{value:e.tabActiveName,callback:function(t){e.tabActiveName=t},expression:"tabActiveName"}},[i("el-tab-pane",{attrs:{label:"设备直播",name:"media"}},[i("el-col",{attrs:{span:24}},[i("div",{staticStyle:{display:"flex","justify-content":"left"}},[i("div",{staticClass:"control-wrapper"},[i("div",{staticClass:"control-btn control-top",on:{mousedown:function(t){return e.ptzDirection(0,1)},mouseup:function(t){return e.ptzDirection(0,0)}}},[i("i",{staticClass:"el-icon-caret-top"}),i("div",{staticClass:"control-inner-btn control-inner"})]),i("div",{staticClass:"control-btn control-left",on:{mousedown:function(t){return e.ptzDirection(2,0)},mouseup:function(t){return e.ptzDirection(0,0)}}},[i("i",{staticClass:"el-icon-caret-left"}),i("div",{staticClass:"control-inner-btn control-inner"})]),i("div",{staticClass:"control-btn control-bottom",on:{mousedown:function(t){return e.ptzDirection(0,2)},mouseup:function(t){return e.ptzDirection(0,0)}}},[i("i",{staticClass:"el-icon-caret-bottom"}),i("div",{staticClass:"control-inner-btn control-inner"})]),i("div",{staticClass:"control-btn control-right",on:{mousedown:function(t){return e.ptzDirection(1,0)},mouseup:function(t){return e.ptzDirection(0,0)}}},[i("i",{staticClass:"el-icon-caret-right"}),i("div",{staticClass:"control-inner-btn control-inner"})]),i("div",{staticClass:"control-round"},[i("div",{staticClass:"control-round-inner"},[i("i",{staticClass:"fa fa-pause-circle"})])]),i("div",{staticStyle:{position:"absolute",left:"8.25rem",top:"1.1rem",cursor:"pointer",display:"flex",width:"100px"},on:{mousedown:function(t){return e.ptzScale(1)},mouseup:function(t){return e.ptzScale(0)}}},[i("svg-icon",{staticStyle:{"font-size":"30px"},attrs:{"icon-class":"big"}}),i("span",{staticStyle:{"line-height":"30px",color:"#999","margin-left":"6px"}},[e._v("放大")])],1),i("div",{staticStyle:{position:"absolute",left:"8.25rem",top:"3.3rem",cursor:"pointer",display:"flex",width:"100px"},on:{mousedown:function(t){return e.ptzScale(2)},mouseup:function(t){return e.ptzScale(0)}}},[i("svg-icon",{staticStyle:{"font-size":"30px"},attrs:{"icon-class":"small"}}),i("span",{staticStyle:{"line-height":"30px",color:"#999","margin-left":"6px"}},[e._v("缩小")])],1),i("div",{staticClass:"contro-speed",staticStyle:{position:"absolute",left:"4px",top:"7rem",width:"9rem"}},[i("el-slider",{attrs:{max:255},model:{value:e.controSpeed,callback:function(t){e.controSpeed=t},expression:"controSpeed"}})],1)])])])],1),i("el-tab-pane",{attrs:{label:"录像回放",name:"record"}},[i("div",{staticClass:"components-container"},[e.videoVod?i("div",[i("el-row",{staticStyle:{"margin-bottom":"34px"}},[i("span",{staticStyle:{overflow:"auto"}},[e._v("选择录像日期:")]),i("el-date-picker",{attrs:{type:"date",size:"small",clearable:"",placeholder:"选择日期"},on:{change:e.loadDevRecord},model:{value:e.queryDate,callback:function(t){e.queryDate=t},expression:"queryDate"}})],1)],1):e._e(),i("el-row",{directives:[{name:"loading",rawName:"v-loading",value:e.playerLoading,expression:"playerLoading"}]},[i("el-col",{attrs:{span:24}},[i("el-row",{staticClass:"ctrl ctrl-btn",attrs:{type:"flex",align:"middle"}},[i("el-col",{staticStyle:{overflow:"auto",display:"flex"},attrs:{span:24,xs:24,sm:24}},[e.playing?e._e():i("el-button",{attrs:{type:"primary",icon:"el-icon-video-play",size:"mini"},on:{click:e.preparePlay}},[e._v("播放 ")]),e.playing?i("el-button",{attrs:{type:"danger",icon:"el-icon-video-pause",size:"mini"},on:{click:e.stopPlay}},[e._v(" 停止 ")]):e._e(),e.pausing?i("el-button",{attrs:{type:"primary",icon:"el-icon-video-play",size:"mini",disabled:!e.playing},on:{click:e.resume}},[e._v("恢复 ")]):e._e(),e.pausing?e._e():i("el-button",{attrs:{type:"danger",icon:"el-icon-video-pause",size:"mini",disabled:!e.playing},on:{click:e.pause}},[e._v("暂停 ")]),i("el-slider",{staticClass:"hidden-xs-only",staticStyle:{width:"100px",margin:"0 30px 0 30px"},attrs:{disabled:e.quieting,"format-tooltip":e.formatVolumeToolTip},on:{change:e.changeVolume},model:{value:e.volume,callback:function(t){e.volume=t},expression:"volume"}}),i("el-button",{staticClass:"hidden-xs-only",attrs:{icon:"el-icon-full-screen",size:"mini"},on:{click:e.fullscreen}},[e._v("全屏 ")]),i("el-button",{attrs:{icon:"el-icon-camera-solid",size:"mini"},on:{click:e.screenShot}},[e._v("截图")])],1)],1)],1)],1)],1)])],1)],1)],1)},n=[],o=(i("a9e3"),i("e9c4"),i("d3b7"),i("e2de")),r=i("f5a7"),s=i("6827"),l={name:"devicePlayer",props:{},jessibuca:null,computed:{getPlayerShared:function(){return{sharedflv:this.streamInfo.flv,sharedws_flv:this.streamInfo.ws_flv,sharedts:this.streamInfo.ts,sharedws_ts:this.streamInfo.ws_ts,sharedrtmp:this.streamInfo.rtmp,sharedrtsp:this.streamInfo.rtsp}}},beforeDestroy:function(){this.cleanPlayer(!0)},data:function(){return{tabActiveName:"media",volume:100,deviceId:"",channelId:"",streamId:"",streamInfo:{},video:"",videoUrl:"",hasaudio:!1,isLoging:!1,showVideoDialog:!1,controSpeed:30,videoVod:!1,vodIndex:0,vodData:{},playerLoading:!1,url:{ssrc:"",playurl:""},hisData:[],queryDate:"",playing:!1,quieting:!0,pausing:!1,paused:!1}},methods:{initUrl:function(e){e?(this.streamId=e.ssrc,this.url.ssrc=e.ssrc,this.url.playurl=e.playurl):(this.streamId="",this.url.ssrc="",this.url.playurl="")},create:function(){var e=document.body.clientWidth<720,t=new window.Jessibuca({container:this.$refs.container,videoBuffer:Number(.2),decoder:"/js/jessibuca/decoder.js",timeout:20,debug:!0,isResize:!1,loadingText:"商用版请购买授权,加载中",isFlv:!0,showBandwidth:!0,supportDblclickFullscreen:!0,operateBtns:{fullscreen:e,screenshot:!1,play:!1,audio:!1},forceNoOffscreen:!0,isNotMute:!1,playbackForwardMaxRateDecodeIFrame:4,playbackCurrentTimeMove:!1});this.$options.jessibuca=t;var i=this;t.on("error",(function(e){console.log("error"),console.log(e),i.destroy()})),t.on("pause",(function(e){console.log("pause success!"),console.log(e)})),t.on("stats",(function(e){console.log("stats is",e)})),t.on("timeout",(function(){console.log("timeout"),i.destroy(),i.retryCount<=1&&(i.startPlay(i.url),i.retryCount++)}));var a=0,n=0;t.on("timeUpdate",(function(e){n=parseInt(e/6e4),a!==n&&a++})),this.videoVod&&(console.log("create videoVod"),t.on("playbackSeek",(function(e){i.seekPlay(e)})))},cleanPlayer:function(e){this.destroy(),e&&this.stopPlay(),this.playing=!1},destroy:function(){this.$options.jessibuca&&this.$options.jessibuca.destroy(),this.showVideoDialog&&this.create()},tabHandleClick:function(e,t){switch(this.cleanPlayer(!0),this.tabActiveName){case"media":this.videoVod=!1,this.sendDevicePush();break;case"record":this.videoVod=!0;break}},openDialog:function(e,t,i,a){var n=this;this.tabActiveName=e,this.channelId=i,this.deviceId=t,this.streamInfo=a.streamInfo,this.streamId=a.streamInfo.streamId,this.videoUrl=a.streamInfo.flv,this.hasaudio=a.hasAudio,this.showVideoDialog=!0,this.$nextTick((function(){n.preparePlay()}))},preparePlay:function(){switch(this.cleanPlayer(!1),this.tabActiveName){case"media":this.play(this.hasAudio);break;case"record":this.loadDevRecord();break}},sendDevicePush:function(){var e=this;console.log("通知设备推流1:"+this.deviceId+" : "+this.channelId),Object(o["l"])(this.deviceId,this.channelId).then((function(t){console.log("开始播放:"+e.deviceId+" : "+e.channelId)})),Object(o["d"])(this.deviceId,this.channelId).then((function(t){console.log("流媒体信息:"+t.data);var i=JSON.parse(t.data);console.log("playurl:"+i.playurl),e.isLoging=!1,e.playing=!0,e.playing=!0,e.streamId=i.streamId,e.videoUrl=i.playurl,e.$options.jessibuca.play(e.videoUrl)}))},play:function(e){this.hasaudio=e,this.isLoging=!1,this.playing=!0,this.$options.jessibuca.play(this.videoUrl)},close:function(){var e=this;this.$options.jessibuca&&(console.log("jessibuca播放器销毁"),this.$options.jessibuca.destroy()),this.streamId&&this.playing&&Object(o["m"])(this.deviceId,this.channelId,this.streamId).then((function(t){console.log("停止推流 streamId:"+e.streamId)})),this.videoUrl="",this.queryDate="",this.streamId="",this.videoVod=!1,this.showVideoDialog=!1,this.url={ssrc:"",flv:""}},ptzDirection:function(e,t){console.log("云台方向控制:"+e+" : "+t);var i={leftRight:e,upDown:t,moveSpeed:125};Object(r["b"])(this.deviceId,this.channelId,i).then((function(e){console.log("云台方向控制:"+JSON.stringify(e))}))},ptzScale:function(e){console.log("云台缩放:"+e);var t={inOut:e,scaleSpeed:30};Object(r["c"])(this.deviceId,this.channelId,t).then((function(e){console.log("云台方向控制:"+JSON.stringify(e))}))},loadDevRecord:function(){var e=this;if(this.cleanPlayer(!1),this.deviceId&&this.channelId){var t=this.queryDate?new Date(this.queryDate).getTime():new Date((new Date).toLocaleDateString()).getTime(),i=t/1e3,a=Math.floor((t+864e5-1)/1e3),n={start:i,end:a};Object(s["a"])(this.deviceId,this.channelId,n).then((function(t){if(e.hisData=t.data.recordItems,t.data.recordItems){var n=e.hisData.length;n>0?(e.hisData[0].start<i?(e.vodData={start:i,end:a,base:i},e.hisData[0].start=i):e.vodData={start:e.hisData[0].start,end:a,base:i},e.playbackstart(e.hisData)):e.$message({type:"warning",message:"当前通道没有录像"})}else e.$message({type:"warning",message:"当前通道没有录像"})})).catch((function(){e.playerLoading=!1}))}},triggerPlay:function(e){var t=this;this.playing?(clearTimeout(this.timer),this.$options.jessibuca.on("play",(function(){t.quieting=t.$options.jessibuca.quieting})),this.videoVod&&(this.$options.jessibuca.playback(this.url.playurl,{playList:e,fps:20}),this.timer=setTimeout((function(){t.playerLoading=!1}),2e3))):this.playerLoading=!1},playbackstart:function(e){var t=this;if(this.deviceId&&this.channelId)if(this.playerLoading=!0,this.pausing=!1,this.url.ssrc)Object(o["k"])(this.deviceId,this.channelId,this.url.ssrc).then((function(i){var a={start:t.vodData.start,end:t.vodData.end};Object(o["f"])(t.deviceId,t.channelId,a).then((function(e){t.playing=!0,console.log(e.data),t.initUrl(e.data)})).finally((function(){t.triggerPlay(e)}))})).catch((function(){t.playerLoading=!1}));else{var i={start:this.vodData.start,end:this.vodData.end};Object(o["f"])(this.deviceId,this.channelId,i).then((function(e){console.log(e),t.playing=!0,t.initUrl(e.data)})).finally((function(){t.triggerPlay(e)}))}},stopPlay:function(){var e=this;this.streamId&&this.playing&&(this.playerLoading=!0,this.pausing=!1,this.url.playurl="",Object(o["k"])(this.deviceId,this.channelId,this.streamId).then((function(t){e.playing=!1,e.$options.jessibuca&&(e.retryCount=0,e.destroy()),e.url.ssrc="",e.streamId=""})).finally((function(){e.playerLoading=!1})))},playNext:function(e){var t=this;this.playerLoading=!0,this.url.playurl="",Object(o["k"])(this.deviceId,this.channelId).then((function(e){t.playing=!1,t.url.ssrc=""})).finally((function(){t.playerLoading=!1}))},mute:function(){this.playing&&(this.$options.jessibuca.mute(),this.quieting=!0)},cancelMute:function(){this.playing&&(this.$options.jessibuca.cancelMute(),this.quieting=!1)},formatVolumeToolTip:function(e){return"音量条: "+e},changeVolume:function(){this.$options.jessibuca.setVolume(this.volume/100)},screenShot:function(){this.playing&&this.$options.jessibuca.screenshot()},fullscreen:function(){this.playing&&(this.fullscreening=!this.fullscreening,this.$options.jessibuca.setFullscreen(this.fullscreening))},scalePlay:function(){var e=this;this.url.ssrc&&this.playing&&Object(o["j"])(this.deviceId,this.channelId,this.streamId,this.speed).then((function(t){e.$refs.player.scale(e.speed)}))},seekPlay:function(e){var t=this,i=this.vodData.base+3600*e.hour+60*e.min+e.second,a=i-this.vodData.start;if(this.url.ssrc&&this.playing){var n={seek:a};Object(o["i"])(this.deviceId,this.channelId,this.streamId,n).then((function(e){t.$options.jessibuca.setPlaybackStartTime(i)}))}},pause:function(){var e=this;this.url.ssrc&&this.playing&&(this.videoVod?Object(o["g"])(this.deviceId,this.channelId,this.streamId).then((function(t){1===t.code&&(e.pausing=!0,e.$options.jessibuca.pause())})):(this.$options.jessibuca.pause(),this.pausing=!0))},resume:function(){var e=this;this.url.ssrc&&this.pausing&&Object(o["h"])(this.deviceId,this.channelId,this.streamId).then((function(t){"no channel info"===t.data?(e.pausing=!1,e.play()):(e.$options.jessibuca.play(),e.pausing=!1)}))},isPause:function(e){this.paused=e},changeSpeed:function(){this.speed!==val&&(this.speed=val,this.scalePlay())}}},c=l,d=(i("dd2d"),i("8e03"),i("2877")),u=Object(d["a"])(c,a,n,!1,null,null,null);t["default"]=u.exports},"584f":function(e,t,i){"use strict";i.d(t,"l",(function(){return n})),i.d(t,"j",(function(){return o})),i.d(t,"k",(function(){return r})),i.d(t,"i",(function(){return s})),i.d(t,"e",(function(){return l})),i.d(t,"c",(function(){return c})),i.d(t,"f",(function(){return d})),i.d(t,"h",(function(){return u})),i.d(t,"g",(function(){return p})),i.d(t,"a",(function(){return m})),i.d(t,"m",(function(){return h})),i.d(t,"b",(function(){return f})),i.d(t,"d",(function(){return v}));var a=i("b775");function n(e){return Object(a["a"])({url:"/iot/device/unAuthlist",method:"get",params:e})}function o(e){return Object(a["a"])({url:"/iot/device/listByGroup",method:"get",params:e})}function r(e){return Object(a["a"])({url:"/iot/device/shortList",method:"get",params:e})}function s(){return Object(a["a"])({url:"/iot/device/all",method:"get"})}function l(e){return Object(a["a"])({url:"/iot/device/"+e,method:"get"})}function c(e){return Object(a["a"])({url:"/iot/device/synchronization/"+e,method:"get"})}function d(e){return Object(a["a"])({url:"/iot/device/getDeviceBySerialNumber/"+e,method:"get"})}function u(){return Object(a["a"])({url:"/iot/device/statistic",method:"get"})}function p(e){return Object(a["a"])({url:"/iot/device/runningStatus/"+e,method:"get"})}function m(e){return Object(a["a"])({url:"/iot/device",method:"post",data:e})}function h(e){return Object(a["a"])({url:"/iot/device",method:"put",data:e})}function f(e){return Object(a["a"])({url:"/iot/device/"+e,method:"delete"})}function v(){return Object(a["a"])({url:"/iot/device/generator",method:"get"})}},"5f43":function(e,t,i){"use strict";i.r(t);var a=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticStyle:{"padding-left":"20px"}},[i("el-row",{attrs:{gutter:120}},[i("el-col",{staticStyle:{"margin-bottom":"50px"},attrs:{xs:24,sm:24,md:24,lg:14,xl:10}},[i("el-descriptions",{staticStyle:{"margin-bottom":"50px"},attrs:{column:1,border:""}},[i("el-descriptions-item",{attrs:{labelStyle:e.statusColor}},[i("template",{slot:"label"},[i("i",{staticClass:"el-icon-menu"}),e._v(" 设备模式 ")]),i("el-link",{staticStyle:{"line-height":"28px","font-size":"16px","padding-right":"10px"},attrs:{underline:!1}},[e._v(e._s(e.title))])],2),i("el-descriptions-item",{attrs:{labelStyle:e.statusColor}},[i("template",{slot:"label"},[i("svg-icon",{attrs:{"icon-class":"ota"}}),e._v(" OTA升级 ")],1),i("el-link",{staticStyle:{"line-height":"28px","font-size":"16px","padding-right":"10px"},attrs:{underline:!1}},[e._v("Version "+e._s(e.deviceInfo.firmwareVersion))]),i("el-button",{staticStyle:{float:"right"},attrs:{type:"success",size:"mini",disabled:3!=e.deviceInfo.status},on:{click:function(t){return e.getLatestFirmware(e.deviceInfo.deviceId)}}},[e._v("检查更新")])],2),e._l(e.deviceInfo.thingsModels,(function(t,a){return i("el-descriptions-item",{key:a,attrs:{labelStyle:e.statusColor}},[i("template",{slot:"label"},[i("i",{staticClass:"el-icon-open"}),e._v(" "+e._s(t.name)+" ")]),"bool"==t.dataType.type?i("div",[i("el-switch",{staticStyle:{"min-width":"100px"},attrs:{"active-text":"","inactive-text":"","active-value":"1","inactive-value":"0",disabled:e.shadowUnEnable||1==t.isReadonly},on:{change:function(i){return e.mqttPublish(e.deviceInfo,t)}},model:{value:t.shadow,callback:function(i){e.$set(t,"shadow",i)},expression:"item.shadow"}})],1):e._e(),"enum"==t.dataType.type?i("div",[i("el-select",{attrs:{placeholder:"请选择",disabled:e.shadowUnEnable||1==t.isReadonly},on:{change:function(i){return e.mqttPublish(e.deviceInfo,t)}},model:{value:t.shadow,callback:function(i){e.$set(t,"shadow",i)},expression:"item.shadow"}},e._l(t.dataType.enumList,(function(e){return i("el-option",{key:e.value,attrs:{label:e.text,value:e.value}})})),1)],1):e._e(),"string"==t.dataType.type?i("div",[i("el-input",{attrs:{placeholder:"请输入字符串 "+(t.dataType.unit?",单位:"+t.dataType.unit:""),disabled:e.shadowUnEnable||1==t.isReadonly},model:{value:t.shadow,callback:function(i){e.$set(t,"shadow",i)},expression:"item.shadow"}},[e.shadowUnEnable||0!=t.isReadonly?e._e():i("el-button",{staticStyle:{"font-size":"20px"},attrs:{slot:"append",icon:"el-icon-s-promotion",title:"指令发送"},on:{click:function(i){return e.mqttPublish(e.deviceInfo,t)}},slot:"append"})],1)],1):e._e(),"decimal"==t.dataType.type?i("div",[i("el-input",{attrs:{type:"number",placeholder:"请输入小数 "+(t.dataType.unit?",单位:"+t.dataType.unit:""),disabled:e.shadowUnEnable||1==t.isReadonly},model:{value:t.shadow,callback:function(i){e.$set(t,"shadow",i)},expression:"item.shadow"}},[e.shadowUnEnable||0!=t.isReadonly?e._e():i("el-button",{staticStyle:{"font-size":"20px"},attrs:{slot:"append",icon:"el-icon-s-promotion",title:"指令发送"},on:{click:function(i){return e.mqttPublish(e.deviceInfo,t)}},slot:"append"})],1)],1):e._e(),"integer"==t.dataType.type?i("div",[i("el-input",{attrs:{type:"integer",placeholder:"请输入整数 "+(t.dataType.unit?",单位:"+t.dataType.unit:""),disabled:e.shadowUnEnable||1==t.isReadonly},model:{value:t.shadow,callback:function(i){e.$set(t,"shadow",i)},expression:"item.shadow"}},[e.shadowUnEnable||0!=t.isReadonly?e._e():i("el-button",{staticStyle:{"font-size":"20px"},attrs:{slot:"append",icon:"el-icon-s-promotion",title:"指令发送"},on:{click:function(i){return e.mqttPublish(e.deviceInfo,t)}},slot:"append"})],1)],1):e._e(),"object"==t.dataType.type?i("div",[i("el-descriptions",{attrs:{column:1,size:"mini",border:""}},e._l(t.dataType.params,(function(t,a){return i("el-descriptions-item",{key:a,attrs:{label:t.name}},["bool"==t.dataType.type?i("div",[i("el-switch",{staticStyle:{"min-width":"100px"},attrs:{"active-text":"","inactive-text":"","active-value":"1","inactive-value":"0",disabled:e.shadowUnEnable||1==t.isReadonly},on:{change:function(i){return e.mqttPublish(e.deviceInfo,t)}},model:{value:t.shadow,callback:function(i){e.$set(t,"shadow",i)},expression:"param.shadow"}})],1):e._e(),"enum"==t.dataType.type?i("div",[i("el-select",{attrs:{placeholder:"请选择",disabled:e.shadowUnEnable||1==t.isReadonly},on:{change:function(i){return e.mqttPublish(e.deviceInfo,t)}},model:{value:t.shadow,callback:function(i){e.$set(t,"shadow",i)},expression:"param.shadow"}},e._l(t.dataType.enumList,(function(e){return i("el-option",{key:e.value,attrs:{label:e.text,value:e.value}})})),1)],1):e._e(),"string"==t.dataType.type?i("div",[i("el-input",{attrs:{placeholder:"请输入字符串",disabled:e.shadowUnEnable||1==t.isReadonly},model:{value:t.shadow,callback:function(i){e.$set(t,"shadow",i)},expression:"param.shadow"}},[e.shadowUnEnable||0!=t.isReadonly?e._e():i("el-button",{staticStyle:{"font-size":"20px"},attrs:{slot:"append",icon:"el-icon-s-promotion",title:"指令发送"},on:{click:function(i){return e.mqttPublish(e.deviceInfo,t)}},slot:"append"})],1)],1):e._e(),"decimal"==t.dataType.type?i("div",[i("el-input",{attrs:{type:"number",placeholder:"请输入小数 ",disabled:e.shadowUnEnable||1==t.isReadonly},model:{value:t.shadow,callback:function(i){e.$set(t,"shadow",i)},expression:"param.shadow"}},[e.shadowUnEnable||0!=t.isReadonly?e._e():i("el-button",{staticStyle:{"font-size":"20px"},attrs:{slot:"append",icon:"el-icon-s-promotion",title:"指令发送"},on:{click:function(i){return e.mqttPublish(e.deviceInfo,t)}},slot:"append"})],1)],1):e._e(),"integer"==t.dataType.type?i("div",[i("el-input",{attrs:{type:"integer",placeholder:"请输入整数 ",disabled:e.shadowUnEnable||1==t.isReadonly},model:{value:t.shadow,callback:function(i){e.$set(t,"shadow",i)},expression:"param.shadow"}},[e.shadowUnEnable||0!=t.isReadonly?e._e():i("el-button",{staticStyle:{"font-size":"20px"},attrs:{slot:"append",icon:"el-icon-s-promotion",title:"指令发送"},on:{click:function(i){return e.mqttPublish(e.deviceInfo,t)}},slot:"append"})],1)],1):e._e()])})),1)],1):e._e(),"array"==t.dataType.type?i("div",["object"!=t.dataType.arrayType?i("el-descriptions",{attrs:{column:1,size:"mini",border:""}},e._l(t.dataType.arrayModel,(function(a,n){return i("el-descriptions-item",{key:n,attrs:{label:t.name+(n+1)}},["string"==t.dataType.arrayType?i("div",[i("el-input",{attrs:{placeholder:"请输入字符串",size:"mini",disabled:e.shadowUnEnable||1==t.isReadonly},on:{input:function(i){return e.arrayItemChange(i,t)}},model:{value:a.shadow,callback:function(t){e.$set(a,"shadow",t)},expression:"model.shadow"}},[e.shadowUnEnable&&0!=t.isReadonly?e._e():i("el-button",{staticStyle:{"font-size":"20px"},attrs:{slot:"append",icon:"el-icon-s-promotion",title:"指令发送"},on:{click:function(t){return e.mqttPublish(e.deviceInfo,a)}},slot:"append"})],1)],1):e._e(),"decimal"==t.dataType.arrayType?i("div",[i("el-input",{attrs:{type:"number",placeholder:"请输入小数 ",size:"mini",disabled:e.shadowUnEnable||1==t.isReadonly},on:{input:function(i){return e.arrayItemChange(i,t)}},model:{value:a.shadow,callback:function(t){e.$set(a,"shadow",t)},expression:"model.shadow"}},[e.shadowUnEnable&&0!=t.isReadonly?e._e():i("el-button",{staticStyle:{"font-size":"20px"},attrs:{slot:"append",icon:"el-icon-s-promotion",title:"指令发送"},on:{click:function(t){return e.mqttPublish(e.deviceInfo,a)}},slot:"append"})],1)],1):e._e(),"integer"==t.dataType.arrayType?i("div",[i("el-input",{attrs:{type:"integer",placeholder:"请输入整数 ",size:"mini",disabled:e.shadowUnEnable||1==t.isReadonly},on:{input:function(i){return e.arrayItemChange(i,t)}},model:{value:a.shadow,callback:function(t){e.$set(a,"shadow",t)},expression:"model.shadow"}},[e.shadowUnEnable&&0!=t.isReadonly?e._e():i("el-button",{staticStyle:{"font-size":"20px"},attrs:{slot:"append",icon:"el-icon-s-promotion",title:"指令发送"},on:{click:function(t){return e.mqttPublish(e.deviceInfo,a)}},slot:"append"})],1)],1):e._e()])})),1):e._e(),"object"==t.dataType.arrayType?i("el-collapse",e._l(t.dataType.arrayParams,(function(a,n){return i("el-collapse-item",{key:n},[i("template",{slot:"title"},[i("span",{staticStyle:{color:"#666"}},[i("i",{staticClass:"el-icon-tickets"}),e._v(" "+e._s(t.name+(n+1)))])]),i("el-descriptions",{attrs:{column:1,size:"mini",border:""}},e._l(a,(function(t,a){return i("el-descriptions-item",{key:a,attrs:{label:t.name}},["bool"==t.dataType.type?i("div",[i("el-switch",{staticStyle:{"min-width":"100px"},attrs:{"active-text":"","inactive-text":"","active-value":"1","inactive-value":"0",disabled:e.shadowUnEnable||1==t.isReadonly},on:{change:function(i){return e.mqttPublish(e.deviceInfo,t)}},model:{value:t.shadow,callback:function(i){e.$set(t,"shadow",i)},expression:"param.shadow"}})],1):e._e(),"enum"==t.dataType.type?i("div",[i("el-select",{attrs:{placeholder:"请选择",disabled:e.shadowUnEnable||1==t.isReadonly},on:{change:function(i){return e.mqttPublish(e.deviceInfo,t)}},model:{value:t.shadow,callback:function(i){e.$set(t,"shadow",i)},expression:"param.shadow"}},e._l(t.dataType.enumList,(function(e){return i("el-option",{key:e.value,attrs:{label:e.text,value:e.value}})})),1)],1):e._e(),"string"==t.dataType.type?i("div",[i("el-input",{attrs:{placeholder:"请输入字符串",disabled:e.shadowUnEnable||1==t.isReadonly},model:{value:t.shadow,callback:function(i){e.$set(t,"shadow",i)},expression:"param.shadow"}},[e.shadowUnEnable||0!=t.isReadonly?e._e():i("el-button",{staticStyle:{"font-size":"20px"},attrs:{slot:"append",icon:"el-icon-s-promotion",title:"指令发送"},on:{click:function(i){return e.mqttPublish(e.deviceInfo,t)}},slot:"append"})],1)],1):e._e(),"decimal"==t.dataType.type?i("div",[i("el-input",{attrs:{type:"number",placeholder:"请输入小数 ",disabled:e.shadowUnEnable||1==t.isReadonly},model:{value:t.shadow,callback:function(i){e.$set(t,"shadow",i)},expression:"param.shadow"}},[e.shadowUnEnable||0!=t.isReadonly?e._e():i("el-button",{staticStyle:{"font-size":"20px"},attrs:{slot:"append",icon:"el-icon-s-promotion",title:"指令发送"},on:{click:function(i){return e.mqttPublish(e.deviceInfo,t)}},slot:"append"})],1)],1):e._e(),"integer"==t.dataType.type?i("div",[i("el-input",{attrs:{type:"integer",placeholder:"请输入整数 ",disabled:e.shadowUnEnable||1==t.isReadonly},model:{value:t.shadow,callback:function(i){e.$set(t,"shadow",i)},expression:"param.shadow"}},[e.shadowUnEnable||0!=t.isReadonly?e._e():i("el-button",{staticStyle:{"font-size":"20px"},attrs:{slot:"append",icon:"el-icon-s-promotion",title:"指令发送"},on:{click:function(i){return e.mqttPublish(e.deviceInfo,t)}},slot:"append"})],1)],1):e._e()])})),1)],2)})),1):e._e()],1):e._e()],2)}))],2),1==e.deviceInfo.isShadow&&3!=e.deviceInfo.status?i("el-descriptions",{attrs:{column:1,border:"",size:"mini"}},[i("template",{slot:"title"},[i("span",{staticStyle:{"font-size":"14px",color:"#606266"}},[e._v("设备离线时状态")])]),e._l(e.deviceInfo.thingsModels,(function(t,a){return i("el-descriptions-item",{key:a},[i("template",{slot:"label"},[i("i",{staticClass:"el-icon-open"}),e._v(" "+e._s(t.name)+" ")]),"bool"==t.dataType.type?i("div",[i("el-switch",{staticStyle:{"min-width":"100px"},attrs:{"active-text":"","inactive-text":"","active-value":"1","inactive-value":"0",disabled:""},on:{change:function(i){return e.mqttPublish(e.deviceInfo,t)}},model:{value:t.value,callback:function(i){e.$set(t,"value",i)},expression:"item.value"}})],1):e._e(),"enum"==t.dataType.type?i("div",[i("el-select",{attrs:{placeholder:"请选择",disabled:"",size:"mini"},on:{change:function(i){return e.mqttPublish(e.deviceInfo,t)}},model:{value:t.value,callback:function(i){e.$set(t,"value",i)},expression:"item.value"}},e._l(t.dataType.enumList,(function(e){return i("el-option",{key:e.value,attrs:{label:e.text,value:e.value}})})),1)],1):e._e(),"string"==t.dataType.type?i("div",[i("el-input",{attrs:{placeholder:"请输入字符串",disabled:"",size:"mini"},model:{value:t.value,callback:function(i){e.$set(t,"value",i)},expression:"item.value"}})],1):e._e(),"decimal"==t.dataType.type?i("div",[i("el-input",{attrs:{type:"number",placeholder:"请输入小数 ",disabled:"",size:"mini"},model:{value:t.value,callback:function(i){e.$set(t,"value",i)},expression:"item.value"}})],1):e._e(),"integer"==t.dataType.type?i("div",[i("el-input",{attrs:{type:"integer",placeholder:"请输入整数 ",disabled:"",size:"mini"},model:{value:t.value,callback:function(i){e.$set(t,"value",i)},expression:"item.value"}})],1):e._e(),"object"==t.dataType.type?i("div",[i("el-descriptions",{attrs:{column:1,size:"mini",border:""}},e._l(t.dataType.params,(function(t,a){return i("el-descriptions-item",{key:a,attrs:{label:t.name}},["bool"==t.dataType.type?i("div",[i("el-switch",{staticStyle:{"min-width":"100px"},attrs:{size:"mini","active-text":"","inactive-text":"","active-value":"1","inactive-value":"0",disabled:""},on:{change:function(i){return e.mqttPublish(e.deviceInfo,t)}},model:{value:t.value,callback:function(i){e.$set(t,"value",i)},expression:"param.value"}})],1):e._e(),"enum"==t.dataType.type?i("div",[i("el-select",{attrs:{placeholder:"请选择",disabled:"",size:"mini"},on:{change:function(i){return e.mqttPublish(e.deviceInfo,t)}},model:{value:t.value,callback:function(i){e.$set(t,"value",i)},expression:"param.value"}},e._l(t.dataType.enumList,(function(e){return i("el-option",{key:e.value,attrs:{label:e.text,value:e.value}})})),1)],1):e._e(),"string"==t.dataType.type?i("div",[i("el-input",{attrs:{placeholder:"请输入字符串",disabled:"",size:"mini"},model:{value:t.value,callback:function(i){e.$set(t,"value",i)},expression:"param.value"}})],1):e._e(),"decimal"==t.dataType.type?i("div",[i("el-input",{attrs:{type:"number",placeholder:"请输入小数 ",disabled:"",size:"mini"},model:{value:t.value,callback:function(i){e.$set(t,"value",i)},expression:"param.value"}})],1):e._e(),"integer"==t.dataType.type?i("div",[i("el-input",{attrs:{type:"integer",placeholder:"请输入整数 ",disabled:"",size:"mini"},model:{value:t.value,callback:function(i){e.$set(t,"value",i)},expression:"param.value"}})],1):e._e()])})),1)],1):e._e(),"array"==t.dataType.type?i("div",["object"!=t.dataType.arrayType?i("el-descriptions",{attrs:{column:1,size:"mini",border:""}},e._l(t.dataType.arrayModel,(function(a,n){return i("el-descriptions-item",{key:n,attrs:{label:t.name+(n+1)}},["string"==t.dataType.arrayType?i("div",[i("el-input",{attrs:{placeholder:"请输入字符串",size:"mini",disabled:""},model:{value:a.value,callback:function(t){e.$set(a,"value",t)},expression:"model.value"}})],1):e._e(),"decimal"==t.dataType.arrayType?i("div",[i("el-input",{attrs:{type:"number",placeholder:"请输入小数 ",size:"mini",disabled:""},model:{value:a.value,callback:function(t){e.$set(a,"value",t)},expression:"model.value"}})],1):e._e(),"integer"==t.dataType.arrayType?i("div",[i("el-input",{attrs:{type:"integer",placeholder:"请输入整数 ",size:"mini",disabled:""},model:{value:a.value,callback:function(t){e.$set(a,"value",t)},expression:"model.value"}})],1):e._e()])})),1):e._e(),"object"==t.dataType.arrayType?i("el-collapse",e._l(t.dataType.arrayParams,(function(a,n){return i("el-collapse-item",{key:n},[i("template",{slot:"title"},[i("span",{staticStyle:{color:"#666"}},[i("i",{staticClass:"el-icon-tickets"}),e._v(" "+e._s(t.name+(n+1)))])]),i("el-descriptions",{attrs:{column:1,size:"mini",border:""}},e._l(a,(function(t,a){return i("el-descriptions-item",{key:a,attrs:{label:t.name}},["bool"==t.dataType.type?i("div",[i("el-switch",{staticStyle:{"min-width":"100px"},attrs:{"active-text":"","inactive-text":"","active-value":"1","inactive-value":"0",disabled:""},on:{change:function(i){return e.mqttPublish(e.deviceInfo,t)}},model:{value:t.value,callback:function(i){e.$set(t,"value",i)},expression:"param.value"}})],1):e._e(),"enum"==t.dataType.type?i("div",[i("el-select",{attrs:{placeholder:"请选择",disabled:"",size:"mini"},on:{change:function(i){return e.mqttPublish(e.deviceInfo,t)}},model:{value:t.value,callback:function(i){e.$set(t,"value",i)},expression:"param.value"}},e._l(t.dataType.enumList,(function(e){return i("el-option",{key:e.value,attrs:{label:e.text,value:e.value}})})),1)],1):e._e(),"string"==t.dataType.type?i("div",[i("el-input",{attrs:{placeholder:"请输入字符串",disabled:"",size:"mini"},model:{value:t.value,callback:function(i){e.$set(t,"value",i)},expression:"param.value"}})],1):e._e(),"decimal"==t.dataType.type?i("div",[i("el-input",{attrs:{type:"number",placeholder:"请输入小数 ",disabled:"",size:"mini"},model:{value:t.value,callback:function(i){e.$set(t,"value",i)},expression:"param.value"}})],1):e._e(),"integer"==t.dataType.type?i("div",[i("el-input",{attrs:{type:"integer",placeholder:"请输入整数 ",disabled:"",size:"mini"},model:{value:t.value,callback:function(i){e.$set(t,"value",i)},expression:"param.value"}})],1):e._e()])})),1)],2)})),1):e._e()],1):e._e()],2)}))],2):e._e()],1),e.deviceInfo.monitorList.length>0?i("el-col",{attrs:{xs:24,sm:24,md:24,lg:10,xl:14}},[i("el-row",{staticStyle:{"background-color":"#F5F7FA",padding:"20px 10px 20px 10px","border-radius":"15px","margin-right":"5px"},attrs:{gutter:20}},e._l(e.deviceInfo.monitorList,(function(e,t){return i("el-col",{key:t,attrs:{xs:24,sm:12,md:12,lg:24,xl:8}},[i("el-card",{staticStyle:{"border-radius":"30px","margin-bottom":"20px"},attrs:{shadow:"hover"}},[i("div",{ref:"map",refInFor:!0,staticStyle:{height:"230px",width:"185px",margin:"0 auto"}})])],1)})),1)],1):e._e()],1),i("el-dialog",{attrs:{title:"设备固件升级",visible:e.openFirmware,width:"600px","append-to-body":""},on:{"update:visible":function(t){e.openFirmware=t}}},[null==e.firmware||e.deviceInfo.firmwareVersion>=e.firmware.version?i("div",{staticStyle:{"text-align":"center","font-size":"16px"}},[i("i",{staticClass:"el-icon-success",staticStyle:{color:"#67C23A"}}),e._v(" 已经是最新版本,不需要升级")]):e._e(),null!=e.firmware&&e.deviceInfo.firmwareVersion<e.firmware.version?i("el-descriptions",{attrs:{column:1,border:"",size:"large",labelStyle:{width:"100px","font-weight":"bold"}}},[i("template",{slot:"title"},[i("el-link",{attrs:{icon:"el-icon-success",type:"success",underline:!1}},[e._v(" 可以升级到以下版本")])],1),i("el-descriptions-item",{attrs:{label:"固件名称"}},[e._v(e._s(e.firmware.firmwareName))]),i("el-descriptions-item",{attrs:{label:"所属产品"}},[e._v(e._s(e.firmware.productName))]),i("el-descriptions-item",{attrs:{label:"固件版本"}},[e._v("Version "+e._s(e.firmware.version))]),i("el-descriptions-item",{attrs:{label:"下载地址"}},[i("el-link",{attrs:{href:e.getDownloadUrl(e.firmware.filePath),underline:!1,type:"primary"}},[e._v(e._s(e.getDownloadUrl(e.firmware.filePath)))])],1),i("el-descriptions-item",{attrs:{label:"固件描述"}},[e._v(e._s(e.firmware.remark))])],2):e._e(),i("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[null!=e.firmware&&e.deviceInfo.firmwareVersion<e.firmware.version?i("el-button",{attrs:{type:"success"},on:{click:e.otaUpgrade}},[e._v("升 级")]):e._e(),i("el-button",{on:{click:e.cancel}},[e._v("取 消")])],1)],1)],1)},n=[],o=(i("d3b7"),i("25f0"),i("b0c0"),i("d81d"),i("814a")),r={name:"running-status",components:{},props:{device:{type:Object,default:null}},watch:{device:function(e,t){e&&0!=e.deviceId&&(this.deviceInfo=e,this.updateDeviceStatus(this.deviceInfo),this.$nextTick((function(){this.MonitorChart()})),this.mqttCallback())}},data:function(){return{title:"设备控制 ",shadowUnEnable:!1,statusColor:{background:"#67C23A",color:"#fff"},firmware:{},openFirmware:!1,loading:!0,deviceInfo:{boolList:[],enumList:[],stringList:[],integerList:[],decimalList:[],arrayList:[],thingsModels:[],monitorList:[]},monitorChart:[{chart:{},data:{id:"",name:"",value:""}}]}},created:function(){},methods:{mqttCallback:function(){var e=this;this.$mqttTool.client.on("message",(function(t,i,a){var n=t.split("/"),o=(n[1],n[2]);if(i=JSON.parse(i.toString()),i&&("status"==n[3]&&(console.log("接收到【设备状态-运行】主题:",t),console.log("接收到【设备状态-运行】内容:",i),e.deviceInfo.serialNumber==o&&(e.deviceInfo.status=i.status,e.deviceInfo.isShadow=i.isShadow,e.deviceInfo.rssi=i.rssi,e.updateDeviceStatus(e.deviceInfo))),("property"==n[3]||"function"==n[3])&&(console.log("接收到【物模型】主题:",t),console.log("接收到【物模型】内容:",i),e.deviceInfo.serialNumber==o)))for(var r=0;r<i.length;r++){for(var s=!1,l=0;l<e.deviceInfo.thingsModels.length&&!s;l++){if(e.deviceInfo.thingsModels[l].id==i[r].id){e.deviceInfo.thingsModels[l].shadow=i[r].value,s=!0;break}if("object"==e.deviceInfo.thingsModels[l].dataType.type){for(var c=0;c<e.deviceInfo.thingsModels[l].dataType.params.length;c++)if(e.deviceInfo.thingsModels[l].dataType.params[c].id==i[r].id){e.deviceInfo.thingsModels[l].dataType.params[c].shadow=i[r].value,s=!0;break}}else if("array"==e.deviceInfo.thingsModels[l].dataType.type)if("object"==e.deviceInfo.thingsModels[l].dataType.arrayType)if(0==String(i[r].id).indexOf("array_"))for(var d=0;d<e.deviceInfo.thingsModels[l].dataType.arrayParams.length;d++){for(var u=0;u<e.deviceInfo.thingsModels[l].dataType.arrayParams[d].length;u++)if(e.deviceInfo.thingsModels[l].dataType.arrayParams[d][u].id==i[r].id){e.deviceInfo.thingsModels[l].dataType.arrayParams[d][u].shadow=i[r].value,s=!0;break}if(s)break}else for(var p=0;p<e.deviceInfo.thingsModels[l].dataType.arrayParams.length;p++){for(var m=0;m<e.deviceInfo.thingsModels[l].dataType.arrayParams[p].length;m++){var h=p>9?String(p):"0"+l,f="array_"+h+"_";e.deviceInfo.thingsModels[l].dataType.arrayParams[p][m].id==f+i[r].id&&(e.deviceInfo.thingsModels[l].dataType.arrayParams[p][m].shadow=i[r].value,s=!0)}if(s)break}else for(var v=0;v<e.deviceInfo.thingsModels[l].dataType.arrayModel.length;v++)if(e.deviceInfo.thingsModels[l].dataType.arrayModel[v].id==i[r].id){e.deviceInfo.thingsModels[l].dataType.arrayModel[v].shadow=i[r].value,s=!0;break}}for(var g=0;g<e.deviceInfo.monitorList.length;g++){if(0==e.deviceInfo.monitorList[g].id.indexOf("array_")){if(e.deviceInfo.monitorList[g].id==i[r].id){e.deviceInfo.monitorList[g].shadow=i[r].value;for(var y=0;y<e.monitorChart.length;y++)if(i[r].id==e.monitorChart[y].data.id){var b=[{value:i[r].value,name:e.monitorChart[y].data.name}];e.monitorChart[y].chart.setOption({series:[{data:b}]});break}}}else if(e.deviceInfo.monitorList[g].id==i[r].id){e.deviceInfo.monitorList[g].shadow=i[r].value;for(var w=0;w<e.monitorChart.length;w++)if(i[r].id==e.monitorChart[w].data.id){s=!0;var x=[{value:i[r].value,name:e.monitorChart[w].data.name}];e.monitorChart[w].chart.setOption({series:[{data:x}]});break}}if(s)break}}}))},mqttPublish:function(e,t){var i=this,a="",n="";if(1==t.type)3==e.status?a="/"+e.productId+"/"+e.serialNumber+"/property-online/get":e.isShadow&&(a="/"+e.productId+"/"+e.serialNumber+"/property-offline/post"),n='[{"id":"'+t.id+'","value":"'+t.shadow+'"}]';else if(2==t.type)3==e.status?a="/"+e.productId+"/"+e.serialNumber+"/function-online/get":e.isShadow&&(a="/"+e.productId+"/"+e.serialNumber+"/function-offline/post"),n='[{"id":"'+t.id+'","value":"'+t.shadow+'"}]';else{if(3!=t.type)return;a="/"+e.productId+"/"+e.serialNumber+"/ota/get",n='{"version":'+this.firmware.version+',"downloadUrl":"'+this.getDownloadUrl(this.firmware.filePath)+'"}'}""!=a&&this.$mqttTool.publish(a,n,t.name).then((function(e){i.$modal.notifySuccess(e)})).catch((function(e){i.$modal.notifyError(e)}))},updateDeviceStatus:function(e){3==e.status?(this.statusColor.background="#12d09f",this.title="在线模式"):1==e.isShadow?(this.statusColor.background="#409EFF",this.title="影子模式"):(this.statusColor.background="#909399",this.title="离线模式",this.shadowUnEnable=!0),this.$emit("statusEvent",this.deviceInfo.status)},arrayItemChange:function(e,t){for(var i="",a=0;a<t.dataType.arrayCount;a++)i+=t.dataType.arrayModel[a].shadow+",";i=i.substring(0,i.length-1),t.shadow=i},arrayInputChange:function(e,t){var i=e.split(",");if(i.length!=t.dataType.arrayCount)this.$modal.alertWarning("元素个数不匹配,数组元素个数为"+t.dataType.arrayCount+"个,以英文逗号分隔。");else for(var a=0;a<t.dataType.arrayCount;a++)t.dataType.arrayModel[a].shadow=i[a]},otaUpgrade:function(){var e={name:"设备升级",type:3};this.mqttPublish(this.deviceInfo,e),this.openFirmware=!1},getLatestFirmware:function(e){var t=this;Object(o["d"])(e).then((function(e){t.firmware=e.data,t.openFirmware=!0}))},cancel:function(){this.openFirmware=!1},getDownloadUrl:function(e){return window.location.origin+"/prod-api"+e},MonitorChart:function(){for(var e=0;e<this.deviceInfo.monitorList.length;e++){var t;this.monitorChart[e]={chart:this.$echarts.init(this.$refs.map[e]),data:{id:this.deviceInfo.monitorList[e].id,name:this.deviceInfo.monitorList[e].name,value:this.deviceInfo.monitorList[e].shadow?this.deviceInfo.monitorList[e].shadow:this.deviceInfo.monitorList[e].dataType.min}},t={tooltip:{formatter:" {b} <br/> {c}"+this.deviceInfo.monitorList[e].dataType.unit},series:[{name:this.deviceInfo.monitorList[e].dataType.type,type:"gauge",min:this.deviceInfo.monitorList[e].dataType.min,max:this.deviceInfo.monitorList[e].dataType.max,colorBy:"data",splitNumber:10,radius:"100%",splitLine:{distance:4},axisLabel:{fontSize:10,distance:10},axisTick:{distance:4},axisLine:{lineStyle:{width:8,color:[[.2,"#409EFF"],[.8,"#12d09f"],[1,"#F56C6C"]],opacity:.3}},pointer:{icon:"triangle",length:"60%",width:7},progress:{show:!0,width:8},detail:{valueAnimation:!0,formatter:"{value} "+this.deviceInfo.monitorList[e].dataType.unit,offsetCenter:[0,"80%"],fontSize:20},data:[{value:this.deviceInfo.monitorList[e].shadow?this.deviceInfo.monitorList[e].shadow:this.deviceInfo.monitorList[e].dataType.min,name:this.deviceInfo.monitorList[e].name}],title:{offsetCenter:[0,"115%"],fontSize:16}}]},t&&this.monitorChart[e].chart.setOption(t)}}}},s=r,l=i("2877"),c=Object(l["a"])(s,a,n,!1,null,null,null);t["default"]=c.exports},"65ec":function(e,t,i){},"67dd":function(e,t,i){"use strict";i.r(t);var a=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticStyle:{"padding-left":"20px"}},[i("el-row",{staticClass:"mb8",attrs:{gutter:10}},[i("el-col",{attrs:{span:1.5}},[i("el-button",{attrs:{type:"warning",plain:"",icon:"el-icon-refresh",size:"mini"},on:{click:e.getList}},[e._v("刷新")])],1)],1),i("el-table",{directives:[{name:"loading",rawName:"v-loading",value:e.loading,expression:"loading"}],attrs:{data:e.channelList,size:"mini"}},[i("el-table-column",{attrs:{label:"设备ID",align:"center",prop:"deviceSipId"}}),i("el-table-column",{attrs:{label:"通道ID",align:"center",prop:"channelSipId"}}),i("el-table-column",{attrs:{label:"通道名称",align:"center",prop:"channelName"}}),i("el-table-column",{attrs:{label:"产品型号",align:"center",prop:"model"}}),i("el-table-column",{attrs:{label:"状态",align:"center",prop:"status",width:"80"},scopedSlots:e._u([{key:"default",fn:function(t){return[i("dict-tag",{attrs:{options:e.dict.type.sip_gen_status,value:t.row.status,size:"mini"}})]}}])}),i("el-table-column",{attrs:{label:"操作",align:"center",width:"120","class-name":"small-padding fixed-width"},scopedSlots:e._u([{key:"default",fn:function(t){return[i("el-button",{staticStyle:{padding:"5px"},attrs:{size:"small",type:"success",icon:"el-icon-video-play",disabled:2!=t.row.status},on:{click:function(i){return e.sendDevicePush(t.row)}}},[e._v(" 查看直播")])]}}])})],1),i("pagination",{directives:[{name:"show",rawName:"v-show",value:e.total>0,expression:"total > 0"}],attrs:{total:e.total,page:e.queryParams.pageNum,limit:e.queryParams.pageSize},on:{"update:page":function(t){return e.$set(e.queryParams,"pageNum",t)},"update:limit":function(t){return e.$set(e.queryParams,"pageSize",t)},pagination:e.getList}}),i("devicePlayer",{ref:"devicePlayer"})],1)},n=[],o=i("e2de"),r=i("3abb"),s={name:"Channel",dicts:["sip_gen_status","video_type","channel_type"],components:{devicePlayer:r["default"]},props:{device:{type:Object,default:null}},watch:{device:function(e,t){this.deviceInfo=e,this.deviceInfo&&0!=this.deviceInfo.deviceId&&(this.queryParams.deviceSipId=this.deviceInfo.serialNumber,this.getList())}},data:function(){return{deviceInfo:{},loading:!0,ids:[],single:!0,multiple:!0,showSearch:!0,total:0,channelList:[],title:"",open:!1,queryParams:{pageNum:1,pageSize:10,deviceSipId:null},form:{},rules:{channelSipId:[{required:!0,message:"通道SipID不能为空",trigger:"blur"}],channelName:[{required:!0,message:"通道名称不能为空",trigger:"blur"}],manufacture:[{required:!0,message:"厂商名称不能为空",trigger:"blur"}],model:[{required:!0,message:"产品型号不能为空",trigger:"blur"}],owner:[{required:!0,message:"设备归属不能为空",trigger:"blur"}],civilcode:[{required:!0,message:"行政区域不能为空",trigger:"blur"}],block:[{required:!0,message:"警区不能为空",trigger:"blur"}],address:[{required:!0,message:"安装地址不能为空",trigger:"blur"}],parentid:[{required:!0,message:"父级id不能为空",trigger:"blur"}],password:[{required:!0,message:"密码不能为空",trigger:"blur"}],ptztype:[{required:!0,message:"PTZ类型不能为空",trigger:"change"}],ptztypetext:[{required:!0,message:"PTZ类型描述字符串不能为空",trigger:"blur"}],status:[{required:!0,message:"设备状态不能为空",trigger:"blur"}],streamid:[{required:!0,message:"流媒体ID不能为空",trigger:"blur"}],subcount:[{required:!0,message:"子设备数不能为空",trigger:"blur"}]}}},created:function(){this.queryParams.deviceSipId=this.device.serialNumber,this.getList()},methods:{sendDevicePush:function(e){var t=e.deviceSipId;this.isLoging=!0;var i=e.channelSipId;console.log("通知设备推流1:"+t+" : "+i);var a=this;Object(o["l"])(t,i).then((function(n){console.log("开始播放:"+t+" : "+i),console.log("流媒体信息:"+n.data);var o=n.data;console.log("playurl:"+o.playurl),a.$refs.devicePlayer.openDialog("media",t,i,{streamInfo:o,hasAudio:e.hasaudio})}))},stopDevicePush:function(e){Object(o["m"])(e.streamid).then((function(t){console.log("停止推流:"+e.streamId)}))},getList:function(){var e=this;this.loading=!0,Object(o["e"])(this.queryParams).then((function(t){e.channelList=t.rows,e.total=t.total,e.loading=!1}))},cancel:function(){this.open=!1,this.reset()},reset:function(){this.form={channelId:null,channelSipId:null,deviceSipId:null,channelName:null,manufacture:null,model:null,owner:null,civilcode:null,block:null,address:null,parentid:null,ipaddress:null,port:null,password:null,ptztype:null,ptztypetext:null,status:0,longitude:null,latitude:null,streamid:null,subcount:null,parental:1,hasaudio:1},this.resetForm("form")},handleQuery:function(){this.queryParams.pageNum=1,this.getList()},handleUpdate:function(e){var t=this;this.reset();var i=e.channelId||this.ids;Object(o["c"])(i).then((function(e){t.form=e.data,t.open=!0,t.title="修改监控设备通道信息"}))},handleDelete:function(e){var t=this,i=e.channelId||this.ids;this.$modal.confirm('是否确认删除监控设备通道信息编号为"'+i+'"的数据项?').then((function(){return Object(o["b"])(i)})).then((function(){t.getList(),t.$modal.msgSuccess("删除成功")})).catch((function(){}))}}},l=s,c=i("2877"),d=Object(c["a"])(l,a,n,!1,null,null,null);t["default"]=d.exports},6827:function(e,t,i){"use strict";i.d(t,"a",(function(){return n}));var a=i("b775");function n(e,t,i){return Object(a["a"])({url:"/sip/record/devquery/"+e+"/"+t,method:"get",params:i})}},7168:function(e,t,i){"use strict";i.r(t);var a=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticStyle:{"padding-left":"20px"}},[i("el-form",{directives:[{name:"show",rawName:"v-show",value:e.showSearch,expression:"showSearch"}],ref:"queryForm",attrs:{model:e.queryParams,inline:!0,"label-width":"68px"}},[i("el-form-item",{attrs:{label:"日志类型",prop:"logType"}},[i("el-select",{attrs:{placeholder:"请选择类型",clearable:"",size:"small"},model:{value:e.queryParams.logType,callback:function(t){e.$set(e.queryParams,"logType",t)},expression:"queryParams.logType"}},e._l(e.dict.type.iot_device_log_type,(function(e){return i("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})})),1)],1),i("el-form-item",{attrs:{label:"标识符",prop:"identity"}},[i("el-input",{attrs:{placeholder:"请输入标识符",clearable:"",size:"small"},nativeOn:{keyup:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.handleQuery(t)}},model:{value:e.queryParams.identity,callback:function(t){e.$set(e.queryParams,"identity",t)},expression:"queryParams.identity"}})],1),i("el-form-item",[i("el-button",{attrs:{type:"primary",icon:"el-icon-search",size:"mini"},on:{click:e.handleQuery}},[e._v("搜索")]),i("el-button",{attrs:{icon:"el-icon-refresh",size:"mini"},on:{click:e.resetQuery}},[e._v("重置")])],1)],1),i("el-table",{directives:[{name:"loading",rawName:"v-loading",value:e.loading,expression:"loading"}],attrs:{data:e.deviceLogList,size:"mini"}},[i("el-table-column",{attrs:{label:"类型",align:"center",prop:"logType",width:"120"},scopedSlots:e._u([{key:"default",fn:function(t){return[i("dict-tag",{attrs:{options:e.dict.type.iot_device_log_type,value:t.row.logType}})]}}])}),i("el-table-column",{attrs:{label:"模式",align:"center",prop:"logType",width:"120"},scopedSlots:e._u([{key:"default",fn:function(t){return[1==t.row.mode?i("el-tag",{attrs:{type:"primary"}},[e._v("影子模式")]):2==t.row.mode?i("el-tag",{attrs:{type:"success"}},[e._v("在线模式")]):i("el-tag",{attrs:{type:"info"}},[e._v("其他信息")])]}}])}),i("el-table-column",{attrs:{label:"时间",align:"center",prop:"createTime",width:"150"},scopedSlots:e._u([{key:"default",fn:function(t){return[i("span",[e._v(e._s(t.row.createTime))])]}}])}),i("el-table-column",{attrs:{label:"标识符",align:"center",prop:"identity"}}),i("el-table-column",{attrs:{label:"动作",align:"left","header-align":"center",prop:"logValue"},scopedSlots:e._u([{key:"default",fn:function(t){return[i("div",{domProps:{innerHTML:e._s(e.formatValueDisplay(t.row))}})]}}])}),i("el-table-column",{attrs:{label:"备注","header-align":"center",align:"left",prop:"remark"},scopedSlots:e._u([{key:"default",fn:function(t){return[e._v(" "+e._s(null==t.row.remark?"无":t.row.remark)+" ")]}}])})],1),i("div",{staticStyle:{height:"40px"}},[i("pagination",{directives:[{name:"show",rawName:"v-show",value:e.total>0,expression:"total>0"}],attrs:{total:e.total,page:e.queryParams.pageNum,limit:e.queryParams.pageSize},on:{"update:page":function(t){return e.$set(e.queryParams,"pageNum",t)},"update:limit":function(t){return e.$set(e.queryParams,"pageSize",t)},pagination:e.getList}})],1)],1)},n=[],o=i("5530"),r=(i("b0c0"),i("a9e3"),i("a035")),s={name:"DeviceLog",dicts:["iot_device_log_type","iot_yes_no"],props:{device:{type:Object,default:null}},watch:{device:function(e,t){this.deviceInfo=e,this.deviceInfo&&0!=this.deviceInfo.deviceId&&(this.queryParams.serialNumber=this.deviceInfo.serialNumber,this.getList(),this.thingsModel=this.deviceInfo.cacheThingsModel)}},data:function(){return{thingsModel:{},loading:!0,showSearch:!0,total:0,deviceLogList:[],queryParams:{pageNum:1,pageSize:10,logType:null,logValue:null,deviceId:null,serialNumber:null,deviceName:null,identity:null,isMonitor:null}}},created:function(){},methods:{getList:function(){var e=this;this.loading=!0,Object(r["a"])(this.queryParams).then((function(t){e.deviceLogList=t.rows,e.total=t.total,e.loading=!1}))},handleQuery:function(){this.queryParams.pageNum=1,this.getList()},resetQuery:function(){this.resetForm("queryForm"),this.handleQuery()},handleExport:function(){this.download("iot/deviceLog/export",Object(o["a"])({},this.queryParams),"deviceLog_".concat((new Date).getTime(),".xlsx"))},formatValueDisplay:function(e){if(1==e.logType){var t=this.getThingsModelItem(1,e.identity);if(""!=t)return(t.parentName?"["+t.parentName+(t.arrayIndex?t.arrayIndex:"")+"] ":"")+t.name+': <span style="color:#409EFF;">'+this.getThingsModelItemValue(t,e.logValue)+" "+(void 0!=t.datatype.unit?t.datatype.unit:"")+"</span>"}else if(2==e.logType){var i=this.getThingsModelItem(2,e.identity);if(""!=i)return(i.parentName?"["+i.parentName+(i.arrayIndex?i.arrayIndex:"")+"] ":"")+i.name+': <span style="color:#409EFF">'+this.getThingsModelItemValue(i,e.logValue)+" "+(void 0!=i.datatype.unit?i.datatype.unit:"")+"</span>"}else if(3==e.logType){var a=this.getThingsModelItem(3,e.identity);if(""!=a)return(a.parentName?"["+a.parentName+(a.arrayIndex?a.arrayIndex:"")+"] ":"")+a.name+': <span style="color:#409EFF">'+this.getThingsModelItemValue(a,e.logValue)+" "+(void 0!=a.datatype.unit?a.datatype.unit:"")+"</span>"}else{if(4==e.logType)return'<span style="font-weight:bold">设备升级</span>';if(5==e.logType)return'<span style="font-weight:bold">设备上线</span>';if(6==e.logType)return'<span style="font-weight:bold">设备离线</span>'}return""},getThingsModelItemValue:function(e,t){if("bool"==e.datatype.type){if("0"==t)return e.datatype.falseText;if("1"==t)return e.datatype.trueText}else if("enum"==e.datatype.type)for(var i=0;i<e.datatype.enumList.length;i++)if(t==e.datatype.enumList[i].value)return e.datatype.enumList[i].text;return t},getThingsModelItem:function(e,t){if(1==e&&this.thingsModel.properties)for(var i=0;i<this.thingsModel.properties.length;i++){if(this.thingsModel.properties[i].id==t)return this.thingsModel.properties[i];if("object"==this.thingsModel.properties[i].datatype.type)for(var a=0;a<this.thingsModel.properties[i].datatype.params.length;a++)if(this.thingsModel.properties[i].datatype.params[a].id==t)return this.thingsModel.properties[i].datatype.params[a].parentName=this.thingsModel.properties[i].name,this.thingsModel.properties[i].datatype.params[a];if("array"==this.thingsModel.properties[i].datatype.type&&this.thingsModel.properties[i].datatype.arrayType)if("object"==this.thingsModel.properties[i].datatype.arrayType){var n=t,o=0;t.indexOf("array_")>-1&&(o=t.substring(6,8),n=t.substring(9));for(var r=0;r<this.thingsModel.properties[i].datatype.params.length;r++)if(this.thingsModel.properties[i].datatype.params[r].id==n)return this.thingsModel.properties[i].datatype.params[r].arrayIndex=Number(o)+1,this.thingsModel.properties[i].datatype.params[r].parentName=this.thingsModel.properties[i].name,this.thingsModel.properties[i].datatype.params[r]}else for(var s=0;s<this.thingsModel.properties[i].datatype.arrayCount.length;s++)if(this.thingsModel.properties[i].id==realIdentity)return this.thingsModel.properties[i].arrayIndex=Number(arrayIndex)+1,this.thingsModel.properties[i].parentName="元素",this.thingsModel.properties[i]}else if(2==e&&this.thingsModel.functions)for(var l=0;l<this.thingsModel.functions.length;l++){if(this.thingsModel.functions[l].id==t)return this.thingsModel.functions[l];if("object"==this.thingsModel.functions[l].datatype.type)for(var c=0;c<this.thingsModel.functions[l].datatype.params.length;c++)if(this.thingsModel.functions[l].datatype.params[c].id==t)return this.thingsModel.functions[l].datatype.params[c].parentName=this.thingsModel.functions[l].name,this.thingsModel.functions[l].datatype.params[c];if("array"==this.thingsModel.functions[l].datatype.type&&this.thingsModel.functions[l].datatype.arrayType){var d=t,u=0;if(t.indexOf("array_")>-1&&(u=t.substring(6,8),d=t.substring(9)),"object"==this.thingsModel.functions[l].datatype.arrayType){for(var p=0;p<this.thingsModel.functions[l].datatype.params.length;p++)if(this.thingsModel.functions[l].datatype.params[p].id==d)return this.thingsModel.functions[l].datatype.params[p].arrayIndex=Number(u)+1,this.thingsModel.functions[l].datatype.params[p].parentName=this.thingsModel.functions[l].name,this.thingsModel.functions[l].datatype.params[p]}else for(var m=0;m<this.thingsModel.functions[l].datatype.arrayCount.length;m++)if(this.thingsModel.functions[l].id==d)return this.thingsModel.functions[l].arrayIndex=Number(u)+1,this.thingsModel.functions[l].parentName="元素",this.thingsModel.functions[l]}}else if(3==e&&this.thingsModel.events)for(var h=0;h<this.thingsModel.events.length;h++)if(this.thingsModel.events[h].id==t)return this.thingsModel.events[h];return""}}},l=s,c=i("2877"),d=Object(c["a"])(l,a,n,!1,null,null,null);t["default"]=d.exports},"7a72":function(e,t,i){"use strict";i.r(t);var a=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticStyle:{"padding-left":"20px"}},[i("el-form",{directives:[{name:"show",rawName:"v-show",value:e.showSearch,expression:"showSearch"}],ref:"queryForm",attrs:{model:e.queryParams,inline:!0,"label-width":"70px"}},[i("el-form-item",{attrs:{label:"定时名称",prop:"jobName"}},[i("el-input",{attrs:{placeholder:"请输入定时名称",clearable:"",size:"small"},nativeOn:{keyup:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.handleQuery(t)}},model:{value:e.queryParams.jobName,callback:function(t){e.$set(e.queryParams,"jobName",t)},expression:"queryParams.jobName"}})],1),i("el-form-item",{staticStyle:{"margin-left":"20px"},attrs:{label:"定时状态",prop:"status"}},[i("el-select",{attrs:{placeholder:"请选择定时状态",clearable:"",size:"small"},model:{value:e.queryParams.status,callback:function(t){e.$set(e.queryParams,"status",t)},expression:"queryParams.status"}},e._l(e.dict.type.sys_job_status,(function(e){return i("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})})),1)],1),i("el-form-item",[i("el-button",{attrs:{type:"primary",icon:"el-icon-search",size:"mini"},on:{click:e.handleQuery}},[e._v("搜索")]),i("el-button",{attrs:{icon:"el-icon-refresh",size:"mini"},on:{click:e.resetQuery}},[e._v("重置")])],1),i("el-form-item",{staticStyle:{float:"right"}},[i("el-button",{directives:[{name:"hasPermi",rawName:"v-hasPermi",value:["iot:device:timer"],expression:"['iot:device:timer']"}],attrs:{type:"primary",plain:"",icon:"el-icon-plus",size:"mini"},on:{click:e.handleAdd}},[e._v("新增")])],1)],1),i("el-table",{directives:[{name:"loading",rawName:"v-loading",value:e.loading,expression:"loading"}],attrs:{data:e.jobList,size:"mini"},on:{"selection-change":e.handleSelectionChange}},[i("el-table-column",{attrs:{type:"selection",width:"55",align:"center"}}),i("el-table-column",{attrs:{label:"名称",align:"center",prop:"jobName","show-overflow-tooltip":!0}}),i("el-table-column",{attrs:{label:"描述",align:"center",prop:"cronText"},scopedSlots:e._u([{key:"default",fn:function(t){return[i("div",{domProps:{innerHTML:e._s(e.formatCronDisplay(t.row))}})]}}])}),i("el-table-column",{attrs:{label:"CRON表达式",align:"center",prop:"cronExpression","show-overflow-tooltip":!0}}),i("el-table-column",{attrs:{label:"动作",align:"left",prop:"actions","show-overflow-tooltip":!0},scopedSlots:e._u([{key:"default",fn:function(t){return[i("div",{staticStyle:{overflow:"hidden","white-space":"nowrap"},domProps:{innerHTML:e._s(e.formatActionsDisplay(t.row.actions))}})]}}])}),i("el-table-column",{attrs:{label:"状态",align:"center"},scopedSlots:e._u([{key:"default",fn:function(t){return[i("el-switch",{attrs:{"active-value":"0","inactive-value":"1","active-text":"启用"},on:{change:function(i){return e.handleStatusChange(t.row)}},model:{value:t.row.status,callback:function(i){e.$set(t.row,"status",i)},expression:"scope.row.status"}})]}}])}),i("el-table-column",{attrs:{label:"操作",align:"center","class-name":"small-padding fixed-width"},scopedSlots:e._u([{key:"default",fn:function(t){return[i("el-button",{directives:[{name:"hasPermi",rawName:"v-hasPermi",value:["iot:device:timer"],expression:"['iot:device:timer']"}],attrs:{size:"mini",type:"text",icon:"el-icon-edit"},on:{click:function(i){return e.handleUpdate(t.row)}}},[e._v("修改")]),i("el-button",{directives:[{name:"hasPermi",rawName:"v-hasPermi",value:["iot:device:timer"],expression:"['iot:device:timer']"}],attrs:{size:"mini",type:"text",icon:"el-icon-caret-right"},on:{click:function(i){return e.handleView(t.row)}}},[e._v("定时详细")]),i("br"),i("el-button",{directives:[{name:"hasPermi",rawName:"v-hasPermi",value:["iot:device:timer"],expression:"['iot:device:timer']"}],attrs:{size:"mini",type:"text",icon:"el-icon-delete"},on:{click:function(i){return e.handleDelete(t.row)}}},[e._v("删除")]),i("el-button",{directives:[{name:"hasPermi",rawName:"v-hasPermi",value:["iot:device:timer"],expression:"['iot:device:timer']"}],attrs:{size:"mini",type:"text",icon:"el-icon-caret-right"},on:{click:function(i){return e.handleRun(t.row)}}},[e._v("执行一次")])]}}])})],1),i("pagination",{directives:[{name:"show",rawName:"v-show",value:e.total>0,expression:"total>0"}],attrs:{total:e.total,page:e.queryParams.pageNum,limit:e.queryParams.pageSize},on:{"update:page":function(t){return e.$set(e.queryParams,"pageNum",t)},"update:limit":function(t){return e.$set(e.queryParams,"pageSize",t)},pagination:e.getList}}),i("el-dialog",{attrs:{title:e.title,visible:e.open,width:"800px","append-to-body":""},on:{"update:visible":function(t){e.open=t}}},[i("el-form",{ref:"form",attrs:{model:e.form,rules:e.rules,"label-width":"120px"}},[i("el-form-item",{attrs:{label:"定时名称",prop:"jobName"}},[i("el-input",{staticStyle:{width:"340px"},attrs:{placeholder:"请输入定时名称"},model:{value:e.form.jobName,callback:function(t){e.$set(e.form,"jobName",t)},expression:"form.jobName"}})],1),i("el-form-item",{attrs:{label:"执行时间",prop:"timerTimeValue"}},[i("el-time-picker",{staticStyle:{width:"340px"},attrs:{"value-format":"HH:mm",format:"HH:mm",placeholder:"选择时间",disabled:1==e.form.isAdvance},on:{change:e.timeChange},model:{value:e.timerTimeValue,callback:function(t){e.timerTimeValue=t},expression:"timerTimeValue"}})],1),i("el-form-item",{attrs:{label:"选择星期",prop:"timerWeek"}},[i("el-row",[i("el-col",{attrs:{span:18}},[i("el-select",{staticStyle:{width:"100%"},attrs:{placeholder:"请选择",multiple:"",disabled:1==e.form.isAdvance},on:{change:e.weekChange},model:{value:e.timerWeekValue,callback:function(t){e.timerWeekValue=t},expression:"timerWeekValue"}},e._l(e.timerWeeks,(function(e){return i("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})})),1)],1)],1)],1),i("el-form-item",{attrs:{label:"cron表达式",prop:"cron"}},[i("el-row",[i("el-col",{attrs:{span:18}},[i("el-input",{attrs:{placeholder:"cron执行表达式",disabled:0==e.form.isAdvance},model:{value:e.form.cronExpression,callback:function(t){e.$set(e.form,"cronExpression",t)},expression:"form.cronExpression"}},[i("template",{slot:"append"},[i("el-button",{attrs:{type:"primary",disabled:0==e.form.isAdvance},on:{click:e.handleShowCron}},[e._v(" 生成表达式 "),i("i",{staticClass:"el-icon-time el-icon--right"})])],1)],2)],1),i("el-col",{attrs:{span:4,offset:1}},[i("el-checkbox",{attrs:{"true-label":1,"false-label":0},on:{change:e.customerCronChange},model:{value:e.form.isAdvance,callback:function(t){e.$set(e.form,"isAdvance",t)},expression:"form.isAdvance"}},[e._v("自定义表达式")])],1)],1)],1),i("el-form-item",{attrs:{label:"定时状态",prop:"status"}},[i("el-radio-group",{model:{value:e.form.status,callback:function(t){e.$set(e.form,"status",t)},expression:"form.status"}},e._l(e.dict.type.sys_job_status,(function(t){return i("el-radio",{key:t.value,attrs:{label:t.value}},[e._v(e._s(t.label))])})),1)],1),i("div",{staticStyle:{"padding-bottom":"15px",padding:"0 20px"}},[i("el-divider")],1),i("el-form-item",{attrs:{label:"执行动作",prop:"actions"}},[e._l(e.actionList,(function(t,a){return i("el-row",{key:a+"action",staticStyle:{"margin-bottom":"10px"}},[i("el-col",{attrs:{span:4}},[i("el-select",{attrs:{placeholder:"请选择类别"},on:{change:function(t){return e.actionTypeChange(t,a)}},model:{value:t.type,callback:function(i){e.$set(t,"type",i)},expression:"actionItem.type"}},e._l(e.modelTypes,(function(e,t){return i("el-option",{key:t+"type",attrs:{label:e.label,value:e.value}})})),1)],1),i("el-col",{attrs:{span:4,offset:1}},[1==t.type?i("el-select",{attrs:{placeholder:"请选择"},on:{change:function(t){return e.thingsModelItemChange(t,a)}},model:{value:t.id,callback:function(i){e.$set(t,"id",i)},expression:"actionItem.id"}},e._l(e.thingsModel.properties,(function(e,t){return i("el-option",{key:t+"property",attrs:{label:e.name,value:e.id}})})),1):2==t.type?i("el-select",{attrs:{placeholder:"请选择"},on:{change:function(t){return e.thingsModelItemChange(t,a)}},model:{value:t.id,callback:function(i){e.$set(t,"id",i)},expression:"actionItem.id"}},e._l(e.thingsModel.functions,(function(e,t){return i("el-option",{key:t+"func",attrs:{label:e.name,value:e.id}})})),1):3==t.type?i("el-select",{attrs:{placeholder:"请选择"},on:{change:function(t){return e.thingsModelItemChange(t,a)}},model:{value:e.form.id,callback:function(t){e.$set(e.form,"id",t)},expression:"form.id"}},e._l(e.thingsModel.functions,(function(e,t){return i("el-option",{key:t+"func",attrs:{label:e.name,value:e.id}})})),1):e._e()],1),i("el-col",{attrs:{span:10,offset:1}},[!t.thingsModelItem||"integer"!=t.thingsModelItem.datatype.type&&"decimal"!=t.thingsModelItem.datatype.type?t.thingsModelItem&&"bool"==t.thingsModelItem.datatype.type?i("span",[i("el-switch",{attrs:{"active-text":t.thingsModelItem.datatype.trueText,"inactive-text":t.thingsModelItem.datatype.falseText,"active-value":"1","inactive-value":"0"},model:{value:t.value,callback:function(i){e.$set(t,"value",i)},expression:"actionItem.value"}})],1):t.thingsModelItem&&"enum"==t.thingsModelItem.datatype.type?i("span",[i("el-select",{staticStyle:{width:"100%"},attrs:{placeholder:"请选择"},model:{value:t.value,callback:function(i){e.$set(t,"value",i)},expression:"actionItem.value"}},e._l(t.thingsModelItem.datatype.enumList,(function(e,t){return i("el-option",{key:t+"things",attrs:{label:e.text,value:e.value}})})),1)],1):t.thingsModelItem&&"string"==t.thingsModelItem.datatype.type?i("span",[i("el-input",{attrs:{placeholder:"请输入字符串",max:t.thingsModelItem.datatype.maxLength},model:{value:t.value,callback:function(i){e.$set(t,"value",i)},expression:"actionItem.value"}})],1):t.thingsModelItem&&"array"==t.thingsModelItem.datatype.type?i("span",[i("el-input",{attrs:{placeholder:"请输入英文逗号分隔的数组"},model:{value:t.value,callback:function(i){e.$set(t,"value",i)},expression:"actionItem.value"}})],1):e._e():i("span",[i("el-input",{attrs:{placeholder:"值",max:t.thingsModelItem.datatype.max,min:t.thingsModelItem.datatype.min,type:"number",size:"small"},model:{value:t.value,callback:function(i){e.$set(t,"value",i)},expression:"actionItem.value"}},[i("template",{slot:"append"},[e._v(e._s(t.thingsModelItem.datatype.unit))])],2)],1)]),0!=a?i("el-col",{attrs:{span:2,offset:1}},[i("a",{staticStyle:{color:"#F56C6C"},on:{click:function(t){return e.removeEnumItem(a)}}},[e._v("删除")])]):e._e()],1)})),i("div",[e._v("+ "),i("a",{staticStyle:{color:"#409EFF"},on:{click:function(t){return e.addEnumItem()}}},[e._v("添加执行动作")])])],2)],1),i("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[i("el-button",{attrs:{type:"primary",loading:e.submitButtonLoading},on:{click:e.submitForm}},[e._v("确 定")]),i("el-button",{on:{click:e.cancel}},[e._v("取 消")])],1)],1),i("el-dialog",{staticClass:"scrollbar",attrs:{title:"Cron表达式生成器",visible:e.openCron,"append-to-body":"","destroy-on-close":""},on:{"update:visible":function(t){e.openCron=t}}},[i("crontab",{staticStyle:{"padding-bottom":"80px"},attrs:{expression:e.expression},on:{hide:function(t){e.openCron=!1},fill:e.crontabFill}})],1),i("el-dialog",{attrs:{title:"定时详细",visible:e.openView,width:"700px","append-to-body":""},on:{"update:visible":function(t){e.openView=t}}},[i("el-form",{ref:"form",attrs:{model:e.form,"label-width":"120px",size:"mini"}},[i("el-row",[i("el-col",{attrs:{span:12}},[i("el-form-item",{attrs:{label:"定时编号:"}},[e._v(e._s(e.form.jobId))]),i("el-form-item",{attrs:{label:"定时名称:"}},[e._v(e._s(e.form.jobName))])],1),i("el-col",{attrs:{span:12}},[i("el-form-item",{attrs:{label:"定时分组:"}},[e._v(e._s(e.jobGroupFormat(e.form)))]),i("el-form-item",{attrs:{label:"创建时间:"}},[e._v(e._s(e.form.createTime))])],1),i("el-col",{attrs:{span:12}},[i("el-form-item",{attrs:{label:"是否并发:"}},[0==e.form.concurrent?i("div",[e._v("允许")]):1==e.form.concurrent?i("div",[e._v("禁止")]):e._e()])],1),i("el-col",{attrs:{span:12}},[i("el-form-item",{attrs:{label:"cron表达式:"}},[e._v(e._s(e.form.cronExpression))])],1),i("el-col",{attrs:{span:12}},[i("el-form-item",{attrs:{label:"执行策略:"}},[0==e.form.misfirePolicy?i("div",[e._v("默认策略")]):1==e.form.misfirePolicy?i("div",[e._v("立即执行")]):2==e.form.misfirePolicy?i("div",[e._v("执行一次")]):3==e.form.misfirePolicy?i("div",[e._v("放弃执行")]):e._e()])],1),i("el-col",{attrs:{span:12}},[i("el-form-item",{attrs:{label:"下次执行时间:"}},[e._v(e._s(e.parseTime(e.form.nextValidTime)))])],1),i("el-col",{attrs:{span:12}},[i("el-form-item",{attrs:{label:"定时状态:"}},[0==e.form.status?i("div",[e._v("正常")]):1==e.form.status?i("div",[e._v("暂停")]):e._e()])],1),i("el-col",{attrs:{span:24}},[i("el-form-item",{attrs:{label:"执行动作:"}},[i("div",{staticStyle:{border:"1px solid #ddd",padding:"10px","border-radius":"5px",width:"465px"},domProps:{innerHTML:e._s(e.formatActionsDisplay(e.form.actions))}})])],1)],1)],1),i("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[i("el-button",{on:{click:function(t){e.openView=!1}}},[e._v("关 闭")])],1)],1)],1)},n=[],o=i("5530"),r=(i("d81d"),i("a9e3"),i("b0c0"),i("e9c4"),i("a434"),i("4e82"),i("b775"));function s(e){return Object(r["a"])({url:"/iot/job/list",method:"get",params:e})}function l(e){return Object(r["a"])({url:"/iot/job/"+e,method:"get"})}function c(e){return Object(r["a"])({url:"/iot/job",method:"post",data:e})}function d(e){return Object(r["a"])({url:"/iot/job",method:"put",data:e})}function u(e){return Object(r["a"])({url:"/iot/job/"+e,method:"delete"})}function p(e,t){var i={jobId:e,status:t};return Object(r["a"])({url:"/iot/job/changeStatus",method:"put",data:i})}function m(e,t){var i={jobId:e,jobGroup:t};return Object(r["a"])({url:"/iot/job/run",method:"put",data:i})}var h=i("bdd0"),f={components:{Crontab:h["a"]},name:"device-timer",dicts:["sys_job_group","sys_job_status"],props:{device:{type:Object,default:null}},watch:{device:function(e,t){this.deviceInfo=e,this.deviceInfo&&0!=this.deviceInfo.deviceId&&(this.thingsModel=this.deviceInfo.cacheThingsModel,this.queryParams.deviceId=this.deviceInfo.deviceId,this.getList())}},data:function(){return{thingsModel:{},actionList:[],deviceInfo:{},loading:!1,ids:[],single:!0,multiple:!0,showSearch:!0,total:0,jobList:[],title:"",open:!1,openView:!1,openCron:!1,expression:"",submitButtonLoading:!1,queryParams:{pageNum:1,pageSize:10,deviceId:0,jobName:void 0,jobGroup:void 0,status:void 0},timerWeeks:[{value:1,label:"周一"},{value:2,label:"周二"},{value:3,label:"周三"},{value:4,label:"周四"},{value:5,label:"周五"},{value:6,label:"周六"},{value:7,label:"周日"}],timerWeekValue:[1,2,3,4,5,6,7],timerTimeValue:"",modelTypes:[{value:1,label:"属性"},{value:2,label:"功能"}],form:{},rules:{jobName:[{required:!0,message:"定时名称不能为空",trigger:"blur"}]}}},created:function(){},methods:{getList:function(){var e=this;this.loading=!0,s(this.queryParams).then((function(t){e.jobList=t.rows,e.total=t.total,e.loading=!1}))},jobGroupFormat:function(e,t){return this.selectDictLabel(this.dict.type.sys_job_group,e.jobGroup)},cancel:function(){this.open=!1,this.reset()},reset:function(){this.form={jobId:void 0,jobName:void 0,cronExpression:void 0,status:"0",jobGroup:"DEFAULT",misfirePolicy:2,concurrent:1,isAdvance:0,jobType:1,productId:0,productName:"",sceneId:0,alertId:0,actions:""},this.submitButtonLoading=!1,this.timerWeekValue=[1,2,3,4,5,6,7],this.timerTimeValue="",this.actionList=[{id:"",name:"",value:"",type:2,deviceId:this.deviceInfo.deviceId,deviceName:this.deviceInfo.deviceName,thingsModelItem:{id:"",name:"",datatype:{type:""}}}],this.resetForm("form")},handleQuery:function(){this.queryParams.pageNum=1,this.getList()},resetQuery:function(){this.resetForm("queryForm"),this.handleQuery()},handleSelectionChange:function(e){this.ids=e.map((function(e){return e.jobId})),this.single=1!=e.length,this.multiple=!e.length},handleStatusChange:function(e){var t=this,i="0"===e.status?"启用":"停用";this.$modal.confirm('确认要"'+i+'""'+e.jobName+'"定时吗?').then((function(){return p(e.jobId,e.status)})).then((function(){t.$modal.msgSuccess(i+"成功")})).catch((function(){e.status="0"===e.status?"1":"0"}))},handleRun:function(e){var t=this;this.$modal.confirm('确认要立即执行一次"'+e.jobName+'"定时吗?').then((function(){return m(e.jobId,e.jobGroup)})).then((function(){t.$modal.msgSuccess("执行成功")})).catch((function(){}))},handleView:function(e){var t=this;l(e.jobId).then((function(e){t.form=e.data,t.openView=!0}))},handleShowCron:function(){this.expression=this.form.cronExpression,this.openCron=!0},crontabFill:function(e){this.form.cronExpression=e},handleAdd:function(){this.reset(),this.open=!0,this.title="添加定时"},handleUpdate:function(e){var t=this;this.reset();var i=e.jobId||this.ids;l(i).then((function(e){t.form=e.data,t.actionList=JSON.parse(t.form.actions);for(var i=0;i<t.actionList.length;i++)if(1==t.actionList[i].type){for(var a=0;a<t.thingsModel.properties.length;a++)if(t.actionList[i].id==t.thingsModel.properties[a].id){t.actionList[i].thingsModelItem=t.thingsModel.properties[a];break}}else if(2==t.actionList[i].type)for(var n=0;n<t.thingsModel.functions.length;n++)if(t.actionList[i].id==t.thingsModel.functions[n].id){t.actionList[i].thingsModelItem=t.thingsModel.functions[n];break}if(0==t.form.isAdvance){var o=t.form.cronExpression.substring(12).split(",").map(Number);t.timerWeekValue=o,t.timerTimeValue=t.form.cronExpression.substring(5,7)+":"+t.form.cronExpression.substring(2,4)}t.open=!0,t.title="修改定时"}))},submitForm:function(){var e=this;this.$refs["form"].validate((function(t){if(t){if(0==e.form.isAdvance){if(""==e.timerTimeValue||null==e.timerTimeValue)return void e.$modal.alertError("执行时间不能空");if(null==e.timerWeekValue||""==e.timerWeekValue)return void e.$modal.alertError("请选择要执行的星期")}else if(1==e.form.isAdvance&&""==e.form.cronExpression)return void e.$modal.alertError("cron表达式不能为空");for(var i=0;i<e.actionList.length;i++)if(""==e.actionList[i].id||""==e.actionList[i].name||""==e.actionList[i].value)return void e.$modal.alertError("执行动作中的选项和值不能为空");e.actionList[0].deviceId=e.deviceInfo.deviceId,e.actionList[0].deviceName=e.deviceInfo.deviceName;for(var a=0;a<e.actionList.length;a++)e.$delete(e.actionList[a],"thingsModelItem");e.form.actions=JSON.stringify(e.actionList),e.form.deviceId=e.deviceInfo.deviceId,e.form.deviceName=e.deviceInfo.deviceName,e.form.serialNumber=e.deviceInfo.serialNumber,e.form.productId=e.deviceInfo.productId,e.form.productName=e.deviceInfo.productName,e.submitButtonLoading=!0,void 0!=e.form.jobId?d(e.form).then((function(t){e.$modal.msgSuccess("修改成功"),e.submitButtonLoading=!1,e.open=!1,e.getList()})):c(e.form).then((function(t){e.$modal.msgSuccess("新增成功"),e.submitButtonLoading=!1,e.open=!1,e.getList()}))}}))},handleDelete:function(e){var t=this,i=e.jobId||this.ids;this.$modal.confirm('是否确认删除定时定时编号为"'+i+'"的数据项?').then((function(){return u(i)})).then((function(){t.getList(),t.$modal.msgSuccess("删除成功")})).catch((function(){}))},handleExport:function(){this.download("iot/job/export",Object(o["a"])({},this.queryParams),"job_".concat((new Date).getTime(),".xlsx"))},addEnumItem:function(){this.actionList.push({id:"",name:"",value:"",type:2,deviceId:this.deviceInfo.deviceId,deviceName:this.deviceInfo.deviceName,thingsModelItem:{id:"",name:"",datatype:{type:""}}})},removeEnumItem:function(e){this.actionList.splice(e,1)},weekChange:function(e){this.gentCronExpression()},timeChange:function(e){this.gentCronExpression()},customerCronChange:function(e){0==e&&this.gentCronExpression()},gentCronExpression:function(){var e="00",t="00";null!=this.timerTimeValue&&""!=this.timerTimeValue&&(e=this.timerTimeValue.substring(0,2),t=this.timerTimeValue.substring(3));var i="*";this.timerWeekValue.length>0&&(i=this.timerWeekValue.sort()),this.form.cronExpression="0 "+t+" "+e+" ? * "+i},actionTypeChange:function(e,t){this.actionList[t].id="",this.actionList[t].value="",this.actionList[t].thingsModelItem=null},thingsModelItemChange:function(e,t){if(this.actionList[t].value="",1==this.actionList[t].type){for(var i=0;i<this.thingsModel.properties.length;i++)if(this.thingsModel.properties[i].id==e){this.actionList[t].name=this.thingsModel.properties[i].name,this.actionList[t].thingsModelItem=this.thingsModel.properties[i];break}}else if(2==this.actionList[t].type)for(var a=0;a<this.thingsModel.functions.length;a++)if(this.thingsModel.functions[a].id==e){this.actionList[t].name=this.thingsModel.functions[a].name,this.actionList[t].thingsModelItem=this.thingsModel.functions[a];break}},formatActionsDisplay:function(e){if(null!=e&&""!=e){for(var t=JSON.parse(e),i="",a=0;a<t.length;a++){var n=t[a].value;if(1==t[a].type){for(var o=0;o<this.thingsModel.properties.length;o++)if(t[a].id==this.thingsModel.properties[o].id){if("decimal"==this.thingsModel.properties[o].datatype.type||"integer"==this.thingsModel.properties[o].datatype.type)n=t[a].value+this.thingsModel.properties[o].datatype.unit;else if("enum"==this.thingsModel.properties[o].datatype.type){for(var r=0;r<this.thingsModel.properties[o].datatype.enumList.length;r++)if(t[a].value==this.thingsModel.properties[o].datatype.enumList[r].value){n=this.thingsModel.properties[o].datatype.enumList[r].text;break}}else"bool"==this.thingsModel.properties[o].datatype.type&&(n="1"==t[a].value?this.thingsModel.properties[o].datatype.trueText:this.thingsModel.properties[o].datatype.falseText);break}}else if(2==t[a].type)for(var s=0;s<this.thingsModel.functions.length;s++)if(t[a].id==this.thingsModel.functions[s].id){if("decimal"==this.thingsModel.functions[s].datatype.type||"integer"==this.thingsModel.functions[s].datatype.type)n=t[a].value+this.thingsModel.functions[s].datatype.unit;else if("enum"==this.thingsModel.functions[s].datatype.type){for(var l=0;l<this.thingsModel.functions[s].datatype.enumList.length;l++)if(t[a].value==this.thingsModel.functions[s].datatype.enumList[l].value){n=this.thingsModel.functions[s].datatype.enumList[l].text;break}}else"bool"==this.thingsModel.functions[s].datatype.type&&(n="1"==t[a].value?this.thingsModel.functions[s].datatype.trueText:this.thingsModel.functions[s].datatype.falseText);break}i=i+t[a].name+':<span style="color:#F56C6C">'+n+"</span><br />"}return i}},formatCronDisplay:function(e){var t="";if(0==e.isAdvance){var i='<br /><span style="color:#F56C6C">时间 '+e.cronExpression.substring(5,7)+":"+e.cronExpression.substring(2,4)+"</span>",a=e.cronExpression.substring(12);if("1,2,3,4,5,6,7"==a)t="每天 "+i;else{for(var n=a.split(","),o=0;o<n.length;o++)"1"==n[o]?t+="周一、":"2"==n[o]?t+="周二、":"3"==n[o]?t+="周三、":"4"==n[o]?t+="周四、":"5"==n[o]?t+="周五、":"6"==n[o]?t+="周六、":"7"==n[o]&&(t+="周日、");t=t.substring(0,t.length-1)+" "+i}}else t="自定义Cron表达式";return t}}},v=f,g=i("2877"),y=Object(g["a"])(v,a,n,!1,null,null,null);t["default"]=y.exports},"814a":function(e,t,i){"use strict";i.d(t,"e",(function(){return n})),i.d(t,"d",(function(){return o})),i.d(t,"c",(function(){return r})),i.d(t,"a",(function(){return s})),i.d(t,"f",(function(){return l})),i.d(t,"b",(function(){return c}));var a=i("b775");function n(e){return Object(a["a"])({url:"/iot/firmware/list",method:"get",params:e})}function o(e){return Object(a["a"])({url:"/iot/firmware/getLatest/"+e,method:"get"})}function r(e){return Object(a["a"])({url:"/iot/firmware/"+e,method:"get"})}function s(e){return Object(a["a"])({url:"/iot/firmware",method:"post",data:e})}function l(e){return Object(a["a"])({url:"/iot/firmware",method:"put",data:e})}function c(e){return Object(a["a"])({url:"/iot/firmware/"+e,method:"delete"})}},"8e03":function(e,t,i){"use strict";i("cfd2")},"9b9c":function(e,t,i){"use strict";i.d(t,"f",(function(){return n})),i.d(t,"g",(function(){return o})),i.d(t,"e",(function(){return r})),i.d(t,"a",(function(){return s})),i.d(t,"h",(function(){return l})),i.d(t,"d",(function(){return c})),i.d(t,"b",(function(){return d})),i.d(t,"c",(function(){return u}));var a=i("b775");function n(e){return Object(a["a"])({url:"/iot/product/list",method:"get",params:e})}function o(){return Object(a["a"])({url:"/iot/product/shortList",method:"get"})}function r(e){return Object(a["a"])({url:"/iot/product/"+e,method:"get"})}function s(e){return Object(a["a"])({url:"/iot/product",method:"post",data:e})}function l(e){return Object(a["a"])({url:"/iot/product",method:"put",data:e})}function c(e){return Object(a["a"])({url:"/iot/product/deviceCount/"+e,method:"get"})}function d(e){return Object(a["a"])({url:"/iot/product/status/",method:"put",data:e})}function u(e){return Object(a["a"])({url:"/iot/product/"+e,method:"delete"})}},a035:function(e,t,i){"use strict";i.d(t,"a",(function(){return n})),i.d(t,"b",(function(){return o}));var a=i("b775");function n(e){return Object(a["a"])({url:"/iot/deviceLog/list",method:"get",params:e})}function o(e){return Object(a["a"])({url:"/iot/deviceLog/monitor",method:"get",params:e})}},b52e:function(e,t,i){"use strict";i.r(t);var a=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticStyle:{"padding-left":"20px"}},[i("el-row",{staticClass:"mb8",attrs:{gutter:10}},[i("el-col",{attrs:{span:1.5}},[i("el-button",{directives:[{name:"hasPermi",rawName:"v-hasPermi",value:["iot:device:share"],expression:"['iot:device:share']"}],attrs:{type:"primary",plain:"",icon:"el-icon-share",size:"mini"},on:{click:e.selectUser}},[e._v("分享设备")])],1),i("el-col",{attrs:{span:1.5}},[i("el-button",{attrs:{type:"warning",plain:"",icon:"el-icon-refresh",size:"mini"},on:{click:e.getList}},[e._v("刷新")])],1)],1),i("el-table",{directives:[{name:"loading",rawName:"v-loading",value:e.loading,expression:"loading"}],attrs:{data:e.deviceUserList,size:"mini"},on:{"selection-change":e.handleSelectionChange}},[i("el-table-column",{attrs:{label:"用户编号",align:"center",prop:"userId",width:"100"}}),i("el-table-column",{attrs:{label:"用户名称",align:"center",prop:"userName"}}),i("el-table-column",{attrs:{label:"手机号码",align:"center",prop:"phonenumber",width:"150"}}),i("el-table-column",{attrs:{label:"用户类型",align:"center",prop:"isOwner",width:"150"},scopedSlots:e._u([{key:"default",fn:function(t){return[t.row.isOwner?i("el-tag",{attrs:{type:"primary"}},[e._v("主人")]):i("el-tag",{attrs:{type:"success"}},[e._v("分享")])]}}])}),i("el-table-column",{attrs:{label:"分享时间",align:"center",prop:"createTime",width:"150"},scopedSlots:e._u([{key:"default",fn:function(t){return[i("span",[e._v(e._s(e.parseTime(t.row.createTime,"{y}-{m}-{d}")))])]}}])}),i("el-table-column",{attrs:{label:"备注",align:"left",prop:"remark","header-align":"center","min-width":"150"}}),i("el-table-column",{attrs:{label:"操作",align:"center","class-name":"small-padding fixed-width",width:"150"},scopedSlots:e._u([{key:"default",fn:function(t){return[0==t.row.isOwner?i("el-button",{directives:[{name:"hasPermi",rawName:"v-hasPermi",value:["iot:device:share"],expression:"['iot:device:share']"}],attrs:{size:"mini",type:"text",icon:"el-icon-edit"},on:{click:function(i){return e.handleUpdate(t.row)}}},[e._v("备注")]):e._e(),0==t.row.isOwner?i("el-button",{directives:[{name:"hasPermi",rawName:"v-hasPermi",value:["iot:device:share"],expression:"['iot:device:share']"}],attrs:{size:"mini",type:"text",icon:"el-icon-delete"},on:{click:function(i){return e.handleDelete(t.row)}}},[e._v("取消分享")]):e._e()]}}])})],1),i("el-dialog",{attrs:{title:e.title,visible:e.open,width:"500px","append-to-body":""},on:{"update:visible":function(t){e.open=t}}},[i("el-input",{attrs:{type:"textarea",placeholder:"请输入内容",rows:"4"},model:{value:e.form.remark,callback:function(t){e.$set(e.form,"remark",t)},expression:"form.remark"}}),i("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[i("el-button",{attrs:{type:"primary"},on:{click:e.submitForm}},[e._v("确 定")]),i("el-button",{on:{click:e.cancel}},[e._v("取 消")])],1)],1),i("user-list",{ref:"userList",attrs:{device:e.devices}})],1)},n=[],o=i("5530"),r=(i("d81d"),i("e018")),s=i("2544"),l={name:"device-user",dicts:["iot_yes_no"],components:{userList:r["default"]},props:{device:{type:Object,default:null}},watch:{device:function(e,t){this.deviceInfo=e,this.devices=[e],this.deviceInfo&&0!=this.deviceInfo.deviceId&&(this.queryParams.deviceId=this.deviceInfo.deviceId,this.getList())}},data:function(){return{devices:[],loading:!0,ids:[],single:!0,multiple:!0,total:0,deviceUserList:[],title:"",open:!1,queryParams:{pageNum:1,pageSize:10,deviceName:null,userName:null,userId:null,tenantName:null,isOwner:null},form:{},rules:{deviceName:[{required:!0,message:"设备名称不能为空",trigger:"blur"}],userName:[{required:!0,message:"用户昵称不能为空",trigger:"blur"}]}}},created:function(){this.queryParams.deviceId=this.device.deviceId,this.getList()},methods:{getList:function(){var e=this;this.loading=!0,Object(s["e"])(this.queryParams).then((function(t){e.deviceUserList=t.rows,e.total=t.total,e.loading=!1}))},cancel:function(){this.open=!1,this.reset()},reset:function(){this.form={deviceId:null,userId:null,deviceName:null,userName:null,tenantId:null,tenantName:null,isOwner:null,limitNum:null,delFlag:null,createBy:null,createTime:null,updateBy:null,updateTime:null,remark:null},this.resetForm("form")},handleQuery:function(){this.queryParams.pageNum=1,this.getList()},resetQuery:function(){this.resetForm("queryForm"),this.handleQuery()},handleSelectionChange:function(e){this.ids=e.map((function(e){return e.deviceId})),this.single=1!==e.length,this.multiple=!e.length},handleAdd:function(){this.reset(),this.open=!0,this.title="添加设备用户"},handleUpdate:function(e){var t=this;this.reset();var i=e.deviceId||this.ids;Object(s["d"])(i,e.userId).then((function(e){t.form=e.data,t.open=!0,t.title="用户备注"}))},submitForm:function(){var e=this;null!=this.form.deviceId&&Object(s["f"])(this.form).then((function(t){e.$modal.msgSuccess("备注成功"),e.open=!1,e.getList()}))},handleDelete:function(e){var t=this,i=e;this.$modal.confirm("确认取消分享设备?").then((function(){return Object(s["c"])(i)})).then((function(){t.getList(),t.$modal.msgSuccess("取消分享成功")})).catch((function(){}))},handleExport:function(){this.download("iot/deviceUser/export",Object(o["a"])({},this.queryParams),"deviceUser_".concat((new Date).getTime(),".xlsx"))},selectUser:function(){this.devices=[this.device],this.$refs.userList.openSelectUser=!0}}},c=l,d=i("2877"),u=Object(d["a"])(c,a,n,!1,null,null,null);t["default"]=u.exports},bb86:function(e,t,i){"use strict";i.d(t,"b",(function(){return n})),i.d(t,"a",(function(){return o}));var a=i("b775");i("bc3a"),i("5c96"),i("21a6"),i("5f87"),i("c38a");function n(e){return Object(a["a"])({url:"/iot/tool/register",headers:{isToken:!1},method:"post",data:e})}function o(e){return Object(a["a"])({url:"/iot/tool/userList",method:"get",params:e})}},cfd2:function(e,t,i){},dd2d:function(e,t,i){"use strict";i("65ec")},dd50:function(e,t,i){"use strict";i.r(t);var a=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticStyle:{"padding-left":"20px"}},[i("el-form",{attrs:{inline:!0,"label-width":"100px"}},[i("el-form-item",{attrs:{label:"监测间隔(ms)"}},[i("el-tooltip",{staticClass:"item",attrs:{effect:"light",content:"取值范围500-10000毫秒",placement:"top"}},[i("el-input",{staticStyle:{width:"180px"},attrs:{placeholder:"请输入监测间隔",type:"number",clearable:"",size:"small"},model:{value:e.monitorInterval,callback:function(t){e.monitorInterval=t},expression:"monitorInterval"}})],1)],1),i("el-form-item",{attrs:{label:"监测次数"}},[i("el-tooltip",{staticClass:"item",attrs:{effect:"light",content:"取值方位1-300",placement:"top"}},[i("el-input",{staticStyle:{width:"180px"},attrs:{placeholder:"请输入监测次数",type:"number",clearable:"",size:"small"},model:{value:e.monitorNumber,callback:function(t){e.monitorNumber=t},expression:"monitorNumber"}})],1)],1),i("el-form-item",[i("el-button",{staticStyle:{"margin-left":"30px"},attrs:{type:"success",icon:"el-icon-video-play",size:"mini"},on:{click:function(t){return e.beginMonitor()}}},[e._v("开始监测")]),i("el-button",{attrs:{type:"danger",icon:"el-icon-video-pause",size:"mini"},on:{click:function(t){return e.stopMonitor()}}},[e._v("停止监测")])],1)],1),i("el-row",{directives:[{name:"loading",rawName:"v-loading",value:e.chartLoading,expression:"chartLoading"}],attrs:{gutter:20,"element-loading-text":"正在接收设备数据,请耐心等待......","element-loading-spinner":"el-icon-loading","element-loading-background":"rgba(0, 0, 0, 0.8)"}},e._l(e.monitorThings,(function(e,t){return i("el-col",{key:t,staticStyle:{"margin-bottom":"20px"},attrs:{span:12}},[i("el-card",{attrs:{shadow:"hover","body-style":{paddingTop:"10px",marginBottom:"-20px"}}},[i("div",{ref:"monitor",refInFor:!0,staticStyle:{height:"210px",padding:"0"}})])],1)})),1)],1)},n=[],o=(i("b0c0"),i("d3b7"),i("25f0"),{name:"DeviceMonitor",props:{device:{type:Object,default:null}},watch:{device:function(e,t){if(this.deviceInfo=e,this.deviceInfo&&0!=this.deviceInfo.deviceId){this.monitorThings=this.deviceInfo.monitorList,this.dataList=[];for(var i=0;i<this.monitorThings.length;i++)this.dataList.push({id:this.monitorThings[i].id,name:this.monitorThings[i].name,data:[]});this.$nextTick((function(){this.getMonitorChart()})),this.mqttCallback()}}},data:function(){return{monitorInterval:1e3,monitorNumber:60,chart:[],dataList:[],monitorThings:[],chartLoading:!1,deviceInfo:{}}},created:function(){},methods:{mqttPublish:function(e,t){var i=this,a="",n="";4==t.type&&(a="/"+e.productId+"/"+e.serialNumber+"/monitor/get",n='{"count":'+t.value+',"interval":'+this.monitorInterval+"}",""!=a&&this.$mqttTool.publish(a,n,t.name).then((function(e){i.$modal.notifySuccess(e)})).catch((function(e){i.$modal.notifyError(e)})))},mqttCallback:function(){var e=this;this.$mqttTool.client.on("message",(function(t,i,a){var n=t.split("/"),o=(n[1],n[2]);if(i=JSON.parse(i.toString()),i&&("status"==n[3]&&(console.log("接收到【设备状态】主题:",t),console.log("接收到【设备状态】内容:",i),e.deviceInfo.serialNumber==o&&(e.deviceInfo.status=i.status,e.deviceInfo.isShadow=i.isShadow,e.deviceInfo.rssi=i.rssi)),"monitor"==n[3])){console.log("接收到【设备状态】主题:",t),console.log("接收到【设备状态】内容:",i),e.chartLoading=!1;for(var r=0;r<i.length;r++)for(var s=i[r].value,l=i[r].id,c=(i[r].remark,0);c<e.dataList.length;c++){if(l==e.dataList[c].id){e.dataList[c].length>50&&e.dataList[c].shift(),e.dataList[c].data.push([e.getTime(),s]),e.chart[c].setOption({series:[{data:e.dataList[c].data}]});break}if(0==e.dataList[c].id.indexOf("array_")){var d=e.dataList[c].id.substring(6,8),u=e.dataList[c].id.substring(9);if(u==l){var p=s.split(",");e.dataList[c].length>50&&e.dataList[c].shift(),e.dataList[c].data.push([e.getTime(),p[d]]),e.chart[c].setOption({series:[{data:e.dataList[c].data}]});break}}}}}))},beginMonitor:function(){if(3==this.deviceInfo.status){for(var e=0;e<this.dataList.length;e++)this.dataList[e].data=[];(this.monitorInterval<500||this.monitorInterval>1e4)&&this.$modal.alertError("实时监测的间隔范围500-10000毫秒"),(0==this.monitorNumber||this.monitorNumber>300)&&this.$modal.alertError("实时监测数量范围1-300");var t={name:"更新实时监测"};t.value=this.monitorNumber,t.type=4,this.mqttPublish(this.deviceInfo,t),this.chartLoading=!0}else this.$modal.alertError("设备不在线,下发指令失败")},stopMonitor:function(){if(3==this.deviceInfo.status){this.chartLoading=!1;var e={name:"关闭实时监测",value:0,type:4};this.mqttPublish(this.deviceInfo,e)}else this.$modal.alertError("设备不在线,下发指令失败")},getMonitorChart:function(){for(var e=["#1890FF","#91CB74","#FAC858","#EE6666","#73C0DE","#3CA272","#FC8452","#9A60B4","#ea7ccc"],t=0;t<this.monitorThings.length;t++){var i;this.$refs.monitor[t].style.width=document.documentElement.clientWidth/2-255+"px",this.chart[t]=this.$echarts.init(this.$refs.monitor[t]),i={title:{left:"center",text:this.monitorThings[t].name+" (单位 "+(void 0!=this.monitorThings[t].dataType.unit?this.monitorThings[t].dataType.unit:"无")+")",textStyle:{fontSize:14}},grid:{top:"50px",left:"20px",right:"20px",bottom:"10px",containLabel:!0},tooltip:{trigger:"axis",axisPointer:{animation:!0}},xAxis:{type:"time",show:!1,splitLine:{show:!1}},yAxis:{type:"value",boundaryGap:[0,"100%"],splitLine:{show:!0}},series:[{name:this.monitorThings[t].name,type:"line",symbol:"none",sampling:"lttb",itemStyle:{color:t>9?e[0]:e[t]},areaStyle:{},data:[]}]},i&&this.chart[t].setOption(i)}},getTime:function(){var e=new Date,t=e.getFullYear(),i=e.getMonth()+1,a=e.getDate(),n=e.getHours(),o=e.getMinutes(),r=e.getSeconds();return i=i<10?"0"+i:i,a=a<10?"0"+a:a,n=n<10?"0"+n:n,t+"-"+i+"-"+a+" "+n+":"+o+":"+r}}}),r=o,s=i("2877"),l=Object(s["a"])(r,a,n,!1,null,null,null);t["default"]=l.exports},e018:function(e,t,i){"use strict";i.r(t);var a=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("el-dialog",{attrs:{title:"选择用户",visible:e.openSelectUser,width:"800px"},on:{"update:visible":function(t){e.openSelectUser=t}}},[i("div",{staticStyle:{"margin-top":"-50px"}},[i("el-divider")],1),i("el-form",{ref:"queryForm",attrs:{model:e.queryParams,rules:e.rules,inline:!0,"label-width":"80px"}},[i("el-form-item",{attrs:{label:"手机号码",prop:"phonenumber"}},[i("el-input",{staticStyle:{width:"240px"},attrs:{type:"text",placeholder:"请输入用户手机号码",minlength:"10",clearable:"",size:"small","show-word-limit":""},nativeOn:{keyup:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.handleQuery(t)}},model:{value:e.queryParams.phonenumber,callback:function(t){e.$set(e.queryParams,"phonenumber",t)},expression:"queryParams.phonenumber"}})],1),i("el-form-item",[i("el-button",{attrs:{type:"primary",icon:"el-icon-search",size:"mini"},on:{click:e.handleQuery}},[e._v("查询")])],1)],1),i("el-table",{directives:[{name:"loading",rawName:"v-loading",value:e.loading,expression:"loading"}],attrs:{data:e.userList,"highlight-current-row":"",size:"mini",border:""},on:{"current-change":e.handleCurrentChange}},[i("el-table-column",{attrs:{label:"选择",width:"50",align:"center"},scopedSlots:e._u([{key:"default",fn:function(e){return[i("input",{attrs:{type:"radio",name:"user"},domProps:{checked:e.row.isSelect}})]}}])}),i("el-table-column",{key:"userId",attrs:{label:"用户编号",align:"center",prop:"userId",width:"120"}}),i("el-table-column",{key:"userName",attrs:{label:"用户名称",align:"center",prop:"userName"}}),i("el-table-column",{key:"nickName",attrs:{label:"用户昵称",align:"center",prop:"nickName"}}),i("el-table-column",{key:"phonenumber",attrs:{label:"手机号码",align:"center",prop:"phonenumber",width:"120"}}),i("el-table-column",{attrs:{label:"创建时间",align:"center",prop:"createTime",width:"160"},scopedSlots:e._u([{key:"default",fn:function(t){return[i("span",[e._v(e._s(e.parseTime(t.row.createTime)))])]}}])})],1),i("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[i("el-button",{attrs:{type:"primary"},on:{click:e.addDeviceUser}},[e._v("分享")]),i("el-button",{on:{click:e.closeSelectUser}},[e._v("关 闭")])],1)],1)},n=[],o=(i("d3b7"),i("159b"),i("bb86")),r=i("2544"),s={name:"user-list",props:{device:{type:Array,default:null}},watch:{device:function(e,t){this.deviceInfo=e}},data:function(){return{loading:!1,ids:[],title:"",userList:[],user:{},deviceInfo:{},openSelectUser:!1,queryParams:{pageNum:1,pageSize:10,userName:void 0,phonenumber:void 0,status:0,deptId:void 0},rules:{phonenumber:[{required:!0,message:"手机号码不能为空",trigger:"blur"},{min:11,max:11,message:"手机号码长度为11位",trigger:"blur"}]}}},created:function(){},methods:{getList:function(){var e=this;this.loading=!0,Object(o["a"])(this.addDateRange(this.queryParams,this.dateRange)).then((function(t){e.userList=t.rows,e.total=t.total,e.loading=!1}))},handleQuery:function(){var e=this;this.$refs["queryForm"].validate((function(t){t&&(e.queryParams.pageNum=1,e.getList())}))},resetQuery:function(){this.$refs["queryForm"].resetFields(),this.userList=[]},setRadioSelected:function(e){for(var t=0;t<this.userList.length;t++)this.userList[t].userId==e?(this.userList[t].isSelect=!0,this.user=this.userList[t]):this.userList[t].isSelect=!1},handleCurrentChange:function(e){null!=e&&(this.setRadioSelected(e.userId),this.user=e)},closeSelectUser:function(){this.openSelectUser=!1,this.resetQuery()},addDeviceUser:function(){var e=this;if(null!=this.deviceInfo&&this.deviceInfo.length>0&&null!=this.user)if(1==this.deviceInfo.length){var t={};t.deviceId=this.deviceInfo[0].deviceId,t.deviceName=this.deviceInfo[0].deviceName,t.userId=this.user.userId,t.userName=this.user.userName,t.phonenumber=this.user.phonenumber,Object(r["a"])(t).then((function(t){e.$modal.msgSuccess("新增成功"),e.resetQuery(),e.openSelectUser=!1,e.$parent.getList()}))}else{t=[];this.deviceInfo.forEach((function(i){var a={};a.deviceId=i.deviceId,a.deviceName=i.deviceName,a.userId=e.user.userId,a.userName=e.user.userName,a.phonenumber=e.user.phonenumber,t.push(a)})),Object(r["b"])(t).then((function(t){e.$modal.msgSuccess("新增成功"),e.resetQuery(),e.openSelectUser=!1,e.$parent.getList()}))}else this.openSelectUser=!1}}},l=s,c=i("2877"),d=Object(c["a"])(l,a,n,!1,null,null,null);t["default"]=d.exports},e2de:function(e,t,i){"use strict";i.d(t,"e",(function(){return n})),i.d(t,"c",(function(){return o})),i.d(t,"a",(function(){return r})),i.d(t,"b",(function(){return s})),i.d(t,"l",(function(){return l})),i.d(t,"m",(function(){return c})),i.d(t,"d",(function(){return d})),i.d(t,"f",(function(){return u})),i.d(t,"k",(function(){return p})),i.d(t,"g",(function(){return m})),i.d(t,"h",(function(){return h})),i.d(t,"i",(function(){return f})),i.d(t,"j",(function(){return v}));var a=i("b775");function n(e){return Object(a["a"])({url:"/sip/channel/list",method:"get",params:e})}function o(e){return Object(a["a"])({url:"/sip/channel/"+e,method:"get"})}function r(e,t){return Object(a["a"])({url:"/sip/channel/"+e,method:"post",data:t})}function s(e){return Object(a["a"])({url:"/sip/channel/"+e,method:"delete"})}function l(e,t){return Object(a["a"])({url:"/sip/player/play/"+e+"/"+t,method:"get"})}function c(e,t,i){return Object(a["a"])({url:"/sip/player/playstop/"+e+"/"+t+"/"+i,method:"get"})}function d(e,t){return Object(a["a"])({url:"/sip/player/playstream/"+e+"/"+t,method:"get"})}function u(e,t,i){return Object(a["a"])({url:"/sip/player/playback/"+e+"/"+t,method:"get",params:i})}function p(e,t,i){return Object(a["a"])({url:"/sip/player/playbackStop/"+e+"/"+t+"/"+i,method:"get"})}function m(e,t,i){return Object(a["a"])({url:"/sip/player/playbackPause/"+e+"/"+t+"/"+i,method:"get"})}function h(e,t,i){return Object(a["a"])({url:"/sip/player/playbackReplay/"+e+"/"+t+"/"+i,method:"get"})}function f(e,t,i,n){return Object(a["a"])({url:"/sip/player/playbackSeek/"+e+"/"+t+"/"+i,method:"get",params:n})}function v(e,t,i,n){return Object(a["a"])({url:"/sip/player/playbackSpeed/"+e+"/"+t+"/"+i,method:"get",params:n})}},e51f:function(e,t,i){"use strict";i.r(t);var a=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("el-dialog",{attrs:{title:"选择产品",visible:e.open,width:"800px"},on:{"update:visible":function(t){e.open=t}}},[i("div",{staticStyle:{"margin-top":"-55px"}},[i("el-divider",{staticStyle:{"margin-top":"-30px"}}),i("el-form",{ref:"queryForm",attrs:{model:e.queryParams,inline:!0,"label-width":"68px"}},[i("el-form-item",{attrs:{label:"产品名称",prop:"productName"}},[i("el-input",{attrs:{placeholder:"请输入产品名称",clearable:"",size:"small"},nativeOn:{keyup:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.handleQuery(t)}},model:{value:e.queryParams.productName,callback:function(t){e.$set(e.queryParams,"productName",t)},expression:"queryParams.productName"}})],1),i("el-form-item",[i("el-button",{attrs:{type:"primary",icon:"el-icon-search",size:"mini"},on:{click:e.handleQuery}},[e._v("搜索")]),i("el-button",{attrs:{icon:"el-icon-refresh",size:"mini"},on:{click:e.resetQuery}},[e._v("重置")])],1)],1),i("el-table",{directives:[{name:"loading",rawName:"v-loading",value:e.loading,expression:"loading"}],ref:"singleTable",attrs:{data:e.productList,"highlight-current-row":"",size:"mini"},on:{"row-click":e.rowClick}},[i("el-table-column",{attrs:{label:"选择",width:"50",align:"center"},scopedSlots:e._u([{key:"default",fn:function(e){return[i("input",{attrs:{type:"radio",name:"product"},domProps:{checked:e.row.isSelect}})]}}])}),i("el-table-column",{attrs:{label:"产品名称",align:"center",prop:"productName"}}),i("el-table-column",{attrs:{label:"分类名称",align:"center",prop:"categoryName"}}),i("el-table-column",{attrs:{label:"租户名称",align:"center",prop:"tenantName"}}),i("el-table-column",{attrs:{label:"授权码",align:"center",prop:"status",width:"70"},scopedSlots:e._u([{key:"default",fn:function(t){return[1==t.row.isAuthorize?i("el-tag",{attrs:{type:"success"}},[e._v("启用")]):e._e(),0==t.row.isAuthorize?i("el-tag",{attrs:{type:"info"}},[e._v("未启用")]):e._e()]}}])}),i("el-table-column",{attrs:{label:"认证方式",align:"center",prop:"status"},scopedSlots:e._u([{key:"default",fn:function(t){return[i("dict-tag",{attrs:{options:e.dict.type.iot_vertificate_method,value:t.row.vertificateMethod}})]}}])}),i("el-table-column",{attrs:{label:"联网方式",align:"center",prop:"networkMethod"},scopedSlots:e._u([{key:"default",fn:function(t){return[i("dict-tag",{attrs:{options:e.dict.type.iot_network_method,value:t.row.networkMethod}})]}}])}),i("el-table-column",{attrs:{label:"创建时间",align:"center",prop:"createTime",width:"100"},scopedSlots:e._u([{key:"default",fn:function(t){return[i("span",[e._v(e._s(e.parseTime(t.row.createTime,"{y}-{m}-{d}")))])]}}])})],1),i("pagination",{directives:[{name:"show",rawName:"v-show",value:e.total>0,expression:"total>0"}],attrs:{total:e.total,page:e.queryParams.pageNum,limit:e.queryParams.pageSize},on:{"update:page":function(t){return e.$set(e.queryParams,"pageNum",t)},"update:limit":function(t){return e.$set(e.queryParams,"pageSize",t)},pagination:e.getList}})],1),i("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[i("el-button",{attrs:{type:"primary"},on:{click:e.confirmSelectProduct}},[e._v("确定")]),i("el-button",{attrs:{type:"info"},on:{click:e.closeDialog}},[e._v("关 闭")])],1)])},n=[],o=(i("a9e3"),i("9b9c")),r={name:"ProductList",dicts:["iot_vertificate_method","iot_network_method"],props:{productId:{type:Number,default:0}},data:function(){return{loading:!0,total:0,open:!1,productList:[],product:{},queryParams:{pageNum:1,pageSize:10,productName:null,categoryId:null,categoryName:null,tenantId:null,tenantName:null,isSys:null,status:2,deviceType:null,networkMethod:null}}},created:function(){},methods:{getList:function(){var e=this;this.loading=!0,Object(o["f"])(this.queryParams).then((function(t){e.productList=t.rows,e.total=t.total,0!=e.productId&&e.setRadioSelected(e.productId),e.loading=!1}))},handleQuery:function(){this.queryParams.pageNum=1,this.getList()},resetQuery:function(){this.resetForm("queryForm"),this.handleQuery()},rowClick:function(e){null!=e&&(this.setRadioSelected(e.productId),this.product=e)},setRadioSelected:function(e){for(var t=0;t<this.productList.length;t++)this.productList[t].productId==e?this.productList[t].isSelect=!0:this.productList[t].isSelect=!1},confirmSelectProduct:function(){this.$emit("productEvent",this.product),this.open=!1},closeDialog:function(){this.open=!1}}},s=r,l=i("2877"),c=Object(l["a"])(s,a,n,!1,null,null,null);t["default"]=c.exports},e626:function(e,t,i){"use strict";i.r(t);var a=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("el-card",{staticStyle:{margin:"6px","padding-bottom":"100px"}},[i("el-tabs",{staticStyle:{padding:"10px","min-height":"400px"},attrs:{"tab-position":"left"},model:{value:e.activeName,callback:function(t){e.activeName=t},expression:"activeName"}},[i("el-tab-pane",{attrs:{name:"basic"}},[i("span",{attrs:{slot:"label"},slot:"label"},[e._v(" * 基本信息")]),i("el-form",{ref:"form",attrs:{model:e.form,rules:e.rules,"label-width":"100px"}},[i("el-row",{attrs:{gutter:100}},[i("el-col",{attrs:{xs:24,sm:24,md:24,lg:12,xl:8}},[i("el-form-item",{attrs:{label:"设备名称",prop:"deviceName"}},[i("el-input",{attrs:{placeholder:"请输入设备名称"},model:{value:e.form.deviceName,callback:function(t){e.$set(e.form,"deviceName",t)},expression:"form.deviceName"}},[0!=e.form.deviceId?i("el-button",{attrs:{slot:"append"},on:{click:e.openSummaryDialog},slot:"append"},[e._v("摘要")]):e._e()],1)],1),i("el-form-item",{attrs:{label:"",prop:"productName"}},[i("template",{slot:"label"},[i("span",{staticStyle:{color:"red"}},[e._v("* ")]),e._v("所属产品 ")]),i("el-input",{attrs:{readonly:"",placeholder:"请选择产品",disabled:1!=e.form.status},model:{value:e.form.productName,callback:function(t){e.$set(e.form,"productName",t)},expression:"form.productName"}},[i("el-button",{attrs:{slot:"append",disabled:1!=e.form.status},on:{click:function(t){return e.selectProduct()}},slot:"append"},[e._v("选择")])],1)],2),i("el-form-item",{attrs:{label:"",prop:"serialNumber"}},[i("template",{slot:"label"},[i("span",{staticStyle:{color:"red"}},[e._v("* ")]),e._v("设备编号 ")]),i("el-input",{attrs:{placeholder:"请输入设备编号",disabled:1!=e.form.status,maxlength:"32"},model:{value:e.form.serialNumber,callback:function(t){e.$set(e.form,"serialNumber",t)},expression:"form.serialNumber"}},[3!==e.form.deviceType?i("el-button",{attrs:{slot:"append",loading:e.genDisabled,disabled:1!=e.form.status},on:{click:e.generateNum},slot:"append"},[e._v("生成 ")]):e._e(),3===e.form.deviceType?i("el-button",{attrs:{slot:"append",disabled:1!=e.form.status},on:{click:function(t){return e.genSipID()}},slot:"append"},[e._v("生成 ")]):e._e()],1)],2),i("el-form-item",{attrs:{label:"固件版本",prop:"firmwareVersion"}},[i("el-input",{attrs:{placeholder:"请输入固件版本",type:"number",step:"0.1",disabled:1!=e.form.status||3===e.form.deviceType},model:{value:e.form.firmwareVersion,callback:function(t){e.$set(e.form,"firmwareVersion",t)},expression:"form.firmwareVersion"}},[i("template",{slot:"prepend"},[e._v("Version")])],2)],1),i("el-form-item",{attrs:{label:"禁用设备",prop:"deviceStatus"}},[i("el-switch",{attrs:{"active-text":"","inactive-text":"",disabled:1==e.form.status||3===e.form.deviceType,"active-value":1,"inactive-value":0,"active-color":"#F56C6C"},model:{value:e.deviceStatus,callback:function(t){e.deviceStatus=t},expression:"deviceStatus"}})],1),i("el-form-item",{attrs:{label:"设备影子",prop:"isShadow"}},[i("el-switch",{attrs:{"active-text":"","inactive-text":"","active-value":1,"inactive-value":0,disabled:3===e.form.deviceType},model:{value:e.form.isShadow,callback:function(t){e.$set(e.form,"isShadow",t)},expression:"form.isShadow"}})],1),i("el-form-item",{attrs:{label:"备注信息",prop:"remark"}},[i("el-input",{attrs:{type:"textarea",placeholder:"请输入内容",rows:"3"},model:{value:e.form.remark,callback:function(t){e.$set(e.form,"remark",t)},expression:"form.remark"}})],1)],1),i("el-col",{attrs:{xs:24,sm:24,md:24,lg:12,xl:8}},[i("el-form-item",{attrs:{label:"定位方式",prop:"locationWay"}},[i("el-select",{staticStyle:{width:"100%"},attrs:{placeholder:"请选择设备状态",clearable:"",size:"small",disabled:3===e.form.deviceType},model:{value:e.form.locationWay,callback:function(t){e.$set(e.form,"locationWay",t)},expression:"form.locationWay"}},e._l(e.dict.type.iot_location_way,(function(e){return i("el-option",{key:e.value,attrs:{label:e.label,value:Number(e.value)}})})),1)],1),i("el-form-item",{attrs:{label:"设备经度",prop:"longitude"}},[i("el-input",{attrs:{placeholder:"请输入设备经度",type:"number",disabled:3!=e.form.locationWay},model:{value:e.form.longitude,callback:function(t){e.$set(e.form,"longitude",t)},expression:"form.longitude"}},[i("el-link",{attrs:{slot:"append",underline:!1,href:"https://api.map.baidu.com/lbsapi/getpoint/index.html",target:"_blank",disabled:3!=e.form.locationWay},slot:"append"},[e._v("坐标拾取 ")])],1)],1),i("el-form-item",{attrs:{label:"设备纬度",prop:"latitude"}},[i("el-input",{attrs:{placeholder:"请输入设备纬度",type:"number",disabled:3!=e.form.locationWay},model:{value:e.form.latitude,callback:function(t){e.$set(e.form,"latitude",t)},expression:"form.latitude"}},[i("el-link",{attrs:{slot:"append",underline:!1,href:"https://api.map.baidu.com/lbsapi/getpoint/index.html",target:"_blank",disabled:3!=e.form.locationWay},slot:"append"},[e._v("坐标拾取 ")])],1)],1),i("el-form-item",{attrs:{label:"所在地址",prop:"networkAddress"}},[i("el-input",{attrs:{placeholder:"请输入设备所在地址",disabled:3!=e.form.locationWay},model:{value:e.form.networkAddress,callback:function(t){e.$set(e.form,"networkAddress",t)},expression:"form.networkAddress"}})],1),i("el-form-item",{attrs:{label:"入网地址",prop:"networkIp"}},[i("el-input",{attrs:{placeholder:"设备入网IP",disabled:""},model:{value:e.form.networkIp,callback:function(t){e.$set(e.form,"networkIp",t)},expression:"form.networkIp"}})],1),i("el-form-item",{attrs:{label:"激活时间",prop:"activeTime"}},[i("el-date-picker",{staticStyle:{width:"100%"},attrs:{clearable:"",type:"date","value-format":"yyyy-MM-dd",placeholder:"设备激活时间",disabled:""},model:{value:e.form.activeTime,callback:function(t){e.$set(e.form,"activeTime",t)},expression:"form.activeTime"}})],1),i("el-form-item",{attrs:{label:"设备信号",prop:"rssi"}},[i("el-input",{attrs:{placeholder:"设备信号强度",disabled:""},model:{value:e.form.rssi,callback:function(t){e.$set(e.form,"rssi",t)},expression:"form.rssi"}})],1),i("el-form-item",{attrs:{label:"设备状态",prop:"status"}},[i("dict-tag",{staticStyle:{width:"60px",display:"inline-block"},attrs:{options:e.dict.type.iot_device_status,value:e.form.status}})],1)],1),i("el-col",{attrs:{xs:24,sm:24,md:24,lg:12,xl:8}},[i("div",{staticStyle:{border:"1px solid #dfe4ed","border-radius":"5px",padding:"5px","text-align":"center","line-height":"400px"}},[i("div",{staticStyle:{height:"435px",width:"100%"},attrs:{id:"map"}},[e._v("地图展示区域,新增后显示")])])])],1)],1),i("el-form",{staticStyle:{"margin-top":"50px"},attrs:{"label-width":"100px"}},[i("el-form-item",{staticStyle:{"text-align":"center","margin-left":"-100px","margin-top":"10px"}},[i("el-button",{directives:[{name:"hasPermi",rawName:"v-hasPermi",value:["iot:device:edit"],expression:"['iot:device:edit']"},{name:"show",rawName:"v-show",value:0!=e.form.deviceId,expression:"form.deviceId!=0"}],attrs:{type:"primary"},on:{click:e.submitForm}},[e._v("修 改")]),i("el-button",{directives:[{name:"hasPermi",rawName:"v-hasPermi",value:["iot:device:add"],expression:"['iot:device:add']"},{name:"show",rawName:"v-show",value:0==e.form.deviceId,expression:"form.deviceId==0"}],attrs:{type:"primary"},on:{click:e.submitForm}},[e._v("新 增")])],1)],1),i("product-list",{ref:"productList",attrs:{productId:e.form.productId},on:{productEvent:function(t){return e.getProductData(t)}}}),i("sipid",{ref:"sipidGen",attrs:{product:e.form},on:{addGenEvent:function(t){return e.getSipIDData(t)}}})],1),3!==e.form.deviceType?i("el-tab-pane",{attrs:{name:"runningStatus",disabled:0==e.form.deviceId}},[i("span",{attrs:{slot:"label"},slot:"label"},[e._v("运行状态")]),i("running-status",{ref:"runningStatus",attrs:{device:e.form},on:{statusEvent:function(t){return e.getDeviceStatusData(t)}}})],1):e._e(),3!==e.form.deviceType?i("el-tab-pane",{attrs:{name:"deviceTimer",disabled:0==e.form.deviceId}},[i("span",{attrs:{slot:"label"},slot:"label"},[e._v("设备定时")]),i("device-timer",{ref:"deviceTimer",attrs:{device:e.form}})],1):e._e(),i("el-tab-pane",{attrs:{name:"deviceUser",disabled:0==e.form.deviceId}},[i("span",{attrs:{slot:"label"},slot:"label"},[e._v("设备用户")]),i("device-user",{ref:"deviceUser",attrs:{device:e.form},on:{userEvent:function(t){return e.getUserData(t)}}})],1),3!==e.form.deviceType?i("el-tab-pane",{attrs:{name:"deviceLog",disabled:0==e.form.deviceId}},[i("span",{attrs:{slot:"label"},slot:"label"},[e._v("设备日志")]),i("device-log",{ref:"deviceLog",attrs:{device:e.form}})],1):e._e(),3!==e.form.deviceType?i("el-tab-pane",{attrs:{name:"deviceMonitor",disabled:0==e.form.deviceId}},[i("span",{attrs:{slot:"label"},slot:"label"},[e._v("实时监测")]),i("device-monitor",{ref:"deviceMonitor",attrs:{device:e.form}})],1):e._e(),3!==e.form.deviceType?i("el-tab-pane",{attrs:{name:"deviceStastic",disabled:0==e.form.deviceId}},[i("span",{attrs:{slot:"label"},slot:"label"},[e._v("监测统计")]),i("device-statistic",{ref:"deviceStatistic",attrs:{device:e.form}})],1):e._e(),3===e.form.deviceType?i("el-tab-pane",{attrs:{name:"runningStatus",disabled:0==e.form.deviceId}},[i("span",{attrs:{slot:"label"},slot:"label"},[e._v("设备通道")]),i("channel",{ref:"deviceChannel",attrs:{device:e.form}})],1):e._e(),i("el-tab-pane",[i("span",{attrs:{slot:"label"},slot:"label"},[i("div",{staticStyle:{"margin-top":"200px"}})])]),3!==e.form.deviceType?i("el-tab-pane",{attrs:{name:"device04"}},[i("span",{attrs:{slot:"label"},slot:"label"},[i("el-tooltip",{staticClass:"item",attrs:{effect:"dark",content:"用于查看发送的指令,设备是否已经响应",placement:"right-start"}},[i("el-button",{attrs:{type:"warning",size:"mini",disabled:0==e.form.deviceId},on:{click:function(t){return e.deviceSynchronization()}}},[e._v("数据同步")])],1)],1)]):e._e(),i("el-tab-pane",{attrs:{name:"device05"}},[i("span",{attrs:{slot:"label"},slot:"label"},[i("el-button",{attrs:{type:"info",size:"mini"},on:{click:function(t){return e.goBack()}}},[e._v("返回列表")])],1)])],1),i("el-dialog",{attrs:{title:"摘要(设备上传的只读数据)",visible:e.openSummary,width:"700px","append-to-body":""},on:{"update:visible":function(t){e.openSummary=t}}},[i("el-row",{attrs:{gutter:20}},[i("el-col",{attrs:{span:14}},[i("div",{staticStyle:{border:"1px solid #ccc","margin-top":"-15px",height:"350px",width:"360px",overflow:"scroll"}},[i("json-viewer",{attrs:{value:e.summary,"expand-depth":10,copyable:""},scopedSlots:e._u([{key:"copy",fn:function(){return[e._v(" 复制 ")]},proxy:!0}])})],1)]),i("el-col",{attrs:{span:10}},[i("div",{staticStyle:{border:"1px solid #ccc",width:"200px","text-align":"center","margin-left":"20px","margin-top":"-10px"}},[i("vue-qr",{attrs:{text:e.qrText,size:200}}),i("div",{staticStyle:{"padding-bottom":"10px"}},[e._v("设备二维码")])],1)])],1),i("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[i("el-button",{attrs:{type:"info"},on:{click:e.closeSummaryDialog}},[e._v("关 闭")])],1)],1)],1)},n=[],o=i("c7eb"),r=i("1da1"),s=(i("d3b7"),i("25f0"),i("b0c0"),i("a434"),i("ac1f"),i("00b4"),i("e9c4"),i("d81d"),i("349e")),l=i.n(s),c=(i("0b22"),i("e51f")),d=i("7168"),u=i("b52e"),p=i("5f43"),m=i("dd50"),h=i("f14e"),f=i("7a72"),v=i("67dd"),g=i("39c9"),y=i("658f5"),b=i.n(y),w=i("09cb"),x=i("584f"),I=i("01ca"),k=(i("f5a7"),{name:"DeviceEdit",dicts:["iot_device_status","iot_location_way"],components:{deviceLog:d["default"],deviceUser:u["default"],deviceMonitor:m["default"],deviceStatistic:h["default"],runningStatus:p["default"],productList:c["default"],deviceTimer:f["default"],JsonViewer:l.a,vueQr:b.a,channel:v["default"],sipid:g["default"]},watch:{activeName:function(e){"deviceStastic"==e&&this.$nextTick((function(){}))}},computed:{deviceStatus:{set:function(e){this.form.status=1==e?2:0==e?4:this.oldDeviceStatus},get:function(){return 2==this.form.status?1:0}}},data:function(){return{qrText:"wumei-smart",openSummary:!1,genDisabled:!1,activeName:"basic",loading:!0,oldDeviceStatus:null,form:{productId:0,status:1,locationWay:1,firmwareVersion:1,serialNumber:""},summary:[],baseUrl:"/prod-api",map:null,mk:null,latitude:"",longitude:"",rules:{deviceName:[{required:!0,message:"设备名称不能为空",trigger:"blur"},{min:2,max:32,message:"设备名称长度在 2 到 32 个字符",trigger:"blur"}],firmwareVersion:[{required:!0,message:"固件版本不能为空",trigger:"blur"}]},isMediaDevice:!1}},created:function(){var e=this.$route.query.activeName;null!=e&&""!=e&&(this.activeName=e),this.form.deviceId=this.$route.query&&this.$route.query.deviceId,0!=this.form.deviceId&&(this.connectMqtt(),this.getDevice(this.form.deviceId))},activated:function(){var e=this.$route.query.activeName;null!=e&&""!=e&&(this.activeName=e)},destroyed:function(){this.mqttUnSubscribe(this.form)},methods:{connectMqtt:function(){var e=this;return Object(r["a"])(Object(o["a"])().mark((function t(){return Object(o["a"])().wrap((function(t){while(1)switch(t.prev=t.next){case 0:if(null!=e.$mqttTool.client){t.next=3;break}return t.next=3,e.$mqttTool.connect(e.vuex_token);case 3:e.mqttCallback();case 4:case"end":return t.stop()}}),t)})))()},mqttCallback:function(){var e=this;this.$mqttTool.client.on("message",(function(t,i,a){var n=t.split("/"),o=(n[1],n[2]);i=JSON.parse(i.toString()),i&&"status"==n[3]&&(console.log("接收到【设备状态-详情】主题:",t),console.log("接收到【设备状态-详情】内容:",i),e.form.serialNumber==o&&(e.oldDeviceStatus=i.status,e.form.status=i.status,e.form.isShadow=i.isShadow,e.form.rssid=i.rssid))}))},mqttSubscribe:function(e){var t="/"+e.productId+"/"+e.serialNumber+"/status/post",i="/"+e.productId+"/"+e.serialNumber+"/property/post",a="/"+e.productId+"/"+e.serialNumber+"/function/post",n="/"+e.productId+"/"+e.serialNumber+"/monitor/post",o=[];o.push(t),o.push(i),o.push(a),o.push(n),this.$mqttTool.subscribe(o)},mqttUnSubscribe:function(e){var t="/"+e.productId+"/"+e.serialNumber+"/status/post",i="/"+e.productId+"/"+e.serialNumber+"/property/post",a="/"+e.productId+"/"+e.serialNumber+"/function/post",n="/"+e.productId+"/"+e.serialNumber+"/monitor/post",o=[];o.push(t),o.push(i),o.push(a),o.push(n),console.log("取消订阅",o),this.$mqttTool.unsubscribe(o)},getDeviceStatusData:function(e){this.form.status=e},deviceSynchronization:function(){var e=this;Object(x["c"])(this.form.serialNumber).then(function(){var t=Object(r["a"])(Object(o["a"])().mark((function t(i){return Object(o["a"])().wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.next=2,e.getCacheThingsModdel(i.data.productId);case 2:return i.data.cacheThingsModel=t.sent,t.next=5,e.getDeviceStatus(e.form.deviceId);case 5:i.data.thingsModels=t.sent,e.formatThingsModel(i.data),e.form=i.data,e.activeName="runningStatus",e.oldDeviceStatus=e.form.status,e.loadMap();case 11:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}())},getDevice:function(e){var t=this;Object(x["e"])(e).then(function(){var i=Object(r["a"])(Object(o["a"])().mark((function i(a){return Object(o["a"])().wrap((function(i){while(1)switch(i.prev=i.next){case 0:return i.next=2,t.getCacheThingsModdel(a.data.productId);case 2:return a.data.cacheThingsModel=i.sent,i.next=5,t.getDeviceStatus(e);case 5:a.data.thingsModels=i.sent,t.formatThingsModel(a.data),t.form=a.data,null!=t.form.summary&&""!=t.form.summary&&(t.summary=JSON.parse(t.form.summary)),t.oldDeviceStatus=t.form.status,t.loadMap(),t.mqttSubscribe(t.form);case 12:case"end":return i.stop()}}),i)})));return function(e){return i.apply(this,arguments)}}())},getCacheThingsModdel:function(e){return new Promise((function(t,i){Object(I["b"])(e).then((function(e){t(JSON.parse(e.data))})).catch((function(e){i(e)}))}))},getDeviceStatus:function(e){return new Promise((function(t,i){Object(x["g"])(e).then((function(e){t(e.data.thingsModels)})).catch((function(e){i(e)}))}))},formatThingsModel:function(e){e.monitorList=[];for(var t=0;t<e.thingsModels.length;t++)if("array"==e.thingsModels[t].dataType.type)if("object"==e.thingsModels[t].dataType.arrayType)for(var i=0;i<e.thingsModels[t].dataType.arrayParams.length;i++)for(var a=0;a<e.thingsModels[t].dataType.arrayParams[i].length;a++){var n=i>9?String(i):"0"+i,o="array_"+n+"_";e.thingsModels[t].dataType.arrayParams[i][a].id=o+e.thingsModels[t].dataType.arrayParams[i][a].id,1==e.thingsModels[t].dataType.arrayParams[i][a].isMonitor&&(e.thingsModels[t].dataType.arrayParams[i][a].name="["+e.thingsModels[t].name+(i+1)+"] "+e.thingsModels[t].dataType.arrayParams[i][a].name,e.thingsModels[t].dataType.arrayParams[i][a].dataType.arrayType="object",e.monitorList.push(e.thingsModels[t].dataType.arrayParams[i][a]),e.thingsModels[t].dataType.arrayParams[i].splice(a--,1))}else for(var r=""!=e.thingsModels[t].value?e.thingsModels[t].value.split(","):[],s=""!=e.thingsModels[t].shadow?e.thingsModels[t].shadow.split(","):[],l=0;l<e.thingsModels[t].dataType.arrayCount;l++){e.thingsModels[t].dataType.arrayModel||(e.thingsModels[t].dataType.arrayModel=[]);var c=l>9?String(l):"0"+l,d="array_"+c+"_";e.thingsModels[t].dataType.arrayModel[l]={id:d+e.thingsModels[t].id,name:e.thingsModels[t].name,type:e.thingsModels[t].type,isReadonly:e.thingsModels[t].isReadonly,value:r[l]?r[l]:"",shadow:s[l]?s[l]:""}}else if("object"==e.thingsModels[t].dataType.type)for(var u=0;u<e.thingsModels[t].dataType.params.length;u++)1==e.thingsModels[t].dataType.params[u].isMonitor&&(e.thingsModels[t].dataType.params[u].name="["+e.thingsModels[t].name+"] "+e.thingsModels[t].dataType.params[u].name,e.monitorList.push(e.thingsModels[t].dataType.params[u]),e.thingsModels[t].dataType.params.splice(u--,1));else 1==e.thingsModels[t].isMonitor&&(e.monitorList.push(e.thingsModels[t]),e.thingsModels.splice(t--,1))},loadMap:function(){var e=this;this.$nextTick((function(){Object(w["a"])().then((function(){e.getmap()}))}))},goBack:function(){var e={path:"/iot/device",query:{t:Date.now(),pageNum:this.$route.query.pageNum}};this.$tab.closeOpenPage(e),this.reset()},reset:function(){this.form={deviceId:0,deviceName:null,productId:null,productName:null,userId:null,userName:null,tenantId:null,tenantName:null,serialNumber:"",firmwareVersion:1,status:1,rssi:null,networkAddress:null,networkIp:null,longitude:null,latitude:null,activeTime:null,createBy:null,createTime:null,updateBy:null,updateTime:null,remark:null,locationWay:1},this.deviceStatus=0,this.resetForm("form")},submitForm:function(){var e=this;if(null!=this.form.serialNumber&&0!=this.form.serialNumber){var t=/^[0-9a-zA-Z]+$/;t.test(this.form.serialNumber)?null!=this.form.productId&&0!=this.form.productId?this.$refs["form"].validate((function(t){t&&(0!=e.form.deviceId?Object(x["m"])(e.form).then((function(t){0==t.data?e.$modal.alertError(t.msg):(e.$modal.alertSuccess("修改成功"),e.form=JSON.parse(JSON.stringify(e.form)),e.loadMap())})):Object(x["a"])(e.form).then((function(t){e.form=t.data,e.oldDeviceStatus=e.form.status,null==e.form.deviceId||0==e.form.deviceId?e.$modal.alertError("设备编号已经存在,添加设备失败"):(2==e.form.status&&(e.deviceStatus=1),e.$modal.alertSuccess("添加设备成功"),e.loadMap())})))})):this.$modal.alertError("所属产品不能为空"):this.$modal.alertError("设备编号只能是字母和数字")}else this.$modal.alertError("设备编号不能为空")},selectProduct:function(){this.$refs.productList.open=!0,this.$refs.productList.getList()},genSipID:function(){this.$refs.sipidGen.open=!0},getProductData:function(e){this.form.productId=e.productId,this.form.productName=e.productName,this.form.deviceType=e.deviceType,this.form.tenantId=e.tenantId,this.form.tenantName=e.tenantName},getSipIDData:function(e){this.form.serialNumber=e},getUserData:function(e){},openSummaryDialog:function(){var e={type:1,deviceNumber:this.form.serialNumber,productId:this.form.productId,productName:this.form.productName};this.qrText=JSON.stringify(e),this.openSummary=!0},closeSummaryDialog:function(){this.openSummary=!1},getmap:function(){this.map=new BMap.Map("map");var e=null;e=null!=this.form.longitude&&""!=this.form.longitude&&null!=this.form.latitude&&""!=this.form.latitude?new BMap.Point(this.form.longitude,this.form.latitude):new BMap.Point(116.404,39.915),this.map.centerAndZoom(e,19),this.map.enableScrollWheelZoom(!0),this.map.addControl(new BMap.NavigationControl),this.mk=new BMap.Marker(e),this.map.addOverlay(this.mk),this.map.panTo(e)},generateNum:function(){var e=this;this.form.productId&&0!=this.form.productId?(this.genDisabled=!0,Object(x["d"])().then((function(t){e.form.serialNumber=t.data,e.genDisabled=!1}))):this.$modal.alertError("请先选择产品")}}}),_=k,T=i("2877"),S=Object(T["a"])(_,a,n,!1,null,null,null);t["default"]=S.exports},f14e:function(e,t,i){"use strict";i.r(t);var a=function(){var e=this,t=e.$createElement,i=e._self._c||t;return i("div",{staticStyle:{"padding-left":"20px"}},[i("el-row",[i("el-col",{attrs:{span:24}},[i("el-form",{ref:"queryForm",attrs:{model:e.queryParams,inline:!0,"label-width":"75px"}},[i("el-form-item",{attrs:{label:"时间范围"}},[i("el-date-picker",{staticStyle:{width:"240px"},attrs:{size:"small","value-format":"yyyy-MM-dd",type:"daterange","range-separator":"-","start-placeholder":"开始日期","end-placeholder":"结束日期"},model:{value:e.daterangeTime,callback:function(t){e.daterangeTime=t},expression:"daterangeTime"}})],1),i("el-form-item",{attrs:{label:"最大数量"}},[i("el-input",{model:{value:e.queryParams.total,callback:function(t){e.$set(e.queryParams,"total",t)},expression:"queryParams.total"}})],1),i("el-form-item",[i("el-button",{attrs:{type:"primary",icon:"el-icon-search",size:"mini"},on:{click:e.getStatisticData}},[e._v("查询")])],1)],1)],1),i("el-col",{attrs:{span:23}},e._l(e.monitorThings,(function(t,a){return i("div",{key:a,staticStyle:{"margin-bottom":"30px"}},[i("el-card",{directives:[{name:"loading",rawName:"v-loading",value:e.loading,expression:"loading"}],attrs:{shadow:"hover","body-style":{padding:"10px 0px",overflow:"auto"}}},[i("div",{ref:"statisticMap",refInFor:!0,staticStyle:{height:"300px",width:"1080px"}})])],1)})),0)],1)],1)},n=[],o=i("c7eb"),r=i("1da1"),s=(i("3ca3"),i("ddb0"),i("b0c0"),i("a035")),l={name:"device-statistic",props:{device:{type:Object,default:null}},watch:{device:function(e,t){this.deviceInfo=e,this.deviceInfo&&0!=this.deviceInfo.deviceId&&(this.monitorThings=this.deviceInfo.monitorList,this.$nextTick((function(){this.getStatistic(),this.getStatisticData(this.monitorThings)})))}},data:function(){return{loading:!1,deviceInfo:{},monitorThings:[],chart:[],daterangeTime:[],queryParams:{serialNumber:null,identity:"",total:200},arrayData:[]}},mounted:function(){},methods:{getStatisticData:function(){var e=this;return Object(r["a"])(Object(o["a"])().mark((function t(){var i,a;return Object(o["a"])().wrap((function(t){while(1)switch(t.prev=t.next){case 0:e.loading=!0,i=Object(o["a"])().mark((function t(i){return Object(o["a"])().wrap((function(t){while(1)switch(t.prev=t.next){case 0:e.queryParams.serialNumber=e.deviceInfo.serialNumber,e.queryParams.identity=e.monitorThings[i].id,null!=e.daterangeTime&&""!=e.daterangeTime&&(e.queryParams.beginTime=e.daterangeTime[0],e.queryParams.endTime=e.daterangeTime[1]+" 23:59"),String(e.monitorThings[i].id)&&Object(s["b"])(e.queryParams).then((function(t){for(var a=t.rows,n=[],o=0;o<a.length;o++){var r=[];r[0]=a[o].time,r[1]=a[o].value,n.push(r)}e.chart[i].setOption({series:[{data:n}]}),e.loading=!1}));case 4:case"end":return t.stop()}}),t)})),a=0;case 3:if(!(a<e.monitorThings.length)){t.next=8;break}return t.delegateYield(i(a),"t0",5);case 5:a++,t.next=3;break;case 8:case"end":return t.stop()}}),t)})))()},getStatistic:function(){for(var e=["#1890FF","#91CB74","#FAC858","#EE6666","#73C0DE","#3CA272","#FC8452","#9A60B4","#ea7ccc"],t=0;t<this.monitorThings.length;t++){var i;this.$refs.statisticMap[t].style.width=document.documentElement.clientWidth-510+"px",this.chart[t]=this.$echarts.init(this.$refs.statisticMap[t]),i={animationDurationUpdate:3e3,tooltip:{trigger:"axis"},title:{left:"center",text:this.monitorThings[t].name+"统计 (单位 "+(void 0!=this.monitorThings[t].dataType.unit?this.monitorThings[t].dataType.unit:"无")+")"},grid:{top:"80px",left:"40px",right:"20px",bottom:"60px",containLabel:!0},toolbox:{feature:{dataZoom:{yAxisIndex:"none"},restore:{},saveAsImage:{}}},xAxis:{type:"time"},yAxis:{type:"value"},dataZoom:[{type:"inside",start:0,end:100},{start:0,end:100}],series:[{name:this.monitorThings[t].name,type:"line",symbol:"none",sampling:"lttb",itemStyle:{color:t>9?e[0]:e[t]},areaStyle:{},data:[]}]},i&&this.chart[t].setOption(i)}}}},c=l,d=i("2877"),u=Object(d["a"])(c,a,n,!1,null,null,null);t["default"]=u.exports},f5a7:function(e,t,i){"use strict";i.d(t,"a",(function(){return n})),i.d(t,"b",(function(){return o})),i.d(t,"c",(function(){return r}));var a=i("b775");function n(e){return Object(a["a"])({url:"/sip/device/sipid/"+e,method:"delete"})}function o(e,t,i){return Object(a["a"])({url:"/sip/ptz/direction/"+e+"/"+t,method:"post",data:i})}function r(e,t,i){return Object(a["a"])({url:"/sip/ptz/scale/"+e+"/"+t,method:"post",data:i})}}}]); |