Commit de216299ff1b6692989e6d1e5a465602aeb4ebaa
Merge branch 'perf/preview-mode-params-setting' into 'main_dev'
perf: 优化参数设置下发弹窗新增设备名称/属性/服务名称显示 See merge request yunteng/thingskit-scada!106
Showing
1 changed file
with
30 additions
and
7 deletions
@@ -5075,7 +5075,7 @@ DataFormatPanel.prototype.addDataFont = function (container) { | @@ -5075,7 +5075,7 @@ DataFormatPanel.prototype.addDataFont = function (container) { | ||
5075 | 5075 | ||
5076 | /** | 5076 | /** |
5077 | * @description 用于在其他位置获取数据源绑定的数据,在生成数据源面板中进行了改写 | 5077 | * @description 用于在其他位置获取数据源绑定的数据,在生成数据源面板中进行了改写 |
5078 | - * @return {{orgId: string, attr: string, deviceId: string, deviceType: string, deviceProfileId: string, deviceCode: string, registerAddress: string, method: string, thingsModelDataType: string}} | 5078 | + * @return {{orgId: string, attr: string, deviceId: string, deviceType: string, deviceProfileId: string, deviceCode: string, registerAddress: string, method: string, thingsModelDataType: string, deviceName: string, attrName: string}} |
5079 | */ | 5079 | */ |
5080 | function getDataSourceBindValue() { | 5080 | function getDataSourceBindValue() { |
5081 | 5081 | ||
@@ -5235,7 +5235,9 @@ DataFormatPanel.prototype.addDataFont = function (container) { | @@ -5235,7 +5235,9 @@ DataFormatPanel.prototype.addDataFont = function (container) { | ||
5235 | 5235 | ||
5236 | 5236 | ||
5237 | async function mount() { | 5237 | async function mount() { |
5238 | - const { component, echoDataSource, getValue } = generateDataSourceComponent({ validate: true }) | 5238 | + const cell = vertices[0] |
5239 | + const isSwitch = cell.getAttribute('componentType') == 'switch' | ||
5240 | + const { component, echoDataSource, getValue } = generateDataSourceComponent({ validate: true, extractAttribute: isSwitch ? 'BOOL' : null }) | ||
5239 | $(fragment).append(title).append(component) | 5241 | $(fragment).append(title).append(component) |
5240 | $(container).append(fragment) | 5242 | $(container).append(fragment) |
5241 | 5243 | ||
@@ -6586,7 +6588,7 @@ DataFormatPanel.prototype.addDataFont = function (container) { | @@ -6586,7 +6588,7 @@ DataFormatPanel.prototype.addDataFont = function (container) { | ||
6586 | function getSwitchSubmitValue(field) { | 6588 | function getSwitchSubmitValue(field) { |
6587 | const dataSources = getDataSourceBindValue() | 6589 | const dataSources = getDataSourceBindValue() |
6588 | const enableStatus = getEnableStatus(field) | 6590 | const enableStatus = getEnableStatus(field) |
6589 | - return { configurationId, contentId: currentPageId.id, nodeId: graphId, dataSources: { ...dataSources, additional: { deviceCode: dataSources?.deviceCode, method: dataSources?.method, registerAddress: dataSources?.registerAddress, thingsModelDataType: dataSources?.thingsModelDataType } }, ...enableStatus } | 6591 | + return { configurationId, contentId: currentPageId.id, nodeId: graphId, dataSources: { ...dataSources, additional: { deviceCode: dataSources?.deviceCode, method: dataSources?.method, registerAddress: dataSources?.registerAddress, thingsModelDataType: dataSources?.thingsModelDataType, deviceName: dataSources?.deviceName, attrName: dataSources?.attrName } }, ...enableStatus } |
6590 | } | 6592 | } |
6591 | 6593 | ||
6592 | 6594 | ||
@@ -8703,9 +8705,10 @@ DataFormatPanel.prototype.addDataFont = function (container) { | @@ -8703,9 +8705,10 @@ DataFormatPanel.prototype.addDataFont = function (container) { | ||
8703 | * @param {object} options | 8705 | * @param {object} options |
8704 | * @param {string} [options.overrideClass = ''] options.overrideClass | 8706 | * @param {string} [options.overrideClass = ''] options.overrideClass |
8705 | * @param {boolean} [options.validate = true ] options.validate | 8707 | * @param {boolean} [options.validate = true ] options.validate |
8708 | + * @param {boolean} [options.extractAttribute ] options.extractAttribute | ||
8706 | */ | 8709 | */ |
8707 | function generateDataSourceComponent(options = {}) { | 8710 | function generateDataSourceComponent(options = {}) { |
8708 | - const { overrideClass = '', validate = true } = options | 8711 | + const { overrideClass = '', validate = true, extractAttribute } = options |
8709 | const componentFilter = `data-source__component-filter-${Date.now()}` | 8712 | const componentFilter = `data-source__component-filter-${Date.now()}` |
8710 | const componentId = `data-source__component-${Date.now()}` | 8713 | const componentId = `data-source__component-${Date.now()}` |
8711 | 8714 | ||
@@ -8885,7 +8888,10 @@ DataFormatPanel.prototype.addDataFont = function (container) { | @@ -8885,7 +8888,10 @@ DataFormatPanel.prototype.addDataFont = function (container) { | ||
8885 | if (deviceProfileId) { | 8888 | if (deviceProfileId) { |
8886 | const [err, res] = await to(ConfigurationNodeApi.getDeviceAttribute(deviceProfileId)) | 8889 | const [err, res] = await to(ConfigurationNodeApi.getDeviceAttribute(deviceProfileId)) |
8887 | thingsModel = res | 8890 | thingsModel = res |
8888 | - $(`#${componentId} `).find(`select[name="${enumDataSourceConst.ATTR}"]`).html(UseLayUi.generateOptionTemplate({ dataSource: Array.isArray(res) ? res : [], labelField: 'name', valueField: 'identifier' })) | 8891 | + if (extractAttribute) { |
8892 | + thingsModel = thingsModel.filter(item => item.detail?.dataType?.type == extractAttribute) | ||
8893 | + } | ||
8894 | + $(`#${componentId} `).find(`select[name="${enumDataSourceConst.ATTR}"]`).html(UseLayUi.generateOptionTemplate({ dataSource: Array.isArray(thingsModel) ? thingsModel : [], labelField: 'name', valueField: 'identifier' })) | ||
8889 | form.render('select', componentFilter) | 8895 | form.render('select', componentFilter) |
8890 | } | 8896 | } |
8891 | } | 8897 | } |
@@ -9016,6 +9022,12 @@ DataFormatPanel.prototype.addDataFont = function (container) { | @@ -9016,6 +9022,12 @@ DataFormatPanel.prototype.addDataFont = function (container) { | ||
9016 | 9022 | ||
9017 | $(`#${componentId} input[name="${enumDataSourceConst.ORG_ID}"]`).val(orgNode?.id).parent().find('span').html(orgNode?.name) | 9023 | $(`#${componentId} input[name="${enumDataSourceConst.ORG_ID}"]`).val(orgNode?.id).parent().find('span').html(orgNode?.name) |
9018 | 9024 | ||
9025 | + const currentDevice = deviceList.find(item => item.tbDeviceId == deviceId) | ||
9026 | + const deviceName = currentDevice?.alias || currentDevice?.name | ||
9027 | + | ||
9028 | + const currentAttr = thingsModel.find(item => item.identifier == attr) | ||
9029 | + const attrName = currentAttr?.name | ||
9030 | + | ||
9019 | form.val(componentFilter, { | 9031 | form.val(componentFilter, { |
9020 | orgId, | 9032 | orgId, |
9021 | deviceId, | 9033 | deviceId, |
@@ -9026,7 +9038,9 @@ DataFormatPanel.prototype.addDataFont = function (container) { | @@ -9026,7 +9038,9 @@ DataFormatPanel.prototype.addDataFont = function (container) { | ||
9026 | deviceCode, | 9038 | deviceCode, |
9027 | registerAddress, | 9039 | registerAddress, |
9028 | thingsModelDataType, | 9040 | thingsModelDataType, |
9029 | - actionType | 9041 | + actionType, |
9042 | + deviceName, | ||
9043 | + attrName, | ||
9030 | }) | 9044 | }) |
9031 | 9045 | ||
9032 | }) | 9046 | }) |
@@ -16379,8 +16393,17 @@ class HandleDataInteraction { | @@ -16379,8 +16393,17 @@ class HandleDataInteraction { | ||
16379 | } | 16393 | } |
16380 | 16394 | ||
16381 | function createLayer() { | 16395 | function createLayer() { |
16396 | + const currentData = contentData.dataSources.find(item => item.nodeId == nodeId) | ||
16397 | + const { deviceName, attrName } = currentData?.additional || {} | ||
16398 | + | ||
16399 | + let name | ||
16400 | + if (content.commandType == '0' || content.commandType == '2') { | ||
16401 | + name = `${deviceName || ''} - ${attrName || ''}` | ||
16402 | + } else { | ||
16403 | + name = `${deviceName || ''} - ${content?.service}` | ||
16404 | + } | ||
16382 | layer.open({ | 16405 | layer.open({ |
16383 | - title: '参数设置', | 16406 | + title: `参数设置 - ${name}`, |
16384 | content: createContent(), | 16407 | content: createContent(), |
16385 | area: '400px', | 16408 | area: '400px', |
16386 | btn: ["应用", "取消"], | 16409 | btn: ["应用", "取消"], |