# Quick Prompts - Tạo Module Hoàn Chỉnh

## Prompt đầy đủ

```
Tạo module hoàn chỉnh: [TÊN MODULE]

**1. Table Listing**
- Route: [list path]
- Search: [fields]
- Filter: [filters]
- Columns: [columns]
- Actions: view, edit, delete, export

**2. Form Create/Edit**
- Route: [create path], [edit path]
- Fields: [list fields với type và validation]

**3. API Service**
- Service: [service name]
- Methods: search, getById, create, update, delete, exportExcel
- API paths: [base path]

**4. Routes**
- List: [route name và path]
- Create: [route name và path]
- Edit: [route name và path]
- Roles: [required roles]

**5. Optional**
- [ ] Detail view
- [ ] Pinia store
- [ ] Charts/Reports
```

## Prompt nhanh

```
Tạo module: [TÊN]
- List: [search fields], [filters], [columns]
- Form: [fields]
- Service: [service name]
- Routes: [paths]
- Roles: [roles]
```

## Ví dụ

### Ví dụ 1: Module Khách hàng (Đơn giản)
```
Tạo module: Quản lý Khách hàng

**1. Table Listing**
- Route: /khach-hang
- Search: tên, email, SĐT, date range (ngày đăng ký)
- Filter: loại khách hàng, trạng thái
- Columns: STT, Thông tin (tên, email, SĐT), Loại KH, Ngày đăng ký, Tổng đơn, Hành động
- Actions: view, edit, delete, export

**2. Form Create/Edit**
- Route: /khach-hang/tao-moi, /khach-hang/:id/chinh-sua
- Fields:
  * Tên (text, required, min:3)
  * Email (text, required, email)
  * SĐT (text, required, phone)
  * Địa chỉ (textarea, optional)
  * Loại KH (v-select, required)
  * Ghi chú (textarea, optional)

**3. API Service**
- Service: customerService
- Methods: search, getById, create, update, delete, exportExcel
- API paths: /api/Customer

**4. Routes**
- List: CustomerList (/khach-hang)
- Create: CustomerCreate (/khach-hang/tao-moi)
- Edit: CustomerEdit (/khach-hang/:id/chinh-sua)
- Roles: Admin, Sales

**5. Optional**
- [x] Detail view (modal)
- [ ] Pinia store
- [ ] Charts/Reports
```

### Ví dụ 2: Module Sản phẩm (Trung bình)
```
Tạo module: Quản lý Sản phẩm

**1. Table Listing**
- Route: /san-pham
- Search: tên, SKU, date range (ngày tạo)
- Filter: danh mục, trạng thái kho, nhà cung cấp
- Columns: STT, Thông tin (ảnh, tên, SKU), Danh mục, Giá bán, Tồn kho, Trạng thái, Hành động
- Actions: view, edit, delete, export

**2. Form Create/Edit**
- Route: /san-pham/tao-moi, /san-pham/:id/chinh-sua
- Fields:
  * Tên (text, required, min:3, max:200)
  * SKU (text, required, unique)
  * Danh mục (v-select, required, load API)
  * Nhà cung cấp (v-select, required, load API)
  * Giá nhập (v-money3, required, min:0)
  * Giá bán (v-money3, required, min:0, greaterThan:giá nhập)
  * Tồn kho (number, required, min:0)
  * Mô tả ngắn (textarea, optional, max:500)
  * Mô tả chi tiết (tinymce, optional)
  * Hình ảnh (file upload, multiple, max:5)
  * Trạng thái (checkbox, default:true)

**3. API Service**
- Service: productService
- Methods: search, getById, create, update, delete, exportExcel
- API paths: /api/Product

**4. Routes**
- List: ProductList (/san-pham)
- Create: ProductCreate (/san-pham/tao-moi)
- Edit: ProductEdit (/san-pham/:id/chinh-sua)
- Roles: Admin, Manager, Warehouse

**5. Optional**
- [x] Detail view (modal với tabs: info, images, history)
- [ ] Pinia store
- [ ] Charts/Reports
```

### Ví dụ 3: Module Đơn hàng (Phức tạp)
```
Tạo module: Quản lý Đơn hàng

**1. Table Listing**
- Route: /don-hang
- Search: mã đơn, tên KH, SĐT, date range (ngày tạo)
- Filter: trạng thái, loại vận chuyển, phương thức thanh toán
- Columns: STT, Mã đơn, Khách hàng, Sản phẩm (số lượng), Tổng tiền, Trạng thái, Ngày tạo, Hành động
- Actions: view, edit, delete, export, print

**2. Form Create/Edit**
- Route: /don-hang/tao-moi, /don-hang/:id/chinh-sua
- Fields:
  * Khách hàng (v-select, required, search API)
  * Ngày giao (date picker, required, minDate:today)
  * Địa chỉ giao (textarea, required)
  * Loại vận chuyển (v-select, required)
  * Phương thức TT (v-select, required)
  * Sản phẩm (dynamic fields):
    - Sản phẩm (v-select, required)
    - Số lượng (number, required, min:1)
    - Đơn giá (readonly, auto-fill)
    - Thành tiền (readonly, calculated)
  * Phí vận chuyển (v-money3, required, min:0)
  * Giảm giá (v-money3, optional, min:0)
  * Ghi chú (textarea, optional)
  * Tổng tiền (readonly, calculated)

**3. API Service**
- Service: orderService
- Methods: search, getById, create, update, delete, exportExcel, print, updateStatus
- API paths: /api/Order

**4. Routes**
- List: OrderList (/don-hang)
- Create: OrderCreate (/don-hang/tao-moi)
- Edit: OrderEdit (/don-hang/:id/chinh-sua)
- Roles: Admin, Sales, Warehouse

**5. Optional**
- [x] Detail view (full page với timeline trạng thái)
- [x] Pinia store (orderStore - manage cart, calculate totals)
- [x] Charts/Reports (dashboard với revenue charts)
```

## Checklist tổng thể

### Phase 1: Setup
- [ ] Tạo API paths
- [ ] Tạo API service
- [ ] Tạo routes
- [ ] Test API endpoints

### Phase 2: List Page
- [ ] Tạo view index.vue
- [ ] Implement search form
- [ ] Implement table
- [ ] Implement pagination
- [ ] Implement actions
- [ ] Test search và filter
- [ ] Test pagination
- [ ] Test export Excel

### Phase 3: Form
- [ ] Tạo view form.vue
- [ ] Implement form fields
- [ ] Implement validation
- [ ] Test create mode
- [ ] Test edit mode
- [ ] Test file upload (nếu có)
- [ ] Test dynamic fields (nếu có)

### Phase 4: Optional Features
- [ ] Detail view (nếu có)
- [ ] Pinia store (nếu có)
- [ ] Charts (nếu có)

### Phase 5: Testing & Polish
- [ ] Test toàn bộ flow
- [ ] Test responsive
- [ ] Test error handling
- [ ] Review code quality
- [ ] Update documentation

## Tips

1. **Chia nhỏ task**: Với module phức tạp, tạo từng phần một
2. **Test từng bước**: Test ngay sau khi hoàn thành mỗi phần
3. **Tham khảo module tương tự**: Mention file mẫu nếu có
4. **Áp dụng skills**: Luôn mention skills liên quan
5. **Review và feedback**: Cung cấp feedback để điều chỉnh
