Appearance
CpTemplateGroup 查询模板组
对齐旧版报表页「模板维护 / 选择模板 / 另存模板」三件套(/Common/*Programme 接口语义):把页面当前查询条件、列配置等任意状态存为命名模板,下拉分组展示我的模板 / 公共模板,一键套用。权限沿用旧逻辑:admin 可改删所有模板,其他人只能改删自己创建的。
数据接入
组件包不绑定后端。宿主应用入口注入一次即可全站复用:
ts
import { setTemplateContext } from "@cargoplus/ui";
setTemplateContext({
api: {
query: async (type) => {
/* POST /Common/QueryProgrammeList → CpTemplateItem[] */
},
save: async (type, item) => {
/* POST /Common/SaveProgramme;item.value 不传时保留原 programme_value */
},
remove: async (type, ids) => {
/* POST /Common/DeleteProgramme */
},
},
user: { userName: top.User.UserName, isAdmin: top.User.UserName === "admin" },
});基础用法
显示代码 ▼
API
属性 Props
| 属性 | 说明 | 类型 | 默认值 |
|---|---|---|---|
template-type * | 模板类型(对应旧版 Const.TemplateType.*),同类型模板全站共享 | string | 必填 |
get-state | 另存模板时取页面当前状态(条件 + 列配置等);不传则隐藏「另存模板」 | Function | — |
api | 覆盖全局 setTemplateContext 的接口 | CpTemplateApi | — |
user | 覆盖全局 setTemplateContext 的当前用户 | CpTemplateUser | — |
事件 Events
| 事件 | 说明 | 回调参数 |
|---|---|---|
@apply | 选中模板后返回其内容,由页面回填条件 / 列 | (Record) |
方法 Expose
| 方法(ref 调用) | 说明 |
|---|---|
reload | 手动刷新模板列表 |
API
属性 Props
| 属性 | 说明 | 类型 | 默认值 |
|---|---|---|---|
v-model | — | boolean | false |
template-type * | 模板类型(对应旧版 Const.TemplateType.*) | string | 必填 |
api | 覆盖全局 setTemplateContext 的接口 | CpTemplateApi | — |
user | 覆盖全局 setTemplateContext 的当前用户 | CpTemplateUser | — |
事件 Events
| 事件 | 说明 | 回调参数 |
|---|---|---|
@apply | 点击「应用」:返回模板内容与条目 | (Record) |
@changed | 列表发生增删改(父级可据此刷新下拉) | — |