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/src/view/config/menu/recordQuery/recordQueryDetailView.js |  227 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 227 insertions(+), 0 deletions(-)

diff --git a/vf205_access/src/view/config/menu/recordQuery/recordQueryDetailView.js b/vf205_access/src/view/config/menu/recordQuery/recordQueryDetailView.js
new file mode 100644
index 0000000..0067ffe
--- /dev/null
+++ b/vf205_access/src/view/config/menu/recordQuery/recordQueryDetailView.js
@@ -0,0 +1,227 @@
+import dxui from '../../../../../dxmodules/dxUi.js'
+import viewUtils from "../../../viewUtils.js"
+import topView from "../../../topView.js"
+import recordQueryView from '../recordQueryView.js'
+import i18n from "../../../i18n.js"
+import screen from '../../../../screen.js'
+import logger from '../../../../../dxmodules/dxLogger.js'
+const recordQueryDetailView = {}
+recordQueryDetailView.init = function () {
+    /**************************************************鍒涘缓灞忓箷*****************************************************/
+    const screenMain = dxui.View.build('recordQueryDetailView', dxui.Utils.LAYER.MAIN)
+    recordQueryDetailView.screenMain = screenMain
+    screenMain.scroll(false)
+    screenMain.bgColor(0xffffff)
+    screenMain.on(dxui.Utils.ENUM.LV_EVENT_SCREEN_LOADED, () => {
+        topView.changeTheme(true)
+        fillInfo()
+    })
+    const titleBox = viewUtils.title(screenMain, recordQueryView.screenMain, 'recordQueryDetailViewTitle', 'recordQueryDetailView.title')
+    titleBox.align(dxui.Utils.ALIGN.TOP_MID, 0, 70)
+
+    const box = dxui.View.build(screenMain.id + 'box', screenMain)
+    viewUtils._clearStyle(box)
+    box.align(dxui.Utils.ALIGN.TOP_MID, 0, 150)
+    box.setSize(screen.screenSize.width, screen.screenSize.height - 150)
+    box.bgOpa(0)
+    box.flexFlow(dxui.Utils.FLEX_FLOW.ROW_WRAP)
+    box.flexAlign(dxui.Utils.FLEX_ALIGN.CENTER, dxui.Utils.FLEX_ALIGN.START, dxui.Utils.FLEX_ALIGN.START)
+    box.obj.lvObjSetStylePadGap(5, dxui.Utils.ENUM._LV_STYLE_STATE_CMP_SAME)
+    box.scroll(true)
+
+    recordQueryDetailView.info = [{
+            title: 'recordQueryDetailView.result',
+            key: 'result',
+            label: null
+        }, {
+            title: 'recordQueryDetailView.time',
+            key: 'time',
+            label: null
+        }, {
+            title: 'recordQueryDetailView.id',
+            key: 'userId',
+            label: null
+        }, {
+            title: 'recordQueryDetailView.name',
+            key: 'name',
+            label: null
+        }, {
+            title: 'recordQueryDetailView.idCard',
+            key: 'idCard',
+            label: null
+        }, {
+            title: 'recordQueryDetailView.face',
+            key: 'code',
+            label: null
+        }, {
+            title: 'recordQueryDetailView.secondId',
+            key: 'userId2',
+            label: null
+        }, {
+            title: 'recordQueryDetailView.secondName',
+            key: 'name2',
+            label: null
+        }, {
+            title: 'recordQueryDetailView.secondIdCard',
+            key: 'idCard2',
+            label: null
+        }, {
+            title: 'recordQueryDetailView.secondFace',
+            key: 'code2',
+            label: null
+        }]
+
+    recordQueryDetailView.info.forEach((item, index) => {
+        const itemBox = dxui.View.build(screenMain.id + '.' + index, box)
+        viewUtils._clearStyle(itemBox)
+        itemBox.setSize(760, 76)
+        itemBox.borderWidth(1)
+        itemBox.obj.setStyleBorderSide(dxui.Utils.ENUM.LV_BORDER_SIDE_BOTTOM, 0)
+        itemBox.setBorderColor(0x767676)
+
+        const titleLbl = dxui.Label.build(screenMain.id + 'titleLbl' + index, itemBox)
+        titleLbl.align(dxui.Utils.ALIGN.LEFT_MID, 0, 0)
+        titleLbl.textFont(viewUtils.font(26))
+        titleLbl.dataI18n = item.title
+
+        if ("recordQueryDetailView.face" == item.title || "recordQueryDetailView.secondFace" == item.title) {
+            itemBox.setSize(760, 260)
+            itemBox.scroll(false)
+            const faceImg = dxui.Image.build(screenMain.id + 'faceImg' + index, itemBox)
+            faceImg.align(dxui.Utils.ALIGN.RIGHT_MID, 0, 0)
+            item.face = faceImg
+            return
+        }
+
+        const valueLbl = dxui.Label.build(screenMain.id + 'valueLbl' + index, itemBox)
+        valueLbl.align(dxui.Utils.ALIGN.RIGHT_MID, 0, 0)
+        valueLbl.textFont(viewUtils.font(26))
+        valueLbl.textColor(0x333333)
+        item.label = valueLbl
+    })
+
+}
+
+function fillInfo () {
+    let extra
+    try {
+        extra = JSON.parse(recordQueryView.nowRecord.extra)
+    } catch (error) {
+        logger.error("娌℃湁棰濆瀛楁璺宠繃")
+    }
+    
+    let extra2
+    try {
+        extra2 = JSON.parse(recordQueryView.nowRecord.extra2)
+    } catch (error) {
+        logger.error("娌℃湁绗簩鐢ㄦ埛棰濆瀛楁璺宠繃")
+    }
+    
+    const language = screen.getConfig(["base.language"])
+    recordQueryDetailView.info.forEach((item, index) => {
+        switch (item.key) {
+            case 'userId':
+                item.label.text((recordQueryView.nowRecord.userId || ' '))
+                break;
+            case 'name':
+                if (extra && extra.name) {
+                    item.label.text(extra.name)
+                } else {
+                    item.label.text(" ")
+                }
+                break;
+            case 'idCard':
+                if (extra && extra.idCard) {
+                    item.label.text(extra.idCard)
+                } else {
+                    item.label.text(" ")
+                }
+                break;
+            case 'userId2':
+                item.label.text((recordQueryView.nowRecord.userId2 || ' '))
+                break;
+            case 'name2':
+                if (extra2 && extra2.name) {
+                    item.label.text(extra2.name)
+                } else {
+                    item.label.text(" ")
+                }
+                break;
+            case 'idCard2':
+                if (extra2 && extra2.idCard) {
+                    item.label.text(extra2.idCard)
+                } else {
+                    item.label.text(" ")
+                }
+                break;
+            case 'time':
+                const t = new Date(recordQueryView.nowRecord[item.key] * 1000)
+                // 琛ラ浂鍑芥暟
+                const pad = (n) => n < 10 ? `0${n}` : n;
+                item.label.text(`${t.getFullYear()}-${pad(t.getMonth() + 1)}-${pad(t.getDate())} ${pad(t.getHours())}:${pad(t.getMinutes())}:${pad(t.getSeconds())}`)
+                break;
+            case 'result':
+                let msg = ""
+                if (recordQueryView.nowRecord.message === "姘斾綋娴撳害涓嶅悎鏍�") {
+                    msg = "姘斾綋娴撳害涓嶅悎鏍�"
+                } else if (recordQueryView.nowRecord.message === "鍙屼汉璁よ瘉瓒呮椂") {
+                    msg = "鍙屼汉璁よ瘉瓒呮椂"
+                } else {
+                    switch (recordQueryView.nowRecord.type) {
+                        case "200":
+                            msg = i18n.t('recordQueryView.card')
+                            break;
+                        case "300":
+                            msg = i18n.t('recordQueryView.face')
+                            break;
+                        case "400":
+                            msg = i18n.t('recordQueryView.password')
+                            break;
+                        case "100":
+                            msg = i18n.t('recordQueryView.qrcode')
+                            break;
+                        case "101":
+                            msg = i18n.t('recordQueryView.qrcode')
+                            break;
+                        case "103":
+                            msg = i18n.t('recordQueryView.qrcode')
+                            break;
+                        default:
+                            break;
+                    }
+                    msg += language === 'CN' ? "" : " "
+                    if (recordQueryView.nowRecord.result == 0) {
+                        msg += i18n.t('recordQueryView.success')
+                    } else {
+                        msg += i18n.t('recordQueryView.fail')
+                    }
+                }
+                item.label.text(msg)
+                break;
+            case 'code':
+                // 绗竴鐢ㄦ埛浜鸿劯鎶撴媿
+                if (recordQueryView.nowRecord.type == "300") {
+                    let src = recordQueryView.nowRecord.code || `/app/data/passRecord/${recordQueryView.nowRecord.userId ? recordQueryView.nowRecord.userId : "undefined"}_${recordQueryView.nowRecord.time}_1.jpg`
+                    item.face.show()
+                    item.face.source(src)
+                } else {
+                    item.face.hide()
+                }
+                break;
+            case 'code2':
+                // 绗簩鐢ㄦ埛浜鸿劯鎶撴媿
+                if (recordQueryView.nowRecord.type == "300" && recordQueryView.nowRecord.userId2) {
+                    let src = recordQueryView.nowRecord.code2 || `/app/data/passRecord/${recordQueryView.nowRecord.userId2}_${recordQueryView.nowRecord.time}_2.jpg`
+                    item.face.show()
+                    item.face.source(src)
+                } else {
+                    item.face.hide()
+                }
+                break;
+            default:
+                break;
+        }
+    })
+}
+
+export default recordQueryDetailView

--
Gitblit v1.9.3