import dxui from '../../../../dxmodules/dxUi.js'
|
import viewUtils from "../../viewUtils.js"
|
import std from '../../../../dxmodules/dxStd.js'
|
import topView from "../../topView.js"
|
import configView from '../configView.js'
|
import i18n from "../../i18n.js"
|
import screen from '../../../screen.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.tamper'] == 1)
|
httpApiSettingInput.text(configAll['http.safeInputAccess'] || 'http://192.168.1.227:80/cgi-bin/safeInputAccess')
|
houseNameSettingInput.text(configAll['houseName'] || '01号仓')
|
granaryNameSettingInput.text(configAll['GranaryName'] || '中央储备粮某某直属库')
|
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'] + '')
|
})
|
|
const titleBox = viewUtils.title(screenMain, configView.screenMain, 'doorControlViewTitle', 'doorControlView.title')
|
titleBox.align(dxui.Utils.ALIGN.TOP_MID, 0, screen.screenSize.height * (50 / 1280))
|
|
const delaySettingBox = dxui.View.build('delaySettingB ox', screenMain)
|
viewUtils._clearStyle(delaySettingBox)
|
delaySettingBox.align(dxui.Utils.ALIGN.TOP_MID, 0, screen.screenSize.height * (120 / 1280))
|
delaySettingBox.setSize(screen.screenSize.width * (550 / 600), screen.screenSize.height * (76 / 1280))
|
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.text('ms')
|
delaySettingUnitLbl.dataI18n = "doorControlView.s"
|
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, -screen.screenSize.width * (60 / 600), 0)
|
delaySettingInput.setSize(screen.screenSize.width * (150 / 600), screen.screenSize.height * (60 / 1280))
|
|
const alarmSettingBox = dxui.View.build('alarmSettingBox', screenMain)
|
viewUtils._clearStyle(alarmSettingBox)
|
alarmSettingBox.align(dxui.Utils.ALIGN.TOP_MID, 0, screen.screenSize.height * (196 / 1280))
|
alarmSettingBox.setSize(screen.screenSize.width * (550 / 600), screen.screenSize.height * (76 / 1280))
|
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(screen.screenSize.width * (70 / 600), screen.screenSize.height * (35 / 1280))
|
alarmSettingSwitch.bgColor(0x000000, NativeObject.APP.NativeComponents.NativeEnum.LV_PART_INDICATOR | NativeObject.APP.NativeComponents.NativeEnum.LV_STATE_CHECKED)
|
|
// HTTP接口路径设置
|
const httpApiSettingBox = dxui.View.build('httpApiSettingBox', screenMain)
|
viewUtils._clearStyle(httpApiSettingBox)
|
httpApiSettingBox.align(dxui.Utils.ALIGN.TOP_MID, 0, screen.screenSize.height * (272 / 1280))
|
httpApiSettingBox.setSize(screen.screenSize.width * (550 / 600), screen.screenSize.height * (76 / 1280))
|
httpApiSettingBox.borderWidth(1)
|
httpApiSettingBox.setBorderColor(0xDEDEDE)
|
httpApiSettingBox.obj.setStyleBorderSide(dxui.Utils.ENUM.LV_BORDER_SIDE_BOTTOM, 0)
|
|
const httpApiSettingLbl = dxui.Label.build('httpApiSettingLbl', httpApiSettingBox)
|
httpApiSettingLbl.text('HTTP接口路径')
|
httpApiSettingLbl.align(dxui.Utils.ALIGN.LEFT_MID, 0, 0)
|
httpApiSettingLbl.textFont(viewUtils.font(26))
|
|
const httpApiSettingInput = viewUtils.input(httpApiSettingBox, 'httpApiSettingInput', undefined, undefined, 'doorControlView.input')
|
httpApiSettingInput.align(dxui.Utils.ALIGN.RIGHT_MID, 0, 0)
|
httpApiSettingInput.setSize(screen.screenSize.width * (250 / 600), screen.screenSize.height * (60 / 1280))
|
|
// 仓廒名称设置
|
const houseNameSettingBox = dxui.View.build('houseNameSettingBox', screenMain)
|
viewUtils._clearStyle(houseNameSettingBox)
|
houseNameSettingBox.align(dxui.Utils.ALIGN.TOP_MID, 0, screen.screenSize.height * (348 / 1280))
|
houseNameSettingBox.setSize(screen.screenSize.width * (550 / 600), screen.screenSize.height * (76 / 1280))
|
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(screen.screenSize.width * (250 / 600), screen.screenSize.height * (60 / 1280))
|
|
// 库区名称设置
|
const granaryNameSettingBox = dxui.View.build('granaryNameSettingBox', screenMain)
|
viewUtils._clearStyle(granaryNameSettingBox)
|
granaryNameSettingBox.align(dxui.Utils.ALIGN.TOP_MID, 0, screen.screenSize.height * (424 / 1280))
|
granaryNameSettingBox.setSize(screen.screenSize.width * (550 / 600), screen.screenSize.height * (76 / 1280))
|
granaryNameSettingBox.borderWidth(1)
|
granaryNameSettingBox.setBorderColor(0xDEDEDE)
|
granaryNameSettingBox.obj.setStyleBorderSide(dxui.Utils.ENUM.LV_BORDER_SIDE_BOTTOM, 0)
|
|
const granaryNameSettingLbl = dxui.Label.build('granaryNameSettingLbl', granaryNameSettingBox)
|
granaryNameSettingLbl.text('库区名称')
|
granaryNameSettingLbl.align(dxui.Utils.ALIGN.LEFT_MID, 0, 0)
|
granaryNameSettingLbl.textFont(viewUtils.font(26))
|
|
const granaryNameSettingInput = viewUtils.input(granaryNameSettingBox, 'granaryNameSettingInput', undefined, undefined, 'doorControlView.input')
|
granaryNameSettingInput.align(dxui.Utils.ALIGN.RIGHT_MID, 0, 0)
|
granaryNameSettingInput.setSize(screen.screenSize.width * (250 / 600), screen.screenSize.height * (60 / 1280))
|
|
const mqttSettingBox = dxui.View.build('mqttSettingBox', screenMain)
|
viewUtils._clearStyle(mqttSettingBox)
|
mqttSettingBox.align(dxui.Utils.ALIGN.TOP_MID, 0, screen.screenSize.height * (500 / 1280))
|
mqttSettingBox.setSize(screen.screenSize.width * (550 / 600), screen.screenSize.height * (76 / 1280))
|
mqttSettingBox.borderWidth(1)
|
mqttSettingBox.setBorderColor(0xDEDEDE)
|
mqttSettingBox.obj.setStyleBorderSide(dxui.Utils.ENUM.LV_BORDER_SIDE_BOTTOM, 0)
|
// mqttSettingBox.hide()
|
|
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(screen.screenSize.width * (250 / 600), screen.screenSize.height * (60 / 1280))
|
|
const mqttUserSettingBox = dxui.View.build('mqttUserSettingBox', screenMain)
|
viewUtils._clearStyle(mqttUserSettingBox)
|
mqttUserSettingBox.align(dxui.Utils.ALIGN.TOP_MID, 0, screen.screenSize.height * (576 / 1280))
|
mqttUserSettingBox.setSize(screen.screenSize.width * (550 / 600), screen.screenSize.height * (76 / 1280))
|
mqttUserSettingBox.borderWidth(1)
|
mqttUserSettingBox.setBorderColor(0xDEDEDE)
|
mqttUserSettingBox.obj.setStyleBorderSide(dxui.Utils.ENUM.LV_BORDER_SIDE_BOTTOM, 0)
|
// mqttUserSettingBox.hide()
|
|
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(screen.screenSize.width * (250 / 600), screen.screenSize.height * (60 / 1280))
|
|
const mqttPwdSettingBox = dxui.View.build('mqttPwdSettingBox', screenMain)
|
viewUtils._clearStyle(mqttPwdSettingBox)
|
mqttPwdSettingBox.align(dxui.Utils.ALIGN.TOP_MID, 0, screen.screenSize.height * (652 / 1280))
|
mqttPwdSettingBox.setSize(screen.screenSize.width * (550 / 600), screen.screenSize.height * (76 / 1280))
|
mqttPwdSettingBox.borderWidth(1)
|
mqttPwdSettingBox.setBorderColor(0xDEDEDE)
|
mqttPwdSettingBox.obj.setStyleBorderSide(dxui.Utils.ENUM.LV_BORDER_SIDE_BOTTOM, 0)
|
// mqttPwdSettingBox.hide()
|
|
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(screen.screenSize.width * (250 / 600), screen.screenSize.height * (60 / 1280))
|
|
|
const onlineCheckingSettingBox = dxui.View.build('onlineCheckingSettingBox', screenMain)
|
viewUtils._clearStyle(onlineCheckingSettingBox)
|
onlineCheckingSettingBox.align(dxui.Utils.ALIGN.TOP_MID, 0, screen.screenSize.height * (728 / 1280))
|
onlineCheckingSettingBox.setSize(screen.screenSize.width * (550 / 600), screen.screenSize.height * (76 / 1280))
|
onlineCheckingSettingBox.borderWidth(1)
|
onlineCheckingSettingBox.setBorderColor(0xDEDEDE)
|
onlineCheckingSettingBox.obj.setStyleBorderSide(dxui.Utils.ENUM.LV_BORDER_SIDE_BOTTOM, 0)
|
// onlineCheckingSettingBox.hide()
|
|
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(screen.screenSize.width * (70 / 600), screen.screenSize.height * (35 / 1280))
|
onlineCheckingSettingSwitch.bgColor(0x000000, NativeObject.APP.NativeComponents.NativeEnum.LV_PART_INDICATOR | NativeObject.APP.NativeComponents.NativeEnum.LV_STATE_CHECKED)
|
|
|
const onlineCheckingTimeoutSettingBox = dxui.View.build('onlineCheckingTimeoutSettingBox', screenMain)
|
viewUtils._clearStyle(onlineCheckingTimeoutSettingBox)
|
onlineCheckingTimeoutSettingBox.align(dxui.Utils.ALIGN.TOP_MID, 0, screen.screenSize.height * (804 / 1280))
|
onlineCheckingTimeoutSettingBox.setSize(screen.screenSize.width * (550 / 600), screen.screenSize.height * (76 / 1280))
|
onlineCheckingTimeoutSettingBox.borderWidth(1)
|
onlineCheckingTimeoutSettingBox.setBorderColor(0xDEDEDE)
|
onlineCheckingTimeoutSettingBox.obj.setStyleBorderSide(dxui.Utils.ENUM.LV_BORDER_SIDE_BOTTOM, 0)
|
// onlineCheckingTimeoutSettingBox.hide()
|
|
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.dataI18n = "doorControlView.s"
|
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, -screen.screenSize.width * (60 / 600), 0)
|
onlineCheckingTimeoutSettingInput.setSize(screen.screenSize.width * (150 / 600), screen.screenSize.height * (60 / 1280))
|
|
const saveBtn = viewUtils.bottomBtn(screenMain, screenMain.id + 'saveBtn', 'doorControlView.save', () => {
|
const saveConfigData = {
|
access: {
|
relayTime: parseInt(delaySettingInput.text()),
|
tamper: alarmSettingSwitch.isSelect() ? 1 : 0
|
},
|
http: {
|
safeInputAccess: httpApiSettingInput.text()
|
},
|
houseName: houseNameSettingInput.text(),
|
GranaryName: granaryNameSettingInput.text(),
|
mqtt: {
|
addr: mqttSettingInput.text(),
|
username: mqttUserSettingInput.text(),
|
password: mqttPwdSettingInput.text(),
|
onlinecheck: onlineCheckingSettingSwitch.isSelect() ? 1 : 0,
|
timeout: parseInt(onlineCheckingTimeoutSettingInput.text())
|
}
|
|
}
|
|
const res = screen.saveConfig(saveConfigData)
|
|
if (res === true) {
|
doorControlView.statusPanel.success()
|
std.setTimeout(() => {
|
// 成功返回上一层界面
|
dxui.loadMain(configView.screenMain)
|
}, 500)
|
} else {
|
doorControlView.statusPanel.fail()
|
}
|
})
|
saveBtn.align(dxui.Utils.ALIGN.BOTTOM_MID, 0, -screen.screenSize.height * (40 / 1280))
|
|
doorControlView.statusPanel = viewUtils.statusPanel(screenMain, 'doorControlView.success', 'doorControlView.fail')
|
}
|
|
export default doorControlView
|