PSSR 检查内容删除二次确认添加

This commit is contained in:
2026-09-04 17:30:03 +08:00
parent d74ebb4ecc
commit deea4c4991
3 changed files with 21 additions and 8 deletions
+5
View File
@@ -58,6 +58,7 @@ const confirmed = ref<{[key: string]: boolean}>({
// 变更预分析表单数据 // 变更预分析表单数据
const changePreForm = ref<any>(null) const changePreForm = ref<any>(null)
const changeApplyForm = ref<any>(null)
// **********************tab切换*********************** // **********************tab切换***********************
const TABS = [ const TABS = [
@@ -83,6 +84,9 @@ const tabChange = (id: string) => {
// return window.$message?.warning('请先填写变更内容描述'); // return window.$message?.warning('请先填写变更内容描述');
// } // }
} }
if(tab.value==='form'){
changeApplyForm.value = changeApplyRef.value?.form;
}
if(tab.value === id) { if(tab.value === id) {
return; return;
} }
@@ -352,6 +356,7 @@ onMounted(() => {
:isAiOpen="aiEnabled" :isAiOpen="aiEnabled"
:title="title" :title="title"
:currentId="currentId" :currentId="currentId"
:formInfo="changeApplyForm"
@save="saveDraft" @save="saveDraft"
@submit="submitConfirm" @submit="submitConfirm"
@confirmTab="confirmTab" @confirmTab="confirmTab"
@@ -7,7 +7,7 @@ import { getColorWithOpacity } from "@/utils/common";
import Footer from './footer.vue'; import Footer from './footer.vue';
const themeStore = useThemeStore(); const themeStore = useThemeStore();
const props = defineProps(['type','isAiOpen','title','currentId']) const props = defineProps(['type','isAiOpen','title','currentId','formInfo'])
const emit = defineEmits(['save','submit','confirmTab']); const emit = defineEmits(['save','submit','confirmTab']);
const form = ref<{ content: string }>({ const form = ref<{ content: string }>({
@@ -60,8 +60,8 @@ defineExpose({form})
'--border-color': getColorWithOpacity(themeStore.themeColor, 0.2) '--border-color': getColorWithOpacity(themeStore.themeColor, 0.2)
}" }"
> >
<!-- <div><b :style="{color: themeStore.themeColor}">变更目的</b>{{ form?.purposes?.join('、') || '提高生产效能、改善操作条件' }}</div> <div><b :style="{color: themeStore.themeColor}">变更目的</b>{{ formInfo?.purposes?.join('、') || '' }}</div>
<div><b :style="{color: themeStore.themeColor}">预期效果</b>{{ form?.effect || '在保持转化率不低于98%的前提下,反应时间缩短50%,产能提升一倍' }}</div> --> <div><b :style="{color: themeStore.themeColor}">预期效果</b>{{ formInfo?.effect || '' }}</div>
<div <div
class="border-t border-[var(--border-color)] pt-1.5 text-slate-500" class="border-t border-[var(--border-color)] pt-1.5 text-slate-500"
:style="{'--border-color': getColorWithOpacity(themeStore.themeColor, 0.2)}" :style="{'--border-color': getColorWithOpacity(themeStore.themeColor, 0.2)}"
+13 -5
View File
@@ -103,7 +103,7 @@ defineExpose({form})
上传纸质确认表 上传纸质确认表
</NButton> </NButton>
<input ref="pssrFileRef" type="file" accept="image/*,.pdf" class="hidden" @change="onPssrFile" /> <input ref="pssrFileRef" type="file" accept="image/*,.pdf" class="hidden" @change="onPssrFile" />
<span class="hidden text-xs text-slate-400 xl:inline">申请阶段点击条目内容直接编辑可增删项完成时点互斥选择审批通过后逐项点击确认全部完成自动推送属地负责人</span> <span class="hidden text-xs text-slate-400 xl:inline">申请阶段点击条目内容直接编辑可增删项</span>
</span> </span>
</div> </div>
<div v-if="pssrSheet" class="flex items-center gap-2 rounded-lg border border-emerald-200 bg-emerald-50 px-4 py-2 text-xs text-emerald-700"> <div v-if="pssrSheet" class="flex items-center gap-2 rounded-lg border border-emerald-200 bg-emerald-50 px-4 py-2 text-xs text-emerald-700">
@@ -152,11 +152,19 @@ defineExpose({form})
<NRadio :checked="it.p === '关闭前'" :value="'关闭前'" label="关闭前完成" <NRadio :checked="it.p === '关闭前'" :value="'关闭前'" label="关闭前完成"
@change="pssrGroups = pssrGroups.map((x, xi) => xi === gi ? { ...x, items: x.items.map((y, yi) => yi === i ? { ...y, p: '关闭前' } : y) } : x)" /> @change="pssrGroups = pssrGroups.map((x, xi) => xi === gi ? { ...x, items: x.items.map((y, yi) => yi === i ? { ...y, p: '关闭前' } : y) } : x)" />
</span> </span>
<NButton text type="error" title="删除该项" <NPopconfirm
@click="pssrGroups = pssrGroups.map((x, xi) => xi === gi ? { ...x, items: x.items.filter((_, yi) => yi !== i) } : x)" positive-text="确定"
:positiveButtonProps="{ size: 'tiny' }"
:negativeButtonProps="{ size: 'tiny' }"
@positive-click="pssrGroups = pssrGroups.map((x, xi) => xi === gi ? { ...x, items: x.items.filter((_, yi) => yi !== i) } : x)"
> >
<Icon icon="iconamoon:trash" class="size-16px" /> <template #trigger>
</NButton> <NButton text type="error" title="删除该项">
<Icon icon="iconamoon:trash" class="size-16px" />
</NButton>
</template>
确定删除吗?
</NPopconfirm>
</div> </div>
</template> </template>
</div> </div>