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/uiKeyboard.js |  102 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 102 insertions(+), 0 deletions(-)

diff --git a/vf205_access/dxmodules/uiKeyboard.js b/vf205_access/dxmodules/uiKeyboard.js
new file mode 100644
index 0000000..5f50b27
--- /dev/null
+++ b/vf205_access/dxmodules/uiKeyboard.js
@@ -0,0 +1,102 @@
+//build锛�20240329
+//keyboard鎺т欢
+import utils from "./uiUtils.js"
+import base from "./uiBase.js"
+let keyboard = {}
+
+keyboard.build = function (id, parent) {
+    let temp = utils.validateBuild(keyboard.all, id, parent, 'keyboard')
+    let my = {type: 'keyboard'}
+    my.obj = new utils.GG.NativeKeyboard({ uid: id }, temp)
+
+    // 鎷奸煶杈撳叆娉曚細鑾峰緱涓�涓柊瀵硅薄锛屼笌褰撳墠閿洏缁戝畾锛屼互澧炲己閿洏鍔熻兘锛屽9閿瓑锛岀敤鎴蜂娇鐢ㄦ椂涓嶇敤鍏冲績锛屽彧瑕佹搷浣滄渶鍒濆垱寤虹殑閭d釜閿洏瀵硅薄
+    let pinyin = {}
+    pinyin.obj = my.obj.lvImePinyinCreate()
+    my.obj.lvImePinyinSetKeyboard(pinyin.obj)
+    my["__obj"] = Object.assign(pinyin, base)
+    my.__mode = "K26"
+
+    my.id = id
+    /**
+     * 璁剧疆鍏宠仈鏂囨湰妗嗭紝閿洏杈撳嚭鐨勫唴瀹逛細鏄剧ず鍦ㄨ繖閲�
+     * @param {object} textarea 鏂囨湰妗嗘帶浠跺璞�
+     */
+    my.setTextarea = function (textarea) {
+        this.obj.lvKeyboardSetTextarea(textarea.obj)
+        my.textarea = textarea
+    }
+    /**
+     * 璁剧疆/鑾峰彇妯″紡锛岀函鏁板瓧閿洏鎴栧叾浠栨ā寮�
+     * @param {any} mode 妯″紡锛屽弬鐓ф灇涓�
+     * @returns 杩斿洖褰撳墠妯″紡
+     */
+    my.mode = function (mode) {
+        if (!mode) {
+            return my.__mode
+        }
+        if (mode == "K26" || mode == "K9") {
+            this.obj.lvImePinyinSetMode(my["__obj"].obj, mode == "K26" ? 0 : 1)
+        } else {
+            if (mode == utils.KEYBOARD.NUMBER) {
+                this.obj.lvImePinyinSetMode(my["__obj"].obj, 2)
+            }
+            this.obj.lvKeyboardSetMode(mode)
+        }
+        my.__mode = mode
+    }
+    /**
+     * 璁剧疆鎷奸煶瀛椾綋锛屽拰閿洏涓嶅悓锛岃繖閲岃缃殑鏄�欓�夊瓧瀛椾綋
+     * @param {object} font font.js閲宐uild杩斿洖鐨勫璞� 
+     * @param {number} type  鍙傝�僽tils.STYLE 闈炲繀濉紝缂虹渷鏄拰瀵硅薄鑷韩缁戝畾
+     */
+    my.chFont = function (font, type) {
+        if (!utils.validateNumber(type)) {
+            type = 0
+        }
+        if (!font || !font.obj) {
+            throw new Error("dxui.textFont: 'font' parameter should not be null")
+        }
+        my.obj.lvImePinyinGetCandPanel(my["__obj"].obj).lvObjSetStyleTextFont(font.obj, type)
+    }
+    /**
+     * 鎸変笅鏃跺湪寮瑰嚭绐楀彛涓樉绀烘寜閽爣棰橈紝鍗宠緟鍔╂樉绀虹殑涓婁綅妗嗐��
+     * @param {boolean} en true/false
+     */
+    my.setPopovers = function (en) {
+        this.obj.lvKeyboardSetPopovers(en)
+    }
+    /**
+     * 璁剧疆璇嶅簱
+     * @param {object} dict 璇嶅簱锛屾牸寮忓锛歿"a": "鍟�", "ai": "鐖�",...,"zu":"缁�"},26涓瓧姣嶉兘瑕佹湁锛屾病鏈夊�欓�夊瓧灏卞啓""
+     * @returns 
+     */
+    my.dict = function (dict) {
+        if (!dict) {
+            return my.obj.lvImePinyinGetDict(my["__obj"].obj)
+        } else {
+            my.obj.lvImePinyinSetDict(my["__obj"].obj, dict)
+        }
+    }
+    let comp = Object.assign(my, base);
+    // 閲嶅啓鏂规硶
+    // 淇濈暀鍘熷鐨勬柟娉�
+    const super_hide = my.hide;
+    const super_show = my.show;
+    my.hide = function () {
+        super_hide.call(this)
+        my.obj.lvImePinyinGetCandPanel(my["__obj"].obj).lvObjAddFlag(1);
+        if (my.textarea.text() && my.textarea.text().length > 0) {
+            my.obj.lvImePinyinClearData(my["__obj"].obj)
+        }
+    }
+    my.show = function () {
+        super_show.call(this)
+        if (my.obj.lvImePinyinGetCandNum(my["__obj"].obj) > 0) {
+            my.obj.lvImePinyinGetCandPanel(my["__obj"].obj).lvObjClearFlag(1);
+        }
+        my.obj.lvImePinyinGetCandPanel(my["__obj"].obj).lvObjAlignTo(my.obj, utils.ALIGN.OUT_TOP_MID, 0, 0)
+    }
+    utils.setParent(this.all, comp, parent)
+    return comp;
+}
+export default keyboard;
\ No newline at end of file

--
Gitblit v1.9.3