From edfd125b4083543ae0473d2b4f736b41df620ef7 Mon Sep 17 00:00:00 2001 From: windy <1374721899@qq.com> Date: Tue, 17 Mar 2020 16:40:34 +0800 Subject: [PATCH] =?UTF-8?q?REPORT-28235=20fix:=20timeCombo=20%M:%S?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- changelog.md | 1 + src/widget/time/__test__/time.combo.test.js | 23 +++++++++++++++++++++ src/widget/time/time.trigger.js | 18 ++++++++++++++-- 3 files changed, 40 insertions(+), 2 deletions(-) diff --git a/changelog.md b/changelog.md index 6ece36e8e..5f35acd18 100644 --- a/changelog.md +++ b/changelog.md @@ -1,5 +1,6 @@ # 更新日志 2.0(2020-03) +- 修复了time_combo设置格式为%M:%S后value设置大于30分钟的值时标红的问题 - 复选下拉树系列展开节点性能优化 2.0(2020-02) diff --git a/src/widget/time/__test__/time.combo.test.js b/src/widget/time/__test__/time.combo.test.js index 3bc9d42fa..957be024e 100644 --- a/src/widget/time/__test__/time.combo.test.js +++ b/src/widget/time/__test__/time.combo.test.js @@ -168,4 +168,27 @@ describe("TimeCombo", function () { }) }); + + + /** + * test_author_windy + */ + it("测试%M:%S", function (done) { + var timeCombo = BI.Test.createWidget({ + type: "bi.time_combo", + width: 220, + height: 30, + format: "%M:%S", // mm:ss + value: { + hour: 12, + minute: 45, + second: 0 + }, + }); + BI.nextTick(function () { + expect(timeCombo.element.find(".bi-time-trigger .bi-label").text()).to.equal("45:00"); + timeCombo.destroy(); + done(); + }); + }); }); \ No newline at end of file diff --git a/src/widget/time/time.trigger.js b/src/widget/time/time.trigger.js index fc05620c4..037a03888 100644 --- a/src/widget/time/time.trigger.js +++ b/src/widget/time/time.trigger.js @@ -19,7 +19,8 @@ "%H:%M", // HH:mm "%M:%S" // mm:ss ], - DEFAULT_DATE_STRING: "2000-01-01" + DEFAULT_DATE_STRING: "2000-01-01", + DEFAULT_HOUR: "00" }, props: { @@ -135,11 +136,24 @@ _dateCheck: function (date) { var c = this._const; + var self = this; return BI.any(c.FORMAT_ARRAY, function (idx, format) { - return BI.print(BI.parseDateTime(c.DEFAULT_DATE_STRING + " " + date, c.COMPLETE_COMPARE_FORMAT), format) === date; + return BI.print(BI.parseDateTime(c.DEFAULT_DATE_STRING + " " + self._getCompleteHMS(date, format), c.COMPLETE_COMPARE_FORMAT), format) === date; }); }, + _getCompleteHMS: function (str, format) { + var c = this._const; + switch (format) { + case "%M:%S": + str = c.DEFAULT_HOUR + ":" + str; + break; + default: + break; + } + return str; + }, + _getTitle: function () { var storeValue = this.storeValue || {}; var date = BI.getDate();