refactor: simplify schema names and remove provider id columns
This commit is contained in:
@@ -11,8 +11,7 @@
|
||||
<el-table v-else :data="companies" stripe border class="w-full shadow-sm">
|
||||
<template #empty><el-empty description="目前無公司" /></template>
|
||||
<el-table-column prop="company_key" label="Company Key" width="220" />
|
||||
<el-table-column prop="display_name" label="顯示名稱" min-width="180" />
|
||||
<el-table-column prop="legal_name" label="公司名稱" min-width="220" />
|
||||
<el-table-column prop="name" label="公司名稱" min-width="220" />
|
||||
<el-table-column prop="status" label="狀態" width="110" />
|
||||
<el-table-column label="操作" width="280">
|
||||
<template #default="{ row }">
|
||||
@@ -25,8 +24,7 @@
|
||||
|
||||
<el-dialog v-model="showCreateDialog" title="新增公司" width="560px" @close="resetCreateForm">
|
||||
<el-form ref="createFormRef" :model="createForm" :rules="rules" label-width="120px">
|
||||
<el-form-item label="顯示名稱" prop="display_name"><el-input v-model="createForm.display_name" /></el-form-item>
|
||||
<el-form-item label="公司名稱"><el-input v-model="createForm.legal_name" /></el-form-item>
|
||||
<el-form-item label="公司名稱" prop="name"><el-input v-model="createForm.name" /></el-form-item>
|
||||
<el-form-item label="狀態">
|
||||
<el-select v-model="createForm.status" style="width: 100%">
|
||||
<el-option label="active" value="active" />
|
||||
@@ -43,8 +41,7 @@
|
||||
<el-dialog v-model="showEditDialog" title="編輯公司" width="560px" @close="resetEditForm">
|
||||
<el-form :model="editForm" label-width="120px">
|
||||
<el-form-item label="Company Key"><el-input :model-value="editForm.company_key" disabled /></el-form-item>
|
||||
<el-form-item label="顯示名稱"><el-input v-model="editForm.display_name" /></el-form-item>
|
||||
<el-form-item label="公司名稱"><el-input v-model="editForm.legal_name" /></el-form-item>
|
||||
<el-form-item label="公司名稱"><el-input v-model="editForm.name" /></el-form-item>
|
||||
<el-form-item label="狀態">
|
||||
<el-select v-model="editForm.status" style="width: 100%">
|
||||
<el-option label="active" value="active" />
|
||||
@@ -90,10 +87,10 @@ const creating = ref(false)
|
||||
const saving = ref(false)
|
||||
const createFormRef = ref()
|
||||
|
||||
const createForm = ref({ display_name: '', legal_name: '', status: 'active' })
|
||||
const editForm = ref({ company_key: '', display_name: '', legal_name: '', status: 'active' })
|
||||
const createForm = ref({ name: '', status: 'active' })
|
||||
const editForm = ref({ company_key: '', name: '', status: 'active' })
|
||||
const rules = {
|
||||
display_name: [{ required: true, message: '請輸入顯示名稱', trigger: 'blur' }]
|
||||
name: [{ required: true, message: '請輸入公司名稱', trigger: 'blur' }]
|
||||
}
|
||||
|
||||
const showSitesDialog = ref(false)
|
||||
@@ -116,21 +113,20 @@ async function load() {
|
||||
}
|
||||
|
||||
function resetCreateForm() {
|
||||
createForm.value = { display_name: '', legal_name: '', status: 'active' }
|
||||
createForm.value = { name: '', status: 'active' }
|
||||
}
|
||||
|
||||
function openEdit(row) {
|
||||
editForm.value = {
|
||||
company_key: row.company_key,
|
||||
display_name: row.display_name,
|
||||
legal_name: row.legal_name || '',
|
||||
name: row.name || '',
|
||||
status: row.status || 'active'
|
||||
}
|
||||
showEditDialog.value = true
|
||||
}
|
||||
|
||||
function resetEditForm() {
|
||||
editForm.value = { company_key: '', display_name: '', legal_name: '', status: 'active' }
|
||||
editForm.value = { company_key: '', name: '', status: 'active' }
|
||||
}
|
||||
|
||||
async function handleCreate() {
|
||||
@@ -154,8 +150,7 @@ async function handleEdit() {
|
||||
saving.value = true
|
||||
try {
|
||||
await updateCompany(editForm.value.company_key, {
|
||||
display_name: editForm.value.display_name,
|
||||
legal_name: editForm.value.legal_name || null,
|
||||
name: editForm.value.name,
|
||||
status: editForm.value.status
|
||||
})
|
||||
ElMessage.success('更新成功')
|
||||
@@ -170,7 +165,7 @@ async function handleEdit() {
|
||||
|
||||
async function openSites(row) {
|
||||
showSitesDialog.value = true
|
||||
selectedCompanyDisplayName.value = `${row.display_name} (${row.company_key})`
|
||||
selectedCompanyDisplayName.value = `${row.name || row.company_key} (${row.company_key})`
|
||||
sitesLoading.value = true
|
||||
try {
|
||||
const res = await getCompanySites(row.company_key)
|
||||
@@ -186,7 +181,7 @@ async function openSites(row) {
|
||||
async function handleDelete(row) {
|
||||
try {
|
||||
await ElMessageBox.confirm(
|
||||
`確認刪除公司 ${row.display_name}(${row.company_key})?`,
|
||||
`確認刪除公司 ${row.name || row.company_key}(${row.company_key})?`,
|
||||
'刪除確認',
|
||||
{ type: 'warning' }
|
||||
)
|
||||
|
||||
@@ -86,7 +86,6 @@
|
||||
<el-table-column prop="site_display_name" label="站台" min-width="170" />
|
||||
<el-table-column prop="system_name" label="系統" min-width="150" />
|
||||
<el-table-column prop="role_name" label="角色" min-width="160" />
|
||||
<el-table-column prop="provider_role_name" label="Provider Role" min-width="190" />
|
||||
</el-table>
|
||||
<template #footer>
|
||||
<el-button @click="showRolesDialog = false">關閉</el-button>
|
||||
|
||||
@@ -13,7 +13,6 @@
|
||||
<el-table-column prop="role_key" label="Role Key" width="200" />
|
||||
<el-table-column prop="system_name" label="系統" min-width="150" />
|
||||
<el-table-column prop="name" label="角色名稱" min-width="180" />
|
||||
<el-table-column prop="provider_role_name" label="Provider Role" min-width="190" />
|
||||
<el-table-column prop="status" label="狀態" width="110" />
|
||||
<el-table-column label="操作" width="280">
|
||||
<template #default="{ row }">
|
||||
@@ -37,7 +36,6 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="角色名稱" prop="name"><el-input v-model="createForm.name" /></el-form-item>
|
||||
<el-form-item label="Provider Role" prop="provider_role_name"><el-input v-model="createForm.provider_role_name" /></el-form-item>
|
||||
<el-form-item label="描述"><el-input v-model="createForm.description" type="textarea" :rows="2" /></el-form-item>
|
||||
<el-form-item label="狀態">
|
||||
<el-select v-model="createForm.status" style="width: 100%">
|
||||
@@ -66,7 +64,6 @@
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="角色名稱"><el-input v-model="editForm.name" /></el-form-item>
|
||||
<el-form-item label="Provider Role"><el-input v-model="editForm.provider_role_name" /></el-form-item>
|
||||
<el-form-item label="描述"><el-input v-model="editForm.description" type="textarea" :rows="2" /></el-form-item>
|
||||
<el-form-item label="狀態">
|
||||
<el-select v-model="editForm.status" style="width: 100%">
|
||||
@@ -117,7 +114,6 @@ const createFormRef = ref()
|
||||
const createForm = ref({
|
||||
system_key: '',
|
||||
name: '',
|
||||
provider_role_name: '',
|
||||
description: '',
|
||||
status: 'active'
|
||||
})
|
||||
@@ -125,14 +121,12 @@ const editForm = ref({
|
||||
role_key: '',
|
||||
system_key: '',
|
||||
name: '',
|
||||
provider_role_name: '',
|
||||
description: '',
|
||||
status: 'active'
|
||||
})
|
||||
const rules = {
|
||||
system_key: [{ required: true, message: '請選擇系統', trigger: 'change' }],
|
||||
name: [{ required: true, message: '請輸入角色名稱', trigger: 'blur' }],
|
||||
provider_role_name: [{ required: true, message: '請輸入 Provider Role', trigger: 'blur' }]
|
||||
name: [{ required: true, message: '請輸入角色名稱', trigger: 'blur' }]
|
||||
}
|
||||
|
||||
const showSitesDialog = ref(false)
|
||||
@@ -162,7 +156,6 @@ function resetCreateForm() {
|
||||
createForm.value = {
|
||||
system_key: '',
|
||||
name: '',
|
||||
provider_role_name: '',
|
||||
description: '',
|
||||
status: 'active'
|
||||
}
|
||||
@@ -173,7 +166,6 @@ function openEdit(row) {
|
||||
role_key: row.role_key,
|
||||
system_key: row.system_key,
|
||||
name: row.name,
|
||||
provider_role_name: row.provider_role_name,
|
||||
description: row.description || '',
|
||||
status: row.status || 'active'
|
||||
}
|
||||
@@ -185,7 +177,6 @@ function resetEditForm() {
|
||||
role_key: '',
|
||||
system_key: '',
|
||||
name: '',
|
||||
provider_role_name: '',
|
||||
description: '',
|
||||
status: 'active'
|
||||
}
|
||||
@@ -199,7 +190,6 @@ async function handleCreate() {
|
||||
await createRole({
|
||||
system_key: createForm.value.system_key,
|
||||
name: createForm.value.name,
|
||||
provider_role_name: createForm.value.provider_role_name,
|
||||
description: createForm.value.description || null,
|
||||
status: createForm.value.status
|
||||
})
|
||||
@@ -220,7 +210,6 @@ async function handleEdit() {
|
||||
await updateRole(editForm.value.role_key, {
|
||||
system_key: editForm.value.system_key,
|
||||
name: editForm.value.name,
|
||||
provider_role_name: editForm.value.provider_role_name,
|
||||
description: editForm.value.description || null,
|
||||
status: editForm.value.status
|
||||
})
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
<el-option
|
||||
v-for="company in companies"
|
||||
:key="company.company_key"
|
||||
:label="`${company.display_name} (${company.company_key})`"
|
||||
:label="`${company.name} (${company.company_key})`"
|
||||
:value="company.company_key"
|
||||
/>
|
||||
</el-select>
|
||||
@@ -60,7 +60,7 @@
|
||||
<el-option
|
||||
v-for="company in companies"
|
||||
:key="company.company_key"
|
||||
:label="`${company.display_name} (${company.company_key})`"
|
||||
:label="`${company.name} (${company.company_key})`"
|
||||
:value="company.company_key"
|
||||
/>
|
||||
</el-select>
|
||||
|
||||
@@ -21,7 +21,6 @@
|
||||
<template #empty><el-empty description="目前無系統" /></template>
|
||||
<el-table-column prop="system_key" label="System Key" width="200" />
|
||||
<el-table-column prop="name" label="系統名稱" min-width="180" />
|
||||
<el-table-column prop="provider_client_id" label="Provider Client ID" min-width="220" />
|
||||
<el-table-column prop="status" label="狀態" width="110" />
|
||||
<el-table-column label="操作" width="120">
|
||||
<template #default="{ row }">
|
||||
@@ -35,7 +34,6 @@
|
||||
<template #empty><el-empty description="此系統目前沒有角色" /></template>
|
||||
<el-table-column prop="role_key" label="Role Key" width="200" />
|
||||
<el-table-column prop="name" label="角色名稱" min-width="200" />
|
||||
<el-table-column prop="provider_role_name" label="Provider Role" min-width="210" />
|
||||
<el-table-column prop="status" label="狀態" width="110" />
|
||||
</el-table>
|
||||
<template #footer>
|
||||
@@ -82,8 +80,7 @@ async function handleSync() {
|
||||
const res = await adminHttp.post('/admin/sync/from-provider', null, { params: { force: true } })
|
||||
const summary = [
|
||||
`systems +${res.data?.systems_created ?? 0}`,
|
||||
`roles +${res.data?.roles_created ?? 0}`,
|
||||
`users upsert ${res.data?.users_upserted ?? 0}`
|
||||
`roles +${res.data?.roles_created ?? 0}`
|
||||
].join(' / ')
|
||||
ElMessage.success(`同步完成:${summary}`)
|
||||
await load()
|
||||
|
||||
Reference in New Issue
Block a user