修改待生效也可以删除

This commit is contained in:
wuweihua
2026-10-12 09:27:48 +08:00
parent c7da1a004b
commit 5aba8af49d
4 changed files with 9 additions and 5 deletions
@@ -196,7 +196,7 @@ price.set.version.effectiveTime.empty=版本生效时间不能为空
price.set.version.effectiveTime.beforePrev=生效时间不能早于上一版本的生效时间
price.set.version.notExists=套餐版本不存在
price.set.version.activate.statusNotAllowed=仅草稿或待生效版本可设置生效时间
price.set.version.delete.statusNotAllowed=仅草稿版本可删除
price.set.version.delete.statusNotAllowed=仅草稿或待生效版本可删除
price.set.version.copy.draftExists=已有草稿版本,请先启动或删除后再复制
price.set.version.create.draftExists=已有草稿版本,请先启动或删除后再新建
price.set.save.task.notExists=保存任务不存在或已过期
@@ -517,7 +517,8 @@ public class PrcPriceSetServiceImpl implements IPrcPriceSetService
{
throw new ServiceException(MessageUtils.message("price.set.version.notExists"));
}
if (!VER_DRAFT.equals(version.getStatus()))
// Draft and pending versions may be deleted; effect/expired cannot.
if (!VER_DRAFT.equals(version.getStatus()) && !VER_PENDING.equals(version.getStatus()))
{
throw new ServiceException(MessageUtils.message("price.set.version.delete.statusNotAllowed"));
}
@@ -526,6 +527,7 @@ public class PrcPriceSetServiceImpl implements IPrcPriceSetService
detailMapper.deletePrcPriceSetDetailByPsvId(psvId);
setProductMapper.deleteByPsvId(psvId);
int rows = versionMapper.deletePrcPriceSetVersionByIds(new Long[] { psvId });
// Rechain expire_time / status for remaining versions (e.g. reopen previous effect window)
refreshVersionStatus(version.getPriceSetId());
return rows;
}
@@ -62,7 +62,7 @@
v-hasPermi="['price:set:edit']"
>修改生效时间</el-button>
<el-button
v-if="isDraftVersion(row)"
v-if="isDraftVersion(row) || isPendingVersion(row)"
link
type="danger"
@click="emit('remove', row)"
+4 -2
View File
@@ -86,7 +86,7 @@ import { usePriceSetRefData } from './composables/usePriceSetRefData'
import {
getPriceSet, disablePriceSet, enablePriceSet, activatePriceSetVersion, copyPriceSetVersion, createPriceSetVersion, deletePriceSetVersion
} from '@/api/price/set'
import { isDraftVersion } from './utils/priceSet'
import { isDraftVersion, isPendingVersion } from './utils/priceSet'
const { proxy } = getCurrentInstance()
const route = useRoute()
@@ -363,8 +363,10 @@ function onCopyVersion(row) {
}
function onRemoveVersion(row) {
if (!row || row.psvId == null) return
const statusTip = isPendingVersion(row) ? '待生效' : '草稿'
proxy.$modal.confirm(
'确认删除草稿版本 ' + (row.versionNo || '') + '?其明细与附加费将一并删除。'
'确认删除' + statusTip + '版本 ' + (row.versionNo || '')
+ '?其明细与附加费将一并删除。'
).then(() => deletePriceSetVersion(row.psvId)).then(() => {
proxy.$modal.msgSuccess('版本已删除')
load()