物管理前端
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.
 
 
 
 

311 lines
32 KiB

const e="d34d1c46-24d7-49fe-8ce5-8fec1a2080c7",t="custom-time-show",a="时间显示",n='<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1693817420118" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4151" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M513.875209 140.210345a30.16195 30.16195 0 0 0-1.875721 0c-16.58063-0.521886-30.467919 12.504802-30.982641 29.094642-0.030699 0.62831-0.030699 1.258667 0 1.888v310.537616H233.156736c-17.125029 0-30.982642 13.871939-30.982642 30.982641 0 17.110703 13.857613 30.982642 30.982642 30.982642h278.842752c16.58063 0.521886 30.467919-12.504802 30.982642-29.094642 0.030699-0.62831 0.030699-1.258667 0-1.888V171.192987c0.5137-16.58984-12.496615-30.460756-29.106921-30.982642zM316.816111 274.147824l-43.388183-43.809785-43.38716 43.809785 43.38716 43.808761zM223.868185 723.67191l43.388183 42.940998 43.38716-42.940998-43.38716-42.973743zM481.016847 821.824371h61.965283v61.965284h-61.965283zM821.823859 481.017358h61.965284v61.965284h-61.965284z" fill="#707070" p-id="4152"></path><path d="M511.999488 16.280802c-273.789667 0-495.719198 221.941811-495.719198 495.719198s221.930555 495.719198 495.719198 495.719198 495.719198-221.941811 495.719199-495.719198C1007.295038 238.391459 785.607006 16.690124 511.999488 16.280802z m0 929.474136c-239.569284 0-433.754938-194.197934-433.754938-433.754938S272.430204 78.245062 511.999488 78.245062s433.754938 194.197934 433.754938 433.754938c-0.363274 239.406578-194.337103 433.396781-433.754938 433.754938z" fill="#707070" p-id="4153"></path><path d="M691.692057 721.999828l43.387159 43.808762 43.38716-43.808762-43.38716-43.809785zM700.980607 272.598538l43.38716 42.972721 40.271192-42.972721-40.271192-42.971697z" fill="#707070" p-id="4154"></path></svg>',l="svg",o="基础",i="常用",u=!1,c=!0,s="时间",d=`{"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: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: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":"grid","columns":[{"body":[{"type":"input-color","label":"填充","name":"fill","id":"u:0d19ed3e2bdc","placeholder":"","mode":"horizontal","size":"full","className":"m-b","format":"rgba","inputClassName":"w-full"}],"id":"u:facc5c90e990","md":6},{"body":[{"type":"input-color","label":"描边","name":"strokeColor","id":"u:89afff5fd00d","placeholder":"","mode":"horizontal","size":"full","className":"m-b","format":"rgba","inputClassName":"w-full"}],"id":"u:7c903d9d40ab","md":6}],"id":"u:457970dd35bf","className":"m-b"},{"type":"grid","columns":[{"body":[{"type":"input-number","label":"边宽","name":"strokeWidth","id":"u:8dcf62d3dab5","placeholder":"描边宽度","mode":"horizontal","size":"full","className":"m-b","keyboard":true,"step":1,"value":1,"suffix":"px","inputClassName":"w-full"}],"id":"u:d701217b85ef","md":6},{"body":[{"type":"switch","label":"显示星期","option":"","name":"showDayOfWeek","falseValue":false,"trueValue":true,"id":"u:2fc3faedadef","value":false,"mode":"horizontal"}],"id":"u:afc37bde0156","md":6}],"id":"u:235f153e5ad5","className":"m-b"},{"type":"select","label":"格式化类型","name":"formatType","options":[{"label":"年-月-日 时:分:秒","value":"YYYY-MM-DD HH:mm:ss"},{"label":"年/月/日 时:分:秒","value":"YYYY/MM/DD HH:mm:ss"},{"label":"年-月-日 时:分:秒 星期几","value":"YYYY-MM-DD HH:mm:ss dddd"},{"label":"年-月-日 星期几 时:分:秒","value":"YYYY-MM-DD dddd HH:mm:ss"},{"label":"年月日 时:分:秒","value":"YYYY年MM月DD日 HH:mm:ss"},{"label":"年月日 时:分:秒 星期几","value":"YYYY年MM月DD日 HH:mm:ss dddd"},{"label":"年月日 星期几 时:分:秒","value":"YYYY年MM月DD日 dddd HH:mm:ss"}],"id":"u:cea3d9a7a888","mode":"horizontal","inputClassName":"w-full","value":"YYYY-MM-DD HH:mm:ss","multiple":false},{"type":"switch","label":"阴影遮盖","option":"","name":"shadowOnTop","falseValue":false,"trueValue":true,"id":"u:c83da9810789","value":false,"mode":"horizontal"},{"type":"editor","label":"时分秒样式","name":"hourMinuteSecondStyle","id":"u:f1d6bed7a734","language":"javascript","className":"text-left"},{"type":"fieldset","id":"u:2a93d8eee7a9","className":"","title":"字体","collapsable":true,"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":false,"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":true,"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":false,"joinValues":true,"mode":"horizontal","horizontal":{"leftFixed":"sm"},"optionType":"button","menuTpl":"<span class='text-lg \${label}'></span>","inputClassName":"","multiple":true},{"type":"checkboxes","label":"文字位置","name":"fontAlign","multiple":false,"options":[{"label":"fa fa-align-left","value":"left"},{"label":"fa fa-align-center","value":"center"},{"label":"fa fa-align-right","value":"right"},{"label":"fa fa-align-justify","value":"justify"}],"id":"u:7e80e906ea14","checkAll":false,"joinValues":true,"mode":"horizontal","horizontal":{"leftFixed":"sm"},"optionType":"button","menuTpl":"<span class='text-lg \${label}'></span>","inputClassName":"","className":"custom-checkbox-style m-b"},{"type":"input-number","label":"文字行高","name":"lineHeight","keyboard":true,"id":"u:0063eed6ed66","step":1,"mode":"horizontal","horizontal":{"leftFixed":"sm"},"displayMode":"enhance","className":"m-b"}],"style":{"position":"static","display":"block"},"wrapperBody":false}],"bodyClassName":"m-b"}],"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":"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': '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,"editorState":"default"},{"type":"combo","name":"conditionVariables","label":"","value":[{"type":"equal"}],"multiLine":false,"multiple":true,"typeSwitchable":false,"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":"fontColor","type":"input-color","id":"u:5148d38928d9","format":"rgba","inputClassName":"myColorPick","static":false,"placeholder":"选择颜色"},{"label":"背景","name":"backColor","type":"input-color","id":"u:5148d38928d9","format":"rgba","inputClassName":"myColorPick","static":false,"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":"fontColor","type":"input-color","id":"u:5148d38928d9","format":"rgba","inputClassName":"myColorPick","static":false,"placeholder":"选择颜色"},{"label":"背景","name":"backColor","type":"input-color","id":"u:5148d38928d9","format":"rgba","inputClassName":"myColorPick","static":false,"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":"fontColor","type":"input-color","id":"u:5148d38928d9","format":"rgba","inputClassName":"myColorPick","static":false,"placeholder":"选择颜色"},{"label":"背景","name":"backColor","type":"input-color","id":"u:5148d38928d9","format":"rgba","inputClassName":"myColorPick","static":false,"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"}],"id":"u:3eb6b9a42dcb","name":"dynamicService"}],"id":"u:043251c106af","className":"p-sm"},{"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":true}}}]}},"icon":"fa fa-save"}]},{"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"}],"id":"u:dc8d331cbe5e"}],"id":"u:178107498966","tabsMode":"radio","className":"p-none w-full","contentClassName":"p-none"}],"className":""}`,r={jsPlugin:'[{"url":"./logicflow/core.umd.js","isModule":false,"disabled":true},{"url":"./logicflow/extensionLib/NodeResize.js","isModule":false,"disabled":true}]',json:`{
"nodes": [
{
"id": "a931aee0-87f3-43f5-9891-995e0b1f7757",
"type": "custom-time-show",
"x": 200,
"y": 200,
"text": {
"value": "",
"x": 200,
"y": 200
},
"properties": {
"id": "a931aee0-87f3-43f5-9891-995e0b1f7757",
"width": 200,
"height": 20,
"x": 200,
"y": 200,
"rotation": 0,
"opacity": 1,
"strokeWidth": 1,
"showDayOfWeek": false,
"formatType": "YYYY年MM月DD日 dddd HH:mm:ss",
"shadowOnTop": false,
"fontSize": 12,
"hourMinuteSecondStyle": "// return {\\r\\n// float: 'right',\\r\\n// display: 'inline',\\r\\n// height: '100%',\\r\\n// fontSize: '25px',\\r\\n// marginLeft: '15px',\\r\\n// color: '#ffffff',\\r\\n// fontFamily: 'Impact',\\r\\n// }",
"nodeAlias": "时间显示",
"lineHeight": 20,
"fill": "rgba(74, 144, 226, 1)",
"dynamic": {
"uiData": {
"dataPoint": "",
"compareType": "",
"conditionVariables": []
}
}
}
}
]
}`,javascript:`
const { createApp, createVNode, render } = Vue;
const app = createApp({})
const Button = {
template: '<div :style="getStyle" :class="{timesshow: true, shadowOnTop: shadowOnTop}">{{ currentTime }}<span v-if="hourMinuteSecondStyleRet" :style="hourMinuteSecondStyleRet"> {{hourMinuteSecond}}</span></div>',
props: {
fontColor: {
type: String,
default: '#ffffff'
},
fontSize: {
type: Number,
default: 14
},
fontFamily: {
type: String,
default: '宋体'
},
fontStyle: {
type: String,
default: 'normal'
},
width: {
type: Number,
default: 80
},
height: {
type: Number,
default: 18
},
lineHeight: {
type: Number,
default: 18,
},
backgroundColor: {
type: String,
default: '#1890ff',
},
strokeColor: {
type: String,
default: '#1890ff',
},
strokeWidth: {
type: Number,
default: 1,
},
opacity: {
type: Number,
default: 1,
},
realValue: {
type: [String, Number],
default: ''
},
showDayOfWeek: {
type: Boolean,
default: false
},
formatType: {
type: String,
default: 'YYYY-MM-DD HH:mm:ss',
},
hourMinuteSecondStyle: {
type: String,
default: '',
},
shadowOnTop: {
type: Boolean,
default: false
}
},
computed: {
getStyle() {
const { fontColor, fontSize, fontFamily, fontStyle, width, height, lineHeight, backgroundColor, strokeColor, strokeWidth, opacity } = this
const style = {}
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 {
color: fontColor,
"font-size": parseInt(fontSize) + 'px',
"font-family": fontFamily,
"font-style": style.fontStyle,
"font-weight": style.fontWeight,
"text-decoration": style.textDecoration,
width: parseInt(width) - parseInt(strokeWidth) * 2 + 'px',
height: parseInt(height) - parseInt(strokeWidth) * 2 + 'px',
lineHeight: parseInt(lineHeight) - parseInt(strokeWidth) * 2 + 'px',
"text-align": 'center',
'background-color': backgroundColor,
"border-radius": '2px',
"box-shadow": "0 2px 0 rgba(0, 0, 0, 0.45)",
"border-color": strokeColor,
"border-style": "solid",
"border-width": parseInt(strokeWidth) + 'px',
"opacity": opacity,
}
}
},
setup(props) {
const { ref, onMounted, computed } = Vue
let currentTime = ref('');
let hourMinuteSecond = ref('');
onMounted(() => {
let type = props.formatType;
if (props.hourMinuteSecondStyle) {
type = type.replace(' HH:mm:ss', '');
}
const date = window.dayjs(new Date());
currentTime.value = date.format(type);
if (props.hourMinuteSecondStyle) {
hourMinuteSecond.value = date.format("HH:mm:ss");
}
setInterval(() => {
const date2 = window.dayjs(new Date());
currentTime.value = date2.format(type);
if (props.hourMinuteSecondStyle) {
hourMinuteSecond.value = date2.format("HH:mm:ss");
}
}, 1000)
})
const hourMinuteSecondStyleRet = computed(() => {
if (props.hourMinuteSecondStyle) {
const stylesStr = props.hourMinuteSecondStyle;
const fn = new Function('', stylesStr);
const styleObj = fn();
return {
lineHeight: props.height + 'px',
...styleObj,
};
} else {
return null
}
})
return {
currentTime,
hourMinuteSecond,
hourMinuteSecondStyleRet
}
}
}
class CustomTimeShowNode extends HtmlResize.view {
setHtml(rootEl) {
const { graphModel } = this.props;
const { properties, width, height, } = this.props.model;
const { content, fontColor, fontSize, fontFamily, fontStyle, lineHeight, fill,
strokeColor, strokeWidth, opacity, showDayOfWeek, formatType, hourMinuteSecondStyle, shadowOnTop } = properties;
const { model } = this.props;
const el = document.createElement('div');
rootEl.innerHTML = '';
const { uiData } = properties.dynamic || {};
let fillColor = fill
let fontC = fontColor
let realValue = ''
if (uiData) {
realValue = window.resolveScadaNewValue(uiData.defaultValue)
if (realValue !== '') {
uiData.conditionVariables.forEach((item) => {
if (item.type === 'rangeColor') {
let from = item.from;
let to = item.to;
if (item.from >= item.to) {
from = item.to;
to = item.from;
}
if (item.backColor && Number(realValue) >= from && Number(realValue) <= to) {
fillColor = item.backColor
}
if (item.fontColor && Number(realValue) >= from && Number(realValue) <= to) {
fontC = item.fontColor
}
} else if (item.type === 'equal') {
if (Number(realValue) === Number(item.value)) {
item.backColor && (fillColor = item.backColor);
item.fontColor && (fontC = item.fontColor);
dynamicName = item.valueLabel;
}
} else if (item.type === 'boolean') {
if (realValue === 'true' || realValue === true) {
item.backColor && (fillColor = item.backColor);
item.fontColor && (fontC = item.fontColor);
dynamicName = item.valueLabel;
}
}
})
}
}
const instance = createVNode(Button, {
fontColor: fontC,
fontSize, fontFamily, fontStyle, width, height, lineHeight,
backgroundColor: fillColor,
strokeColor, strokeWidth,
opacity,
realValue,
showDayOfWeek,
formatType,
hourMinuteSecondStyle,
shadowOnTop
})
instance.appContext = app._context
render(instance, el)
rootEl.appendChild(el);
}
}
class CustomTimeShowModel extends HtmlResize.model {
initNodeData(data) {
// 自定义组件,需最开始重置一下text 。
data.text = {
value: "",
x: data.x,
y: data.y,
};
super.initNodeData(data);
const { properties } = this;
this.width = properties.width || 80;
this.height = properties.height || 35;
this.text.editable = false; // 不允许文本被编辑
}
setAttributes() {
// 自定义组件需重置 text
const { x, y, properties } = this;
const { textHorizontalMove = 0, textVerticalMove = 0 } = properties;
this.text = {
...this.text,
x: x + textHorizontalMove,
y: y + textVerticalMove,
value: "",
}
}
}
lf.register({
type: 'custom-time-show',
view: CustomTimeShowNode,
model: CustomTimeShowModel,
})
`,css:`.timesshow.shadowOnTop:after {\r
content: '';\r
display: inline-block;\r
height: 12px;\r
position: absolute;\r
top: 50%;\r
right: 0;\r
left: 0;\r
margin-top: -6px;\r
background: linear-gradient(0deg, rgba(0, 0, 0, 0.35) 0%, rgba(0, 0, 0, 0) 100%);\r
background-size: cover;\r
z-index: 100;\r
}`,fakeData:""},m={id:e,name:t,aliasName:a,image:n,imageType:l,groupName:o,groupType:i,isRemote:!1,isDefault:!0,sectionType:s,config:d,files:r};export{a as aliasName,d as config,m as default,r as files,o as groupName,i as groupType,e as id,n as image,l as imageType,c as isDefault,u as isRemote,t as name,s as sectionType};