禁止已发放二维码回退待用

This commit is contained in:
yml
2026-06-18 09:59:06 +08:00
parent 58e071d157
commit 7934141ba2
4 changed files with 143 additions and 10 deletions
@@ -47,6 +47,7 @@ const editForm = reactive({
note: '',
status: 'unused' as QrCodeStatus,
expires_at: '' as string,
was_issued: false,
})
const statusOptions: { label: string; value: QrCodeStatus | ''; type: string }[] = [
@@ -64,6 +65,12 @@ const statusMap = computed(() => {
return m
})
const editStatusOptions = computed(() =>
editForm.was_issued
? statusOptions.filter(option => option.value === 'used' || option.value === 'disabled')
: statusOptions.filter(option => option.value === 'unused' || option.value === 'disabled')
)
const maxBatchUploadCount = 20
const uploading = computed(() => uploadPendingCount.value > 0)
const uploadBusy = computed(() => uploading.value || uploadSaving.value)
@@ -172,6 +179,7 @@ function openEdit(row: ChatQrCode) {
editForm.note = row.note
editForm.status = row.status
editForm.expires_at = row.expires_at ? row.expires_at.replace('T', ' ').slice(0, 16) : ''
editForm.was_issued = row.status === 'used' || Boolean(row.conversation_id || row.used_at)
editVisible.value = true
}
@@ -451,8 +459,12 @@ onMounted(reloadAll)
</el-form-item>
<el-form-item label="状态">
<el-select v-model="editForm.status" style="width: 100%">
<el-option label="待用" value="unused" />
<el-option label="已停用" value="disabled" />
<el-option
v-for="option in editStatusOptions"
:key="option.value"
:label="option.label"
:value="option.value"
/>
</el-select>
</el-form-item>
<el-form-item label="备注">