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/doorControlView.js | 258 +++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 258 insertions(+), 0 deletions(-)
diff --git a/vf205_access/src/view/config/menu/doorControlView.js b/vf205_access/src/view/config/menu/doorControlView.js
new file mode 100644
index 0000000..e8479d5
--- /dev/null
+++ b/vf205_access/src/view/config/menu/doorControlView.js
@@ -0,0 +1,258 @@
+import dxui from '../../../../dxmodules/dxUi.js'
+import std from '../../../../dxmodules/dxStd.js'
+import viewUtils from "../../viewUtils.js"
+import topView from "../../topView.js"
+import configView from '../configView.js'
+import i18n from "../../i18n.js"
+import screen from '../../../screen.js'
+import bus from '../../../../dxmodules/dxEventBus.js'
+const doorControlView = {}
+doorControlView.init = function () {
+ /**************************************************鍒涘缓灞忓箷*****************************************************/
+ const screenMain = dxui.View.build('doorControlView', dxui.Utils.LAYER.MAIN)
+ doorControlView.screenMain = screenMain
+ screenMain.scroll(false)
+ screenMain.bgColor(0xffffff)
+ screenMain.on(dxui.Utils.ENUM.LV_EVENT_SCREEN_LOADED, () => {
+ topView.changeTheme(true)
+
+ const configAll = screen.getConfig()
+ delaySettingInput.text(configAll['access.relayTime'] + '')
+ alarmSettingSwitch.select(configAll['access.tamperAlarm'] == 1)
+ mqttSettingInput.text(configAll['mqtt.addr'])
+ mqttUserSettingInput.text(configAll['mqtt.username'])
+ mqttPwdSettingInput.text(configAll['mqtt.password'])
+ onlineCheckingSettingSwitch.select(configAll['mqtt.onlinecheck'] == 1)
+ onlineCheckingTimeoutSettingInput.text(configAll['mqtt.timeout'] + '')
+ GranarySettingInput.text(configAll['GranaryName'] || '涓ぎ鍌ㄥ绮煇鏌愮洿灞炲簱')
+ houseNameSettingInput.text(configAll['houseName'] || '01鍙蜂粨')
+ doorHttpGasSettingInput.text(configAll['http.safeInputAccess'] || "http://192.168.1.199:80/cgi-bin/safeInputAccess")
+ })
+
+ const titleBox = viewUtils.title(screenMain, configView.screenMain, 'doorControlViewTitle', 'doorControlView.title')
+ titleBox.align(dxui.Utils.ALIGN.TOP_MID, 0, 70)
+
+ const delaySettingBox = dxui.View.build('delaySettingBox', screenMain)
+ viewUtils._clearStyle(delaySettingBox)
+ delaySettingBox.align(dxui.Utils.ALIGN.TOP_MID, 0, 140)
+ delaySettingBox.setSize(750, 76)
+ delaySettingBox.borderWidth(1)
+ delaySettingBox.setBorderColor(0xDEDEDE)
+ delaySettingBox.obj.setStyleBorderSide(dxui.Utils.ENUM.LV_BORDER_SIDE_BOTTOM, 0)
+
+ const delaySettingLbl = dxui.Label.build('delaySettingLbl', delaySettingBox)
+ delaySettingLbl.dataI18n = 'doorControlView.openDoorRelayDelay'
+ delaySettingLbl.align(dxui.Utils.ALIGN.LEFT_MID, 0, 0)
+ delaySettingLbl.textFont(viewUtils.font(26))
+
+ const delaySettingUnitLbl = dxui.Label.build('delaySettingUnitLbl', delaySettingBox)
+ delaySettingUnitLbl.dataI18n = "doorControlView.ms"
+ delaySettingUnitLbl.align(dxui.Utils.ALIGN.RIGHT_MID, 0, 0)
+ delaySettingUnitLbl.textFont(viewUtils.font(26))
+
+ const delaySettingInput = viewUtils.input(delaySettingBox, 'delaySettingInput', 2, undefined, 'doorControlView.input')
+ delaySettingInput.align(dxui.Utils.ALIGN.RIGHT_MID, -60, 0)
+ delaySettingInput.setSize(150, 60)
+
+ const alarmSettingBox = dxui.View.build('alarmSettingBox', screenMain)
+ viewUtils._clearStyle(alarmSettingBox)
+ alarmSettingBox.align(dxui.Utils.ALIGN.TOP_MID, 0, 216)
+ alarmSettingBox.setSize(750, 76)
+ alarmSettingBox.borderWidth(1)
+ alarmSettingBox.setBorderColor(0xDEDEDE)
+ alarmSettingBox.obj.setStyleBorderSide(dxui.Utils.ENUM.LV_BORDER_SIDE_BOTTOM, 0)
+
+ const alarmSettingLbl = dxui.Label.build('alarmSettingLbl', alarmSettingBox)
+ alarmSettingLbl.dataI18n = 'doorControlView.antiTamperAlarm'
+ alarmSettingLbl.align(dxui.Utils.ALIGN.LEFT_MID, 0, 0)
+ alarmSettingLbl.textFont(viewUtils.font(26))
+
+ const alarmSettingSwitch = dxui.Switch.build('alarmSettingSwitch', alarmSettingBox)
+ alarmSettingSwitch.align(dxui.Utils.ALIGN.RIGHT_MID, 0, 0)
+ alarmSettingSwitch.setSize(70, 35)
+
+
+ const mqttSettingBox = dxui.View.build('mqttSettingBox', screenMain)
+ viewUtils._clearStyle(mqttSettingBox)
+ mqttSettingBox.align(dxui.Utils.ALIGN.TOP_MID, 0, 292)
+ mqttSettingBox.setSize(750, 76)
+ mqttSettingBox.borderWidth(1)
+ mqttSettingBox.setBorderColor(0xDEDEDE)
+ mqttSettingBox.obj.setStyleBorderSide(dxui.Utils.ENUM.LV_BORDER_SIDE_BOTTOM, 0)
+
+ const mqttSettingLbl = dxui.Label.build('mqttSettingLbl', mqttSettingBox)
+ mqttSettingLbl.dataI18n = 'doorControlView.mqttAddr'
+ mqttSettingLbl.align(dxui.Utils.ALIGN.LEFT_MID, 0, 0)
+ mqttSettingLbl.textFont(viewUtils.font(26))
+
+ const mqttSettingInput = viewUtils.input(mqttSettingBox, 'mqttSettingInput', undefined, undefined, 'doorControlView.input')
+ mqttSettingInput.align(dxui.Utils.ALIGN.RIGHT_MID, 0, 0)
+ mqttSettingInput.setSize(320, 60)
+
+ const mqttUserSettingBox = dxui.View.build('mqttUserSettingBox', screenMain)
+ viewUtils._clearStyle(mqttUserSettingBox)
+ mqttUserSettingBox.align(dxui.Utils.ALIGN.TOP_MID, 0, 368)
+ mqttUserSettingBox.setSize(750, 76)
+ mqttUserSettingBox.borderWidth(1)
+ mqttUserSettingBox.setBorderColor(0xDEDEDE)
+ mqttUserSettingBox.obj.setStyleBorderSide(dxui.Utils.ENUM.LV_BORDER_SIDE_BOTTOM, 0)
+
+ const mqttUserSettingLbl = dxui.Label.build('mqttUserSettingLbl', mqttUserSettingBox)
+ mqttUserSettingLbl.dataI18n = 'doorControlView.mqttUser'
+ mqttUserSettingLbl.align(dxui.Utils.ALIGN.LEFT_MID, 0, 0)
+ mqttUserSettingLbl.textFont(viewUtils.font(26))
+
+ const mqttUserSettingInput = viewUtils.input(mqttUserSettingBox, 'mqttUserSettingInput', undefined, undefined, 'doorControlView.input')
+ mqttUserSettingInput.align(dxui.Utils.ALIGN.RIGHT_MID, 0, 0)
+ mqttUserSettingInput.setSize(320, 60)
+
+ const mqttPwdSettingBox = dxui.View.build('mqttPwdSettingBox', screenMain)
+ viewUtils._clearStyle(mqttPwdSettingBox)
+ mqttPwdSettingBox.align(dxui.Utils.ALIGN.TOP_MID, 0, 444)
+ mqttPwdSettingBox.setSize(750, 76)
+ mqttPwdSettingBox.borderWidth(1)
+ mqttPwdSettingBox.setBorderColor(0xDEDEDE)
+ mqttPwdSettingBox.obj.setStyleBorderSide(dxui.Utils.ENUM.LV_BORDER_SIDE_BOTTOM, 0)
+
+ const mqttPwdSettingLbl = dxui.Label.build('mqttPwdSettingLbl', mqttPwdSettingBox)
+ mqttPwdSettingLbl.dataI18n = 'doorControlView.mqttPwd'
+ mqttPwdSettingLbl.align(dxui.Utils.ALIGN.LEFT_MID, 0, 0)
+ mqttPwdSettingLbl.textFont(viewUtils.font(26))
+
+ const mqttPwdSettingInput = viewUtils.input(mqttPwdSettingBox, 'mqttPwdSettingInput', undefined, undefined, 'doorControlView.input')
+ mqttPwdSettingInput.align(dxui.Utils.ALIGN.RIGHT_MID, 0, 0)
+ mqttPwdSettingInput.setSize(320, 60)
+
+
+ const onlineCheckingSettingBox = dxui.View.build('onlineCheckingSettingBox', screenMain)
+ viewUtils._clearStyle(onlineCheckingSettingBox)
+ onlineCheckingSettingBox.align(dxui.Utils.ALIGN.TOP_MID, 0, 540)
+ onlineCheckingSettingBox.setSize(750, 76)
+ onlineCheckingSettingBox.borderWidth(1)
+ onlineCheckingSettingBox.setBorderColor(0xDEDEDE)
+ onlineCheckingSettingBox.obj.setStyleBorderSide(dxui.Utils.ENUM.LV_BORDER_SIDE_BOTTOM, 0)
+
+ const onlineCheckingSettingLbl = dxui.Label.build('onlineCheckingSettingLbl', onlineCheckingSettingBox)
+ onlineCheckingSettingLbl.dataI18n = 'doorControlView.onlineChecking'
+ onlineCheckingSettingLbl.align(dxui.Utils.ALIGN.LEFT_MID, 0, 0)
+ onlineCheckingSettingLbl.textFont(viewUtils.font(26))
+
+ const onlineCheckingSettingSwitch = dxui.Switch.build('onlineCheckingSettingSwitch', onlineCheckingSettingBox)
+ onlineCheckingSettingSwitch.align(dxui.Utils.ALIGN.RIGHT_MID, 0, 0)
+ onlineCheckingSettingSwitch.setSize(70, 35)
+
+ const onlineCheckingTimeoutSettingBox = dxui.View.build('onlineCheckingTimeoutSettingBox', screenMain)
+ viewUtils._clearStyle(onlineCheckingTimeoutSettingBox)
+ onlineCheckingTimeoutSettingBox.align(dxui.Utils.ALIGN.TOP_MID, 0, 616)
+ onlineCheckingTimeoutSettingBox.setSize(750, 76)
+ onlineCheckingTimeoutSettingBox.borderWidth(1)
+ onlineCheckingTimeoutSettingBox.setBorderColor(0xDEDEDE)
+ onlineCheckingTimeoutSettingBox.obj.setStyleBorderSide(dxui.Utils.ENUM.LV_BORDER_SIDE_BOTTOM, 0)
+
+ const onlineCheckingTimeoutSettingLbl = dxui.Label.build('onlineCheckingTimeoutSettingLbl', onlineCheckingTimeoutSettingBox)
+ onlineCheckingTimeoutSettingLbl.dataI18n = 'doorControlView.onlineCheckingTimeout'
+ onlineCheckingTimeoutSettingLbl.align(dxui.Utils.ALIGN.LEFT_MID, 0, 0)
+ onlineCheckingTimeoutSettingLbl.textFont(viewUtils.font(26))
+
+ const onlineCheckingTimeoutSettingUnitLbl = dxui.Label.build('onlineCheckingTimeoutSettingUnitLbl', onlineCheckingTimeoutSettingBox)
+ onlineCheckingTimeoutSettingUnitLbl.text('ms')
+ onlineCheckingTimeoutSettingUnitLbl.align(dxui.Utils.ALIGN.RIGHT_MID, 0, 0)
+ onlineCheckingTimeoutSettingUnitLbl.textFont(viewUtils.font(26))
+
+ const onlineCheckingTimeoutSettingInput = viewUtils.input(onlineCheckingTimeoutSettingBox, 'onlineCheckingTimeoutSettingInput', 2, undefined, 'doorControlView.input')
+ onlineCheckingTimeoutSettingInput.align(dxui.Utils.ALIGN.RIGHT_MID, -45, 0)
+ onlineCheckingTimeoutSettingInput.setSize(150, 60)
+
+ // HTTP鎺ュ彛璺緞璁剧疆
+ // 搴撳尯鍚嶇О璁剧疆
+ const GranarySettingBox = dxui.View.build('GranarySettingBox', screenMain)
+ viewUtils._clearStyle(GranarySettingBox)
+ GranarySettingBox.align(dxui.Utils.ALIGN.TOP_MID, 0, 692)
+ GranarySettingBox.setSize(750, 76)
+ GranarySettingBox.borderWidth(1)
+ GranarySettingBox.setBorderColor(0xDEDEDE)
+ GranarySettingBox.obj.setStyleBorderSide(dxui.Utils.ENUM.LV_BORDER_SIDE_BOTTOM, 0)
+
+ const GranarySettingLbl = dxui.Label.build('GranarySettingLbl', GranarySettingBox)
+ GranarySettingLbl.text('搴撳尯鍚嶇О')
+ GranarySettingLbl.align(dxui.Utils.ALIGN.LEFT_MID, 0, 0)
+ GranarySettingLbl.textFont(viewUtils.font(26))
+
+ const GranarySettingInput = viewUtils.input(GranarySettingBox, 'GranarySettingInput', undefined, undefined, 'doorControlView.input')
+ GranarySettingInput.align(dxui.Utils.ALIGN.RIGHT_MID, 0, 0)
+ GranarySettingInput.setSize(320, 60)
+
+ // 浠撳粧鍚嶇О璁剧疆
+ const houseNameSettingBox = dxui.View.build('houseNameSettingBox', screenMain)
+ viewUtils._clearStyle(houseNameSettingBox)
+ houseNameSettingBox.align(dxui.Utils.ALIGN.TOP_MID, 0, 768)
+ houseNameSettingBox.setSize(750, 76)
+ houseNameSettingBox.borderWidth(1)
+ houseNameSettingBox.setBorderColor(0xDEDEDE)
+ houseNameSettingBox.obj.setStyleBorderSide(dxui.Utils.ENUM.LV_BORDER_SIDE_BOTTOM, 0)
+
+ const houseNameSettingLbl = dxui.Label.build('houseNameSettingLbl', houseNameSettingBox)
+ houseNameSettingLbl.text('浠撳粧鍚嶇О')
+ houseNameSettingLbl.align(dxui.Utils.ALIGN.LEFT_MID, 0, 0)
+ houseNameSettingLbl.textFont(viewUtils.font(26))
+
+ const houseNameSettingInput = viewUtils.input(houseNameSettingBox, 'houseNameSettingInput', undefined, undefined, 'doorControlView.input')
+ houseNameSettingInput.align(dxui.Utils.ALIGN.RIGHT_MID, 0, 0)
+ houseNameSettingInput.setSize(320, 60)
+
+ // HTTP鎺ュ彛璺緞璁剧疆
+ const doorHttpGasSettingBox = dxui.View.build('doorHttpGasSettingBox', screenMain)
+ viewUtils._clearStyle(doorHttpGasSettingBox)
+ doorHttpGasSettingBox.align(dxui.Utils.ALIGN.TOP_MID, 0, 844)
+ doorHttpGasSettingBox.setSize(750, 76)
+ doorHttpGasSettingBox.borderWidth(1)
+ doorHttpGasSettingBox.setBorderColor(0xDEDEDE)
+ doorHttpGasSettingBox.obj.setStyleBorderSide(dxui.Utils.ENUM.LV_BORDER_SIDE_BOTTOM, 0)
+
+ const doorHttpGasSettingLbl = dxui.Label.build('doorHttpGasSettingLbl', doorHttpGasSettingBox)
+ doorHttpGasSettingLbl.text('HTTP鎺ュ彛璺緞')
+ doorHttpGasSettingLbl.align(dxui.Utils.ALIGN.LEFT_MID, 0, 0)
+ doorHttpGasSettingLbl.textFont(viewUtils.font(26))
+
+ const doorHttpGasSettingInput = viewUtils.input(doorHttpGasSettingBox, 'doorHttpGasSettingInput', undefined, undefined, 'doorControlView.input')
+ doorHttpGasSettingInput.align(dxui.Utils.ALIGN.RIGHT_MID, 0, 0)
+ doorHttpGasSettingInput.setSize(320, 60)
+
+ const saveBtn = viewUtils.bottomBtn(screenMain, screenMain.id + 'saveBtn', 'doorControlView.save', () => {
+ const saveConfigData = {
+ access: {
+ relayTime: parseInt(delaySettingInput.text()),
+ tamperAlarm: alarmSettingSwitch.isSelect() ? 1 : 0
+ },
+ mqtt: {
+ addr: mqttSettingInput.text(),
+ username: mqttUserSettingInput.text(),
+ password: mqttPwdSettingInput.text(),
+ onlinecheck: onlineCheckingSettingSwitch.isSelect() ? 1 : 0,
+ timeout: parseInt(onlineCheckingTimeoutSettingInput.text())
+ },
+ GranaryName: GranarySettingInput.text(),
+ houseName: houseNameSettingInput.text(),
+ http: {
+ safeInputAccess: doorHttpGasSettingInput.text()
+ }
+ }
+ const res = screen.saveConfig(saveConfigData)
+ if (res === true) {
+ doorControlView.statusPanel.success()
+ // 閫氱煡mainView鏇存柊搴撳尯鍚嶇О鍜屼粨鍙�
+ bus.fire('warehouseInfoUpdated')
+ std.setTimeout(() => {
+ // 鎴愬姛杩斿洖涓婁竴灞傜晫闈�
+ dxui.loadMain(configView.screenMain)
+ }, 500)
+ } else {
+ doorControlView.statusPanel.fail()
+ }
+ })
+ saveBtn.align(dxui.Utils.ALIGN.BOTTOM_MID, 0, -83)
+
+ doorControlView.statusPanel = viewUtils.statusPanel(screenMain, 'doorControlView.success', 'doorControlView.fail')
+}
+
+export default doorControlView
--
Gitblit v1.9.3