chunk-d9ee2f2a.f64a2b05.js 98 KB

1
  1. (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-d9ee2f2a","chunk-6a296bb7","chunk-2eb20b18","chunk-c4fbb8a4","chunk-03fb653e","chunk-e58acb58","chunk-722c5e57","chunk-2d0d6012","chunk-2d229411"],{"01ca":function(e,t,i){"use strict";i.d(t,"f",(function(){return r})),i.d(t,"d",(function(){return n})),i.d(t,"g",(function(){return s})),i.d(t,"a",(function(){return o})),i.d(t,"e",(function(){return l})),i.d(t,"h",(function(){return c})),i.d(t,"c",(function(){return d})),i.d(t,"b",(function(){return u}));var a=i("b775");function r(e){return Object(a["a"])({url:"/iot/model/list",method:"get",params:e})}function n(e){return Object(a["a"])({url:"/iot/model/"+e,method:"get"})}function s(e){return Object(a["a"])({url:"/iot/model/permList/"+e,method:"get"})}function o(e){return Object(a["a"])({url:"/iot/model",method:"post",data:e})}function l(e){return Object(a["a"])({url:"/iot/model/import",method:"post",data:e})}function c(e){return Object(a["a"])({url:"/iot/model",method:"put",data:e})}function d(e){return Object(a["a"])({url:"/iot/model/"+e,method:"delete"})}function u(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 r=document.createElement("script");r.type="text/javascript",r.src="http://api.map.baidu.com/api?v=2.0&ak=nAtaBg9FYzav6c8P9rF9qzsWZfT8O0PD&s=1&__ec_v__=20190126&callback=onBMapCallback",r.onerror=t,document.head.appendChild(r)}))}},"1c4f":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",{staticClass:"app-container"},[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"}},[e.isSubDev?i("el-form-item",{attrs:{label:"请选择设备从机:","label-width":"120px"}},[i("el-select",{attrs:{placeholder:"请选择设备从机"},on:{change:e.selectSlave},model:{value:e.queryParams.slaveId,callback:function(t){e.$set(e.queryParams,"slaveId",t)},expression:"queryParams.slaveId"}},e._l(e.slaveList,(function(e){return i("el-option",{key:e.slaveId,attrs:{label:e.deviceName+" (从机地址:"+e.slaveId+")",value:e.slaveId}})})),1)],1):e._e(),i("el-form-item",{attrs:{label:"日志类型",prop:"funType"}},[i("el-select",{attrs:{placeholder:"请选择类型",clearable:"",size:"small"},model:{value:e.queryParams.funType,callback:function(t){e.$set(e.queryParams,"funType",t)},expression:"queryParams.funType"}},e._l(e.dict.type.iot_function_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:"identify"}},[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.identify,callback:function(t){e.$set(e.queryParams,"identify",t)},expression:"queryParams.identify"}})],1),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",[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.logList},on:{"selection-change":e.handleSelectionChange}},[i("el-table-column",{attrs:{type:"selection",width:"55",align:"center"}}),i("el-table-column",{attrs:{label:e.showName,align:"center",prop:"identify"}}),i("el-table-column",{attrs:{label:"指令类型",align:"center",prop:"funType",width:"120px"},scopedSlots:e._u([{key:"default",fn:function(t){return[i("dict-tag",{attrs:{options:e.dict.type.iot_function_type,value:t.row.funType}})]}}])}),i("el-table-column",{attrs:{label:"设置值",align:"center",prop:"funValue"}}),i("el-table-column",{attrs:{label:"设备编号",align:"center",prop:"serialNumber"}}),i("el-table-column",{attrs:{label:"下发时间",align:"center",prop:"createTime"}}),i("el-table-column",{attrs:{label:"下发结果描述",align:"center",prop:"resultMsg"}}),i("el-table-column",{attrs:{label:"操作",align:"center",width:"80"},scopedSlots:e._u([{key:"default",fn:function(t){return[i("el-button",{directives:[{name:"hasPermi",rawName:"v-hasPermi",value:["iot:device:remove"],expression:"['iot:device:remove']"}],attrs:{size:"mini",type:"text",icon:"el-icon-delete"},on:{click:function(i){return e.handleDelete(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}})],1)},r=[],n=i("5530"),s=(i("d81d"),i("dc9c")),o={name:"device-func",dicts:["iot_function_type","iot_yes_no"],props:{device:{type:Object,default:null}},watch:{device:function(e){this.deviceInfo=e,this.deviceInfo&&0!=this.deviceInfo.deviceId&&(this.isSubDev=this.deviceInfo.subDeviceList&&this.deviceInfo.subDeviceList.length>0,this.showName=this.isSubDev?"寄存器地址":"标识符",this.queryParams.deviceId=this.deviceInfo.deviceId,this.queryParams.slaveId=this.deviceInfo.slaveId,this.queryParams.serialNumber=this.deviceInfo.serialNumber,this.slaveList=e.subDeviceList,this.getList())}},data:function(){return{loading:!0,ids:[],single:!0,multiple:!0,showSearch:!0,total:0,logList:[],title:"",open:!1,deviceInfo:{},daterangeTime:[],queryParams:{pageNum:1,pageSize:10,identify:null,funType:null,funValue:null,messageId:null,deviceName:null,serialNumber:null,mode:null,userId:null,resultMsg:null,resultCode:null,slaveId:null},form:{},isSubDev:!1,showName:null,slaveList:[],rules:{identify:[{required:!0,message:"标识符不能为空",trigger:"blur"}],funType:[{required:!0,message:"功能下发类型不能为空",trigger:"change"}],funValue:[{required:!0,message:"日志值不能为空",trigger:"blur"}],serialNumber:[{required:!0,message:"设备编号不能为空",trigger:"blur"}]}}},created:function(){this.queryParams.serialNumber=this.device.serialNumber,this.getList()},methods:{getList:function(){var e=this;this.loading=!0,null!=this.daterangeTime&&""!=this.daterangeTime&&(this.queryParams.beginTime=this.daterangeTime[0],this.queryParams.endTime=this.daterangeTime[1]),this.queryParams.slaveId&&(this.queryParams.serialNumber=this.queryParams.serialNumber+"_"+this.queryParams.slaveId),Object(s["b"])(this.queryParams).then((function(t){e.logList=t.rows,e.total=t.total,e.loading=!1}))},cancel:function(){this.open=!1,this.reset()},reset:function(){this.form={id:null,identify:null,funType:null,funValue:null,messageId:null,deviceName:null,serialNumber:null,mode:null,userId:null,resultMsg:null,resultCode:null,createBy:null,createTime: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.id})),this.single=1!==e.length,this.multiple=!e.length},handleDelete:function(e){var t=this,i=e.id||this.ids;this.$modal.confirm('是否确认删除设备服务下发日志编号为"'+i+'"的数据项?').then((function(){return Object(s["a"])(i)})).then((function(){t.getList(),t.$modal.msgSuccess("删除成功")})).catch((function(){}))},handleExport:function(){this.download("iot/log/export",Object(n["a"])({},this.queryParams),"log_".concat((new Date).getTime(),".xlsx"))},selectSlave:function(){}}},l=o,c=i("2877"),d=Object(c["a"])(l,a,r,!1,null,null,null);t["default"]=d.exports},"24c5":function(e,t,i){"use strict";i.r(t);var a=i("c4dc"),r=i("d17d");for(var n in r)["default"].indexOf(n)<0&&function(e){i.d(t,e,(function(){return r[e]}))}(n);var s=i("2877"),o=Object(s["a"])(r["default"],a["a"],a["b"],!1,null,"7c982f02",null);t["default"]=o.exports},2544:function(e,t,i){"use strict";i.d(t,"e",(function(){return r})),i.d(t,"d",(function(){return n})),i.d(t,"f",(function(){return s})),i.d(t,"a",(function(){return o})),i.d(t,"b",(function(){return l})),i.d(t,"g",(function(){return c})),i.d(t,"c",(function(){return d}));var a=i("b775");function r(e){return Object(a["a"])({url:"/iot/deviceUser/list",method:"get",params:e})}function n(e,t){return Object(a["a"])({url:"/iot/deviceUser/"+e+"/"+t,method:"get"})}function s(e){return Object(a["a"])({url:"/iot/deviceUser/shareUser",method:"get",params:e})}function o(e){return Object(a["a"])({url:"/iot/deviceUser",method:"post",data:e})}function l(e){return Object(a["a"])({url:"/iot/deviceUser/addDeviceUsers",method:"post",data:e})}function c(e){return Object(a["a"])({url:"/iot/deviceUser",method:"put",data:e})}function d(e){return Object(a["a"])({url:"/iot/deviceUser",method:"delete",data:e})}},"466d":function(e,t,i){"use strict";var a=i("c65b"),r=i("d784"),n=i("825a"),s=i("7234"),o=i("50c4"),l=i("577e"),c=i("1d80"),d=i("dc4a"),u=i("8aa5"),m=i("14c3");r("match",(function(e,t,i){return[function(t){var i=c(this),r=s(t)?void 0:d(t,e);return r?a(r,t,i):new RegExp(t)[e](l(i))},function(e){var a=n(this),r=l(e),s=i(t,a,r);if(s.done)return s.value;if(!a.global)return m(a,r);var c=a.unicode;a.lastIndex=0;var d,p=[],h=0;while(null!==(d=m(a,r))){var f=l(d[0]);p[h]=f,""===f&&(a.lastIndex=u(r,o(a.lastIndex),c)),h++}return 0===h?null:p}]}))},"584f":function(e,t,i){"use strict";i.d(t,"m",(function(){return r})),i.d(t,"k",(function(){return n})),i.d(t,"l",(function(){return s})),i.d(t,"j",(function(){return o})),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 m})),i.d(t,"a",(function(){return p})),i.d(t,"n",(function(){return h})),i.d(t,"b",(function(){return f})),i.d(t,"d",(function(){return v})),i.d(t,"i",(function(){return g}));var a=i("b775");function r(e){return Object(a["a"])({url:"/iot/device/unAuthlist",method:"get",params:e})}function n(e){return Object(a["a"])({url:"/iot/device/listByGroup",method:"get",params:e})}function s(e){return Object(a["a"])({url:"/iot/device/shortList",method:"get",params:e})}function o(){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 m(e){return Object(a["a"])({url:"/iot/device/runningStatus",method:"get",params:e})}function p(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(e){return Object(a["a"])({url:"/iot/device/generator",method:"get",params:e})}function g(e){return Object(a["a"])({url:"/iot/device/getMqttConnectData",method:"get",params:e})}},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_event_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",{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",[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_event_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)},r=[],n=i("5530"),s=(i("b0c0"),i("a9e3"),i("b775"));function o(e){return Object(s["a"])({url:"/iot/event/list",method:"get",params:e})}var l={name:"DeviceLog",dicts:["iot_event_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},daterangeTime:[]}},created:function(){this.queryParams.serialNumber=this.device.serialNumber,this.getList()},methods:{getList:function(){var e=this;this.loading=!0,o(this.addDateRange(this.queryParams,this.daterangeTime)).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.daterangeTime=[],this.handleQuery()},handleExport:function(){this.download("iot/event/export",Object(n["a"])({},this.queryParams),"eventLog_".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);return""!=a?(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>":e.logValue}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 r=t,n=0;t.indexOf("array_")>-1&&(n=t.substring(6,8),r=t.substring(9));for(var s=0;s<this.thingsModel.properties[i].datatype.params.length;s++)if(this.thingsModel.properties[i].datatype.params[s].id==r)return this.thingsModel.properties[i].datatype.params[s].arrayIndex=Number(n)+1,this.thingsModel.properties[i].datatype.params[s].parentName=this.thingsModel.properties[i].name,this.thingsModel.properties[i].datatype.params[s]}else for(var o=0;o<this.thingsModel.properties[i].datatype.arrayCount.length;o++)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 m=0;m<this.thingsModel.functions[l].datatype.params.length;m++)if(this.thingsModel.functions[l].datatype.params[m].id==d)return this.thingsModel.functions[l].datatype.params[m].arrayIndex=Number(u)+1,this.thingsModel.functions[l].datatype.params[m].parentName=this.thingsModel.functions[l].name,this.thingsModel.functions[l].datatype.params[m]}else for(var p=0;p<this.thingsModel.functions[l].datatype.arrayCount.length;p++)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""}}},c=l,d=i("2877"),u=Object(d["a"])(c,a,r,!1,null,null,null);t["default"]=u.exports},7252:function(e,t){},"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:"small"},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:"执行时间",required:""}},[i("el-time-picker",{staticStyle:{width:"340px"},attrs:{"value-format":"HH:mm",format:"HH:mm",placeholder:"选择时间",editable:!1,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:"执行动作",required:""}},[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)},r=[],n=i("5530"),s=(i("d81d"),i("14d9"),i("4e82"),i("a434"),i("b0c0"),i("e9c4"),i("a9e3"),i("b64b"),i("b775"));function o(e){return Object(s["a"])({url:"/iot/job/list",method:"get",params:e})}function l(e){return Object(s["a"])({url:"/iot/job/"+e,method:"get"})}function c(e){return Object(s["a"])({url:"/iot/job",method:"post",data:e})}function d(e){return Object(s["a"])({url:"/iot/job",method:"put",data:e})}function u(e){return Object(s["a"])({url:"/iot/job/"+e,method:"delete"})}function m(e,t){var i={jobId:e,status:t};return Object(s["a"])({url:"/iot/job/changeStatus",method:"put",data:i})}function p(e,t){var i={jobId:e,jobGroup:t};return Object(s["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)}},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(){this.getList()},methods:{getList:function(){var e=this;this.loading=!0,o(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 m(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 p(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 r=0;r<t.thingsModel.functions.length;r++)if(t.actionList[i].id==t.thingsModel.functions[r].id){t.actionList[i].thingsModelItem=t.thingsModel.functions[r];break}if(0==t.form.isAdvance){var n=t.form.cronExpression.substring(12).split(",").map(Number);t.timerWeekValue=n,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(n["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 r=t[a].value;if(1==t[a].type){for(var n=0;n<this.thingsModel.properties.length;n++)if(t[a].id==this.thingsModel.properties[n].id){if("decimal"==this.thingsModel.properties[n].datatype.type||"integer"==this.thingsModel.properties[n].datatype.type)r=t[a].value+this.thingsModel.properties[n].datatype.unit;else if("enum"==this.thingsModel.properties[n].datatype.type){for(var s=0;s<this.thingsModel.properties[n].datatype.enumList.length;s++)if(t[a].value==this.thingsModel.properties[n].datatype.enumList[s].value){r=this.thingsModel.properties[n].datatype.enumList[s].text;break}}else"bool"==this.thingsModel.properties[n].datatype.type&&(r="1"==t[a].value?this.thingsModel.properties[n].datatype.trueText:this.thingsModel.properties[n].datatype.falseText);break}}else if(2==t[a].type)for(var o=0;o<this.thingsModel.functions.length;o++)if(t[a].id==this.thingsModel.functions[o].id){if("decimal"==this.thingsModel.functions[o].datatype.type||"integer"==this.thingsModel.functions[o].datatype.type)r=t[a].value+this.thingsModel.functions[o].datatype.unit;else if("enum"==this.thingsModel.functions[o].datatype.type){for(var l=0;l<this.thingsModel.functions[o].datatype.enumList.length;l++)if(t[a].value==this.thingsModel.functions[o].datatype.enumList[l].value){r=this.thingsModel.functions[o].datatype.enumList[l].text;break}}else"bool"==this.thingsModel.functions[o].datatype.type&&(r="1"==t[a].value?this.thingsModel.functions[o].datatype.trueText:this.thingsModel.functions[o].datatype.falseText);break}i=i+t[a].name+':<span style="color:#F56C6C">'+r+"</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 r=a.split(","),n=0;n<r.length;n++)"1"==r[n]?t+="周一、":"2"==r[n]?t+="周二、":"3"==r[n]?t+="周三、":"4"==r[n]?t+="周四、":"5"==r[n]?t+="周五、":"6"==r[n]?t+="周六、":"7"==r[n]&&(t+="周日、");t=t.substring(0,t.length-1)+" "+i}}else t="自定义Cron表达式";return t}}},v=f,g=i("2877"),b=Object(g["a"])(v,a,r,!1,null,null,null);t["default"]=b.exports},"9b9c":function(e,t,i){"use strict";i.d(t,"f",(function(){return r})),i.d(t,"e",(function(){return n})),i.d(t,"a",(function(){return s})),i.d(t,"g",(function(){return o})),i.d(t,"d",(function(){return l})),i.d(t,"b",(function(){return c})),i.d(t,"c",(function(){return d}));var a=i("b775");function r(e){return Object(a["a"])({url:"/iot/product/list",method:"get",params:e})}function n(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 o(e){return Object(a["a"])({url:"/iot/product",method:"put",data:e})}function l(e){return Object(a["a"])({url:"/iot/product/deviceCount/"+e,method:"get"})}function c(e){return Object(a["a"])({url:"/iot/product/status/",method:"put",data:e})}function d(e){return Object(a["a"])({url:"/iot/product/"+e,method:"delete"})}},a035:function(e,t,i){"use strict";i.d(t,"a",(function(){return r})),i.d(t,"b",(function(){return n}));var a=i("b775");function r(e){return Object(a["a"])({url:"/iot/deviceLog/list",method:"get",params:e})}function n(e){return Object(a["a"])({url:"/iot/deviceLog/history",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.shareDevice}},[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:"180"},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:"设备分享",visible:e.open,width:"800px"},on:{"update:visible":function(t){e.open=t}}},[i("div",{staticStyle:{"margin-top":"-50px"}},[i("el-divider")],1),1==e.type?i("el-form",{ref:"queryForm",attrs:{model:e.permParams,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.permParams.phonenumber,callback:function(t){e.$set(e.permParams,"phonenumber",t)},expression:"permParams.phonenumber"}})],1),i("el-form-item",[i("el-button",{attrs:{type:"primary",icon:"el-icon-search",size:"mini"},on:{click:e.userQuery}},[e._v("查询用户")])],1)],1):e._e(),i("div",{directives:[{name:"loading",rawName:"v-loading",value:e.permsLoading,expression:"permsLoading"}],staticStyle:{"background-color":"#f8f8f9","line-height":"28px"}},[e.message?i("div",{staticStyle:{padding:"20px"}},[e._v(e._s(e.message))]):e._e(),e.form.userId?i("div",{staticStyle:{padding:"15px"}},[i("div",{staticStyle:{"font-weight":"bold","line-height":"28px"}},[e._v("用户信息")]),i("span",{staticStyle:{width:"80px",display:"inline-block"}},[e._v("用户ID:")]),i("span",[e._v(e._s(e.form.userId))]),i("br"),i("span",{staticStyle:{width:"80px",display:"inline-block"}},[e._v("手机号码:")]),i("span",[e._v(e._s(e.form.phonenumber))]),i("br"),i("span",{staticStyle:{width:"80px",display:"inline-block"}},[e._v("用户名称:")]),i("span",[e._v(e._s(e.form.userName))]),i("br"),i("div",{staticStyle:{"font-weight":"bold",margin:"15px 0 10px"}},[e._v("设置用户权限")]),i("el-table",{ref:"multipleTable",attrs:{data:e.sharePermissionList,"highlight-current-row":"",size:"mini"},on:{select:e.handleSelectionChange,"select-all":e.handleSelectionAll}},[i("el-table-column",{attrs:{type:"selection",width:"55",align:"center"}}),i("el-table-column",{key:"modelName",attrs:{label:"权限名称",align:"center",prop:"modelName"}}),i("el-table-column",{key:"identifier",attrs:{label:"权限标识",align:"center",prop:"identifier"}}),i("el-table-column",{key:"remark",attrs:{label:"备注信息",align:"left","min-width":"100","header-align":"center",prop:"remark"}})],1),i("div",{staticStyle:{"font-weight":"bold",margin:"15px 0 10px"}},[e._v("备注信息")]),i("el-input",{attrs:{type:"textarea",placeholder:"请输入内容",rows:"2"},model:{value:e.form.remark,callback:function(t){e.$set(e.form,"remark",t)},expression:"form.remark"}})],1):e._e()]),i("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[i("el-button",{attrs:{type:"primary",disabled:!e.form.userId||!e.deviceInfo.deviceId},on:{click:e.submitForm}},[e._v("确定")]),i("el-button",{on:{click:e.closeSelectUser}},[e._v("关 闭")])],1)],1)],1)},r=[],n=i("c7eb"),s=i("1da1"),o=(i("99af"),i("a15b"),i("d81d"),i("2544")),l=i("01ca"),c={name:"device-user",dicts:["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.deviceId=this.deviceInfo.deviceId,this.getList())}},data:function(){return{type:1,message:"",permsLoading:!1,sharePermissionList:[],deviceInfo:{},open:!1,permParams:{userName:void 0,phonenumber:void 0,deviceId:null},rules:{phonenumber:[{required:!0,message:"手机号码不能为空",trigger:"blur"},{min:11,max:11,message:"手机号码长度为11位",trigger:"blur"}]},loading:!0,total:0,deviceUserList:[],queryParams:{pageNum:1,pageSize:10,deviceName:null,userName:null,userId:null,tenantName:null,isOwner:null},form:{}}},created:function(){this.queryParams.deviceId=this.device.deviceId,this.getList()},methods:{getList:function(){var e=this;this.loading=!0,Object(o["e"])(this.queryParams).then((function(t){e.deviceUserList=t.rows,e.total=t.total,e.loading=!1}))},reset:function(){this.form={deviceId:null,userId:null,deviceName:null,userName:null,perms:null,phonenumber:null,remark:null},this.sharePermissionList=[],this.message="",this.resetForm("form")},handleQuery:function(){this.queryParams.pageNum=1,this.getList()},handleUpdate:function(e){var t=this;this.reset(),this.type=2,Object(o["d"])(e.deviceId,e.userId).then((function(e){t.form=e.data,t.getPermissionList(),t.open=!0}))},shareDevice:function(){this.type=1,this.open=!0},handleDelete:function(e){var t=this,i=e;this.$modal.confirm("确认取消分享设备?").then((function(){return Object(o["c"])(i)})).then((function(){t.getList(),t.$modal.msgSuccess("取消分享成功")})).catch((function(){}))},userQuery:function(){var e=this;this.$refs["queryForm"].validate((function(t){t&&(e.reset(),e.getShareUser())}))},getShareUser:function(){var e=this;this.permsLoading=!0,this.deviceInfo.deviceId?(this.permParams.deviceId=this.deviceInfo.deviceId,Object(o["f"])(this.permParams).then((function(t){t.data?(e.form=t.data,e.getPermissionList()):(e.permsLoading=!1,e.message="查询不到用户信息,或者该用户已经是设备用户")}))):this.$modal.alert("查询不到设备信息,请刷新后重试")},getPermissionList:function(){var e=this;return Object(s["a"])(Object(n["a"])().mark((function t(){var i;return Object(n["a"])().wrap((function(t){while(1)switch(t.prev=t.next){case 0:i=[],e.form.perms&&(i=e.form.perms.split(",")),console.log("deviceInfo",e.deviceInfo),Object(l["g"])(e.deviceInfo.productId).then((function(t){if(e.sharePermissionList=[{identifier:"timer",modelName:"设备定时",remark:"定时执行任务"},{identifier:"log",modelName:"设备日志",remark:"包含事件日志和指令日志"},{identifier:"monitor",modelName:"实时监测",remark:"下发实时监测指令后,图表实时显示设备上报数据"},{identifier:"statistic",modelName:"监测统计",remark:"图表显示存储的历史监测数据"}],e.sharePermissionList=e.sharePermissionList.concat(t.data),i.length>0)for(var a=function(t){for(var a=0;a<i.length;a++)if(e.sharePermissionList[t].identifier==i[a]){e.$nextTick((function(){e.$refs.multipleTable.toggleRowSelection(e.sharePermissionList[t],!0)}));break}},r=0;r<e.sharePermissionList.length;r++)a(r);e.permsLoading=!1}));case 4:case"end":return t.stop()}}),t)})))()},resetUserQuery:function(){this.resetForm("queryForm"),this.reset()},closeSelectUser:function(){this.open=!1,this.resetUserQuery()},handleSelectionChange:function(e){this.form.perms=e.map((function(e){return e.identifier})).join(",")},handleSelectionAll:function(e){this.form.perms=e.map((function(e){return e.identifier})).join(",")},submitForm:function(){var e=this;2==this.type?Object(o["g"])(this.form).then((function(t){e.$modal.msgSuccess("更新成功"),e.resetUserQuery(),e.open=!1,e.getList()})):1==this.type&&(this.form.deviceId=this.deviceInfo.deviceId,this.form.deviceName=this.deviceInfo.deviceName,Object(o["a"])(this.form).then((function(t){e.$modal.msgSuccess("新增成功"),e.resetUserQuery(),e.open=!1,e.getList()})))}}},d=c,u=i("2877"),m=Object(u["a"])(d,a,r,!1,null,null,null);t["default"]=m.exports},c4dc:function(e,t,i){"use strict";i.d(t,"a",(function(){return a})),i.d(t,"b",(function(){return r}));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:10}},[i("el-col",{attrs:{span:14}},[i("el-row",{staticClass:"mb8",attrs:{gutter:10}},[i("el-col",{attrs:{span:1.5}},[i("el-tag",{staticStyle:{"margin-left":"15px"},attrs:{type:"danger"}},[e._v("开源版本不支持该功能,请前往购买商业版本")])],1)],1)],1)],1)],1)},r=[]},d17d:function(e,t,i){"use strict";i.r(t);var a=i("7252"),r=i.n(a);for(var n in a)["default"].indexOf(n)<0&&function(e){i.d(t,e,(function(){return a[e]}))}(n);t["default"]=r.a},dc9c:function(e,t,i){"use strict";i.d(t,"b",(function(){return r})),i.d(t,"a",(function(){return n}));var a=i("b775");function r(e){return Object(a["a"])({url:"/iot/log/list",method:"get",params:e})}function n(e){return Object(a["a"])({url:"/iot/log/"+e,method:"delete"})}},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)},r=[],n=(i("14d9"),i("b0c0"),i("b64b"),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="",r="";4==t.type&&(a="/"+e.productId+"/"+e.serialNumber+"/monitor/get",r='{"count":'+t.value+',"interval":'+this.monitorInterval+"}",""!=a&&this.$mqttTool.publish(a,r,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 r=t.split("/"),n=(r[1],r[2]);if(i=JSON.parse(i.toString()),i&&("status"==r[3]&&(console.log("接收到【设备状态】主题:",t),console.log("接收到【设备状态】内容:",i),e.deviceInfo.serialNumber==n&&(e.deviceInfo.status=i.status,e.deviceInfo.isShadow=i.isShadow,e.deviceInfo.rssi=i.rssi)),"monitor"==r[3])){console.log("接收到【实时监测】主题:",t),console.log("接收到【实时监测】内容:",i),e.chartLoading=!1;for(var s=0;s<i.length;s++)for(var o=i[s].value,l=i[s].id,c=(i[s].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(),o]),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 m=o.split(",");e.dataList[c].length>50&&e.dataList[c].shift(),e.dataList[c].data.push([e.getTime(),m[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(),r=e.getHours(),n=e.getMinutes(),s=e.getSeconds();return i=i<10?"0"+i:i,a=a<10?"0"+a:a,r=r<10?"0"+r:r,t+"-"+i+"-"+a+" "+r+":"+n+":"+s}}}),s=n,o=i("2877"),l=Object(o["a"])(s,a,r,!1,null,null,null);t["default"]=l.exports},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)])},r=[],n=(i("a9e3"),i("9b9c")),s={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(n["f"])(this.queryParams).then((function(t){for(var i=0;i<t.rows.length;i++)t.rows[i].isSelect=!1;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}}},o=s,l=i("2877"),c=Object(l["a"])(o,a,r,!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"},on:{"tab-click":e.tabChange},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"}},[i("el-button",{attrs:{slot:"append",loading:e.genDisabled,disabled:1!==e.form.status},on:{click:e.generateNum},slot:"append"},[e._v("生成")])],1)],2),e.openServerTip?i("el-form-item",[[i("el-alert",{attrs:{type:"info","show-icon":"",description:"当前选择TCP协议,设备编号生成为HEX格式"}})]],2):e._e(),e.openTip?i("el-form-item",[[i("el-alert",{attrs:{type:"success","show-icon":"",description:"当前选择的产品属于modbus协议,将在网关设备创建后根据采集点模板生成子设备"}})]],2):e._e(),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:"isSimulate"}},[i("el-switch",{attrs:{"active-text":"","inactive-text":"","active-value":1,"inactive-value":0,disabled:3===e.form.deviceType},model:{value:e.form.isSimulate,callback:function(t){e.$set(e.form,"isSimulate",t)},expression:"form.isSimulate"}})],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:"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:"remark"}},[i("el-input",{attrs:{type:"textarea",placeholder:"请输入内容",rows:"1"},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),0!=e.form.deviceId?i("el-form-item",{attrs:{label:"其他信息",prop:"remark"}},[i("dict-tag",{staticStyle:{display:"inline-block","margin-right":"8px"},attrs:{options:e.dict.type.iot_device_status,value:e.form.status}}),i("el-button",{attrs:{size:"small"},on:{click:function(t){return e.handleViewMqtt()}}},[e._v("认证信息")]),i("el-button",{attrs:{size:"small"},on:{click:function(t){return e.openCodeDialog()}}},[e._v("二维码")])],1):e._e()],1),0!=e.form.deviceId?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("地图展示区域,新增后显示")])])]):e._e()],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)}}})],1),3===e.form.deviceType||e.isSubDev?e._e():i("el-tab-pane",{attrs:{name:"runningStatus"}},[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.isSubDev?i("el-tab-pane",{attrs:{name:"runningStatus"}},[i("span",{attrs:{slot:"label"},slot:"label"},[i("span",{staticStyle:{color:"red"}},[e._v("¥ ")]),e._v("运行状态")]),i("business",{ref:"business"})],1):e._e(),3===e.form.deviceType?i("el-tab-pane",{attrs:{name:"sipChannel",disabled:0===e.form.deviceId}},[i("span",{attrs:{slot:"label"},slot:"label"},[i("span",{staticStyle:{color:"red"}},[e._v("¥ ")]),e._v("设备通道")]),i("business",{ref:"business"})],1):e._e(),3===e.form.deviceType?i("el-tab-pane",{attrs:{disabled:0===e.form.deviceId,name:"sipPlayer"}},[i("span",{attrs:{slot:"label"},slot:"label"},[i("span",{staticStyle:{color:"red"}},[e._v("¥ ")]),e._v("设备直播")]),i("business",{ref:"business"})],1):e._e(),3===e.form.deviceType?i("el-tab-pane",{attrs:{disabled:0===e.form.deviceId,name:"sipVideo"}},[i("span",{attrs:{slot:"label"},slot:"label"},[i("span",{staticStyle:{color:"red"}},[e._v("¥ ")]),e._v("直播录像")]),i("business",{ref:"business"})],1):e._e(),3!==e.form.deviceType&&e.hasShrarePerm("timer")?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),i("el-tab-pane",{attrs:{name:"deviceLog",disabled:0==e.form.deviceId&&e.hasShrarePerm("log"),lazy:""}},[i("span",{attrs:{slot:"label"},slot:"label"},[e._v("事件日志")]),i("device-log",{ref:"deviceLog",attrs:{device:e.form}})],1),3!==e.form.deviceType&&e.hasShrarePerm("log")?i("el-tab-pane",{attrs:{name:"deviceFuncLog",disabled:0==e.form.deviceId,lazy:""}},[i("span",{attrs:{slot:"label"},slot:"label"},[e._v("指令日志")]),i("device-func",{ref:"deviceFuncLog",attrs:{device:e.form}})],1):e._e(),3!==e.form.deviceType&&e.hasShrarePerm("monitor")?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&&e.hasShrarePerm("statistic")?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(),i("el-tab-pane",{attrs:{disabled:""}},[i("span",{attrs:{slot:"label"},slot:"label"},[i("div",{staticStyle:{"margin-top":"350px"}})])]),i("el-tab-pane",{attrs:{name:"deviceReturn",disabled:""}},[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),i("el-dialog",{attrs:{visible:e.openCode,width:"300px","append-to-body":""},on:{"update:visible":function(t){e.openCode=t}}},[i("div",{staticStyle:{border:"1px solid #ccc",width:"220px","text-align":"center",margin:"0 auto","margin-top":"-15px"}},[i("vue-qr",{attrs:{text:e.qrText,size:200}}),i("div",{staticStyle:{"padding-bottom":"10px"}},[e._v("设备二维码")])],1)]),i("el-dialog",{attrs:{title:"Mqtt连接参数",visible:e.openViewMqtt,width:"600px","append-to-body":""},on:{"update:visible":function(t){e.openViewMqtt=t}}},[i("el-form",{ref:"listQuery",attrs:{model:e.listQuery,rules:e.rules,"label-width":"150px"}},[i("el-form-item",{attrs:{label:"clientId",prop:"clientId"}},[i("el-input",{staticStyle:{width:"80%"},attrs:{disabled:""},model:{value:e.listQuery.clientId,callback:function(t){e.$set(e.listQuery,"clientId",t)},expression:"listQuery.clientId"}})],1),i("el-form-item",{attrs:{label:"username",prop:"username"}},[i("el-input",{staticStyle:{width:"80%"},attrs:{disabled:""},model:{value:e.listQuery.username,callback:function(t){e.$set(e.listQuery,"username",t)},expression:"listQuery.username"}})],1),i("el-form-item",{attrs:{label:"passwd",prop:"passwd"}},[i("el-input",{staticStyle:{width:"80%"},attrs:{clearable:"",disabled:""},model:{value:e.listQuery.passwd,callback:function(t){e.$set(e.listQuery,"passwd",t)},expression:"listQuery.passwd"}})],1),i("el-form-item",{attrs:{label:"port",prop:"port"}},[i("el-input",{staticStyle:{width:"80%"},attrs:{clearable:"",disabled:""},model:{value:e.listQuery.port,callback:function(t){e.$set(e.listQuery,"port",t)},expression:"listQuery.port"}})],1)],1),i("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[i("el-button",{staticClass:"btns",attrs:{type:"primary"},on:{click:function(t){return e.doCopy(2)}}},[e._v("一键复制")]),i("el-button",{on:{click:e.closeSummaryDialog}},[e._v("关 闭")])],1)],1)],1)},r=[],n=i("c7eb"),s=i("1da1"),o=(i("d81d"),i("14d9"),i("a434"),i("b0c0"),i("e9c4"),i("a9e3"),i("b64b"),i("d3b7"),i("ac1f"),i("00b4"),i("25f0"),i("8a79"),i("349e")),l=i.n(o),c=(i("0b22"),i("e51f")),d=i("7168"),u=i("b52e"),m=i("5f43"),p=i("dd50"),h=i("f14e"),f=i("7a72"),v=i("1c4f"),g=i("24c5"),b=i("658f5"),y=i.n(b),x=i("09cb"),w=i("584f"),I=i("01ca");i("b775");var k={name:"DeviceEdit",dicts:["iot_device_status","iot_location_way"],components:{business:g["default"],DeviceFunc:v["default"],deviceLog:d["default"],deviceUser:u["default"],deviceMonitor:p["default"],deviceStatistic:h["default"],runningStatus:m["default"],productList:c["default"],deviceTimer:f["default"],JsonViewer:l.a,vueQr:y.a},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:"fastbee",openSummary:!1,openCode:!1,openViewMqtt:!1,genDisabled:!1,activeName:"basic",mqttList:[],loading:!0,oldDeviceStatus:null,deviceId:"",channelId:"",form:{productId:0,status:1,locationWay:1,firmwareVersion:1,serialNumber:"",deviceType:1,isSimulate:0},listQuery:{clientId:0,username:"",passwd:"",port:""},openTip:!1,openServerTip:!1,serverType:1,isSubDev:!1,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)),this.isSubDev=1===this.$route.query.isSubDev},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(s["a"])(Object(n["a"])().mark((function t(){return Object(n["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 r=t.split("/"),n=(r[1],r[2]);i=JSON.parse(i.toString()),i&&("status"!=r[3]&&"status"!=r[2]||(console.log("接收到【设备状态-详情】主题:",t),console.log("接收到【设备状态-详情】内容:",i),e.form.serialNumber==n&&(e.oldDeviceStatus=i.status,e.form.status=i.status,e.form.isShadow=i.isShadow,e.form.rssid=i.rssid)),e.isSubDev&&t.endsWith("ws/service")&&e.$busEvent.$emit("updateData",{serialNumber:r[2],productId:e.form.productId,data:i}),t.endsWith("ws/post/simulate")&&e.$busEvent.$emit("logData",{serialNumber:r[1],productId:e.form.productId,data:i}))}))},mqttSubscribe:function(e){var t="/"+e.productId+"/"+e.serialNumber+"/status/post",i=(e.productId,e.serialNumber,"/"+e.productId+"/"+e.serialNumber+"/function/post"),a="/"+e.productId+"/"+e.serialNumber+"/monitor/post",r="/"+e.productId+"/"+e.serialNumber+"/service/reply",n=[],s="/"+e.productId+"/"+e.serialNumber+"/ws/service";n.push(s),n.push(t),n.push(i),n.push(a),n.push(r),this.isSubDev,this.$mqttTool.subscribe(n)},mqttUnSubscribe:function(e){var t="/"+e.productId+"/"+e.serialNumber+"/status/post",i=(e.productId,e.serialNumber,"/"+e.productId+"/"+e.serialNumber+"/function/post"),a="/"+e.productId+"/"+e.serialNumber+"/monitor/post",r="/"+e.productId+"/"+e.serialNumber+"/service/reply",n=[],s="/"+e.productId+"/"+e.serialNumber+"/ws/service";n.push(s),n.push(t),n.push(i),n.push(a),n.push(r),this.isSubDev,this.$mqttTool.unsubscribe(n)},getDeviceStatusData:function(e){this.form.status=e},tabChange:function(e){var t=this;this.$nextTick((function(){"deviceStastic"!==e.name||t.isSubDev?"deviceTimer"!==e.name||t.isSubDev||t.$refs.deviceTimer.getList():t.$refs.deviceStatistic.getListHistory()}))},deviceSynchronization:function(){var e=this;Object(w["c"])(this.form.serialNumber).then(function(){var t=Object(s["a"])(Object(n["a"])().mark((function t(i){return Object(n["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);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(w["e"])(e).then(function(){var i=Object(s["a"])(Object(n["a"])().mark((function i(a){return Object(n["a"])().wrap((function(i){while(1)switch(i.prev=i.next){case 0:a.data.userPerms=[],0==a.data.isOwner?getDeviceUser(e,t.$store.state.user.userId).then((function(e){a.data.userPerms=e.data.perms.split(","),t.getDeviceStatusWitchThingsModel(a)})):t.getDeviceStatusWitchThingsModel(a);case 2:case"end":return i.stop()}}),i)})));return function(e){return i.apply(this,arguments)}}())},hasShrarePerm:function(e){return 0!=this.form.isOwner||-1!=this.form.userPerms.indexOf(e)},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){var t={deviceId:e.deviceId};return new Promise((function(e,i){Object(w["g"])(t).then((function(t){e(t.data.thingsModels)})).catch((function(e){i(e)}))}))},formatThingsModel:function(e){e.chartList=[],e.monitorList=[],e.staticList=[];for(var t=0;t<e.thingsModels.length;t++)if("integer"!=e.thingsModels[t].datatype.type&&"decimal"!=e.thingsModels[t].datatype.type||(""==e.thingsModels[t].shadow?e.thingsModels[t].shadow=Number(e.thingsModels[t].datatype.min):e.thingsModels[t].shadow=Number(e.thingsModels[t].shadow)),"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 r=i>9?String(i):"0"+i,n="array_"+r+"_";e.thingsModels[t].datatype.arrayParams[i][a].id=n+e.thingsModels[t].datatype.arrayParams[i][a].id,1==e.thingsModels[t].datatype.arrayParams[i][a].isChart&&(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.chartList.push(e.thingsModels[t].datatype.arrayParams[i][a]),1==e.thingsModels[t].datatype.arrayParams[i][a].isHistory&&e.staticList.push(e.thingsModels[t].datatype.arrayParams[i][a]),1==e.thingsModels[t].datatype.arrayParams[i][a].isMonitor&&e.monitorList.push(e.thingsModels[t].datatype.arrayParams[i][a]),e.thingsModels[t].datatype.arrayParams[i].splice(a--,1))}else for(var s=""!=e.thingsModels[t].value?e.thingsModels[t].value.split(","):[],o=""!=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:s[l]?s[l]:"",shadow:o[l]?o[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].isChart&&(e.thingsModels[t].datatype.params[u].name="["+e.thingsModels[t].name+"] "+e.thingsModels[t].datatype.params[u].name,e.chartList.push(e.thingsModels[t].datatype.params[u]),1==e.thingsModels[t].datatype.params[u].isHistory&&e.staticList.push(e.thingsModels[t].datatype.params[u]),1==e.thingsModels[t].datatype.params[u].isMonitor&&e.monitorList.push(e.thingsModels[t].datatype.params[u]),e.thingsModels[t].datatype.params.splice(u--,1));else 1==e.thingsModels[t].isChart&&(e.chartList.push(e.thingsModels[t]),1==e.thingsModels[t].isHistory&&e.staticList.push(e.thingsModels[t]),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(x["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,clientId:0},this.deviceStatus=0,this.resetForm("form")},submitForm:function(){var e=this;return Object(s["a"])(Object(n["a"])().mark((function t(){var i;return Object(n["a"])().wrap((function(t){while(1)switch(t.prev=t.next){case 0:if(null!=e.form.serialNumber&&0!=e.form.serialNumber){t.next=3;break}return e.$modal.alertError("设备编号不能为空"),t.abrupt("return");case 3:if(i=/^[0-9a-zA-Z]+$/,i.test(e.form.serialNumber)){t.next=7;break}return e.$modal.alertError("设备编号只能是字母和数字"),t.abrupt("return");case 7:if(null!=e.form.productId&&0!=e.form.productId){t.next=10;break}return e.$modal.alertError("所属产品不能为空"),t.abrupt("return");case 10:e.$refs["form"].validate((function(t){t&&(0!=e.form.deviceId?Object(w["n"])(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(w["a"])(e.form).then(function(){var t=Object(s["a"])(Object(n["a"])().mark((function t(i){return Object(n["a"])().wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.next=2,e.getDeviceStatusWitchThingsModel(i);case 2:null==e.form.deviceId||0==e.form.deviceId?e.$modal.alertError("设备编号已经存在,添加设备失败"):(2==e.form.status&&(e.deviceStatus=1),e.$modal.alertSuccess("添加设备成功"),e.loadMap());case 3:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()))}));case 11:case"end":return t.stop()}}),t)})))()},getDeviceStatusWitchThingsModel:function(e){var t=this;return Object(s["a"])(Object(n["a"])().mark((function i(){var a;return Object(n["a"])().wrap((function(i){while(1)switch(i.prev=i.next){case 0:return i.next=2,t.getCacheThingsModdel(e.data.productId);case 2:return e.data.cacheThingsModel=i.sent,i.next=5,t.getDeviceStatus(e.data);case 5:if(e.data.thingsModels=i.sent,0==e.data.isOwner)for(a=0;a<e.data.thingsModels.length;a++)-1==e.data.userPerms.indexOf(e.data.thingsModels[a].id)&&e.data.thingsModels.splice(a--,1);t.formatThingsModel(e.data),t.form=e.data,null!=t.form.summary&&""!=t.form.summary&&(t.summary=JSON.parse(t.form.summary)),t.isSubDev=t.form.subDeviceList&&t.form.subDeviceList.length>0,t.oldDeviceStatus=t.form.status,t.loadMap(),t.connectMqtt(),t.mqttSubscribe(t.form);case 15:case"end":return i.stop()}}),i)})))()},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,"TCP"===e.transport?(this.openServerTip=!0,this.serverType=3):(this.openServerTip=!1,this.serverType=1)},getUserData:function(e){},openSummaryDialog:function(){var e={type:1,deviceNumber:this.form.serialNumber,productId:this.form.productId};this.qrText=JSON.stringify(e),this.openSummary=!0},closeSummaryDialog:function(){this.openSummary=!1,this.openViewMqtt=!1},doCopy:function(e){if(2==e){var t=document.createElement("input");t.value="{clientId:"+this.listQuery.clientId+",username:"+this.listQuery.username+",passwd:"+this.listQuery.passwd+",port:"+this.listQuery.port+"}",document.body.appendChild(t),t.select(),document.execCommand("Copy"),document.body.removeChild(t),this.$message.success("复制成功")}},openCodeDialog:function(){var e={type:1,deviceNumber:this.form.serialNumber,productId:this.form.productId,productName:this.form.productName};this.qrText=JSON.stringify(e),this.openCode=!0},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;if(this.form.productId&&0!=this.form.productId){this.genDisabled=!0;var t={type:this.serverType};Object(w["d"])(t).then((function(t){e.form.serialNumber=t.data,e.genDisabled=!1}))}else this.$modal.alertError("请先选择产品")},handleViewMqtt:function(){var e=this;this.openViewMqtt=!0,this.loading=!0;var t={deviceId:this.form.deviceId};Object(w["i"])(t).then((function(t){200==t.code&&(e.listQuery=t.data,e.loading=!1)}))}}},M=k,_=i("2877"),S=Object(_["a"])(M,a,r,!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"}},[e.isSubDev?i("el-form-item",{attrs:{label:"请选择设备从机:","label-width":"120px"}},[i("el-select",{attrs:{placeholder:"请选择设备从机"},on:{change:e.selectSlave},model:{value:e.queryParams.slaveId,callback:function(t){e.$set(e.queryParams,"slaveId",t)},expression:"queryParams.slaveId"}},e._l(e.slaveList,(function(e){return i("el-option",{key:e.slaveId,attrs:{label:e.deviceName+" ("+e.slaveId+")",value:e.slaveId}})})),1)],1):e._e(),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",[i("el-button",{attrs:{type:"primary",icon:"el-icon-search",size:"mini"},on:{click:e.getListHistory}},[e._v("查询")])],1)],1)],1),i("el-col",{attrs:{span:23}},e._l(e.staticList,(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)},r=[],n=(i("4de4"),i("14d9"),i("b0c0"),i("d3b7"),i("a035")),s={name:"device-statistic",props:{device:{type:Object,default:null}},watch:{device:function(e,t){var i=this;this.deviceInfo=e,this.deviceInfo&&0!=this.deviceInfo.deviceId&&(this.isSubDev=this.deviceInfo.subDeviceList&&this.deviceInfo.subDeviceList.length>0,this.queryParams.slaveId=this.deviceInfo.slaveId,this.queryParams.serialNumber=this.deviceInfo.serialNumber,this.slaveList=e.subDeviceList,this.isSubDev?this.staticList=this.deviceInfo.cacheThingsModel["properties"].filter((function(e){return e.tempSlaveId==i.queryParams.slaveId})):this.staticList=this.deviceInfo.staticList,this.$nextTick((function(){this.getStatistic()})))}},data:function(){return{loading:!0,deviceInfo:{},staticList:[],chart:[],daterangeTime:[this.getTime(),this.getTime()],queryParams:{serialNumber:null,identity:"",slaveId:void 0},arrayData:[],slaveList:[],isSubDev:!1}},mounted:function(){},methods:{getTime:function(){var e=new Date,t=e.getFullYear(),i=e.getMonth()+1,a=e.getDate();return i=i<10?"0"+i:i,a=a<10?"0"+a:a,t+"-"+i+"-"+a},getListHistory:function(){var e=this;this.loading=!0,this.queryParams.serialNumber=this.queryParams.slaveId?this.deviceInfo.serialNumber+"_"+this.queryParams.slaveId:this.deviceInfo.serialNumber,null!=this.daterangeTime&&""!=this.daterangeTime&&(this.queryParams.beginTime=this.daterangeTime[0],this.queryParams.endTime=this.daterangeTime[1]+" 23:59"),Object(n["b"])(this.queryParams).then((function(t){for(var i in t.data)for(var a=0;a<e.staticList.length;a++)if(i==e.staticList[a].id){for(var r=[],n=0;n<t.data[i].length;n++){var s=[];s[0]=t.data[i][n].time,s[1]=t.data[i][n].value,r.push(s)}e.chart[a].setOption({series:[{data:r}]})}e.loading=!1}))},getStatistic:function(){for(var e=["#1890FF","#91CB74","#FAC858","#EE6666","#73C0DE","#3CA272","#FC8452","#9A60B4","#ea7ccc"],t=0;t<this.staticList.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.staticList[t].name+"统计 (单位 "+(this.staticList[t].datatype&&void 0!=this.staticList[t].datatype.unit?this.staticList[t].datatype.unit:"无")+")"},grid:{top:"80px",left:"50px",right:"20px",bottom:"80px"},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.staticList[t].name,type:"line",symbol:"none",sampling:"lttb",itemStyle:{color:t>9?e[0]:e[t]},areaStyle:{},data:[]}]},i&&this.chart[t].setOption(i)}},selectSlave:function(){var e=this;this.staticList=this.deviceInfo.cacheThingsModel["properties"].filter((function(t){return t.tempSlaveId==e.queryParams.slaveId})),this.$nextTick((function(){this.getStatistic(),this.getListHistory()}))}}},o=s,l=i("2877"),c=Object(l["a"])(o,a,r,!1,null,null,null);t["default"]=c.exports}}]);