1. Card (Mô tả tính năng)
Là thành viên Hội đồng thầu tôi muốn quản lý tập trung các yêu cầu làm rõ hồ sơ mời thầu của nhà thầu và ý kiến phản hồi của thành viên hội đồng thầu
2. Confirmation/ Acceptance Criteria (Tiêu chí nghiệm thu)
- Thành viên hội đồng thầu xem được:
- Danh sách nhà thầu & tài khoản tương ứng các lần làm rõ của từng nhà thầu
- Thời gian xuất hiện yêu cầu làm rõ
- Trạng thái của yêu cầu làm rõ:
- Chờ phản hồi
- Đã phân công
- Chờ tổng hợp
- Đã phản hồi
- Lịch sử tổng hợp làm rõ hồ sơ mời thầu của thư ký hội đồng thầu
- Lịch sử yêu cầu làm rõ của từng nhà thầu
- Tìm kiếm nhanh theo tên nhà thầu
- Lọc theo thời gian và trạng thái xuất hiện yêu cầu làm rõ
- Thư ký hội đồng thầu có thể gửi Tổng hợp yêu cầu làm rõ (chung) cho tất cả các nhà thầu
- Thư ký hội đồng thầu có thể phân công thành viên hội đồng thầu phản hồi yêu cầu làm rõ
3. Conversation (Mô tả chi tiết)
3.1 UIUX Màn hình
3.1.1 Màn hình Quản lý yêu cầu làm rõ & Bộ lọc


3.1.2 Màn hình quản lý lịch sử tổng hợp làm rõ


Được phân quyền Thêm Được phân quyền xem
3.1.3 Màn hình Yêu cầu làm rõ


