//添加不良类型记录或者编辑不良类型
import ProcessRequest from '../common/util/request/ProcessRequest';
import { BindTaskSeqVO } from '../viewmodel/BindTaskSeqVO';
import TaskSeqVO from '../viewmodel/process/TaskSeqInfo';
import RequestParamModel from '../viewmodel/RequestParamModel';
import { Font } from '@ohos.arkui.UIContext';

@CustomDialog
export struct AddUnqualifiedRecordDialog{
  controller: CustomDialogController
  onConfirm: ()=> void = () => {}
  onDelete:()=> void = () => {}
  scroller: Scroller = new Scroller()

  //是否是编辑状态（需要传入的参数）
  @Prop isEdit:Boolean = false
  //选择不良类型索引（需要传入的参数）
  @Prop selectedTypeIndex:number= -1
  //选择缺陷类型索引（需要传入的参数）
  @Prop selectedDefectTypeIndex:number= -1

  //不良类型
  @State unqualifiedType:Array<SelectOption> = [
    {value:"质量问题类型"},
    {value:"操作问题类型"},
    {value:"生产问题类型"},
    {value:"其它问题类型"},]
  //缺陷类型
  @State defectType:Array<SelectOption> = [
    {value:"PCBA缺陷"},
    {value:"结构缺陷"},
    {value:"外购材料缺陷"},
    {value:"外观缺陷"},]


  build() {
    Column(){
      Column() {
        Text(this.isEdit?'不良类型记录':'添加不良类型记录')
          .fontColor($r('app.color.FFFFFF'))
          .fontSize($r('app.float.fontSize_30'))
      }
      .height('12%')
      .width('100%')
      .justifyContent(FlexAlign.Center)
      Column(){
        Text('不良类型')
          .fontSize($r('app.float.fontSize_16'))
          .fontColor($r('app.color.FFFFFF'))
        Select(this.unqualifiedType)
          .height('16%')
          .width('100%')
          .borderRadius($r('app.float.virtualSize_16'))
          .selected(this.selectedTypeIndex === -1 ? 0 : this.selectedTypeIndex)
          .value(this.selectedTypeIndex === -1 ? '请选择' : String(this.unqualifiedType[this.selectedTypeIndex].value))
          .backgroundColor($r('app.color.20FFFFFF'))
          .selectedOptionBgColor($r('app.color.20FFFFFF'))
          .fontColor(this.selectedTypeIndex === -1?$r('app.color.30FFFFFF'):$r('app.color.FFFFFF'))
          .font({size:$r('app.float.fontSize_24')})
          .selectedOptionFont({
            size:$r('app.float.fontSize_24')
          })
          .onSelect((index: number) => {
            this.selectedTypeIndex = index

          })
          .margin({top:'3%',bottom:'3%'})
        Text('缺陷名称')
          .fontSize($r('app.float.fontSize_16'))
          .fontColor($r('app.color.FFFFFF'))
        Select(this.defectType)
          .height('16%')
          .width('100%')
          .borderRadius($r('app.float.virtualSize_16'))
          .selected(this.selectedDefectTypeIndex === -1 ? 0 : this.selectedDefectTypeIndex)
          .value(this.selectedDefectTypeIndex === -1 ? '请选择' : String(this.defectType[this.selectedDefectTypeIndex].value))
          .backgroundColor($r('app.color.20FFFFFF'))
          .selectedOptionBgColor($r('app.color.20FFFFFF'))
          .fontColor(this.selectedDefectTypeIndex === -1?$r('app.color.30FFFFFF'):$r('app.color.FFFFFF'))
          .font({size:$r('app.float.fontSize_24')})
          .selectedOptionFont({
            size:$r('app.float.fontSize_24')
          })
          .onSelect((index: number) => {
            this.selectedDefectTypeIndex = index

          })
          .margin({top:'3%',bottom:'3%'})
        Text('备注')
          .fontSize($r('app.float.fontSize_16'))
          .fontColor($r('app.color.FFFFFF'))
        TextArea({placeholder:'请录入不良详情'})
          .backgroundColor($r('app.color.000000'))
          .height('40%')
          .width('100%')
          .fontColor($r('app.color.FFFFFF'))
          .placeholderColor($r('app.color.30FFFFFF'))
          .placeholderFont({size:$r('app.float.fontSize_16')})
          .fontSize($r('app.float.fontSize_16'))
          .textAlign(TextAlign.Start)
          .maxLength(200)
          .margin({top:'3%',bottom:'3%'})
          .borderRadius($r('app.float.virtualSize_16'))

      }
      .width('70%')
      .height('80%')
      .margin({left:'15%',right:'15%'})
      .alignItems(HorizontalAlign.Start)
      if(this.isEdit){
        Column() {
          Divider()
            .vertical(false)
            .strokeWidth(1)
            .color($r('app.color.15FFFFFF'))
          Row() {
            Row() {
              Text('删除')
                .fontColor($r('app.color.FF453A'))
                .fontSize($r('app.float.fontSize_30'))
            }
            .justifyContent(FlexAlign.Center)
            .width('33.3%')
            .onClick(() => {
              this.onDelete()
            })
            Divider()
              .vertical(true)
              .strokeWidth(1)
              .color($r('app.color.15FFFFFF'))
            Row() {
              Text('取消')
                .fontColor($r('app.color.60FFFFFF'))
                .fontSize($r('app.float.fontSize_30'))
            }
            .justifyContent(FlexAlign.Center)
            .width('33.3%')
            .onClick(() => this.controller.close())
            Divider()
              .vertical(true)
              .strokeWidth(1)
              .color($r('app.color.15FFFFFF'))
            Row() {
              Text('确定')
                .fontColor($r('app.color.007AFF'))
                .fontSize($r('app.float.fontSize_30'))
            }
            .justifyContent(FlexAlign.Center)
            .width('33.3%')
            .onClick(() => {
            })
          }
        }
        .width('100%')
        .height('8%')
      }else{
        Column() {
          Divider()
            .vertical(false)
            .strokeWidth(1)
            .color($r('app.color.15FFFFFF'))
          Row() {
            Row() {
              Text('取消')
                .fontColor($r('app.color.60FFFFFF'))
                .fontSize($r('app.float.fontSize_30'))
            }
            .justifyContent(FlexAlign.Center)
            .width('50%')
            .onClick(() => this.controller.close())
            Divider()
              .vertical(true)
              .strokeWidth(1)
              .color($r('app.color.15FFFFFF'))
            Row() {
              Text('确定')
                .fontColor($r('app.color.007AFF'))
                .fontSize($r('app.float.fontSize_30'))
            }
            .justifyContent(FlexAlign.Center)
            .width('50%')
            .onClick(() => {
            })
          }
        }
        .width('100%')
        .height('8%')
      }
    }
    .height('71%')
    .width('30%')
    .backgroundColor($r('app.color.2A2A2A'))
    .justifyContent(FlexAlign.End)
    .alignItems(HorizontalAlign.Start)
    .borderColor($r('app.color.000000'))
    .borderWidth(1)
    .borderRadius($r('app.float.virtualSize_16'))
  }
}