CTL/res/cfg.json

239 lines
8.8 KiB
JSON
Raw Normal View History

2024-06-21 09:05:50 +00:00
{
"type": "page",
"title": "Hello world",
2024-06-28 00:33:59 +00:00
"regions": [
"body"
],
2024-06-21 09:05:50 +00:00
"body": [
{
"type": "tpl",
2024-06-28 00:33:59 +00:00
"id": "u:f439a8330e02",
2024-06-21 09:05:50 +00:00
"tpl": "初始页面",
"wrapperComponent": "",
2024-06-28 00:33:59 +00:00
"inline": false
2024-06-21 09:05:50 +00:00
},
{
"type": "grid",
"columns": [
{
"body": [],
"id": "u:39c97acec8cc"
},
{
"body": [
{
"type": "collapse-group",
"activeKey": [
"1"
],
"body": [
{
"type": "collapse",
"key": "1",
"active": true,
"header": "通用",
"body": [
{
"type": "button-toolbar",
"label": "按钮工具栏",
2024-06-28 00:33:59 +00:00
"data": {
"x": "yy"
},
2024-06-21 09:05:50 +00:00
"buttons": [
{
"type": "button",
"label": "按钮1",
"onEvent": {
"click": {
"actions": [
2024-06-28 00:33:59 +00:00
{
"ignoreError": false,
"script": "const buttonText = context.props.label;\ndoAction({\n actionType: 'ajax',\n args: {\n api: {\n url: '/sendData',\n method: 'post',\n data: {\n buttonLabel: buttonText\n }\n }\n }\n});\n",
"actionType": "custom"
}
]
2024-06-21 09:05:50 +00:00
}
},
2024-06-28 00:33:59 +00:00
"id": "u:sendButtonText"
2024-06-21 09:05:50 +00:00
},
{
"type": "button",
"label": "按钮2",
"onEvent": {
"click": {
"actions": [
2024-06-28 00:33:59 +00:00
{
"ignoreError": false,
"actionType": "custom",
"script": "const buttonText = context.props.label;\ndoAction({\n actionType: 'ajax',\n args: {\n api: {\n url: '/sendData',\n method: 'post',\n data: {\n buttonLabel: buttonText\n },\n successMessage: '请求成功',\n errorMessage: '请求失败'\n }\n }\n});\n"
}
2024-06-21 09:05:50 +00:00
]
}
},
"id": "u:8eae2c306cc5"
}
],
"id": "u:b6649c1b1585"
},
2024-06-28 15:41:01 +00:00
{
"type": "input-number",
"label": "数字输入",
"name": "freq",
"keyboard": true,
"id": "numberInput",
"step": 12,
"displayMode": "base",
"size": "full",
"mode": "inline",
"required": true,
"min": 225000,
"max": 500000,
"value": 225000,
"kilobitSeparator": true,
"unitOptions": [
{
"label": "kHz"
}
],
"placeholder": "225,000到500,000之间"
},
{
"type": "button",
"label": "提交",
"id": "submitButton",
"size": "md",
"block": false,
"disabledOn": "freq === undefined || freq === ''",
"onEvent": {
"click": {
"actions": [
{
"ignoreError": false,
"actionType": "ajax",
"outputVar": "responseResult",
"api": {
"url": "/sendData",
"method": "post",
"data": {
"frequency": "${freq}"
}
},
"messages": {
"success": "数据已成功发送",
"failed": "发送数据失败,请重试"
}
}
]
}
}
},
2024-06-21 09:05:50 +00:00
{
"type": "button-group-select",
"name": "buttonGroupSelect",
"label": "单选",
"inline": false,
"options": [
{
"label": "选项1",
"value": "a"
},
{
"label": "选项2",
"value": "b"
}
],
"id": "u:5112d83e3943",
"multiple": false,
"value": "a"
2024-06-28 15:41:01 +00:00
},
{
"type": "switch",
"label": "天通",
"option": "说明",
"name": "switch",
"falseValue": false,
"trueValue": true,
"id": "u:bd2f8c0b2176",
"onEvent": {
"change": {
"weight": 0,
"actions": [
{
"ignoreError": false,
"actionType": "custom",
"script": "const buttonText = context.props.label + (!context.props.value?'开':'关');\ndoAction({\n actionType: 'ajax',\n args: {\n api: {\n url: '/sendData',\n method: 'post',\n data: {\n buttonLabel: buttonText\n },\n successMessage: '请求成功',\n errorMessage: '请求失败'\n }\n }\n});\n"
}
]
}
}
2024-06-21 09:05:50 +00:00
}
],
"id": "u:53511e674086"
},
{
"type": "collapse",
2024-06-28 00:33:59 +00:00
"header": "调试",
2024-06-21 09:05:50 +00:00
"body": [
{
2024-06-30 02:58:37 +00:00
"type": "service",
"interval": 1500, // 每1.5秒刷新一次
silentPolling: true
"api": "/api/getStatus", // API接口
"data": {
"maxBarCnt":"60",
"items": [
2024-06-30 09:29:27 +00:00
{"color": "#808080"},
{"color": "#808080"},
{"color": "#808080"},
{"color": "#808080"},
2024-06-30 02:58:37 +00:00
]
},
"body": [
{
"type": "each",
"name": "items",
"items": {
"type": "tpl",
2024-06-30 09:29:27 +00:00
"tpl": "<div style='width: 3px; height: 50px; border-radius: 2px; background-color: ${color}; box-shadow: 0 0 5px ${color}, 0 0 10px ${color} inset' title='${state}'></div><br><div style='width: 3px; height: 50px; border-radius: 2px; background-color: ${color}; box-shadow: 0 0 5px ${color}, 0 0 10px ${color} inset' title='${state}'></div>",
2024-06-30 02:58:37 +00:00
"style": {
"display": "inline-block",
2024-06-30 09:29:27 +00:00
"marginRight": "5px",
"marginBottom": "5px"
2024-06-30 02:58:37 +00:00
}
}
}
],
"onEvent": {
"fetchInited": {
"actions": [
{
"actionType": "custom",
2024-06-30 09:29:27 +00:00
"script": "const colorMap={'Success':'#00ff00','Fault':'#ff0000','PowerDown':'#808080'};\n const ncolor = colorMap[event.data.responseData.state];\n console.log(event.data.responseData.state,ncolor);\ncontext.props.data.items.push({'color':ncolor})\nif (context.props.data.items.length > context.props.data.maxBarCnt) {\n context.props.data.items.shift(); // Remove the oldest value\n};"
2024-06-30 02:58:37 +00:00
}
]
}
}
}
2024-06-21 09:05:50 +00:00
],
"key": "6",
"id": "u:4ad528b09137"
}
],
"id": "u:8035637b2ce6"
}
],
"id": "u:63b382ec7d2f"
}
],
"id": "u:a9f37a6134a4"
}
],
"id": "u:ddf6e6d384e7",
"pullRefresh": {
"disabled": true
},
2024-06-28 00:33:59 +00:00
"data": {
"x": "xx"
},
"asideResizor": false
2024-06-21 09:05:50 +00:00
}