fix: 优化登陆,太快延迟一下,防止动画太难看
This commit is contained in:
parent
7c0f24d4cf
commit
ffe0dfd695
@ -59,3 +59,6 @@ export const RoadsTag = '[Roads]';
|
|||||||
|
|
||||||
//ExaminerLogin
|
//ExaminerLogin
|
||||||
export const ExaminerLoginTag = '[ExaminerLogin]';
|
export const ExaminerLoginTag = '[ExaminerLogin]';
|
||||||
|
|
||||||
|
//UserInfo
|
||||||
|
export const UserInfoTag = '[UserInfo]';
|
||||||
@ -37,7 +37,7 @@ export const GlobalConfig: GlobalConfigType = {
|
|||||||
},
|
},
|
||||||
sz: {
|
sz: {
|
||||||
km2: ['2024.08.21.01', '2024.08.24.1'],
|
km2: ['2024.08.21.01', '2024.08.24.1'],
|
||||||
km3: [],
|
km3: ['2024.08.21.01', '2024.08.24.1'],
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -5,9 +5,9 @@ import { ApiResponseType, CarInfoType, ExaminerLoginInfo } from '../model';
|
|||||||
import CryptoJS from '@ohos/crypto-js';
|
import CryptoJS from '@ohos/crypto-js';
|
||||||
import { UserLoginType } from '../model/ExaminerLogin';
|
import { UserLoginType } from '../model/ExaminerLogin';
|
||||||
import { examinerLogin } from '../api/login';
|
import { examinerLogin } from '../api/login';
|
||||||
import router from '@ohos.router';
|
|
||||||
import { dConsole } from '../utils/LogWorker';
|
import { dConsole } from '../utils/LogWorker';
|
||||||
import { ExaminerLoginTag } from '../config';
|
import { ExaminerLoginTag } from '../config';
|
||||||
|
import router from '@ohos.router';
|
||||||
|
|
||||||
|
|
||||||
@Entry
|
@Entry
|
||||||
@ -99,6 +99,7 @@ struct ExaminerLoginPage {
|
|||||||
btnComponent({
|
btnComponent({
|
||||||
text: "确定"
|
text: "确定"
|
||||||
}).onClick(async () => {
|
}).onClick(async () => {
|
||||||
|
console.log("确定按钮", '11111')
|
||||||
if (this.userName === "" || this.password === "") {
|
if (this.userName === "" || this.password === "") {
|
||||||
Prompt.showToast({
|
Prompt.showToast({
|
||||||
message: "用户名或密码不能为空",
|
message: "用户名或密码不能为空",
|
||||||
@ -106,6 +107,11 @@ struct ExaminerLoginPage {
|
|||||||
});
|
});
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
this.loadingDialog.open();
|
||||||
|
const startTime = new Date().getTime(); // 记录开始时间
|
||||||
|
const minDisplayTime = 1000; // 最小显示时间1秒
|
||||||
|
|
||||||
const carInfo: CarInfoType = AppStorage.get<CarInfoType>('carInfo')!
|
const carInfo: CarInfoType = AppStorage.get<CarInfoType>('carInfo')!
|
||||||
let password: string = CryptoJS.MD5(this.password).toString();
|
let password: string = CryptoJS.MD5(this.password).toString();
|
||||||
const param: UserLoginType = {
|
const param: UserLoginType = {
|
||||||
@ -114,26 +120,38 @@ struct ExaminerLoginPage {
|
|||||||
username: this.userName,
|
username: this.userName,
|
||||||
password
|
password
|
||||||
}
|
}
|
||||||
this.loadingDialog.open();
|
|
||||||
try {
|
try {
|
||||||
const res: ApiResponseType = await examinerLogin(param)
|
const res: ApiResponseType = await examinerLogin(param)
|
||||||
if (res?.examinerLoginRsp?.head?.resultCode == '1') {
|
if (res?.examinerLoginRsp?.head?.resultCode == '1') {
|
||||||
return
|
this.loadingDialog.close();
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
this.loadingDialog.close()
|
|
||||||
|
// 计算剩余需要等待的时间
|
||||||
|
const endTime = new Date().getTime();
|
||||||
|
const elapsedTime = endTime - startTime;
|
||||||
|
const remainingTime = Math.max(0, minDisplayTime - elapsedTime);
|
||||||
|
|
||||||
|
// 延迟关闭弹窗和跳转
|
||||||
|
setTimeout(() => {
|
||||||
|
this.loadingDialog.close();
|
||||||
router.pushUrl({
|
router.pushUrl({
|
||||||
url: 'pages/UserInfo',
|
url: 'pages/UserInfo',
|
||||||
params: {
|
params: {
|
||||||
type: 1
|
type: 1
|
||||||
}
|
}
|
||||||
}, router.RouterMode.Single);
|
}, router.RouterMode.Single);
|
||||||
|
|
||||||
const examinerLoginInfo: ExaminerLoginInfo | undefined = res.examinerLoginRsp?.body;
|
const examinerLoginInfo: ExaminerLoginInfo | undefined = res.examinerLoginRsp?.body;
|
||||||
if (!examinerLoginInfo) {
|
if (!examinerLoginInfo) {
|
||||||
dConsole.error(ExaminerLoginTag, 'examinerLoginRsp.body is undefined');
|
dConsole.error(ExaminerLoginTag, 'examinerLoginRsp.body is undefined');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
examinerLoginInfo.username = this.userName
|
examinerLoginInfo.username = this.userName;
|
||||||
AppStorage.setOrCreate<ExaminerLoginInfo>('examinerInfo', examinerLoginInfo)
|
AppStorage.setOrCreate<ExaminerLoginInfo>('examinerInfo', examinerLoginInfo);
|
||||||
|
}, remainingTime);
|
||||||
|
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
this.loadingDialog.close();
|
this.loadingDialog.close();
|
||||||
dConsole.error(ExaminerLoginTag, 'examinerLogin error: ' + e);
|
dConsole.error(ExaminerLoginTag, 'examinerLogin error: ' + e);
|
||||||
|
|||||||
@ -10,7 +10,6 @@ import FilePhoto from './judgeSDK/utils/filePhoto';
|
|||||||
|
|
||||||
import { CandidateData, EmptyCandidateObject } from '../mock/CandidateData';
|
import { CandidateData, EmptyCandidateObject } from '../mock/CandidateData';
|
||||||
import BoardPrePareSetPopup from './compontents/judge/BoardPrePareSetPopup';
|
import BoardPrePareSetPopup from './compontents/judge/BoardPrePareSetPopup';
|
||||||
import LoadingPopup from './compontents/judge/LoadingPopup';
|
|
||||||
import VoiceAnnounce from './judgeSDK/utils/voiceAnnouncements';
|
import VoiceAnnounce from './judgeSDK/utils/voiceAnnouncements';
|
||||||
|
|
||||||
import imageBtn from './compontents/imageBtn';
|
import imageBtn from './compontents/imageBtn';
|
||||||
@ -42,19 +41,19 @@ import { GetCurrentTime, NumberToByteArray } from '../utils/Common';
|
|||||||
import DB from '../utils/DbSql';
|
import DB from '../utils/DbSql';
|
||||||
import { CenterUDPBusinessInstance } from '../utils/business/CenterUdpBusiness';
|
import { CenterUDPBusinessInstance } from '../utils/business/CenterUdpBusiness';
|
||||||
import { JudgeEmitterInstance } from '../utils/business/UdpEvent';
|
import { JudgeEmitterInstance } from '../utils/business/UdpEvent';
|
||||||
import errorMsgDialog from './compontents/errorMsgDialog';
|
|
||||||
import { JudgeConfig } from '../config';
|
import { JudgeConfig } from '../config';
|
||||||
import { dConsole } from '../utils/LogWorker';
|
import { dConsole } from '../utils/LogWorker';
|
||||||
import HeaderComponent from './compontents/Header';
|
import HeaderComponent from './compontents/Header';
|
||||||
import AvatarComponent from './UserInfo/Avatar';
|
import AvatarComponent from './UserInfo/Avatar';
|
||||||
import CommTextComponent from './UserInfo/CommText';
|
import CommTextComponent from './UserInfo/CommText';
|
||||||
import LabelBlockComponent from './UserInfo/LabelBlock';
|
import LabelBlockComponent from './UserInfo/LabelBlock';
|
||||||
|
import MissAnExamDialog from './UserInfo/MissAnExamDialog';
|
||||||
|
import CarLoadingDialog from './compontents/CarLoading';
|
||||||
|
|
||||||
@Entry
|
@Entry
|
||||||
@Component
|
@Component
|
||||||
struct UserInfoPage {
|
struct UserInfoPage {
|
||||||
@State pageIndex: number = 0
|
@State pageIndex: number = 0
|
||||||
@State ratio: number = 1700 / 960
|
|
||||||
@State index: number = 0
|
@State index: number = 0
|
||||||
@State stepFlag: boolean = false;
|
@State stepFlag: boolean = false;
|
||||||
@State errorMsg: string = ''
|
@State errorMsg: string = ''
|
||||||
@ -72,10 +71,23 @@ struct UserInfoPage {
|
|||||||
@State isSecondBoardPrePareSetPopupOpen: boolean = false
|
@State isSecondBoardPrePareSetPopupOpen: boolean = false
|
||||||
@State isFirstBoardPrePareSetPopupBtnShow: boolean = false
|
@State isFirstBoardPrePareSetPopupBtnShow: boolean = false
|
||||||
@State isBoardPrePareSetPopupShow: boolean = false
|
@State isBoardPrePareSetPopupShow: boolean = false
|
||||||
@State isLoadingPopupVisible: boolean = false;
|
|
||||||
@State loadingText: string = '正在认证监管信息,请稍后...'
|
@State loadingText: string = '正在认证监管信息,请稍后...'
|
||||||
@State sczbkf: SckType[] = []
|
@State sczbkf: SckType[] = []
|
||||||
@State currentUser: User = EmptyCandidateObject
|
@State currentUser: User = EmptyCandidateObject
|
||||||
|
// 缺考弹窗
|
||||||
|
missAnExamDialogController: CustomDialogController = new CustomDialogController({
|
||||||
|
builder: MissAnExamDialog({
|
||||||
|
name: this.currentUser.xm,
|
||||||
|
onConfirm: () => {
|
||||||
|
this.qkFn()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
})
|
||||||
|
// 开始考试弹窗
|
||||||
|
startExamDialog: CustomDialogController = new CustomDialogController({
|
||||||
|
builder: CarLoadingDialog(),
|
||||||
|
autoCancel: false
|
||||||
|
})
|
||||||
@State dataList: Array<User> = []
|
@State dataList: Array<User> = []
|
||||||
@State list: Array<User> = []
|
@State list: Array<User> = []
|
||||||
@State name: string = 'initName';
|
@State name: string = 'initName';
|
||||||
@ -129,21 +141,6 @@ struct UserInfoPage {
|
|||||||
@State startExam: boolean = false
|
@State startExam: boolean = false
|
||||||
@State singlePlay: boolean = false
|
@State singlePlay: boolean = false
|
||||||
private context: common.UIAbilityContext = getContext(this) as common.UIAbilityContext;
|
private context: common.UIAbilityContext = getContext(this) as common.UIAbilityContext;
|
||||||
private title = ''
|
|
||||||
private type = '2'
|
|
||||||
errorDialog: CustomDialogController = new CustomDialogController({
|
|
||||||
builder: errorMsgDialog({
|
|
||||||
title: this.title,
|
|
||||||
type: this.type,
|
|
||||||
cancel: () => {
|
|
||||||
},
|
|
||||||
confirm: () => {
|
|
||||||
}
|
|
||||||
}),
|
|
||||||
customStyle: true,
|
|
||||||
alignment: DialogAlignment.Center,
|
|
||||||
},
|
|
||||||
)
|
|
||||||
private filePhoto!: FilePhoto
|
private filePhoto!: FilePhoto
|
||||||
// 过程照片拍照
|
// 过程照片拍照
|
||||||
getPhoto = async () => {
|
getPhoto = async () => {
|
||||||
@ -653,8 +650,6 @@ struct UserInfoPage {
|
|||||||
// await upDateTableByArray('USERLIST', [])
|
// await upDateTableByArray('USERLIST', [])
|
||||||
await DB.clearTable('USER')
|
await DB.clearTable('USER')
|
||||||
await DB.clearTable('USERLIST')
|
await DB.clearTable('USERLIST')
|
||||||
this.type = '2'
|
|
||||||
this.errorDialog.open()
|
|
||||||
this.updateTimeLimit = true
|
this.updateTimeLimit = true
|
||||||
let md5Message: string = CryptoJS.MD5(this.carInfo.carId! +
|
let md5Message: string = CryptoJS.MD5(this.carInfo.carId! +
|
||||||
this.carInfo.examinationRoomId! +
|
this.carInfo.examinationRoomId! +
|
||||||
@ -664,7 +659,6 @@ struct UserInfoPage {
|
|||||||
try {
|
try {
|
||||||
getExaminationStudentInfo(param).then(async (res) => {
|
getExaminationStudentInfo(param).then(async (res) => {
|
||||||
dConsole.log("temp log ", JSON.stringify(res))
|
dConsole.log("temp log ", JSON.stringify(res))
|
||||||
this.errorDialog.close()
|
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
this.updateTimeLimit = false
|
this.updateTimeLimit = false
|
||||||
}, 3000)
|
}, 3000)
|
||||||
@ -767,12 +761,10 @@ struct UserInfoPage {
|
|||||||
})
|
})
|
||||||
}).catch((error: BusinessError) => {
|
}).catch((error: BusinessError) => {
|
||||||
this.updateTimeLimit = false
|
this.updateTimeLimit = false
|
||||||
this.errorDialog.close()
|
|
||||||
dConsole.log('error12error' + error)
|
dConsole.log('error12error' + error)
|
||||||
})
|
})
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
this.updateTimeLimit = false
|
this.updateTimeLimit = false
|
||||||
this.errorDialog.close()
|
|
||||||
dConsole.log('error14error' + error)
|
dConsole.log('error14error' + error)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -796,7 +788,6 @@ struct UserInfoPage {
|
|||||||
lsh: this.lsh
|
lsh: this.lsh
|
||||||
}
|
}
|
||||||
dConsole.log('carNo1111', param)
|
dConsole.log('carNo1111', param)
|
||||||
|
|
||||||
examinationStuAbsent(param).then(res => {
|
examinationStuAbsent(param).then(res => {
|
||||||
const arr = [this.signNum || 0, 1]
|
const arr = [this.signNum || 0, 1]
|
||||||
let tmpList: number[] = [];
|
let tmpList: number[] = [];
|
||||||
@ -866,7 +857,7 @@ struct UserInfoPage {
|
|||||||
}
|
}
|
||||||
this.currentUser.id = '1'
|
this.currentUser.id = '1'
|
||||||
const avPlayer = this.avPlayer;
|
const avPlayer = this.avPlayer;
|
||||||
this.isLoadingPopupVisible = true
|
this.startExamDialog.open()
|
||||||
|
|
||||||
avPlayer.playAudio([`voice/监管通信中.mp3`], false, async () => {
|
avPlayer.playAudio([`voice/监管通信中.mp3`], false, async () => {
|
||||||
dConsole.info('surenjun', '播放结束开始考试接口调用')
|
dConsole.info('surenjun', '播放结束开始考试接口调用')
|
||||||
@ -877,7 +868,7 @@ struct UserInfoPage {
|
|||||||
|
|
||||||
if (res.code != 1) {
|
if (res.code != 1) {
|
||||||
avPlayer.playAudio([res.code == -200 ? 'voice/photo_error.mp3' : 'voice/监管审核未通过.mp3']);
|
avPlayer.playAudio([res.code == -200 ? 'voice/photo_error.mp3' : 'voice/监管审核未通过.mp3']);
|
||||||
this.isLoadingPopupVisible = false
|
this.startExamDialog.close()
|
||||||
this.isExamStart = false
|
this.isExamStart = false
|
||||||
promptAction.showToast({
|
promptAction.showToast({
|
||||||
message: res.message,
|
message: res.message,
|
||||||
@ -889,7 +880,7 @@ struct UserInfoPage {
|
|||||||
// await upDateTableByArray('USER', [this.currentUser])
|
// await upDateTableByArray('USER', [this.currentUser])
|
||||||
await SqlInsertTable('USER', [this.currentUser])
|
await SqlInsertTable('USER', [this.currentUser])
|
||||||
this.stepFlag = false
|
this.stepFlag = false
|
||||||
this.isLoadingPopupVisible = false
|
this.startExamDialog.close()
|
||||||
router.pushUrl({
|
router.pushUrl({
|
||||||
url: 'pages/Judge',
|
url: 'pages/Judge',
|
||||||
params: {
|
params: {
|
||||||
@ -1013,15 +1004,12 @@ struct UserInfoPage {
|
|||||||
|
|
||||||
// 开始考试
|
// 开始考试
|
||||||
async beginExam(): Promise<BeginExamRequest> {
|
async beginExam(): Promise<BeginExamRequest> {
|
||||||
// const { examSubject, plateNo } = this.carInfo;
|
|
||||||
const date = new Date()
|
|
||||||
// const startHourTime = await getCurrentHourTime()
|
|
||||||
const startHourTime = dayTs().format("HHmmssSSS")
|
const startHourTime = dayTs().format("HHmmssSSS")
|
||||||
AppStorage.setOrCreate('startHourTime', startHourTime)
|
AppStorage.setOrCreate('startHourTime', startHourTime)
|
||||||
const photoBase64 = await this.getPhoto();
|
const photoBase64 = await this.getPhoto();
|
||||||
if (photoBase64 == '') {
|
if (photoBase64 == '') {
|
||||||
this.ksksLimit = false
|
this.ksksLimit = false
|
||||||
this.isLoadingPopupVisible = false
|
this.startExamDialog.close()
|
||||||
return { code: -200 }
|
return { code: -200 }
|
||||||
}
|
}
|
||||||
const drvexam: DrvexamType = {
|
const drvexam: DrvexamType = {
|
||||||
@ -1032,7 +1020,7 @@ struct UserInfoPage {
|
|||||||
ksysfzmhm: this.currentUser.ksy1sfzmhm || '',
|
ksysfzmhm: this.currentUser.ksy1sfzmhm || '',
|
||||||
ksxl: this.currentUser.xldm,
|
ksxl: this.currentUser.xldm,
|
||||||
zp: photoBase64,
|
zp: photoBase64,
|
||||||
kssj: dayTs(date).format("YYYY-MM-DD HH:mm:ss") || '',
|
kssj: dayTs().format("YYYY-MM-DD HH:mm:ss") || '',
|
||||||
kchp: decodeURI(this.carInfo.plateNo || ""),
|
kchp: decodeURI(this.carInfo.plateNo || ""),
|
||||||
Ksy2sfzmhm: this.currentUser.ksy2sfzmhm || ''
|
Ksy2sfzmhm: this.currentUser.ksy2sfzmhm || ''
|
||||||
}
|
}
|
||||||
@ -1088,11 +1076,11 @@ struct UserInfoPage {
|
|||||||
// 几个按钮公共样式
|
// 几个按钮公共样式
|
||||||
@Styles
|
@Styles
|
||||||
commStyle(){
|
commStyle(){
|
||||||
.width(220 * this.ratio)
|
.width(389)
|
||||||
.height(69 * this.ratio)
|
.height(122)
|
||||||
.backgroundImage($r('app.media.button_nor'))
|
.backgroundImage($r('app.media.button_nor'))
|
||||||
.backgroundImageSize({ width: '100%', height: '100%' })
|
.backgroundImageSize({ width: '100%', height: '100%' })
|
||||||
.margin({ bottom: 12 * this.ratio })
|
.margin({ bottom: 21 })
|
||||||
}
|
}
|
||||||
|
|
||||||
build() {
|
build() {
|
||||||
@ -1117,8 +1105,8 @@ struct UserInfoPage {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.width(165 * this.ratio)
|
.width(292) // 165 * 1.770833 ≈ 292.187 → 292
|
||||||
.height(85 * this.ratio)
|
.height(151) // 85 * 1.770833 ≈ 150.52 → 151
|
||||||
.backgroundImage(item.sfzmhm != this.currentUser.sfzmhm ? $r('app.media.userbox2') :
|
.backgroundImage(item.sfzmhm != this.currentUser.sfzmhm ? $r('app.media.userbox2') :
|
||||||
$r('app.media.userboxbg'))
|
$r('app.media.userboxbg'))
|
||||||
.backgroundImageSize({ width: '100%', height: '100%' })
|
.backgroundImageSize({ width: '100%', height: '100%' })
|
||||||
@ -1133,26 +1121,26 @@ struct UserInfoPage {
|
|||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
this.currentUser = item
|
this.currentUser = item
|
||||||
this.currentUser.ksy2 = this.examinerLoginInfo.kgxm || ""
|
this.currentUser.ksy2 = this.examinerLoginInfo.kgxm || ""
|
||||||
|
|
||||||
}, 200)
|
}, 200)
|
||||||
|
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
}.width(640 * this.ratio).margin({ left: 30 * this.ratio })
|
}.width(1133) // 640 * 1.770833 ≈ 1133.33 → 1133
|
||||||
|
.margin({ left: 53 }) // 30 * 1.770833 ≈ 53.12 → 53
|
||||||
|
|
||||||
Image($r('app.media.dk_prev'))
|
Image($r('app.media.dk_prev'))
|
||||||
.width(90 * this.ratio)
|
.width(159)// 90 * 1.770833 ≈ 159.37 → 159
|
||||||
.height(70 * this.ratio)
|
.height(124)// 70 * 1.770833 ≈ 123.96 → 124
|
||||||
.margin({ left: 65 * this.ratio, right: 10 * this.ratio })
|
.margin({ left: 115, right: 18 })// 65→115, 10→18
|
||||||
.onClick(() => {
|
.onClick(() => {
|
||||||
// this.avPlayer.playAudio(['button_media.wav'])
|
|
||||||
this.prevClick()
|
this.prevClick()
|
||||||
})
|
})
|
||||||
Image($r('app.media.dk_next')).width(90 * this.ratio).height(70 * this.ratio).onClick(() => {
|
Image($r('app.media.dk_next'))
|
||||||
// this.avPlayer.playAudio(['button_media.wav'])
|
.width(159)// 90→159
|
||||||
|
.height(124)// 70→124
|
||||||
|
.onClick(() => {
|
||||||
this.nextClick()
|
this.nextClick()
|
||||||
})
|
})
|
||||||
}.margin({ top: 40 * this.ratio, bottom: 10 * this.ratio })
|
}.margin({ top: 71, bottom: 18 }) // 40→71, 10→18
|
||||||
|
|
||||||
Flex({ justifyContent: FlexAlign.SpaceBetween }) {
|
Flex({ justifyContent: FlexAlign.SpaceBetween }) {
|
||||||
Row() {
|
Row() {
|
||||||
@ -1186,17 +1174,17 @@ struct UserInfoPage {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.width(664 * this.ratio)
|
.width(1176) // 664→1176
|
||||||
.height(339 * this.ratio)
|
.height(600) // 339→600
|
||||||
.backgroundImage($r('app.media.dkbg'))
|
.backgroundImage($r('app.media.dkbg'))
|
||||||
.backgroundImageSize({ width: '100%', height: '100%' })
|
.backgroundImageSize({ width: '100%', height: '100%' })
|
||||||
.margin({ left: 53 * this.ratio })
|
.margin({ left: 94 }) // 53→94
|
||||||
|
|
||||||
Column() {
|
Column() {
|
||||||
imageBtn({ btnWidth: 220 * this.ratio, btnHeight: 69 * this.ratio, imgSrc: $r('app.media.yydj_btn') })
|
imageBtn({ btnWidth: 390, btnHeight: 122, imgSrc: $r('app.media.yydj_btn') })// 220→390, 69→122
|
||||||
.margin({ bottom: 12 * this.ratio })
|
.margin({ bottom: 21 }) // 12→21
|
||||||
imageBtn({ btnWidth: 220 * this.ratio, btnHeight: 69 * this.ratio, imgSrc: $r('app.media.gx_btn') })
|
imageBtn({ btnWidth: 390, btnHeight: 122, imgSrc: $r('app.media.gx_btn') })
|
||||||
.margin({ bottom: 12 * this.ratio })
|
.margin({ bottom: 21 })
|
||||||
.onClick(() => {
|
.onClick(() => {
|
||||||
if (this.isExamStart && !this.singlePlay) {
|
if (this.isExamStart && !this.singlePlay) {
|
||||||
return
|
return
|
||||||
@ -1205,23 +1193,23 @@ struct UserInfoPage {
|
|||||||
this.numCount = 0
|
this.numCount = 0
|
||||||
this.getExaminationStudentInfoFn()
|
this.getExaminationStudentInfoFn()
|
||||||
})
|
})
|
||||||
imageBtn({ btnWidth: 220 * this.ratio, btnHeight: 69 * this.ratio, imgSrc: $r('app.media.qk_btn') })
|
imageBtn({ btnWidth: 390, btnHeight: 122, imgSrc: $r('app.media.qk_btn') })
|
||||||
.margin({ bottom: 12 * this.ratio })
|
.margin({ bottom: 21 })
|
||||||
.onClick(() => {
|
.onClick(() => {
|
||||||
// 已开始考试不能缺考 已考过一次学员不能缺考 车上不能缺考
|
|
||||||
if (this.ksksLimit || (this.systemParam.Param352Str == '1' && this.currentUser.kssycs == '1') ||
|
if (this.ksksLimit || (this.systemParam.Param352Str == '1' && this.currentUser.kssycs == '1') ||
|
||||||
this.systemParam.Param770Str == '1') {
|
this.systemParam.Param770Str == '1') {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
this.ksksLimit = true
|
this.ksksLimit = true
|
||||||
this.qkFlag = true
|
// this.qkFlag = true
|
||||||
|
this.missAnExamDialogController.open()
|
||||||
})
|
})
|
||||||
|
|
||||||
if (this.isBoardPrePareSetPopupOpen &&
|
if (this.isBoardPrePareSetPopupOpen &&
|
||||||
(this.isSecondBoardPrePareSetPopupOpen && this.currentUser.kssycs == '2') &&
|
(this.isSecondBoardPrePareSetPopupOpen && this.currentUser.kssycs == '2') &&
|
||||||
!this.isFirstBoardPrePareSetPopupBtnShow) {
|
!this.isFirstBoardPrePareSetPopupBtnShow) {
|
||||||
imageBtn({ btnWidth: 220 * this.ratio, btnHeight: 69 * this.ratio, imgSrc: $r('app.media.sczb_btn') })
|
imageBtn({ btnWidth: 390, btnHeight: 122, imgSrc: $r('app.media.sczb_btn') })
|
||||||
.margin({ bottom: 12 * this.ratio })
|
.margin({ bottom: 21 })
|
||||||
.onClick(async () => {
|
.onClick(async () => {
|
||||||
if (this.systemParam.Param612Str == '1') {
|
if (this.systemParam.Param612Str == '1') {
|
||||||
return
|
return
|
||||||
@ -1229,8 +1217,8 @@ struct UserInfoPage {
|
|||||||
await this.prePareSCZB()
|
await this.prePareSCZB()
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
imageBtn({ btnWidth: 220 * this.ratio, btnHeight: 69 * this.ratio, imgSrc: $r('app.media.ksks_btn') })
|
imageBtn({ btnWidth: 390, btnHeight: 122, imgSrc: $r('app.media.ksks_btn') })
|
||||||
.margin({ bottom: 12 * this.ratio })
|
.margin({ bottom: 21 })
|
||||||
.onClick(async () => {
|
.onClick(async () => {
|
||||||
if (this.systemParam.Param612Str == '1') {
|
if (this.systemParam.Param612Str == '1') {
|
||||||
return
|
return
|
||||||
@ -1242,7 +1230,6 @@ struct UserInfoPage {
|
|||||||
}
|
}
|
||||||
}.backgroundColor("#1E1E1E").width("100%").height("100%")
|
}.backgroundColor("#1E1E1E").width("100%").height("100%")
|
||||||
|
|
||||||
|
|
||||||
if (this.showFaceCompare) {
|
if (this.showFaceCompare) {
|
||||||
FaceCompare({
|
FaceCompare({
|
||||||
sfzh: this.currentUser.sfzmhm,
|
sfzh: this.currentUser.sfzmhm,
|
||||||
@ -1254,40 +1241,6 @@ struct UserInfoPage {
|
|||||||
lsh: AppStorage.get<string>('lsh'),
|
lsh: AppStorage.get<string>('lsh'),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
if (this.qkFlag) {
|
|
||||||
Column() {
|
|
||||||
Text('确认考生:' + this.currentUser.xm + '是否缺考')
|
|
||||||
.fontSize(28 * this.ratio)
|
|
||||||
.position({ x: 160 * this.ratio, y: 122 * this.ratio })
|
|
||||||
Row() {
|
|
||||||
Flex({ justifyContent: FlexAlign.Center, alignItems: ItemAlign.Center }) {
|
|
||||||
Text(' 取 消 ').fontSize(24 * this.ratio).fontColor('#fff').width(100 * this.ratio)
|
|
||||||
}
|
|
||||||
.commStyle()
|
|
||||||
.onClick(() => {
|
|
||||||
this.ksksLimit = false
|
|
||||||
this.qkFlag = false
|
|
||||||
})
|
|
||||||
|
|
||||||
Flex({ justifyContent: FlexAlign.Center, alignItems: ItemAlign.Center }) {
|
|
||||||
Text(' 确 定 ').fontSize(24 * this.ratio).fontColor('#fff').width(100 * this.ratio)
|
|
||||||
}
|
|
||||||
.commStyle()
|
|
||||||
.onClick(() => {
|
|
||||||
// this.avPlayer.playAudio(['button_media.wav'])
|
|
||||||
this.qkFn()
|
|
||||||
})
|
|
||||||
}.position({ y: 265 * this.ratio, x: 115 * this.ratio })
|
|
||||||
|
|
||||||
}
|
|
||||||
.width(660 * this.ratio)
|
|
||||||
.height(360 * this.ratio)
|
|
||||||
.position({ x: 150 * this.ratio, y: 98 * this.ratio })
|
|
||||||
.backgroundColor('#E6E3DF')
|
|
||||||
.borderRadius(19 * this.ratio)
|
|
||||||
}
|
|
||||||
|
|
||||||
// 上车准备弹窗
|
|
||||||
if (this.isBoardPrePareSetPopupShow) {
|
if (this.isBoardPrePareSetPopupShow) {
|
||||||
BoardPrePareSetPopup({
|
BoardPrePareSetPopup({
|
||||||
closePopup: () => {
|
closePopup: () => {
|
||||||
@ -1298,13 +1251,6 @@ struct UserInfoPage {
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// loading
|
|
||||||
if (this.isLoadingPopupVisible) {
|
|
||||||
LoadingPopup({
|
|
||||||
title: this.loadingText,
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
.height('100%')
|
.height('100%')
|
||||||
.width('100%')
|
.width('100%')
|
||||||
|
|||||||
@ -1,9 +1,48 @@
|
|||||||
// 缺考考生弹窗
|
// 缺考考生弹窗
|
||||||
|
import BtnComponent from '../compontents/Button';
|
||||||
|
|
||||||
@CustomDialog
|
@CustomDialog
|
||||||
export default struct MissAnExamDialog {
|
export default struct MissAnExamDialog {
|
||||||
|
@Prop name: string = "xxx";
|
||||||
private controller?: CustomDialogController;
|
private controller?: CustomDialogController;
|
||||||
|
onConfirm: () => void = () => {
|
||||||
|
};
|
||||||
|
|
||||||
build() {
|
build() {
|
||||||
|
Column() {
|
||||||
|
Text("提示信息").fontSize(26).margin({
|
||||||
|
top: 40
|
||||||
|
}).fontWeight(FontWeight.Bold)
|
||||||
|
Row() {
|
||||||
|
Text(`确认考生:${this.name}是否缺考?`).fontSize(28)
|
||||||
|
}.height(300).justifyContent(FlexAlign.Center).alignItems(VerticalAlign.Center)
|
||||||
|
|
||||||
|
Row() {
|
||||||
|
BtnComponent({
|
||||||
|
text: "取消",
|
||||||
|
}).onClick(() => {
|
||||||
|
this.controller?.close();
|
||||||
|
})
|
||||||
|
|
||||||
|
BtnComponent().onClick(() => {
|
||||||
|
this.onConfirm()
|
||||||
|
})
|
||||||
|
}.width("100%").height(100).justifyContent(FlexAlign.Center).alignItems(VerticalAlign.Center)
|
||||||
|
}
|
||||||
|
.width(1000)
|
||||||
|
.height(500)
|
||||||
|
.borderRadius(20)
|
||||||
|
.backgroundColor("#E5E3DF")
|
||||||
|
.shadow({
|
||||||
|
radius: 30,
|
||||||
|
color: "#E7B544"
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Component
|
||||||
|
struct btnComponent {
|
||||||
|
build() {
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
23
entry/src/main/ets/pages/compontents/Button.ets
Normal file
23
entry/src/main/ets/pages/compontents/Button.ets
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
@Component
|
||||||
|
export default struct BtnComponent {
|
||||||
|
@State text: string = "确认"
|
||||||
|
|
||||||
|
build() {
|
||||||
|
Row() {
|
||||||
|
Text(this.text).fontColor("#F4EEE7").fontSize(28)
|
||||||
|
}
|
||||||
|
.backgroundImage($r("app.media.nor_btn"))
|
||||||
|
.backgroundImageSize({
|
||||||
|
width: "100%",
|
||||||
|
height: "100%"
|
||||||
|
})
|
||||||
|
.width(200)
|
||||||
|
.height(80)
|
||||||
|
.justifyContent(FlexAlign.Center)
|
||||||
|
.alignItems(VerticalAlign.Center)
|
||||||
|
.margin({
|
||||||
|
left: 40,
|
||||||
|
right: 40
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
14
entry/src/main/ets/pages/compontents/CarLoading.ets
Normal file
14
entry/src/main/ets/pages/compontents/CarLoading.ets
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
@CustomDialog
|
||||||
|
export default struct CarLoadingDialog {
|
||||||
|
@State text: string = "正在认证监管信息,请稍后..."
|
||||||
|
private controller?: CustomDialogController;
|
||||||
|
|
||||||
|
build() {
|
||||||
|
Column() {
|
||||||
|
Image($rawfile('judge/loading-car.gif')).width(250).margin({ top: 20, bottom: 20 })
|
||||||
|
Row() {
|
||||||
|
Text(this.text).fontSize(20)
|
||||||
|
}
|
||||||
|
}.width(500).height(500).justifyContent(FlexAlign.Center).alignItems(HorizontalAlign.Center)
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -9,6 +9,7 @@
|
|||||||
import dayTs from '../../utils/Date'
|
import dayTs from '../../utils/Date'
|
||||||
import router from '@ohos.router'
|
import router from '@ohos.router'
|
||||||
import common from '@ohos.app.ability.common'
|
import common from '@ohos.app.ability.common'
|
||||||
|
import BtnComponent from './Button'
|
||||||
|
|
||||||
@Component
|
@Component
|
||||||
export default struct HeaderComponent {
|
export default struct HeaderComponent {
|
||||||
@ -133,25 +134,3 @@ struct exitDialogComponent {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Component
|
|
||||||
struct BtnComponent {
|
|
||||||
@State text: string = "确认"
|
|
||||||
|
|
||||||
build() {
|
|
||||||
Row() {
|
|
||||||
Text(this.text).fontColor("#F4EEE7").fontSize(28)
|
|
||||||
}
|
|
||||||
.backgroundImage($r("app.media.nor_btn"))
|
|
||||||
.backgroundImageSize({
|
|
||||||
width: "100%",
|
|
||||||
height: "100%"
|
|
||||||
})
|
|
||||||
.width(200)
|
|
||||||
.height(80)
|
|
||||||
.justifyContent(FlexAlign.Center)
|
|
||||||
.alignItems(VerticalAlign.Center)
|
|
||||||
.margin({
|
|
||||||
left: 80
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Loading…
x
Reference in New Issue
Block a user