All checks were successful
Deploy SOLUTION_ERP / build-deploy (push) Successful in 6m49s
Anh: "Cho 2 cai nay ve lam mot dc ko ?" (mui ten: dong du lieu trong bang <-> panel
"Them hang muc cho:" nam duoi bang). Duoc — panel co dung 3 truong trung khit 3
truong cua mot dong (hang muc / gia / ghi chu), nen no la CHO VE thu hai cho cung
mot thu.
Panel roi -> MOT DONG cua tbody, dung DUNG luoi 4 cot:
cot 1 STT : icon +
cot 2 : dong "Them cho: <NCC>" + select hang muc + o ghi chu DONG PHU
(y het dong du lieu that o tren => hai thu doc thanh CUNG hinh dang)
cot 3 GIA : o so
cot 4 : nut Them / Huy
NCC phai hien vi bang KHONG co cot NCC — khong noi thi khong biet dong moi thuoc ai.
🔴 VI SAO KHONG lam kieu "bam + de ngay dong trong roi nhap tai cho" (dung loi inline
cua cac dong khac, ve mat UI thi con gon hon nua):
AddContractSigningPlanLineCommand:759 khai CatalogEntryId la Guid KHONG nullable +
validator NotEmpty(), boi vi unique index (Plan, Supplier, CatalogEntry) CO Y khong
loc NULL (ContractSigningPlanLineConfiguration.cs:35-38) — trong UNIQUE cua SQL
Server thi NULL == NULL, nen dong trong thu hai cua CUNG mot NCC dung ngay dong goc
cua chinh no. Noi index de lach = "tha troi vo han dong trung", dung thu chu-thich
o do cam.
=> Dong nay la DONG NHAP phia client: trong va xep cot y het dong that, nhung chi goi
API MOT LAN khi da co hang muc ⇒ may giu nguyen bat bien. Gop la gop CHO VE, khong
cat bot truong nao va khong dong vao schema.
Do duoc (2 ve, moi ve co doi chung):
- "Them cho: " = 1 o CA HAI dist => form moi da vao.
- "Them hang muc cho: " (CO dau hai cham, nhan rieng cua panel cu): nguon 3->2
(2 hit con lai la CHU THICH), dist = 0 CA HAI => nhan panel cu da bien mat.
- "Chon hang muc" = 2 trong nguon la DUNG: :553 select cua dong CO SAN (sua tai cho)
⟂ :677 form them. Da truy tung hit thay vi tin con so.
- 🔸 Ky vong dau cua lead SAI 1 lan: doi "Gia de xuat" = 0 sau khi go panel, do ra 6
— vi day la nhan DUNG CHUNG (PeDetailTabs + types/purchaseEvaluation). Da doi sang
discriminator that thay vi ep so cho khop ky vong.
Diff CHI 2 file FE, 0 file BE => .NET test khong the bi anh huong, bo qua vong test do
(khai ro). 2 app build sach · SHA IDENTICAL (verify identical @HEAD TRUOC khi copy de).
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
React + TypeScript + Vite
This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
Currently, two official plugins are available:
- @vitejs/plugin-react uses Oxc
- @vitejs/plugin-react-swc uses SWC
React Compiler
The React Compiler is not enabled on this template because of its impact on dev & build performances. To add it, see this documentation.
Expanding the ESLint configuration
If you are developing a production application, we recommend updating the configuration to enable type-aware lint rules:
export default defineConfig([
globalIgnores(['dist']),
{
files: ['**/*.{ts,tsx}'],
extends: [
// Other configs...
// Remove tseslint.configs.recommended and replace with this
tseslint.configs.recommendedTypeChecked,
// Alternatively, use this for stricter rules
tseslint.configs.strictTypeChecked,
// Optionally, add this for stylistic rules
tseslint.configs.stylisticTypeChecked,
// Other configs...
],
languageOptions: {
parserOptions: {
project: ['./tsconfig.node.json', './tsconfig.app.json'],
tsconfigRootDir: import.meta.dirname,
},
// other options...
},
},
])
You can also install eslint-plugin-react-x and eslint-plugin-react-dom for React-specific lint rules:
// eslint.config.js
import reactX from 'eslint-plugin-react-x'
import reactDom from 'eslint-plugin-react-dom'
export default defineConfig([
globalIgnores(['dist']),
{
files: ['**/*.{ts,tsx}'],
extends: [
// Other configs...
// Enable lint rules for React
reactX.configs['recommended-typescript'],
// Enable lint rules for React DOM
reactDom.configs.recommended,
],
languageOptions: {
parserOptions: {
project: ['./tsconfig.node.json', './tsconfig.app.json'],
tsconfigRootDir: import.meta.dirname,
},
// other options...
},
},
])