fix: 重构登陆页面
This commit is contained in:
parent
cb302cf9c8
commit
0c0fc179c9
@ -53,3 +53,9 @@ export const InitTableTag = '[InitTable]';
|
|||||||
|
|
||||||
//数据库操作
|
//数据库操作
|
||||||
export const DbOperationTag = '[DbOperation]';
|
export const DbOperationTag = '[DbOperation]';
|
||||||
|
|
||||||
|
//路线
|
||||||
|
export const RoadsTag = '[Roads]';
|
||||||
|
|
||||||
|
//ExaminerLogin
|
||||||
|
export const ExaminerLoginTag = '[ExaminerLogin]';
|
||||||
@ -24,6 +24,7 @@ export default class EntryAbility extends UIAbility {
|
|||||||
if (data !== '' && data !== undefined) {
|
if (data !== '' && data !== undefined) {
|
||||||
const result: EnvironmentConfigurationType = JSON.parse(data)
|
const result: EnvironmentConfigurationType = JSON.parse(data)
|
||||||
AppStorage.setOrCreate<EnvironmentConfigurationType>("EnvironmentConfiguration", result)
|
AppStorage.setOrCreate<EnvironmentConfigurationType>("EnvironmentConfiguration", result)
|
||||||
|
console.log("日志", result.isOpenLog)
|
||||||
if (result.isOpenLog) {
|
if (result.isOpenLog) {
|
||||||
dConsole.init(result.isOpenLog)
|
dConsole.init(result.isOpenLog)
|
||||||
}
|
}
|
||||||
@ -73,7 +74,7 @@ export default class EntryAbility extends UIAbility {
|
|||||||
AppStorage.setOrCreate('windowClass', windowClass)
|
AppStorage.setOrCreate('windowClass', windowClass)
|
||||||
await windowClass.setWindowLayoutFullScreen(true)
|
await windowClass.setWindowLayoutFullScreen(true)
|
||||||
// await windowClass.setWindowSystemBarEnable([]) //全屏
|
// await windowClass.setWindowSystemBarEnable([]) //全屏
|
||||||
windowStage.loadContent('pages/Index', (err, data) => {
|
windowStage.loadContent('pages/ExaminerLogin', (err, data) => {
|
||||||
if (err.code) {
|
if (err.code) {
|
||||||
hilog.error(0x0000, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err) ?? '');
|
hilog.error(0x0000, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err) ?? '');
|
||||||
return;
|
return;
|
||||||
|
|||||||
@ -1,204 +1,221 @@
|
|||||||
import router from '@ohos.router';
|
import HeaderComponent from './compontents/Header';
|
||||||
import TopLogo from './compontents/TopLogo';
|
import LoadingComponent from './compontents/Loading';
|
||||||
import promptAction from '@ohos.promptAction';
|
import Prompt from '@system.prompt';
|
||||||
import errorMsgDialog from './compontents/errorMsgDialog';
|
import { ApiResponseType, CarInfoType, ExaminerLoginInfo } from '../model';
|
||||||
import imageBtn from './compontents/imageBtn';
|
import CryptoJS from '@ohos/crypto-js';
|
||||||
import { UserLoginType } from '../model/ExaminerLogin';
|
import { UserLoginType } from '../model/ExaminerLogin';
|
||||||
import { BusinessError } from '@ohos.base';
|
|
||||||
import { examinerLogin } from '../api/login';
|
import { examinerLogin } from '../api/login';
|
||||||
import { ApiResponseType, CarInfoType, ExaminerLoginInfo } from '../model/index';
|
import router from '@ohos.router';
|
||||||
import { CryptoJS } from '@ohos/crypto-js';
|
|
||||||
import { dConsole } from '../utils/LogWorker';
|
import { dConsole } from '../utils/LogWorker';
|
||||||
|
import { ExaminerLoginTag } from '../config';
|
||||||
|
|
||||||
|
|
||||||
@Entry
|
@Entry
|
||||||
@Component
|
@Component
|
||||||
struct ExaminerLoginPage {
|
struct ExaminerLoginPage {
|
||||||
@State ratio: number = 1700 / 960
|
@State dataList: string[] = ["1", "2", "3", "4", "退格", "5", "6", "7", "8", "清空", "9", "0", "X"];
|
||||||
@State url: string = ''
|
@State userName: string = "";
|
||||||
@State inputPlaceholderArr: string[] = ['用户账户', '密码'];
|
@State password: string = "";
|
||||||
@State inputTextArr: string[] = ['', ''];
|
@State selectIndex: string = "0"
|
||||||
@State imgArr1: Resource[] =
|
loadingDialog: CustomDialogController = new CustomDialogController({
|
||||||
[$r('app.media.1_nor'), $r('app.media.2_nor'), $r('app.media.3_nor'), $r('app.media.4_nor'), $r('app.media.5_nor'),
|
builder: LoadingComponent({
|
||||||
$r('app.media.6_nor'), $r('app.media.7_nor'), $r('app.media.8_nor'), $r('app.media.9_nor'), $r('app.media.0_nor'),
|
text: "正在登录,请稍候..."
|
||||||
$r('app.media.x_nor'), $r('app.media.clear_nor'), $r('app.media.delete_nor'), $r('app.media.confirm_nor')]
|
|
||||||
@State currentInputIndex: number = 0
|
|
||||||
@State limit: boolean = false
|
|
||||||
@State @Watch('outClick') outFlag: boolean = false;
|
|
||||||
// private vocObj = null;
|
|
||||||
private title = ''
|
|
||||||
private type = '2'
|
|
||||||
errorDialog: CustomDialogController = new CustomDialogController({
|
|
||||||
builder: errorMsgDialog({
|
|
||||||
title: this.title,
|
|
||||||
type: this.type,
|
|
||||||
cancel: () => {
|
|
||||||
},
|
|
||||||
confirm: () => {
|
|
||||||
}
|
|
||||||
}),
|
}),
|
||||||
customStyle: true,
|
autoCancel: false
|
||||||
alignment: DialogAlignment.Center,
|
})
|
||||||
},
|
|
||||||
)
|
|
||||||
|
|
||||||
build() {
|
build() {
|
||||||
Column() {
|
Flex({
|
||||||
TopLogo({ outFlag: $outFlag })
|
direction: FlexDirection.Column,
|
||||||
Column() {
|
}) {
|
||||||
Text('请考官输入用户名密码').fontColor('#FFAD33').fontSize(36 * this.ratio)
|
HeaderComponent({
|
||||||
Row() {
|
shortLogo: true,
|
||||||
ForEach(this.inputPlaceholderArr, (item: string, index: number) => {
|
shouBackArea: true
|
||||||
Row() {
|
|
||||||
TextInput({ placeholder: `${item}`, text: this.inputTextArr[index] })
|
|
||||||
.fontSize(42 * this.ratio)
|
|
||||||
.fontColor('white')
|
|
||||||
.placeholderFont({ size: 42 * this.ratio })
|
|
||||||
.placeholderColor('gray')
|
|
||||||
.caretColor('white')
|
|
||||||
.backgroundColor('transparent')
|
|
||||||
.width('90%')
|
|
||||||
.margin({ left: '4%' })
|
|
||||||
.type(index === 0 ? InputType.Normal : InputType.Password)
|
|
||||||
.focusable(false)
|
|
||||||
.onClick(() => {
|
|
||||||
this.currentInputIndex = index;
|
|
||||||
})
|
})
|
||||||
|
Row() {
|
||||||
|
Text("请考官输入用户名和密码")
|
||||||
|
.fontSize(40)
|
||||||
|
.fontColor("#EF9335")
|
||||||
|
.width("100%")
|
||||||
|
.height(50)
|
||||||
|
.textAlign(TextAlign.Center)
|
||||||
|
}
|
||||||
|
|
||||||
|
Column() {
|
||||||
|
Row() {
|
||||||
|
inputComponent({
|
||||||
|
active: this.selectIndex === "0",
|
||||||
|
value: this.userName,
|
||||||
|
onSelect: () => {
|
||||||
|
this.selectIndex = "0"
|
||||||
}
|
}
|
||||||
.backgroundImage(this.currentInputIndex == index ? $r('app.media.kuang_pre') : $r('app.media.kuang_nor'))
|
|
||||||
.backgroundImageSize({ width: '100%', height: '100%' })
|
|
||||||
.width('48%')
|
|
||||||
.height('14.9%')
|
|
||||||
})
|
})
|
||||||
}
|
inputComponent({
|
||||||
.width('90%')
|
active: this.selectIndex === "1",
|
||||||
.margin({ top: 25 * this.ratio }) //20
|
value: this.password,
|
||||||
.justifyContent(FlexAlign.SpaceBetween)
|
placeholder: "请输入密码",
|
||||||
|
onSelect: () => {
|
||||||
|
this.selectIndex = "1"
|
||||||
|
},
|
||||||
|
})
|
||||||
|
}.width("100%").justifyContent(FlexAlign.SpaceBetween)
|
||||||
|
|
||||||
Column() {
|
Column() {
|
||||||
Flex({
|
Flex({
|
||||||
wrap: FlexWrap.Wrap,
|
direction: FlexDirection.Column
|
||||||
justifyContent: FlexAlign.SpaceAround,
|
|
||||||
alignContent: FlexAlign.SpaceAround
|
|
||||||
}) {
|
}) {
|
||||||
ForEach(this.imgArr1, (item: Resource, index: number) => {
|
Grid() {
|
||||||
if (index === this.imgArr1.length - 1) {
|
ForEach(this.dataList, (item: string) => {
|
||||||
imageBtn({ btnWidth: '38%', btnHeight: '24%', imgSrc: item })
|
GridItem() {
|
||||||
.onClick(() => {
|
btnComponent({
|
||||||
if (this.inputTextArr[0].trim() == '' || this.inputTextArr[1].trim() == '') {
|
text: item
|
||||||
promptAction.showToast({
|
}).onClick(() => {
|
||||||
message: '请输入用户名和密码',
|
if (item === "退格") {
|
||||||
duration: 3000
|
if (this.selectIndex === "0") {
|
||||||
});
|
this.userName = this.userName.slice(0, -1);
|
||||||
return
|
} else {
|
||||||
|
this.password = this.password.slice(0, -1);
|
||||||
}
|
}
|
||||||
if (this.limit) {
|
} else if (item === "清空") {
|
||||||
return
|
this.userName = "";
|
||||||
|
this.password = "";
|
||||||
|
} else if (item === "X") {
|
||||||
|
this.selectIndex = "0";
|
||||||
|
} else {
|
||||||
|
if (this.selectIndex === "0") {
|
||||||
|
this.userName += item;
|
||||||
|
} else {
|
||||||
|
this.password += item;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
GridItem() {
|
||||||
|
btnComponent({
|
||||||
|
text: "确定"
|
||||||
|
}).onClick(async () => {
|
||||||
|
if (this.userName === "" || this.password === "") {
|
||||||
|
Prompt.showToast({
|
||||||
|
message: "用户名或密码不能为空",
|
||||||
|
duration: 2000
|
||||||
|
});
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
const carInfo: CarInfoType = AppStorage.get<CarInfoType>('carInfo')!
|
const carInfo: CarInfoType = AppStorage.get<CarInfoType>('carInfo')!
|
||||||
let password: string = CryptoJS.MD5(this.inputTextArr[1]).toString();
|
let password: string = CryptoJS.MD5(this.password).toString();
|
||||||
const param: UserLoginType = {
|
const param: UserLoginType = {
|
||||||
carId: carInfo.carId as string,
|
carId: carInfo.carId as string,
|
||||||
examinationRoomId: carInfo.examinationRoomId as string,
|
examinationRoomId: carInfo.examinationRoomId as string,
|
||||||
username: this.inputTextArr[0],
|
username: this.userName,
|
||||||
// password: Md5.Instance.get_md5(this.inputTextArr[1])
|
|
||||||
password
|
password
|
||||||
}
|
}
|
||||||
this.type = '2'
|
this.loadingDialog.open();
|
||||||
this.errorDialog.open()
|
|
||||||
this.limit = true
|
|
||||||
try {
|
try {
|
||||||
// TODO
|
const res: ApiResponseType = await examinerLogin(param)
|
||||||
examinerLogin(param).then((res: ApiResponseType) => {
|
|
||||||
// AppStorage.setOrCreate('examinerInfo', res?.examinerLoginRsp?.body)
|
|
||||||
dConsole.log('res?.examinerLoginRsp?.head?.resultCode', res?.examinerLoginRsp?.head?.resultCode,
|
|
||||||
JSON.stringify(res))
|
|
||||||
this.errorDialog.close()
|
|
||||||
|
|
||||||
this.limit = false
|
|
||||||
if (res?.examinerLoginRsp?.head?.resultCode == '1') {
|
if (res?.examinerLoginRsp?.head?.resultCode == '1') {
|
||||||
// this.type='1'
|
|
||||||
// this.title=decodeURIComponent(res.examinerLoginRsp.head.resultMessage)
|
|
||||||
// dConsole.log('this.titlt',this.title)
|
|
||||||
// this.errorDialog.open()
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
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);
|
||||||
|
|
||||||
dConsole.log('res11', JSON.stringify(res))
|
|
||||||
const examinerLoginInfo: ExaminerLoginInfo | undefined = res.examinerLoginRsp?.body;
|
const examinerLoginInfo: ExaminerLoginInfo | undefined = res.examinerLoginRsp?.body;
|
||||||
if (!examinerLoginInfo) {
|
if (!examinerLoginInfo) {
|
||||||
dConsole.error('examinerLoginRsp.body is undefined');
|
dConsole.error(ExaminerLoginTag, 'examinerLoginRsp.body is undefined');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
examinerLoginInfo.username = this.inputTextArr[0]
|
examinerLoginInfo.username = this.userName
|
||||||
AppStorage.setOrCreate<ExaminerLoginInfo>('examinerInfo', examinerLoginInfo)
|
AppStorage.setOrCreate<ExaminerLoginInfo>('examinerInfo', examinerLoginInfo)
|
||||||
}).catch((err: BusinessError) => {
|
} catch (e) {
|
||||||
this.errorDialog.close()
|
this.loadingDialog.close();
|
||||||
this.limit = false
|
dConsole.error(ExaminerLoginTag, 'examinerLogin error: ' + e);
|
||||||
})
|
Prompt.showToast({
|
||||||
} catch (error) {
|
message: "登录失败,请稍后重试",
|
||||||
this.errorDialog.close()
|
duration: 2000
|
||||||
this.limit = false
|
});
|
||||||
}
|
|
||||||
|
|
||||||
})
|
|
||||||
} else {
|
|
||||||
imageBtn({ btnWidth: '18%', btnHeight: '24%', imgSrc: item })
|
|
||||||
.onClick(() => {
|
|
||||||
this.url = ''
|
|
||||||
if (index < 9) {
|
|
||||||
this.inputTextArr[this.currentInputIndex] += (index + 1).toString()
|
|
||||||
} else {
|
|
||||||
if (index === 9) {
|
|
||||||
this.inputTextArr[this.currentInputIndex] += (0).toString()
|
|
||||||
}
|
|
||||||
if (index === 10) {
|
|
||||||
this.inputTextArr[this.currentInputIndex] += 'X';
|
|
||||||
} else if (index === 11) {
|
|
||||||
this.inputTextArr[this.currentInputIndex] = '';
|
|
||||||
}
|
|
||||||
if (index === 12) {
|
|
||||||
this.inputTextArr[this.currentInputIndex] =
|
|
||||||
this.inputTextArr[this.currentInputIndex].slice(0, -1)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
dConsole.log(this.inputTextArr[this.currentInputIndex])
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
}.columnStart(4).columnEnd(5)
|
||||||
}
|
}
|
||||||
.height('100%')
|
.columnsTemplate("1fr 1fr 1fr 1fr 1fr")
|
||||||
|
.rowsTemplate("1fr 1fr 1fr")
|
||||||
|
.height("100%")
|
||||||
}
|
}
|
||||||
.margin({ top: 20 * this.ratio })
|
|
||||||
.width('90%')
|
|
||||||
.height('62.7%')
|
|
||||||
.backgroundColor('#E5E3DF')
|
|
||||||
.borderRadius(20 * this.ratio)
|
|
||||||
}
|
}
|
||||||
.margin({ top: -10 * this.ratio })
|
.width("100%")
|
||||||
.justifyContent(FlexAlign.SpaceAround)
|
.flexGrow(1)
|
||||||
|
.flexShrink(1)
|
||||||
|
.backgroundColor("#E5E3DF")
|
||||||
|
.borderRadius(20)
|
||||||
|
.padding(20)
|
||||||
|
.margin({
|
||||||
|
top: 20
|
||||||
|
})
|
||||||
|
}.width("100%").height("100%").padding(20)
|
||||||
|
}.backgroundColor("#232424").height("100%").width("100%").padding({
|
||||||
|
bottom: 10
|
||||||
|
})
|
||||||
}
|
}
|
||||||
.width('100%')
|
|
||||||
.height('100%')
|
|
||||||
.justifyContent(FlexAlign.SpaceBetween)
|
|
||||||
.backgroundImagePosition({ x: 0, y: 0 })
|
|
||||||
.backgroundImage($r('app.media.index_bg'))
|
|
||||||
.backgroundImageSize({ width: '100%', height: '100%' })
|
|
||||||
}
|
}
|
||||||
|
|
||||||
aboutToAppear() {
|
@Component
|
||||||
this.url = ''
|
struct btnComponent {
|
||||||
|
@State text: string = "1";
|
||||||
|
@State opacityNum: number = 1;
|
||||||
|
|
||||||
|
build() {
|
||||||
|
Row() {
|
||||||
|
if (this.text != "确定" && this.text !== "退格" && this.text !== "清空") {
|
||||||
|
Text(this.text).fontSize(40).fontColor("#F0DEC5")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.backgroundImage(this.text === "确定" ? $r("app.media.queding_nor") : this.text === "退格" ? $r("app.media.delete_nor") : this.text === "清空" ? $r("app.media.clear_nor") : $r("app.media.nor_btn"))
|
||||||
|
.width("100%")
|
||||||
|
.height(160)
|
||||||
|
.backgroundImageSize({
|
||||||
|
width: "100%",
|
||||||
|
height: "100%"
|
||||||
|
})
|
||||||
|
.justifyContent(FlexAlign.Center)
|
||||||
|
.alignItems(VerticalAlign.Center)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
onPageShow() {
|
@Component
|
||||||
}
|
struct inputComponent {
|
||||||
|
@State placeholder: string = "请输入用户名";
|
||||||
|
@Prop value: string = "";
|
||||||
|
@Prop active: boolean = false;
|
||||||
|
onSelect: () => void = () => {
|
||||||
|
};
|
||||||
|
|
||||||
outClick() {
|
build() {
|
||||||
|
Row() {
|
||||||
|
TextInput({
|
||||||
|
text: this.value,
|
||||||
|
placeholder: this.placeholder
|
||||||
|
})
|
||||||
|
.placeholderColor("#fff")
|
||||||
|
.onFocus(() => {
|
||||||
|
this.onSelect()
|
||||||
|
})
|
||||||
|
.fontColor("#fff")
|
||||||
|
.fontSize(40)
|
||||||
|
.placeholderFont({
|
||||||
|
size: 40
|
||||||
|
})
|
||||||
|
.margin({
|
||||||
|
left: 20
|
||||||
|
})
|
||||||
|
}.backgroundImage(
|
||||||
|
this.active ? $r("app.media.kuang_pre") : $r("app.media.kuang_nor")
|
||||||
|
).backgroundImageSize({
|
||||||
|
width: "100%",
|
||||||
|
height: "100%"
|
||||||
|
}).width(750).height(100)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -5,6 +5,7 @@ export default struct BottomMessageComponent {
|
|||||||
@Prop hasAuth: boolean
|
@Prop hasAuth: boolean
|
||||||
@Prop examCarNumber: string
|
@Prop examCarNumber: string
|
||||||
versionClick?: () => void
|
versionClick?: () => void
|
||||||
|
@State count: number = 0
|
||||||
|
|
||||||
build() {
|
build() {
|
||||||
Flex(
|
Flex(
|
||||||
@ -17,14 +18,24 @@ export default struct BottomMessageComponent {
|
|||||||
Text('V外壳:' + this.version).textCommonStyle()
|
Text('V外壳:' + this.version).textCommonStyle()
|
||||||
Text('V评判:' + this.judgeVersion).textCommonStyle()
|
Text('V评判:' + this.judgeVersion).textCommonStyle()
|
||||||
Text('授权信息:' + (this.hasAuth ? "已授权" : "未授权")).textCommonStyle()
|
Text('授权信息:' + (this.hasAuth ? "已授权" : "未授权")).textCommonStyle()
|
||||||
}.gesture(
|
}.alignItems(HorizontalAlign.Start)
|
||||||
GestureGroup(GestureMode.Exclusive,
|
.onClick(() => {
|
||||||
TapGesture({ count: 3 })
|
// 点击五次
|
||||||
.onAction(() => {
|
this.count++
|
||||||
|
if (this.count >= 5) {
|
||||||
this.versionClick && this.versionClick()
|
this.versionClick && this.versionClick()
|
||||||
|
this.count = 0
|
||||||
|
}
|
||||||
})
|
})
|
||||||
)
|
|
||||||
).alignItems(HorizontalAlign.Start)
|
// .gesture(
|
||||||
|
// GestureGroup(GestureMode.Exclusive,
|
||||||
|
// TapGesture({ count: 3 })
|
||||||
|
// .onAction(() => {
|
||||||
|
// this.versionClick && this.versionClick()
|
||||||
|
// })
|
||||||
|
// )
|
||||||
|
// )
|
||||||
|
|
||||||
Text("考车号: " + this.examCarNumber).textCommonStyle()
|
Text("考车号: " + this.examCarNumber).textCommonStyle()
|
||||||
}.width("100%")
|
}.width("100%")
|
||||||
|
|||||||
@ -1,7 +1,9 @@
|
|||||||
import TopLogo from './compontents/TopLogo';
|
|
||||||
import router from '@ohos.router';
|
import router from '@ohos.router';
|
||||||
import { MASYSTEMPARMType, RouteParamsType } from '../model';
|
import { MASYSTEMPARMType, RouteParamsType } from '../model';
|
||||||
import { GetSyncData } from '../utils/table/Operation';
|
import { GetSyncData } from '../utils/table/Operation';
|
||||||
|
import { dConsole } from '../utils/LogWorker';
|
||||||
|
import { RoadsTag } from '../config';
|
||||||
|
import HeaderComponent from './compontents/Header';
|
||||||
|
|
||||||
const cBg = $rawfile('judge/km3/road/luxian_pre.png');
|
const cBg = $rawfile('judge/km3/road/luxian_pre.png');
|
||||||
const lBg = $rawfile('judge/km3/road/luxian_nor.png');
|
const lBg = $rawfile('judge/km3/road/luxian_nor.png');
|
||||||
@ -10,22 +12,37 @@ const lBg = $rawfile('judge/km3/road/luxian_nor.png');
|
|||||||
@Entry
|
@Entry
|
||||||
@Component
|
@Component
|
||||||
struct RoadsPage {
|
struct RoadsPage {
|
||||||
@State outFlag: boolean = false;
|
|
||||||
@State roadObj: number[] = [];
|
@State roadObj: number[] = [];
|
||||||
|
|
||||||
async aboutToAppear() {
|
async aboutToAppear() {
|
||||||
//读取systemparam表的no1等于4的
|
//读取systemparam表的no1等于4的
|
||||||
const systemParms: Array<MASYSTEMPARMType> = await GetSyncData('MA_SYSTEMPARM') as MASYSTEMPARMType[];
|
const systemParms: Array<MASYSTEMPARMType> = await GetSyncData('MA_SYSTEMPARM') as MASYSTEMPARMType[];
|
||||||
|
dConsole.log(RoadsTag, systemParms)
|
||||||
systemParms.forEach((systemParm: MASYSTEMPARMType) => {
|
systemParms.forEach((systemParm: MASYSTEMPARMType) => {
|
||||||
if (systemParm.no1 == 4) {
|
if (systemParm.no1.toString() === "4") {
|
||||||
this.roadObj.push(systemParm.no2)
|
this.roadObj.push(systemParm.no2)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
goJudge(wayno: number) {
|
||||||
|
let currentParams: RouteParamsType = router.getParams() as RouteParamsType;
|
||||||
|
router.replaceUrl({
|
||||||
|
url: 'pages/Judge',
|
||||||
|
params: {
|
||||||
|
sczb: currentParams.sczb,
|
||||||
|
kfdm: currentParams.kfdm,
|
||||||
|
wayno,
|
||||||
|
}
|
||||||
|
}, router.RouterMode.Single);
|
||||||
|
}
|
||||||
|
|
||||||
build() {
|
build() {
|
||||||
Column() {
|
Column() {
|
||||||
TopLogo({ outFlag: $outFlag })
|
HeaderComponent({
|
||||||
|
shortLogo: true,
|
||||||
|
shouBackArea: true
|
||||||
|
})
|
||||||
Flex({ wrap: FlexWrap.Wrap, direction: FlexDirection.Row, justifyContent: FlexAlign.Start }) {
|
Flex({ wrap: FlexWrap.Wrap, direction: FlexDirection.Row, justifyContent: FlexAlign.Start }) {
|
||||||
List({}) {
|
List({}) {
|
||||||
ListItem() {
|
ListItem() {
|
||||||
@ -79,18 +96,5 @@ struct RoadsPage {
|
|||||||
}.width('100%')
|
}.width('100%')
|
||||||
.height('100%')
|
.height('100%')
|
||||||
.backgroundColor('#1A1A1A')
|
.backgroundColor('#1A1A1A')
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
goJudge(wayno: number) {
|
|
||||||
let currentParams: RouteParamsType = router.getParams() as RouteParamsType;
|
|
||||||
router.replaceUrl({
|
|
||||||
url: 'pages/Judge',
|
|
||||||
params: {
|
|
||||||
sczb: currentParams.sczb,
|
|
||||||
kfdm: currentParams.kfdm,
|
|
||||||
wayno,
|
|
||||||
}
|
|
||||||
}, router.RouterMode.Single);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
38
entry/src/main/ets/pages/compontents/Loading.ets
Normal file
38
entry/src/main/ets/pages/compontents/Loading.ets
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
@CustomDialog
|
||||||
|
export default struct LoadingComponent {
|
||||||
|
@Prop text: string = ""
|
||||||
|
@State angle: number = 0
|
||||||
|
private controller?: CustomDialogController;
|
||||||
|
|
||||||
|
aboutToAppear(): void {
|
||||||
|
// loading旋转动画
|
||||||
|
animateTo({
|
||||||
|
duration: 1500,
|
||||||
|
curve: Curve.Linear,
|
||||||
|
iterations: -1,
|
||||||
|
playMode: PlayMode.Normal,
|
||||||
|
}, () => {
|
||||||
|
this.angle += 360
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
build() {
|
||||||
|
Column() {
|
||||||
|
Image($r('app.media.open_loading'))
|
||||||
|
.width(300)
|
||||||
|
.height(300)
|
||||||
|
.rotate({
|
||||||
|
angle: this.angle,
|
||||||
|
})
|
||||||
|
Text(this.text).fontSize(30).fontColor("#F4B44C").margin({
|
||||||
|
top: 20
|
||||||
|
})
|
||||||
|
}
|
||||||
|
.width(500)
|
||||||
|
.height(500)
|
||||||
|
.justifyContent(FlexAlign.Center)
|
||||||
|
.alignItems(HorizontalAlign.Center)
|
||||||
|
.backgroundColor("#fff")
|
||||||
|
.borderRadius(20)
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user