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