103 lines
3.3 KiB
Plaintext

import TopLogo from './compontents/TopLogo';
import router from '@ohos.router';
import { MASYSTEMPARMType, RouteParamsType } from '../model';
import { GetSyncData } from '../utils/table/Operation';
const cBg = $rawfile('judge/km3/road/luxian_pre.png');
const lBg = $rawfile('judge/km3/road/luxian_nor.png');
const ctBg = $rawfile('judge/km3/road/luxian_pre.png');
const ltBg = $rawfile('judge/km3/road/luxian_nor.png');
//单机模式才选线路
@Entry
@Component
struct Index {
@State outFlag: boolean = false;
@State roadObj: ESObject = {};
async aboutToAppear() {
//读取systemparam表的no1等于4的
const systemParms: Array<MASYSTEMPARMType> = await GetSyncData('MA_SYSTEMPARM') as MASYSTEMPARMType[];
systemParms.forEach((systemParm: MASYSTEMPARMType) => {
//TODO 字段名称待修改
// const { no1, no2, no3, txt1, txt2 } = systemParm;
if (systemParm.no1 == 4) {
this.roadObj[systemParm.no2] = systemParm.no2
}
})
}
build() {
Column() {
TopLogo({ outFlag: $outFlag })
Flex({ wrap: FlexWrap.Wrap, direction: FlexDirection.Row, justifyContent: FlexAlign.Start }) {
List({}) {
ListItem() {
Column() {
Row() {
}
.backgroundImage(lBg, ImageRepeat.NoRepeat)
.backgroundImageSize({ width: '100%', height: '100%' })
.width(90)
.height(80)
Text(`随机`) {
}.fontColor('#FFF2D9').fontSize(24).padding({ top: 10 })
}
}
.backgroundImage(cBg, ImageRepeat.NoRepeat)
.backgroundImageSize({ width: '100%', height: '100%' })
.width(180)
.height(220)
.margin({ left: 5, bottom: 10 })
.onClick(async () => {
const roadArr = Reflect.ownKeys(this.roadObj).map((roadKey) => {
return this.roadObj[roadKey]
});
const wayno = roadArr[Math.floor(Math.random() * roadArr.length)];
this.goJudge(wayno)
})
ForEach(Reflect.ownKeys(this.roadObj), (roadIndex) => {
ListItem() {
Column() {
Row() {
}
.backgroundImage(lBg, ImageRepeat.NoRepeat)
.backgroundImageSize({ width: '100%', height: '100%' })
.width(90)
.height(80)
Text(`线路${this.roadObj[roadIndex] + ''}`) {
}.fontColor('#FFF2D9').fontSize(24).padding({ top: 10 })
}
}
.backgroundImage(cBg, ImageRepeat.NoRepeat)
.backgroundImageSize({ width: '100%', height: '100%' })
.width(180)
.height(220)
.margin({ left: 5, bottom: 10 })
.onClick(async () => {
this.goJudge(this.roadObj[roadIndex])
})
})
}.lanes(8).margin({ top: 50, left: 15 })
}
}.width('100%')
.height('100%')
.backgroundColor('#1A1A1A')
}
goJudge(wayno: string) {
let currentParams: RouteParamsType = router.getParams() as RouteParamsType;
router.replaceUrl({
url: 'pages/Judge',
params: {
sczb: currentParams.sczb,
kfdm: currentParams.kfdm,
wayno,
}
}, router.RouterMode.Single);
}
}