import dxui from '../../../../dxmodules/dxUi.js'
|
import viewUtils from "../../viewUtils.js"
|
import topView from "../../topView.js"
|
import configView from '../configView.js'
|
import localUserAddView from './localUser/localUserAddView.js'
|
import screen from '../../../screen.js'
|
|
const localUserView = {}
|
localUserView.init = function () {
|
/**************************************************创建屏幕*****************************************************/
|
const screenMain = dxui.View.build('localUserView', dxui.Utils.LAYER.MAIN)
|
localUserView.screenMain = screenMain
|
screenMain.scroll(false)
|
screenMain.bgColor(0xffffff)
|
screenMain.on(dxui.Utils.ENUM.LV_EVENT_SCREEN_LOADED, () => {
|
topView.changeTheme(true)
|
|
localUserView.nowPage = localUserView.nowPage ? localUserView.nowPage : 0
|
let users = screen.getUsers(localUserView.nowPage, 6)
|
while (users.data.length == 0 && localUserView.nowPage > 0) {
|
localUserView.nowPage -= 1
|
users = screen.getUsers(localUserView.nowPage, 6)
|
}
|
if (users.data.length > 0) {
|
// localUserView.initData([{ id: "1", name: '张三' }, { id: "2", name: '李四' }, { id: "3", name: '王五' }, { id: "4", name: '赵六' }, { id: "5", name: '孙七' }, { id: "6", name: '周八' }, { id: "7", name: '吴九' }, { id: "8", name: '郑十' }, { id: "9", name: '陈十一' }, { id: "10", name: '赵十二' }, { id: "11", name: '孙十三' }, { id: "12", name: '周十四' }, { id: "13", name: '吴十五' }, { id: "14", name: '郑十六' }, { id: "15", name: '陈十七' }, { id: "16", name: '赵十八' }, { id: "17", name: '孙十九' }, { id: "20", name: '周二十' },])
|
localUserView.initData(users.data)
|
} else {
|
localUserView.initData()
|
}
|
// 刷新分页信息
|
refreshPageInfo(users)
|
})
|
|
const titleBox = viewUtils.title(screenMain, configView.screenMain, 'localUserViewTitle', 'localUserView.title', () => { localUserView.nowPage = 0 })
|
titleBox.align(dxui.Utils.ALIGN.TOP_MID, 0, screen.screenSize.height * (50 / 1280))
|
|
const empty = dxui.Image.build('empty', screenMain)
|
localUserView.empty = empty
|
empty.align(dxui.Utils.ALIGN.TOP_MID, 0, screen.screenSize.height * (272 / 1280))
|
empty.source(screen.resourcePath.imagePath + '/empty.png')
|
|
const emptyLbl = dxui.Label.build('emptyLbl', screenMain)
|
localUserView.emptyLbl = emptyLbl
|
emptyLbl.textFont(viewUtils.font(26))
|
emptyLbl.align(dxui.Utils.ALIGN.TOP_MID, 0, screen.screenSize.height * (598 / 1280))
|
emptyLbl.dataI18n = 'localUserView.empty'
|
emptyLbl.textColor(0x888888)
|
|
const userList = dxui.View.build('userList', screenMain)
|
viewUtils._clearStyle(userList)
|
localUserView.userList = userList
|
userList.setSize(screen.screenSize.width * (600 / 600), screen.screenSize.height * (712 / 1280))
|
userList.align(dxui.Utils.ALIGN.TOP_MID, 0, screen.screenSize.height * (178 / 1280))
|
userList.flexFlow(dxui.Utils.FLEX_FLOW.ROW_WRAP)
|
userList.flexAlign(dxui.Utils.FLEX_ALIGN.START, dxui.Utils.FLEX_ALIGN.START, dxui.Utils.FLEX_ALIGN.START)
|
userList.obj.lvObjSetStylePadGap(screen.screenSize.width * (5 / 600), dxui.Utils.ENUM._LV_STYLE_STATE_CMP_SAME)
|
userList.hide()
|
|
const searchBox = dxui.View.build('searchBox', userList)
|
viewUtils._clearStyle(searchBox)
|
searchBox.setSize(screen.screenSize.width * (600 / 600), screen.screenSize.height * (95 / 1280))
|
searchBox.bgOpa(0)
|
searchBox.borderWidth(1)
|
searchBox.setBorderColor(0xDEDEDE)
|
searchBox.obj.setStyleBorderSide(dxui.Utils.ENUM.LV_BORDER_SIDE_BOTTOM, 0)
|
|
const searchInput = viewUtils.input(searchBox, 'searchBoxInput', screen.isInternationalVersion() ? 0 : 1, () => {
|
}, 'localUserView.search')
|
searchInput.setSize(screen.screenSize.width * (300 / 600), screen.screenSize.height * (75 / 1280))
|
searchInput.align(dxui.Utils.ALIGN.LEFT_MID, screen.screenSize.width * (28 / 600), 0)
|
|
const searchBtn = dxui.Button.build('searchBtn', searchBox)
|
searchBtn.setSize(screen.screenSize.width * (126 / 600), screen.screenSize.height * (55 / 1280))
|
searchBtn.align(dxui.Utils.ALIGN.RIGHT_MID, -screen.screenSize.width * (29 / 600), 0)
|
searchBtn.bgColor(0xF6FAFA)
|
searchBtn.radius(screen.screenSize.width * (10 / 600))
|
|
searchBtn.on(dxui.Utils.EVENT.CLICK, () => {
|
localUserView.nowPage = 0
|
const users = screen.getUsers(0, 6, searchInput.text())
|
if (users.data) {
|
localUserView.initData(users.data)
|
} else {
|
localUserView.initData([])
|
}
|
refreshPageInfo(users)
|
})
|
|
const searchBtnLbl = dxui.Label.build('searchBtnLbl', searchBtn)
|
searchBtnLbl.dataI18n = 'localUserView.searchBtn'
|
searchBtnLbl.textFont(viewUtils.font(26))
|
searchBtnLbl.textColor(0x05AA8D)
|
searchBtnLbl.align(dxui.Utils.ALIGN.CENTER, 0, 0)
|
|
localUserView.userItemList = []
|
for (let i = 0; i < 6; i++) {
|
const userItem = dxui.View.build('userItem' + i, userList)
|
viewUtils._clearStyle(userItem)
|
userItem.setSize(screen.screenSize.width * (600 / 600), screen.screenSize.height * (95 / 1280))
|
userItem.align(dxui.Utils.ALIGN.TOP_MID, 0, 0)
|
userItem.bgOpa(0)
|
userItem.borderWidth(1)
|
userItem.setBorderColor(0xDEDEDE)
|
userItem.obj.setStyleBorderSide(dxui.Utils.ENUM.LV_BORDER_SIDE_BOTTOM, 0)
|
userItem.hide()
|
|
const userItemId = dxui.Label.build('userItemId' + i, userItem)
|
userItemId.text(i + '')
|
userItemId.textFont(viewUtils.font(26))
|
userItemId.align(dxui.Utils.ALIGN.LEFT_MID, screen.screenSize.width * (80 / 600), 0)
|
userItemId.width(screen.screenSize.width * (100 / 600))
|
userItemId.longMode(dxui.Utils.LABEL_LONG_MODE.SCROLL_CIRCULAR)
|
userItemId.hide()
|
|
const userItemName = dxui.Label.build('userItemName' + i, userItem)
|
userItemName.text(' ')
|
userItemName.textFont(viewUtils.font(26))
|
userItemName.align(dxui.Utils.ALIGN.LEFT_MID, screen.screenSize.width * (28 / 600), 0)
|
userItemName.width(screen.screenSize.width * (200 / 600))
|
userItemName.longMode(dxui.Utils.LABEL_LONG_MODE.SCROLL_CIRCULAR)
|
|
const userItemEdit = dxui.Button.build('userItemEdit' + i, userItem)
|
userItemEdit.setSize(screen.screenSize.width * (126 / 600), screen.screenSize.height * (55 / 1280))
|
userItemEdit.align(dxui.Utils.ALIGN.RIGHT_MID, -screen.screenSize.width * (29 / 600), 0)
|
userItemEdit.bgColor(0xF6FAFA)
|
userItemEdit.radius(screen.screenSize.width * (10 / 600))
|
|
userItemEdit.on(dxui.Utils.EVENT.CLICK, () => {
|
localUserAddView.isEdit(true)
|
dxui.loadMain(localUserAddView.screenMain)
|
|
let item = localUserView.userData.filter(item => {
|
return item.id === userItemId.text().replace('ID:', '')
|
})
|
if (item) {
|
item = item[0]
|
const voucher = screen.getVoucher(item.id)
|
Object.assign(item, voucher);
|
|
localUserAddView.nowUser = item
|
// 保存原始用户编号,用于判断是否被修改
|
localUserAddView.originalUserId = item.id
|
|
if (item.id) {
|
localUserAddView.addID(item.id)
|
}
|
if (item.name) {
|
localUserAddView.addName(item.name)
|
}
|
if (item.idCard) {
|
localUserAddView.addIDCard(item.idCard)
|
}
|
if (item.face) {
|
localUserAddView.addFace(item.face,item.feature)
|
}
|
if (item.pwd) {
|
localUserAddView.addPwd(item.pwd)
|
}
|
if (item.card) {
|
localUserAddView.addCard(item.card)
|
}
|
if (item.fingerId) {
|
localUserAddView.addFinger(item.fingerId)
|
}
|
localUserAddView.addType(item.type)
|
}
|
})
|
|
const userItemEditLbl = dxui.Label.build('userItemEditLbl' + i, userItemEdit)
|
userItemEditLbl.dataI18n = 'localUserView.edit'
|
userItemEditLbl.textFont(viewUtils.font(26))
|
userItemEditLbl.textColor(0x05AA8D)
|
userItemEditLbl.align(dxui.Utils.ALIGN.CENTER, 0, 0)
|
|
localUserView.userItemList.push({ userItem, userItemId, userItemName })
|
}
|
|
const pageNextBtn = dxui.Button.build(screenMain.id + 'pageNextBtn', screenMain)
|
localUserView.pageNextBtn = pageNextBtn
|
pageNextBtn.bgColor(0x000000)
|
pageNextBtn.setSize(screen.screenSize.width * (80 / 600), screen.screenSize.height * (100 / 1280))
|
pageNextBtn.radius(screen.screenSize.width * (10 / 600))
|
const pageNextLbl = dxui.Label.build(screenMain.id + 'pageNextLbl', pageNextBtn)
|
pageNextLbl.text("→")
|
pageNextLbl.textFont(viewUtils.font(32))
|
pageNextLbl.textColor(0xffffff)
|
pageNextLbl.align(dxui.Utils.ALIGN.CENTER, 0, 0)
|
pageNextBtn.align(dxui.Utils.ALIGN.BOTTOM_RIGHT, -screen.screenSize.width * (20 / 600), -screen.screenSize.height * (288 / 1280))
|
|
const pagePrevBtn = dxui.Button.build(screenMain.id + 'pagePrevBtn', screenMain)
|
localUserView.pagePrevBtn = pagePrevBtn
|
pagePrevBtn.bgColor(0x000000)
|
pagePrevBtn.setSize(screen.screenSize.width * (80 / 600), screen.screenSize.height * (100 / 1280))
|
pagePrevBtn.radius(screen.screenSize.width * (10 / 600))
|
const pagePrevLbl = dxui.Label.build(screenMain.id + 'pagePrevLbl', pagePrevBtn)
|
pagePrevLbl.text("←")
|
pagePrevLbl.textFont(viewUtils.font(32))
|
pagePrevLbl.textColor(0xffffff)
|
pagePrevLbl.align(dxui.Utils.ALIGN.CENTER, 0, 0)
|
pagePrevBtn.align(dxui.Utils.ALIGN.BOTTOM_LEFT, screen.screenSize.width * (20 / 600), -screen.screenSize.height * (288 / 1280))
|
|
const pageMidCont = dxui.View.build(screenMain.id + 'pageMidCont', screenMain)
|
const originalY = -screen.screenSize.height * (288 / 1280)
|
const keyboardUpY = -screen.screenSize.height * (400 / 1280)
|
viewUtils._clearStyle(pageMidCont)
|
pageMidCont.align(dxui.Utils.ALIGN.BOTTOM_MID, 0, originalY)
|
pageMidCont.setSize(screen.screenSize.width * (300 / 600), screen.screenSize.height * (75 / 1280))
|
pageMidCont.bgOpa(0)
|
pageMidCont.flexFlow(dxui.Utils.FLEX_FLOW.ROW)
|
pageMidCont.flexAlign(dxui.Utils.FLEX_ALIGN.CENTER, dxui.Utils.FLEX_ALIGN.CENTER, dxui.Utils.FLEX_ALIGN.CENTER)
|
|
const pageSelect = viewUtils.input(pageMidCont, screenMain.id + 'pageSelect', 2, () => {
|
let pageNum = Number(pageSelect.text())
|
const totalPage = localUserView.lastUsers ? localUserView.lastUsers.totalPage : 1
|
if (pageNum < 1) {
|
pageNum = 1
|
}
|
if (pageNum > totalPage) {
|
pageNum = totalPage
|
}
|
const pageIndex = pageNum - 1
|
const users = screen.getUsers(pageIndex, 6)
|
localUserView.nowPage = pageIndex
|
if (users.data) {
|
localUserView.initData(users.data)
|
} else {
|
localUserView.initData([])
|
}
|
refreshPageInfo(users)
|
pageSelect.text(String(pageNum))
|
pageMidCont.align(dxui.Utils.ALIGN.BOTTOM_MID, 0, originalY)
|
})
|
localUserView.pageSelect = pageSelect
|
pageSelect.setSize(screen.screenSize.width * (150 / 600), screen.screenSize.height * (69 / 1280))
|
|
pageSelect.on(dxui.Utils.EVENT.CLICK, () => {
|
pageMidCont.align(dxui.Utils.ALIGN.BOTTOM_MID, 0, keyboardUpY)
|
})
|
|
pageNextBtn.on(dxui.Utils.EVENT.CLICK, () => {
|
const nextPage = (localUserView.nowPage || 0) + 1
|
const users = screen.getUsers(nextPage, 6)
|
localUserView.nowPage = nextPage
|
if (users.data) {
|
localUserView.initData(users.data)
|
} else {
|
localUserView.initData([])
|
}
|
refreshPageInfo(users)
|
})
|
pagePrevBtn.on(dxui.Utils.EVENT.CLICK, () => {
|
const prevPage = (localUserView.nowPage || 0) - 1
|
const users = screen.getUsers(prevPage, 6)
|
localUserView.nowPage = prevPage
|
if (users.data) {
|
localUserView.initData(users.data)
|
} else {
|
localUserView.initData([])
|
}
|
refreshPageInfo(users)
|
})
|
|
const pageTotal = dxui.Label.build(screenMain.id + 'pageTotal', pageMidCont)
|
localUserView.pageTotal = pageTotal
|
pageTotal.text(" / 1")
|
pageTotal.textFont(viewUtils.font(22))
|
pageTotal.padLeft(screen.screenSize.width * (10 / 600))
|
|
const addBtn = viewUtils.bottomBtn(screenMain, screenMain.id + 'addBtn', 'localUserView.add', () => {
|
localUserAddView.isEdit(false)
|
dxui.loadMain(localUserAddView.screenMain)
|
})
|
addBtn.align(dxui.Utils.ALIGN.BOTTOM_MID, 0, -screen.screenSize.height * (50 / 1280))
|
}
|
|
localUserView.initData = function (data) {
|
// 当前页的人员信息
|
localUserView.userData = data
|
localUserView.refresh(data)
|
}
|
|
localUserView.refresh = function (data) {
|
if (data === undefined || data === null) {
|
localUserView.empty.show()
|
localUserView.emptyLbl.show()
|
localUserView.userList.hide()
|
return
|
}
|
|
localUserView.userItemList.forEach(item => {
|
item.userItem.hide()
|
})
|
|
// 渲染人员列表
|
data.forEach((item, index) => {
|
if (index >= localUserView.userItemList.length) {
|
return
|
}
|
localUserView.userItemList[index].userItemId.text(item.id)
|
localUserView.userItemList[index].userItemName.text(item.name)
|
localUserView.userItemList[index].userItem.show()
|
})
|
|
localUserView.empty.hide()
|
localUserView.emptyLbl.hide()
|
localUserView.userList.show()
|
}
|
|
function refreshPageInfo(users) {
|
localUserView.lastUsers = users
|
if (users.currentPage == 1) {
|
localUserView.pagePrevBtn.disable(true)
|
localUserView.pagePrevBtn.hide()
|
} else {
|
localUserView.pagePrevBtn.disable(false)
|
localUserView.pagePrevBtn.show()
|
}
|
if (users.currentPage == users.totalPage || users.totalPage == 0) {
|
localUserView.pageNextBtn.disable(true)
|
localUserView.pageNextBtn.hide()
|
} else {
|
localUserView.pageNextBtn.disable(false)
|
localUserView.pageNextBtn.show()
|
}
|
if (users.totalPage == 0 || users.totalPage == 1) {
|
localUserView.pageSelect.hide()
|
localUserView.pageTotal.hide()
|
} else {
|
localUserView.pageSelect.show()
|
localUserView.pageTotal.show()
|
}
|
localUserView.pageSelect.text(String(users.currentPage))
|
localUserView.pageTotal.text("/ " + users.totalPage)
|
}
|
export default localUserView
|