Được phân quyền Thêm Được phân quyền Xem
3.2 Luồng:
3.3 API Spec: <gắn link tài liệu mô tả API vào đây>
Method | GET | URL | <DOMAIN>/application/clarificationRequest/byTenderPackage |
|---|
Description | API danh sách quản lý yêu cầu làm rõ |
|---|
Note | Đã có api cũ nhưng hiện tại api cũ đang là lấy tất cả chứ không chia theo từng gói thầu và phải lược bỏ một số param không dùng đến. → Tạo api mới |
|---|
1. HeadersSTT | Field | Source Data Type / Length | Description | Sample Values |
|---|
| authorization | String | Token | Bearer eyJhbGciOiJIUzI1NiJ9.eyJleHAiOjE3NjYzMDk1MTgsInVzZXIiOiJ7XCJpZFwiOjIwMjAsXCJ1c2VybmFtZVwiOlwiMDM3NDc4ODQwNVwiLFwibmFtZVwiOlwiQ2h1IFRo4buLIExpw6 puXCIsXCJyb2xlc1wiOltdLFwibWFwQmVhdXR5U2Fsb25cIjp7XCJicG0ucmVib3JuLnZuXCI6Nn0sXCJlbXBsb3llZUlkXCI6NTMxLFwiYnJhbmNoSWRcIjoyM30ifQ.UGz8TQudVxEd7rp_rsLXePraHELTRWHyc7iXNvVnn14 |
2. ParamSTT | Field | Required | Data Type / Length | Description | Note |
|---|
| 1 | organizationName |
| String | Tên nhà thầu |
| | 2 | tenderPackageId | true | Integer | Id gói thầu |
| | 3 | status |
| Integer | Trạng thái |
| | 4 | startDate |
| String | Thời gian nhận từ ngày |
| | 5 | endDate |
| String | Thời gian nhận đến ngày |
| | 6 | limit |
| Integer | Số bản ghi |
| | 7 | page |
| Integer | Trang |
|
3. Response / Incoming Data Specification| STT | Field | Data Type / Length | Description | Note | Sample Values |
|---|
| code | Integer | Code |
|
|
| message | String | Message |
|
|
| loadMoreAble | Boolean |
|
|
|
| preLoadAble | Boolean |
|
|
|
| result | Object | Kết quả |
|
|
| result.total | Long | Tổng số bản ghi |
|
|
| result.page | Integer | Số trang hiện tại |
|
|
| result.items | List | Danh sách kết quả |
|
|
| result.items[?].id | Integer | Id |
|
|
| result.items[?].organizationId | Integer | Id nhà thầu |
|
|
| result.items[?].organizationName | String | Tên nhà thầu |
|
|
| result.items[?].contactId | Integer | Id người liên hệ |
|
|
| result.items[?].contactName | String | Tên người liên hệ |
|
|
| result.items[?].contactEmail | String | Email người liên hệ |
|
|
| result.items[?].round | Integer | Số lần làm rõ |
|
|
| result.items[?].createdTime | Timestamp | Thời gian nhận |
|
|
| result.items[?].status | Integer | Trạng thái |
|
|
Method | POST | URL | <DOMAIN>/application/generalClarification/update |
|---|
Description | API gửi tổng hợp làm rõ HSMT |
|---|
Note | Đã có |
|---|
1. HeadersSTT | Field | Source Data Type / Length | Description | Sample Values |
|---|
| authorization | String | Token | Bearer eyJhbGciOiJIUzI1NiJ9.eyJleHAiOjE3NjYzMDk1MTgsInVzZXIiOiJ7XCJpZFwiOjIwMjAsXCJ1c2VybmFtZVwiOlwiMDM3NDc4ODQwNVwiLFwibmFtZVwiOlwiQ2h1IFRo4buLIExpw6 puXCIsXCJyb2xlc1wiOltdLFwibWFwQmVhdXR5U2Fsb25cIjp7XCJicG0ucmVib3JuLnZuXCI6Nn0sXCJlbXBsb3llZUlkXCI6NTMxLFwiYnJhbmNoSWRcIjoyM30ifQ.UGz8TQudVxEd7rp_rsLXePraHELTRWHyc7iXNvVnn14 |
2. BodySTT | Field | Required | Data Type / Length | Description | Note |
|---|
| 1 | id | true | Integer | id tổng hợp làm rõ HSMT, mặc định thêm mới = 0 |
| | 2 | content |
| String | Nội dung |
| | 3 | packageId | true | Integer | Id gói thầu |
| | 4 | attachments |
| String | Danh sách file |
|
3. Response / Incoming Data Specification| STT | Field | Data Type / Length | Description | Note | Sample Values |
|---|
| code | Integer | Code |
|
|
| message | String | Message |
|
|
| result | Object | Kết quả |
|
|
| result.id | Integer | id tổng hợp làm rõ HSMT |
|
|
| result.packageId | Integer | Id gói thầu |
|
|
| result.content | String | Nội dung |
|
|
| result.attachments | String | Danh sách file |
|
|
| result.employeeId | Integer | Người tạo |
|
|
| result.createdTime | Timestamp | Thời gian tạo |
|
|
Method | GET | URL | <DOMAIN>/application/generalClarification/list |
|---|
Description | API Lịch sử gửi tổng hợp làm rõ HSMT |
|---|
Note | Đã có |
|---|
1. HeadersSTT | Field | Source Data Type / Length | Description | Sample Values |
|---|
| authorization | String | Token | Bearer eyJhbGciOiJIUzI1NiJ9.eyJleHAiOjE3NjYzMDk1MTgsInVzZXIiOiJ7XCJpZFwiOjIwMjAsXCJ1c2VybmFtZVwiOlwiMDM3NDc4ODQwNVwiLFwibmFtZVwiOlwiQ2h1IFRo4buLIExpw6 puXCIsXCJyb2xlc1wiOltdLFwibWFwQmVhdXR5U2Fsb25cIjp7XCJicG0ucmVib3JuLnZuXCI6Nn0sXCJlbXBsb3llZUlkXCI6NTMxLFwiYnJhbmNoSWRcIjoyM30ifQ.UGz8TQudVxEd7rp_rsLXePraHELTRWHyc7iXNvVnn14 |
2. PARAMSTT | Field | Required | Data Type / Length | Description | Note |
|---|
| 1 | packageId | true | Integer | Id gói thầu |
|
3. Response / Incoming Data Specification| STT | Field | Data Type / Length | Description | Note | Sample Values |
|---|
| code | Integer | Code |
|
|
| message | String | Message |
|
|
| result | Object | Kết quả |
|
|
| result[?].id | Integer | id tổng hợp làm rõ HSMT |
|
|
| result[?].packageId | Integer | Id gói thầu |
|
|
| result[?].content | String | Nội dung |
|
|
| result[?].attachments | String | Danh sách file |
|
|
| result[?].employeeId | Integer | Người tạo |
|
|
| result[?].createdTime | Timestamp | Thời gian tạo |
|
|
Method | GET | URL | <DOMAIN>/application/clarificationDetail/list |
|---|
Description | API danh sách chi tiết yêu cầu làm rõ |
|---|
Note | Đã có |
|---|
1. HeadersSTT | Field | Source Data Type / Length | Description | Sample Values |
|---|
| authorization | String | Token | Bearer eyJhbGciOiJIUzI1NiJ9.eyJleHAiOjE3NjYzMDk1MTgsInVzZXIiOiJ7XCJpZFwiOjIwMjAsXCJ1c2VybmFtZVwiOlwiMDM3NDc4ODQwNVwiLFwibmFtZVwiOlwiQ2h1IFRo4buLIExpw6 puXCIsXCJyb2xlc1wiOltdLFwibWFwQmVhdXR5U2Fsb25cIjp7XCJicG0ucmVib3JuLnZuXCI6Nn0sXCJlbXBsb3llZUlkXCI6NTMxLFwiYnJhbmNoSWRcIjoyM30ifQ.UGz8TQudVxEd7rp_rsLXePraHELTRWHyc7iXNvVnn14 |
2. PARAMSTT | Field | Required | Data Type / Length | Description | Note |
|---|
| 1 | clarificationId | true | Integer | Id gói thầu |
|
| round | true | Integer | Số vòng |
|
3. Response / Incoming Data Specification| STT | Field | Data Type / Length | Description | Note | Sample Values |
|---|
| code | Integer | Code |
|
|
| message | String | Message |
|
|
| result | Object | Kết quả |
|
|
| result[?].id | Integer | id tổng hợp làm rõ HSMT |
|
|
| result[?].attachments | String | Danh sách file |
|
|
| result[?].content | String | Nội dung |
|
|
| result[?].assignTime | Timestamp |
|
|
|
| result[?].processTime | Timestamp |
|
|
|
| result[?].status | Integer | Trạng thái |
|
|
| result[?].employeeId | Integer |
|
|
|
| result[?].employeeName | String |
|
|
|
| result[?].documentId | Integer |
|
|
|
| result[?].clarificationId | Integer |
|
|
|
| result[?].organizationId | Integer |
|
|
|
| result[?].documentName | String |
|
|
|
| result[?].documentPosition | String |
|
|
|
| result[?].idFromPortal | Integer |
|
|
|
| result[?].documentType | String |
|
|
|
| result[?].documentEmployeeName | String |
|
|
|
| result[?].documentEmployeeId | String |
|
|
|
| result[?].employeeIdSow | Integer |
|
|
|
| result[?].employeeIdBom | Integer |
|
|
|
| result[?].employeeIdEngineer | Integer |
|
|
|
| result[?].employeeIdExperiment | Integer |
|
|
|
| result[?].employeeIdBoq | Integer |
|
|
|
| result[?].employeeIdDesign | Integer |
|
|
|
| result[?].employeeIdSplcontact | Integer |
|
|
|
| result[?].employeePackageId | Integer |
|
|
|
| result[?].employeeNameSow | String |
|
|
|
| result[?].employeeNameBom | String |
|
|
|
| result[?].employeeNameEngineer | String |
|
|
|
| result[?].employeeNameExperiment | String |
|
|
|
| result[?].employeeNameBoq | String |
|
|
|
| result[?].employeeNameDesign | String |
|
|
|
| result[?].employeeNameSplcontact | String |
|
|
|
Method | GET | URL | <DOMAIN>/system/employee/list |
|---|
Description | API Danh sách nhân viên |
|---|
Note | Đã có |
|---|
1. HeadersSTT | Field | Source Data Type / Length | Description | Sample Values |
|---|
| authorization | String | Token | Bearer eyJhbGciOiJIUzI1NiJ9.eyJleHAiOjE3NjYzMDk1MTgsInVzZXIiOiJ7XCJpZFwiOjIwMjAsXCJ1c2VybmFtZVwiOlwiMDM3NDc4ODQwNVwiLFwibmFtZVwiOlwiQ2h1IFRo4buLIExpw6 puXCIsXCJyb2xlc1wiOltdLFwibWFwQmVhdXR5U2Fsb25cIjp7XCJicG0ucmVib3JuLnZuXCI6Nn0sXCJlbXBsb3llZUlkXCI6NTMxLFwiYnJhbmNoSWRcIjoyM30ifQ.UGz8TQudVxEd7rp_rsLXePraHELTRWHyc7iXNvVnn14 |
2. PARAMSTT | Field | Required | Data Type / Length | Description | Note |
|---|
| 1 | name |
| String | Tên, email nhân viên |
|
| page |
| Integer |
|
|
| limit |
| Integer |
|
|
3. Response / Incoming Data Specification| STT | Field | Data Type / Length | Description | Note | Sample Values |
|---|
| code | Integer | Code |
|
|
| message | String | Message |
|
|
| total | Long | Tổng số bản ghi |
|
|
| page | Integer | Số trang |
|
|
| result | Object | Kết quả |
|
|
| result.item[?].id | Integer | Id user |
|
|
| result.item[?].name | String | Tên |
|
|
| result.item[?].userName | String | Tên đăng nhập |
|
|
| result.item[?].avatar | String | avatar |
|
|
| result.item[?].phone | String | Số điện thoại |
|
|
| result.item[?].email | String | email |
|
|
| result.item[?].address | String | Đại chỉ |
|
|
| result.item[?].jteId | Integer |
|
|
|
| result.item[?].jteName | String |
|
|
|
| result.item[?].departmentId | Integer |
|
|
|
| result.item[?].roles | String |
|
|
|
| result.item[?].leadership | Integer |
|
|
|
| result.item[?].status | Integer |
|
|
|
| result.item[?].position | Integer |
|
|
|
| result.item[?].isOwner | Integer |
|
|
|
| result.item[?].userId | Integer |
|
|
|
| result.item[?].managerId | Integer |
|
|
|
| result.item[?].serviceCount | Integer |
|
|
|
| result.item[?].title | String |
|
|
|
| result.item[?].branchName | String |
|
|
|
| result.item[?].branchAddress | String |
|
|
|
| result.item[?].departmentName | String |
|
|
|
| result.item[?].viewMode | Integer |
|
|
|
| result.item[?].idToken | String |
|
|
|
| result.item[?].accessToken | String |
|
|
|
| result.item[?].uniqueId | String |
|
|
|
| result.item[?].viewCustomerMode | Integer |
|
|
|
| result.item[?].viewBusinessPartnerMode | Integer |
|
|
|
| result.item[?].sip | String |
|
|
|
| result.item[?].shiftId | Integer |
|
|
|
| result.item[?].shiftName | String |
|
|
|
| result.item[?].branchId | Integer |
|
|
|
| result.item[?].bsnId | Integer |
|
|
|
| result.item[?].managerName | String |
|
|
|
| result.item[?].managerAvatar | String |
|
|
|
| result.item[?].lstEmployeeId | List<Integer> |
|
|
|
| result.item[?].rank | Integer |
|
|
|
| result.item[?].tmpId | Integer |
|
|
|
| result.item[?].lstOrgApp | List<EBOrgApp> | public class EBOrgApp { private Integer id; private String code; private String startDate; private String endDate; private Integer packageId; private Integer period; private Integer periodBonus; private Integer price; private Integer priceDiscount; private Integer bsnId;
//Thông tin mở rộng (Tên gói đang dùng) private String packageName; private Integer packageType; } |
|
|
| result.item[?].lstEmployeeRole | List<JobTitle> | public class JobTitle { private Integer id; private String title; private Integer position; private Integer departmentId; private Integer isManager;
//Tên bộ phận phòng ban private String departmentName; } |
|
|
Method | POST | URL | <DOMAIN>/application/clarificationRequest/assign |
|---|
Description | API Gửi phân công yêu cầu làm rõ |
|---|
Note | Đã có |
|---|
1. HeadersSTT | Field | Source Data Type / Length | Description | Sample Values |
|---|
| authorization | String | Token | Bearer eyJhbGciOiJIUzI1NiJ9.eyJleHAiOjE3NjYzMDk1MTgsInVzZXIiOiJ7XCJpZFwiOjIwMjAsXCJ1c2VybmFtZVwiOlwiMDM3NDc4ODQwNVwiLFwibmFtZVwiOlwiQ2h1IFRo4buLIExpw6 puXCIsXCJyb2xlc1wiOltdLFwibWFwQmVhdXR5U2Fsb25cIjp7XCJicG0ucmVib3JuLnZuXCI6Nn0sXCJlbXBsb3llZUlkXCI6NTMxLFwiYnJhbmNoSWRcIjoyM30ifQ.UGz8TQudVxEd7rp_rsLXePraHELTRWHyc7iXNvVnn14 |
2. BODYSTT | Field | Required | Data Type / Length | Description | Note |
|---|
| 1 | clarificationDetail |
| List<ClarificationDetail> | public class ClarificationDetail { private Integer id; private String attachments; private String content; private Timestamp assignTime; private Timestamp processTime; private Integer status; private Integer employeeId; private String employeeName; private Integer documentId; private Integer clarificationId; private Integer organizationId; private String documentName; private Integer documentPosition; private Integer idFromPortal;
//Trường thông tin mở rộng private String documentType; private String documentEmployeeName; private String documentEmployeeId;
private Integer employeeIdSow; private Integer employeeIdBom; private Integer employeeIdEngineer; private Integer employeeIdExperiment; private Integer employeeIdBoq; private Integer employeeIdDesign; private Integer employeeIdSplcontact; private Integer employeePackageId;
private String employeeNameSow; private String employeeNameBom; private String employeeNameEngineer; private String employeeNameExperiment; private String employeeNameBoq; private String employeeNameDesign; private String employeeNameSplcontact; } |
|
3. Response / Incoming Data Specification| STT | Field | Data Type / Length | Description | Note | Sample Values |
|---|
| code | Integer | Code |
|
|
| message | String | Message |
|
|
| result | Object | Kết quả |
|
|
| result.id | Integer | Id |
|
|
| result.round | Integer | Số vòng |
|
|
| result.status | Integer | Trạng thái |
|
|
| result.assignTime | Timestamp | Thời gian assign |
|
|
| result.createdTime | Timestamp | Thời gian tạo |
|
|
| result.responseTimeDay | Integer | Thời gian phản hồi (ngày) |
|
|
| result.responseTimeHour | Integer | Thời gian phản hồi (giờ) |
|
|
| result.responseTimeMinute | Integer | Thời gian phản hồi (phút) |
|
|
| result.responseTime | Timestamp | Thời gian phản hồi |
|
|
| result.organizationId | Integer |
|
|
|
| result.packageId | Integer |
|
|
|
| result.projectId | Integer |
|
|
|
| result.packageName | String |
|
|
|
| result.projectName | String |
|
|
|
| result.branchName | String |
|
|
|
| result.tenderPackageName | String |
|
|
|
| result.packageProjectName | String |
|
|
|
| result.packageProjectCode | String |
|
|
|
| result.idFromPortal | Integer |
|
|
|
| result.contactId | Integer |
|
|
|
| result.userId | Integer |
|
|
|
| result.processingTimeDay | Integer | Thời gian xử lý (ngày) |
|
|
| result.processingTimeHour | Integer | Thời gian xử lý (giờ) |
|
|
| result.processingTimeMinute | Integer | Thời gian xử lý (phút) |
|
|
| result.organizationName | Integer |
|
|
|
|
4. Mô tả các trường dữ liệu trên màn hình
4.1 Màn hình Quản lý yêu cầu làm rõ
4.1.1. Phân quyền

Với Site đấu thầu là chức năng cha và "Hồ sơ mời thầu" là chức năng con với các quyền:

- Xem:
- Cho phép xem danh sách yêu cầu làm rõ: ẩn nút chức năng "Gửi tổng hợp"
- Cho phép xem chi tiết phân công Yêu cầu làm rõ: nhấn vào tên nhà thầu để mở Pop-up Xem yêu cầu làm rõ: ẩn nút chức năng "Gửi phân công làm rõ yêu cầu", "Gửi trả lời yêu cầu làm rõ"
- Cho phép xem chi tiết yêu cầu màn rõ: nhấn vào biểu tượng con mặt trong màn hình Phân công yêu cầu làm rõ: ẩn nút chức năng "Lưu"
- Cho phép xem lịch sử yêu cầu làm rõ: Hiển thị nút chức năng "Lịch sử", trong màn hình lịch sử ẩn nút chức năng "Tổng hợp mới"
- Thêm:
- Cho phép người dùng gửi tổng hợp yêu cầu làm rõ: màn hình Quản lý yêu cầu làm rõ hiển thị nút chức năng "Gửi tổng hợp"
- Cho phép chỉnh sửa chi tiết yêu cầu màn rõ: nhấn vào biểu tượng con mặt trong màn hình Phân công yêu cầu làm rõ hiển thị nút chức năng "Lưu"
- Cho phép người dùng tổng hợp mới từ lịch sử yêu cầu làm rõ: màn hình Lịch sử yêu cầu làm rõ hiển thị nút chức năng "Tổng hợp mới"
- Cho phép người dùng phân công yêu cầu làm rõ: màn hình chi tiết Yêu cầu làm rõ hiển thị nút chức năng "Gửi phân công làm rõ yêu cầu", "Gửi trả lời yêu cầu làm rõ"
4.1.2. Mô tả về các trường/nút chức năng rên màn hình quản lý yêu cầu làm rõ & bộ lọc
4.1.2.1 Màn hình Quản lý yêu cầu làm rõ
STT | Trường/Nút chức năng | Kiểu dữ liệu | Điều kiện | Quy định | Mô tả |
|---|
Màn hình quản lý yêu cầu làm rõ |
| 1 | STT | |
|
| Số thự tự hệ thống tự sinh |
| 2 | Nhà thầu | Hyperlink |
|
| Hiển thị danh sách nhà thầu gửi yêu cầu làm rõ Nhấn vào tên nhà thầu hệ thống mở Pop-up chi tiết yêu cầu làm rõ |
| 3 | Tên người liên hệ | Text |
|
| Hiển thị tên người liên hệ gửi yêu cầu làm rõ |
| 4 | Email người liên hệ | Text |
|
| Hiển thị email (tài khoản) gửi yêu cầu làm rõ |
| 5 | Lần làm rõ | Number |
|
| Hiển thị lần làm rõ hiện tại của nhà thầu |
| 6 | Thời gian nhận | Date time |
|
| Hiển thị thời gian yêu cầu làm rõ gần nhất của nhà thầu |
| 7 | Trạng thái | Text |
|
| Trạng thái làm rõ của nhà thầu: - Chờ phản hồi: các yêu cầu được gửi tới hội đồng thầu mà chưa được phân công.
- Đã phân công: các yêu cầu đã được thư ký hội đồng thầu phân công cho thành viên hội đồng thầu.
- Chờ tổng hợp: các yêu cầu mà thành viên hội đồng thầu đã phản hồi, chờ thư ký tổng hợp và gửi cho nhà thầu
- Đã phản hồi: các yêu cầu mà thư ký hội đồng thầu đã phản hồi.
|
| 8 | Bộ lọc | Button |
|
| Chức năng cho phép người dùng thực hiện lọc nhà thầu cần xử lý làm rõ Nhấn vào hệ thống hiển thị Pop-up điều kiện lọc |
| 9 | Searchbox | Searchbox |
|
| Chức năng cho phép người dùng thực hiện tìm kiếm theo tên nhà thầu |
| 10 | Lịch sử | Button |
| Chỉ cho phép nhấn khi đã có lịch sử gửi tổng hợp yêu cầu làm rõ | Cho phép người dùng mở Pop-up lịch sử tổng hợp yêu cầu lảm rõ yêu câu |
| 11 | Gửi đánh giá | Button |
|
| Cho phép người dùng mở Pop-up gửi tổng hợp yêu cầu làm rõ |
Màn hình bộ lọc |
| 1 | Từ ngày | Date |
|
| Cho phép người dùng nhập thông tin từ ngày |
| 2 | Đến ngày | Date |
|
| Cho phép người dùng nhập thông tin đến ngày |
| 3 | Trạng thái | Droplist |
|
| Cho phép người dùng lựa chọn các trạng thái làm rõ của nhà thầu: - Tất cả
- Chờ phản hồi
- Đã phân công
- Chờ tổng hợp
- Đã phản hồi
|
| 4 | Đặt lại | Button |
|
| Chức năng cho phép người dùng xóa hết các điều kiện lọc đã chọn |
| 5 | Áp dụng | Button |
| Với trường hợp lọc nhiều điều kiện hệ thống sử dụng điều kiện And. - Nếu người dùng điền đủ thông tin từ ngày đến ngày: hệ thống lọc dữ liệu trong khoảng thời gian
- Nếu người dùng chỉ điền từ ngày: lọc các gói thầu có ngày ≥ Từ ngày.
- Nều người dùng chỉ điền đến ngày: lọc các gói thầu có ngày ≤ Đến ngày.
- Nếu người dùng điền Từ ngày > Đến ngày → hiển thị cảnh báo "Tham số ngày không hợp lệ"
| Chức năng cho phép người dùng lọc dữ liệu theo các kiều kiện đã chọn. Hệ thống tắt màn hình Pop-up điều kiện lọc. |
4.1.2.2 Màn hình Pop-up Chi tiết yêu cầu làm rõ
STT | Trường/Nút chức năng | Kiểu dữ liệu | Điều kiện | Quy định | Mô tả |
|---|
| 1 | Tab lần gửi yêu cầu làm rõ | |
|
| |
| 2 | STT | Number |
|
| Tham chiếu tài liệu URD mục 2.7.4.3 |
| 3 | Tên hồ sơ | Text |
|
| Tham chiếu tài liệu URD mục 2.7.4.3 |
| 4 | Người trả lời yêu cầu làm rõ | Text |
|
| Tham chiếu tài liệu URD mục 2.7.4.3 |
| 5 | Trạng thái | Number |
|
| Tham chiếu tài liệu URD mục 2.7.4.3 |
| 6 | Nút xem chi tiết | Date time |
|
| Tham chiếu tài liệu URD mục 2.7.4.3 |
| 7 | Nút “Gửi tổng hợp” | Text |
|
| Tham chiếu tài liệu URD mục 2.7.4.3 |