(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-722d83df","chunk-b2bd8bd6"],{1850:function(e,t,r){"use strict";r.r(t);var a=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticStyle:{"padding-left":"20px"}},[r("el-row",{staticClass:"mb8",attrs:{gutter:10}},[r("el-col",{attrs:{span:1.5}},[r("el-button",{directives:[{name:"hasPermi",rawName:"v-hasPermi",value:["iot:alert:add"],expression:"['iot:alert:add']"}],attrs:{type:"primary",plain:"",icon:"el-icon-plus",size:"mini"},on:{click:e.handleAdd}},[e._v("新增")])],1),r("el-col",{attrs:{span:1.5}},[r("el-button",{attrs:{type:"warning",plain:"",icon:"el-icon-refresh",size:"mini"},on:{click:e.getList}},[e._v("刷新")])],1),r("el-tag",{staticStyle:{"margin-left":"15px"},attrs:{type:"danger"}},[e._v("该功能暂不可用,后面版本发布")])],1),r("el-table",{directives:[{name:"loading",rawName:"v-loading",value:e.loading,expression:"loading"}],attrs:{data:e.alertList,border:"",size:"mini"},on:{"selection-change":e.handleSelectionChange}},[r("el-table-column",{attrs:{type:"selection",width:"55",align:"center"}}),r("el-table-column",{attrs:{label:"告警ID",align:"center",prop:"alertId"}}),r("el-table-column",{attrs:{label:"告警名称",align:"center",prop:"alertName"}}),r("el-table-column",{attrs:{label:"状态",align:"center",prop:"status"},scopedSlots:e._u([{key:"default",fn:function(t){return[1==t.row.status?r("el-tag",{attrs:{type:"success"}},[e._v("启动")]):e._e(),2==t.row.status?r("el-tag",{attrs:{type:"danger"}},[e._v("暂停")]):e._e()]}}])}),r("el-table-column",{attrs:{label:"告警级别",align:"center",prop:"alertLevel"},scopedSlots:e._u([{key:"default",fn:function(t){return[r("dict-tag",{attrs:{options:e.dict.type.iot_alert_level,value:t.row.alertLevel}})]}}])}),r("el-table-column",{attrs:{label:"触发器",align:"center",prop:"triggers"}}),r("el-table-column",{attrs:{label:"执行动作",align:"center",prop:"actions"}}),r("el-table-column",{attrs:{label:"创建时间",align:"center",prop:"createTime",width:"180"},scopedSlots:e._u([{key:"default",fn:function(t){return[r("span",[e._v(e._s(e.parseTime(t.row.createTime,"{y}-{m}-{d}")))])]}}])}),r("el-table-column",{attrs:{label:"备注",align:"center",prop:"remark"}}),r("el-table-column",{attrs:{label:"操作",align:"center","class-name":"small-padding fixed-width"},scopedSlots:e._u([{key:"default",fn:function(t){return[r("el-button",{directives:[{name:"hasPermi",rawName:"v-hasPermi",value:["iot:alert:edit"],expression:"['iot:alert:edit']"}],attrs:{size:"mini",type:"text",icon:"el-icon-edit"},on:{click:function(r){return e.handleUpdate(t.row)}}},[e._v("修改")]),r("el-button",{directives:[{name:"hasPermi",rawName:"v-hasPermi",value:["iot:alert:remove"],expression:"['iot:alert:remove']"}],attrs:{size:"mini",type:"text",icon:"el-icon-delete"},on:{click:function(r){return e.handleDelete(t.row)}}},[e._v("删除")])]}}])})],1),r("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}}),r("el-dialog",{attrs:{title:e.title,visible:e.open,width:"800px","append-to-body":""},on:{"update:visible":function(t){e.open=t}}},[r("div",{staticClass:"el-divider el-divider--horizontal",staticStyle:{"margin-top":"-25px"}}),r("el-form",{ref:"form",attrs:{model:e.form,rules:e.rules,"label-width":"80px"}},[r("el-row",{attrs:{gutter:50}},[r("el-col",{attrs:{span:12}},[r("el-form-item",{attrs:{label:"告警名称",prop:"alertName"}},[r("el-input",{attrs:{placeholder:"请输入告警名称"},model:{value:e.form.alertName,callback:function(t){e.$set(e.form,"alertName",t)},expression:"form.alertName"}})],1),r("el-form-item",{attrs:{label:"告警级别",prop:"alertLevel"}},[r("el-select",{staticStyle:{width:"100%"},attrs:{placeholder:"请选择告警级别"},model:{value:e.form.alertLevel,callback:function(t){e.$set(e.form,"alertLevel",t)},expression:"form.alertLevel"}},e._l(e.dict.type.iot_alert_level,(function(e){return r("el-option",{key:e.value,attrs:{label:e.label,value:parseInt(e.value)}})})),1)],1),r("el-form-item",{attrs:{label:"告警状态"}},[r("el-switch",{attrs:{"active-value":1,"inactive-value":0},model:{value:e.form.status,callback:function(t){e.$set(e.form,"status",t)},expression:"form.status"}})],1)],1),r("el-col",{attrs:{span:12}},[r("el-form-item",{attrs:{label:"备注",prop:"remark"}},[r("el-input",{attrs:{type:"textarea",placeholder:"请输入内容",rows:"6"},model:{value:e.form.remark,callback:function(t){e.$set(e.form,"remark",t)},expression:"form.remark"}})],1)],1)],1),r("el-divider"),r("el-form-item",{attrs:{label:"触发器",prop:"griggers"}},[r("el-select",{staticStyle:{"margin-bottom":"10px"},attrs:{placeholder:"请选择",size:"small"},model:{value:e.form.condition,callback:function(t){e.$set(e.form,"condition",t)},expression:"form.condition"}},e._l(e.triggerConditions,(function(e){return r("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})})),1),e._l(e.form.triggers,(function(t,a){return r("div",{key:a,staticStyle:{"margin-bottom":"15px",border:"1px solid #ddd",padding:"10px"}},[r("el-row",[r("el-col",{attrs:{span:4}},[r("el-select",{attrs:{placeholder:"请选择",size:"small"},on:{change:e.changeTriggerSource},model:{value:t.source,callback:function(r){e.$set(t,"source",r)},expression:"item.source"}},e._l(e.triggerSource,(function(e){return r("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})})),1)],1),2==t.source?r("el-col",{attrs:{span:16,offset:1}},[r("el-time-picker",{attrs:{size:"small","value-format":"HH:mm",placeholder:"选择执行时间",disabled:1==t.isAdvance},on:{change:e.timeChange},model:{value:e.timerTimeValue,callback:function(t){e.timerTimeValue=t},expression:"timerTimeValue"}})],1):e._e(),0!=a?r("el-col",{attrs:{span:2,offset:1==t.source?17:1}},[r("a",{staticStyle:{color:"#F56C6C"},on:{click:function(t){return e.removeTriggerItem(a)}}},[e._v("删除")])]):e._e()],1),2==t.source?r("el-row",[r("el-col",{attrs:{span:24}},[r("el-row",{staticStyle:{"margin-bottom":"5px"}},[r("el-col",{attrs:{span:4}},[r("el-select",{attrs:{placeholder:"请选择",size:"small",disabled:1==t.isAdvance},on:{change:e.repeatChange},model:{value:e.timerWeekRepeatValue,callback:function(t){e.timerWeekRepeatValue=t},expression:"timerWeekRepeatValue"}},e._l(e.timerWeekRepeats,(function(e){return r("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})})),1)],1),3==e.timerWeekRepeatValue?r("el-col",{attrs:{span:15,offset:1}},[r("el-select",{staticStyle:{width:"485px"},attrs:{placeholder:"请选择",multiple:"",size:"small",disabled:1==t.isAdvance},on:{change:e.weekChange},model:{value:e.timerWeekValue,callback:function(t){e.timerWeekValue=t},expression:"timerWeekValue"}},e._l(e.timerWeeks,(function(e){return r("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})})),1)],1):e._e()],1)],1),r("el-col",{attrs:{span:24}},[r("el-row",[r("el-col",{attrs:{span:18}},[r("el-input",{attrs:{placeholder:"cron执行表达式",disabled:0==t.isAdvance,size:"small"},model:{value:t.cronExpression,callback:function(r){e.$set(t,"cronExpression",r)},expression:"item.cronExpression"}},[r("template",{slot:"append"},[r("el-button",{attrs:{type:"primary",disabled:0==t.isAdvance},on:{click:function(r){return e.handleShowCron(t,a)}}},[e._v(" 生成表达式 "),r("i",{staticClass:"el-icon-time el-icon--right"})])],1)],2)],1),r("el-col",{attrs:{span:4,offset:1}},[r("el-checkbox",{attrs:{"true-label":1,"false-label":0},on:{change:e.customerCronChange},model:{value:t.isAdvance,callback:function(r){e.$set(t,"isAdvance",r)},expression:"item.isAdvance"}},[e._v("自定义表达式")])],1)],1)],1)],1):e._e(),r("el-row",[r("el-col",{attrs:{span:4}},[r("el-select",{attrs:{placeholder:"请选择",size:"small"},model:{value:t.modelType,callback:function(r){e.$set(t,"modelType",r)},expression:"item.modelType"}},e._l(e.modelTypes,(function(e){return r("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})})),1)],1),r("el-col",{attrs:{span:4,offset:1}},[r("el-select",{attrs:{placeholder:"请选择",size:"small"},model:{value:t.modelType,callback:function(r){e.$set(t,"modelType",r)},expression:"item.modelType"}},e._l(e.modelTypes,(function(e){return r("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})})),1)],1),r("el-col",{attrs:{span:5,offset:1}},[r("el-select",{attrs:{placeholder:"请选择操作符",size:"small"},model:{value:t.operator,callback:function(r){e.$set(t,"operator",r)},expression:"item.operator"}},[r("el-option",{key:"=",attrs:{label:"等于(=)",value:"="}}),r("el-option",{key:"!=",attrs:{label:"不等于(!=)",value:"!="}}),r("el-option",{key:">",attrs:{label:"大于(>)",value:">"}}),r("el-option",{key:"<",attrs:{label:"小于(<)",value:"<"}}),r("el-option",{key:">=",attrs:{label:"大于等于(>=)",value:">="}}),r("el-option",{key:"<=",attrs:{label:"小于等于(<=)",value:"<="}}),r("el-option",{key:"contain",attrs:{label:"包含(contain)",value:"contain"}}),r("el-option",{key:"notcontain",attrs:{label:"不包含(not contain)",value:"notcontain"}})],1)],1),r("el-col",{attrs:{span:5,offset:1}},[r("el-input",{attrs:{placeholder:"值",size:"small"},model:{value:t.value,callback:function(r){e.$set(t,"value",r)},expression:"item.value"}})],1)],1)],1)})),r("div",[e._v("+ "),r("a",{staticStyle:{color:"#409EFF"},on:{click:function(t){return e.addTriggerItem()}}},[e._v("添加触发器")])])],2),r("el-divider"),r("el-form-item",{attrs:{label:"执行动作"}},[e._l(e.form.actions,(function(t,a){return r("el-row",{key:a,staticStyle:{"margin-bottom":"10px"}},[r("el-col",{attrs:{span:4}},[r("el-select",{attrs:{placeholder:"请选择"},model:{value:t.modelType,callback:function(r){e.$set(t,"modelType",r)},expression:"item.modelType"}},e._l(e.modelTypes,(function(e){return r("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})})),1)],1),r("el-col",{attrs:{span:4,offset:1}},[r("el-select",{attrs:{placeholder:"请选择"},model:{value:t.modelType,callback:function(r){e.$set(t,"modelType",r)},expression:"item.modelType"}},e._l(e.modelTypes,(function(e){return r("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})})),1)],1),r("el-col",{attrs:{span:11,offset:1}},[r("el-input",{attrs:{placeholder:"值"},model:{value:t.value,callback:function(r){e.$set(t,"value",r)},expression:"item.value"}})],1),0!=a?r("el-col",{attrs:{span:2,offset:1}},[r("a",{staticStyle:{color:"#F56C6C"},on:{click:function(t){return e.removeActionItem(a)}}},[e._v("删除")])]):e._e()],1)})),r("div",[e._v("+ "),r("a",{staticStyle:{color:"#409EFF"},on:{click:function(t){return e.addActionItem()}}},[e._v("添加执行动作")])])],2)],1),r("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[r("el-button",{attrs:{type:"primary",disabled:""},on:{click:e.submitForm}},[e._v("确 定")]),r("el-button",{on:{click:e.cancel}},[e._v("取 消")])],1)],1),r("el-dialog",{staticClass:"scrollbar",attrs:{title:"Cron表达式生成器",visible:e.openCron,"append-to-body":"","destroy-on-close":""},on:{"update:visible":function(t){e.openCron=t}}},[r("crontab",{staticStyle:{"padding-bottom":"80px"},attrs:{expression:e.expression},on:{hide:function(t){e.openCron=!1},fill:e.crontabFill}})],1)],1)},l=[],o=r("5530"),i=(r("d81d"),r("a434"),r("38cf"),r("b775"));function n(e){return Object(i["a"])({url:"/iot/alert/list",method:"get",params:e})}function s(e){return Object(i["a"])({url:"/iot/alert/"+e,method:"get"})}function c(e){return Object(i["a"])({url:"/iot/alert",method:"post",data:e})}function u(e){return Object(i["a"])({url:"/iot/alert",method:"put",data:e})}function d(e){return Object(i["a"])({url:"/iot/alert/"+e,method:"delete"})}var p=r("01ca"),m=r("bdd0"),f={name:"device-alert",dicts:["iot_alert_level","sys_job_status"],components:{Crontab:m["a"]},props:{product:{type:Object,default:null}},watch:{product:function(e,t){var r=this;this.productInfo=e,this.productInfo&&0!=this.productInfo.productId&&(this.queryParams.productId=this.productInfo.productId,this.getList(),Object(p["b"])(e.productId).then((function(e){r.thingsModel=JSON.parse(e.data)})))}},data:function(){return{thingsModel:{},loading:!1,ids:[],single:!0,multiple:!0,showSearch:!0,total:0,alertList:[],title:"",open:!1,openCron:!1,expression:"",triggerIndex:0,queryParams:{pageNum:1,pageSize:10,alertName:null,alertLevel:null,productId:null,productName:null},timerWeekRepeats:[{value:"1",label:"每天"},{value:"2",label:"仅此一次"},{value:"3",label:"指定"}],timerWeekRepeatValue:"1",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:"",triggerSource:[{value:1,label:"设备"},{value:2,label:"定时"}],actionSource:[{value:1,label:"设备"},{value:3,label:"告警输出"}],modelTypes:[{value:1,label:"属性"},{value:2,label:"功能"}],triggerConditions:[{value:"all",label:"满足所有条件"},{value:"any",label:"满足任一条件"}],alertType:[{value:1,label:"启动"},{value:2,label:"停止"}],form:{condition:"all",triggers:[],actions:[]},productInfo:{},rules:{alertName:[{required:!0,message:"告警名称不能为空",trigger:"blur"}],alertLevel:[{required:!0,message:"告警级别不能为空",trigger:"change"}],productId:[{required:!0,message:"产品ID不能为空",trigger:"blur"}],productName:[{required:!0,message:"产品名称不能为空",trigger:"blur"}],triggers:[{required:!0,message:"触发器不能为空",trigger:"blur"}],actions:[{required:!0,message:"执行动作不能为空",trigger:"blur"}]}}},created:function(){},methods:{getList:function(){var e=this;this.loading=!0,n(this.queryParams).then((function(t){e.alertList=t.rows,e.total=t.total,e.loading=!1}))},cancel:function(){this.open=!1,this.reset()},reset:function(){this.form={alertId:null,alertName:null,alertLevel:null,productId:null,productName:null,createBy:null,createTime:null,updateBy:null,updateTime:null,remark:null,status:1,condition:"all",triggers:[{id:"",name:"",value:"",deviceId:0,deviceName:"请选择一个设备",source:1,modelType:1,jobId:0,cronExpression:"",isAdvance:0}],actions:[{id:"",name:"",value:"",deviceId:0,deviceName:"请选择一个设备",source:1,modelType:1}]},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.alertId})),this.single=1!==e.length,this.multiple=!e.length},handleAdd:function(){this.reset(),this.open=!0,this.title="添加自定义告警"},handleUpdate:function(e){var t=this;this.reset();var r=e.alertId||this.ids;s(r).then((function(e){t.form=e.data,t.open=!0,t.title="修改设备告警"}))},submitForm:function(){var e=this;this.$refs["form"].validate((function(t){t&&(null!=e.form.alertId?u(e.form).then((function(t){e.$modal.msgSuccess("修改成功"),e.open=!1,e.getList()})):c(e.form).then((function(t){e.$modal.msgSuccess("新增成功"),e.open=!1,e.getList()})))}))},handleDelete:function(e){var t=this,r=e.alertId||this.ids;this.$modal.confirm('是否确认删除设备告警编号为"'+r+'"的数据项?').then((function(){return d(r)})).then((function(){t.getList(),t.$modal.msgSuccess("删除成功")})).catch((function(){}))},handleExport:function(){this.download("iot/alert/export",Object(o["a"])({},this.queryParams),"alert_".concat((new Date).getTime(),".xlsx"))},addActionItem:function(){this.form.actions.push({id:"",name:"",value:""})},removeActionItem:function(e){this.form.actions.splice(e,1)},changeTriggerSource:function(){this.setTriggerSource()},setTriggerSource:function(){for(var e=!1,t=0;t0&&(r=this.timerWeekValue),this.form.triggers[this.triggerIndex].cronExpression="0 "+e+" "+t+" ? * "+r}}},h=f,b=r("2877"),g=Object(b["a"])(h,a,l,!1,null,null,null);t["default"]=g.exports},"1e36":function(e,t,r){"use strict";r.d(t,"d",(function(){return l})),r.d(t,"e",(function(){return o})),r.d(t,"c",(function(){return i})),r.d(t,"a",(function(){return n})),r.d(t,"f",(function(){return s})),r.d(t,"b",(function(){return c}));var a=r("b775");function l(e){return Object(a["a"])({url:"/iot/category/list",method:"get",params:e})}function o(){return Object(a["a"])({url:"/iot/category/shortlist",method:"get"})}function i(e){return Object(a["a"])({url:"/iot/category/"+e,method:"get"})}function n(e){return Object(a["a"])({url:"/iot/category",method:"post",data:e})}function s(e){return Object(a["a"])({url:"/iot/category",method:"put",data:e})}function c(e){return Object(a["a"])({url:"/iot/category/"+e,method:"delete"})}},"32d1":function(e,t,r){e.exports=r.p+"static/img/product.8957f07e.jpg"},"38cf":function(e,t,r){var a=r("23e7"),l=r("1148");a({target:"String",proto:!0},{repeat:l})},"814a":function(e,t,r){"use strict";r.d(t,"e",(function(){return l})),r.d(t,"d",(function(){return o})),r.d(t,"c",(function(){return i})),r.d(t,"a",(function(){return n})),r.d(t,"f",(function(){return s})),r.d(t,"b",(function(){return c}));var a=r("b775");function l(e){return Object(a["a"])({url:"/iot/firmware/list",method:"get",params:e})}function o(e){return Object(a["a"])({url:"/iot/firmware/getLatest/"+e,method:"get"})}function i(e){return Object(a["a"])({url:"/iot/firmware/"+e,method:"get"})}function n(e){return Object(a["a"])({url:"/iot/firmware",method:"post",data:e})}function s(e){return Object(a["a"])({url:"/iot/firmware",method:"put",data:e})}function c(e){return Object(a["a"])({url:"/iot/firmware/"+e,method:"delete"})}},9355:function(e,t,r){"use strict";r.r(t);var a=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticStyle:{"padding-left":"20px"}},[r("el-row",{staticClass:"mb8",attrs:{gutter:10}},[r("el-col",{attrs:{span:1.5}},[r("el-button",{directives:[{name:"hasPermi",rawName:"v-hasPermi",value:["iot:firmware:add"],expression:"['iot:firmware:add']"}],attrs:{type:"primary",plain:"",icon:"el-icon-plus",size:"mini"},on:{click:e.handleAdd}},[e._v("新增")])],1),r("el-col",{attrs:{span:1.5}},[r("el-button",{attrs:{type:"warning",plain:"",icon:"el-icon-refresh",size:"mini"},on:{click:e.getList}},[e._v("刷新")])],1)],1),r("el-table",{directives:[{name:"loading",rawName:"v-loading",value:e.loading,expression:"loading"}],attrs:{data:e.firmwareList,size:"small"},on:{"selection-change":e.handleSelectionChange}},[r("el-table-column",{attrs:{label:"固件名称",align:"center",prop:"firmwareName"}}),r("el-table-column",{attrs:{label:"固件版本",align:"center",prop:"version",width:"120"},scopedSlots:e._u([{key:"default",fn:function(t){return[r("span",[e._v("Version ")]),e._v(" "+e._s(t.row.version)+" ")]}}])}),r("el-table-column",{attrs:{label:"状态",align:"center",prop:"isLatest",width:"80"},scopedSlots:e._u([{key:"default",fn:function(t){return[1==t.row.isLatest?r("el-tag",{attrs:{type:"success"}},[e._v("最新")]):r("el-tag",{attrs:{type:"info"}},[e._v("默认")])]}}])}),r("el-table-column",{attrs:{label:"创建时间",align:"center",prop:"createTime",width:"100"},scopedSlots:e._u([{key:"default",fn:function(t){return[r("span",[e._v(e._s(e.parseTime(t.row.createTime,"{y}-{m}-{d}")))])]}}])}),r("el-table-column",{attrs:{label:"下载地址",align:"center",prop:"filePath","min-width":"100"},scopedSlots:e._u([{key:"default",fn:function(t){return[r("el-link",{attrs:{href:e.getDownloadUrl(t.row.filePath),underline:!1,type:"success"}},[e._v(e._s(e.getDownloadUrl(t.row.filePath)))])]}}])}),r("el-table-column",{attrs:{label:"固件描述",align:"center",prop:"remark","min-width":"200"}}),r("el-table-column",{attrs:{label:"操作",align:"center","class-name":"small-padding fixed-width",width:"200"},scopedSlots:e._u([{key:"default",fn:function(t){return[r("el-button",{directives:[{name:"hasPermi",rawName:"v-hasPermi",value:["iot:firmware:edit"],expression:"['iot:firmware:edit']"}],staticStyle:{padding:"5px"},attrs:{size:"small",type:"primary",icon:"el-icon-edit"},on:{click:function(r){return e.handleUpdate(t.row)}}},[e._v("修改")]),r("el-button",{directives:[{name:"hasPermi",rawName:"v-hasPermi",value:["iot:firmware:remove"],expression:"['iot:firmware:remove']"}],staticStyle:{padding:"5px"},attrs:{size:"small",type:"danger",icon:"el-icon-delete"},on:{click:function(r){return e.handleDelete(t.row)}}},[e._v("删除")])]}}])})],1),r("el-dialog",{attrs:{title:e.title,visible:e.open,width:"500px","append-to-body":""},on:{"update:visible":function(t){e.open=t}}},[r("el-form",{ref:"form",attrs:{model:e.form,rules:e.rules,"label-width":"80px"}},[r("el-form-item",{attrs:{label:"固件名称",prop:"firmwareName"}},[r("el-input",{attrs:{placeholder:"请输入固件名称"},model:{value:e.form.firmwareName,callback:function(t){e.$set(e.form,"firmwareName",t)},expression:"form.firmwareName"}})],1),r("el-form-item",{attrs:{label:"固件版本",prop:"version"}},[r("el-input",{attrs:{placeholder:"请输入固件版本",type:"number",step:"0.1"},model:{value:e.form.version,callback:function(t){e.$set(e.form,"version",t)},expression:"form.version"}})],1),r("el-form-item",{attrs:{label:"最新固件",prop:"isLatest"}},[r("el-switch",{attrs:{"active-text":"","inactive-text":"","active-value":1,"inactive-value":0},model:{value:e.form.isLatest,callback:function(t){e.$set(e.form,"isLatest",t)},expression:"form.isLatest"}}),r("el-link",{staticStyle:{"font-size":"12px","margin-left":"15px"},attrs:{type:"info",underline:!1}},[e._v("提示:产品中只能有一个最新固件")])],1),r("el-form-item",{attrs:{label:"固件上传",prop:"filePath"}},[r("fileUpload",{ref:"file-upload",attrs:{value:e.form.filePath,limit:1,fileSize:10,fileType:["bin","zip","pdf"]},on:{input:function(t){return e.getFilePath(t)}}})],1),r("el-form-item",{attrs:{label:"固件描述",prop:"remark"}},[r("el-input",{attrs:{type:"textarea",rows:"4",placeholder:"请输入固件信息"},model:{value:e.form.remark,callback:function(t){e.$set(e.form,"remark",t)},expression:"form.remark"}})],1)],1),r("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[r("el-button",{attrs:{type:"primary"},on:{click:e.submitForm}},[e._v("确 定")]),r("el-button",{on:{click:e.cancel}},[e._v("取 消")])],1)],1)],1)},l=[],o=r("5530"),i=(r("d81d"),r("2a75")),n=r("814a"),s=r("5f87"),c={name:"product-firmware",dicts:["iot_yes_no"],components:{fileUpload:i["a"]},props:{product:{type:Object,default:null}},watch:{product:function(e,t){this.productInfo=e,this.productInfo&&0!=this.productInfo.productId&&(this.queryParams.productId=this.productInfo.productId,this.form.productId=this.productInfo.productId,this.form.productName=this.productInfo.productName,this.getList())}},data:function(){return{loading:!0,ids:[],single:!0,multiple:!0,showSearch:!0,total:0,firmwareList:[],title:"",open:!1,queryParams:{pageNum:1,pageSize:100,firmwareName:null,productName:null,productId:0,isSys:null},productInfo:{},form:{version:1},rules:{firmwareName:[{required:!0,message:"固件名称不能为空",trigger:"blur"}],version:[{required:!0,message:"固件版本不能为空",trigger:"blur"}],filePath:[{required:!0,message:"文件路径不能为空",trigger:"blur"}]},upload:{isUploading:!1,headers:{Authorization:"Bearer "+Object(s["a"])()},url:"/prod-api/iot/tool/upload",fileList:[]}}},created:function(){},methods:{getDownloadUrl:function(e){return window.location.origin+"/prod-api"+e},getList:function(){var e=this;this.loading=!0,Object(n["e"])(this.queryParams).then((function(t){e.firmwareList=t.rows,e.total=t.total,e.loading=!1}))},cancel:function(){this.open=!1,this.reset()},reset:function(){this.form={firmwareId:null,firmwareName:null,tenantId:null,tenantName:null,productId:this.form.productId,productName:this.form.productName,isSys:null,isLatest:0,version:1,filePath:null,delFlag:null,createBy:null,createTime:null,updateBy:null,updateTime:null,remark:null},this.resetForm("form")},handleQuery:function(){this.queryParams.pageNum=1,this.getList()},resetQuery:function(){this.resetForm("queryForm"),this.handleQuery()},handleSelectionChange:function(e){this.ids=e.map((function(e){return e.firmwareId})),this.single=1!==e.length,this.multiple=!e.length},handleAdd:function(){this.reset(),this.open=!0,this.title="添加产品固件",this.upload.fileList=[]},handleUpdate:function(e){var t=this;this.reset();var r=e.firmwareId||this.ids;Object(n["c"])(r).then((function(e){t.form=e.data,t.open=!0,t.title="修改产品固件",t.upload.fileList=[{name:t.form.firmwareName,url:t.form.filePath}]}))},submitForm:function(){var e=this;this.$refs["form"].validate((function(t){t&&(null!=e.form.firmwareId?Object(n["f"])(e.form).then((function(t){e.$modal.msgSuccess("修改成功"),e.open=!1,e.getList()})):Object(n["a"])(e.form).then((function(t){e.$modal.msgSuccess("新增成功"),e.open=!1,e.getList()})))}))},handleDelete:function(e){var t=this,r=e.firmwareId||this.ids;this.$modal.confirm('是否确认删除产品固件编号为"'+r+'"的数据项?').then((function(){return Object(n["b"])(r)})).then((function(){t.getList(),t.$modal.msgSuccess("删除成功")})).catch((function(){}))},handleExport:function(){this.download("iot/firmware/export",Object(o["a"])({},this.queryParams),"firmware_".concat((new Date).getTime(),".xlsx"))},getFilePath:function(e){this.form.filePath=e},submitUpload:function(){this.$refs.upload.submit()},handleFileUploadProgress:function(e,t,r){this.upload.isUploading=!0},handleFileSuccess:function(e,t,r){this.upload.isUploading=!1,this.form.filePath=e.url,this.$modal.msgSuccess(e.msg)},handleDownload:function(e){window.open("/prod-api"+e.filePath)}}},u=c,d=r("2877"),p=Object(d["a"])(u,a,l,!1,null,null,null);t["default"]=p.exports},"9b9c":function(e,t,r){"use strict";r.d(t,"e",(function(){return l})),r.d(t,"f",(function(){return o})),r.d(t,"d",(function(){return i})),r.d(t,"a",(function(){return n})),r.d(t,"g",(function(){return s})),r.d(t,"b",(function(){return c})),r.d(t,"c",(function(){return u}));var a=r("b775");function l(e){return Object(a["a"])({url:"/iot/product/list",method:"get",params:e})}function o(){return Object(a["a"])({url:"/iot/product/shortList",method:"get"})}function i(e){return Object(a["a"])({url:"/iot/product/"+e,method:"get"})}function n(e){return Object(a["a"])({url:"/iot/product",method:"post",data:e})}function s(e){return Object(a["a"])({url:"/iot/product",method:"put",data:e})}function c(e){return Object(a["a"])({url:"/iot/product/status/",method:"put",data:e})}function u(e){return Object(a["a"])({url:"/iot/product/"+e,method:"delete"})}},bbfb:function(e,t,r){"use strict";r.r(t);var a=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticStyle:{"padding-left":"20px"}},[r("el-row",{attrs:{gutter:10}},[r("el-col",{attrs:{span:14}},[r("el-row",{staticClass:"mb8",attrs:{gutter:10}},[r("el-col",{attrs:{span:1.5}},[r("el-button",{attrs:{type:"warning",plain:"",icon:"el-icon-refresh",size:"mini"},on:{click:e.getList}},[e._v("刷新")])],1),r("el-tag",{staticStyle:{"margin-left":"15px"},attrs:{type:"danger"}},[e._v("该功能暂不可用,后面版本发布")])],1),r("el-table",{directives:[{name:"loading",rawName:"v-loading",value:e.loading,expression:"loading"}],staticStyle:{"margin-bottom":"60px","margin-top":"20px"},attrs:{data:e.modelList,border:"",size:"small"}},[r("el-table-column",{attrs:{label:"名称",align:"center",prop:"modelName"}}),r("el-table-column",{attrs:{label:"标识符",align:"center",prop:"identifier"}}),r("el-table-column",{attrs:{label:"物模型类别",align:"center",prop:"type"},scopedSlots:e._u([{key:"default",fn:function(t){return[r("dict-tag",{attrs:{options:e.dict.type.iot_things_type,value:t.row.type}})]}}])}),r("el-table-column",{attrs:{label:"数据类型",align:"center",prop:"datatype"},scopedSlots:e._u([{key:"default",fn:function(t){return[r("dict-tag",{attrs:{options:e.dict.type.iot_data_type,value:t.row.datatype}})]}}])}),r("el-table-column",{attrs:{label:"部件",align:"center",prop:"part"},scopedSlots:e._u([{key:"default",fn:function(t){return[e._v(" "+e._s(t.row.part)+" 系统定义的部件 ")]}}])})],1),r("el-divider",[e._v("高级功能")]),r("el-form",{ref:"form",attrs:{model:e.form,"label-width":"100px"}},[r("el-form-item",{attrs:{label:"自定义页面",prop:"page"}},[r("el-input",{attrs:{placeholder:"请输入自定义页面"},model:{value:e.form.page,callback:function(t){e.$set(e.form,"page",t)},expression:"form.page"}})],1)],1)],1),r("el-col",{attrs:{span:8,offset:2}},[r("div",{staticClass:"phone"},[r("div",{staticClass:"phone-container"})]),r("div",{staticStyle:{"text-align":"center","margin-top":"15px",width:"370px"}},[e._v("界面展示")])])],1)],1)},l=[],o=r("01ca"),i={name:"device-log",dicts:["iot_things_type","iot_data_type","iot_yes_no"],props:{product:{type:Object,default:null}},data:function(){return{loading:!1,modelList:[],title:"",queryParams:{productId:0,type:4},form:{},productInfo:{}}},watch:{product:function(e,t){this.productInfo=e,this.productInfo&&0!=this.productInfo.productId&&(this.queryParams.productId=this.productInfo.productId,this.getList())}},created:function(){},methods:{getList:function(){var e=this;this.loading=!0,Object(o["f"])(this.queryParams).then((function(t){e.modelList=t.rows,e.total=t.total,e.loading=!1}))}}},n=i,s=(r("e5c3"),r("2877")),c=Object(s["a"])(n,a,l,!1,null,"acd2e2f8",null);t["default"]=c.exports},beff:function(e,t,r){},e5c3:function(e,t,r){"use strict";r("beff")},ffab:function(e,t,r){"use strict";r.r(t);var a=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("el-card",{staticStyle:{margin:"6px","padding-bottom":"100px"}},[a("el-tabs",{staticStyle:{padding:"10px"},attrs:{"tab-position":"left"},model:{value:e.activeName,callback:function(t){e.activeName=t},expression:"activeName"}},[a("el-tab-pane",{attrs:{name:"basic"}},[a("span",{attrs:{slot:"label"},slot:"label"},[a("span",{staticStyle:{color:"red"}},[e._v("* ")]),e._v("基本信息")]),a("el-form",{ref:"form",attrs:{model:e.form,rules:e.rules,"label-width":"100px"}},[a("el-row",{attrs:{gutter:100}},[a("el-col",{attrs:{xs:24,sm:24,md:24,lg:12,xl:8}},[a("el-form-item",{attrs:{label:"产品名称",prop:"productName"}},[a("el-input",{attrs:{placeholder:"请输入产品名称",readonly:2==e.form.status},model:{value:e.form.productName,callback:function(t){e.$set(e.form,"productName",t)},expression:"form.productName"}})],1),a("el-form-item",{attrs:{label:"产品分类",prop:"categoryId"}},[a("el-select",{staticStyle:{width:"100%"},attrs:{placeholder:"请选择分类",disabled:2==e.form.status},on:{change:e.selectCategory},model:{value:e.form.categoryId,callback:function(t){e.$set(e.form,"categoryId",t)},expression:"form.categoryId"}},e._l(e.categoryShortList,(function(e){return a("el-option",{key:e.id,attrs:{label:e.name,value:e.id}})})),1)],1),a("el-form-item",{attrs:{label:"联网方式",prop:"networkMethod"}},[a("el-select",{staticStyle:{width:"100%"},attrs:{placeholder:"请选择联网方式",disabled:2==e.form.status},model:{value:e.form.networkMethod,callback:function(t){e.$set(e.form,"networkMethod",t)},expression:"form.networkMethod"}},e._l(e.dict.type.iot_network_method,(function(e){return a("el-option",{key:e.value,attrs:{label:e.label,value:parseInt(e.value)}})})),1)],1),a("el-form-item",{attrs:{label:"启用授权",prop:"networkMethod"}},[a("el-switch",{attrs:{"active-value":1,"inactive-value":0,disabled:2==e.form.status},on:{change:function(t){return e.changeIsAuthorize(e.form.isAuthorize)}},model:{value:e.form.isAuthorize,callback:function(t){e.$set(e.form,"isAuthorize",t)},expression:"form.isAuthorize"}})],1),a("el-form-item",{attrs:{label:"备注信息",prop:"remark"}},[a("el-input",{attrs:{type:"textarea",placeholder:"请输入内容",rows:"3",readonly:2==e.form.status},model:{value:e.form.remark,callback:function(t){e.$set(e.form,"remark",t)},expression:"form.remark"}})],1)],1),a("el-col",{attrs:{xs:24,sm:24,md:24,lg:12,xl:8}},[a("el-form-item",{attrs:{label:"设备类型",prop:"deviceType"}},[a("el-select",{staticStyle:{width:"100%"},attrs:{placeholder:"请选择设备类型",disabled:2==e.form.status},model:{value:e.form.deviceType,callback:function(t){e.$set(e.form,"deviceType",t)},expression:"form.deviceType"}},e._l(e.dict.type.iot_device_type,(function(e){return a("el-option",{key:e.value,attrs:{label:e.label,value:parseInt(e.value)}})})),1)],1),a("el-form-item",{attrs:{label:"认证方式",prop:"vertificateMethod"}},[a("el-select",{staticStyle:{width:"100%"},attrs:{placeholder:"请选择认证方式",disabled:2==e.form.status},model:{value:e.form.vertificateMethod,callback:function(t){e.$set(e.form,"vertificateMethod",t)},expression:"form.vertificateMethod"}},e._l(e.dict.type.iot_vertificate_method,(function(e){return a("el-option",{key:e.value,attrs:{label:e.label,value:parseInt(e.value)}})})),1)],1),a("el-form-item",{attrs:{label:"产品编号",prop:"productId"}},[a("el-input",{attrs:{placeholder:"自动生成",disabled:!e.form.mqttAccount,readonly:""},model:{value:e.form.productId,callback:function(t){e.$set(e.form,"productId",t)},expression:"form.productId"}})],1),a("el-form-item",{attrs:{label:"Mqtt账号",prop:"mqttAccount"}},[a("el-input",{attrs:{placeholder:"自动生成",disabled:!e.form.mqttAccount,readonly:"",type:e.accountInputType},model:{value:e.form.mqttAccount,callback:function(t){e.$set(e.form,"mqttAccount",t)},expression:"form.mqttAccount"}},[a("el-button",{staticStyle:{"font-size":"18px"},attrs:{slot:"append",icon:"el-icon-view"},on:{click:function(t){return e.changeInputType("account")}},slot:"append"})],1)],1),a("el-form-item",{attrs:{label:"Mqtt密码",prop:"mqttPassword"}},[a("el-input",{attrs:{placeholder:"自动生成",disabled:!e.form.mqttAccount,readonly:"",type:e.passwordInputType},model:{value:e.form.mqttPassword,callback:function(t){e.$set(e.form,"mqttPassword",t)},expression:"form.mqttPassword"}},[a("el-button",{staticStyle:{"font-size":"18px"},attrs:{slot:"append",icon:"el-icon-view"},on:{click:function(t){return e.changeInputType("password")}},slot:"append"})],1)],1),a("el-form-item",{attrs:{label:"产品秘钥",prop:"mqttSecret"}},[a("el-input",{attrs:{placeholder:"自动生成",disabled:!e.form.mqttAccount,readonly:"",type:e.keyInputType},model:{value:e.form.mqttSecret,callback:function(t){e.$set(e.form,"mqttSecret",t)},expression:"form.mqttSecret"}},[a("el-button",{staticStyle:{"font-size":"18px"},attrs:{slot:"append",icon:"el-icon-view"},on:{click:function(t){return e.changeInputType("key")}},slot:"append"})],1)],1)],1),a("el-col",{attrs:{xs:24,sm:24,md:24,lg:12,xl:8}},[a("el-form-item",{attrs:{label:"产品图片"}},[2==e.form.status&&null==e.form.imgUrl?a("div",[a("el-image",{staticStyle:{height:"145px","border-radius":"10px"},attrs:{"preview-src-list":[r("32d1")],src:r("32d1"),fit:"cover"}})],1):a("div",[a("imageUpload",{ref:"image-upload",attrs:{disabled:!0,value:e.form.imgUrl,limit:2==e.form.status?0:1,fileSize:1},on:{input:function(t){return e.getImagePath(t)}}})],1),null==e.form.productId||0==e.form.productId?a("div",{staticClass:"el-upload__tip",staticStyle:{color:"#f56c6c"}},[e._v("提示:上传后需要提交保存")]):e._e()])],1)],1),a("el-col",{attrs:{span:20}},[a("el-form-item",{staticStyle:{"text-align":"center",margin:"40px 0px"}},[2!=e.form.status?a("el-button",{attrs:{type:"primary"},on:{click:function(t){return e.submitForm()}}},[e._v("提交")]):e._e()],1)],1)],1)],1),a("el-tab-pane",{attrs:{label:"",name:"things",disabled:0==e.form.productId}},[a("span",{attrs:{slot:"label"},slot:"label"},[a("span",{staticStyle:{color:"red"}},[e._v("* ")]),e._v("产品模型")]),a("product-things-model",{ref:"productThingsModel",attrs:{product:e.form}})],1),a("el-tab-pane",{attrs:{label:"",name:"productFirmware",disabled:0==e.form.productId}},[a("span",{attrs:{slot:"label"},slot:"label"},[e._v("固件管理")]),a("product-firmware",{ref:"productFirmware",attrs:{product:e.form}})],1),a("el-tab-pane",{attrs:{label:"",name:"productAuthorize",disabled:0==e.form.productId||0==e.form.isAuthorize}},[a("span",{attrs:{slot:"label"},slot:"label"},[e._v("设备授权")]),a("product-authorize",{ref:"productAuthorize",attrs:{product:e.form}})],1),a("el-tab-pane",{attrs:{label:"",name:"alert",disabled:0==e.form.productId}},[a("span",{attrs:{slot:"label"},slot:"label"},[e._v(" 告警配置")]),a("product-alert",{ref:"productAlert",attrs:{product:e.form}})],1),a("el-tab-pane",{attrs:{label:"",name:"productApp",disabled:0==e.form.productId}},[a("span",{attrs:{slot:"label"},slot:"label"},[e._v("控制界面")]),a("product-app",{ref:"productApp",attrs:{product:e.form}})],1),a("el-tab-pane",{attrs:{label:"",disabled:"",name:"product01"}}),a("el-tab-pane",{attrs:{label:"",disabled:"",name:"product02"}}),a("el-tab-pane",{attrs:{label:"",disabled:"",name:"product03"}}),1==e.form.status?a("el-tab-pane",{attrs:{name:"product04"}},[a("span",{attrs:{slot:"label"},slot:"label"},[a("el-button",{attrs:{type:"success",size:"mini"},on:{click:function(t){return e.changeProductStatus(2)}}},[e._v("发布产品")])],1)]):e._e(),2==e.form.status?a("el-tab-pane",{attrs:{name:"product05"}},[a("span",{attrs:{slot:"label"},slot:"label"},[a("el-button",{attrs:{type:"danger",size:"mini"},on:{click:function(t){return e.changeProductStatus(1)}}},[e._v("取消发布")])],1)]):e._e(),a("el-tab-pane",{attrs:{name:"product06"}},[a("span",{attrs:{slot:"label"},slot:"label"},[a("el-button",{attrs:{type:"info",size:"mini"},on:{click:function(t){return e.goBack()}}},[e._v("返回列表")])],1)])],1)],1)},l=[],o=(r("a9e3"),r("b0c0"),r("416d")),i=r("9355"),n=r("bbfb"),s=r("1850"),c=r("ddac"),u=r("0835"),d=r("1e36"),p=r("9b9c"),m={name:"ProductEdit",dicts:["iot_device_type","iot_network_method","iot_vertificate_method"],components:{productThingsModel:o["default"],productApp:n["default"],productAlert:s["default"],productAuthorize:c["default"],productFirmware:i["default"],imageUpload:u["a"]},data:function(){return{keyInputType:"password",accountInputType:"text",passwordInputType:"password",activeName:"basic",categoryShortList:[],form:{networkMethod:1,deviceType:1,vertificateMethod:3},rules:{productName:[{required:!0,message:"产品名称不能为空",trigger:"blur"}],categoryId:[{required:!0,message:"产品分类ID不能为空",trigger:"blur"}]},queryParams:{tenantName:null}}},created:function(){var e=this.$route.query&&this.$route.query.productId;this.form.productId=e,0!=this.form.productId&&null!=this.form.productId&&this.getProduct();var t=this.$route.query&&this.$route.query.tabPanelName;null!=t&&""!=t&&(this.activeName=t),this.getShortCategory()},activated:function(){var e=this.$route.query.t;if(null!=e&&e!=this.uniqueId){this.uniqueId=e;var t=this.$route.query.productId;null!=t&&0!=t&&(this.form.productId=Number(t),this.getProduct(),this.getShortCategory());var r=this.$route.query&&this.$route.query.tabPanelName;null!=r&&""!=r&&(this.activeName=r)}},methods:{getShortCategory:function(){var e=this;Object(d["e"])().then((function(t){e.categoryShortList=t.data}))},goBack:function(){var e={path:"/iot/product",query:{t:Date.now(),pageNum:this.$route.query.pageNum}};this.$tab.closeOpenPage(e),this.reset()},getProduct:function(){var e=this;Object(p["d"])(this.form.productId).then((function(t){e.form=t.data}))},reset:function(){this.form={productId:0,productName:null,categoryId:null,categoryName:null,status:0,tslJson:null,isAuthorize:0,deviceType:1,networkMethod:1,vertificateMethod:3,mqttAccount:null,mqttPassword:null,mqttSecret:null,remark:null},this.resetForm("form")},submitForm:function(){var e=this;this.$refs["form"].validate((function(t){t&&(null!=e.form.productId&&0!=e.form.productId?Object(p["g"])(e.form).then((function(t){e.$modal.alertSuccess("修改成功")})):Object(p["a"])(e.form).then((function(t){e.$modal.alertSuccess("添加成功,可以开始定义物模型了"),e.form=t.data,e.activeName="things"})))}))},changeProductStatus:function(e){var t=this,r="发生错误了";2==e?r="产品发布后不能再更改产品内容和对应物模型":1==e&&(r="产品下不能有已经创建的设备,才能取消发布哦"),this.$confirm(r,"提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then((function(){var r={};r.productId=t.form.productId,r.status=e,Object(p["b"])(r).then((function(e){t.$modal.alertSuccess(e.msg),t.goBack()})).catch((function(){2==e?t.activeName="things":t.goBack()}))})).catch((function(){t.activeName="basic"}))},selectCategory:function(e){for(var t=0;t