fix: submit dialog pre-deselects and disables already-reviewing stores
- parseStoreReview state shown per store with review tag - UNDER_REVIEW/APPROVED stores are disabled + labeled "审核进行中,将跳过" - openSubmitStoreDialog filters them out of default selectedStores Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
这个提交包含在:
父节点
61dd09763a
当前提交
42b1868f54
@ -499,8 +499,21 @@
|
||||
</el-form>
|
||||
<el-checkbox-group v-model="selectedStores">
|
||||
<div v-for="store in submissionStoreDefs" :key="store.type" class="store-checkbox-row">
|
||||
<el-checkbox :value="store.type">{{ store.label }}</el-checkbox>
|
||||
<el-checkbox
|
||||
:value="store.type"
|
||||
:disabled="isStoreActiveReview(submitStoreVersion, store.type)"
|
||||
>{{ store.label }}</el-checkbox>
|
||||
<el-tag size="small" type="success" style="margin-left:8px">已配置</el-tag>
|
||||
<el-tag
|
||||
v-if="getSubmitDialogStoreState(submitStoreVersion, store.type)"
|
||||
:type="reviewTagType(getSubmitDialogStoreState(submitStoreVersion, store.type))"
|
||||
size="small"
|
||||
style="margin-left:4px"
|
||||
>{{ reviewLabel(getSubmitDialogStoreState(submitStoreVersion, store.type)) }}</el-tag>
|
||||
<span
|
||||
v-if="isStoreActiveReview(submitStoreVersion, store.type)"
|
||||
style="font-size:12px;color:var(--el-text-color-secondary);margin-left:6px"
|
||||
>审核进行中,将跳过</span>
|
||||
</div>
|
||||
</el-checkbox-group>
|
||||
<el-alert
|
||||
@ -1519,12 +1532,25 @@ async function handleUpdatePublishSchedule() {
|
||||
|
||||
function openSubmitStoreDialog(row: AppVersion) {
|
||||
submitStoreVersion.value = row
|
||||
selectedStores.value = enabledStores.value.map(s => s.type)
|
||||
// Exclude stores already in active review from the pre-selection
|
||||
selectedStores.value = enabledStores.value
|
||||
.map(s => s.type)
|
||||
.filter(t => !isStoreActiveReview(row, t))
|
||||
submitStoreMode.value = row.storeSubmitMode ?? 'MANUAL'
|
||||
submitStoreScheduledAt.value = row.storeSubmitScheduledAt ?? ''
|
||||
showSubmitStore.value = true
|
||||
}
|
||||
|
||||
function getSubmitDialogStoreState(version: AppVersion | null, storeType: string): string {
|
||||
if (!version?.storeReviewStatus) return ''
|
||||
return parseStoreReview(version.storeReviewStatus).find(i => i.store === storeType)?.state ?? ''
|
||||
}
|
||||
|
||||
function isStoreActiveReview(version: AppVersion | null, storeType: string): boolean {
|
||||
const state = getSubmitDialogStoreState(version, storeType)
|
||||
return state === 'UNDER_REVIEW' || state === 'APPROVED'
|
||||
}
|
||||
|
||||
function parseStoreTargets(json?: string) {
|
||||
if (!json) return []
|
||||
try {
|
||||
|
||||
正在加载...
在新工单中引用
屏蔽一个用户