fix: TicketCreatePage 去掉优先级选择器+修复Redis实例切换后database残留触发MySQL tables请求
This commit is contained in:
1 parent
08f0f88cf1
commit
fb167233bc
1 file changed
+10
-20
@@ -222,19 +222,24 @@ export default function TicketCreatePage() {
|
|||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (!instanceId) { setDatabases([]); setDatabase(''); return; }
|
if (!instanceId) { setDatabases([]); setDatabase(''); return; }
|
||||||
|
// 立即重置,避免旧 database 残留触发 tables 请求
|
||||||
|
setDatabase('');
|
||||||
|
setDatabases([]);
|
||||||
|
setTables([]);
|
||||||
const inst = instances.find(i => i.id === Number(instanceId));
|
const inst = instances.find(i => i.id === Number(instanceId));
|
||||||
|
if (inst?.db_type === 'redis') {
|
||||||
|
setDatabase('db0');
|
||||||
|
setDatabases(['db0']);
|
||||||
|
return;
|
||||||
|
}
|
||||||
setLoadingDatabases(true);
|
setLoadingDatabases(true);
|
||||||
instanceApi.listDatabases(Number(instanceId))
|
instanceApi.listDatabases(Number(instanceId))
|
||||||
.then((res: unknown) => {
|
.then((res: unknown) => {
|
||||||
const data = (res as { databases?: string[] })?.databases || (res as string[]) || [];
|
const data = (res as { databases?: string[] })?.databases || (res as string[]) || [];
|
||||||
setDatabases(Array.isArray(data) ? data as string[] : []);
|
setDatabases(Array.isArray(data) ? data as string[] : []);
|
||||||
if (Array.isArray(data) && data.length > 0) setDatabase(String(data[0]));
|
if (Array.isArray(data) && data.length > 0) setDatabase(String(data[0]));
|
||||||
else if (inst?.db_type === 'redis') setDatabase('db0');
|
|
||||||
})
|
|
||||||
.catch(() => {
|
|
||||||
setDatabases([]);
|
|
||||||
if (inst?.db_type === 'redis') setDatabase('db0');
|
|
||||||
})
|
})
|
||||||
|
.catch(() => setDatabases([]))
|
||||||
.finally(() => setLoadingDatabases(false));
|
.finally(() => setLoadingDatabases(false));
|
||||||
}, [instanceId, instances]);
|
}, [instanceId, instances]);
|
||||||
|
|
||||||
@@ -735,17 +740,6 @@ export default function TicketCreatePage() {
|
|||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{/* Priority + DB Type */}
|
|
||||||
<div className="grid grid-cols-1 md:grid-cols-2 gap-4">
|
|
||||||
<div>
|
|
||||||
<label className="block text-sm font-medium mb-2">优先级</label>
|
|
||||||
<select value={priority} onChange={(e) => setPriority(e.target.value)}
|
|
||||||
className="w-full px-3 py-2 bg-[var(--dg-bg-primary)] border border-[var(--dg-border)] rounded-lg text-sm focus:outline-none focus:border-blue-500 transition-colors">
|
|
||||||
{PRIORITY_OPTIONS.map((opt) => <option key={opt.value} value={opt.value}>{opt.label}</option>)}
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
{/* Instance — 直接展示用户变更授权的实例 */}
|
{/* Instance — 直接展示用户变更授权的实例 */}
|
||||||
<div>
|
<div>
|
||||||
<label className="block text-sm font-medium mb-2">
|
<label className="block text-sm font-medium mb-2">
|
||||||
@@ -962,10 +956,6 @@ export default function TicketCreatePage() {
|
|||||||
<span className="text-[var(--dg-text-muted)] text-xs">标题</span>
|
<span className="text-[var(--dg-text-muted)] text-xs">标题</span>
|
||||||
<p className="font-medium mt-1">{title}</p>
|
<p className="font-medium mt-1">{title}</p>
|
||||||
</div>
|
</div>
|
||||||
<div className="p-3 bg-[var(--dg-bg-primary)] rounded-lg">
|
|
||||||
<span className="text-[var(--dg-text-muted)] text-xs">优先级</span>
|
|
||||||
<p className="font-medium mt-1">{priority === 'high' ? '高' : priority === 'medium' ? '中' : '低'}</p>
|
|
||||||
</div>
|
|
||||||
<div className="p-3 bg-[var(--dg-bg-primary)] rounded-lg">
|
<div className="p-3 bg-[var(--dg-bg-primary)] rounded-lg">
|
||||||
<span className="text-[var(--dg-text-muted)] text-xs">实例</span>
|
<span className="text-[var(--dg-text-muted)] text-xs">实例</span>
|
||||||
<div className="flex items-center gap-1.5 mt-1">
|
<div className="flex items-center gap-1.5 mt-1">
|
||||||
|
|||||||
Reference in new issue
Block a user