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 logger from '../../../../../dxmodules/dxLogger.js'
|
import screen from '../../../../screen.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, screen.screenSize.height * (50 / 1280))
|
|
const box = dxui.View.build(screenMain.id + 'box', screenMain)
|
viewUtils._clearStyle(box)
|
box.align(dxui.Utils.ALIGN.TOP_MID, 0, screen.screenSize.height * (150 / 1280))
|
box.setSize(screen.screenSize.width * (600 / 600), screen.screenSize.height * (1050 / 1280))
|
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(screen.screenSize.width * (5 / 600), dxui.Utils.ENUM._LV_STYLE_STATE_CMP_SAME)
|
|
recordQueryDetailView.info = [{
|
title: 'recordQueryDetailView.id',
|
key: 'userId',
|
label: null
|
}, {
|
title: 'recordQueryDetailView.name',
|
key: 'name',
|
label: null
|
}, {
|
title: 'recordQueryDetailView.idCard',
|
key: 'idCard',
|
label: null
|
}, {
|
title: 'recordQueryDetailView.userId2',
|
key: 'userId2',
|
label: null
|
}, {
|
title: 'recordQueryDetailView.name2',
|
key: 'name2',
|
label: null
|
}, {
|
title: 'recordQueryDetailView.idCard2',
|
key: 'idCard2',
|
label: null
|
}, {
|
title: 'recordQueryDetailView.time',
|
key: 'timeStamp',
|
label: null
|
}, {
|
title: 'recordQueryDetailView.result',
|
key: 'result',
|
label: null
|
}, {
|
title: 'recordQueryDetailView.face',
|
key: 'code',
|
label: null
|
}, {
|
title: 'recordQueryDetailView.face2',
|
key: 'code2',
|
label: null
|
}]
|
|
recordQueryDetailView.info.forEach((item, index) => {
|
const itemBox = dxui.View.build(screenMain.id + '.' + index, box)
|
viewUtils._clearStyle(itemBox)
|
itemBox.setSize(screen.screenSize.width * (560 / 600), screen.screenSize.height * (76 / 1280))
|
itemBox.borderWidth(screen.screenSize.width * (1 / 600))
|
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.face2" == item.title) {
|
itemBox.setSize(screen.screenSize.width * (560 / 600), screen.screenSize.height * (200 / 1280))
|
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)
|
valueLbl.width(screen.screenSize.width * (400 / 600))
|
valueLbl.textAlign(dxui.Utils.TEXT_ALIGN.RIGHT)
|
valueLbl.longMode(dxui.Utils.LABEL_LONG_MODE.SCROLL_CIRCULAR)
|
item.label = valueLbl
|
})
|
|
}
|
|
function fillInfo() {
|
let extra
|
let extra2
|
try {
|
extra = JSON.parse(recordQueryView.nowRecord.extra)
|
if (recordQueryView.nowRecord.extra2) {
|
extra2 = JSON.parse(recordQueryView.nowRecord.extra2)
|
}
|
} catch (error) {
|
logger.error("没有额外字段跳过")
|
}
|
|
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 'timeStamp':
|
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 = ""
|
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;
|
default:
|
break;
|
}
|
|
if (recordQueryView.nowRecord.result == 0) {
|
msg += i18n.t('recordQueryView.success')
|
} else {
|
msg += i18n.t('recordQueryView.fail')
|
if (recordQueryView.nowRecord.message) {
|
msg += " (" + recordQueryView.nowRecord.message + ")"
|
}
|
}
|
item.label.text(msg)
|
break;
|
case 'code':
|
// 人脸抓拍
|
if (item.face) {
|
// 检查是否有faceAuth字段,或者类型是否为300,或者code字段是否存在
|
if (recordQueryView.nowRecord.faceAuth || recordQueryView.nowRecord.type == "300" || recordQueryView.nowRecord.code) {
|
// 优先使用记录中的 code 字段,如果没有则使用默认路径
|
let src = recordQueryView.nowRecord.code || `/data/passRecord/${recordQueryView.nowRecord.userId ? recordQueryView.nowRecord.userId : "undefined"}_${recordQueryView.nowRecord.timeStamp}_1.jpg`
|
item.face.show()
|
item.face.source(src)
|
} else {
|
item.face.hide()
|
}
|
}
|
break;
|
case 'code2':
|
// 第二用户人脸抓拍
|
if (item.face) {
|
// 检查是否有userId2,如果有则尝试显示人脸抓拍
|
if (recordQueryView.nowRecord.userId2) {
|
// 优先使用记录中的 code2 字段,如果没有则使用默认路径
|
let src = recordQueryView.nowRecord.code2 || `/data/passRecord/${recordQueryView.nowRecord.userId2}_${recordQueryView.nowRecord.timeStamp}_2.jpg`
|
item.face.show()
|
item.face.source(src)
|
} else {
|
item.face.hide()
|
}
|
}
|
break;
|
default:
|
break;
|
}
|
})
|
}
|
|
export default recordQueryDetailView
|