vf107/src/view/config/menu/systemSetting/passwordOpenDoorSettingView.js
@@ -5,6 +5,7 @@
import i18n from "../../../i18n.js"
import systemSettingView from '../systemSettingView.js'
import screen from '../../../../screen.js'
import api from '../../../../service/api.js'
const passwordOpenDoorSettingView = {}
passwordOpenDoorSettingView.init = function () {
    /**************************************************创建屏幕*****************************************************/
@@ -17,6 +18,9 @@
        const configAll = screen.getConfig()
        passwordOpenDoorSettingView.info[0].switch.select(configAll['sys.pwd'] == 1)
        // 查询应急开门密码
        passwordOpenDoorSettingView.getEmergencyPassword()
    })
    const titleBox = viewUtils.title(screenMain, systemSettingView.screenMain, 'passwordOpenDoorSettingViewTitle', 'systemSettingView.passwordOpenDoorSetting')
@@ -26,13 +30,17 @@
        {
            title: "systemSettingView.passwordOpenDoor",
            type: 'switch',
        },
        {
            title: "systemSettingView.emergencyOpenDoorPassword",
            type: 'password',
        }
    ]
    const passwordOpenDoorSettingBox = dxui.View.build('passwordOpenDoorSettingBox', screenMain)
    viewUtils._clearStyle(passwordOpenDoorSettingBox)
    passwordOpenDoorSettingBox.align(dxui.Utils.ALIGN.TOP_MID, 0, screen.screenSize.height * (140 / 1280))
    passwordOpenDoorSettingBox.setSize(screen.screenSize.width * (600 / 600), screen.screenSize.height * (600 / 1280))
    passwordOpenDoorSettingBox.setSize(screen.screenSize.width * (600 / 600), screen.screenSize.height * (700 / 1280))
    passwordOpenDoorSettingBox.bgOpa(0)
    passwordOpenDoorSettingBox.flexFlow(dxui.Utils.FLEX_FLOW.ROW_WRAP)
    passwordOpenDoorSettingBox.flexAlign(dxui.Utils.FLEX_ALIGN.CENTER, dxui.Utils.FLEX_ALIGN.START, dxui.Utils.FLEX_ALIGN.START)
@@ -69,6 +77,30 @@
                __switch.bgColor(0x000000, NativeObject.APP.NativeComponents.NativeEnum.LV_PART_INDICATOR | NativeObject.APP.NativeComponents.NativeEnum.LV_STATE_CHECKED)
                item.switch = __switch
                break;
            case 'password':
                const pwdInput = viewUtils.input(itemBox, item.title + 'Input', 2, undefined, '请输入应急开门密码')
                pwdInput.align(dxui.Utils.ALIGN.RIGHT_MID, 0, 0)
                pwdInput.setSize(screen.screenSize.width * (300 / 600), screen.screenSize.height * (50 / 1280))
                pwdInput.setPasswordMode(true)
                item.input = pwdInput
                const eyeFill = viewUtils.imageBtn(itemBox, item.title + 'eye_fill', '/app/code/resource/image/eye-fill.png')
                eyeFill.alignTo(pwdInput, dxui.Utils.ALIGN.RIGHT_MID, 0, 0)
                eyeFill.on(dxui.Utils.EVENT.CLICK, () => {
                    pwdInput.setPasswordMode(true)
                    eyeFill.hide()
                    eyeOff.show()
                })
                eyeFill.hide()
                const eyeOff = viewUtils.imageBtn(itemBox, item.title + 'eye_off', '/app/code/resource/image/eye-off.png')
                eyeOff.alignTo(pwdInput, dxui.Utils.ALIGN.RIGHT_MID, 0, 0)
                eyeOff.on(dxui.Utils.EVENT.CLICK, () => {
                    pwdInput.setPasswordMode(false)
                    eyeFill.show()
                    eyeOff.hide()
                })
                break;
        }
    })
@@ -76,6 +108,16 @@
        const saveConfigData = {
            sys: {
                pwd: passwordOpenDoorSettingView.info[0].switch.isSelect() ? 1 : 0,
            }
        }
        // 保存应急开门密码
        const emergencyPwd = passwordOpenDoorSettingView.info[1].input.text()
        if (emergencyPwd) {
            const res = api.insertEmergencyPassword({ password: emergencyPwd, description: "设备端设置" })
            if (res !== true) {
                passwordOpenDoorSettingView.statusPanel.fail()
                return
            }
        }
@@ -95,4 +137,16 @@
    passwordOpenDoorSettingView.statusPanel = viewUtils.statusPanel(screenMain, 'systemSettingView.success', 'systemSettingView.fail')
}
// 查询应急开门密码
passwordOpenDoorSettingView.getEmergencyPassword = function () {
    try {
        const password = api.getEmergencyPassword()
        if (password && password.password) {
            passwordOpenDoorSettingView.info[1].input.text(password.password)
        }
    } catch (error) {
        console.error('查询应急开门密码失败:', error)
    }
}
export default passwordOpenDoorSettingView