Takliflar ro'yxati + diff ko'rinishi
Tavsif
Qabul mezonlari (DoD)
3 / 3 bajarildi
-
Ro'yxat `pending` takliflarni ko'rsatadi; har biri uchun diff (joriy -> taklif) yonma-yon
qa-ep-03-t11-s01 · 1 о аввал
-
`supplier_contract.review_proposal` huquqi yo'q foydalanuvchida qabul/rad tugmalari KO'RINMAYDI
qa-ep-03-t11-s01 · 1 о аввал
-
Yopilgan takliflar tarixi status va ko'rib chiqqan xodim bilan ko'rinadi
qa-ep-03-t11-s01 · 1 о аввал
O'zgargan fayllar
10 ta
-
created
apps/erpbom-web/src/modules/suppliers/views/__tests__/SupplierChangeProposalListView.spec.ts -
created
apps/erpbom-web/src/modules/suppliers/views/SupplierChangeProposalListView.vue -
created
apps/erpbom-web/src/modules/suppliers/components/__tests__/SupplierChangeProposalDiff.spec.ts -
created
apps/erpbom-web/src/modules/suppliers/components/SupplierChangeProposalDiff.vue -
created
apps/erpbom-web/src/modules/suppliers/api/__tests__/supplier-change-proposals.api.spec.ts -
created
apps/erpbom-web/src/modules/suppliers/api/supplier-change-proposals.api.ts -
modified
apps/erpbom-web/src/shared/layout/navigation.ts -
modified
apps/erpbom-web/src/router/index.ts -
modified
apps/erpbom-web/src/modules/suppliers/labels.ts -
modified
apps/erpbom-web/src/modules/suppliers/types.ts
Izoh qoldirish
Tarix
18 yozuv
-
✎
finalize-ep-03 yangiladi
Yangilandi: pr_url
-
💬
qa-ep-03-t11-s01 izoh qoldirdi
QA (mustaqil tekshiruv, commit 5aeb477): 3/3 mezon tasdiqlandi. AC2197 - SupplierChangeProposalDiff.vue:78-98: har payload kaliti uchun bitta qator, .proposal-diff__old (joriy) -> strelka -> .proposal-diff__new (taklif) BITTA flex konteynerda, yonma-yon. current_values null/undefined -> formatFieldValue guard (51-53) "—" beradi, xato yo'q (view testi rejected+current_values:null bilan render qiladi). AC2198 - v-can="supplier_contract.review_proposal" ikkala tugmada (ListView:201, 210); direktiva display:none qo'yadi (can.directive.ts:28) = KO'RINMAYDI, disabled emas. Route meta.permission ham aynan shu rule (router/index.ts:183) va guards.ts uni haqiqatan ijro etadi; navigation.ts menyu elementi ham shu rule bilan. AC2199 - status Tag (PROPOSAL_STATUS_LABELS/SEVERITY) + reviewedByLabel() "Xodim #N · sana" (ListView:96-101, formatDateTime), "Rad sababi" ustuni; terminal qatorda amal tugmasi yo'q. "Xodim #N" - kontraktda ism yo'q (faqat reviewed_by_user_id), T06/T07 dagi "Foydalanuvchi #id" naqshi bilan bir xil. MUTATSIYA TEKSHIRUVI (har biri kiritildi -> test yiqildi -> git checkout bilan tiklandi; worktree toza): M1 oldValue = payload (diff yolg'on ko'rsatardi) -> 5 test yiqildi M2 v-can olib tashlandi -> AC2198 testi yiqildi M3 reviewedByLabel har doim "—" -> AC2199 testi yiqildi M4 null-guard olib tashlandi -> "current_values null" testi yiqildi M5 rule kodi supplier.view ga almashtirildi -> ijobiy ko'rinish testi yiqildi Xulosa: testlar haqiqiy xatti-harakatni ushlaydi, tautologik yoki mock-testing emas. Testlar: 3 yangi fayl 14/14 yashil; butun suppliers moduli 16 fayl / 109 test yashil. vue-tsc --noEmit toza, eslint toza. Kontrakt (suppliers.yaml): GET /api/v1/supplier-change-proposals, page/size 1-based, status enum pending|accepted|rejected|superseded (default pending), supplier_id filtri, current_values nullable, reviewed_by_user_id / reviewed_at / review_comment / result_contract_id - maydon nomi va tipi mos. accept/reject ataylab yo'q (S02 qamrovi). Kontrakt O'ZGARTIRILMADI. UI: PageContainer/PageHeader/FilterBar/Message/ContentCard flush/DataTable/RowActions/EmptyState anatomiyasi, 4 holat (loading/empty/error/permission) qamralgan, ranglar tokenlardan, sana utils/date.ts orqali - T06/T07 naqshi bilan bir xil. NIT (bloker emas, S02 da yopilsin): (1) ListView:149 class="proposal-list-view__table" - mos <style scoped> yo'q, o'lik klass; (2) status Select'da placeholder/label yo'q (SupplierListView'da "Holat" bor); (3) qabul/rad tugmalari hozircha doimiy disabled - S02 da amalga ulanadi.
-
⇄
qa-ep-03-t11-s01 statusni o'zgartirdi Review → Bajarildi
-
✓
qa-ep-03-t11-s01 qabul mezonini belgiladi
✓ Yopilgan takliflar tarixi status va ko'rib chiqqan xodim bilan ko'rinadi
-
✓
qa-ep-03-t11-s01 qabul mezonini belgiladi
✓ `supplier_contract.review_proposal` huquqi yo'q foydalanuvchida qabul/rad tugmalari KO'RINMAYDI
-
✓
qa-ep-03-t11-s01 qabul mezonini belgiladi
✓ Ro'yxat `pending` takliflarni ko'rsatadi; har biri uchun diff (joriy -> taklif) yonma-yon
-
✎
coder-ep-03-t11-s01 yangiladi
Yangilandi: branch, commit_sha
-
⇄
coder-ep-03-t11-s01 statusni o'zgartirdi Ishlanyapti → Review
-
💬
coder-ep-03-t11-s01 izoh qoldirdi
Ro'yxat + diff bajarildi (SupplierChangeProposalListView.vue, GET /supplier-change-proposals, status filtri default=pending). Qabul/rad tugmalari joylashtirildi (v-can="supplier_contract.review_proposal"), lekin disabled — bu barg qamrovi FAQAT ro'yxat+diff, amal logikasi EP-03-T11-S02 ga qoldirildi (topshiriq talabiga muvofiq). Yangi menyu/route: /taminotchilar/tahrir-takliflari. npm test (581/581), lint, vue-tsc -b, npm run build — hammasi toza.
-
✓
coder-ep-03-t11-s01 qabul mezonini belgiladi
✓ Yopilgan takliflar tarixi status va ko'rib chiqqan xodim bilan ko'rinadi
-
✓
coder-ep-03-t11-s01 qabul mezonini belgiladi
✓ `supplier_contract.review_proposal` huquqi yo'q foydalanuvchida qabul/rad tugmalari KO'RINMAYDI
-
✓
coder-ep-03-t11-s01 qabul mezonini belgiladi
✓ Ro'yxat `pending` takliflarni ko'rsatadi; har biri uchun diff (joriy -> taklif) yonma-yon
-
📄
coder-ep-03-t11-s01 fayllarni qayd etdi
10 ta fayl qayd etildi
-
⇄
coder-ep-03-t11-s01 statusni o'zgartirdi Backlog → Ishlanyapti
Agent ishni boshladi
-
⚑
coder-ep-03-t11-s01 ishga oldi
-
✎
team-lead-pm yangiladi
Yangilandi: estimate_hours
-
✎
team-lead-pm yangiladi
Yangilandi: estimate_hours
-
✦
team-lead-pm yaratdi
Takliflar ro'yxati + diff ko'rinishi
Ma'lumot
- Agent
- coder-ep-03-t11-s01
- Olingan
- 1 о аввал
- Boshlandi
- 20.08.2026 05:17
- Tugadi
- 20.08.2026 05:36
- Baho
- 2 soat
- Spec
- erp/docs/modules/01_suppliers.md#8.4
- Branch
- feat/EP-03-erpbom-web
- Commit
- 5aeb47785b6a
Bog'liqliklar
Bundan oldin tugashi kerak
Yo'q — bu ish mustaqil.
Buni kutayotganlar
Agent uchun
Bu ishni AI agent quyidagicha oladi:
curl -s -X POST https://pmboard.ferp.uz/api/items/EP-03-T11-S01/claim \ -H "X-Agent: backend-dev-1"
Tugatgach:
curl -s -X POST https://pmboard.ferp.uz/api/items/EP-03-T11-S01/status \
-H "X-Agent: backend-dev-1" \
-H "Content-Type: application/json" \
-d '{"status":"review","note":"..."}'