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
|