(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-c36f2384","chunk-3a322b3e","chunk-74d326ff"],{"2c9f":function(t,e,r){"use strict";r.r(e);var i=function(){var t=this,e=t.$createElement,r=t._self._c||e;return r("el-dialog",{attrs:{title:"选择产品",visible:t.open,width:"800px"},on:{"update:visible":function(e){t.open=e}}},[r("div",{staticStyle:{"margin-top":"-55px"}},[r("el-divider",{staticStyle:{"margin-top":"-30px"}}),r("el-form",{ref:"queryForm",attrs:{model:t.queryParams,inline:!0,"label-width":"68px"}},[r("el-form-item",{attrs:{label:"产品名称",prop:"productName"}},[r("el-input",{attrs:{placeholder:"请输入产品名称",clearable:"",size:"small"},nativeOn:{keyup:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.handleQuery(e)}},model:{value:t.queryParams.productName,callback:function(e){t.$set(t.queryParams,"productName",e)},expression:"queryParams.productName"}})],1),r("el-form-item",[r("el-button",{attrs:{type:"primary",icon:"el-icon-search",size:"mini"},on:{click:t.handleQuery}},[t._v("搜索")]),r("el-button",{attrs:{icon:"el-icon-refresh",size:"mini"},on:{click:t.resetQuery}},[t._v("重置")])],1)],1),r("el-table",{directives:[{name:"loading",rawName:"v-loading",value:t.loading,expression:"loading"}],ref:"singleTable",attrs:{data:t.productList,"highlight-current-row":"",size:"mini"},on:{"row-click":t.rowClick}},[r("el-table-column",{attrs:{label:"选择",width:"50",align:"center"},scopedSlots:t._u([{key:"default",fn:function(t){return[r("input",{attrs:{type:"radio",name:"product"},domProps:{checked:t.row.isSelect}})]}}])}),r("el-table-column",{attrs:{label:"产品名称",align:"center",prop:"productName"}}),r("el-table-column",{attrs:{label:"分类名称",align:"center",prop:"categoryName"}}),r("el-table-column",{attrs:{label:"租户名称",align:"center",prop:"tenantName"}}),r("el-table-column",{attrs:{label:"授权码",align:"center",prop:"status",width:"70"},scopedSlots:t._u([{key:"default",fn:function(e){return[1==e.row.isAuthorize?r("el-tag",{attrs:{type:"success"}},[t._v("启用")]):t._e(),0==e.row.isAuthorize?r("el-tag",{attrs:{type:"info"}},[t._v("未启用")]):t._e()]}}])}),r("el-table-column",{attrs:{label:"认证方式",align:"center",prop:"status"},scopedSlots:t._u([{key:"default",fn:function(e){return[r("dict-tag",{attrs:{options:t.dict.type.iot_vertificate_method,value:e.row.vertificateMethod}})]}}])}),r("el-table-column",{attrs:{label:"联网方式",align:"center",prop:"networkMethod"},scopedSlots:t._u([{key:"default",fn:function(e){return[r("dict-tag",{attrs:{options:t.dict.type.iot_network_method,value:e.row.networkMethod}})]}}])}),r("el-table-column",{attrs:{label:"创建时间",align:"center",prop:"createTime",width:"100"},scopedSlots:t._u([{key:"default",fn:function(e){return[r("span",[t._v(t._s(t.parseTime(e.row.createTime,"{y}-{m}-{d}")))])]}}])})],1),r("pagination",{directives:[{name:"show",rawName:"v-show",value:t.total>0,expression:"total > 0"}],attrs:{total:t.total,page:t.queryParams.pageNum,limit:t.queryParams.pageSize},on:{"update:page":function(e){return t.$set(t.queryParams,"pageNum",e)},"update:limit":function(e){return t.$set(t.queryParams,"pageSize",e)},pagination:t.getList}})],1),r("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[r("el-button",{attrs:{type:"primary"},on:{click:t.confirmSelectProduct}},[t._v("确定")]),r("el-button",{attrs:{type:"info"},on:{click:t.closeDialog}},[t._v("关 闭")])],1)])},a=[],n=r("9b9c"),o={name:"ProductList",dicts:["iot_vertificate_method","iot_network_method"],data:function(){return{loading:!0,total:0,open:!1,productList:[],selectProductId:0,product:{},queryParams:{pageNum:1,pageSize:10,productName:null,categoryId:null,categoryName:null,tenantId:null,tenantName:null,isSys:null,status:2,deviceType:null,networkMethod:null,showSenior:!1}}},created:function(){},methods:{getList:function(){var t=this;this.loading=!0,Object(n["f"])(this.queryParams).then((function(e){for(var r=0;r0,expression:"total > 0"}],attrs:{total:t.total,page:t.queryParams.pageNum,limit:t.queryParams.pageSize},on:{"update:page":function(e){return t.$set(t.queryParams,"pageNum",e)},"update:limit":function(e){return t.$set(t.queryParams,"pageSize",e)},pagination:t.getList}}),r("el-dialog",{attrs:{title:t.title,visible:t.open,width:"800px","append-to-body":"","close-on-click-modal":!1,"close-on-press-escape":!1},on:{"update:visible":function(e){t.open=e}}},[r("el-form",{ref:"form",attrs:{model:t.form,rules:t.rules,"label-width":"90px"}},[r("el-row",{attrs:{gutter:50}},[r("el-col",{attrs:{span:12}},[r("el-form-item",{attrs:{label:"脚本名称",prop:"scriptName"}},[r("el-input",{attrs:{placeholder:"请输入脚本名"},model:{value:t.form.scriptName,callback:function(e){t.$set(t.form,"scriptName",e)},expression:"form.scriptName"}})],1)],1),r("el-col",{attrs:{span:12}},[r("el-form-item",{attrs:{label:"执行顺序",prop:"scriptOrder"}},[r("el-input-number",{staticStyle:{width:"100%"},attrs:{placeholder:"请输入脚本名",type:"number","controls-position":"right"},model:{value:t.form.scriptOrder,callback:function(e){t.$set(t.form,"scriptOrder",e)},expression:"form.scriptOrder"}})],1)],1),r("el-col",{attrs:{span:12}},[r("el-form-item",{attrs:{label:"脚本事件",prop:"scriptEvent"}},[r("el-select",{staticStyle:{width:"100%"},attrs:{placeholder:"请选择脚本事件"},model:{value:t.form.scriptEvent,callback:function(e){t.$set(t.form,"scriptEvent",e)},expression:"form.scriptEvent"}},t._l(t.dict.type.rule_script_event,(function(t){return r("el-option",{key:t.label,attrs:{label:t.label,value:Number(t.value),disabled:"1"!==t.value&&"2"!==t.value}})})),1)],1)],1),r("el-col",{attrs:{span:12}},[r("el-form-item",{attrs:{label:"脚本动作",prop:"scriptAction"}},[r("el-select",{staticStyle:{width:"100%"},attrs:{placeholder:"请选择脚本动作"},model:{value:t.form.scriptAction,callback:function(e){t.$set(t.form,"scriptAction",e)},expression:"form.scriptAction"}},t._l(t.dict.type.rule_script_action,(function(t){return r("el-option",{key:t.label,attrs:{label:t.label,value:Number(t.value),disabled:"1"!==t.value}})})),1)],1)],1),r("el-col",{attrs:{span:12}},[r("el-form-item",{attrs:{label:"脚本状态",prop:"enable"}},[r("el-switch",{attrs:{"active-value":1,"inactive-value":0,disabled:""},model:{value:t.form.enable,callback:function(e){t.$set(t.form,"enable",e)},expression:"form.enable"}})],1)],1),r("el-col",{attrs:{span:12}},[r("el-form-item",{attrs:{label:"所属产品",prop:"productName"}},[r("el-input",{staticStyle:{"margin-top":"3px"},attrs:{readonly:"",size:"small",placeholder:"请选择产品"},model:{value:t.form.productName,callback:function(e){t.$set(t.form,"productName",e)},expression:"form.productName"}},[r("el-button",{attrs:{slot:"append",size:"small"},on:{click:function(e){return t.handleSelectProduct()}},slot:"append"},[t._v("选择产品")])],1)],1)],1),r("el-col",{staticStyle:{float:"right"},attrs:{span:12}})],1)],1),r("div",{staticStyle:{padding:"0px 10px"},on:{click:t.editClick}},[r("AceEditor",{ref:"codeEditor",attrs:{content:t.form.scriptData,lang:"groovy",codeStyle:"chrome","read-only":!1,width:"100%",height:"450px"},on:{"update:content":function(e){return t.$set(t.form,"scriptData",e)}}})],1),r("div",{staticStyle:{padding:"0 10px",margin:"10px 0"}},[t.isValidate&&t.validateMsg?r("el-alert",{attrs:{title:t.validateMsg,type:"success","show-icon":"",closable:!1}}):t._e(),!t.isValidate&&t.validateMsg?r("el-alert",{attrs:{title:t.validateMsg,type:"error","show-icon":"",closable:!1}}):t._e()],1),r("div",{staticClass:"dialog-footer",attrs:{slot:"footer"},slot:"footer"},[r("span",{staticStyle:{float:"left"}},[r("el-link",{staticStyle:{"line-height":"40px","padding-left":"20px"},attrs:{icon:"el-icon-question",underline:!1,type:"primary",href:"https://fastbee.cn/doc/pages/rule_engine/",target:"_blank"}},[t._v(" 脚本使用Groovy引擎,查看教程>>> ")])],1),r("el-button",{attrs:{type:"success"},on:{click:t.handleValidate}},[t._v("验 证")]),r("el-button",{directives:[{name:"hasPermi",rawName:"v-hasPermi",value:["iot:script:edit"],expression:"['iot:script:edit']"},{name:"show",rawName:"v-show",value:t.form.scriptId,expression:"form.scriptId"}],attrs:{type:"primary",disabled:!t.isValidate},on:{click:t.submitForm}},[t._v("修 改")]),r("el-button",{directives:[{name:"hasPermi",rawName:"v-hasPermi",value:["iot:script:add"],expression:"['iot:script:add']"},{name:"show",rawName:"v-show",value:!t.form.scriptId,expression:"!form.scriptId"}],attrs:{type:"primary",disabled:!t.isValidate},on:{click:t.submitForm}},[t._v("新 增")]),r("el-button",{on:{click:t.cancel}},[t._v("取 消")])],1)],1)],1),r("productList",{ref:"productList",on:{productEvent:function(e){return t.getSelectProduct(e)}}})],1)},a=[],n=r("5530"),o=(r("d9e2"),r("d81d"),r("ac1f"),r("00b4"),r("b775"));function l(t){return Object(o["a"])({url:"/iot/script/list",method:"get",params:t})}function s(t){return Object(o["a"])({url:"/iot/script/"+t,method:"get"})}function c(t){return Object(o["a"])({url:"/iot/script",method:"post",data:t})}function u(t){return Object(o["a"])({url:"/iot/script",method:"put",data:t})}function d(t){return Object(o["a"])({url:"/iot/script/"+t,method:"delete"})}function p(t){return Object(o["a"])({url:"/iot/script/validate",method:"post",data:t})}var m=r("9edeb"),f=r("2c9f"),h={name:"Script",dicts:["rule_script_type","rule_script_language","rule_script_event","rule_script_action"],components:{AceEditor:m["default"],productList:f["default"]},data:function(){return{isValidate:!1,validateMsg:"",loading:!0,scriptIds:[],single:!0,multiple:!0,showSearch:!0,total:0,scriptList:[],title:"",open:!1,queryParams:{pageNum:1,pageSize:10,scriptPurpose:1,scriptId:null,scriptName:null,scriptData:null,scriptType:null,scriptLanguage:null,enable:null},form:{},rules:{scriptId:[{required:!0,message:"脚本标识不能为空",trigger:"blur"}],productName:[{required:!0,message:"所属产品不能为空",trigger:"blur"}],scriptName:[{required:!0,message:"脚本名不能为空",trigger:"blur"}],scriptType:[{required:!0,message:"脚本类型不能为空",trigger:"change"}],scriptLanguage:[{required:!0,message:"脚本语言不能为空",trigger:"change"}],scriptEvent:[{required:!0,message:"",trigger:"change"}],scriptAction:[{required:!0,message:"",trigger:"change"}],scriptOrder:[{required:!0,message:"",trigger:"change"}],enable:[{required:!0,message:"状态不能为空",trigger:"blur"}]}}},created:function(){this.getList()},methods:{getList:function(){var t=this;this.loading=!0,l(this.queryParams).then((function(e){t.scriptList=e.rows,t.total=e.total,t.loading=!1}))},cancel:function(){this.open=!1,this.reset()},reset:function(){this.validateMsg="",this.isValidate=!1,this.form={id:null,applicationName:"fastbee",scriptId:null,productId:null,productName:"",scriptName:null,scriptType:"script",remark:null,scriptLanguage:"groovy",enable:1,scriptPurpose:1,scriptOrder:1,scriptAction:1,scriptEvent:1,sceneId:0,scriptData:'import cn.hutool.json.JSONArray;\nimport cn.hutool.json.JSONObject;\nimport cn.hutool.json.JSONUtil;\nimport cn.hutool.core.util.NumberUtil;\n\n// 1. 获取主题和内容(必要)\nString topic = msgContext.getTopic();\nString payload = msgContext.getPayload();\n\n\n// 2. 数据转换(自己处理)\nprintln ("根据情况转换数据")\nString NewTopic = topic;\nString NewPayload = payload;\n\n\n// 3. 返回新的数据(必要)\nmsgContext.setTopic(NewTopic);\nmsgContext.setPayload(NewPayload);'},this.resetForm("form")},handleQuery:function(){this.queryParams.pageNum=1,this.getList()},resetQuery:function(){this.resetForm("queryForm"),this.handleQuery()},handleSelectionChange:function(t){this.scriptIds=t.map((function(t){return t.scriptId})),this.single=1!==t.length,this.multiple=!t.length},handleAdd:function(){this.reset(),this.open=!0,this.title="编辑规则脚本"},handleUpdate:function(t){var e=this;this.reset();var r=t.scriptId||this.scriptIds;s(r).then((function(t){e.form=t.data,e.open=!0,e.title="修改规则引擎脚本"}))},handleSelectProduct:function(t){this.$refs.productList.queryParams.pageNum=1,this.$refs.productList.open=!0,this.$refs.productList.selectProductId=this.form.productId,this.$refs.productList.getList()},getSelectProduct:function(t){this.form.productId=t.productId,this.form.productName=t.productName},submitForm:function(){var t=this;this.$refs["form"].validate((function(e){e&&(null!=t.form.scriptId?u(t.form).then((function(e){t.$modal.msgSuccess("修改成功"),t.open=!1,t.getList()})):c(t.form).then((function(e){t.$modal.msgSuccess("新增成功"),t.open=!1,t.getList()})))}))},handleDelete:function(t){var e=this,r=t.scriptId||this.scriptIds;this.$modal.confirm('是否确认删除规则引擎脚本编号为"'+r+'"的数据项?').then((function(){return d(r)})).then((function(){e.getList(),e.$modal.msgSuccess("删除成功")})).catch((function(){}))},handleValidate:function(){var t=this;this.validateMsg="",this.isValidate=!1,p(this.form).then((function(e){t.isValidate=e.data,t.validateMsg=e.msg}))},editClick:function(){this.validateMsg="",this.isValidate=!1},handleExport:function(){this.download("iot/script/export",Object(n["a"])({},this.queryParams),"script_".concat((new Date).getTime(),".xlsx"))}}},g=h,b=r("2877"),y=Object(b["a"])(g,i,a,!1,null,null,null);e["default"]=y.exports}}]);