## ADDED Requirements

### Requirement: Schedule page can create a new schedule
The system SHALL provide a schedule creation entry on the schedule page that opens a form, collects required fields, and saves a new `DispatchSchedule` via the backend `POST /schedule` endpoint.

#### Scenario: Open create schedule form
- **WHEN** the user taps the "新增排班" button on `pages/schedule/schedule`
- **THEN** a form popup opens with fields for team, work date, shift type, vehicles, staff, and remark

#### Scenario: Select team
- **WHEN** the user opens the team dropdown
- **THEN** the system calls `GET /team/simple-list` and displays `{ value, label }` options

#### Scenario: Select vehicles
- **WHEN** the user opens the vehicle selector
- **THEN** the system calls `GET /vehicle/simple-list` and displays vehicles by plate number

#### Scenario: Select staff
- **WHEN** the user opens the staff selector
- **THEN** the system calls `GET /staff/simple-list` and displays staff by name

#### Scenario: Save new schedule
- **WHEN** the user fills the form and taps save
- **THEN** the system calls `POST /schedule` with `teamId`, `teamName`, `workDate`, `shiftType` (`month_plan`/`emergency`), `vehicleIds`, `staffIds`, `status`, and `remark`
- **AND** the popup closes and the schedule list for the selected date refreshes

#### Scenario: Cancel create schedule
- **WHEN** the user taps cancel or the mask area
- **THEN** the popup closes without saving

### Requirement: Schedule creation follows V21-SOP prototype interaction
The system SHALL align the schedule creation flow, field labels, and value mapping with the V21-SOP prototype.

#### Scenario: Shift type mapping
- **WHEN** the user selects "月计划" or "应急"
- **THEN** the system stores the value as `month_plan` or `emergency` respectively before submitting to the backend

#### Scenario: Form validation
- **WHEN** the user attempts to save with missing required fields
- **THEN** the system shows a validation message and does not call the backend

## MODIFIED Requirements

*No existing spec-level requirements are changed; other fixes in this change are implementation-level corrections to existing behavior.*

## REMOVED Requirements

*None.*
