物管理前端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

124 lines
53 KiB

const e="page",a="u:270584784ce1",t="page1";const l={boxShadow:" 0px 0px 0px 0px transparent"},n={disabled:!0},i=[{type:"tabs",name:"tab",tabs:[{title:"样式",icon:"fa fa-th-large",body:[{type:"form",title:"",name:"basicPropForm",body:[{type:"input-text",label:"名称",name:"nodeAlias",id:"u:6b126f0520cb",size:"full",mode:"horizontal",inputControlClassName:"w-100",className:"m-b"},{type:"input-text",label:"ID&nbsp;&nbsp;&nbsp;&nbsp;",name:"id",id:"u:6232710ac003",size:"full",mode:"horizontal",inputControlClassName:"w-100",className:"m-b"},{type:"grid",id:"u:c605398a724c",className:"m-b",columns:[{body:[{type:"input-number",label:"宽度",name:"width",keyboard:!0,id:"u:dcc0c21d16f6",step:1,suffix:"px",placeholder:"组件左边距",size:"full",mode:"horizontal",className:"m-b",value:200,labelAlign:"left",precision:2,inputClassName:"w-full",labelClassName:"w-8"}],id:"u:14cc19d6ffb0",md:6},{body:[{type:"input-number",label:"高度",name:"height",keyboard:!0,id:"u:cd6fdff9ca88",step:1,suffix:"px",placeholder:"组件上边距",size:"full",mode:"horizontal",className:"m-b",value:200,labelAlign:"left",precision:2,inputClassName:"w-full",labelClassName:"w-8"}],id:"u:4931801ca9b8",md:6}]},{type:"grid",id:"u:da449a94908a",className:"m-b",columns:[{body:[{type:"input-number",label:"X 轴",name:"x",keyboard:!0,id:"u:29852d093d9d",step:1,suffix:"px",placeholder:"组件左边距",size:"full",mode:"horizontal",className:"m-b",value:200,labelAlign:"left",precision:2,inputClassName:"w-full",labelClassName:"w-8"}],id:"u:1b561d652acc",md:6},{body:[{type:"input-number",label:"Y 轴",name:"y",keyboard:!0,id:"u:dc8c1daed8ed",step:1,suffix:"px",placeholder:"组件上边距",size:"full",mode:"horizontal",className:"m-b",value:200,labelAlign:"left",precision:2,inputClassName:"w-full",labelClassName:"w-8"}],id:"u:9672575193ac",md:6}]},{type:"grid",id:"u:a332a7bf83c1",className:"m-b",columns:[{body:[{type:"input-number",label:"旋转",name:"rotation",id:"u:f6a2dbb518f9",placeholder:"组件旋转角度",mode:"horizontal",size:"full",className:"",keyboard:!0,step:1,suffix:"deg",value:0,labelAlign:"left",inputClassName:"w-full"}],id:"u:646cd98b7955",md:6},{body:[{type:"input-number",label:"透明",name:"opacity",id:"u:cf80f59d8d42",placeholder:"组件透明度",mode:"horizontal",size:"full",className:"m-b",keyboard:!0,step:0,suffix:"",value:1,inputClassName:"w-full",precision:2}],id:"u:51ddf54ac749",md:6}],gap:""},{type:"grid",columns:[{body:[{type:"input-text",label:"内容",name:"content",id:"u:bea5a408f98f",mode:"horizontal",size:"full",inputControlClassName:"inputControlClassName-bea5a408f98f"}],id:"u:afc37bde0156",md:12}],id:"u:235f153e5ad5",className:"m-b"},{type:"grid",columns:[{body:[{type:"switch",label:"显示值",option:"",name:"showDefaultValue",falseValue:!1,trueValue:!0,id:"u:b52d7cc4b201",value:!1,mode:"horizontal",className:"m-b"}],id:"u:83905272eb76"},{body:[{type:"switch",label:"显示单位",option:"",name:"showUnit",falseValue:!1,trueValue:!0,id:"u:92b92507de26",value:!1,mode:"horizontal",className:"m-b"}],id:"u:5b89c331fe7e"}],id:"u:19e1ffafeb70",className:"m-b"},{type:"grid",columns:[{body:[{type:"input-color",label:"值颜色",name:"valueColor",id:"u:9b5b55cac08a",format:"rgba",mode:"horizontal",value:"rgba(245, 166, 35, 1)"}],id:"u:ac26ae965c66"},{body:[],id:"u:290d9ceb32aa"}],id:"u:94b0e20f05da"},{type:"fieldset",id:"u:2a93d8eee7a9",className:"",title:"字体",collapsable:!0,body:[{type:"container",id:"u:1606d0ad8360",body:[{type:"select",id:"u:6f3470628b86",label:"字体类型",name:"fontFamily",mode:"horizontal",horizontal:{leftFixed:"sm"},size:"lg",options:[{},{label:"宋体",value:"SimSun"},{label:"微软雅黑",value:"Microsoft Yahei"},{label:"苹方",value:"PingFang SC"},{label:"Andale Mono",value:"andale mono,monospace"},{label:"Arial",value:"arial,helvetica,sans-serif"},{label:"Arial Black",value:"arial black,sans-serif"},{label:"Book Antiqua",value:"book antiqua,palatino,serif"},{label:"Comic Sans MS",value:"comic sans ms,sans-serif"},{label:"Courier New",value:"courier new,courier,monospace"},{label:"Georgia",value:"georgia,palatino,serif"},{label:"Helvetica Neue",value:"Helvetica Neue"},{label:"Helvetica",value:"helvetica,arial,sans-serif"},{label:"Impact",value:"impact,sans-serif"},{label:"Symbol",value:"symbol"},{label:"Tahoma",value:"tahoma,arial,helvetica,sans-serif"},{label:"Terminal",value:"terminal,monaco,monospace"},{label:"Times New Roman",value:"times new roman,times,serif"},{label:"Trebuchet MS",value:"trebuchet ms,geneva,sans-serif"},{label:"Verdana",value:"verdana,geneva,sans-serif"}],multiple:!1,className:"m-b",menuTpl:"<span style=font-family:${value}>${label}</span>",inputClassName:""},{type:"input-color",label:"字体",name:"fontColor",id:"u:f398c821eda1",mode:"horizontal",size:"lg",className:"m-b",format:"rgba",placeholder:"字体",horizontal:{leftFixed:"sm"},inputClassName:""},{type:"input-number",id:"u:0063eed6ed66",label:"字体大小",name:"fontSize",min:12,step:1,mode:"horizontal",horizontal:{leftFixed:"sm"},className:"m-b",keyboard:!0,displayMode:"enhance",value:12,max:100},{type:"checkboxes",id:"u:b34f4c274416",className:"custom-checkbox-style m-b",label:"文字样式",name:"fontStyle",options:[{label:"fa-bold fa",value:"bold"},{label:"fa-italic fa",value:"italic"},{label:"fa-underline fa",value:"underline"},{label:"fa fa-strikethrough",value:"line-through"}],checkAll:!1,joinValues:!0,mode:"horizontal",horizontal:{leftFixed:"sm"},optionType:"button",menuTpl:"<span class='text-lg ${label}'></span>",inputClassName:"",multiple:!0},{type:"input-number",label:"字符间距",name:"fontSpace",keyboard:!0,id:"u:d05b551cf67c",step:1,mode:"horizontal",horizontal:{leftFixed:"sm"},displayMode:"enhance",className:"m-b",min:0,max:50},{type:"input-number",label:"文字行高",name:"lineHeight",keyboard:!0,id:"u:0063eed6ed66",step:1,mode:"horizontal",horizontal:{leftFixed:"sm"},displayMode:"enhance",className:"m-b",min:12}],style:{position:"static",display:"block"},wrapperBody:!1}],bodyClassName:"m-b"}],id:"u:a5ebe5f02407",submitText:"",onEvent:{change:{weight:0,actions:[]}},debug:!1,mode:"normal",panelClassName:"p",labelAlign:"left",className:"",wrapWithPanel:!0}],id:"u:c309ae58472c",className:"p-none no-border"},{title:"交互",icon:"fa fa-calendar-minus-o",body:[{type:"service",body:[{type:"collapse",key:"1",active:!0,header:"常规",body:[{type:"service",id:"u:6cb6d200ede2",data:{dataPoint:"",compareType:"",conditionVariables:[],defaultValue:"",unit:""},body:[{type:"input-text",label:"数据点",name:"dataPoint",id:"normalDataPoint",multiple:!1,mode:"horizontal",size:"full",onEvent:{focus:{weight:0,actions:[{actionType:"dialog",dialog:{type:"dialog",title:"请配置需要绑定的数据点",body:[{type:"tabs",tabs:[{title:"常规数据点",body:[{type:"form",title:"",body:[{type:"select",label:"数据源",name:"dataSource",id:"u:c273f087b8ed",mode:"horizontal",multiple:!1,size:"md",horizontal:{leftFixed:"sm"},source:"${apiDtoList || thingApiDTOList}",labelField:"name",valueField:"id",onEvent:{change:{actions:[{actionType:"reload",componentId:"u:1cdb908c23a8"},{actionType:"custom",script:`if (!event.data.value) { doAction({'actionType': 'setValue', 'componentId': 'u:1cdb908c23a8', 'args': {'value': ''} });\r
doAction({'actionType': 'setValue', 'componentId': 'u:8147daea685d', 'args': {'value': ''} }); }`}]}},clearable:!0,actionType:"change",target:"u:1cdb908c23a8"},{type:"combo",label:"设备属性",name:"deviceAttrs",id:"u:98559a2dd514",multiple:!1,mode:"horizontal",size:"full",horizontal:{leftFixed:"sm"},items:[{type:"input-table",label:!1,id:"u:41dfc35c368c",name:"table",strictMode:!1,needConfirm:!1,addable:!0,removable:!0,columns:[{type:"input-text",label:"序号",id:"u:434e22030bc6",name:"num",size:"sm",mode:"horizontal",quickEdit:{mode:"popOver",id:"u:c6a294f5c93a"},horizontal:{left:2,right:10},placeholder:"例:A/B/C/AA/BB",width:200},{type:"select",name:"devices",id:"u:1cdb908c23a8",label:"设备",multiple:!1,mode:"horizontal",quickEdit:!0,size:"sm",source:{url:"/thing/v1/api/telemetryById?id=${dataSource}",method:"get",messages:{},headers:{token:"${myToken}",tenantCode:"${myTenantCode}",companyId:"${myCompanyId}"},adaptor:`if (payload && payload.data && payload.data.result) {console.log('payload.data.result', payload.data.result); \r
const list = []\r
const devices = payload.data.result.info \r
for (const key in devices) {\r
const device_info = devices[key] \r
list.push({\r
label: device_info.entityName,\r
value: device_info.entityId,\r
deviceCode: device_info.entityCode,\r
deviceInfo: device_info,\r
attrs: device_info.attrs })\r
}\r
payload.data = list;\r
return payload\r
}`,sendOn:"this.dataSource"},onEvent:{change:{actions:[{actionType:"custom",script:"if (!event.data.value) { doAction({'actionType': 'setValue', 'componentId': 'u:8147daea685d', 'args': {'value': ''} }); }"}]}},responseData:{"&":"$$",list:"${items}"},clearable:!0,horizontal:{left:2,right:10},checkAll:!1},{type:"select",name:"dataPoint",id:"u:8147daea685d",label:"数据点",multiple:!1,quickEdit:!0,mode:"horizontal",size:"sm",source:{url:"/thing/v1/api/callDict?id=${dataSource}&entityId=${devices}",method:"get",messages:{},headers:{token:"${myToken}",tenantCode:"${myTenantCode}",companyId:"${myCompanyId}"},sendOn:"this.dataSource && this.devices",adaptor:`const list = payload.data.map(item => {\r
item.dictName = item.dictName + ' - ' + item.dictCode\r
return item\r
})\r
payload.data = list;\r
return payload`},labelField:"dictName",valueField:"dictCode",checkAll:!1,horizontal:{left:2,right:10},overlay:{width:"350px"},searchable:!0}]}],strictMode:!0,syncFields:[],tabsMode:!1,canAccessSuperData:!0,inputClassName:"w-full",className:"m-b-sm"},{type:"checkbox",label:"数据处理",name:"enableDataHandle",id:"u:034ca60f2135",mode:"horizontal",horizontal:{leftFixed:"normal"},option:""},{type:"combo",id:"u:a06125153fa6",name:"calcRules",label:"计算规则",mode:"horizontal",visibleOn:"this.enableDataHandle",multiple:!0,items:[{name:"formular",label:"计算公式",type:"input-text",id:"u:318a7f0c6449",placeholder:"例: (A + B) / C",width:"50%",size:"full"},{name:"resultAttr",label:"计算结果属性",type:"input-text",id:"u:1e6e491ccbaa",placeholder:"例:A8、B、C...",width:"50%"}],strictMode:!0,syncFields:[],hidden:!1,inputClassName:"w-full",multiLine:!1,className:"calcRules"},{type:"input-text",label:"唯一数据点",name:"uniquePoint",id:"u:3b257b599c19",mode:"horizontal",visibleOn:"this.enableDataHandle",labelRemark:{icon:"fa fa-question-circle",trigger:["hover"],className:"Remark--warning",placement:"top",title:"场景:",content:"当有数据处理,并且只需绑定一个数据点作为 【实时/立即/最新数据】时,请填写所需数据点的序号或计算结果属性。"},inputControlClassName:"m-b"}],id:"u:51f0e51abd7c",data:{attrs:[],deviceCode:"${deviceCode || ''}",devices:"${devices || ''}",dataPoint:"${dataPoint || ''}",dataSource:"${dataSource || ''}",deviceAttrs:"${deviceAttrs || []}"},submitText:"",onEvent:{inited:{actions:{actionType:"custom",script:"if(event.data.devices && event.data.dataPoint && event.data.deviceAttrs.length === 0) { const dataPoints = event.data.dataPoint.split(','); const newDeviceAttrs = dataPoints.map((point, idx) => ({ num: String.fromCharCode(65+idx), devices: event.data.devices, dataPoint: point }) ); doAction({ 'actionType': 'setValue', 'componentId': 'u:51f0e51abd7c', 'args': { value: {deviceAttrs: { table: newDeviceAttrs } }} }); }"}}}}],id:"u:5505e7ef7cab"},{title:"虚拟变量",body:[{type:"tpl",tpl:"暂时无虚拟变量可配置",wrapperComponent:"",inline:!1,id:"u:722592249b31"}],id:"u:b739cc6a6ed7"}],id:"u:3b446450d643"}],showCloseButton:!0,showErrorMsg:!0,showLoading:!0,id:"u:f46c2439c983",data:{"&":"${dataPoint | toJson}",apiDtoList:"${thingApiDTOList}",myToken:"${myToken}",myTenantCode:"${myTenantCode}",myCompanyId:"${myCompanyId}"},onEvent:{confirm:{actions:[{actionType:"custom",script:"const tableData = event.data.deviceAttrs.table; let devices = ''; let dataPoint = ''; if(tableData) { tableData.forEach(item => { devices += (item.devices + ',');dataPoint += (item.dataPoint + ','); });}; if(tableData && tableData.length > 0) { devices = devices.substring(0, devices.length - 1); dataPoint = dataPoint.substring(0, dataPoint.length - 1); const newValue = {...event.data, devices: devices, dataPoint: dataPoint, dataSource: event.data.dataSource} ; doAction({ 'componentId': 'normalDataPoint', 'actionType': 'setValue', 'args': { value: JSON.stringify(newValue) } }) } else {doAction({ 'componentId': 'normalDataPoint', 'actionType': 'setValue', 'args': { value: JSON.stringify(event.data) } }) };"}]}},closeOnEsc:!1,size:"lg"}}]}},className:"w-full m-b-sm",inputClassName:"w-full",clearable:!0},{type:"input-text",label:"默认值",placeholder:'[{ "val": 0.00 }]',clearable:!0,name:"defaultValue",id:"u:13ccbc565f5e",mode:"horizontal",size:"full",inputControlClassName:"mb-sm",labelClassName:"mb-sm",className:"m-b-sm"},{type:"input-text",label:"单位 &nbsp&nbsp",name:"unit",id:"u:0f606558e8c7",mode:"horizontal",size:"full",className:"m-b-sm"}],name:"normalService",className:"p-none"},{type:"service",body:[],id:"u:0dd069ac163f"}],id:"u:7b021709614e",headingClassName:"p-sm bg-white b-b b-light",className:"m-b r-3x",bodyClassName:"p-none"},{type:"collapse",key:"2",header:"事件",body:[{type:"service",id:"u:4ec2acc50405",body:[{type:"combo",label:"",name:"eventCombo",multiple:!0,addable:!0,removable:!0,removableMode:"icon",addBtn:{label:"新增",icon:"fa fa-plus",level:"primary",size:"sm",id:"u:ae1b0a0c0f55"},items:[{type:"select",name:"eventType",placeholder:"选择事件",options:[{label:"单击",value:"click"},{label:"双击",value:"dblClick"},{label:"改变",value:"change"},{label:"鼠标进入",value:"mouseEnter"},{label:"鼠标离开",value:"mouseLeave"}],id:"u:a7b44847011a",label:"名称"},{type:"input-text",name:"config",placeholder:"事件配置",id:"u:d491386a95c2",onEvent:{focus:{actions:[{actionType:"dialog",dialog:{title:"设置事件",data:{comboIndex:"${index}","&":"${config | toJson}",nodesList:"${graphDataList}",apiDtoList:"${thingApiDTOList}",myToken:"${myToken}",myTenantCode:"${myTenantCode}",myCompanyId:"${myCompanyId}",evType:"${eventType}"},body:[{type:"form",title:"表单",body:[{type:"radios",label:"事件行为",name:"eventAction",options:[{label:"打开链接",value:"openLink"},{label:"打开弹窗",value:"openDialog"},{label:"下发指令",value:"sendCommand"},{label:"显示隐藏",value:"showHide"}],mode:"horizontal",horizontal:{leftFixed:"sm"},id:"u:9e7f1220367f",value:"openLink"},{type:"input-text",label:"链接地址",name:"linkAddress",mode:"horizontal",horizontal:{leftFixed:"sm"},inputClassName:"w-full",id:"u:c5bda965ed3c",size:"full",visibleOn:"data.eventAction === 'openLink'"},{type:"combo",label:"参数",name:"dataPointTable",id:"dataPointTable",addable:!0,strictMode:!0,removable:!0,horizontal:{leftFixed:"sm"},multiple:!0,removableMode:"icon",addBtn:{label:"新增",icon:"fa fa-plus",level:"primary",size:"sm",id:"u:bf2f6c98dbff"},items:[{type:"input-text",name:"dataPoint",id:"u:1eb050ec98d3",label:"",multiple:!1,size:"full",onEvent:{focus:{weight:0,actions:[{actionType:"dialog",dialog:{type:"dialog",title:"请配置需要绑定的数据点",body:[{type:"tabs",tabs:[{title:"常规数据点",body:[{type:"form",title:"",body:[{type:"select",label:"数据源",name:"dataSource",id:"u:c273f087b8ed",multiple:!1,mode:"horizontal",size:"md",source:"${apiDtoList || thingApiDTOList}",labelField:"name",valueField:"id",onEvent:{change:{actions:[{actionType:"reload",componentId:"u:1cdb908c23a8"},{actionType:"custom",script:`if (!event.data.value) { doAction({'actionType': 'setValue', 'componentId': 'u:1cdb908c23a8', 'args': {'value': ''} });\r
doAction({'actionType': 'setValue', 'componentId': 'u:8147daea685d', 'args': {'value': ''} }); }`}]}},clearable:!0,horizontal:{left:2,right:10},actionType:"change",target:"u:1cdb908c23a8"},{type:"select",label:"设备",name:"devices",id:"u:1cdb908c23a8",multiple:!1,mode:"horizontal",size:"md",source:{url:"/thing/v1/api/telemetryById?id=${dataSource}",method:"get",messages:{},headers:{token:"${myToken}",tenantCode:"${myTenantCode}",companyId:"${myCompanyId}"},adaptor:`if (payload && payload.data && payload.data.result) {console.log('payload.data.result', payload.data.result); \r
const list = []\r
const devices = payload.data.result.info \r
for (const key in devices) {\r
const device_info = devices[key] \r
list.push({\r
label: device_info.entityName,\r
value: device_info.entityId,\r
deviceCode: device_info.entityCode,\r
deviceInfo: device_info,\r
attrs: device_info.attrs })\r
}\r
payload.data = list;\r
return payload\r
}`,sendOn:"this.dataSource"},onEvent:{change:{actions:[{actionType:"custom",script:`const selectedItems = event.data.selectedItems;\r
if(selectedItems) { doAction({actionType: 'setValue', componentId: 'u:51f0e51abd7c', args: { value: { attrs: selectedItems.attrs, deviceCode: selectedItems.deviceCode } } }); }`},{actionType:"custom",script:"if (!event.data.value) { doAction({'actionType': 'setValue', 'componentId': 'u:8147daea685d', 'args': {'value': ''} }); }"}]}},responseData:{"&":"$$",list:"${items}"},clearable:!0,horizontal:{left:2,right:10}},{type:"select",label:"数据点",name:"dataPoint",id:"u:8147daea685d",multiple:!0,mode:"horizontal",size:"md",source:{url:"/thing/v1/api/callDict?id=${dataSource}&entityId=${devices}",method:"get",messages:{},headers:{token:"${myToken}",tenantCode:"${myTenantCode}",companyId:"${myCompanyId}"},sendOn:"this.dataSource && this.devices",adaptor:`const list = payload.data.map(item => {\r
item.dictName = item.dictName + ' - ' + item.dictCode\r
return item\r
})\r
payload.data = list;\r
return payload`},labelField:"dictName",valueField:"dictCode",checkAll:!1,horizontal:{left:2,right:10},overlay:{width:"350px"},searchable:!0}],id:"u:51f0e51abd7c",data:{attrs:[],deviceCode:"${deviceCode || ''}"},submitText:""}],id:"u:5505e7ef7cab"},{title:"虚拟变量",body:[{type:"tpl",tpl:"暂时无虚拟变量可配置",wrapperComponent:"",inline:!1,id:"u:722592249b31"}],id:"u:b739cc6a6ed7"}],id:"u:3b446450d643"}],showCloseButton:!0,showErrorMsg:!0,showLoading:!0,id:"u:f46c2439c983",data:{"&":"${dataPoint | toJson}",apiDtoList:"${thingApiDTOList}",myToken:"${myToken}",myTenantCode:"${myTenantCode}",myCompanyId:"${myCompanyId}",dataPointTableIndex:"${index}"},onEvent:{confirm:{actions:[{componentId:"dataPointTable",actionType:"setValue",args:{value:{dataPoint:"${event.data | json}"},index:"${index}"}}]}}}}]}},horizontal:{left:1,right:11}}],syncFields:[],mode:"horizontal",visibleOn:"data.eventAction === 'openLink'"},{type:"editor",label:"参数计算",name:"dataPointParamsCalculate",id:"u:4d5e749b7f42",visibleOn:"data.eventAction === 'openLink'",className:"text-left m-b-xs",inputClassName:"w-full",language:"javascript",value:`return [
{
key: "",
value: ''
}
]`},{type:"radios",label:"打开方式",name:"openMethod",id:"u:eec4f8737fe8",options:[{label:"打开新页面",value:"openNewPage"},{label:"打开到本页",value:"openLocalPage"}],horizontal:{leftFixed:"sm"},mode:"horizontal",visibleOn:"data.eventAction === 'openLink'"},{type:"radios",label:"下发指令方式",name:"sendCommandMethod",hiddenOn:"data.eventAction !== 'sendCommand'",id:"u:82d9feb7609d",options:[{label:"配置",value:"config"},{label:"代码",value:"codes"}],value:"config"},{type:"select",label:"选择设备",clearable:"true",name:"selectDevice",id:"u:891bca3a0150",onEvent:{change:{actions:[{componentId:"u:a13b61f23669",actionType:"custom",script:`const select = event.data.selectedItems; \r
doAction({'componentId': 'u:a13b61f23669', 'actionType': 'setValue', 'args': { 'value': { 'device': select }} })`}]}},hiddenOn:"data.eventAction !== 'sendCommand'",inputClassName:"w-full",multiple:!1,mode:"horizontal",size:"full",source:{url:"/thing/device/control/list/device",method:"get",messages:{},headers:{token:"${myToken}",tenantCode:"${myTenantCode}",companyId:"${myCompanyId}"}},labelField:"name",valueField:"id"},{type:"select",id:"u:42026703278d",label:"选择指令",clearable:"true",name:"selectCommand",onEvent:{change:{actions:[{componentId:"u:a13b61f23669",actionType:"custom",script:`const select = event.data.selectedItems; \r
doAction({'componentId': 'u:a13b61f23669', 'actionType': 'setValue', 'args': { 'value': { 'command': select }} })`}]}},hiddenOn:"data.eventAction !== 'sendCommand'",multiple:!1,mode:"horizontal",size:"full",source:{url:"/thing/device/control/list/${selectDevice}",method:"get",messages:{},headers:{token:"${myToken}",tenantCode:"${myTenantCode}",companyId:"${myCompanyId}"},sendOn:"this.selectDevice"},labelField:"name",valueField:"id",inputClassName:"w-full"},{type:"tpl",id:"u:f0e9dbf83675",hiddenOn:"data.eventAction !== 'sendCommand'",className:"mx-20 text-left",tpl:"function (deviceInfo, command, event){",inline:!0,wrapperComponent:""},{type:"editor",id:"u:14d8542a2066",hiddenOn:"data.eventAction !== 'sendCommand'",className:"text-left m-b-xs",label:"入参",name:"inputParamsCalculate",inputClassName:"w-full",language:"javascript",onEvent:{blur:{actions:[{actionType:"custom",script:`const func = new Function('paramsList', 'command', event.data.value);
const newParams = func(event.data.__super.inputParamsTable || [], event.data.__super.selectCommand);
doAction({actionType: 'setValue', componentId: 'u:a13b61f23669', args: { value: { globalInputParamsCalculated: newParams } } });`}]}},value:`// console.log('deviceInfo', deviceInfo, 'command', command, 'event', event);
// 入参提示: deviceInfo -- 设备信息,command -- 指令信息, event -- 事件传参(当前部件所绑定的立即值,或当前部件经过计算后的自定义值), 入参计算。。。然后返回出参
return {
"condition": "",
"controlId": command.id,
"event": event
}`},{type:"grid",id:"u:68833f10e2bf",columns:[{body:[{type:"select",label:"请求地址",name:"requestMethod",options:[{label:"get",value:"get"},{label:"post",value:"post"},{label:"put",value:"put"},{label:"delete",value:"delete"}],id:"u:7c48788db8af",multiple:!1,hiddenOn:"data.eventAction !== 'sendCommand'",visibleOn:"data.sendCommandMethod === 'config'",mode:"horizontal",size:"full",inputClassName:"w-full",value:"post"}],id:"u:d9d274b50340"},{body:[{type:"input-text",label:!1,name:"requestUrl",id:"u:841b001e3bcd",size:"full",placeholder:"请输入请求地址",hiddenOn:"data.eventAction !== 'sendCommand'",visibleOn:"data.sendCommandMethod === 'config'",value:"/thing/device/control/control"}],id:"u:c8fab8bb0860"},{body:[{type:"input-number",label:"",name:"requestIntervalNumber",keyboard:!0,id:"u:69a53fa6dc9f",step:1,mode:"inline",placeholder:"请求间隔",hiddenOn:"data.eventAction !== 'sendCommand'",visibleOn:"data.sendCommandMethod === 'config'"},{type:"select",label:"",name:"requestIntervalUnit",options:[{label:"秒",value:"second"},{label:"分",value:"minute"},{label:"时",value:"hour"},{label:"天",value:"day"}],id:"u:69f93c61c28b",multiple:!1,mode:"inline",hiddenOn:"data.eventAction !== 'sendCommand'",visibleOn:"data.sendCommandMethod === 'config'"}],id:"u:1827f27e041b"}]},{type:"grid",id:"u:208413b258dc",className:"m-b",columns:[]},{type:"tpl",id:"u:931d6b4e0374",className:"mx-20 text-left",hiddenOn:"data.eventAction !== 'sendCommand'",visibleOn:"data.sendCommandMethod === 'codes'",tpl:"function (context, service, command, event ){",inline:!0,wrapperComponent:""},{type:"editor",id:"u:52152e74a360",hiddenOn:"data.eventAction !== 'sendCommand'",className:"text-left",visibleOn:"data.sendCommandMethod === 'codes'",label:"下发指令",name:"commandContent",inputClassName:"w-full",language:"javascript",labelRemark:{icon:"fa fa-question-circle",trigger:["hover"],className:"Remark--warning",placement:"top",title:"函数入参为:",content:`'context': logicflow 上下文实例;
'service': axios 请求实例;`}},{type:"tpl",id:"u:2bb06db3ddd9",hiddenOn:"data.eventAction !== 'sendCommand'",className:"mx-20 text-left",visibleOn:"data.sendCommandMethod === 'codes'",tpl:"}",inline:!0,wrapperComponent:""},{type:"input-text",id:"u:efa5bfe4e760",hiddenOn:"data.eventAction !== 'openDialog'",label:"弹框标题",name:"dialogTitle"},{type:"input-text",label:"弹框内容",name:"dialogContent",id:"u:e1ee364f3318",hiddenOn:"data.eventAction !== 'openDialog'"},{type:"list-select",label:"指令下一步",name:"commandNext",id:"u:158bf05d1e6b",hiddenOn:"data.eventAction !== 'sendCommand'",multiple:!0,options:[{label:"显示隐藏",value:"showOrHide"}],joinValues:!1},{type:"combo",label:"选择变量",name:"operateVariables",id:"u:a4352d57fdad",multiple:!0,mode:"horizontal",visibleOn:"data.eventAction === 'operateVariable'",addable:!0,removable:!0,removableMode:"icon",addBtn:{label:"新增",icon:"fa fa-plus",level:"primary",size:"sm",id:"u:f1307c109572"},items:[{type:"select",name:"selectedVariable",placeholder:"选择变量",selectMode:"chained",id:"u:309c8645978d",searchable:!0,multiple:!1,size:"full",source:"${nodesList || graphDataList}",mode:"horizontal",inputClassName:"",className:"",label:!1},{type:"tpl",id:"u:0d7912942b0f",hiddenOn:"data.eventAction !== 'sendCommand'",className:"mx-20 text-left",tpl:"",inline:!0,wrapperComponent:""},{type:"editor",name:"newValue",id:"u:6811d0fb2211",mode:"horizontal",label:!1,placeholder:"新值",size:"full",language:"javascript",inputControlClassName:"w-full",remark:{icon:"fa fa-question-circle",trigger:["hover"],className:"Remark--warning",placement:"top"},description:"此函数入参包括四个, 按照顺序依次为:inputParamsTable:下发指令的入参;globalInputParamsCalculated: 是下发指令的 ”入参计算“ 返回值;response :下发指令请求的返回值; event: 事件。 根据此四个变量,计算需要操作的变量新值"}],strictMode:!0,syncFields:[],inputClassName:"w-full",size:"full"},{type:"grid",id:"u:f9985214eb9e",columns:[{body:[{type:"editor",name:"showHideNewValue",id:"u:9f2d894d8fc6",mode:"horizontal",label:!1,placeholder:"返回计算后的组件显示和隐藏, 格式为: return { '组件id xxxxx-xxx-xxx': 'show' / 'hide' }",size:"full",language:"javascript",inputControlClassName:"w-full",remark:{icon:"fa fa-question-circle",trigger:["hover"],className:"Remark--warning",placement:"top"},description:"",visibleOn:"data.eventAction === 'showHide'",className:"w-full",inputClassName:"w-full",value:""}],id:"u:52e0c15d0c8f"}],className:"m-b"},{type:"list-select",id:"u:77a71866967a",label:"复制组件ID",name:"allComponentList",mode:"horizontal",visibleOn:"data.eventAction === 'showHide'",multiple:!1,source:"${nodesList || graphDataList}",onEvent:{change:{actions:[{actionType:"copy",args:{content:"${event.data.value}"}}]}}},{type:"grid",id:"u:7e8dfba20aee",columns:[]}],id:"u:a13b61f23669",name:"eventsForm",className:"text-left",data:{globalInputParamsCalculated:[],device:"${device}",command:"${command}"}}],onEvent:{confirm:{actions:[{componentId:"u:364496dd313b",actionType:"custom",script:`const evType = event.data.eventType || event.data.__super.evType; \r
const index = event.data.__index | event.data.__super.comboIndex; \r
doAction({'componentId': 'u:364496dd313b', 'actionType': 'setValue', 'args': { 'index': index, 'value': { 'config': JSON.stringify(event.data), 'eventType': evType }} })`}]}},showCloseButton:!0,showErrorMsg:!0,showLoading:!0,id:"u:57f536c19373",size:"lg",type:"dialog",bodyClassName:"setting-events-dialog",name:"settingEventsDialog"}}]}},label:"动作"},{type:"checkBox",id:"u:79dadbc61f74",name:"enable",label:"启用"}],id:"u:364496dd313b",deleteBtn:{type:"icon",icon:"fa fa-trash",id:"u:6d4a75088bc2",className:"border-none"}}],data:{eventCombo:[{eventType:"click",enable:!1,config:""},{eventType:"dblClick",enable:!1,config:""}]},name:"eventsService"}],id:"u:14834e895716",headingClassName:"p-sm bg-white b-b b-light",className:"m-b r-3x",bodyClassName:"p-none"},{type:"collapse",key:"2",header:"外观",body:[{type:"service",id:"u:6cb6d200ede2",data:{dataPoint:"",compareType:"",conditionVariables:[]},body:[{type:"input-text",label:"数据点",name:"dataPoint",id:"uiDataPoint",multiple:!1,mode:"horizontal",size:"full",onEvent:{focus:{weight:0,actions:[{actionType:"dialog",dialog:{type:"dialog",title:"请配置需要绑定的数据点",body:[{type:"tabs",tabs:[{title:"常规数据点",body:[{type:"form",title:"",body:[{type:"select",label:"数据源",name:"dataSource",id:"u:c273f087b8ed",multiple:!1,mode:"horizontal",size:"md",source:"${apiDtoList || thingApiDTOList}",labelField:"name",valueField:"id",onEvent:{change:{actions:[{actionType:"reload",componentId:"u:1cdb908c23a8"},{actionType:"custom",script:`if (!event.data.value) { doAction({'actionType': 'setValue', 'componentId': 'u:1cdb908c23a8', 'args': {'value': ''} });\r
doAction({'actionType': 'setValue', 'componentId': 'u:8147daea685d', 'args': {'value': ''} }); }`}]}},clearable:!0,horizontal:{leftFixed:"sm"},actionType:"change",target:"u:1cdb908c23a8"},{type:"combo",label:"设备属性",name:"deviceAttrs",id:"u:98559a2dd514",multiple:!1,mode:"horizontal",size:"full",horizontal:{leftFixed:"sm"},items:[{type:"input-table",label:!1,id:"u:41dfc35c368c",name:"table",strictMode:!1,needConfirm:!1,addable:!0,removable:!0,columns:[{type:"input-text",label:"序号",id:"u:434e22030bc6",name:"num",size:"sm",mode:"horizontal",quickEdit:{mode:"popOver",id:"u:c6a294f5c93a"},horizontal:{left:2,right:10},placeholder:"例:A/B/C/AA/BB",width:200},{type:"select",name:"devices",id:"u:1cdb908c23a8",label:"设备",multiple:!1,mode:"horizontal",quickEdit:!0,size:"sm",source:{url:"/thing/v1/api/telemetryById?id=${dataSource}",method:"get",messages:{},headers:{token:"${myToken}",tenantCode:"${myTenantCode}",companyId:"${myCompanyId}"},adaptor:`if (payload && payload.data && payload.data.result) {console.log('payload.data.result', payload.data.result); \r
const list = []\r
const devices = payload.data.result.info \r
for (const key in devices) {\r
const device_info = devices[key] \r
list.push({\r
label: device_info.entityName,\r
value: device_info.entityId,\r
deviceCode: device_info.entityCode,\r
deviceInfo: device_info,\r
attrs: device_info.attrs })\r
}\r
payload.data = list;\r
return payload\r
}`,sendOn:"this.dataSource"},onEvent:{change:{actions:[{actionType:"custom",script:"if (!event.data.value) { doAction({'actionType': 'setValue', 'componentId': 'u:8147daea685d', 'args': {'value': ''} }); }"}]}},responseData:{"&":"$$",list:"${items}"},clearable:!0,horizontal:{left:2,right:10},checkAll:!1},{type:"select",name:"dataPoint",id:"u:8147daea685d",label:"数据点",multiple:!1,quickEdit:!0,mode:"horizontal",size:"sm",source:{url:"/thing/v1/api/callDict?id=${dataSource}&entityId=${devices}",method:"get",messages:{},headers:{token:"${myToken}",tenantCode:"${myTenantCode}",companyId:"${myCompanyId}"},sendOn:"this.dataSource && this.devices",adaptor:`const list = payload.data.map(item => {\r
item.dictName = item.dictName + ' - ' + item.dictCode\r
return item\r
})\r
payload.data = list;\r
return payload`},labelField:"dictName",valueField:"dictCode",checkAll:!1,horizontal:{left:2,right:10},overlay:{width:"350px"},searchable:!0}]}],strictMode:!0,syncFields:[],tabsMode:!1,canAccessSuperData:!0,inputClassName:"w-full",className:"m-b-sm"},{type:"checkbox",label:"数据处理",name:"enableDataHandle",id:"u:034ca60f2135",mode:"horizontal",horizontal:{leftFixed:"normal"},option:""},{type:"combo",id:"u:a06125153fa6",name:"calcRules",label:"计算规则",mode:"horizontal",visibleOn:"this.enableDataHandle",multiple:!0,items:[{name:"formular",label:"计算公式",type:"input-text",id:"u:318a7f0c6449",placeholder:"例: (A + B) / C",width:"50%",size:"full"},{name:"resultAttr",label:"计算结果属性",type:"input-text",id:"u:1e6e491ccbaa",placeholder:"例:A8、B、C...",width:"50%"}],strictMode:!0,syncFields:[],hidden:!1,inputClassName:"w-full",multiLine:!1,className:"calcRules"},{type:"input-text",label:"唯一数据点",name:"uniquePoint",id:"u:3b257b599c19",mode:"horizontal",visibleOn:"this.enableDataHandle",labelRemark:{icon:"fa fa-question-circle",trigger:["hover"],className:"Remark--warning",placement:"top",title:"场景:",content:"当有数据处理,并且只需绑定一个数据点作为 【实时/立即/最新数据】时,请填写所需数据点的序号或计算结果属性。"},inputControlClassName:"m-b"}],id:"u:51f0e51abd7c",data:{attrs:[],deviceCode:"${deviceCode || ''}",devices:"${devices || ''}",dataPoint:"${dataPoint || ''}",dataSource:"${dataSource || ''}",deviceAttrs:"${deviceAttrs || []}"},submitText:"",onEvent:{inited:{actions:{actionType:"custom",script:"if(event.data.devices && event.data.dataPoint && event.data.deviceAttrs.length === 0) { const dataPoints = event.data.dataPoint.split(','); const newDeviceAttrs = dataPoints.map((point, idx) => ({ num: String.fromCharCode(65+idx), devices: event.data.devices, dataPoint: point }) ); doAction({ 'actionType': 'setValue', 'componentId': 'u:51f0e51abd7c', 'args': { value: {deviceAttrs: { table: newDeviceAttrs } }} }); }"}}}}],id:"u:5505e7ef7cab"},{title:"虚拟变量",body:[{type:"tpl",tpl:"暂时无虚拟变量可配置",wrapperComponent:"",inline:!1,id:"u:722592249b31"}],id:"u:b739cc6a6ed7"}],id:"u:3b446450d643"}],showCloseButton:!0,showErrorMsg:!0,showLoading:!0,id:"u:f46c2439c983",data:{"&":"${dataPoint | toJson}",apiDtoList:"${thingApiDTOList}",myToken:"${myToken}",myTenantCode:"${myTenantCode}",myCompanyId:"${myCompanyId}"},onEvent:{confirm:{actions:[{actionType:"custom",script:"const tableData = event.data.deviceAttrs.table; let devices = ''; let dataPoint = ''; if(tableData) { tableData.forEach(item => { devices += (item.devices + ',');dataPoint += (item.dataPoint + ','); });}; if(tableData && tableData.length > 0) { devices = devices.substring(0, devices.length - 1); dataPoint = dataPoint.substring(0, dataPoint.length - 1); const newValue = {...event.data, devices: devices, dataPoint: dataPoint, dataSource: event.data.dataSource} ; doAction({ 'componentId': 'uiDataPoint', 'actionType': 'setValue', 'args': { value: JSON.stringify(newValue) } }) } else {doAction({ 'componentId': 'uiDataPoint', 'actionType': 'setValue', 'args': { value: JSON.stringify(event.data) } }) };"}]}},closeOnEsc:!1,size:"lg"}}]}},className:"w-full m-b-sm",inputClassName:"w-full",clearable:!0},{type:"combo",name:"conditionVariables",label:"",value:[{type:"equal"}],multiLine:!1,multiple:!0,typeSwitchable:!1,conditions:[{label:"相等",test:'this.type === "equal"',scaffold:{type:"equal",label:"相等",name:""},items:[{label:"标签",name:"valueLabel",type:"input-text",id:"u:6f9362ce0efb"},{label:"数值",name:"value",type:"input-text",id:"u:32b3714b545b"},{label:"颜色",name:"color",type:"input-color",id:"u:5148d38928d9",format:"rgba",inputClassName:"",static:!1,placeholder:"选择颜色"}]},{label:"真假",test:'this.type === "boolean"',scaffold:{type:"boolean",label:"真假",name:""},items:[{label:"标签",name:"valueLabel",type:"input-text",id:"u:6f9362ce0efb"},{label:"真假",name:"value",type:"input-text",id:"u:32b3714b545b",placeholder:"true/false"},{label:"颜色",name:"color",type:"input-color",id:"u:5148d38928d9",format:"rgba",inputClassName:"",static:!1,placeholder:"选择颜色"}]},{label:"范围/颜色",test:'this.type === "rangeColor"',scaffold:{type:"rangeColor",label:"范围/颜色",name:""},items:[{label:"起始",name:"from",type:"input-number",precision:2,id:"u:6f9362ce0efb"},{label:"结束",name:"to",type:"input-number",precision:2,id:"u:32b3714b545b"},{label:"颜色",name:"color",type:"input-color",id:"u:5148d38928d9",format:"rgba",inputClassName:"",static:!1,placeholder:"选择颜色"}]}],id:"u:c92fdccb153e",deleteBtn:{type:"icon",icon:"fa fa-trash",id:"u:4d4df8658829"}}],name:"uiService",className:"p-none"}],id:"u:7c5fc82d356f",headingClassName:"p-sm b-b b-light bg-white",className:"m-b r-3x",bodyClassName:"p-none"},{type:"collapse",key:"2",header:"显示/隐藏",body:[{type:"service",id:"u:fed27a06a9ce",body:[{type:"combo",id:"hiddenCombo",label:"",name:"hiddenCombo",multiple:!0,addable:!0,removable:!0,removableMode:"icon",addBtn:{label:"新增",icon:"fa fa-plus",level:"primary",size:"sm",id:"u:bab0356b2e63"},items:[{type:"flex",justify:"space-between",items:[{type:"input-text",name:"showOrHiddenName",label:"",id:"u:61d49c5acb77",borderMode:"none",value:"${index === 0 ? '隐藏' : '显示'}",readOnly:!0}],id:"u:ea4bc33a4fcb"},{type:"input-text",label:"数据点",name:"dataPoint",id:"u:1f58747ec3e6",clearable:!0,multiple:!1,mode:"horizontal",size:"full",onEvent:{focus:{weight:0,actions:[{actionType:"dialog",dialog:{type:"dialog",title:"请配置需要绑定的数据点",body:[{type:"tabs",tabs:[{title:"常规数据点",body:[{type:"form",title:"",body:[{type:"select",label:"数据源",name:"dataSource",id:"u:c273f087b8ed",multiple:!1,mode:"horizontal",size:"md",source:"${apiDtoList || thingApiDTOList}",labelField:"name",valueField:"id",onEvent:{change:{actions:[{actionType:"reload",componentId:"u:1cdb908c23a8"},{actionType:"custom",script:`if (!event.data.value) { doAction({'actionType': 'setValue', 'componentId': 'u:1cdb908c23a8', 'args': {'value': ''} });\r
doAction({'actionType': 'setValue', 'componentId': 'u:8147daea685d', 'args': {'value': ''} }); }`}]}},clearable:!0,horizontal:{leftFixed:"sm"},actionType:"change",target:"u:1cdb908c23a8"},{type:"combo",label:"设备属性",name:"deviceAttrs",id:"u:98559a2dd514",multiple:!1,mode:"horizontal",size:"full",horizontal:{leftFixed:"sm"},items:[{type:"input-table",label:!1,id:"u:41dfc35c368c",name:"table",strictMode:!1,needConfirm:!1,addable:!0,removable:!0,columns:[{type:"input-text",label:"序号",id:"u:434e22030bc6",name:"num",size:"sm",mode:"horizontal",quickEdit:{mode:"popOver",id:"u:c6a294f5c93a"},horizontal:{left:2,right:10},placeholder:"例:A/B/C/AA/BB",width:200},{type:"select",name:"devices",id:"u:1cdb908c23a8",label:"设备",multiple:!1,mode:"horizontal",quickEdit:!0,size:"sm",source:{url:"/thing/v1/api/telemetryById?id=${dataSource}",method:"get",messages:{},headers:{token:"${myToken}",tenantCode:"${myTenantCode}",companyId:"${myCompanyId}"},adaptor:`if (payload && payload.data && payload.data.result) {console.log('payload.data.result', payload.data.result); \r
const list = []\r
const devices = payload.data.result.info \r
for (const key in devices) {\r
const device_info = devices[key] \r
list.push({\r
label: device_info.entityName,\r
value: device_info.entityId,\r
deviceCode: device_info.entityCode,\r
deviceInfo: device_info,\r
attrs: device_info.attrs })\r
}\r
payload.data = list;\r
return payload\r
}`,sendOn:"this.dataSource"},onEvent:{change:{actions:[{actionType:"custom",script:"if (!event.data.value) { doAction({'actionType': 'setValue', 'componentId': 'u:8147daea685d', 'args': {'value': ''} }); }"}]}},responseData:{"&":"$$",list:"${items}"},clearable:!0,horizontal:{left:2,right:10},checkAll:!1},{type:"select",name:"dataPoint",id:"u:8147daea685d",label:"数据点",multiple:!1,quickEdit:!0,mode:"horizontal",size:"sm",source:{url:"/thing/v1/api/callDict?id=${dataSource}&entityId=${devices}",method:"get",messages:{},headers:{token:"${myToken}",tenantCode:"${myTenantCode}",companyId:"${myCompanyId}"},sendOn:"this.dataSource && this.devices",adaptor:`const list = payload.data.map(item => {\r
item.dictName = item.dictName + ' - ' + item.dictCode\r
return item\r
})\r
payload.data = list;\r
return payload`},labelField:"dictName",valueField:"dictCode",checkAll:!1,horizontal:{left:2,right:10},overlay:{width:"350px"},searchable:!0}]}],strictMode:!0,syncFields:[],tabsMode:!1,canAccessSuperData:!0,inputClassName:"w-full",className:"m-b-sm"},{type:"checkbox",label:"数据处理",name:"enableDataHandle",id:"u:034ca60f2135",mode:"horizontal",horizontal:{leftFixed:"normal"},option:""},{type:"combo",id:"u:a06125153fa6",name:"calcRules",label:"计算规则",mode:"horizontal",visibleOn:"this.enableDataHandle",multiple:!0,items:[{name:"formular",label:"计算公式",type:"input-text",id:"u:318a7f0c6449",placeholder:"例: (A + B) / C",width:"50%",size:"full"},{name:"resultAttr",label:"计算结果属性",type:"input-text",id:"u:1e6e491ccbaa",placeholder:"例:A8、B、C...",width:"50%"}],strictMode:!0,syncFields:[],hidden:!1,inputClassName:"w-full",multiLine:!1,className:"calcRules"},{type:"input-text",label:"唯一数据点",name:"uniquePoint",id:"u:3b257b599c19",mode:"horizontal",visibleOn:"this.enableDataHandle",labelRemark:{icon:"fa fa-question-circle",trigger:["hover"],className:"Remark--warning",placement:"top",title:"场景:",content:"当有数据处理,并且只需绑定一个数据点作为 【实时/立即/最新数据】时,请填写所需数据点的序号或计算结果属性。"},inputControlClassName:"m-b"}],id:"u:51f0e51abd7c",data:{attrs:[],deviceCode:"${deviceCode || ''}",devices:"${devices || ''}",dataPoint:"${dataPoint || ''}",dataSource:"${dataSource || ''}",deviceAttrs:"${deviceAttrs || []}"},submitText:"",onEvent:{inited:{actions:{actionType:"custom",script:"if(event.data.devices && event.data.dataPoint && event.data.deviceAttrs.length === 0) { const dataPoints = event.data.dataPoint.split(','); const newDeviceAttrs = dataPoints.map((point, idx) => ({ num: String.fromCharCode(65+idx), devices: event.data.devices, dataPoint: point }) ); doAction({ 'actionType': 'setValue', 'componentId': 'u:51f0e51abd7c', 'args': { value: {deviceAttrs: { table: newDeviceAttrs } }} }); }"}}}}],id:"u:5505e7ef7cab"},{title:"虚拟变量",body:[{type:"tpl",tpl:"暂时无虚拟变量可配置",wrapperComponent:"",inline:!1,id:"u:722592249b31"}],id:"u:b739cc6a6ed7"}],id:"u:3b446450d643"}],showCloseButton:!0,showErrorMsg:!0,showLoading:!0,id:"u:2c37d59dc3fc",data:{"&":"${dataPoint | toJson}",apiDtoList:"${thingApiDTOList}",myToken:"${myToken}",myTenantCode:"${myTenantCode}",myCompanyId:"${myCompanyId}",comboIndex:"${index}"},onEvent:{confirm:{actions:[{actionType:"custom",script:"const index = event.data.__index | event.data.__super.comboIndex; const tableData = event.data.deviceAttrs.table; let devices = ''; let dataPoint = ''; if(tableData) { tableData.forEach(item => { devices += (item.devices + ',');dataPoint += (item.dataPoint + ','); });}; if(tableData && tableData.length > 0) { devices = devices.substring(0, devices.length - 1); dataPoint = dataPoint.substring(0, dataPoint.length - 1); const newValue = {...event.data, devices: devices, dataPoint: dataPoint, dataSource: event.data.dataSource} ; doAction({ 'componentId': 'hiddenCombo', 'actionType': 'setValue', 'args': { value: { 'dataPoint': JSON.stringify(newValue) }, 'index': index } }) } else {doAction({ 'componentId': 'hiddenCombo', 'actionType': 'setValue', 'args': { value: { 'dataPoint': JSON.stringify(event.data) }, 'index': index } }) };"}]}},closeOnEsc:!1,size:"lg"}}]}},className:"w-full m-b-sm",inputClassName:"w-full"},{type:"flex",items:[{type:"tpl",tpl:"范围",id:"u:d97eb93589c9",className:"w-28"},{type:"flex",justify:"space-between",alignItems:"center",items:[{type:"input-number",precision:2,name:"min",label:"",id:"u:2cfc36ebe439",keyboard:!0,step:1,className:"m-none"},{type:"tpl",tpl:" — ",id:"u:eb05d4b8ed36",className:"mx-2"},{type:"input-number",precision:2,name:"max",label:"",id:"u:d1187ed5b0ca"}],id:"u:82fb0182df72",className:"flex-auto"}],id:"u:27d29971018c",justify:"space-between",alignItems:"center",className:"w-full"}],deleteBtn:{type:"icon",icon:"fa fa-trash",id:"u:502b68dfba77",className:"absolute right-2 border-none"},maxLength:2}],data:{hiddenCombo:[{dataPoint:"",min:"",max:""}]},name:"hiddenService"}],id:"u:fe703d82df8b",headingClassName:"p-sm b-b b-light bg-white",className:"m-b r-3x",bodyClassName:"p-none"},{type:"collapse",key:"2",header:"动效",id:"u:379a620b2bbc",headingClassName:"p-sm b-b b-light bg-white",className:"m-b r-3x",bodyClassName:"p-none",body:[{type:"service",id:"u:594a746a7e96",body:[{type:"combo",id:"animationCombo",label:"",name:"animationCombo",multiple:!0,addable:!0,removable:!0,removableMode:"icon",addBtn:{label:"新增",icon:"fa fa-plus",level:"primary",size:"sm",id:"u:bab0356b2e63"},items:[{type:"flex",justify:"space-between",items:[{type:"input-text",name:"animationName",label:"",id:"u:1cfdcc5ad7c7",borderMode:"none",value:"${'旋转'}",readOnly:!0}],id:"u:e3990e007f9c"},{type:"flex",justify:"space-between",items:[{type:"select",label:"速度",name:"animationTime",visibleOn:"this.index === 0",menuTpl:"<div>${value}秒",options:[{label:"0.5",value:"0.5"},{label:"1",value:"1"},{label:"2",value:"2"},{label:"3",value:"3"},{label:"4",value:"4"},{label:"5",value:"5"},{label:"6",value:"6"},{label:"7",value:"7"},{label:"8",value:"8"}],id:"u:f9762c0602ce",marks:{},mode:"horizontal",multiple:!1,className:"w-full"}],id:"u:18969f044f61"},{type:"input-text",label:"数据点",name:"dataPoint",id:"u:995482efad18",clearable:!0,multiple:!1,mode:"horizontal",size:"full",onEvent:{focus:{weight:0,actions:[{actionType:"dialog",dialog:{type:"dialog",title:"请配置需要绑定的数据点",body:[{type:"tabs",tabs:[{title:"常规数据点",body:[{type:"form",title:"",body:[{type:"select",label:"数据源",name:"dataSource",id:"u:c273f087b8ed",multiple:!1,mode:"horizontal",size:"md",source:"${apiDtoList || thingApiDTOList}",labelField:"name",valueField:"id",onEvent:{change:{actions:[{actionType:"reload",componentId:"u:1cdb908c23a8"},{actionType:"custom",script:`if (!event.data.value) { doAction({'actionType': 'setValue', 'componentId': 'u:1cdb908c23a8', 'args': {'value': ''} });\r
doAction({'actionType': 'setValue', 'componentId': 'u:8147daea685d', 'args': {'value': ''} }); }`}]}},clearable:!0,horizontal:{leftFixed:"sm"},actionType:"change",target:"u:1cdb908c23a8"},{type:"combo",label:"设备属性",name:"deviceAttrs",id:"u:98559a2dd514",multiple:!1,mode:"horizontal",size:"full",horizontal:{leftFixed:"sm"},items:[{type:"input-table",label:!1,id:"u:41dfc35c368c",name:"table",strictMode:!1,needConfirm:!1,addable:!0,removable:!0,columns:[{type:"input-text",label:"序号",id:"u:434e22030bc6",name:"num",size:"sm",mode:"horizontal",quickEdit:{mode:"popOver",id:"u:c6a294f5c93a"},horizontal:{left:2,right:10},placeholder:"例:A/B/C/AA/BB",width:200},{type:"select",name:"devices",id:"u:1cdb908c23a8",label:"设备",multiple:!1,mode:"horizontal",quickEdit:!0,size:"sm",source:{url:"/thing/v1/api/telemetryById?id=${dataSource}",method:"get",messages:{},headers:{token:"${myToken}",tenantCode:"${myTenantCode}",companyId:"${myCompanyId}"},adaptor:`if (payload && payload.data && payload.data.result) {console.log('payload.data.result', payload.data.result); \r
const list = []\r
const devices = payload.data.result.info \r
for (const key in devices) {\r
const device_info = devices[key] \r
list.push({\r
label: device_info.entityName,\r
value: device_info.entityId,\r
deviceCode: device_info.entityCode,\r
deviceInfo: device_info,\r
attrs: device_info.attrs })\r
}\r
payload.data = list;\r
return payload\r
}`,sendOn:"this.dataSource"},onEvent:{change:{actions:[{actionType:"custom",script:"if (!event.data.value) { doAction({'actionType': 'setValue', 'componentId': 'u:8147daea685d', 'args': {'value': ''} }); }"}]}},responseData:{"&":"$$",list:"${items}"},clearable:!0,horizontal:{left:2,right:10},checkAll:!1},{type:"select",name:"dataPoint",id:"u:8147daea685d",label:"数据点",multiple:!1,quickEdit:!0,mode:"horizontal",size:"sm",source:{url:"/thing/v1/api/callDict?id=${dataSource}&entityId=${devices}",method:"get",messages:{},headers:{token:"${myToken}",tenantCode:"${myTenantCode}",companyId:"${myCompanyId}"},sendOn:"this.dataSource && this.devices",adaptor:`const list = payload.data.map(item => {\r
item.dictName = item.dictName + ' - ' + item.dictCode\r
return item\r
})\r
payload.data = list;\r
return payload`},labelField:"dictName",valueField:"dictCode",checkAll:!1,horizontal:{left:2,right:10},overlay:{width:"350px"},searchable:!0}]}],strictMode:!0,syncFields:[],tabsMode:!1,canAccessSuperData:!0,inputClassName:"w-full",className:"m-b-sm"},{type:"checkbox",label:"数据处理",name:"enableDataHandle",id:"u:034ca60f2135",mode:"horizontal",horizontal:{leftFixed:"normal"},option:""},{type:"combo",id:"u:a06125153fa6",name:"calcRules",label:"计算规则",mode:"horizontal",visibleOn:"this.enableDataHandle",multiple:!0,items:[{name:"formular",label:"计算公式",type:"input-text",id:"u:318a7f0c6449",placeholder:"例: (A + B) / C",width:"50%",size:"full"},{name:"resultAttr",label:"计算结果属性",type:"input-text",id:"u:1e6e491ccbaa",placeholder:"例:A8、B、C...",width:"50%"}],strictMode:!0,syncFields:[],hidden:!1,inputClassName:"w-full",multiLine:!1,className:"calcRules"},{type:"input-text",label:"唯一数据点",name:"uniquePoint",id:"u:3b257b599c19",mode:"horizontal",visibleOn:"this.enableDataHandle",labelRemark:{icon:"fa fa-question-circle",trigger:["hover"],className:"Remark--warning",placement:"top",title:"场景:",content:"当有数据处理,并且只需绑定一个数据点作为 【实时/立即/最新数据】时,请填写所需数据点的序号或计算结果属性。"},inputControlClassName:"m-b"}],id:"u:51f0e51abd7c",data:{attrs:[],deviceCode:"${deviceCode || ''}",devices:"${devices || ''}",dataPoint:"${dataPoint || ''}",dataSource:"${dataSource || ''}",deviceAttrs:"${deviceAttrs || []}"},submitText:"",onEvent:{inited:{actions:{actionType:"custom",script:"if(event.data.devices && event.data.dataPoint && event.data.deviceAttrs.length === 0) { const dataPoints = event.data.dataPoint.split(','); const newDeviceAttrs = dataPoints.map((point, idx) => ({ num: String.fromCharCode(65+idx), devices: event.data.devices, dataPoint: point }) ); doAction({ 'actionType': 'setValue', 'componentId': 'u:51f0e51abd7c', 'args': { value: {deviceAttrs: { table: newDeviceAttrs } }} }); }"}}}}],id:"u:5505e7ef7cab"},{title:"虚拟变量",body:[{type:"tpl",tpl:"暂时无虚拟变量可配置",wrapperComponent:"",inline:!1,id:"u:722592249b31"}],id:"u:b739cc6a6ed7"}],id:"u:3b446450d643"}],showCloseButton:!0,showErrorMsg:!0,showLoading:!0,id:"u:04e78b30faf4",data:{"&":"${dataPoint | toJson}",apiDtoList:"${thingApiDTOList}",myToken:"${myToken}",myTenantCode:"${myTenantCode}",myCompanyId:"${myCompanyId}",comboIndex:"${index}"},onEvent:{confirm:{actions:[{actionType:"custom",script:"const index = event.data.__index | event.data.__super.comboIndex; const tableData = event.data.deviceAttrs.table; let devices = ''; let dataPoint = ''; if(tableData) { tableData.forEach(item => { devices += (item.devices + ',');dataPoint += (item.dataPoint + ','); });}; if(tableData && tableData.length > 0) { devices = devices.substring(0, devices.length - 1); dataPoint = dataPoint.substring(0, dataPoint.length - 1); const newValue = {...event.data, devices: devices, dataPoint: dataPoint, dataSource: event.data.dataSource} ; doAction({ 'componentId': 'animationCombo', 'actionType': 'setValue', 'args': { value: { 'dataPoint': JSON.stringify(newValue), 'animationName': '旋转' }, 'index': index } }) } else {doAction({ 'componentId': 'animationCombo', 'actionType': 'setValue', 'args': { value: { 'dataPoint': JSON.stringify(event.data),'animationName': '旋转' }, 'index': index } }) };"}]}},closeOnEsc:!1,size:"lg"}}]}},className:"w-full m-b-sm",inputClassName:"w-full"},{type:"flex",items:[{type:"tpl",tpl:"范围",id:"u:9707cde74e11",className:"w-28"},{type:"flex",justify:"space-between",alignItems:"center",items:[{type:"input-number",precision:2,name:"min",label:"",id:"u:ec526d2df0ee",keyboard:!0,step:1,className:"m-none"},{type:"tpl",tpl:" — ",id:"u:534114ea71cb",className:"mx-2"},{type:"input-number",precision:2,name:"max",label:"",id:"u:39bce4d2d60b"}],id:"u:4a2208febcd4",className:"flex-auto"}],id:"u:8ec6ca9fe14f",justify:"space-between",alignItems:"center",className:"w-full"}],deleteBtn:{type:"icon",icon:"fa fa-trash",id:"u:502b68dfba77",className:"absolute right-2 border-none"},maxLength:1}],data:{animationCombo:[{dataPoint:"",min:"",max:""}]},name:"animationService"}]}],id:"u:3eb6b9a42dcb",name:"dynamicService"}],id:"u:043251c106af",className:"p"},{title:"脚本解析",icon:"fa fa-star",body:[{type:"flex",id:"u:edef8e21c1e3",justify:"flex-end",items:[{type:"button",id:"u:f6d8d837a48d",label:"导入",onEvent:{click:{actions:[]}},icon:"fa fa-download",level:"primary",className:"mr-2"},{type:"button",id:"u:23f988f98a28",label:"保存",onEvent:{click:{actions:[{actionType:"setValue",componentId:"u:6dc2a126004a",args:{value:{save:!0}}}]}},icon:"fa fa-save"}]},{type:"service",id:"u:6dc2a126004a",body:[{type:"tpl",id:"u:c77724a2f3b3",tpl:"function (context, service, nodeId) {",inline:!0,wrapperComponent:"",style:{fontFamily:"",fontSize:16}},{type:"editor",label:"",name:"script",id:"u:55ceb80e58a7",language:"javascript",size:"xxl",className:"m-b-none",onEvent:{focus:{actions:[{actionType:"setValue",componentId:"u:6dc2a126004a",args:{value:{save:!1}}}]}},description:`参数提示:
1. context 是整个看板上下文,可以获取看板所有元素节点和连线节点,也可以访问 context.globalDatas 获取全局socket 数据。
2. service 是 Ajax 请求服务。
3. nodeId 是节点 id .
4. 如果返回一个函数,则可以当socket 数据更新时,调用此函数,此函数入参分别是 context, service, nodeId, globalDatas ;,以满足多样化的业务需求。`},{type:"tpl",tpl:"}",inline:!0,wrapperComponent:"",id:"u:fa21aebb859b",style:{fontFamily:"",fontSize:16}}],name:"scriptService",data:{script:"",save:!1},className:"text-left"}],id:"u:dc8d331cbe5e"}],id:"u:178107498966",tabsMode:"radio",className:"p-none w-full",contentClassName:"p-none"}],o="",d={type:e,id:a,name:t,asideResizor:!1,style:l,pullRefresh:n,body:i,className:o};export{d};