const e="65dcfc32-2dbf-4688-93f1-c441ce1faaf8",a="custom-image-node",t="图片",n='',i="svg",l="基础",o="常用",r=!1,m=!0,d="基础图形",s=`{"type":"page","id":"u:270584784ce1","name":"page1","asideResizor":false,"style":{"boxShadow":" 0px 0px 0px 0px transparent"},"pullRefresh":{"disabled":true},"body":[{"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:fc464664fb93","size":"full","mode":"horizontal","inputControlClassName":"w-100","className":"m-b"},{"type":"input-text","label":"ID    ","name":"id","id":"u:8a3fc64f07f6","size":"full","mode":"horizontal","inputControlClassName":"w-100","className":"m-b"},{"type":"grid","id":"u:1954dc15dd5b","className":"m-b","columns":[{"body":[{"type":"input-number","label":"宽度","name":"width","keyboard":true,"id":"u:656efdb758ad","step":1,"suffix":"px","placeholder":"组件宽度","size":"full","mode":"horizontal","className":"m-b","value":100,"labelClassName":"w-8","labelAlign":"left","precision":2,"inputClassName":"w-full"}],"id":"u:4274c47a4ef5","md":6},{"body":[{"type":"input-number","label":"高度","name":"height","keyboard":true,"id":"u:1ed6dcd98c1a","step":1,"suffix":"px","placeholder":"组件高度","size":"full","mode":"horizontal","className":"m-b","value":100,"labelAlign":"left","labelClassName":"w-8","precision":2,"inputClassName":"w-full"}],"id":"u:3e9d1e71a69f","md":6}]},{"type":"grid","id":"u:c605398a724c","className":"m-b","columns":[{"body":[{"type":"input-number","label":"X 轴","name":"x","keyboard":true,"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":"Y 轴","name":"y","keyboard":true,"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:a332a7bf83c1","className":"m-b","columns":[{"body":[{"type":"input-number","label":"旋转","name":"rotation","id":"u:f6a2dbb518f9","placeholder":"组件旋转角度","mode":"horizontal","size":"full","className":"","keyboard":true,"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":true,"step":0,"suffix":"","value":1,"inputClassName":"w-full","precision":2}],"id":"u:51ddf54ac749","md":6}],"gap":""},{"type":"container","id":"u:26f912c2e955","className":"m-b","body":[{"type":"button","label":"素材库","onEvent":{"click":{"actions":[{"dialog":{"type":"dialog","title":"素材库","body":[{"type":"service","body":[{"type":"tree-select","id":"u:23489352da59","label":"","name":"materialGroup","multiple":false,"placeholder":"选择素材组","className":"","size":"full","inputClassName":"","mode":"inline","source":{"url":"/thing/v1/group/iotgroupinfo/groupList","method":"get","messages":{},"dataType":"json","data":{"name":"","type":"material"},"headers":{"token":"\${myToken}","tenantCode":"\${myTenantCode}","companyId":"\${myCompanyId}"},"adaptor":"payload.data = payload.data.map((item) => {\\r\\n item.children = item.typeList\\r\\n return item\\r\\n}) \\r\\n\\r\\nreturn {\\r\\n ...payload,\\r\\n status: payload.code === 200 ? 0 : payload.code\\r\\n};"},"labelField":"name","valueField":"id","menuTpl":"
\${name}
","clearable":true,"enableNodePath":false,"showIcon":true,"initiallyOpen":true},{"type":"search-box","label":"","name":"materialName","id":"u:6f40e3a06211","placeholder":"搜索素材名称","mode":"horizontal","size":"lg"},{"type":"pagination-wrapper","id":"u:1111a3e91978","inputName":"list","outputName":"list","perPage":20,"body":[{"type":"list-select","id":"u:f43228a4939a","source":"\${list}","onEvent":{"change":{"actions":[{"componentId":"u:2ed59e5324ca","args":{"value":{"selectedPic":"\${event.data.value}"}},"actionType":"setValue","stopPropagation":true}]}},"valueField":"image","name":"materialPics","listClassName":"custom-material-pics","multiple":false}],"position":"bottom"}],"id":"u:00abe4516cfa","messages":{},"api":{"url":"/thing/v1/material/page?name=\${materialName}&groupIds=\${materialGroup}","method":"get","messages":{},"dataType":"json","headers":{"token":"\${myToken}","tenantCode":"\${myTenantCode}","companyId":"\${myCompanyId}"},"data":{"order":"desc","orderField":"create_date","limit":9999},"adaptor":""}}],"showCloseButton":true,"showErrorMsg":true,"showLoading":true,"id":"u:2ed59e5324ca","closeOnEsc":false,"size":"lg","data":{"selectedPic":"","myToken":"\${myToken}","myTenantCode":"\${myTenantCode}","myCompanyId":"\${myCompanyId}"},"className":"text-left","onEvent":{"confirm":{"actions":[{"actionType":"setValue","args":{"value":"\${selectedPic}"},"componentId":"hrefNode"}]}}},"actionType":"dialog"}]}},"id":"u:5091647a1e0b","className":"className-5091647a1e0b"}],"style":{"position":"static","display":"flex","flexDirection":"row","flexWrap":"nowrap","justifyContent":"flex-end","alignItems":"stretch"},"wrapperBody":false,"isFixedHeight":false,"isFixedWidth":false},{"type":"input-text","label":"路径","name":"href","id":"hrefNode","size":"full","mode":"horizontal","inputControlClassName":"w-100","className":"m-b"},{"type":"switch","label":"显隐包含子节点","option":"","name":"showHideContainChildren","falseValue":false,"trueValue":true,"id":"u:9419f0a3785b","value":false,"mode":"horizontal"}],"id":"u:a5ebe5f02407","submitText":"","onEvent":{"change":{"weight":0,"actions":[]}},"debug":false,"mode":"normal","panelClassName":"p","labelAlign":"left","className":"","wrapWithPanel":true}],"id":"u:c309ae58472c","className":"p-none no-border"},{"title":"交互","icon":"fa fa-calendar-minus-o","body":[{"type":"service","body":[{"type":"collapse","key":"1","active":true,"header":"常规","body":[{"type":"service","id":"u:6cb6d200ede2","data":{"dataPoint":"","compareType":"","conditionVariables":[],"defaultValue":"","unit":""},"body":[{"type":"input-text","label":"数据点","name":"dataPoint","id":"normalDataPoint","multiple":false,"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":false,"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\\n doAction({'actionType': 'setValue', 'componentId': 'u:8147daea685d', 'args': {'value': ''} }); }"}]}},"clearable":true,"actionType":"change","target":"u:1cdb908c23a8"},{"type":"combo","label":"设备属性","name":"deviceAttrs","id":"u:98559a2dd514","multiple":false,"mode":"horizontal","size":"full","horizontal":{"leftFixed":"sm"},"items":[{"type":"input-table","label":false,"id":"u:41dfc35c368c","name":"table","strictMode":false,"needConfirm":false,"addable":true,"removable":true,"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":false,"mode":"horizontal","quickEdit":true,"size":"sm","source":{"url":"/thing/v2/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\\n const list = []\\r\\n const devices = payload.data.result.info \\r\\n for (const key in devices) {\\r\\n const device_info = devices[key] \\r\\n list.push({\\r\\n label: device_info.entityName,\\r\\n value: device_info.entityId,\\r\\n deviceCode: device_info.entityCode,\\r\\n deviceInfo: device_info,\\r\\n attrs: device_info.attrs })\\r\\n }\\r\\n payload.data = list;\\r\\n return payload\\r\\n}","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":true,"horizontal":{"left":2,"right":10},"checkAll":false},{"type":"select","name":"dataPoint","id":"u:8147daea685d","label":"数据点","multiple":false,"quickEdit":true,"mode":"horizontal","size":"sm","source":{"url":"/thing/v2/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\\n item.dictName = item.dictName + ' - ' + item.dictCode\\r\\n return item\\r\\n})\\r\\npayload.data = list;\\r\\nreturn payload"},"labelField":"dictName","valueField":"dictCode","checkAll":false,"horizontal":{"left":2,"right":10},"overlay":{"width":"350px"},"searchable":true}]}],"strictMode":true,"syncFields":[],"tabsMode":false,"canAccessSuperData":true,"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":true,"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":true,"syncFields":[],"hidden":false,"inputClassName":"w-full","multiLine":false,"className":"calcRules"},{"type":"input-text","label":"唯一数据点","name":"uniquePoint","id":"u:3b257b599c19","mode":"horizontal","visibleOn":"this.enableDataHandle","editorState":"default","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":false,"id":"u:722592249b31"}],"id":"u:b739cc6a6ed7"}],"id":"u:3b446450d643"}],"showCloseButton":true,"showErrorMsg":true,"showLoading":true,"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":false,"size":"lg"}}]}},"className":"w-full m-b-sm","inputClassName":"w-full","clearable":true},{"type":"input-text","label":"默认值","placeholder":"[{ \\"val\\": 0.00 }]","clearable":true,"name":"defaultValue","id":"u:13ccbc565f5e","mode":"horizontal","size":"full","inputControlClassName":"mb-sm","labelClassName":"mb-sm","className":"m-b-sm"},{"type":"input-text","label":"单位   ","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":true,"addable":true,"removable":true,"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":true,"strictMode":true,"removable":true,"horizontal":{"leftFixed":"sm"},"multiple":true,"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":false,"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":false,"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\\n doAction({'actionType': 'setValue', 'componentId': 'u:8147daea685d', 'args': {'value': ''} }); }"}]}},"clearable":true,"horizontal":{"left":2,"right":10},"actionType":"change","target":"u:1cdb908c23a8"},{"type":"select","label":"设备","name":"devices","id":"u:1cdb908c23a8","multiple":false,"mode":"horizontal","size":"md","source":{"url":"/thing/v2/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\\n const list = []\\r\\n const devices = payload.data.result.info \\r\\n for (const key in devices) {\\r\\n const device_info = devices[key] \\r\\n list.push({\\r\\n label: device_info.entityName,\\r\\n value: device_info.entityId,\\r\\n deviceCode: device_info.entityCode,\\r\\n deviceInfo: device_info,\\r\\n attrs: device_info.attrs })\\r\\n }\\r\\n payload.data = list;\\r\\n return payload\\r\\n}","sendOn":"this.dataSource"},"onEvent":{"change":{"actions":[{"actionType":"custom","script":"const selectedItems = event.data.selectedItems;\\r\\n 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":true,"horizontal":{"left":2,"right":10}},{"type":"select","label":"数据点","name":"dataPoint","id":"u:8147daea685d","multiple":true,"mode":"horizontal","size":"md","source":{"url":"/thing/v2/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\\n item.dictName = item.dictName + ' - ' + item.dictCode\\r\\n return item\\r\\n})\\r\\npayload.data = list;\\r\\nreturn payload"},"labelField":"dictName","valueField":"dictCode","checkAll":false,"horizontal":{"left":2,"right":10},"overlay":{"width":"350px"},"searchable":true}],"id":"u:51f0e51abd7c","data":{"attrs":[],"deviceCode":"\${deviceCode || ''}"},"submitText":""}],"id":"u:5505e7ef7cab"},{"title":"虚拟变量","body":[{"type":"tpl","tpl":"暂时无虚拟变量可配置","wrapperComponent":"","inline":false,"id":"u:722592249b31"}],"id":"u:b739cc6a6ed7"}],"id":"u:3b446450d643"}],"showCloseButton":true,"showErrorMsg":true,"showLoading":true,"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 [\\n {\\n key: \\"\\",\\n value: ''\\n }\\n]"},{"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\\n doAction({'componentId': 'u:a13b61f23669', 'actionType': 'setValue', 'args': { 'value': { 'device': select }} })"}]}},"hiddenOn":"data.eventAction !== 'sendCommand'","inputClassName":"w-full","multiple":false,"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","hiddenOn":"data.eventAction !== 'sendCommand'","id":"u:42026703278d","label":"选择指令","clearable":"true","name":"selectCommand","onEvent":{"change":{"actions":[{"componentId":"u:a13b61f23669","actionType":"custom","script":"const select = event.data.selectedItems; \\r\\n doAction({'componentId': 'u:a13b61f23669', 'actionType': 'setValue', 'args': { 'value': { 'command': select }} })"}]}},"multiple":false,"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","hiddenOn":"data.eventAction !== 'sendCommand'","id":"u:f0e9dbf83675","className":"mx-20 text-left","tpl":"function (deviceInfo, command, event){","inline":true,"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);\\n const newParams = func(event.data.__super.inputParamsTable || [], event.data.__super.selectCommand);\\n doAction({actionType: 'setValue', componentId: 'u:a13b61f23669', args: { value: { globalInputParamsCalculated: newParams } } });"}]}},"value":"// console.log('deviceInfo', deviceInfo, 'command', command, 'event', event);\\n// 入参提示: deviceInfo -- 设备信息,command -- 指令信息, event -- 事件传参(当前部件所绑定的立即值,或当前部件经过计算后的自定义值), 入参计算。。。然后返回出参\\nreturn {\\n \\"condition\\": \\"\\",\\n \\"controlId\\": command.id,\\n \\"event\\": event\\n}"},{"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":false,"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":false,"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":true,"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":false,"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":true,"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 上下文实例; \\n 'service': axios 请求实例;"}},{"type":"tpl","id":"u:2bb06db3ddd9","hiddenOn":"data.eventAction !== 'sendCommand'","className":"mx-20 text-left","visibleOn":"data.sendCommandMethod === 'codes'","tpl":"}","inline":true,"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":true,"options":[{"label":"显示隐藏","value":"showOrHide"}],"joinValues":false},{"type":"combo","label":"选择变量","name":"operateVariables","id":"u:a4352d57fdad","multiple":true,"mode":"horizontal","visibleOn":"data.eventAction === 'operateVariable'","addable":true,"removable":true,"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":true,"multiple":false,"size":"full","source":"\${nodesList || graphDataList}","mode":"horizontal","inputClassName":"","className":"","label":false},{"type":"tpl","id":"u:0d7912942b0f","hiddenOn":"data.eventAction !== 'sendCommand'","className":"mx-20 text-left","tpl":"","inline":true,"wrapperComponent":""},{"type":"editor","name":"newValue","id":"u:6811d0fb2211","mode":"horizontal","label":false,"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":true,"syncFields":[],"inputClassName":"w-full","size":"full"},{"type":"grid","id":"u:f9985214eb9e","columns":[{"body":[{"type":"editor","name":"showHideNewValue","id":"u:9f2d894d8fc6","mode":"horizontal","label":false,"placeholder":"返回计算后的组件显示和隐藏, 格式为: return { '组件id xxxxx-xxx-xxx': 'show' / 'hide' } 或 return { '组件id xxxxx-xxx-xxx': e ? 'show' : 'hide' } , e为事件值。","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":false,"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\\n const index = event.data.__index | event.data.__super.comboIndex; \\r\\n doAction({'componentId': 'u:364496dd313b', 'actionType': 'setValue', 'args': { 'index': index, 'value': { 'config': JSON.stringify(event.data), 'eventType': evType }} })"}]}},"showCloseButton":true,"showErrorMsg":true,"showLoading":true,"id":"u:57f536c19373","size":"lg","type":"dialog","bodyClassName":"setting-events-dialog","name":"settingEventsDialog"}}]}},"label":"动作","editorState":"default"},{"type":"checkBox","id":"u:79dadbc61f74","name":"enable","label":"启用"}],"id":"u:364496dd313b","deleteBtn":{"type":"icon","icon":"fa fa-trash","className":"border-none","id":"u:6d4a75088bc2"}}],"data":{"eventCombo":[{"eventType":"click","enable":false,"config":""},{"eventType":"dblClick","enable":false,"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":false,"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":false,"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\\n doAction({'actionType': 'setValue', 'componentId': 'u:8147daea685d', 'args': {'value': ''} }); }"}]}},"clearable":true,"horizontal":{"leftFixed":"sm"},"actionType":"change","target":"u:1cdb908c23a8"},{"type":"combo","label":"设备属性","name":"deviceAttrs","id":"u:98559a2dd514","multiple":false,"mode":"horizontal","size":"full","horizontal":{"leftFixed":"sm"},"items":[{"type":"input-table","label":false,"id":"u:41dfc35c368c","name":"table","strictMode":false,"needConfirm":false,"addable":true,"removable":true,"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":false,"mode":"horizontal","quickEdit":true,"size":"sm","source":{"url":"/thing/v2/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\\n const list = []\\r\\n const devices = payload.data.result.info \\r\\n for (const key in devices) {\\r\\n const device_info = devices[key] \\r\\n list.push({\\r\\n label: device_info.entityName,\\r\\n value: device_info.entityId,\\r\\n deviceCode: device_info.entityCode,\\r\\n deviceInfo: device_info,\\r\\n attrs: device_info.attrs })\\r\\n }\\r\\n payload.data = list;\\r\\n return payload\\r\\n}","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":true,"horizontal":{"left":2,"right":10},"checkAll":false},{"type":"select","name":"dataPoint","id":"u:8147daea685d","label":"数据点","multiple":false,"quickEdit":true,"mode":"horizontal","size":"sm","source":{"url":"/thing/v2/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\\n item.dictName = item.dictName + ' - ' + item.dictCode\\r\\n return item\\r\\n})\\r\\npayload.data = list;\\r\\nreturn payload"},"labelField":"dictName","valueField":"dictCode","checkAll":false,"horizontal":{"left":2,"right":10},"overlay":{"width":"350px"},"searchable":true}]}],"strictMode":true,"syncFields":[],"tabsMode":false,"canAccessSuperData":true,"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":true,"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":true,"syncFields":[],"hidden":false,"inputClassName":"w-full","multiLine":false,"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":false,"id":"u:722592249b31"}],"id":"u:b739cc6a6ed7"}],"id":"u:3b446450d643"}],"showCloseButton":true,"showErrorMsg":true,"showLoading":true,"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":false,"size":"lg"}}]}},"className":"w-full m-b-sm","inputClassName":"w-full","clearable":true},{"type":"combo","name":"conditionVariables","label":"","value":[{"type":"rangeImage"}],"multiLine":false,"multiple":true,"typeSwitchable":false,"conditions":[{"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":"myColorPick","static":false,"placeholder":"选择颜色"}]},{"label":"布尔/图片","test":"this.type === \\"booleanImage\\"","scaffold":{"type":"booleanImage","label":"布尔/图片","name":""},"items":[{"label":"真假","name":"value","type":"input-text","id":"u:32b3714b545b","placeholder":"true/false"},{"type":"static-image","class":"cursor-pointer","width":"50px","height":"50px","mode":"horizontal","canAccessSuperData":true,"name":"imageUrl","clickAction":{"actionType":"dialog","dialog":{"type":"dialog","title":"素材库","body":[{"type":"service","body":[{"type":"tree-select","id":"u:23489352da59","label":"","name":"materialGroup","multiple":false,"placeholder":"选择素材组","className":"","size":"full","inputClassName":"","mode":"inline","source":{"url":"/thing/v1/group/iotgroupinfo/groupList","method":"get","messages":{},"dataType":"json","data":{"name":"","type":"material"},"headers":{"token":"\${myToken}","tenantCode":"\${myTenantCode}","companyId":"\${myCompanyId}"},"adaptor":"payload.data = payload.data.map((item) => {\\r\\n item.children = item.typeList\\r\\n return item\\r\\n}) \\r\\n\\r\\nreturn {\\r\\n ...payload,\\r\\n status: payload.code === 200 ? 0 : payload.code\\r\\n};"},"labelField":"name","valueField":"id","menuTpl":"
\${name}
","clearable":true,"enableNodePath":false,"showIcon":true,"initiallyOpen":true},{"type":"search-box","label":"","name":"materialName","id":"u:6f40e3a06211","placeholder":"搜索素材名称","mode":"horizontal","size":"lg"},{"type":"pagination-wrapper","id":"u:1111a3e91978","inputName":"list","outputName":"list","perPage":20,"body":[{"type":"list-select","id":"u:f43228a4939a","source":"\${list}","onEvent":{"change":{"actions":[{"componentId":"u:c92fdccb153e","actionType":"custom","script":"const index = event.data.__index | event.data.__super.comboIndex; \\r\\n doAction({'componentId': 'u:c92fdccb153e', 'actionType': 'setValue', 'args': { 'index': index, 'value': { 'type': 'booleanImage', 'imageUrl': event.data.value }} });"}]}},"valueField":"image","name":"materialPics","listClassName":"custom-material-pics","multiple":false}],"position":"bottom","canAccessSuperData":true}],"id":"u:00abe4516cfa","messages":{},"api":{"url":"/thing/v1/material/page?name=\${materialName}&groupIds=\${materialGroup}","method":"get","messages":{},"dataType":"json","headers":{"token":"\${myToken}","tenantCode":"\${myTenantCode}","companyId":"\${myCompanyId}"},"data":{"order":"desc","orderField":"create_date","limit":9999},"adaptor":""},"canAccessSuperData":true}],"showCloseButton":true,"showErrorMsg":true,"showLoading":true,"id":"materialLib","closeOnEsc":false,"size":"lg","data":{"selectedPic":"","comboIndex":"\${index}","myToken":"\${myToken}","myTenantCode":"\${myTenantCode}","myCompanyId":"\${myCompanyId}"},"className":"text-left","actions":[]}},"strictMode":false,"syncFields":["imageUrl"],"label":"图片","id":"u:7cfff1959aca"}]},{"label":"范围/图片","test":"this.type === \\"rangeImage\\"","scaffold":{"type":"rangeImage","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"},{"type":"static-image","class":"cursor-pointer","width":"50px","height":"50px","mode":"horizontal","canAccessSuperData":true,"name":"imageUrl","clickAction":{"actionType":"dialog","dialog":{"type":"dialog","title":"素材库","body":[{"type":"service","body":[{"type":"tree-select","id":"u:23489352da59","label":"","name":"materialGroup","multiple":false,"placeholder":"选择素材组","className":"","size":"full","inputClassName":"","mode":"inline","source":{"url":"/thing/v1/group/iotgroupinfo/groupList","method":"get","messages":{},"dataType":"json","data":{"name":"","type":"material"},"headers":{"token":"\${myToken}","tenantCode":"\${myTenantCode}","companyId":"\${myCompanyId}"},"adaptor":"payload.data = payload.data.map((item) => {\\r\\n item.children = item.typeList\\r\\n return item\\r\\n}) \\r\\n\\r\\nreturn {\\r\\n ...payload,\\r\\n status: payload.code === 200 ? 0 : payload.code\\r\\n};"},"labelField":"name","valueField":"id","menuTpl":"
\${name}
","clearable":true,"enableNodePath":false,"showIcon":true,"initiallyOpen":true},{"type":"search-box","label":"","name":"materialName","id":"u:6f40e3a06211","placeholder":"搜索素材名称","mode":"horizontal","size":"lg"},{"type":"pagination-wrapper","id":"u:1111a3e91978","inputName":"list","outputName":"list","perPage":20,"body":[{"type":"list-select","id":"u:f43228a4939a","source":"\${list}","onEvent":{"change":{"actions":[{"componentId":"u:c92fdccb153e","actionType":"custom","script":"const index = event.data.__index | event.data.__super.comboIndex; \\r\\n doAction({'componentId': 'u:c92fdccb153e', 'actionType': 'setValue', 'args': { 'index': index, 'value': { 'type': 'rangeImage', 'imageUrl': event.data.value }} });"}]}},"valueField":"image","name":"materialPics","listClassName":"custom-material-pics","multiple":false}],"position":"bottom","canAccessSuperData":true}],"id":"u:00abe4516cfa","messages":{},"api":{"url":"/thing/v1/material/page?name=\${materialName}&groupIds=\${materialGroup}","method":"get","messages":{},"dataType":"json","headers":{"token":"\${myToken}","tenantCode":"\${myTenantCode}","companyId":"\${myCompanyId}"},"data":{"order":"desc","orderField":"create_date","limit":9999},"adaptor":""},"canAccessSuperData":true}],"showCloseButton":true,"showErrorMsg":true,"showLoading":true,"id":"materialLib","closeOnEsc":false,"size":"lg","data":{"selectedPic":"","comboIndex":"\${index}","myToken":"\${myToken}","myTenantCode":"\${myTenantCode}","myCompanyId":"\${myCompanyId}"},"className":"text-left","actions":[]}},"strictMode":false,"syncFields":["imageUrl"],"label":"图片","id":"u:7cfff1959aca"}],"canAccessSuperData":true}],"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":true,"addable":true,"removable":true,"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":true}],"id":"u:ea4bc33a4fcb"},{"type":"input-text","label":"数据点","name":"dataPoint","id":"u:1f58747ec3e6","clearable":true,"multiple":false,"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":false,"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\\n doAction({'actionType': 'setValue', 'componentId': 'u:8147daea685d', 'args': {'value': ''} }); }"}]}},"clearable":true,"horizontal":{"leftFixed":"sm"},"actionType":"change","target":"u:1cdb908c23a8"},{"type":"combo","label":"设备属性","name":"deviceAttrs","id":"u:98559a2dd514","multiple":false,"mode":"horizontal","size":"full","horizontal":{"leftFixed":"sm"},"items":[{"type":"input-table","label":false,"id":"u:41dfc35c368c","name":"table","strictMode":false,"needConfirm":false,"addable":true,"removable":true,"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":false,"mode":"horizontal","quickEdit":true,"size":"sm","source":{"url":"/thing/v2/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\\n const list = []\\r\\n const devices = payload.data.result.info \\r\\n for (const key in devices) {\\r\\n const device_info = devices[key] \\r\\n list.push({\\r\\n label: device_info.entityName,\\r\\n value: device_info.entityId,\\r\\n deviceCode: device_info.entityCode,\\r\\n deviceInfo: device_info,\\r\\n attrs: device_info.attrs })\\r\\n }\\r\\n payload.data = list;\\r\\n return payload\\r\\n}","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":true,"horizontal":{"left":2,"right":10},"checkAll":false},{"type":"select","name":"dataPoint","id":"u:8147daea685d","label":"数据点","multiple":false,"quickEdit":true,"mode":"horizontal","size":"sm","source":{"url":"/thing/v2/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\\n item.dictName = item.dictName + ' - ' + item.dictCode\\r\\n return item\\r\\n})\\r\\npayload.data = list;\\r\\nreturn payload"},"labelField":"dictName","valueField":"dictCode","checkAll":false,"horizontal":{"left":2,"right":10},"overlay":{"width":"350px"},"searchable":true}]}],"strictMode":true,"syncFields":[],"tabsMode":false,"canAccessSuperData":true,"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":true,"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":true,"syncFields":[],"hidden":false,"inputClassName":"w-full","multiLine":false,"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":false,"id":"u:722592249b31"}],"id":"u:b739cc6a6ed7"}],"id":"u:3b446450d643"}],"showCloseButton":true,"showErrorMsg":true,"showLoading":true,"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":false,"size":"lg"}}]}},"className":"w-full m-b-sm","inputClassName":"w-full","editorState":"default"},{"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":true,"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":true,"addable":true,"removable":true,"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":true}],"id":"u:e3990e007f9c"},{"type":"flex","justify":"space-between","items":[{"type":"select","label":"速度","name":"animationTime","visibleOn":"this.index === 0","menuTpl":"
\${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":false,"className":"w-full"}],"id":"u:18969f044f61"},{"type":"input-text","label":"数据点","name":"dataPoint","id":"u:995482efad18","clearable":true,"multiple":false,"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":false,"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\\n doAction({'actionType': 'setValue', 'componentId': 'u:8147daea685d', 'args': {'value': ''} }); }"}]}},"clearable":true,"horizontal":{"leftFixed":"sm"},"actionType":"change","target":"u:1cdb908c23a8"},{"type":"combo","label":"设备属性","name":"deviceAttrs","id":"u:98559a2dd514","multiple":false,"mode":"horizontal","size":"full","horizontal":{"leftFixed":"sm"},"items":[{"type":"input-table","label":false,"id":"u:41dfc35c368c","name":"table","strictMode":false,"needConfirm":false,"addable":true,"removable":true,"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":false,"mode":"horizontal","quickEdit":true,"size":"sm","source":{"url":"/thing/v2/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\\n const list = []\\r\\n const devices = payload.data.result.info \\r\\n for (const key in devices) {\\r\\n const device_info = devices[key] \\r\\n list.push({\\r\\n label: device_info.entityName,\\r\\n value: device_info.entityId,\\r\\n deviceCode: device_info.entityCode,\\r\\n deviceInfo: device_info,\\r\\n attrs: device_info.attrs })\\r\\n }\\r\\n payload.data = list;\\r\\n return payload\\r\\n}","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":true,"horizontal":{"left":2,"right":10},"checkAll":false},{"type":"select","name":"dataPoint","id":"u:8147daea685d","label":"数据点","multiple":false,"quickEdit":true,"mode":"horizontal","size":"sm","source":{"url":"/thing/v2/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\\n item.dictName = item.dictName + ' - ' + item.dictCode\\r\\n return item\\r\\n})\\r\\npayload.data = list;\\r\\nreturn payload"},"labelField":"dictName","valueField":"dictCode","checkAll":false,"horizontal":{"left":2,"right":10},"overlay":{"width":"350px"},"searchable":true}]}],"strictMode":true,"syncFields":[],"tabsMode":false,"canAccessSuperData":true,"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":true,"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":true,"syncFields":[],"hidden":false,"inputClassName":"w-full","multiLine":false,"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":false,"id":"u:722592249b31"}],"id":"u:b739cc6a6ed7"}],"id":"u:3b446450d643"}],"showCloseButton":true,"showErrorMsg":true,"showLoading":true,"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) }, 'index': index } }) } else {doAction({ 'componentId': 'animationCombo', 'actionType': 'setValue', 'args': { value: { 'dataPoint': JSON.stringify(event.data) }, 'index': index } }) };"}]}},"closeOnEsc":false,"size":"lg"}}]}},"className":"w-full m-b-sm","inputClassName":"w-full","editorState":"default"},{"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":true,"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"},"canAccessSuperData":true,"maxLength":2}],"data":{"animationCombo":[{"animationName":"闪烁","dataPoint":"","min":"","max":""},{"animationName":"旋转","dataPoint":"","min":"","max":""}]},"name":"animationService"}]}],"id":"u:3eb6b9a42dcb","name":"dynamicService"}],"id":"u:043251c106af","className":"p-sm"},{"title":"脚本解析","icon":"fa fa-star","body":[{"type":"flex","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":true}}}]}},"icon":"fa fa-save"}],"id":"u:edef8e21c1e3","justify":"flex-end"},{"type":"service","id":"u:6dc2a126004a","body":[{"type":"tpl","id":"u:c77724a2f3b3","tpl":"function (context, service, nodeId) {","inline":true,"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":false}}}]}},"description":"参数提示:\\n1. context 是整个看板上下文,可以获取看板所有元素节点和连线节点,也可以访问 context.globalDatas 获取全局socket 数据。 \\n2. service 是 Ajax 请求服务。\\n3. nodeId 是节点 id . \\n4. 如果返回一个函数,则可以当socket 数据更新时,调用此函数,此函数入参分别是 context, service, nodeId, globalDatas ;,以满足多样化的业务需求。"},{"type":"tpl","tpl":"}","inline":true,"wrapperComponent":"","id":"u:fa21aebb859b","style":{"fontFamily":"","fontSize":16}}],"name":"scriptService","data":{"script":"","save":false},"className":"text-left","messages":{}}],"id":"u:dc8d331cbe5e","className":"h-full"}],"id":"u:178107498966","tabsMode":"radio","className":"p-none","contentClassName":"p-none"}],"className":""}`,c={jsPlugin:'[{"url":"./logicflow/core.umd.js","isModule":false,"disabled":true},{"url":"./logicflow/extensionLib/NodeResize.js","isModule":false,"disabled":true}]',json:`{ "nodes": [ { "id": "c04eb8bb-49d7-46c2-9804-15be1334b01f", "type": "custom-image-node", "x": 202, "y": 200, "text": { "value": "", "x": 202, "y": 200 }, "properties": { "id": "c04eb8bb-49d7-46c2-9804-15be1334b01f", "width": 100, "height": 100, "x": 202, "y": 200, "rotation": 0, "opacity": 1, "showHideContainChildren": false, "showDefaultValue": false, "showUnit": false, "strokeWidth": 1, "fontSize": 12, "borderDirection": "border", "nodeAlias": "图片", "href": "./defaultPic.svg", "dynamic": { "normalData": { "dataPoint": "", "compareType": "", "conditionVariables": [ { "type": "rangeImage", "label": "范围/图片", "name": "" } ], "defaultValue": "[]", "unit": "" }, "uiData": { "dataPoint": "", "compareType": "", "conditionVariables": [ { "type": "rangeImage", "label": "范围/图片", "name": "" } ], "defaultValue": "[]" }, "animationData": { "animationCombo": [ { "min": "", "max": "", "animationName": "旋转", "defaultValue": "[]", "animationTime": 3, "dataPoint": "" }, { "min": "", "max": "", "animationName": "闪烁", "defaultValue": "[]", "dataPoint": "" } ] }, "hiddenData": { "hiddenCombo": [ { "dataPoint": "", "min": "", "max": "", "showOrHiddenName": "隐藏", "defaultValue": "[]" }, { "defaultValue": "[]", "showOrHiddenName": "显示", "dataPoint": "" } ] }, "eventsData": { "eventCombo": [ { "eventType": "click", "enable": false, "config": "" }, { "eventType": "dblClick", "enable": false, "config": "" } ] } } } } ] }`,javascript:`const isLocal = window.location.origin.includes('localhost'); const defaultPic = isLocal ? window.location.origin + '/defaultPic.svg' : window.location.origin + '/scada/defaultPic.svg'; // 图片-基础节点 class ImageModel extends RectResize.model { realValue = '' initNodeData(data) { // 自定义组件,需最开始重置一下text 。 data.text = { value: "", x: data.x, y: data.y, }; super.initNodeData(data) const { properties } = this; this.width = properties.width || 150; this.height = properties.height || 80; window.nodeEventsListeners(this); this.text.editable = false; // 不允许文本被编辑 } setAttributes() { const { x, y, properties } = this; const { href, textHorizontalMove = 0, textVerticalMove = 0, dynamic } = properties; const { normalData } = dynamic || {}; let textValue = properties.content || ''; if (normalData) { const { defaultValue } = normalData || {} const realValue = window.resolveScadaNewValue(defaultValue); this.realValue = realValue; } const img = new Image() img.onerror = () => { properties.href = '' } img.src = href this.text = { ...this.text, x: x + textHorizontalMove, y: y + textVerticalMove, value: textValue, } } getNodeStyle() { const style = super.getNodeStyle(); const { properties } = this; style.fill = properties.fill || style.fill; style.stroke = properties.strokeColor || style.stroke; style.strokeWidth = properties.strokeWidth || style.strokeWidth; style.opacity = properties.opacity || 1; return style; } getTextStyle() { const style = super.getTextStyle(); const { properties } = this; style.color = properties.fontColor || style.color; style.fontSize = properties.fontSize || style.fontSize; const fontStyle = properties.fontStyle; if(fontStyle) { if (fontStyle.includes('bold')) { style.fontWeight = 'bolder'; } if(fontStyle.includes('italic')) { style.fontStyle = 'italic' } if (fontStyle.includes('underline,line-through')) { style.textDecoration = 'underline line-through' } else if (fontStyle.includes('line-through,underline')) { style.textDecoration = 'line-through underline' } else if (fontStyle.includes('underline')) { style.textDecoration = 'underline' } else if (fontStyle.includes('line-through')) { style.textDecoration = 'line-through' } } return style; } getResizeOutlineStyle() { return { stroke: "#00ffff", strokeWidth: 1, strokeDasharray: "none", }; } } class ImageNode extends RectResize.view { getImageHref(href) { return href; } getResizeShape() { const { x, y, width, height, properties } = this.props.model const finalWidth = width <= 10 ? 10 : width const finalHeight = height <= 10 ? 10 : height const { opacity, blinkAnimation } = properties; let href = this.getImageHref(properties.href || defaultPic.replace(null, '')) const { uiData } = properties.dynamic || {}; if (uiData) { const realValue = window.resolveScadaNewValue(uiData.defaultValue) if(realValue !== '') { uiData.conditionVariables.forEach((item) => { if (item.type === 'rangeImage') { let from = item.from; let to = item.to; if (item.from >= item.to) { from = item.to; to = item.from; } if (item.imageUrl && Number(realValue) >= from && Number(realValue) <= to) { href = item.imageUrl; } } else if (item.type === 'booleanImage') { const trueFlags = ['true', true] const falseFlags = ['false', false] const truetrue = trueFlags.includes(item.value) && trueFlags.includes(realValue) const falsefalse = falseFlags.includes(item.value) && falseFlags.includes(realValue) if (truetrue || falsefalse) { href = item.imageUrl; } } }) } } const finalX = x - 1 / 2 * finalWidth; const finalY = y - 1 / 2 * finalHeight const attrs = { x: finalX, y: finalY, width: finalWidth, height: finalHeight, href, opacity, className: blinkAnimation ? 'blinkAnim' : '', transformOrigin: \`\${finalX + finalWidth/2} \${finalY + finalHeight/2}\`, // 根据宽高缩放 preserveAspectRatio: 'none meet' } return h('g', {}, [ h('image', { ...attrs }) ] ); } } lf.register({ type: 'custom-image-node', view: ImageNode, model: ImageModel })`,css:"",fakeData:` // 数据处理, 返回格式如下 return { normalData: [], uiData: [], animationData: [[]], // 多级 hiddenData: [[]], // 多级 } `},u={id:e,name:a,aliasName:t,image:n,imageType:i,groupName:l,groupType:o,isRemote:!1,isDefault:!0,sectionType:d,config:s,files:c};export{t as aliasName,s as config,u as default,c as files,l as groupName,o as groupType,e as id,n as image,i as imageType,m as isDefault,r as isRemote,a as name,d as sectionType};