import { View } from '@tarojs/components'; import { Component, ReactNode } from 'react'; import Taro from '@tarojs/taro'; import { AtForm, AtInput, AtButton, AtCheckbox, AtCard, AtSegmentedControl, AtMessage, } from 'taro-ui'; import pt from '@/plain-text'; import PageFooter from '@/components/PageFooter/PageFooter'; import { submitTicket } from '@/service/submitTicket'; import type CustomTabBar from '@/custom-tab-bar'; import repairLogo from '@/assets/icons/RepairPage/repair.svg'; import './repair.scss'; interface RepairPageState { type: 0 | 1; device: string; deviceModel: string; owner: string; phone: string; description: string; isLoading: boolean; isDisable: boolean; checkedList: Array; } const submitInterval = 5000; export default class RepairPage extends Component<{}, RepairPageState> { state = { type: 1 as 0 | 1, device: '', deviceModel: '', owner: '', phone: '', description: '', isLoading: false, isDisable: true, checkedList: [0], }; componentDidMount(): void { setTimeout(() => { this.setState({ isDisable: false, }); }, submitInterval); } // 以下是TabBar相关 pageCtx = Taro.getCurrentInstance().page; componentDidShow() { const tabbar = Taro.getTabBar(this.pageCtx); tabbar?.setSelected(1); } // 以上是TabBar相关 handleTypeChange(type: 0 | 1) { this.setState({ type: type, }); return type; } handleDeviceChange(device: string) { this.setState({ device: device, }); return device; } handleDeviceModelChange(deviceModel: string) { this.setState({ deviceModel: deviceModel, }); return deviceModel; } handleOwnerChange(owner: string) { this.setState({ owner: owner, }); return owner; } handlePhoneChange(phone: string) { this.setState({ phone: phone, }); return phone; } handleDescriptionChange(description: string) { this.setState({ description: description, }); return description; } checkboxOption = [ { value: 0, label: pt.get().repairPage.checkboxText.none, }, { value: 1, label: pt.get().repairPage.checkboxText.usbDisk, }, { value: 2, label: pt.get().repairPage.checkboxText.mouseOrReceiver, }, { value: 3, label: pt.get().repairPage.checkboxText.powerAdapter, }, { value: 4, label: pt.get().repairPage.checkboxText.others.label, desc: pt.get().repairPage.checkboxText.others.desc, }, ]; handleCheckboxChange(checkedList: Array) { this.setState({ checkedList: checkedList, }); return checkedList; } onSubmit() { this.setState({ isLoading: true, isDisable: true, }); submitTicket(this); Taro.reLaunch({ url: '/pages/repair/repair', }); } render(): ReactNode { return ( {pt.get().button.buttonText.submit} ); } }