Commit 6a5d9b7846dc4534ad094c152c1792ed706b98bf
1 parent
ad950e67
feat: implement websocket data source sync
Showing
3 changed files
with
536 additions
and
237 deletions
@@ -458,7 +458,9 @@ EditorUi.prototype.initPages = function() | @@ -458,7 +458,9 @@ EditorUi.prototype.initPages = function() | ||
458 | 458 | ||
459 | // Updates scrollbar positions and backgrounds after validation | 459 | // Updates scrollbar positions and backgrounds after validation |
460 | var p = this.currentPage; | 460 | var p = this.currentPage; |
461 | - | 461 | + console.log(this) |
462 | + previewAction(this, this.currentPage) | ||
463 | + | ||
462 | if (p != null && p != lastPage) | 464 | if (p != null && p != lastPage) |
463 | { | 465 | { |
464 | if (p.viewState == null || p.viewState.scrollLeft == null) | 466 | if (p.viewState == null || p.viewState.scrollLeft == null) |
@@ -306,7 +306,6 @@ Format.prototype.init = function () { | @@ -306,7 +306,6 @@ Format.prototype.init = function () { | ||
306 | var ui = this.editorUi; | 306 | var ui = this.editorUi; |
307 | var editor = ui.editor; | 307 | var editor = ui.editor; |
308 | var graph = editor.graph; | 308 | var graph = editor.graph; |
309 | - | ||
310 | this.update = mxUtils.bind(this, function (sender, evt) { | 309 | this.update = mxUtils.bind(this, function (sender, evt) { |
311 | this.refresh(); | 310 | this.refresh(); |
312 | }); | 311 | }); |
@@ -681,7 +680,7 @@ BaseFormatPanel.prototype.installInputHandler = function ( | @@ -681,7 +680,7 @@ BaseFormatPanel.prototype.installInputHandler = function ( | ||
681 | if (graph.isEditing()) { | 680 | if (graph.isEditing()) { |
682 | graph.stopEditing(true); | 681 | graph.stopEditing(true); |
683 | } | 682 | } |
684 | - | 683 | + // TODO update data ?? |
685 | graph.getModel().beginUpdate(); | 684 | graph.getModel().beginUpdate(); |
686 | try { | 685 | try { |
687 | var cells = ui.getSelectionState().cells; | 686 | var cells = ui.getSelectionState().cells; |
@@ -4030,7 +4029,7 @@ TextFormatPanel.prototype.addFont = function (container) { | @@ -4030,7 +4029,7 @@ TextFormatPanel.prototype.addFont = function (container) { | ||
4030 | while ( | 4029 | while ( |
4031 | node != null && | 4030 | node != null && |
4032 | node.nodeType != mxConstants.NODETYPE_ELEMENT | 4031 | node.nodeType != mxConstants.NODETYPE_ELEMENT |
4033 | - ) { | 4032 | + ) { |
4034 | node = node.parentNode; | 4033 | node = node.parentNode; |
4035 | } | 4034 | } |
4036 | 4035 | ||
@@ -5020,7 +5019,6 @@ DataFormatPanel.prototype.addDataFont = function (container) { | @@ -5020,7 +5019,6 @@ DataFormatPanel.prototype.addDataFont = function (container) { | ||
5020 | let echoRefreshFn = null | 5019 | let echoRefreshFn = null |
5021 | 5020 | ||
5022 | 5021 | ||
5023 | - | ||
5024 | // 获取url的请求参数函数 | 5022 | // 获取url的请求参数函数 |
5025 | function getRequest() { | 5023 | function getRequest() { |
5026 | var url = location.search; //获取url中"?"符后的字串 | 5024 | var url = location.search; //获取url中"?"符后的字串 |
@@ -5077,8 +5075,6 @@ DataFormatPanel.prototype.addDataFont = function (container) { | @@ -5077,8 +5075,6 @@ DataFormatPanel.prototype.addDataFont = function (container) { | ||
5077 | } | 5075 | } |
5078 | 5076 | ||
5079 | 5077 | ||
5080 | - | ||
5081 | - | ||
5082 | /** | 5078 | /** |
5083 | * @description 生成数据交互面板 | 5079 | * @description 生成数据交互面板 |
5084 | * @returns {Array} | 5080 | * @returns {Array} |
@@ -5087,11 +5083,16 @@ DataFormatPanel.prototype.addDataFont = function (container) { | @@ -5087,11 +5083,16 @@ DataFormatPanel.prototype.addDataFont = function (container) { | ||
5087 | const eventList = [] | 5083 | const eventList = [] |
5088 | const eventNodeCls = 'interaction__container' | 5084 | const eventNodeCls = 'interaction__container' |
5089 | for (const item of interactionList) { | 5085 | for (const item of interactionList) { |
5090 | - const checkbox = UseLayUi.createCheckBox({ dataSource: item, layFilter: item.type, valueField: 'type', labelField: 'label' }) | 5086 | + const checkbox = UseLayUi.createCheckBox({ |
5087 | + dataSource: item, | ||
5088 | + layFilter: item.type, | ||
5089 | + valueField: 'type', | ||
5090 | + labelField: 'label' | ||
5091 | + }) | ||
5091 | const template = ` | 5092 | const template = ` |
5092 | - <div class="${eventNodeCls}"> | ||
5093 | - ${checkbox} | ||
5094 | - <i id="${item.type}"></i> | 5093 | + <div class="${ eventNodeCls }"> |
5094 | + ${ checkbox } | ||
5095 | + <i id="${ item.type }"></i> | ||
5095 | </div>` | 5096 | </div>` |
5096 | eventList.push(template) | 5097 | eventList.push(template) |
5097 | } | 5098 | } |
@@ -5106,11 +5107,16 @@ DataFormatPanel.prototype.addDataFont = function (container) { | @@ -5106,11 +5107,16 @@ DataFormatPanel.prototype.addDataFont = function (container) { | ||
5106 | const eventList = [] | 5107 | const eventList = [] |
5107 | const eventNodeCls = 'interaction__container' | 5108 | const eventNodeCls = 'interaction__container' |
5108 | for (const item of list) { | 5109 | for (const item of list) { |
5109 | - const checkbox = UseLayUi.createCheckBox({ dataSource: item, layFilter: item.checkboxName, valueField: 'type', labelField: 'label' }) | 5110 | + const checkbox = UseLayUi.createCheckBox({ |
5111 | + dataSource: item, | ||
5112 | + layFilter: item.checkboxName, | ||
5113 | + valueField: 'type', | ||
5114 | + labelField: 'label' | ||
5115 | + }) | ||
5110 | const template = ` | 5116 | const template = ` |
5111 | - <div class="${eventNodeCls}"> | ||
5112 | - ${checkbox} | ||
5113 | - <i id="${item.type}"></i> | 5117 | + <div class="${ eventNodeCls }"> |
5118 | + ${ checkbox } | ||
5119 | + <i id="${ item.type }"></i> | ||
5114 | </div>` | 5120 | </div>` |
5115 | eventList.push(template) | 5121 | eventList.push(template) |
5116 | } | 5122 | } |
@@ -5147,7 +5153,7 @@ DataFormatPanel.prototype.addDataFont = function (container) { | @@ -5147,7 +5153,7 @@ DataFormatPanel.prototype.addDataFont = function (container) { | ||
5147 | */ | 5153 | */ |
5148 | async function generatorOrgTres() { | 5154 | async function generatorOrgTres() { |
5149 | orgPanel = defaultPanel.cloneNode(false) | 5155 | orgPanel = defaultPanel.cloneNode(false) |
5150 | - const orgContainer = `<div id="${enumActionEl.ORG_EL}"></div>` | 5156 | + const orgContainer = `<div id="${ enumActionEl.ORG_EL }"></div>` |
5151 | $(orgPanel).append(orgContainer) | 5157 | $(orgPanel).append(orgContainer) |
5152 | 5158 | ||
5153 | const [err, res] = await to(ConfigurationNodeApi.getOrgTree()) | 5159 | const [err, res] = await to(ConfigurationNodeApi.getOrgTree()) |
@@ -5155,7 +5161,7 @@ DataFormatPanel.prototype.addDataFont = function (container) { | @@ -5155,7 +5161,7 @@ DataFormatPanel.prototype.addDataFont = function (container) { | ||
5155 | treeList = res | 5161 | treeList = res |
5156 | 5162 | ||
5157 | UseLayUi.createTreeSelect({ | 5163 | UseLayUi.createTreeSelect({ |
5158 | - elem: `#${enumActionEl.ORG_EL}`, | 5164 | + elem: `#${ enumActionEl.ORG_EL }`, |
5159 | layFilter: enumDataSourceConst.ORG_ID, | 5165 | layFilter: enumDataSourceConst.ORG_ID, |
5160 | className: 'data-source__org--override', | 5166 | className: 'data-source__org--override', |
5161 | label: '组织', | 5167 | label: '组织', |
@@ -5184,10 +5190,10 @@ DataFormatPanel.prototype.addDataFont = function (container) { | @@ -5184,10 +5190,10 @@ DataFormatPanel.prototype.addDataFont = function (container) { | ||
5184 | const { value } = data | 5190 | const { value } = data |
5185 | const selected = deviceList.find(item => item.id === value) | 5191 | const selected = deviceList.find(item => item.id === value) |
5186 | if (selected.deviceType === enumDataSourceConst.GATEWAY) { | 5192 | if (selected.deviceType === enumDataSourceConst.GATEWAY) { |
5187 | - $(`#${enumActionEl.SLAVE_DEVICE_EL}`).css({ display: 'block' }) | 5193 | + $(`#${ enumActionEl.SLAVE_DEVICE_EL }`).css({ display: 'block' }) |
5188 | getSlaveDeviceByMasterDeviceId(currentCheckedOrgNode, selected.id) | 5194 | getSlaveDeviceByMasterDeviceId(currentCheckedOrgNode, selected.id) |
5189 | } else { | 5195 | } else { |
5190 | - $(`#${enumActionEl.SLAVE_DEVICE_EL}`).css({ display: 'none' }) | 5196 | + $(`#${ enumActionEl.SLAVE_DEVICE_EL }`).css({ display: 'none' }) |
5191 | getAttrByDeviceId(selected.id) | 5197 | getAttrByDeviceId(selected.id) |
5192 | } | 5198 | } |
5193 | } | 5199 | } |
@@ -5227,14 +5233,13 @@ DataFormatPanel.prototype.addDataFont = function (container) { | @@ -5227,14 +5233,13 @@ DataFormatPanel.prototype.addDataFont = function (container) { | ||
5227 | } | 5233 | } |
5228 | 5234 | ||
5229 | 5235 | ||
5230 | - | ||
5231 | /** | 5236 | /** |
5232 | * @description 根据组织ID获取设备 | 5237 | * @description 根据组织ID获取设备 |
5233 | */ | 5238 | */ |
5234 | async function getDevicesByOrgId(organizationId) { | 5239 | async function getDevicesByOrgId(organizationId) { |
5235 | if (organizationId) { | 5240 | if (organizationId) { |
5236 | const items = deviceList = await ConfigurationNodeApi.getMasterDevice(organizationId); | 5241 | const items = deviceList = await ConfigurationNodeApi.getMasterDevice(organizationId); |
5237 | - $(`#${enumActionEl.DEVICE_EL}`).find('select').html(UseLayUi.generateOptionTemplate({ dataSource: items })) | 5242 | + $(`#${ enumActionEl.DEVICE_EL }`).find('select').html(UseLayUi.generateOptionTemplate({ dataSource: items })) |
5238 | form.render('select', CONTAINER_FILTER) | 5243 | form.render('select', CONTAINER_FILTER) |
5239 | } | 5244 | } |
5240 | } | 5245 | } |
@@ -5245,7 +5250,7 @@ DataFormatPanel.prototype.addDataFont = function (container) { | @@ -5245,7 +5250,7 @@ DataFormatPanel.prototype.addDataFont = function (container) { | ||
5245 | async function getSlaveDeviceByMasterDeviceId(orgId, deviceId) { | 5250 | async function getSlaveDeviceByMasterDeviceId(orgId, deviceId) { |
5246 | if (deviceId && currentCheckedOrgNode) { | 5251 | if (deviceId && currentCheckedOrgNode) { |
5247 | const items = await ConfigurationNodeApi.getSlaveDevice(orgId, deviceId); | 5252 | const items = await ConfigurationNodeApi.getSlaveDevice(orgId, deviceId); |
5248 | - $(`#${enumActionEl.SLAVE_DEVICE_EL}`).find('select').html(UseLayUi.generateOptionTemplate({ dataSource: items })) | 5253 | + $(`#${ enumActionEl.SLAVE_DEVICE_EL }`).find('select').html(UseLayUi.generateOptionTemplate({ dataSource: items })) |
5249 | form.render('select', CONTAINER_FILTER) | 5254 | form.render('select', CONTAINER_FILTER) |
5250 | } | 5255 | } |
5251 | } | 5256 | } |
@@ -5256,7 +5261,7 @@ DataFormatPanel.prototype.addDataFont = function (container) { | @@ -5256,7 +5261,7 @@ DataFormatPanel.prototype.addDataFont = function (container) { | ||
5256 | async function getAttrByDeviceId(tbDeviceId) { | 5261 | async function getAttrByDeviceId(tbDeviceId) { |
5257 | if (tbDeviceId) { | 5262 | if (tbDeviceId) { |
5258 | const [err, res] = await to(ConfigurationNodeApi.getDeviceAttr(tbDeviceId)) | 5263 | const [err, res] = await to(ConfigurationNodeApi.getDeviceAttr(tbDeviceId)) |
5259 | - $(`#${enumActionEl.ATTR_EL}`).find('select').html(UseLayUi.generateOptionTemplate({ dataSource: res })) | 5264 | + $(`#${ enumActionEl.ATTR_EL }`).find('select').html(UseLayUi.generateOptionTemplate({ dataSource: res })) |
5260 | form.render('select', CONTAINER_FILTER) | 5265 | form.render('select', CONTAINER_FILTER) |
5261 | } | 5266 | } |
5262 | } | 5267 | } |
@@ -5276,7 +5281,6 @@ DataFormatPanel.prototype.addDataFont = function (container) { | @@ -5276,7 +5281,6 @@ DataFormatPanel.prototype.addDataFont = function (container) { | ||
5276 | await getNodeBindInfo() | 5281 | await getNodeBindInfo() |
5277 | 5282 | ||
5278 | 5283 | ||
5279 | - | ||
5280 | function echoDataSource() { | 5284 | function echoDataSource() { |
5281 | const { dataSources = [] } = currentNodeData | 5285 | const { dataSources = [] } = currentNodeData |
5282 | const [dataSource = {}] = dataSources | 5286 | const [dataSource = {}] = dataSources |
@@ -5284,21 +5288,19 @@ DataFormatPanel.prototype.addDataFont = function (container) { | @@ -5284,21 +5288,19 @@ DataFormatPanel.prototype.addDataFont = function (container) { | ||
5284 | const queue = [] | 5288 | const queue = [] |
5285 | if (orgId) { | 5289 | if (orgId) { |
5286 | currentCheckedOrgNode = orgId | 5290 | currentCheckedOrgNode = orgId |
5287 | - queue.push(() => getDevicesByOrgId(orgId)) | 5291 | + queue.push(getDevicesByOrgId(orgId)) |
5288 | } | 5292 | } |
5289 | if (slaveDeviceId) { | 5293 | if (slaveDeviceId) { |
5290 | - queue.push(() => { | ||
5291 | - getSlaveDeviceByMasterDeviceId(orgId, deviceId) | ||
5292 | - $(`#${enumActionEl.SLAVE_DEVICE_EL}`).css({ display: 'block' }) | ||
5293 | - }) | ||
5294 | - queue.push(() => getAttrByDeviceId(slaveDeviceId)) | 5294 | + queue.push(getSlaveDeviceByMasterDeviceId(orgId, deviceId)) |
5295 | + $(`#${ enumActionEl.SLAVE_DEVICE_EL }`).css({ display: 'block' }) | ||
5296 | + queue.push(getAttrByDeviceId(slaveDeviceId)) | ||
5295 | } else { | 5297 | } else { |
5296 | - queue.push(() => getAttrByDeviceId(deviceId)) | 5298 | + queue.push(getAttrByDeviceId(deviceId)) |
5297 | } | 5299 | } |
5298 | - Promise.all(queue.map(item => item())) | 5300 | + Promise.all(queue) |
5299 | .finally(() => { | 5301 | .finally(() => { |
5300 | const orgNode = UseLayUi.findTreeObjectByField(treeList, currentCheckedOrgNode) | 5302 | const orgNode = UseLayUi.findTreeObjectByField(treeList, currentCheckedOrgNode) |
5301 | - $(`#${enumActionEl.ORG_EL} input[name="${enumDataSourceConst.ORG_ID}"]`).parent().find('span').html(orgNode?.name) | 5303 | + $(`#${ enumActionEl.ORG_EL } input[name="${ enumDataSourceConst.ORG_ID }"]`).parent().find('span').html(orgNode?.name) |
5302 | form.val(CONTAINER_FILTER, { | 5304 | form.val(CONTAINER_FILTER, { |
5303 | orgId, | 5305 | orgId, |
5304 | deviceId, | 5306 | deviceId, |
@@ -5330,6 +5332,7 @@ DataFormatPanel.prototype.addDataFont = function (container) { | @@ -5330,6 +5332,7 @@ DataFormatPanel.prototype.addDataFont = function (container) { | ||
5330 | $(container).append(fragment) | 5332 | $(container).append(fragment) |
5331 | 5333 | ||
5332 | } | 5334 | } |
5335 | + | ||
5333 | mount() | 5336 | mount() |
5334 | 5337 | ||
5335 | } | 5338 | } |
@@ -5457,7 +5460,6 @@ DataFormatPanel.prototype.addDataFont = function (container) { | @@ -5457,7 +5460,6 @@ DataFormatPanel.prototype.addDataFont = function (container) { | ||
5457 | } | 5460 | } |
5458 | 5461 | ||
5459 | 5462 | ||
5460 | - | ||
5461 | /** | 5463 | /** |
5462 | * @description 所有设备选项 | 5464 | * @description 所有设备选项 |
5463 | * @type {*[]} | 5465 | * @type {*[]} |
@@ -5466,7 +5468,7 @@ DataFormatPanel.prototype.addDataFont = function (container) { | @@ -5466,7 +5468,7 @@ DataFormatPanel.prototype.addDataFont = function (container) { | ||
5466 | 5468 | ||
5467 | let addRowNumber = 0 | 5469 | let addRowNumber = 0 |
5468 | 5470 | ||
5469 | - const getRowFilter = (rowNumber) => `${enumActionEl.ROW_FILTER}${rowNumber}` | 5471 | + const getRowFilter = (rowNumber) => `${ enumActionEl.ROW_FILTER }${ rowNumber }` |
5470 | 5472 | ||
5471 | /** | 5473 | /** |
5472 | * @description 枚举常量 | 5474 | * @description 枚举常量 |
@@ -5502,25 +5504,25 @@ DataFormatPanel.prototype.addDataFont = function (container) { | @@ -5502,25 +5504,25 @@ DataFormatPanel.prototype.addDataFont = function (container) { | ||
5502 | 5504 | ||
5503 | function addRecord() { | 5505 | function addRecord() { |
5504 | const content = ` | 5506 | const content = ` |
5505 | - <tr class="layui-form" lay-filter="${enumActionEl.ROW_FILTER}${addRowNumber}"> | 5507 | + <tr class="layui-form" lay-filter="${ enumActionEl.ROW_FILTER }${ addRowNumber }"> |
5506 | <td> | 5508 | <td> |
5507 | - <select name="${enumConst.DEVICE}" lay-filter="${enumConst.DEVICE}" lay-verType="tips" lay-verify="required"></select> | 5509 | + <select name="${ enumConst.DEVICE }" lay-filter="${ enumConst.DEVICE }" lay-verType="tips" lay-verify="required"></select> |
5508 | </td> | 5510 | </td> |
5509 | <td> | 5511 | <td> |
5510 | - <select name="${enumConst.SLAVE_DEVICE}" lay-filter="${enumConst.SLAVE_DEVICE}" lay-verType="tips"></select> | 5512 | + <select name="${ enumConst.SLAVE_DEVICE }" lay-filter="${ enumConst.SLAVE_DEVICE }" lay-verType="tips"></select> |
5511 | </td> | 5513 | </td> |
5512 | <td> | 5514 | <td> |
5513 | - <select name="${enumConst.ATTR}" lay-verType="tips" lay-verify="required"></select> | 5515 | + <select name="${ enumConst.ATTR }" lay-verType="tips" lay-verify="required"></select> |
5514 | </td> | 5516 | </td> |
5515 | <td> | 5517 | <td> |
5516 | - <textarea name="${enumConst.VALUE}" placeholder="请输入命令" lay-verType="tips" class="layui-textarea" ></textarea> | 5518 | + <textarea name="${ enumConst.VALUE }" placeholder="请输入命令" lay-verType="tips" class="layui-textarea" ></textarea> |
5517 | </td> | 5519 | </td> |
5518 | <td> | 5520 | <td> |
5519 | - <button type="button" class="layui-btn layui-btn-primary layui-border-red ${enumActionEl.DEL_ROW_EL}">删除</button> | 5521 | + <button type="button" class="layui-btn layui-btn-primary layui-border-red ${ enumActionEl.DEL_ROW_EL }">删除</button> |
5520 | </td> | 5522 | </td> |
5521 | </tr> | 5523 | </tr> |
5522 | ` | 5524 | ` |
5523 | - $(`#${enumActionEl.DEVICE_DATA_BODY_EL}`).append(content) | 5525 | + $(`#${ enumActionEl.DEVICE_DATA_BODY_EL }`).append(content) |
5524 | setDeviceOptions(addRowNumber) | 5526 | setDeviceOptions(addRowNumber) |
5525 | form.render('select', getRowFilter(addRowNumber)) | 5527 | form.render('select', getRowFilter(addRowNumber)) |
5526 | addRowNumber++ | 5528 | addRowNumber++ |
@@ -5534,7 +5536,7 @@ DataFormatPanel.prototype.addDataFont = function (container) { | @@ -5534,7 +5536,7 @@ DataFormatPanel.prototype.addDataFont = function (container) { | ||
5534 | const [err, res] = await to(ConfigurationNodeApi.getDeviceAttr(data.value)) | 5536 | const [err, res] = await to(ConfigurationNodeApi.getDeviceAttr(data.value)) |
5535 | if (!res) return | 5537 | if (!res) return |
5536 | const generateOption = UseLayUi.generateOptionTemplate({ dataSource: res }) | 5538 | const generateOption = UseLayUi.generateOptionTemplate({ dataSource: res }) |
5537 | - $(data.elem).parents('tr').find(`select[name="${enumConst.ATTR}"]`).html(generateOption) | 5539 | + $(data.elem).parents('tr').find(`select[name="${ enumConst.ATTR }"]`).html(generateOption) |
5538 | form.render('select') | 5540 | form.render('select') |
5539 | } | 5541 | } |
5540 | 5542 | ||
@@ -5542,20 +5544,20 @@ DataFormatPanel.prototype.addDataFont = function (container) { | @@ -5542,20 +5544,20 @@ DataFormatPanel.prototype.addDataFont = function (container) { | ||
5542 | * @description 选择设备监听事件 | 5544 | * @description 选择设备监听事件 |
5543 | */ | 5545 | */ |
5544 | function createSelectDeviceListenEvent() { | 5546 | function createSelectDeviceListenEvent() { |
5545 | - form.on(`select(${enumConst.DEVICE})`, async (data) => { | 5547 | + form.on(`select(${ enumConst.DEVICE })`, async (data) => { |
5546 | const isGATEWAY = allDeviceOptions.find(item => item.id === data.value)?.deviceType === "GATEWAY" | 5548 | const isGATEWAY = allDeviceOptions.find(item => item.id === data.value)?.deviceType === "GATEWAY" |
5547 | // 网关设备请求子设备 | 5549 | // 网关设备请求子设备 |
5548 | if (isGATEWAY && data.value) { | 5550 | if (isGATEWAY && data.value) { |
5549 | const [err, res] = await to(ConfigurationNodeApi.getSlaveDevice(currentCheckedOrgNode, data.value)) | 5551 | const [err, res] = await to(ConfigurationNodeApi.getSlaveDevice(currentCheckedOrgNode, data.value)) |
5550 | if (!res) return | 5552 | if (!res) return |
5551 | const generateOption = UseLayUi.generateOptionTemplate({ dataSource: res }) | 5553 | const generateOption = UseLayUi.generateOptionTemplate({ dataSource: res }) |
5552 | - $(data.elem).parents('tr').find(`select[name="${enumConst.SLAVE_DEVICE}"]`).html(generateOption) | 5554 | + $(data.elem).parents('tr').find(`select[name="${ enumConst.SLAVE_DEVICE }"]`).html(generateOption) |
5553 | } else { | 5555 | } else { |
5554 | updateVariableOptions(data) | 5556 | updateVariableOptions(data) |
5555 | } | 5557 | } |
5556 | form.render('select') | 5558 | form.render('select') |
5557 | }) | 5559 | }) |
5558 | - form.on(`select(${enumConst.SLAVE_DEVICE})`, (data) => { | 5560 | + form.on(`select(${ enumConst.SLAVE_DEVICE })`, (data) => { |
5559 | updateVariableOptions(data) | 5561 | updateVariableOptions(data) |
5560 | }) | 5562 | }) |
5561 | } | 5563 | } |
@@ -5564,7 +5566,7 @@ DataFormatPanel.prototype.addDataFont = function (container) { | @@ -5564,7 +5566,7 @@ DataFormatPanel.prototype.addDataFont = function (container) { | ||
5564 | * @description 删除行 | 5566 | * @description 删除行 |
5565 | */ | 5567 | */ |
5566 | function createDeleteRowListenEvent() { | 5568 | function createDeleteRowListenEvent() { |
5567 | - $(`.${enumActionEl.DEL_ROW_EL}`).click((event) => { | 5569 | + $(`.${ enumActionEl.DEL_ROW_EL }`).click((event) => { |
5568 | $(event.target).parents('tr').remove() | 5570 | $(event.target).parents('tr').remove() |
5569 | }) | 5571 | }) |
5570 | } | 5572 | } |
@@ -5573,10 +5575,10 @@ DataFormatPanel.prototype.addDataFont = function (container) { | @@ -5573,10 +5575,10 @@ DataFormatPanel.prototype.addDataFont = function (container) { | ||
5573 | * @description 新增行 | 5575 | * @description 新增行 |
5574 | */ | 5576 | */ |
5575 | function createAddRowListenEvent() { | 5577 | function createAddRowListenEvent() { |
5576 | - $(`#${enumActionEl.ADD_ROW_EL}`).click(() => { | 5578 | + $(`#${ enumActionEl.ADD_ROW_EL }`).click(() => { |
5577 | addRecord() | 5579 | addRecord() |
5578 | const generateOption = UseLayUi.generateOptionTemplate({ dataSource: allDeviceOptions }) | 5580 | const generateOption = UseLayUi.generateOptionTemplate({ dataSource: allDeviceOptions }) |
5579 | - $(`#${enumActionEl.DEVICE_DATA_BODY_EL} tr`).last().find(`select[name="${enumConst.DEVICE}"]`).html(generateOption) | 5581 | + $(`#${ enumActionEl.DEVICE_DATA_BODY_EL } tr`).last().find(`select[name="${ enumConst.DEVICE }"]`).html(generateOption) |
5580 | createDeleteRowListenEvent() | 5582 | createDeleteRowListenEvent() |
5581 | form.render('select') | 5583 | form.render('select') |
5582 | }) | 5584 | }) |
@@ -5587,7 +5589,7 @@ DataFormatPanel.prototype.addDataFont = function (container) { | @@ -5587,7 +5589,7 @@ DataFormatPanel.prototype.addDataFont = function (container) { | ||
5587 | */ | 5589 | */ |
5588 | function setDeviceOptions(row) { | 5590 | function setDeviceOptions(row) { |
5589 | const generateOption = UseLayUi.generateOptionTemplate({ dataSource: allDeviceOptions }) | 5591 | const generateOption = UseLayUi.generateOptionTemplate({ dataSource: allDeviceOptions }) |
5590 | - $(`#${enumActionEl.DEVICE_DATA_BODY_EL} tr[lay-filter="${getRowFilter(row)}"]`).find(`select[name="${enumConst.DEVICE}"]`).html(generateOption) | 5592 | + $(`#${ enumActionEl.DEVICE_DATA_BODY_EL } tr[lay-filter="${ getRowFilter(row) }"]`).find(`select[name="${ enumConst.DEVICE }"]`).html(generateOption) |
5591 | } | 5593 | } |
5592 | 5594 | ||
5593 | /** | 5595 | /** |
@@ -5607,7 +5609,7 @@ DataFormatPanel.prototype.addDataFont = function (container) { | @@ -5607,7 +5609,7 @@ DataFormatPanel.prototype.addDataFont = function (container) { | ||
5607 | */ | 5609 | */ |
5608 | function mountSelectOptions(row, key, data) { | 5610 | function mountSelectOptions(row, key, data) { |
5609 | const generateOption = UseLayUi.generateOptionTemplate({ dataSource: data }) | 5611 | const generateOption = UseLayUi.generateOptionTemplate({ dataSource: data }) |
5610 | - $(`#${enumActionEl.DEVICE_DATA_BODY_EL}`).find(`tr[lay-filter="${getRowFilter(row)}"] select[name="${key}"]`).html(generateOption) | 5612 | + $(`#${ enumActionEl.DEVICE_DATA_BODY_EL }`).find(`tr[lay-filter="${ getRowFilter(row) }"] select[name="${ key }"]`).html(generateOption) |
5611 | } | 5613 | } |
5612 | 5614 | ||
5613 | /** | 5615 | /** |
@@ -5688,7 +5690,7 @@ DataFormatPanel.prototype.addDataFont = function (container) { | @@ -5688,7 +5690,7 @@ DataFormatPanel.prototype.addDataFont = function (container) { | ||
5688 | <div class="layui-form-item"> | 5690 | <div class="layui-form-item"> |
5689 | <label class="layui-form-label">事件</label> | 5691 | <label class="layui-form-label">事件</label> |
5690 | <div class="layui-input-block"> | 5692 | <div class="layui-input-block"> |
5691 | - <input type="text" name="event" class="layui-input" value="${enumenumEventType[type]}" disabled> | 5693 | + <input type="text" name="event" class="layui-input" value="${ enumenumEventType[type] }" disabled> |
5692 | </div> | 5694 | </div> |
5693 | </div> | 5695 | </div> |
5694 | <div class="layui-form-item"> | 5696 | <div class="layui-form-item"> |
@@ -5725,10 +5727,10 @@ DataFormatPanel.prototype.addDataFont = function (container) { | @@ -5725,10 +5727,10 @@ DataFormatPanel.prototype.addDataFont = function (container) { | ||
5725 | <th style="text-align:center">操作</th> | 5727 | <th style="text-align:center">操作</th> |
5726 | </tr> | 5728 | </tr> |
5727 | </thead> | 5729 | </thead> |
5728 | - <tbody id="${enumActionEl.DEVICE_DATA_BODY_EL}"></tbody> | 5730 | + <tbody id="${ enumActionEl.DEVICE_DATA_BODY_EL }"></tbody> |
5729 | </table> | 5731 | </table> |
5730 | <div style="display:flex;justify-content:center;"> | 5732 | <div style="display:flex;justify-content:center;"> |
5731 | - <button type="button" class="layui-btn layui-btn-primary layui-border-blue" id="${enumActionEl.ADD_ROW_EL}">添加一条</button> | 5733 | + <button type="button" class="layui-btn layui-btn-primary layui-border-blue" id="${ enumActionEl.ADD_ROW_EL }">添加一条</button> |
5732 | </div> | 5734 | </div> |
5733 | </div> | 5735 | </div> |
5734 | </form>` | 5736 | </form>` |
@@ -5742,7 +5744,7 @@ DataFormatPanel.prototype.addDataFont = function (container) { | @@ -5742,7 +5744,7 @@ DataFormatPanel.prototype.addDataFont = function (container) { | ||
5742 | btn: ["保存", "取消"], | 5744 | btn: ["保存", "取消"], |
5743 | shade: ["0.7", "#fafafa"], | 5745 | shade: ["0.7", "#fafafa"], |
5744 | yes(index) { | 5746 | yes(index) { |
5745 | - form.on(`submit(${enumActionEl.LAYER_SUBMIT_FILTER})`, data => { | 5747 | + form.on(`submit(${ enumActionEl.LAYER_SUBMIT_FILTER })`, data => { |
5746 | submit(() => { | 5748 | submit(() => { |
5747 | layer.close(index) | 5749 | layer.close(index) |
5748 | getNodeBindInfo() | 5750 | getNodeBindInfo() |
@@ -5753,7 +5755,10 @@ DataFormatPanel.prototype.addDataFont = function (container) { | @@ -5753,7 +5755,10 @@ DataFormatPanel.prototype.addDataFont = function (container) { | ||
5753 | return false | 5755 | return false |
5754 | }, | 5756 | }, |
5755 | async success(layero, index) { | 5757 | async success(layero, index) { |
5756 | - $(layero).addClass('layui-form').find('.layui-layer-btn0').attr({ 'lay-submit': '', 'lay-filter': enumActionEl.LAYER_SUBMIT_FILTER }) | 5758 | + $(layero).addClass('layui-form').find('.layui-layer-btn0').attr({ |
5759 | + 'lay-submit': '', | ||
5760 | + 'lay-filter': enumActionEl.LAYER_SUBMIT_FILTER | ||
5761 | + }) | ||
5757 | await getMaterDevice() | 5762 | await getMaterDevice() |
5758 | const info = getLayerBindInfo('event', type) | 5763 | const info = getLayerBindInfo('event', type) |
5759 | if (!info) { | 5764 | if (!info) { |
@@ -5843,8 +5848,8 @@ DataFormatPanel.prototype.addDataFont = function (container) { | @@ -5843,8 +5848,8 @@ DataFormatPanel.prototype.addDataFont = function (container) { | ||
5843 | [enumGetValue[content.type]]: content.value | 5848 | [enumGetValue[content.type]]: content.value |
5844 | } | 5849 | } |
5845 | if (content.type === enumActionType.PAGE) { | 5850 | if (content.type === enumActionType.PAGE) { |
5846 | - $(`#${enumActionEl.PAGE_EL_ID}`).css({ display: 'block' }) | ||
5847 | - $(`#${enumActionEl.LINK_EL_ID}`).css({ display: 'none' }) | 5851 | + $(`#${ enumActionEl.PAGE_EL_ID }`).css({ display: 'block' }) |
5852 | + $(`#${ enumActionEl.LINK_EL_ID }`).css({ display: 'none' }) | ||
5848 | } | 5853 | } |
5849 | form.val(enumActionEl.FORM_FILTER, val) | 5854 | form.val(enumActionEl.FORM_FILTER, val) |
5850 | } | 5855 | } |
@@ -5891,14 +5896,14 @@ DataFormatPanel.prototype.addDataFont = function (container) { | @@ -5891,14 +5896,14 @@ DataFormatPanel.prototype.addDataFont = function (container) { | ||
5891 | } | 5896 | } |
5892 | 5897 | ||
5893 | function generatorEventListen() { | 5898 | function generatorEventListen() { |
5894 | - form.on(`select(${enumActionEl.ACTION_SELECT_FILTER})`, (data) => { | 5899 | + form.on(`select(${ enumActionEl.ACTION_SELECT_FILTER })`, (data) => { |
5895 | const { value } = data | 5900 | const { value } = data |
5896 | if (value === enumActionType.PAGE) { | 5901 | if (value === enumActionType.PAGE) { |
5897 | - $(`#${enumActionEl.LINK_EL_ID}`).css({ display: 'none' }) | ||
5898 | - $(`#${enumActionEl.PAGE_EL_ID}`).css({ display: 'block' }) | 5902 | + $(`#${ enumActionEl.LINK_EL_ID }`).css({ display: 'none' }) |
5903 | + $(`#${ enumActionEl.PAGE_EL_ID }`).css({ display: 'block' }) | ||
5899 | } else if (value === enumActionType.LINK) { | 5904 | } else if (value === enumActionType.LINK) { |
5900 | - $(`#${enumActionEl.PAGE_EL_ID}`).css({ display: 'none' }) | ||
5901 | - $(`#${enumActionEl.LINK_EL_ID}`).css({ display: 'block' }) | 5905 | + $(`#${ enumActionEl.PAGE_EL_ID }`).css({ display: 'none' }) |
5906 | + $(`#${ enumActionEl.LINK_EL_ID }`).css({ display: 'block' }) | ||
5902 | } | 5907 | } |
5903 | }) | 5908 | }) |
5904 | } | 5909 | } |
@@ -5909,33 +5914,33 @@ DataFormatPanel.prototype.addDataFont = function (container) { | @@ -5909,33 +5914,33 @@ DataFormatPanel.prototype.addDataFont = function (container) { | ||
5909 | function createLayerForm(type) { | 5914 | function createLayerForm(type) { |
5910 | 5915 | ||
5911 | const content = ` | 5916 | const content = ` |
5912 | - <form class="layui-form" lay-filter="${enumActionEl.FORM_FILTER}"> | 5917 | + <form class="layui-form" lay-filter="${ enumActionEl.FORM_FILTER }"> |
5913 | <div style="width:400px"> | 5918 | <div style="width:400px"> |
5914 | <div class="layui-form-item"> | 5919 | <div class="layui-form-item"> |
5915 | <label class="layui-form-label">事件</label> | 5920 | <label class="layui-form-label">事件</label> |
5916 | <div class="layui-input-block"> | 5921 | <div class="layui-input-block"> |
5917 | - <input type="text" name="${enumConst.EVENT}" disabled class="layui-input" value="${enumEventType[type]}"> | 5922 | + <input type="text" name="${ enumConst.EVENT }" disabled class="layui-input" value="${ enumEventType[type] }"> |
5918 | </div> | 5923 | </div> |
5919 | </div> | 5924 | </div> |
5920 | <div class="layui-form-item"> | 5925 | <div class="layui-form-item"> |
5921 | <label class="layui-form-label">动作</label> | 5926 | <label class="layui-form-label">动作</label> |
5922 | <div class="layui-input-block"> | 5927 | <div class="layui-input-block"> |
5923 | - <select name="${enumConst.ACTION}" lay-verType="tips" lay-verify="required" lay-filter="${enumActionEl.ACTION_SELECT_FILTER}"> | ||
5924 | - ${generatorActionOptions()} | 5928 | + <select name="${ enumConst.ACTION }" lay-verType="tips" lay-verify="required" lay-filter="${ enumActionEl.ACTION_SELECT_FILTER }"> |
5929 | + ${ generatorActionOptions() } | ||
5925 | </select> | 5930 | </select> |
5926 | </div> | 5931 | </div> |
5927 | </div> | 5932 | </div> |
5928 | - <div class="layui-form-item" id="${enumActionEl.LINK_EL_ID}"> | 5933 | + <div class="layui-form-item" id="${ enumActionEl.LINK_EL_ID }"> |
5929 | <label class="layui-form-label">链接</label> | 5934 | <label class="layui-form-label">链接</label> |
5930 | <div class="layui-input-block"> | 5935 | <div class="layui-input-block"> |
5931 | - <input type="text" lay-verType="tips" name="${enumConst.LINK_VALUE}" class="layui-input"> | 5936 | + <input type="text" lay-verType="tips" name="${ enumConst.LINK_VALUE }" class="layui-input"> |
5932 | </div> | 5937 | </div> |
5933 | </div> | 5938 | </div> |
5934 | - <div class="layui-form-item" id="${enumActionEl.PAGE_EL_ID}" style="display:none"> | 5939 | + <div class="layui-form-item" id="${ enumActionEl.PAGE_EL_ID }" style="display:none"> |
5935 | <label class="layui-form-label">页面</label> | 5940 | <label class="layui-form-label">页面</label> |
5936 | <div class="layui-input-block"> | 5941 | <div class="layui-input-block"> |
5937 | - <select name="${enumConst.PAGE_VALUE}" lay-verType="tips" id="pageSelect"> | ||
5938 | - ${generatorPageOptions()} | 5942 | + <select name="${ enumConst.PAGE_VALUE }" lay-verType="tips" id="pageSelect"> |
5943 | + ${ generatorPageOptions() } | ||
5939 | </select> | 5944 | </select> |
5940 | </div> | 5945 | </div> |
5941 | </div> | 5946 | </div> |
@@ -5951,7 +5956,7 @@ DataFormatPanel.prototype.addDataFont = function (container) { | @@ -5951,7 +5956,7 @@ DataFormatPanel.prototype.addDataFont = function (container) { | ||
5951 | area: ["800px", "500px"], | 5956 | area: ["800px", "500px"], |
5952 | btn: ["保存", "取消"], | 5957 | btn: ["保存", "取消"], |
5953 | yes(index) { | 5958 | yes(index) { |
5954 | - form.on(`submit(${enumActionEl.LAYER_SUBMIT_FILTER})`, data => { | 5959 | + form.on(`submit(${ enumActionEl.LAYER_SUBMIT_FILTER })`, data => { |
5955 | submit(() => { | 5960 | submit(() => { |
5956 | layer.close(index) | 5961 | layer.close(index) |
5957 | getNodeBindInfo() | 5962 | getNodeBindInfo() |
@@ -5962,7 +5967,10 @@ DataFormatPanel.prototype.addDataFont = function (container) { | @@ -5962,7 +5967,10 @@ DataFormatPanel.prototype.addDataFont = function (container) { | ||
5962 | layer.close(index); | 5967 | layer.close(index); |
5963 | }, | 5968 | }, |
5964 | success(layero) { | 5969 | success(layero) { |
5965 | - $(layero).addClass('layui-form').find('.layui-layer-btn0').attr({ 'lay-submit': '', 'lay-filter': enumActionEl.LAYER_SUBMIT_FILTER }) | 5970 | + $(layero).addClass('layui-form').find('.layui-layer-btn0').attr({ |
5971 | + 'lay-submit': '', | ||
5972 | + 'lay-filter': enumActionEl.LAYER_SUBMIT_FILTER | ||
5973 | + }) | ||
5966 | generatorEventListen() | 5974 | generatorEventListen() |
5967 | const info = getLayerBindInfo('event', type) | 5975 | const info = getLayerBindInfo('event', type) |
5968 | form.render(null, enumActionEl.FORM_FILTER) | 5976 | form.render(null, enumActionEl.FORM_FILTER) |
@@ -6004,10 +6012,10 @@ DataFormatPanel.prototype.addDataFont = function (container) { | @@ -6004,10 +6012,10 @@ DataFormatPanel.prototype.addDataFont = function (container) { | ||
6004 | LAYER_SUBMIT_FILTER: 'dynamicEffectLayerFilter' | 6012 | LAYER_SUBMIT_FILTER: 'dynamicEffectLayerFilter' |
6005 | } | 6013 | } |
6006 | 6014 | ||
6007 | - const getRowFilter = (rowNumber) => `${enumActionEl.ROW_FILTER}${rowNumber}` | 6015 | + const getRowFilter = (rowNumber) => `${ enumActionEl.ROW_FILTER }${ rowNumber }` |
6008 | 6016 | ||
6009 | /** | 6017 | /** |
6010 | - * @description | 6018 | + * @description |
6011 | */ | 6019 | */ |
6012 | const enumConst = { | 6020 | const enumConst = { |
6013 | MIN: 'min', | 6021 | MIN: 'min', |
@@ -6042,7 +6050,7 @@ DataFormatPanel.prototype.addDataFont = function (container) { | @@ -6042,7 +6050,7 @@ DataFormatPanel.prototype.addDataFont = function (container) { | ||
6042 | */ | 6050 | */ |
6043 | function generatorOrgTreeSelect() { | 6051 | function generatorOrgTreeSelect() { |
6044 | UseLayUi.createTreeSelect({ | 6052 | UseLayUi.createTreeSelect({ |
6045 | - elem: `#${enumActionEl.ORG_EL}`, | 6053 | + elem: `#${ enumActionEl.ORG_EL }`, |
6046 | layFilter: enumConst.ORG_ID, | 6054 | layFilter: enumConst.ORG_ID, |
6047 | label: '组织', | 6055 | label: '组织', |
6048 | singleUsage: false, | 6056 | singleUsage: false, |
@@ -6066,7 +6074,7 @@ DataFormatPanel.prototype.addDataFont = function (container) { | @@ -6066,7 +6074,7 @@ DataFormatPanel.prototype.addDataFont = function (container) { | ||
6066 | if (res) { | 6074 | if (res) { |
6067 | deviceList = res | 6075 | deviceList = res |
6068 | const template = UseLayUi.generateOptionTemplate({ dataSource: res }) | 6076 | const template = UseLayUi.generateOptionTemplate({ dataSource: res }) |
6069 | - $(`#${enumActionEl.DEVICE_EL} select`).html(template) | 6077 | + $(`#${ enumActionEl.DEVICE_EL } select`).html(template) |
6070 | form.render('select', enumActionEl.FORM_FILTER) | 6078 | form.render('select', enumActionEl.FORM_FILTER) |
6071 | } | 6079 | } |
6072 | } | 6080 | } |
@@ -6078,7 +6086,7 @@ DataFormatPanel.prototype.addDataFont = function (container) { | @@ -6078,7 +6086,7 @@ DataFormatPanel.prototype.addDataFont = function (container) { | ||
6078 | const [err, res] = await to(ConfigurationNodeApi.getSlaveDevice(orgId, id)) | 6086 | const [err, res] = await to(ConfigurationNodeApi.getSlaveDevice(orgId, id)) |
6079 | if (res) { | 6087 | if (res) { |
6080 | const template = UseLayUi.generateOptionTemplate({ dataSource: res }) | 6088 | const template = UseLayUi.generateOptionTemplate({ dataSource: res }) |
6081 | - $(`#${enumActionEl.SLAVE_DEVICE_EL} select`).html(template) | 6089 | + $(`#${ enumActionEl.SLAVE_DEVICE_EL } select`).html(template) |
6082 | form.render('select', enumActionEl.FORM_FILTER) | 6090 | form.render('select', enumActionEl.FORM_FILTER) |
6083 | } | 6091 | } |
6084 | } | 6092 | } |
@@ -6090,7 +6098,7 @@ DataFormatPanel.prototype.addDataFont = function (container) { | @@ -6090,7 +6098,7 @@ DataFormatPanel.prototype.addDataFont = function (container) { | ||
6090 | const [err, res] = await to(ConfigurationNodeApi.getDeviceAttr(id)) | 6098 | const [err, res] = await to(ConfigurationNodeApi.getDeviceAttr(id)) |
6091 | if (res) { | 6099 | if (res) { |
6092 | const template = UseLayUi.generateOptionTemplate({ dataSource: res }) | 6100 | const template = UseLayUi.generateOptionTemplate({ dataSource: res }) |
6093 | - $(`#${enumActionEl.ATTR_EL} select`).html(template) | 6101 | + $(`#${ enumActionEl.ATTR_EL } select`).html(template) |
6094 | // form.render('select') | 6102 | // form.render('select') |
6095 | form.render('select', enumActionEl.FORM_FILTER) | 6103 | form.render('select', enumActionEl.FORM_FILTER) |
6096 | } | 6104 | } |
@@ -6105,7 +6113,7 @@ DataFormatPanel.prototype.addDataFont = function (container) { | @@ -6105,7 +6113,7 @@ DataFormatPanel.prototype.addDataFont = function (container) { | ||
6105 | return ` | 6113 | return ` |
6106 | <div class="layui-form-item" style="margin-bottom: 0px"> | 6114 | <div class="layui-form-item" style="margin-bottom: 0px"> |
6107 | <div class="layui-input-block" style="margin-left: 0px;"> | 6115 | <div class="layui-input-block" style="margin-left: 0px;"> |
6108 | - <select name="${enumConst.TYPE}" lay-verify="required">${template}</select> | 6116 | + <select name="${ enumConst.TYPE }" lay-verify="required">${ template }</select> |
6109 | </div> | 6117 | </div> |
6110 | </div> | 6118 | </div> |
6111 | ` | 6119 | ` |
@@ -6116,21 +6124,21 @@ DataFormatPanel.prototype.addDataFont = function (container) { | @@ -6116,21 +6124,21 @@ DataFormatPanel.prototype.addDataFont = function (container) { | ||
6116 | */ | 6124 | */ |
6117 | function addRecord() { | 6125 | function addRecord() { |
6118 | const content = ` | 6126 | const content = ` |
6119 | - <tr class="layui-form" lay-filter="${getRowFilter(addRowNumber)}"> | ||
6120 | - ${IS_DISPLAY && `<td>${generatorDisplayOptions()}</td>`} | 6127 | + <tr class="layui-form" lay-filter="${ getRowFilter(addRowNumber) }"> |
6128 | + ${ IS_DISPLAY && `<td>${ generatorDisplayOptions() }</td>` } | ||
6121 | <td> | 6129 | <td> |
6122 | - <input lay-verType="tips" lay-verify="required" type="text" name="${enumConst.MIN}" class="layui-input"> | 6130 | + <input lay-verType="tips" lay-verify="required" type="text" name="${ enumConst.MIN }" class="layui-input"> |
6123 | </td> | 6131 | </td> |
6124 | <td> | 6132 | <td> |
6125 | - <input lay-verType="tips" lay-verify="required" type="text" name="${enumConst.MAX}" class="layui-input"> | 6133 | + <input lay-verType="tips" lay-verify="required" type="text" name="${ enumConst.MAX }" class="layui-input"> |
6126 | </td> | 6134 | </td> |
6127 | <td style="text-align: center;"> | 6135 | <td style="text-align: center;"> |
6128 | - <button type="button" class="layui-btn layui-btn-primary layui-border-red ${enumActionEl.DEL_BTN_EL}">删除</button> | 6136 | + <button type="button" class="layui-btn layui-btn-primary layui-border-red ${ enumActionEl.DEL_BTN_EL }">删除</button> |
6129 | </td> | 6137 | </td> |
6130 | </tr> | 6138 | </tr> |
6131 | ` | 6139 | ` |
6132 | addRowNumber++ | 6140 | addRowNumber++ |
6133 | - $(`#${enumActionEl.TABLE_BODY_EL}`).append(content) | 6141 | + $(`#${ enumActionEl.TABLE_BODY_EL }`).append(content) |
6134 | if (IS_DISPLAY) { | 6142 | if (IS_DISPLAY) { |
6135 | // form.render(null, getRowFilter(addRowNumber)) | 6143 | // form.render(null, getRowFilter(addRowNumber)) |
6136 | form.render() | 6144 | form.render() |
@@ -6141,7 +6149,7 @@ DataFormatPanel.prototype.addDataFont = function (container) { | @@ -6141,7 +6149,7 @@ DataFormatPanel.prototype.addDataFont = function (container) { | ||
6141 | * @description 创建添加记录事件 | 6149 | * @description 创建添加记录事件 |
6142 | */ | 6150 | */ |
6143 | function createAddRowListenEvent() { | 6151 | function createAddRowListenEvent() { |
6144 | - $(`#${enumActionEl.ADD_BTN_EL}`).click(() => { | 6152 | + $(`#${ enumActionEl.ADD_BTN_EL }`).click(() => { |
6145 | addRecord() | 6153 | addRecord() |
6146 | createDeleteRowListenEvent() | 6154 | createDeleteRowListenEvent() |
6147 | }) | 6155 | }) |
@@ -6151,7 +6159,7 @@ DataFormatPanel.prototype.addDataFont = function (container) { | @@ -6151,7 +6159,7 @@ DataFormatPanel.prototype.addDataFont = function (container) { | ||
6151 | * @description 创建删除行事件 | 6159 | * @description 创建删除行事件 |
6152 | */ | 6160 | */ |
6153 | function createDeleteRowListenEvent() { | 6161 | function createDeleteRowListenEvent() { |
6154 | - $(`.${enumActionEl.DEL_BTN_EL}`).click((event) => { | 6162 | + $(`.${ enumActionEl.DEL_BTN_EL }`).click((event) => { |
6155 | $(event.target).parents('tr').remove() | 6163 | $(event.target).parents('tr').remove() |
6156 | }) | 6164 | }) |
6157 | } | 6165 | } |
@@ -6160,19 +6168,19 @@ DataFormatPanel.prototype.addDataFont = function (container) { | @@ -6160,19 +6168,19 @@ DataFormatPanel.prototype.addDataFont = function (container) { | ||
6160 | * @description 创建下拉联动事件 | 6168 | * @description 创建下拉联动事件 |
6161 | */ | 6169 | */ |
6162 | function createSelectLinkageListenEvent() { | 6170 | function createSelectLinkageListenEvent() { |
6163 | - form.on(`select(${enumActionEl.DEVICE_EL})`, (data) => { | 6171 | + form.on(`select(${ enumActionEl.DEVICE_EL })`, (data) => { |
6164 | const { value } = data | 6172 | const { value } = data |
6165 | const selected = deviceList.find(item => item.id === value) | 6173 | const selected = deviceList.find(item => item.id === value) |
6166 | if (selected.deviceType === enumConst.GATEWAY) { | 6174 | if (selected.deviceType === enumConst.GATEWAY) { |
6167 | - $(`#${enumActionEl.SLAVE_DEVICE_EL}`).css({ display: 'block' }) | 6175 | + $(`#${ enumActionEl.SLAVE_DEVICE_EL }`).css({ display: 'block' }) |
6168 | getSlaveDeviceByMasterDevice(currentOrgId, selected.id) | 6176 | getSlaveDeviceByMasterDevice(currentOrgId, selected.id) |
6169 | } else { | 6177 | } else { |
6170 | - $(`#${enumActionEl.SLAVE_DEVICE_EL}`).css({ display: 'none' }) | 6178 | + $(`#${ enumActionEl.SLAVE_DEVICE_EL }`).css({ display: 'none' }) |
6171 | getAttrsByDevice(selected.id) | 6179 | getAttrsByDevice(selected.id) |
6172 | } | 6180 | } |
6173 | }) | 6181 | }) |
6174 | 6182 | ||
6175 | - form.on(`select(${enumActionEl.SLAVE_DEVICE_EL})`, (data) => { | 6183 | + form.on(`select(${ enumActionEl.SLAVE_DEVICE_EL })`, (data) => { |
6176 | getAttrsByDevice(data.value) | 6184 | getAttrsByDevice(data.value) |
6177 | }) | 6185 | }) |
6178 | } | 6186 | } |
@@ -6195,16 +6203,16 @@ DataFormatPanel.prototype.addDataFont = function (container) { | @@ -6195,16 +6203,16 @@ DataFormatPanel.prototype.addDataFont = function (container) { | ||
6195 | echoOrgTree(orgId) | 6203 | echoOrgTree(orgId) |
6196 | const queue = [] | 6204 | const queue = [] |
6197 | if (orgId) { | 6205 | if (orgId) { |
6198 | - queue.push(() => getDeviceByOrg(orgId)) | 6206 | + queue.push(getDeviceByOrg(orgId)) |
6199 | } | 6207 | } |
6200 | if (slaveDeviceId) { | 6208 | if (slaveDeviceId) { |
6201 | - $(`#${enumActionEl.SLAVE_DEVICE_EL}`).css({ display: 'block' }) | ||
6202 | - queue.push(() => getSlaveDeviceByMasterDevice(orgId, deviceId)) | ||
6203 | - queue.push(() => getAttrsByDevice(slaveDeviceId)) | 6209 | + $(`#${ enumActionEl.SLAVE_DEVICE_EL }`).css({ display: 'block' }) |
6210 | + queue.push(getSlaveDeviceByMasterDevice(orgId, deviceId)) | ||
6211 | + queue.push(getAttrsByDevice(slaveDeviceId)) | ||
6204 | } else { | 6212 | } else { |
6205 | - queue.push(() => getAttrsByDevice(deviceId)) | 6213 | + queue.push(getAttrsByDevice(deviceId)) |
6206 | } | 6214 | } |
6207 | - Promise.all(queue.map(item => item())).finally(() => { | 6215 | + Promise.all(queue).finally(() => { |
6208 | form.val(enumActionEl.FORM_FILTER, { slaveDeviceId, deviceId, attr, orgId }) | 6216 | form.val(enumActionEl.FORM_FILTER, { slaveDeviceId, deviceId, attr, orgId }) |
6209 | }) | 6217 | }) |
6210 | } | 6218 | } |
@@ -6224,7 +6232,7 @@ DataFormatPanel.prototype.addDataFont = function (container) { | @@ -6224,7 +6232,7 @@ DataFormatPanel.prototype.addDataFont = function (container) { | ||
6224 | */ | 6232 | */ |
6225 | function echoOrgTree(id) { | 6233 | function echoOrgTree(id) { |
6226 | const node = UseLayUi.findTreeObjectByField(treeList, id) | 6234 | const node = UseLayUi.findTreeObjectByField(treeList, id) |
6227 | - $(`#${enumActionEl.ORG_EL}`).find(`input[name="${enumConst.ORG_ID}"]`).parent().find('span').html(node.name) | 6235 | + $(`#${ enumActionEl.ORG_EL }`).find(`input[name="${ enumConst.ORG_ID }"]`).parent().find('span').html(node.name) |
6228 | } | 6236 | } |
6229 | 6237 | ||
6230 | async function submit(callback) { | 6238 | async function submit(callback) { |
@@ -6247,7 +6255,7 @@ DataFormatPanel.prototype.addDataFont = function (container) { | @@ -6247,7 +6255,7 @@ DataFormatPanel.prototype.addDataFont = function (container) { | ||
6247 | 6255 | ||
6248 | function createLayerForm(type) { | 6256 | function createLayerForm(type) { |
6249 | const content = ` | 6257 | const content = ` |
6250 | - <form class="layui-form" lay-filter="${enumActionEl.FORM_FILTER}"> | 6258 | + <form class="layui-form" lay-filter="${ enumActionEl.FORM_FILTER }"> |
6251 | <div style="width:400px"> | 6259 | <div style="width:400px"> |
6252 | <div class="layui-form-item"> | 6260 | <div class="layui-form-item"> |
6253 | <label class="layui-form-label">类型</label> | 6261 | <label class="layui-form-label">类型</label> |
@@ -6257,28 +6265,28 @@ DataFormatPanel.prototype.addDataFont = function (container) { | @@ -6257,28 +6265,28 @@ DataFormatPanel.prototype.addDataFont = function (container) { | ||
6257 | </div> | 6265 | </div> |
6258 | </div> | 6266 | </div> |
6259 | 6267 | ||
6260 | - <div id="${enumActionEl.ORG_EL}">组织</div> | 6268 | + <div id="${ enumActionEl.ORG_EL }">组织</div> |
6261 | 6269 | ||
6262 | - <div class="layui-form-item" id="${enumActionEl.DEVICE_EL}"> | 6270 | + <div class="layui-form-item" id="${ enumActionEl.DEVICE_EL }"> |
6263 | <label class="layui-form-label">设备</label> | 6271 | <label class="layui-form-label">设备</label> |
6264 | <div class="layui-input-block"> | 6272 | <div class="layui-input-block"> |
6265 | - <select name="${enumConst.DEVICE_ID}" lay-verType="tips" lay-verify="required" lay-filter="${enumActionEl.DEVICE_EL}"> | 6273 | + <select name="${ enumConst.DEVICE_ID }" lay-verType="tips" lay-verify="required" lay-filter="${ enumActionEl.DEVICE_EL }"> |
6266 | </select> | 6274 | </select> |
6267 | </div> | 6275 | </div> |
6268 | </div> | 6276 | </div> |
6269 | 6277 | ||
6270 | - <div class="layui-form-item" id="${enumActionEl.SLAVE_DEVICE_EL}" style="display: none"> | 6278 | + <div class="layui-form-item" id="${ enumActionEl.SLAVE_DEVICE_EL }" style="display: none"> |
6271 | <label class="layui-form-label">子设备</label> | 6279 | <label class="layui-form-label">子设备</label> |
6272 | <div class="layui-input-block"> | 6280 | <div class="layui-input-block"> |
6273 | - <select name="${enumConst.SLAVE_DEVICE_ID}" lay-verType="tips" lay-filter="${enumActionEl.SLAVE_DEVICE_EL}"> | 6281 | + <select name="${ enumConst.SLAVE_DEVICE_ID }" lay-verType="tips" lay-filter="${ enumActionEl.SLAVE_DEVICE_EL }"> |
6274 | </select> | 6282 | </select> |
6275 | </div> | 6283 | </div> |
6276 | </div> | 6284 | </div> |
6277 | 6285 | ||
6278 | - <div class="layui-form-item" id="${enumActionEl.ATTR_EL}"> | 6286 | + <div class="layui-form-item" id="${ enumActionEl.ATTR_EL }"> |
6279 | <label class="layui-form-label">属性</label> | 6287 | <label class="layui-form-label">属性</label> |
6280 | <div class="layui-input-block"> | 6288 | <div class="layui-input-block"> |
6281 | - <select name="${enumConst.ATTR}" lay-verType="tips" lay-verify="required" lay-filter="${enumActionEl.ATTR_EL}"></select> | 6289 | + <select name="${ enumConst.ATTR }" lay-verType="tips" lay-verify="required" lay-filter="${ enumActionEl.ATTR_EL }"></select> |
6282 | </div> | 6290 | </div> |
6283 | </div> | 6291 | </div> |
6284 | </div> | 6292 | </div> |
@@ -6286,23 +6294,23 @@ DataFormatPanel.prototype.addDataFont = function (container) { | @@ -6286,23 +6294,23 @@ DataFormatPanel.prototype.addDataFont = function (container) { | ||
6286 | <div> | 6294 | <div> |
6287 | <table class="layui-table" > | 6295 | <table class="layui-table" > |
6288 | <colgroup> | 6296 | <colgroup> |
6289 | - ${IS_DISPLAY ? '<col width="240">' : ''} | 6297 | + ${ IS_DISPLAY ? '<col width="240">' : '' } |
6290 | <col width="240"> | 6298 | <col width="240"> |
6291 | <col width="240"> | 6299 | <col width="240"> |
6292 | <col> | 6300 | <col> |
6293 | </colgroup> | 6301 | </colgroup> |
6294 | <thead> | 6302 | <thead> |
6295 | <tr> | 6303 | <tr> |
6296 | - ${IS_DISPLAY ? '<th style="text-align:center">类型</th>' : ''} | 6304 | + ${ IS_DISPLAY ? '<th style="text-align:center">类型</th>' : '' } |
6297 | <th style="text-align:center">最小值(<=)</th> | 6305 | <th style="text-align:center">最小值(<=)</th> |
6298 | <th style="text-align:center">最大值(>=)</th> | 6306 | <th style="text-align:center">最大值(>=)</th> |
6299 | <th style="text-align:center">操作</th> | 6307 | <th style="text-align:center">操作</th> |
6300 | </tr> | 6308 | </tr> |
6301 | </thead> | 6309 | </thead> |
6302 | - <tbody id="${enumActionEl.TABLE_BODY_EL}"></tbody> | 6310 | + <tbody id="${ enumActionEl.TABLE_BODY_EL }"></tbody> |
6303 | </table> | 6311 | </table> |
6304 | <div style="display:flex;justify-content:center;"> | 6312 | <div style="display:flex;justify-content:center;"> |
6305 | - <button type="button" class="layui-btn layui-btn-primary layui-border-blue" id="${enumActionEl.ADD_BTN_EL}">添加一条</button> | 6313 | + <button type="button" class="layui-btn layui-btn-primary layui-border-blue" id="${ enumActionEl.ADD_BTN_EL }">添加一条</button> |
6306 | </div> | 6314 | </div> |
6307 | </div> | 6315 | </div> |
6308 | ` | 6316 | ` |
@@ -6314,7 +6322,10 @@ DataFormatPanel.prototype.addDataFont = function (container) { | @@ -6314,7 +6322,10 @@ DataFormatPanel.prototype.addDataFont = function (container) { | ||
6314 | btn: ['保存', '取消'], | 6322 | btn: ['保存', '取消'], |
6315 | area: IS_DISPLAY ? '1000px' : '800PX', | 6323 | area: IS_DISPLAY ? '1000px' : '800PX', |
6316 | success(layero) { | 6324 | success(layero) { |
6317 | - $(layero).addClass('layui-form').find('.layui-layer-btn0').attr({ 'lay-submit': '', 'lay-filter': enumActionEl.LAYER_SUBMIT_FILTER }) | 6325 | + $(layero).addClass('layui-form').find('.layui-layer-btn0').attr({ |
6326 | + 'lay-submit': '', | ||
6327 | + 'lay-filter': enumActionEl.LAYER_SUBMIT_FILTER | ||
6328 | + }) | ||
6318 | generatorOrgTreeSelect() | 6329 | generatorOrgTreeSelect() |
6319 | const info = getLayerBindInfo('act', type) | 6330 | const info = getLayerBindInfo('act', type) |
6320 | if (info) { | 6331 | if (info) { |
@@ -6326,7 +6337,7 @@ DataFormatPanel.prototype.addDataFont = function (container) { | @@ -6326,7 +6337,7 @@ DataFormatPanel.prototype.addDataFont = function (container) { | ||
6326 | form.render() | 6337 | form.render() |
6327 | }, | 6338 | }, |
6328 | yes(index) { | 6339 | yes(index) { |
6329 | - form.on(`submit(${enumActionEl.LAYER_SUBMIT_FILTER})`, data => { | 6340 | + form.on(`submit(${ enumActionEl.LAYER_SUBMIT_FILTER })`, data => { |
6330 | submit(() => { | 6341 | submit(() => { |
6331 | layer.close(index) | 6342 | layer.close(index) |
6332 | getNodeBindInfo() | 6343 | getNodeBindInfo() |
@@ -6347,14 +6358,14 @@ DataFormatPanel.prototype.addDataFont = function (container) { | @@ -6347,14 +6358,14 @@ DataFormatPanel.prototype.addDataFont = function (container) { | ||
6347 | setTimeout(() => { | 6358 | setTimeout(() => { |
6348 | 6359 | ||
6349 | // TODO 数据交互事件 | 6360 | // TODO 数据交互事件 |
6350 | - $(`#${enumInteractionType.DOWN}`).click({ type: enumInteractionType.DOWN, }, handleDownOrUpEvent); | ||
6351 | - $(`#${enumInteractionType.UP}`).click({ type: enumInteractionType.UP }, handleDownOrUpEvent); | ||
6352 | - $(`#${enumInteractionType.SINGLE}`).click({ type: enumInteractionType.SINGLE }, handleClickOrDbClick); | ||
6353 | - $(`#${enumInteractionType.DOUBLE}`).click({ type: enumInteractionType.DOUBLE }, handleClickOrDbClick); | 6361 | + $(`#${ enumInteractionType.DOWN }`).click({ type: enumInteractionType.DOWN, }, handleDownOrUpEvent); |
6362 | + $(`#${ enumInteractionType.UP }`).click({ type: enumInteractionType.UP }, handleDownOrUpEvent); | ||
6363 | + $(`#${ enumInteractionType.SINGLE }`).click({ type: enumInteractionType.SINGLE }, handleClickOrDbClick); | ||
6364 | + $(`#${ enumInteractionType.DOUBLE }`).click({ type: enumInteractionType.DOUBLE }, handleClickOrDbClick); | ||
6354 | // 数据动效事件 | 6365 | // 数据动效事件 |
6355 | - $(`#${enumDynamicEffectType.FLASH}`).click({ type: enumDynamicEffectType.FLASH }, handleDataDynamicEffect); | ||
6356 | - $(`#${enumDynamicEffectType.DISPLAY}`).click({ type: enumDynamicEffectType.DISPLAY }, handleDataDynamicEffect); | ||
6357 | - $(`#${enumDynamicEffectType.ROTATE}`).click({ type: enumDynamicEffectType.ROTATE }, handleDataDynamicEffect); | 6366 | + $(`#${ enumDynamicEffectType.FLASH }`).click({ type: enumDynamicEffectType.FLASH }, handleDataDynamicEffect); |
6367 | + $(`#${ enumDynamicEffectType.DISPLAY }`).click({ type: enumDynamicEffectType.DISPLAY }, handleDataDynamicEffect); | ||
6368 | + $(`#${ enumDynamicEffectType.ROTATE }`).click({ type: enumDynamicEffectType.ROTATE }, handleDataDynamicEffect); | ||
6358 | }); | 6369 | }); |
6359 | }; | 6370 | }; |
6360 | 6371 | ||
@@ -6691,9 +6702,9 @@ StyleFormatPanel.prototype.addFill = function (container) { | @@ -6691,9 +6702,9 @@ StyleFormatPanel.prototype.addFill = function (container) { | ||
6691 | var tmpColor = mxUtils.getValue(ss.style, fillKey, null); | 6702 | var tmpColor = mxUtils.getValue(ss.style, fillKey, null); |
6692 | gradientPanel.style.display = | 6703 | gradientPanel.style.display = |
6693 | tmpColor != null && | 6704 | tmpColor != null && |
6694 | - tmpColor != mxConstants.NONE && | ||
6695 | - ss.fill && | ||
6696 | - ss.style.shape != "image" | 6705 | + tmpColor != mxConstants.NONE && |
6706 | + ss.fill && | ||
6707 | + ss.style.shape != "image" | ||
6697 | ? "" | 6708 | ? "" |
6698 | : "none"; | 6709 | : "none"; |
6699 | 6710 | ||
@@ -6755,7 +6766,7 @@ StyleFormatPanel.prototype.addFill = function (container) { | @@ -6755,7 +6766,7 @@ StyleFormatPanel.prototype.addFill = function (container) { | ||
6755 | fillStyleSelect.style.display = ss.style.sketch == "1" ? "" : "none"; | 6766 | fillStyleSelect.style.display = ss.style.sketch == "1" ? "" : "none"; |
6756 | gradientPanel.style.display = | 6767 | gradientPanel.style.display = |
6757 | !ss.containsImage && | 6768 | !ss.containsImage && |
6758 | - (ss.style.sketch != "1" || fillStyle == "solid" || fillStyle == "auto") | 6769 | + (ss.style.sketch != "1" || fillStyle == "solid" || fillStyle == "auto") |
6759 | ? "" | 6770 | ? "" |
6760 | : "none"; | 6771 | : "none"; |
6761 | } | 6772 | } |
@@ -8536,14 +8547,14 @@ StyleFormatPanel.prototype.addStroke = function (container) { | @@ -8536,14 +8547,14 @@ StyleFormatPanel.prototype.addStroke = function (container) { | ||
8536 | edgeStyleDiv.className = | 8547 | edgeStyleDiv.className = |
8537 | "geSprite " + | 8548 | "geSprite " + |
8538 | (mxUtils.getValue(ss.style, mxConstants.STYLE_ELBOW, null) == | 8549 | (mxUtils.getValue(ss.style, mxConstants.STYLE_ELBOW, null) == |
8539 | - "vertical" | 8550 | + "vertical" |
8540 | ? "geSprite-verticalelbow" | 8551 | ? "geSprite-verticalelbow" |
8541 | : "geSprite-horizontalelbow"); | 8552 | : "geSprite-horizontalelbow"); |
8542 | } else if (es == "isometricEdgeStyle") { | 8553 | } else if (es == "isometricEdgeStyle") { |
8543 | edgeStyleDiv.className = | 8554 | edgeStyleDiv.className = |
8544 | "geSprite " + | 8555 | "geSprite " + |
8545 | (mxUtils.getValue(ss.style, mxConstants.STYLE_ELBOW, null) == | 8556 | (mxUtils.getValue(ss.style, mxConstants.STYLE_ELBOW, null) == |
8546 | - "vertical" | 8557 | + "vertical" |
8547 | ? "geSprite-verticalisometric" | 8558 | ? "geSprite-verticalisometric" |
8548 | : "geSprite-horizontalisometric"); | 8559 | : "geSprite-horizontalisometric"); |
8549 | } else { | 8560 | } else { |
@@ -10124,7 +10135,7 @@ class UseLayUi { | @@ -10124,7 +10135,7 @@ class UseLayUi { | ||
10124 | return result === '[object Function]' || result === '[object AsyncFunction]' | 10135 | return result === '[object Function]' || result === '[object AsyncFunction]' |
10125 | } | 10136 | } |
10126 | 10137 | ||
10127 | - static dynamicAttr = (attr, value) => value ? `${attr}="${value}"` : '' | 10138 | + static dynamicAttr = (attr, value) => value ? `${ attr }="${ value }"` : '' |
10128 | 10139 | ||
10129 | /** | 10140 | /** |
10130 | * @description format data source to tree structure | 10141 | * @description format data source to tree structure |
@@ -10193,9 +10204,9 @@ class UseLayUi { | @@ -10193,9 +10204,9 @@ class UseLayUi { | ||
10193 | let { renderFn } = options | 10204 | let { renderFn } = options |
10194 | renderFn = renderFn || ((record) => { | 10205 | renderFn = renderFn || ((record) => { |
10195 | if (typeof record === 'object') { | 10206 | if (typeof record === 'object') { |
10196 | - return `<option value="${record[valueField]}" ${record.disabled ? 'disabled=""' : ''}>${record[labelField]}</option>` | 10207 | + return `<option value="${ record[valueField] }" ${ record.disabled ? 'disabled=""' : '' }>${ record[labelField] }</option>` |
10197 | } else { | 10208 | } else { |
10198 | - return `<option value="${record}">${record}</option>` | 10209 | + return `<option value="${ record }">${ record }</option>` |
10199 | } | 10210 | } |
10200 | }) | 10211 | }) |
10201 | const optionsList = dataSource.map(renderFn) | 10212 | const optionsList = dataSource.map(renderFn) |
@@ -10209,8 +10220,8 @@ class UseLayUi { | @@ -10209,8 +10220,8 @@ class UseLayUi { | ||
10209 | */ | 10220 | */ |
10210 | static createSingleUseFormItem(content, props = '') { | 10221 | static createSingleUseFormItem(content, props = '') { |
10211 | return ` | 10222 | return ` |
10212 | - <div class="layui-form" ${props}> | ||
10213 | - ${content} | 10223 | + <div class="layui-form" ${ props }> |
10224 | + ${ content } | ||
10214 | </div> | 10225 | </div> |
10215 | ` | 10226 | ` |
10216 | } | 10227 | } |
@@ -10272,7 +10283,7 @@ class UseLayUi { | @@ -10272,7 +10283,7 @@ class UseLayUi { | ||
10272 | return dataSource.map(record => renderFn(record)) | 10283 | return dataSource.map(record => renderFn(record)) |
10273 | } | 10284 | } |
10274 | return formatDataSource(dataSource).map(record => { | 10285 | return formatDataSource(dataSource).map(record => { |
10275 | - return `<option value="${record[valueField]}" ${record.disable ? 'disabled=""' : ''}>${record[labelField]}</option>` | 10286 | + return `<option value="${ record[valueField] }" ${ record.disable ? 'disabled=""' : '' }>${ record[labelField] }</option>` |
10276 | }) | 10287 | }) |
10277 | } | 10288 | } |
10278 | 10289 | ||
@@ -10283,7 +10294,7 @@ class UseLayUi { | @@ -10283,7 +10294,7 @@ class UseLayUi { | ||
10283 | } | 10294 | } |
10284 | 10295 | ||
10285 | if (layFilter) { | 10296 | if (layFilter) { |
10286 | - form.on(`select(${layFilter})`, (data) => { | 10297 | + form.on(`select(${ layFilter })`, (data) => { |
10287 | if (onClick && this.isFunction(onClick)) { | 10298 | if (onClick && this.isFunction(onClick)) { |
10288 | onClick(data) | 10299 | onClick(data) |
10289 | } | 10300 | } |
@@ -10291,11 +10302,11 @@ class UseLayUi { | @@ -10291,11 +10302,11 @@ class UseLayUi { | ||
10291 | } | 10302 | } |
10292 | 10303 | ||
10293 | let template = ` | 10304 | let template = ` |
10294 | - <div class="layui-form-item ${className}"> | ||
10295 | - <label class="layui-form-label">${label}</label> | 10305 | + <div class="layui-form-item ${ className }"> |
10306 | + <label class="layui-form-label">${ label }</label> | ||
10296 | <div class="layui-input-block"> | 10307 | <div class="layui-input-block"> |
10297 | - <select name="${layFilter}" ${this.dynamicAttr('lay-filter', layFilter)} ${this.dynamicAttr('lay-verify', layVerify)}> | ||
10298 | - ${generateOptionTemplate(dataSource)} | 10308 | + <select name="${ layFilter }" ${ this.dynamicAttr('lay-filter', layFilter) } ${ this.dynamicAttr('lay-verify', layVerify) }> |
10309 | + ${ generateOptionTemplate(dataSource) } | ||
10299 | </select> | 10310 | </select> |
10300 | </div> | 10311 | </div> |
10301 | </div>` | 10312 | </div>` |
@@ -10357,18 +10368,18 @@ class UseLayUi { | @@ -10357,18 +10368,18 @@ class UseLayUi { | ||
10357 | let { data = [], click, onReady } = treeProps | 10368 | let { data = [], click, onReady } = treeProps |
10358 | 10369 | ||
10359 | let template = ` | 10370 | let template = ` |
10360 | - <div class="layui-form-item ${CLASS_NAME} ${className}"> | ||
10361 | - <label class="layui-form-label">${label}</label> | 10371 | + <div class="layui-form-item ${ CLASS_NAME } ${ className }"> |
10372 | + <label class="layui-form-label">${ label }</label> | ||
10362 | <div class="layui-input-block"> | 10373 | <div class="layui-input-block"> |
10363 | - <div class="layui-unselect layui-form-select ${SELECT_CLS}"> | 10374 | + <div class="layui-unselect layui-form-select ${ SELECT_CLS }"> |
10364 | <div class="layui-select-title"> | 10375 | <div class="layui-select-title"> |
10365 | <span class="layui-input layui-unselect">请选择</span> | 10376 | <span class="layui-input layui-unselect">请选择</span> |
10366 | - <input type="hidden" name="${layFilter}"> | 10377 | + <input type="hidden" name="${ layFilter }"> |
10367 | <i class="layui-edge"></i> | 10378 | <i class="layui-edge"></i> |
10368 | </div> | 10379 | </div> |
10369 | <dl class="layui-anim layui-anim-upbit"> | 10380 | <dl class="layui-anim layui-anim-upbit"> |
10370 | <dd> | 10381 | <dd> |
10371 | - <ul id="${layFilter}"></ul> | 10382 | + <ul id="${ layFilter }"></ul> |
10372 | </dd> | 10383 | </dd> |
10373 | </dl> | 10384 | </dl> |
10374 | </div> | 10385 | </div> |
@@ -10386,7 +10397,7 @@ class UseLayUi { | @@ -10386,7 +10397,7 @@ class UseLayUi { | ||
10386 | $(elem) | 10397 | $(elem) |
10387 | .find('.layui-form-select').removeClass('layui-form-selected').end() | 10398 | .find('.layui-form-select').removeClass('layui-form-selected').end() |
10388 | .find(".layui-select-title span").html(title).end() | 10399 | .find(".layui-select-title span").html(title).end() |
10389 | - .find(`input:hidden[name='${layFilter}']`).val(id); | 10400 | + .find(`input:hidden[name='${ layFilter }']`).val(id); |
10390 | } | 10401 | } |
10391 | 10402 | ||
10392 | // init mount | 10403 | // init mount |
@@ -10399,7 +10410,7 @@ class UseLayUi { | @@ -10399,7 +10410,7 @@ class UseLayUi { | ||
10399 | tree.render({ | 10410 | tree.render({ |
10400 | ...treeProps, | 10411 | ...treeProps, |
10401 | ...(autoFormatDataSource ? { data: UseLayUi.formatTreeDataSource(data, customSetTree, valueField, labelField, childrenField) } : {}), | 10412 | ...(autoFormatDataSource ? { data: UseLayUi.formatTreeDataSource(data, customSetTree, valueField, labelField, childrenField) } : {}), |
10402 | - elem: $(elem).find(`#${layFilter}`), | 10413 | + elem: $(elem).find(`#${ layFilter }`), |
10403 | click(node) { | 10414 | click(node) { |
10404 | setValue(node.data) | 10415 | setValue(node.data) |
10405 | if (UseLayUi.isFunction(click)) click(node) | 10416 | if (UseLayUi.isFunction(click)) click(node) |
@@ -10407,10 +10418,10 @@ class UseLayUi { | @@ -10407,10 +10418,10 @@ class UseLayUi { | ||
10407 | }) | 10418 | }) |
10408 | 10419 | ||
10409 | // focus | 10420 | // focus |
10410 | - $(`.${SELECT_CLS}`) | 10421 | + $(`.${ SELECT_CLS }`) |
10411 | .on("click", ".layui-select-title", function (e) { | 10422 | .on("click", ".layui-select-title", function (e) { |
10412 | $(".layui-form-select").not($(this).parents(".layui-form-select")).removeClass("layui-form-selected"); | 10423 | $(".layui-form-select").not($(this).parents(".layui-form-select")).removeClass("layui-form-selected"); |
10413 | - $(this).parents(`.${SELECT_CLS}`).toggleClass("layui-form-selected"); | 10424 | + $(this).parents(`.${ SELECT_CLS }`).toggleClass("layui-form-selected"); |
10414 | layui.stope(e); | 10425 | layui.stope(e); |
10415 | }) | 10426 | }) |
10416 | .on('click', '.layui-anim', (e) => { | 10427 | .on('click', '.layui-anim', (e) => { |
@@ -10428,7 +10439,7 @@ class UseLayUi { | @@ -10428,7 +10439,7 @@ class UseLayUi { | ||
10428 | if (!parentNode) return | 10439 | if (!parentNode) return |
10429 | const showClose = UseLayUi.isInNode(parentNode, target, true) | 10440 | const showClose = UseLayUi.isInNode(parentNode, target, true) |
10430 | if (showClose) return | 10441 | if (showClose) return |
10431 | - $(`.${SELECT_CLS}`).removeClass("layui-form-selected") | 10442 | + $(`.${ SELECT_CLS }`).removeClass("layui-form-selected") |
10432 | }); | 10443 | }); |
10433 | 10444 | ||
10434 | if (UseLayUi.isFunction(onReady)) { | 10445 | if (UseLayUi.isFunction(onReady)) { |
@@ -10465,21 +10476,21 @@ class UseLayUi { | @@ -10465,21 +10476,21 @@ class UseLayUi { | ||
10465 | function createOptions(dataSource) { | 10476 | function createOptions(dataSource) { |
10466 | return dataSource.map((record) => { | 10477 | return dataSource.map((record) => { |
10467 | return `<input | 10478 | return `<input |
10468 | - type="checkbox" lay-skin="${laySkin}" | ||
10469 | - ${UseLayUi.dynamicAttr('name', record[valueField])} | ||
10470 | - ${UseLayUi.dynamicAttr('title', record[labelField])} | ||
10471 | - ${UseLayUi.dynamicAttr('lay-filter', layFilter)} | ||
10472 | - ${UseLayUi.dynamicAttr('lay-verify', layVerify)} | ||
10473 | - ${UseLayUi.dynamicAttr('checked', record[checkedField])} | 10479 | + type="checkbox" lay-skin="${ laySkin }" |
10480 | + ${ UseLayUi.dynamicAttr('name', record[valueField]) } | ||
10481 | + ${ UseLayUi.dynamicAttr('title', record[labelField]) } | ||
10482 | + ${ UseLayUi.dynamicAttr('lay-filter', layFilter) } | ||
10483 | + ${ UseLayUi.dynamicAttr('lay-verify', layVerify) } | ||
10484 | + ${ UseLayUi.dynamicAttr('checked', record[checkedField]) } | ||
10474 | >` | 10485 | >` |
10475 | }) | 10486 | }) |
10476 | } | 10487 | } |
10477 | 10488 | ||
10478 | let template = ` | 10489 | let template = ` |
10479 | - <div class="layui-form-item ${CLASS_NAME}" > | ||
10480 | - <label class="layui-form-label">${label}</label> | 10490 | + <div class="layui-form-item ${ CLASS_NAME }" > |
10491 | + <label class="layui-form-label">${ label }</label> | ||
10481 | <div class="layui-input-block"> | 10492 | <div class="layui-input-block"> |
10482 | - ${createOptions(dataSource).join('')} | 10493 | + ${ createOptions(dataSource).join('') } |
10483 | </div> | 10494 | </div> |
10484 | </div> | 10495 | </div> |
10485 | ` | 10496 | ` |
@@ -10489,7 +10500,7 @@ class UseLayUi { | @@ -10489,7 +10500,7 @@ class UseLayUi { | ||
10489 | if (!elem) return template | 10500 | if (!elem) return template |
10490 | $(elem).empty() | 10501 | $(elem).empty() |
10491 | $(elem).append(template) | 10502 | $(elem).append(template) |
10492 | - form.on(`checkbox(${layFilter})`, (data) => { | 10503 | + form.on(`checkbox(${ layFilter })`, (data) => { |
10493 | onChange && (onChange(data)) | 10504 | onChange && (onChange(data)) |
10494 | }) | 10505 | }) |
10495 | form.render() | 10506 | form.render() |
@@ -10572,6 +10583,64 @@ function to(promise, errorExt) { | @@ -10572,6 +10583,64 @@ function to(promise, errorExt) { | ||
10572 | } | 10583 | } |
10573 | 10584 | ||
10574 | 10585 | ||
10586 | +class EventCenter { | ||
10587 | + | ||
10588 | + /** | ||
10589 | + * @description 调度中心 | ||
10590 | + * @type {Map<string, Function[]>} | ||
10591 | + */ | ||
10592 | + eventStack | ||
10593 | + | ||
10594 | + /** | ||
10595 | + * @description 实例化EventCenter | ||
10596 | + */ | ||
10597 | + constructor() { | ||
10598 | + this.eventStack = new Map() | ||
10599 | + } | ||
10600 | + | ||
10601 | + /** | ||
10602 | + * @description 监听事件 | ||
10603 | + * @param {string | number} eventName - 事件名 | ||
10604 | + * @param {Function} callback - 事件处理方法 | ||
10605 | + */ | ||
10606 | + on(eventName, callback) { | ||
10607 | + if (this.eventStack.has(eventName)) { | ||
10608 | + this.eventStack.get(eventName).push(callback) | ||
10609 | + return | ||
10610 | + } | ||
10611 | + this.eventStack.set(eventName, [callback]) | ||
10612 | + } | ||
10613 | + | ||
10614 | + /** | ||
10615 | + * @description 触发事件 | ||
10616 | + * @param {string | number} eventName - 事件名 | ||
10617 | + * @param {any} args - 参数 | ||
10618 | + */ | ||
10619 | + emit(eventName, ...args) { | ||
10620 | + if (this.eventStack.has(eventName)) | ||
10621 | + this.eventStack.get(eventName).forEach(fn => fn(...args)) | ||
10622 | + | ||
10623 | + } | ||
10624 | + | ||
10625 | + /** | ||
10626 | + * @description 移除事件 | ||
10627 | + * @param {string} eventName - 时间名 | ||
10628 | + */ | ||
10629 | + off(eventName) { | ||
10630 | + if (this.eventStack.has(eventName)) | ||
10631 | + this.eventStack.delete(eventName) | ||
10632 | + } | ||
10633 | + | ||
10634 | + /** | ||
10635 | + * @description 清除事件 | ||
10636 | + */ | ||
10637 | + clean(eventName) { | ||
10638 | + this.eventStack.clear() | ||
10639 | + } | ||
10640 | + | ||
10641 | + | ||
10642 | +} | ||
10643 | + | ||
10575 | class Ws { | 10644 | class Ws { |
10576 | /** | 10645 | /** |
10577 | * @description url 连接地址 | 10646 | * @description url 连接地址 |
@@ -10584,6 +10653,36 @@ class Ws { | @@ -10584,6 +10653,36 @@ class Ws { | ||
10584 | protocols | 10653 | protocols |
10585 | 10654 | ||
10586 | /** | 10655 | /** |
10656 | + * @description socket open时 拓展 | ||
10657 | + * @type {Function} | ||
10658 | + * @param {Ws} instance - 实例 | ||
10659 | + */ | ||
10660 | + onopenCallback | ||
10661 | + | ||
10662 | + /** | ||
10663 | + * @description socket error时 拓展 | ||
10664 | + * @type {Function} | ||
10665 | + * @param {Ws} instance - 实例 | ||
10666 | + */ | ||
10667 | + onerrorCallback | ||
10668 | + | ||
10669 | + /** | ||
10670 | + * @description socket close时 拓展 | ||
10671 | + * @type {Function} | ||
10672 | + * @param {Ws} instance - 实例 | ||
10673 | + */ | ||
10674 | + oncloseCallback | ||
10675 | + | ||
10676 | + /** | ||
10677 | + * @description socket message时 拓展 | ||
10678 | + * @type {Function} | ||
10679 | + * @param {object} data - event.data message数据 | ||
10680 | + * @param {MessageEvent} event - event 事件对象 | ||
10681 | + * @param {Ws} instance - Ws 实例 | ||
10682 | + */ | ||
10683 | + onmessageCallback | ||
10684 | + | ||
10685 | + /** | ||
10587 | * @description socket 实例 | 10686 | * @description socket 实例 |
10588 | * @type {WebSocket} | 10687 | * @type {WebSocket} |
10589 | */ | 10688 | */ |
@@ -10613,13 +10712,28 @@ class Ws { | @@ -10613,13 +10712,28 @@ class Ws { | ||
10613 | errorStack = [] | 10712 | errorStack = [] |
10614 | 10713 | ||
10615 | /** | 10714 | /** |
10715 | + * @description 实例 | ||
10716 | + */ | ||
10717 | + static instance | ||
10718 | + | ||
10719 | + /** | ||
10616 | * @description 创建websocket实例 | 10720 | * @description 创建websocket实例 |
10617 | - * @params {string} url - 连接路径 | ||
10618 | - * @params {string} protocols - 协议 | 10721 | + * @param {string} option.url - 连接路径 |
10722 | + * @param {string} [option.protocols] option.protocols - 协议 | ||
10723 | + * @param {Function} [option.onopenCallback] option.onopenCallback - socket open时 拓展 | ||
10724 | + * @param {Function} [option.onerrorCallback] option.onerrorCallback - socket error时 拓展 | ||
10725 | + * @param {Function} [option.oncloseCallback] option.oncloseCallback - socket close时 拓展 | ||
10726 | + * @param {Function} [option.onmessageCallback] option.onmessageCallback - socket message时 拓展 | ||
10619 | */ | 10727 | */ |
10620 | - constructor(url, protocols) { | 10728 | + constructor(option) { |
10729 | + const { url, protocols, onopenCallback, onerrorCallback, oncloseCallback, onmessageCallback } = option | ||
10730 | + if (!url) throw new Error('param url in Ws constructor is required') | ||
10621 | this.url = url | 10731 | this.url = url |
10622 | this.protocols = protocols | 10732 | this.protocols = protocols |
10733 | + this.onopenCallback = onopenCallback | ||
10734 | + this.onerrorCallback = onerrorCallback | ||
10735 | + this.oncloseCallback = oncloseCallback | ||
10736 | + this.onmessageCallback = onmessageCallback | ||
10623 | this.createWs() | 10737 | this.createWs() |
10624 | } | 10738 | } |
10625 | 10739 | ||
@@ -10639,12 +10753,12 @@ class Ws { | @@ -10639,12 +10753,12 @@ class Ws { | ||
10639 | */ | 10753 | */ |
10640 | onopen() { | 10754 | onopen() { |
10641 | this.ws.onopen = () => { | 10755 | this.ws.onopen = () => { |
10642 | - console.log(this.ws, 'onopen') | ||
10643 | this.errorStack.forEach(message => { | 10756 | this.errorStack.forEach(message => { |
10644 | this.send(message) | 10757 | this.send(message) |
10645 | }) | 10758 | }) |
10646 | this.errorStack = [] | 10759 | this.errorStack = [] |
10647 | this.isReconnectionLoading = false | 10760 | this.isReconnectionLoading = false |
10761 | + if (typeof this.onopenCallback === 'function') this.onopenCallback(this) | ||
10648 | } | 10762 | } |
10649 | } | 10763 | } |
10650 | 10764 | ||
@@ -10653,9 +10767,9 @@ class Ws { | @@ -10653,9 +10767,9 @@ class Ws { | ||
10653 | */ | 10767 | */ |
10654 | onerror() { | 10768 | onerror() { |
10655 | this.ws.onerror = (err) => { | 10769 | this.ws.onerror = (err) => { |
10656 | - console.log(err, 'onerror') | ||
10657 | this.reconnection() | 10770 | this.reconnection() |
10658 | this.isReconnectionLoading = false | 10771 | this.isReconnectionLoading = false |
10772 | + if (typeof this.onerrorCallback === 'function') this.onerrorCallback(this) | ||
10659 | } | 10773 | } |
10660 | } | 10774 | } |
10661 | 10775 | ||
@@ -10664,24 +10778,27 @@ class Ws { | @@ -10664,24 +10778,27 @@ class Ws { | ||
10664 | */ | 10778 | */ |
10665 | onclose() { | 10779 | onclose() { |
10666 | this.ws.onclose = () => { | 10780 | this.ws.onclose = () => { |
10667 | - console.log('onclose') | ||
10668 | if (this.isCustomClose) return | 10781 | if (this.isCustomClose) return |
10669 | 10782 | ||
10670 | this.reconnection() | 10783 | this.reconnection() |
10671 | this.isReconnectionLoading = false | 10784 | this.isReconnectionLoading = false |
10785 | + | ||
10786 | + if (typeof this.oncloseCallback === 'function') this.oncloseCallback(this) | ||
10672 | } | 10787 | } |
10673 | } | 10788 | } |
10674 | 10789 | ||
10675 | /** | 10790 | /** |
10676 | * @description 接受消息 | 10791 | * @description 接受消息 |
10677 | */ | 10792 | */ |
10678 | - async onmessage() { | 10793 | + onmessage() { |
10679 | this.ws.onmessage = (event) => { | 10794 | this.ws.onmessage = (event) => { |
10680 | try { | 10795 | try { |
10681 | const data = JSON.parse(event.data) | 10796 | const data = JSON.parse(event.data) |
10682 | - this.eventCenter.emit(data.type, data.data) | 10797 | + if (typeof this.onmessageCallback === 'function') this.onmessageCallback(data, event, this) |
10798 | + | ||
10683 | } catch (error) { | 10799 | } catch (error) { |
10684 | - console.log(error, 'error') | 10800 | + // throw new Error(error) |
10801 | + console.error(error) | ||
10685 | } | 10802 | } |
10686 | } | 10803 | } |
10687 | } | 10804 | } |
@@ -10696,7 +10813,7 @@ class Ws { | @@ -10696,7 +10813,7 @@ class Ws { | ||
10696 | clearTimeout(this.timeId) | 10813 | clearTimeout(this.timeId) |
10697 | this.timeId = setTimeout(() => { | 10814 | this.timeId = setTimeout(() => { |
10698 | this.createWs() | 10815 | this.createWs() |
10699 | - }, 10000) | 10816 | + }, 60000) |
10700 | } | 10817 | } |
10701 | 10818 | ||
10702 | /** | 10819 | /** |
@@ -10734,93 +10851,290 @@ class Ws { | @@ -10734,93 +10851,290 @@ class Ws { | ||
10734 | this.close() | 10851 | this.close() |
10735 | this.ws = null | 10852 | this.ws = null |
10736 | this.errorStack = null | 10853 | this.errorStack = null |
10737 | - this.eventCenter = null | 10854 | + } |
10855 | + | ||
10856 | + /** | ||
10857 | + * @description 单例模式 | ||
10858 | + * @param {string} option.url - 连接路径 | ||
10859 | + * @param {string} [option.protocols] option.protocols - 协议 | ||
10860 | + * @param {Function} [option.onopenCallback] option.onopenCallback - socket open时 拓展 | ||
10861 | + * @param {Function} [option.onerrorCallback] option.onerrorCallback - socket error时 拓展 | ||
10862 | + * @param {Function} [option.oncloseCallback] option.oncloseCallback - socket close时 拓展 | ||
10863 | + * @param {Function} [option.onmessageCallback] option.onmessageCallback - socket message时 拓展 | ||
10864 | + * @return {Ws} instance | ||
10865 | + */ | ||
10866 | + static getInstance(option) { | ||
10867 | + if (!this.instance) { | ||
10868 | + this.instance = new Ws(option) | ||
10869 | + } | ||
10870 | + return this.instance | ||
10738 | } | 10871 | } |
10739 | } | 10872 | } |
10740 | 10873 | ||
10874 | +/** | ||
10875 | + * @description 切换页面时触发 /src/main/webapp/js/diagramly/Pages.js row: 461 | ||
10876 | + * @param editorUi | ||
10877 | + * @param currentPage | ||
10878 | + */ | ||
10879 | +function previewAction(editorUi, currentPage) { | ||
10880 | + if (!editorUi.editor.graph.isLightboxView()) return | ||
10881 | + DispatchCenter.getInstance(editorUi, currentPage) | ||
10741 | 10882 | ||
10742 | -class EventCenter { | 10883 | + /** |
10884 | + * @description 编辑模式下editor对象的editable为true | ||
10885 | + * @param editorUi | ||
10886 | + * @return {boolean} | ||
10887 | + */ | ||
10888 | + function isPreviewMode(editorUi = {}) { | ||
10889 | + const { editor: { editable } = {} } = editorUi | ||
10890 | + return !!editable | ||
10891 | + } | ||
10892 | +} | ||
10893 | + | ||
10894 | + | ||
10895 | +/** | ||
10896 | + * @description 调度中心 | ||
10897 | + */ | ||
10898 | +class DispatchCenter { | ||
10743 | 10899 | ||
10744 | /** | 10900 | /** |
10745 | - * @description 调度中心 | ||
10746 | - * @type {Map<string, Function[]} | 10901 | + * @description 节点映射 |
10902 | + * @type {Map<string, object>} | ||
10747 | */ | 10903 | */ |
10748 | - eventStack | 10904 | + nodeMapping |
10749 | 10905 | ||
10750 | /** | 10906 | /** |
10751 | - * @description | 10907 | + * @description 当前页信息 |
10752 | */ | 10908 | */ |
10753 | - constructor() { | ||
10754 | - this.eventStack = new Map() | ||
10755 | - } | 10909 | + currentPage |
10756 | 10910 | ||
10757 | /** | 10911 | /** |
10758 | - * @description 监听事件 | 10912 | + * @description 当前页中的所有cell |
10759 | */ | 10913 | */ |
10760 | - on(eventName, callback) { | ||
10761 | - if (this.eventStack.has(eventName)) { | ||
10762 | - this.eventStack.get(eventName).push(callback) | ||
10763 | - return | ||
10764 | - } | ||
10765 | - this.eventStack.set(eventName, [callback]) | ||
10766 | - } | 10914 | + contentAllCell |
10767 | 10915 | ||
10768 | /** | 10916 | /** |
10769 | - * @description 触发事件 | 10917 | + * @description 图源信息 |
10770 | */ | 10918 | */ |
10771 | - emit(eventName, ...args) { | ||
10772 | - if (this.eventStack.has(eventName)) | ||
10773 | - this.eventStack.get(eventName).forEach(fn => fn(...args)) | 10919 | + graph |
10774 | 10920 | ||
10775 | - } | 10921 | + /** |
10922 | + * @description socket instance | ||
10923 | + * @type {Ws} | ||
10924 | + */ | ||
10925 | + socket | ||
10776 | 10926 | ||
10777 | /** | 10927 | /** |
10778 | - * @description 移除事件 | 10928 | + * @description 事件总线 |
10929 | + * @type {EventCenter} | ||
10779 | */ | 10930 | */ |
10780 | - off(eventName) { | ||
10781 | - if (this.eventStack.has(eventName)) | ||
10782 | - this.eventStack.delete(eventName) | 10931 | + eventBus |
10932 | + | ||
10933 | + /** | ||
10934 | + * @description 当前实例 | ||
10935 | + */ | ||
10936 | + static instance | ||
10937 | + | ||
10938 | + /** | ||
10939 | + * @description 原页面ID 原页面content id | ||
10940 | + */ | ||
10941 | + static rawContentId | ||
10942 | + | ||
10943 | + constructor(editorUi, currentPage) { | ||
10944 | + this.nodeMapping = new Map() | ||
10945 | + this.init(editorUi, currentPage) | ||
10783 | } | 10946 | } |
10784 | 10947 | ||
10785 | /** | 10948 | /** |
10786 | - * @description 清除事件 | 10949 | + * @description 初始化实例 |
10950 | + * @param editorUi | ||
10951 | + * @param currentPage | ||
10787 | */ | 10952 | */ |
10788 | - clean(eventName) { | ||
10789 | - this.eventStack.clear() | 10953 | + init(editorUi, currentPage) { |
10954 | + this.createEventBus() | ||
10955 | + this.saveContentInfo(editorUi, currentPage) | ||
10956 | + // this.createGraphEventListener() | ||
10957 | + this.connectSocket() | ||
10958 | + this.getContentDataNode() | ||
10790 | } | 10959 | } |
10791 | 10960 | ||
10961 | + /** | ||
10962 | + * @description 建立socket连接 | ||
10963 | + */ | ||
10964 | + connectSocket() { | ||
10965 | + const GLOBAL_TOKEN = JSON.parse(localStorage.getItem("UNDEFINED__DEVELOPMENT__2.7.1__COMMON__LOCAL__KEY__")).value.JWT_TOKEN.value | ||
10792 | 10966 | ||
10793 | -} | 10967 | + // const { host, href } = location |
10968 | + // const reg = /^https/ | ||
10969 | + // const wsUrl = `${reg.test(href) ? 'wss' : 'ws'}://${host}/api/ws/plugins/telemetry?token=${GLOBAL_TOKEN}` | ||
10794 | 10970 | ||
10971 | + const wsUrl = `ws://47.99.141.212:8080/api/ws/plugins/telemetry?token=${ GLOBAL_TOKEN }` | ||
10972 | + // const wsUrl = `ws://192.168.10.115:8080/api/ws/plugins/telemetry?token=${GLOBAL_TOKEN}` | ||
10795 | 10973 | ||
10796 | -// TODO preview action | ||
10797 | -function previewAction() { | 10974 | + this.socket = Ws.getInstance({ url: wsUrl, onmessageCallback: this.socketOnmessage }) |
10975 | + } | ||
10798 | 10976 | ||
10799 | - setTimeout(() => { | ||
10800 | - console.dir(GLOBAL_EDITOR_UI) | ||
10801 | - }, 5000); | 10977 | + /** |
10978 | + * @description 处理webSocket消息 | ||
10979 | + * @param message | ||
10980 | + * @param event | ||
10981 | + * @param ws | ||
10982 | + */ | ||
10983 | + socketOnmessage(message, event, ws) { | ||
10984 | + const { subscriptionId, data } = message | ||
10985 | + DispatchCenter.instance.publishEvent(subscriptionId, data) | ||
10986 | + } | ||
10987 | + | ||
10988 | + /** | ||
10989 | + * @description 创建事件中心 | ||
10990 | + */ | ||
10991 | + createEventBus() { | ||
10992 | + this.eventBus = new EventCenter() | ||
10993 | + } | ||
10802 | 10994 | ||
10803 | - function getContentInfo() { | 10995 | + /** |
10996 | + * @description 创建图层事件监听器 | ||
10997 | + */ | ||
10998 | + createGraphEventListener() { | ||
10999 | + console.log(mxEvent) | ||
11000 | + // this.graph.addListener(mxEvent.MOUSE_DOWN, (sender, event) => { | ||
11001 | + // console.log('down') | ||
11002 | + // console.log(event) | ||
11003 | + // console.log(sender) | ||
11004 | + // }) | ||
11005 | + // this.graph.addListener(mxEvent.MOUSE_UP, (sender, event) => { | ||
11006 | + // console.log('up') | ||
11007 | + // console.log(event) | ||
11008 | + // console.log(sender) | ||
11009 | + // }) | ||
11010 | + console.log(this.contentAllCell) | ||
11011 | + const node = this.contentAllCell.find(item => item.id === "xu8fz6ypefe3Lfq39emV-10") | ||
11012 | + console.log(node) | ||
11013 | + // node.addListener(mxEvent.CLICK, (sender, event) => { | ||
11014 | + // console.log('click') | ||
11015 | + // console.log(event) | ||
11016 | + // console.log(sender) | ||
11017 | + // }) | ||
11018 | + // this.graph.addListener(mxEvent.DOUBLE_CLICK, (sender, event) => { | ||
11019 | + // console.log('double click') | ||
11020 | + // console.log(event) | ||
11021 | + // console.log(sender) | ||
11022 | + // }) | ||
11023 | + } | ||
10804 | 11024 | ||
11025 | + /** | ||
11026 | + * @description 保存部分页面信息到实例上 | ||
11027 | + * @param editorUi | ||
11028 | + * @param currentPage | ||
11029 | + */ | ||
11030 | + saveContentInfo(editorUi, currentPage) { | ||
11031 | + const editor = editorUi.editor | ||
11032 | + this.graph = editor.graph | ||
11033 | + this.currentPage = currentPage | ||
11034 | + this.contentAllCell = this.graph.getDefaultParent().children | ||
10805 | } | 11035 | } |
10806 | 11036 | ||
10807 | - const sendMsgTemplate = { | ||
10808 | - tsSubCmds: [ | ||
10809 | - { | 11037 | + /** |
11038 | + * @description 获取页面绑定的节点信息 | ||
11039 | + */ | ||
11040 | + async getContentDataNode() { | ||
11041 | + const { node: { id } = {} } = this.currentPage | ||
11042 | + if (!id) return | ||
11043 | + const [err, res] = await to(ConfigurationNodeApi.getConfigurationInfo('CONTENT', id)) | ||
11044 | + const { dataSources } = res | ||
11045 | + const sendMsg = { | ||
11046 | + tsSubCmds: this.generatorDataSourceMapping(dataSources) | ||
11047 | + } | ||
11048 | + this.sendMessageToGetRealTimeData(sendMsg) | ||
11049 | + } | ||
11050 | + | ||
11051 | + /** | ||
11052 | + * @description 发送消息去获取实时数据 | ||
11053 | + */ | ||
11054 | + sendMessageToGetRealTimeData(message) { | ||
11055 | + if (typeof message !== 'string') message = JSON.stringify(message) | ||
11056 | + this.socket.send(message) | ||
11057 | + } | ||
11058 | + | ||
11059 | + /** | ||
11060 | + * @description 生成节点映射表 | ||
11061 | + * @param dataSources | ||
11062 | + * @return {{cmdId: number, entityType: string, keys: *, scope: string, entityId: *}[]} | ||
11063 | + */ | ||
11064 | + generatorDataSourceMapping(dataSources = []) { | ||
11065 | + return dataSources.map((datum, eventName) => { | ||
11066 | + const { deviceId, attr } = datum | ||
11067 | + const sendMsgTemplate = { | ||
10810 | entityType: "DEVICE", | 11068 | entityType: "DEVICE", |
10811 | - entityId: "a5ef5840-d68a-11ec-9c71-a9680487d1e0", | 11069 | + entityId: deviceId, |
10812 | scope: "LATEST_TELEMETRY", | 11070 | scope: "LATEST_TELEMETRY", |
10813 | - cmdId: 1 | 11071 | + cmdId: eventName, |
11072 | + keys: attr | ||
10814 | } | 11073 | } |
10815 | - ] | 11074 | + |
11075 | + this.subscribeDataSources(datum, eventName, attr) | ||
11076 | + this.nodeMapping.set(deviceId, sendMsgTemplate) | ||
11077 | + return sendMsgTemplate | ||
11078 | + }) | ||
10816 | } | 11079 | } |
10817 | 11080 | ||
10818 | - const GLOBAL_TOKEN = JSON.parse(localStorage.getItem("UNDEFINED__DEVELOPMENT__2.7.1__COMMON__LOCAL__KEY__")).value.JWT_TOKEN.value | 11081 | + /** |
11082 | + * @description 分发事件 | ||
11083 | + */ | ||
11084 | + publishEvent(eventName, data) { | ||
11085 | + Object.keys(data).forEach(() => { | ||
11086 | + this.eventBus.emit(eventName, data) | ||
11087 | + }) | ||
11088 | + } | ||
10819 | 11089 | ||
10820 | - const wsUrl = `ws://192.168.10.115:8080/api/ws/plugins/telemetry?token=${GLOBAL_TOKEN}` | 11090 | + /** |
11091 | + * @description 订阅数据源 | ||
11092 | + * @param datum | ||
11093 | + * @param eventName | ||
11094 | + * @param key | ||
11095 | + */ | ||
11096 | + subscribeDataSources(datum, eventName, key) { | ||
11097 | + const node = this.contentAllCell.find(item => item.id === datum.nodeId) | ||
11098 | + this.eventBus.on(eventName, (message) => { | ||
11099 | + this.updatePage(node, () => { | ||
11100 | + const [[timespan, value]] = message[key] | ||
11101 | + node.setValue(value) | ||
11102 | + }) | ||
11103 | + }) | ||
11104 | + } | ||
10821 | 11105 | ||
10822 | - const websocket = new Ws(wsUrl) | 11106 | + /** |
11107 | + * @description 更新页面 | ||
11108 | + * @param node | ||
11109 | + * @param callback | ||
11110 | + */ | ||
11111 | + updatePage(node, callback) { | ||
11112 | + this.graph.getModel().beginUpdate() | ||
11113 | + try { | ||
11114 | + callback() | ||
11115 | + this.graph.insertVertex(node, null); | ||
11116 | + } finally { | ||
11117 | + this.graph.getModel().endUpdate() | ||
11118 | + } | ||
11119 | + } | ||
11120 | + | ||
11121 | + | ||
11122 | + /** | ||
11123 | + * @description 返回 DispatchCenter 实例 当contentID变化时重新创建实例 | ||
11124 | + * @param editorUi | ||
11125 | + * @param currentPage | ||
11126 | + * @return {*} | ||
11127 | + */ | ||
11128 | + static getInstance(editorUi, currentPage = {}) { | ||
11129 | + const { node: { id } = {} } = currentPage | ||
11130 | + if (!id) return | ||
11131 | + if (!DispatchCenter.instance || DispatchCenter.rawContentId !== id) { | ||
11132 | + DispatchCenter.instance = new DispatchCenter(editorUi, currentPage) | ||
11133 | + DispatchCenter.rawContentId = id | ||
11134 | + } | ||
11135 | + | ||
11136 | + return DispatchCenter.instance | ||
11137 | + } | ||
10823 | 11138 | ||
10824 | } | 11139 | } |
10825 | 11140 | ||
10826 | -previewAction() |
@@ -10,7 +10,7 @@ | @@ -10,7 +10,7 @@ | ||
10 | 10 | ||
11 | .override__title--default { | 11 | .override__title--default { |
12 | width: 100% !important; | 12 | width: 100% !important; |
13 | - padding: 6px 0px 6px 6px !important; | 13 | + padding: 6px 0 6px 6px !important; |
14 | border-top: 1px solid #dadce0 !important | 14 | border-top: 1px solid #dadce0 !important |
15 | } | 15 | } |
16 | 16 | ||
@@ -50,6 +50,7 @@ | @@ -50,6 +50,7 @@ | ||
50 | .data-panel__select .layui-form-label { | 50 | .data-panel__select .layui-form-label { |
51 | padding: 9px 10px 9px 0; | 51 | padding: 9px 10px 9px 0; |
52 | width: 50px !important; | 52 | width: 50px !important; |
53 | + box-sizing: border-box; | ||
53 | } | 54 | } |
54 | 55 | ||
55 | .data-panel__select .layui-input-block { | 56 | .data-panel__select .layui-input-block { |
@@ -72,6 +73,7 @@ | @@ -72,6 +73,7 @@ | ||
72 | .data-source__org--override .layui-form-label { | 73 | .data-source__org--override .layui-form-label { |
73 | width: 50px !important; | 74 | width: 50px !important; |
74 | padding: 9px 10px 9px 0; | 75 | padding: 9px 10px 9px 0; |
76 | + box-sizing: border-box; | ||
75 | 77 | ||
76 | } | 78 | } |
77 | 79 | ||
@@ -87,9 +89,6 @@ | @@ -87,9 +89,6 @@ | ||
87 | 89 | ||
88 | /* ================ Tree Select ================== */ | 90 | /* ================ Tree Select ================== */ |
89 | 91 | ||
90 | -/*.things-kit-tree-select {*/ | ||
91 | -/* width: 100%;*/ | ||
92 | -/*}*/ | ||
93 | 92 | ||
94 | .things-kit-tree-select__tree .layui-select-title span { | 93 | .things-kit-tree-select__tree .layui-select-title span { |
95 | line-height: 38px; | 94 | line-height: 38px; |
@@ -103,25 +102,9 @@ | @@ -103,25 +102,9 @@ | ||
103 | background-color: #fff; | 102 | background-color: #fff; |
104 | } | 103 | } |
105 | 104 | ||
106 | - | ||
107 | -/*.things-kit-tree-select .layui-form-label {*/ | ||
108 | -/* flex: auto;*/ | ||
109 | -/* max-width: 80px;*/ | ||
110 | -/* padding: 9px 0;*/ | ||
111 | -/* width: auto;*/ | ||
112 | -/* border: none;*/ | ||
113 | -/*}*/ | ||
114 | - | ||
115 | -/*.things-kit-tree-select {*/ | ||
116 | -/* display: flex;*/ | ||
117 | -/* margin-bottom: 0;*/ | ||
118 | -/*}*/ | ||
119 | - | ||
120 | -/*.things-kit-tree-select .layui-input-block {*/ | ||
121 | -/* margin-left: 0;*/ | ||
122 | -/* padding: 0 10px;*/ | ||
123 | -/* flex: auto;*/ | ||
124 | -/*}*/ | 105 | +.things-kit-tree-select__tree .layui-input { |
106 | + border-width: 2px; | ||
107 | +} | ||
125 | 108 | ||
126 | /* ============== checkbox ===================== */ | 109 | /* ============== checkbox ===================== */ |
127 | 110 |