From 7adf0212cd71a8ec604f65ba2c2e9bdfc5dec22d Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期五, 13 一月 2023 10:31:38 +0800 Subject: [PATCH] 2023-01-13 --- src/tabviews/custom/components/card/data-card/index.jsx | 49 +++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 45 insertions(+), 4 deletions(-) diff --git a/src/tabviews/custom/components/card/data-card/index.jsx b/src/tabviews/custom/components/card/data-card/index.jsx index b489eaa..121091a 100644 --- a/src/tabviews/custom/components/card/data-card/index.jsx +++ b/src/tabviews/custom/components/card/data-card/index.jsx @@ -111,7 +111,7 @@ } let selected = 'false' - if (_config.wrap.selected === 'always' || _config.wrap.selected === 'init') { + if (_config.wrap.selected === 'always' || _config.wrap.selected === 'init' || _config.wrap.selected === 'sign') { selected = _config.wrap.selected } else { _config.wrap.selected = 'false' @@ -342,17 +342,58 @@ } checkTopLine = (id) => { - const { config, data } = this.state + const { config, data, selected } = this.state + + if (!data || data.length === 0) { + this.setState({ + activeKey: '', + selectKeys: [], + selectedData: [] + }) + + MKEmitter.emit('resetSelectLine', config.uuid, '', '') + if (config.setting.$hasSyncModule) { + MKEmitter.emit('syncBalconyData', config.uuid, [], false) + } + return + } + + if (selected === 'sign') { + let index = '' + let keys = [] + let items = [] + let last = '' + data.forEach((item, i) => { + if (!item.$disabled && item.selected === 'true') { + items.push(item) + keys.push(i) + index = i + last = item + } + }) + + this.setState({ + activeKey: index, + selectKeys: keys, + selectedData: items + }) + + MKEmitter.emit('resetSelectLine', config.uuid, last ? last.$$uuid : '', last) + if (config.setting.$hasSyncModule) { + MKEmitter.emit('syncBalconyData', config.uuid, items, data.length === keys.length) + } + return + } let index = 0 - if (id && data) { + if (id) { index = data.findIndex(item => item.$$uuid === id) if (index === -1) { index = 0 } } - if (!data || data.length === 0 || data[index].$disabled) { + if (data[index].$disabled) { this.setState({ activeKey: '', selectKeys: [], -- Gitblit v1.8.0