From e491cdb48129752324c4e3764f99bd9203c56dec Mon Sep 17 00:00:00 2001
From: lgq <1015864684@qq.com>
Date: 星期二, 31 三月 2026 09:48:44 +0800
Subject: [PATCH] 1.新增VF205门禁机代码
---
vf205_access/dxmodules/uiButtons.js | 107 +++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 107 insertions(+), 0 deletions(-)
diff --git a/vf205_access/dxmodules/uiButtons.js b/vf205_access/dxmodules/uiButtons.js
new file mode 100644
index 0000000..f1ff13f
--- /dev/null
+++ b/vf205_access/dxmodules/uiButtons.js
@@ -0,0 +1,107 @@
+//build锛�20240314
+//鎸夐挳缁勬帶浠�
+import utils from "./uiUtils.js"
+import base from "./uiBase.js"
+let buttons = {}
+
+buttons.build = function (id, parent) {
+ let temp = utils.validateBuild(buttons.all, id, parent, 'buttons')
+ let my = {type: 'buttons'}
+ my.obj = new utils.GG.NativeBtnmatrix({ uid: id }, temp)
+ my.id = id
+ /**
+ * 璁剧疆button缁勫搴旂殑鏁版嵁锛屽繀椤绘槸鏁扮粍鏍煎紡锛岀ず渚嬪涓嬶細琛ㄧず涓夎鎸夐挳锛屾�诲叡12涓寜閽�
+ * ["1", "2", "3", "0", "\n",
+ * "4", "5", "6", "鍙栨秷", "\n",
+ * "7", "8", "9", "纭", ""]
+ * @param {array} d 闈炲繀濉紝濡傛灉娌℃湁濉垨鑰呬笉鏄痮bject绫诲瀷灏辨槸鑾峰彇鏁版嵁
+ */
+ my.data = function (d) {
+ if (utils.validateObject(d)) {
+ this.obj.lvBtnmatrixSetMap(d)
+ } else {
+ return this.obj.lvBtnmatrixGetMap()
+ }
+ }
+ /**
+ * 鐐瑰嚮鎸夐挳缁勯噷浠讳綍涓�涓寜閽紝璋冪敤selectedData鏉ヨ幏鍙栫偣鍑绘寜閽殑id鍜屾枃鏈�
+ * 杩斿洖绀轰緥: {id:11,text:'鍙栨秷'}
+ */
+ my.clickedButton = function () {
+ let id = this.obj.lvBtnmatrixGetSelectedBtn();
+ if (id == 0xFFFF) {
+ // 鐐瑰嚮鎸夐挳缁勮竟鐣屼細鍑虹幇0xFFFF闈炴硶鍊硷紝杩斿洖绌�
+ return { id: null, text: null }
+ }
+ let txt = this.obj.lvBtnmatrixGetBtnText(id);
+ return { id: id, text: txt }
+ }
+ /**
+ * 璁剧疆鎸夐挳缁勯噷鏌愪竴涓壒瀹氭寜閽殑鐘舵�侊紝鍙互鏀规垚閫変腑锛屼笉鍙敤涔嬬被鐨�
+ * @param {number} id 鎸夐挳鐨勭储寮曪紝浠�0寮�濮嬩粠宸﹀埌鍙充粠涓婂埌涓嬶紝涔熸槸鐐瑰嚮鎸夐挳clickedButton杩斿洖鐨刬d
+ * @param {number} state 鍙傝�僤xui.Utils.BUTTONS_STATE
+ */
+ my.setState = function (id, state) {
+ this.obj.lvBtnmatrixSetBtnCtrl(id, state)
+ }
+ /**
+ * 娓呴櫎鎸夐挳缁勯噷鏌愪竴涓壒瀹氭寜閽殑宸茬粡璁剧疆濂界殑鐘舵��
+ * @param {number} id 鎸夐挳鐨勭储寮曪紝浠�0寮�濮嬩粠宸﹀埌鍙充粠涓婂埌涓嬶紝涔熸槸鐐瑰嚮鎸夐挳clickedButton杩斿洖鐨刬d
+ * @param {number} state 鍙傝�僤xui.Utils.BUTTONS_STATE
+ */
+ my.clearState = function (id, state) {
+ this.obj.lvBtnmatrixClearBtnCtrl(id, state)
+ }
+ /**
+ * 璁剧疆鎸夐挳缁勯噷鎵�鏈夋寜閽殑鐘舵�侊紝鍙互鏀规垚閫変腑锛屼笉鍙敤涔嬬被鐨�
+ * @param {number} state 鍙傝�僤xui.Utils.BUTTONS_STATE
+ */
+ my.setAllState = function (state) {
+ this.obj.lvBtnmatrixSetBtnCtrlAll(state)
+ }
+ /**
+ * 娓呴櫎鎸夐挳缁勯噷鎵�鏈夋寜閽殑宸茬粡璁剧疆濂界殑鐘舵��
+ * @param {number} state 鍙傝�僤xui.Utils.BUTTONS_STATE
+ */
+ my.clearAllState = function (state) {
+ this.obj.lvBtnmatrixClearBtnCtrlAll(state)
+ }
+ /**
+ * 璁剧疆鏌愪釜id鐨勬寜閽搴﹀崰鐢ㄥ嚑鏍�
+ * @param {number} id 鎸夐挳搴忓彿锛屼粠0寮�濮嬬紪鍙�
+ * @param {number} width 瀹藉害璺ㄨ秺鏍煎瓙鏁伴噺
+ */
+ my.setBtnWidth = function (id, width) {
+ this.obj.lvBtnmatrixSetBtnWidth(id, width)
+ }
+ /**
+ * 璁剧疆鏌愪釜id鐨勬寜閽浘鏍�
+ * @param {number} id 鎸夐挳搴忓彿锛屼粠0寮�濮嬬紪鍙�
+ * @param {string} src 鍥炬爣鏂囦欢璺緞
+ */
+ my.setBtnIcon = function (id, src) {
+ this.obj.addEventCb((e) => {
+ // 鑾峰彇缁樺埗鎺т欢瀵硅薄
+ let dsc = e.lvEventGetDrawPartDsc()
+ // 濡傛灉鏄粯鍒剁id涓寜閽�
+ if (dsc.type == utils.ENUM.LV_BTNMATRIX_DRAW_PART_BTN && dsc.id == id) {
+ // 鑾峰彇鍥剧墖淇℃伅
+ let header = utils.GG.NativeDraw.lvImgDecoderGetInfo(src)
+ // 瀹氫箟涓�鍧楀尯鍩燂紝灞呬腑鏄剧ず锛屾敞鎰忥細灏哄杞琣rea闇�瑕�-1锛宎rea杞昂瀵搁渶瑕�+1
+ let x1 = dsc.draw_area.x1 + (dsc.draw_area.x2 - dsc.draw_area.x1 + 1 - header.w) / 2;
+ let y1 = dsc.draw_area.y1 + (dsc.draw_area.y2 - dsc.draw_area.y1 + 1 - header.h) / 2;
+ let x2 = x1 + header.w - 1;
+ let y2 = y1 + header.h - 1;
+ let area = utils.GG.NativeArea.lvAreaSet(x1, y1, x2, y2)
+ // 缁樺埗鍥剧墖淇℃伅
+ let img_draw_dsc = utils.GG.NativeDraw.lvDrawImgDscInit()
+ // 缁樺埗鍥剧墖
+ utils.GG.NativeDraw.lvDrawImg(dsc.dsc, img_draw_dsc, area, src)
+ }
+ }, utils.ENUM.LV_EVENT_DRAW_PART_END)
+ }
+ let comp = Object.assign(my, base);
+ utils.setParent(this.all,comp,parent)
+ return comp;
+}
+export default buttons;
\ No newline at end of file
--
Gitblit v1.9.3