feat: 表单使用场景可见闭环——绑定明细/发布引导/schema 预览
build / build (push) Successful in 3m7s

- ServiceFormManage:被绑定列显示"已绑定 N 个事项",弹窗列明细(站点/编码/名称/状态)可直达事项编辑(跨站点先切站点);发布未绑定时 confirm 引导前往办事事项;保存文案带下一步;编辑弹窗"预览效果"复用 DynamicForm 渲染 schemaJson
- ServiceItemEdit:选中草稿/停用表单时红字提示"发布后才能在发起页实际填写",下拉选项标注状态
- types/svc.ts:SvcFormVo +refItems、新增 SvcFormItemBrief
This commit is contained in:
chenxing
2026-09-16 16:34:13 +08:00
parent 7277251feb
commit 21d19eceda
3 changed files with 109 additions and 9 deletions
+14 -1
View File
@@ -40,6 +40,13 @@ const uploadingCover = ref(false);
const editing = computed(() => !!route.query.id);
const pageTitle = computed(() => (editing.value ? "编辑事项" : "新建事项"));
/** 选中表单的最新版本是否为草稿/停用(草稿可先绑,但发起页要等发布才生效) */
const selectedFormDraft = computed(() => {
if (!form.value.formCode) return false;
const f = forms.value.find((x) => x.code === form.value.formCode);
return !!f && f.status !== 1;
});
/** 部门树扁平化(缩进展示,承袭 CMS flattenDepts) */
const deptOptions = computed(() => {
const out: { id: number; label: string }[] = [];
@@ -233,8 +240,14 @@ onMounted(loadAll);
<Col span="12">
<FormItem label="办理表单">
<Select v-model="form.formCode" clearable placeholder="该事项发起时填写的自定义表单">
<Option v-for="f in forms" :key="f.code" :value="f.code">{{ f.name }}</Option>
<Option v-for="f in forms" :key="f.code" :value="f.code">
{{ f.name }}{{ f.status !== 1 ? `(${f.status === 2 ? "已停用" : "草稿"})` : "" }}
</Option>
</Select>
<div v-if="selectedFormDraft" class="tip" style="color: #ed4014">
该表单尚未发布,发布后才能在发起页实际填写;请到「表单管理」发布。
</div>
<div v-else class="tip">发起页按表单编码取最新已发布版本渲染</div>
</FormItem>
</Col>
<Col span="24">