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