📂 專案庫管理
租戶總覽 {{ tenantCubePagination.total }} 個租戶,點擊租戶後查看專案
{{ selectedProjectTenant?.displayName || '租戶專案' }} · 共 {{ tenantProjectPagination.total }} 個專案
總計 {{ projects.length }} 個專案,每頁顯示 20 筆
尚無可顯示租戶
| 租戶 | 系統編號 | 工程名稱 | 建立者 | 承攬型態 | 業主 | 版本 | 建立日期 | 操作 |
|---|---|---|---|---|---|---|---|---|
| {{ p.tenant?.displayName || selectedProjectTenant?.displayName || '-' }} | {{ p.sysCode }} | {{ p.projectName }} | {{ p.createdBy?.displayName || p.createdBy?.username || '-' }} | {{ getContractTypeLabel(p.contractType) }} | {{ p.agency || '-' }} | {{ getProjectVersionLabel(p) }} | {{ p.createdAt }} |
開啟
刪除
終止
決標
|
| 尚未建立專案或查無資料 |
第 {{ currentPage }} 頁 / 共 {{ totalPages }} 頁
詢價包管理 ({{ rfqPackages.length }} 包)
| 詢價包名稱 | 類型 | 版本 | 項數 | 狀態 | 建立時間 | 操作 |
|---|---|---|---|---|---|---|
| {{ pkg.name }} | {{ pkg.packageClassificationLabel || packageClassificationLabel(pkg.packageClassification) }} | {{ pkg.bidVersionLabel || '-' }} | {{ pkg.itemCount }} | {{ quotePackageStatusLabel(pkg) }} | {{ pkg.createdAt ? pkg.createdAt.substring(0, 10) : '-' }} |
匯出
編輯
廢止
|
{{ currentProjectName }}
{{ projectItemSummary?.currentVersionLabel || currentProjectVersionLabel || '尚未匯入標單' }}
· 全案工項清單 共 {{ projectItemSummary?.leafItemCount ?? 0 }} 項
· 全案預算合計 {{ formatMoney(projectItemSummary?.budgetTotalRounded) }}
| 項次 | 說明 | 單位 | 數量 | 單價 | 總價 | PCCES |
|---|---|---|---|---|---|---|
| {{ i.itemRaw }} | {{ i.description }} | {{ i.unit || '-' }} | {{ i.quantity ? i.quantity.toLocaleString() : '-' }} | {{ i.unitPrice ? i.unitPrice.toLocaleString() : '-' }} | {{ i.totalPrice ? i.totalPrice.toLocaleString() : '-' }} | {{ i.pccesCode }} |
目前的專案尚未匯入任何內容。
{{ rfqEditMode ? '編輯詢價包' : '建立詢價包' }}
目前選擇:{{ packageClassificationLabel(rfqPackageClassification) }}
已勾選 {{ rfqSelectedIds.length }} 個節點
勾選父層節點時,系統會在建立/更新時納入其轄下工項;目前勾選數為直接勾選節點數,非最終明細項數。
{{ i.itemRaw }} — {{ i.description }}
勾選後由系統納入轄下工項
可能重複建立詢價包
系統發現既有詢價包與本次選取工項高度重疊。請確認後再建立,避免後續報價與比價資料重複。
本次終端工項數
{{ rfqDuplicateWarningModal.newScopeCount }}
處置
需人工確認後才會建立
| 詢價包名稱 | 狀態 | 類別 | 重疊工項 | 重疊比例 |
|---|---|---|---|---|
|
{{ candidate.packageName }}
{{ sample.itemRaw || sample.itemPath || '-' }} — {{ sample.description || '-' }}
|
{{ candidate.businessStatus || '-' }} | {{ candidate.packageClassificationLabel || packageClassificationLabel(candidate.packageClassification) }} | {{ candidate.intersectionCount }} / {{ candidate.newScopeCount }} | {{ Math.round((candidate.overlapRatio || 0) * 100) }}% |
📋 報價回覆管理
管理與檢視專案下所有詢價包的廠商報價狀況。
此專案尚未建立詢價包
請先至「專案詢價 (RFQ)」建立詢價包。
建立時間{{ selectedQuotePackage.createdAt ? selectedQuotePackage.createdAt.substring(0, 10) : '-' }}
預算總額${{ formatMoney(quoteInfoStrip.budgetTotal) }}
最低報價廠商{{ quoteInfoStrip.lowestVendor }}
最低報價金額${{ formatMoney(quoteInfoStrip.lowestAmount) }}
鎖定時間{{ quoteInfoStrip.lockedAt }}
鎖定狀態{{ quoteInfoStrip.lockStatusLabel }}
鎖定廠商{{ quoteInfoStrip.lockedVendor }}
載入報價明細中...
| 項次 | 說明 | 單位 | 數量 | 預算單價 |
{{ v.vendorName }}
V{{ v.quoteVersion || 1 }}
最終鎖定
|
|---|---|---|---|---|---|
| {{ item.itemRaw }} | {{ item.description }} | {{ item.unit || '-' }} | {{ item.quantity != null ? item.quantity : '-' }} | - |
-
預算 {{ formatDelta(quoteCompare(item, v.quoteId).budgetUnitCompare) }}
前版 {{ formatDelta(quoteCompare(item, v.quoteId).previousUnitCompare) }}
|
| 合計 | ${{ formatMoney(quoteMatrix.budgetTotal || 0) }} |
${{ formatMoney(v.totalAmount || 0) }}
預算 {{ formatDelta(v.totalBudgetCompare) }}
前版 {{ formatDelta(v.totalPreviousCompare) }}
|
請先選擇詢價包以檢視報價比價資訊。
權限管理
{{ isCurrentSuperAdmin ? '平台租戶、帳號與異動紀錄工作台' : 'Tenant 帳號與異動紀錄工作台' }}
{{ isCurrentSuperAdmin ? '到期警示區塊' : '到期警示' }}
剩餘 {{ tenant.daysLeft }} 日
{{ tenant.name }}
{{ tenant.companyName || '-' }}
{{ formatAdminDate(tenant.validUntil) }}
{{ adminTenantTierLabel(tenant.tier) }}
30 天內無租戶到期警示。
離到期日剩餘 {{ daysUntilTenantExpiry(adminSelectedTenant) }} 日
目前無到期警示
{{ adminSelectedTenant ? adminSelectedTenant.name : '-' }}
租戶列表
| 租戶名稱 | 公司名稱 | 方案 | 授權數 | 已使用 | 狀態 | 操作 |
|---|---|---|---|---|---|---|
| {{ tenant.name }} | {{ tenant.companyName || '-' }} | {{ adminTenantTierLabel(tenant.tier) }} | {{ tenant.authorizedSeats || 0 }} | {{ tenant.usedSeats || 0 }} | {{ adminTenantStatusLabel(tenant.derivedStatus || tenant.status) }} |
|
| 尚無可管理租戶。 | ||||||
第 {{ adminTenantPage }} / {{ adminTenantTotalPages }} 頁
帳號列表
| 帳號 | 姓名 | 租戶 | 狀態 | 角色 | 操作 | |
|---|---|---|---|---|---|---|
| {{ account.username }} | {{ account.displayName }} | {{ account.email || '-' }} | {{ account.tenant ? account.tenant.name : '-' }} | {{ adminStatusLabel(account.status) }} | {{ role }} |
|
| 尚無可管理帳號。 |
第 {{ adminAccountPage }} / {{ adminAccountTotalPages }} 頁
近期異動紀錄
{{ event.createdAt ? event.createdAt.substring(0, 16).replace('T', ' ') : '-' }}
{{ event.action }}
{{ event.result }}
{{ event.actorUsername || event.actorUsernameSnapshot || '-' }} → {{ event.targetDisplay || event.targetDisplaySnapshot || '-' }}
尚無權限異動紀錄。
第 {{ adminAuditPage }} / {{ adminAuditTotalPages }} 頁
搜尋
{{ adminTenantModal.mode === 'edit' ? '編輯 Tenant' : '新增 Tenant' }}
{{ adminAccountModalMode === 'bootstrapTenantAdmin' ? '建立首位 Tenant_Admin' : '新增帳號' }}
Tenant:{{ adminSelectedTenant.name }} / 剩餘授權 {{ adminSelectedTenantRemainingSeats }}
編輯帳號
帳號{{ adminSelectedAccount.username }}
姓名{{ adminSelectedAccount.displayName || '-' }}
Email{{ adminSelectedAccount.email || '-' }}
狀態{{ adminStatusLabel(adminSelectedAccount.status) }}
{{ adminActionModal.title }}
建設中
此功能正在進行資料解耦與 ERP 核心對接,預計於 Phase 2 正式釋出。目前的專案背景資料已同步更新。