wangliang_wd

feat:优化编辑资料

... ... @@ -4,10 +4,12 @@ import { EditListInfo, editModel, editModelParams, WDEditDataModelType } from '.
import EditInfoViewModel from '../../viewmodel/EditInfoViewModel';
import { WDRouterPage, WDRouterRule } from 'wdRouter';
import {AreaPickerDialog} from '../view/areaPickerDialog/AreaPickerDialog'
import {EditUserInfoCustomDialog} from '../view/areaPickerDialog/EditUserInfoCustomDialog'
import { AreaListModel } from '../../model/AreaListModel';
import router from '@ohos.router';
import TrackingPageBrowseUtils from '../../utils/TrackingPageBrowseUtils'
import { TrackConstants } from 'wdTracking/Index';
import { window } from '@kit.ArkUI';
@Entry
@Component
... ... @@ -16,6 +18,7 @@ struct EditUserInfoPage {
@State headerImg: string = ''
@State dataSource: AreaListModel[] = []
@State currentUserInfo: editModel = new editModel()
@State bottomSafeHeight: number = 0;
dialogController: CustomDialogController = new CustomDialogController({
builder: AreaPickerDialog({dataSource:this.dataSource,
... ... @@ -29,10 +32,35 @@ struct EditUserInfoPage {
}
}),
alignment: DialogAlignment.Bottom,
offset:{dx:0,dy:0},
customStyle: true,
offset: {
dx: 0,
dy: -this.bottomSafeHeight
},
})
aboutToAppear() {
dateDialogController: CustomDialogController = new CustomDialogController({
builder: EditUserInfoCustomDialog({
confirmCallback:(selectDate:Date)=>{
let mon = selectDate.getUTCMonth() as number + 1
let monStr = mon < 10? '0'+mon.toString():mon.toString();
let dayStr = selectDate.getUTCDate() as number < 10? '0'+selectDate.getUTCDate():selectDate.getUTCDate();
this.currentUserInfo.userExtend.birthday = selectDate.getUTCFullYear()+'-'+monStr+'-'+dayStr;
this.currentUserInfo.editDataType = WDEditDataModelType.WDEditDataModelType_birthday
this.updateEditModel()
}
}),
alignment: DialogAlignment.Bottom,
customStyle: true,
offset: {
dx: 0,
dy: -this.bottomSafeHeight
},
})
async aboutToAppear() {
let windowHight: window.Window = await window.getLastWindow(getContext(this));
this.bottomSafeHeight = px2vp(windowHight.getWindowAvoidArea(window.AvoidAreaType.TYPE_SYSTEM).bottomRect.height)
this.getAccountOwnerInfo()
this.getAreaList()
}
... ... @@ -145,20 +173,22 @@ struct EditUserInfoPage {
}else if (i === 3){
this.dialogController.open()
} else if (i === 4) {
DatePickerDialog.show({
start:new Date('1900-1-1'),
end:new Date(),
selected:new Date,
lunar:false,
onAccept:(value:DatePickerResult) => {
let mon = value.month as number + 1
let monStr = mon < 10? '0'+mon.toString():mon.toString();
let dayStr = value.day as number < 10? '0'+value.day:value.day;
this.currentUserInfo.userExtend.birthday = value.year+'-'+monStr+'-'+dayStr;
this.currentUserInfo.editDataType = WDEditDataModelType.WDEditDataModelType_birthday
this.updateEditModel()
}
})
this.dateDialogController.open()
// DatePickerDialog.show({
// start:new Date('1900-1-1'),
// end:new Date(),
// selected:new Date,
// lunar:false,
// onAccept:(value:DatePickerResult) => {
// let mon = value.month as number + 1
// let monStr = mon < 10? '0'+mon.toString():mon.toString();
// let dayStr = value.day as number < 10? '0'+value.day:value.day;
// this.currentUserInfo.userExtend.birthday = value.year+'-'+monStr+'-'+dayStr;
// this.currentUserInfo.editDataType = WDEditDataModelType.WDEditDataModelType_birthday
// this.updateEditModel()
// }
// })
}else if(i === 5){
TextPickerDialog.show({
range:['男','女'],
... ...
... ... @@ -13,6 +13,7 @@ export struct AreaPickerDialog {
@Provide dataSource: AreaListModel[] = []
result: JSON[] = [];
confirmCallback: (province:string,city:string,county:string,address:string) => void = () => {
}
build() {
... ... @@ -22,27 +23,33 @@ export struct AreaPickerDialog {
.onClick(()=> {
this.controller.close()
})
.width(60)
.backgroundColor(0xffffff)
.fontColor(Color.Black)
.layoutWeight(1)
Blank()
Blank().width(80)
Text(this.title)
.fontSize(18).textAlign(TextAlign.Center).margin({top:10,bottom:10})
Blank()
Blank().width(80)
Button('提交',{type:ButtonType.Normal})
.onClick(()=> {
this.controller.close()
this.confirmCallback(this.currentFirst.label,this.currentSecondBean.label,this.currentThirdBean.label,this.currentFirst.label+this.currentSecondBean.label+this.currentThirdBean.label);
})
.width(60)
.backgroundColor(0xffffff)
.fontColor('#ED2800')
.layoutWeight(1)
}
.margin({top:0,bottom:10})
}.backgroundColor(0xffffff)
Divider()
.color('#f5f5f5')
.width('100%')
.strokeWidth(1)
Row(){
FirstLevelComponent().width('33%')
... ... @@ -50,7 +57,8 @@ export struct AreaPickerDialog {
ThirdLevelComponent().width('33%')
}
}
.height('40%')
.backgroundColor(0xffffff)
.height('35%')
.width('100%')
}
}
\ No newline at end of file
... ...
@Component
export struct DateCustomComponent {
@Consume selectDate: Date
build() {
Column(){
Column(){
DatePicker({
start:new Date('1900-1-1'),
end:new Date(),
selected:new Date,
}).selectedTextStyle({color:'#666666'})
.textStyle({color:'#999999'})
.onDateChange((value) => {
this.selectDate = value as Date
})
// .onDateChange:(value:DatePickerResult) => {
// let mon = value.month as number + 1
// let monStr = mon < 10? '0'+mon.toString():mon.toString();
// let dayStr = value.day as number < 10? '0'+value.day:value.day;
// this.currentUserInfo.userExtend.birthday = value.year+'-'+monStr+'-'+dayStr;
// this.currentUserInfo.editDataType = WDEditDataModelType.WDEditDataModelType_birthday
// this.updateEditModel()
// }
}.justifyContent(FlexAlign.Center)
}.height('100%')
}
}
\ No newline at end of file
... ...
import { DateCustomComponent } from './DateCustomComponent'
@CustomDialog
export struct EditUserInfoCustomDialog{
@Provide selectDate: Date = new Date
controller: CustomDialogController
confirmCallback: (selectDate:Date) => void = () => {
}
build() {
Column(){
Row(){
Button('取消',{type:ButtonType.Normal})
.onClick(()=> {
this.controller.close()
})
.width(60)
.backgroundColor(0xffffff)
.fontColor(Color.Black)
.layoutWeight(1)
Blank().width(80)
Text('修改生日')
.fontSize(18).textAlign(TextAlign.Center).margin({top:10,bottom:10})
Blank().width(80)
Button('提交',{type:ButtonType.Normal})
.onClick(()=> {
this.controller.close()
this.confirmCallback(this.selectDate);
})
.width(60)
.backgroundColor(0xffffff)
.fontColor('#ED2800')
.layoutWeight(1)
}.backgroundColor(0xffffff)
Divider()
.color('#f5f5f5')
.width('100%')
.strokeWidth(1)
DateCustomComponent().width('70%')
}
.backgroundColor(0xffffff)
.height('35%')
.width('100%')
}
}
\ No newline at end of file
... ...
... ... @@ -28,7 +28,6 @@ export struct FirstLevelComponent {
this.currentFirst = EditInfoViewModel.getAreaListManageModel(this.dataSource[index as number])
})
.backgroundColor(Color.White)
// .border({color:'#e2e2e2',width:{right:0.5}})
.width('100%')
.layoutWeight(1)
.selectedTextStyle({color:'#666666'})
... ... @@ -38,6 +37,5 @@ export struct FirstLevelComponent {
.justifyContent(FlexAlign.Center)
}
.height('100%')
}
}
\ No newline at end of file
... ...