Skip to content

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" },
});

基础用法

基础用法
改动条件后「另存模板」,再从「选择模板」下拉套用;「模板维护」可改名、改公开状态、删除。demo 后端为 localStorage 模拟。
显示代码 ▼

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-modelbooleanfalse
template-type *模板类型(对应旧版 Const.TemplateType.*)string必填
api覆盖全局 setTemplateContext 的接口CpTemplateApi
user覆盖全局 setTemplateContext 的当前用户CpTemplateUser

事件 Events

事件说明回调参数
@apply点击「应用」:返回模板内容与条目(Record)
@changed列表发生增删改(父级可据此刷新下拉)