UserCommit.ets 3.0 KB
import { promptAction } from '@kit.ArkUI'
@CustomDialog
export default struct UserCommit{
  controller: CustomDialogController = new CustomDialogController({builder: ''})
  @State count: number = 3
  @State rememberSelect: boolean = false
  aboutToAppear(): void {
    let timer = setInterval(() => {
      this.count--
      if(this.count <= 0){
        this.count = 0
        clearInterval(timer)
      }
    }, 1000)
  }
  build() {
    Column({space: 10}){
      Text('承诺书').fontSize(20).lineHeight(21).fontColor('#606266').fontWeight(600).margin({bottom: 20})
        .margin({top: 60})
      Text('本人承诺在本系统中自主录入的所有信息真实有效,并将按照相关法律法规的要求,及时、准确录入后续变更信息。').fontSize(12).fontColor('#606266').textIndent(24)
      Text('本人承诺严格遵守相关法律法规和标准规范,并按照客观独立、合法公正、诚实信用的原则,从事消防设施维护保养检测和消防安全评估等消防技术服务活动,并在本系统录入消防技术服务项目原始记录情况。')
        .fontSize(12).fontColor('#606266').textIndent(24)
      Text('本人承诺主动接受并配合消防救援机构和其他行政主管部门的监督管理。以上承诺如不属实,或者违反上述承诺的,本人依法依规承担相应的法律责任。')
        .textIndent(24).fontSize(12).fontColor('#606266')
      Row({space: 5}){
        Checkbox({ group: 'password' })
          .select(this.rememberSelect)
          .selectedColor('#1890ff')
          .shape(CheckBoxShape.ROUNDED_SQUARE)
          .width(16).height(16)
          .mark({
            size: 10,
            strokeWidth: 5
          })
          .onChange((value: boolean) => {
            this.rememberSelect = value
          })
        Text('我已阅读《承诺书》,并严格按照承诺书《承诺书》内容执行').fontSize(12).fontColor('#606266')
      }.width('100%').justifyContent(FlexAlign.Start)
      Text(`请仔细阅读承诺书(${this.count}s后可关闭)`)
        .fontSize(14).fontColor('#fff').fontWeight(600).textAlign(TextAlign.Center)
        .margin({top: 60}).width('100%').border({width: {top: 1}, color: '#fff'}).padding({top: 10, bottom: 10})
        .visibility(this.count > 0 ? Visibility.Visible : Visibility.None).backgroundColor('#1890ff')
        .borderRadius(10).opacity(0.5)
      Text('前往注册')
        .fontSize(14).fontColor('#fff').fontWeight(600).textAlign(TextAlign.Center)
        .margin({top: 60}).width('100%').border({width: {top: 1}, color: '#fff'}).padding({top: 10, bottom: 10})
        .visibility(this.count == 0 ? Visibility.Visible : Visibility.None).backgroundColor('#1890ff')
        .borderRadius(10)
        .onClick(() => {
         if(!this.rememberSelect){
           return promptAction.showToast({message: '请选勾选同意承诺书'})
         }
          this.controller.close()
        })
    }.backgroundColor('#fff').width('100%').padding(10).borderRadius(10).height('100%')
  }
}