修改编辑bug
This commit is contained in:
@@ -385,18 +385,35 @@ const emptyTip = computed(() => {
|
||||
})
|
||||
|
||||
|
||||
/** Resolve version id: prop first, else reload package current version. */
|
||||
/** Resolve version id: editing prop/local first; never replace with package EFFECT version. */
|
||||
const resolvedPsvId = ref(props.psvId)
|
||||
watch(() => props.psvId, v => { if (v != null && v !== '') resolvedPsvId.value = v })
|
||||
|
||||
async function resolvePsvId(force) {
|
||||
if (!force && resolvedPsvId.value != null && resolvedPsvId.value !== '') {
|
||||
return resolvedPsvId.value
|
||||
function knownPsvId() {
|
||||
if (props.psvId != null && props.psvId !== '') return props.psvId
|
||||
if (resolvedPsvId.value != null && resolvedPsvId.value !== '') return resolvedPsvId.value
|
||||
return null
|
||||
}
|
||||
if (!props.priceSetId) return null
|
||||
|
||||
async function resolvePsvId(force) {
|
||||
const known = knownPsvId()
|
||||
// Keep the version being edited. force must NOT switch to data.version (EFFECT).
|
||||
if (known != null && !force) {
|
||||
resolvedPsvId.value = known
|
||||
return known
|
||||
}
|
||||
if (!props.priceSetId) return known
|
||||
const res = await api.getPriceSet(props.priceSetId)
|
||||
const data = res.data || {}
|
||||
const versions = data.versions || []
|
||||
if (known != null) {
|
||||
const still = versions.find(v => v && String(v.psvId) === String(known))
|
||||
if (still && still.psvId != null) {
|
||||
resolvedPsvId.value = still.psvId
|
||||
return still.psvId
|
||||
}
|
||||
}
|
||||
// Only when no editing psvId (e.g. brand-new draft): fall back to package current.
|
||||
const fromData = (data.version && data.version.psvId) ? data.version : null
|
||||
const current = fromData || versions[0] || {}
|
||||
if (current.psvId != null) {
|
||||
@@ -594,7 +611,8 @@ async function canOpenImport() {
|
||||
return false
|
||||
}
|
||||
if (props.livePersist) {
|
||||
const psvId = await resolvePsvId(true)
|
||||
// Use the version being edited (props.psvId). Do not force-refresh to EFFECT.
|
||||
const psvId = await resolvePsvId(false)
|
||||
if (!psvId) {
|
||||
proxy.$modal.msgWarning('缺少套餐版本,请先保存基本信息')
|
||||
return false
|
||||
|
||||
Reference in New Issue
Block a user