import { Base, Local } from "./src/utils/base" import { type FormRules } from "element-plus" import { TAe, Tte } from "./src/utils/defineField" import { PageBtnType } from "./src/components/define" import { TfDtClass } from "./src/utils/core/tfDtClass" import { TFieldClass } from "./src/utils/core/tField" import { VNode } from 'vue' import { type TreeOptionProps } from "element-plus/es/components/tree/src/tree.type" import { UserInitProps } from "./src/utils/user" /** * 全局类型声明,无需引入直接在 `.vue` 、`.ts` 、`.tsx` 文件使用即可获得类型提示 */ declare global { /** * 平台的名称、版本、运行所需的`node`和`pnpm`版本、最后构建时间的类型提示 */ const __APP_INFO__: { pkg: { name: string version: string engines: { node: string pnpm: string } } lastBuildTime: string } const base: Base const local: typeof Local /** * Window 的类型提示 */ interface Window { awaitTime(v: number): Promise awaitTimeDo(v: number, call?: () => void): void lockedScreen: boolean } interface Object { removeNull(): Object initTfDt: () => TfDt foreach: (call: (item: any, key) => void) => void } interface GlobalPropertiesApi { $sd: any $base: Base } interface VueCompt { title: string compt?: any isHot?: boolean mesCount?: number disabled?: boolean icon?: string tips?: string } /** * 全局自定义环境变量的类型声明 */ interface ViteEnv { VITE_PORT: number /**使用端 platform enterprise government */ VITE_TERMINAL: string VITE_API_URL: string VITE_ROUTER_HISTORY: string VITE_MODE: string isNeedInit?: boolean /**是否为平台端 */ isPlatformWeb?: boolean } const env: ViteEnv /** * 对应 `public/platform-config.json` 文件的类型声明 */ interface PlatformConfigs { AbleChange: { FixedHeader?: boolean HiddenSideBar?: boolean MultiTagsCache?: boolean MaxTagsLevel?: number KeepAlive?: boolean Locale?: string Layout?: string Theme?: string LightMode?: boolean OverallStyle?: string Grey?: boolean Weak?: boolean HideTabs?: boolean HideFooter?: boolean Stretch?: boolean | number SidebarStatus?: boolean EpThemeColor?: string ShowLogo?: boolean ShowModel?: string MenuArrowIconNoTransition?: boolean CachingAsyncRoutes?: boolean TooltipEffect?: any ResponsiveStorageNameSpace?: string MenuSearchHistory?: number Api?: string } MapConfigure?: { amapKey?: string securityKey?: string options: { resizeEnable?: boolean center?: number[] zoom?: number } } } /** * `responsive-storage` 本地响应式 `storage` 的类型声明 */ interface ResponsiveStorage { locale: { locale?: string } layout: { layout?: string theme?: string LightMode?: boolean sidebarStatus?: boolean epThemeColor?: string themeColor?: string overallStyle?: string } configure: { grey?: boolean weak?: boolean hideTabs?: boolean hideFooter?: boolean showLogo?: boolean showModel?: string multiTagsCache?: boolean stretch?: boolean | number } tags?: Array } interface TableApiDtRow { /**接口名称 */ name?: string /**接口 设置 */ api?: (...args) => Promise /**传参设置 */ params?: Record /**模拟接口返回的数据 */ data?: any /**返回的数据的格式 */ dataType?: "tree" /**接口主动调用 params 传参*/ click?: ( row?: TRow, callEnd?: (v?: boolean, res?: any) => void, params?: any, unOkTips?: boolean, unErrTips?: boolean, callData?: (res?: any) => any ) => void /**返回的数据处理 */ callData?: (data: any) => any } interface TableApiDt { /**接口集 */ apis: { add?: TableApiDtRow edit?: TableApiDtRow del?: TableApiDtRow /**获取列表 */ gets?: TableApiDtRow /**获取单条数据 */ get?: TableApiDtRow /**自定义接口1 */ api_a?: TableApiDtRow /**自定义接口2 */ api_b?: TableApiDtRow /**自定义接口3 */ api_c?: TableApiDtRow /**自定义接口4 */ api_d?: TableApiDtRow /**自定义接口5 */ api_e?: TableApiDtRow /**自定义接口6 */ api_f?: TableApiDtRow /**自定义接口7 */ api_g?: TableApiDtRow /**自定义接口8 */ api_h?: TableApiDtRow /**自定义接口9 */ api_i?: TableApiDtRow /**自定义接口10 */ api_j?: TableApiDtRow /**自定义接口11 */ api_k?: TableApiDtRow } /**本地字段与接口字段转换 第一个为本地 第二个为接口的字段*/ fields: Record /**接口字段与本地字段转换 第一个为接口的字段 第二个为本地的*/ uFields?: Record /**接口字段头*/ uFieldKeys?: Record } /** def 为former */ type FormType = "def" | "table" | "tree" | "desc" /**文件查看类型 */ type FileType = "img" | "txt" | "xlsx" | "pdf" | "docx" | "pptx" | "PDF" /**校验前缀提示 up:上传*/ type FRuleType = "slt" | "inp" | "upl" type MenuPType = "pc" | "mobile" | "mini" type FileUpType = "standard" | "common" | "ehs" /**ai的识别类型,根据表来,credential:企业证件*/ type AIOcr = "businessLicense" | "credential" | "certification" | "specialEquipment" | "dangerAnalysis" | "correction" /**弹窗宽度类型 1列 2列 3列*/ type FormWidthType = 1 | 2 | 3 | '1' | '2' | '3' /** 表单表格树结构数据 */ interface TfDt { /**长期 */ isLong?: boolean /**本体 */ fun?: TfDtClass /** 平台类型*/ pfType?: "platform" | "enterprise" /** 自定义类型 */ ctType?: string /** 本地表名 英文 */ tName?: string /** 标题 string | (dt: TfDt) => string*/ title?: any /** table 类型 */ tType?: "def" | "card" /** card 类型 */ tcType?: "def" | "boxInfo" | "credential" | ("vCard" & string) /**自动 table 数据 */ tData?: Array /** form 列数 */ fColumn?: number /** form Parent 上层 数据 单条数据 */ getFpData?: () => TRow /** form 数据 历史数据 */ getPHisInpData?: () => Record /** form 数据 单条数据*/ fData?: TRow /** form 历史输入数据*/ hisInpData?: Record /** 特殊位置的表格 */ tPos?: string /** form 类型 */ fType?: FormType /** formerpage 类型 */ fpType?: "def" /** form 添加、编辑、查看 默认查看*/ fDae?: "add" | "edit" /** desc 类型*/ dType?: "def" | "data" /**填充 desc 子类型 desc描述界面的分类*/ dcType?: "box" | "table" /**填充 list item 类型*/ liType?: "dangerousCL" /**填充+自动 form 数据集 * 多面板多界面使用;, ..... * 直接设置字数组里面的 label 分类吗,label会显示在title; ..... * lFields的哪些字段给到这个form集,就显示到哪个标签; ..... * 也可以分多种类型,比如表单界面,表格界面,树形界面,描述界面; ..... * def 为former */ fDatas?: { def?: TfDt[] table?: TfDt[] tree?: TfDt[] desc?: TfDt[] } /**填充 数据规则 简化 */ fRules?: Record< string, | [ FRuleType, string | string[], (rule: any, value: any, callback: any) => any, boolean ] | [ FRuleType, string | string[], (rule: any, value: any, callback: any) => any ] | [FRuleType, string | string[]] | [FRuleType] | [] > //FormRules /**自动 数据规则 */ formRules?: FormRules /**填充 表字段设置 */ fields?: TRowFields getField?: (key?: string) => TField /**填充 字段标签 分类用 排序 */ lFields?: string[] | TRowFields /**自动 字段标签 分类排序用 */ lFieldIdr?: Record /**填充 标签 分类用*/ label?: string /**自动 form 默认值数据缓存 */ fDataDef?: TRow /**填充 子对象时才使用 */ hide?: boolean /**主动 获取表格字段集 */ getTableFields?: () => TField[] /**主动 动态增加字段 */ addFields?: ( fields: TRow[], isUpdateOld?: boolean, labels2FDatas?: string[] ) => void /**自动 重置数据到默认值 */ resetToDef?: (v?: TRow) => void /**自动 数据从默认值 */ validByDef?: () => void /**自动 合并数据 */ mergeFData?: () => void /**自动 分发数据 到子对象FDatas */ fData2child?: () => void /**再次获取 历史数据*/ reGetHisInp?: (callEnd?: (v: any) => void) => void /**填充 属于父对象的某字段*/ pFieldName?: string /**填充 父对象的字段是数组还是对象 true为数组*/ pFieldArrI?: number /**填充 标签 分类用*/ isChild?: boolean /**填充 临时Dt*/ isTemp?: boolean /**主动 动态增加Dt */ addTfDt?: ( ...cDts: { dt: TfDt; type?: "def" | "table" | "desc" }[] ) => void /**主动 移除子Dt */ removeTfDt?: (...ids: number[]) => void /**主动 移除临时子对象 */ removeTfDtByTemp?: () => void /** 接口配置 */ apiDt?: TableApiDt /**填充 card字段名配置 按顺序 */ cFieldNames?: string[] /**自动 card字段配置 按顺序 */ cFields?: TField[] /**自动 排序控制 */ sortRow?: TField /** 配置 */ cfg?: { /**树或表 是否不自动loadlist */ unAutoLoadList?: boolean boxType?: "tex" | "texString" czvvv?: any /**对应fData的所需的数据 */ data?: TRow autosize?: any /**form-item 的 col 排版 */ colc?: any /**fData vnode 是否已经克隆了 */ isClonedFData?: boolean /**form的标题线是否不展示 */ disFormLine?: boolean /**form超出滚动 */ isFormScrollY?: boolean /**是否限制table的最大高度 */ disTableMaxHeight?: boolean /**data对应的icon 字段名 */ iconKey?: string /**form 的 col 排版 */ col?: any /**card 的 col 排版 */ pCol?: any /** 是否是popover弹窗状态 */ isPopoverStatus?: boolean /**已弃用 table 操作的 宽度 */ tableCtrlWidth?: string | number /**创建账户信息时是否包含修改 */ isMdfAcc?: boolean /** 临时dialog标题 */ dialogTitle?: string /** 临时dialog标题 */ drawerTitle?: string /**是否不显示编辑、添加等字 */ hideAddEditTitle?: boolean /**是否不显示表单冒号 */ unFromColon?: boolean /**点击空白是否不关闭窗口 */ disCloseOnClickModal?: boolean /**是否显示table名称 */ isTableTitle?: boolean /**是否显示form名称 */ isFormTitle?: boolean /**是否不显示desc名称 */ unDescTitle?: boolean /**是否不显示list名称 */ unListTitle?: boolean /**是否不显示分页 */ paginationDisabled?: boolean /**提交新增编辑后是否不退出窗口 */ unConfirmedExit?: boolean /**desc的排列方向 */ descDir?: "vertical" | "horizontal" /**desc唤起的时候不get */ unDescMountedGet?: boolean /**是否在加载list时不传page、size 不分页 */ disLoadListPage?: boolean /**点击按钮不走提交方法 */ disDoCnfirm?: boolean /**是否是直接页面*/ isRoutePage?: boolean /**是否是页面的btn page*/ isFooterBtnPage?: boolean /**popover是否显示删除 */ isPopoverShowDel?: boolean /**树或表 是否不显示序号列 */ disSortIndexCol?: boolean /**树 标签 总是显示, false 覆盖才显示 */ isAlwaysShowLabel?: boolean /**是否 把覆盖显示变为点击显示 */ isHoverShowToClick?: boolean /**树 返回数据是否做无感刷新 */ isTreeKeepOrg?: boolean /**树或表 是否有选中框 */ isCheck?: boolean /**树 是否为右侧按钮 */ isLeftCtlBtn?: boolean /**树 是否能被选择 */ isAbleSelect?: boolean /**树 是否是多选择 */ isMutiSelect?: boolean /**树 再次点击 是否能取消选择 */ isSelectClear?: boolean /**树 编辑模块是否超出也显示 */ isOutHoverDisplay?: boolean /**树 默认收起子集 */ defaultFoldAll?: boolean /**树 默认展开的节点集 */ defaultExpandedKeys?: Array | (() => Array) /**树 不显示icon */ disabledIcon?: boolean /**树 是否允许拖拽 */ draggable?: boolean /**新增插入字体 */ moreTitle?: string /**新增插入字体点击 */ moreTitleClick?: () => void /** 自定义placeholder */ placeholder?: string /** 表单按钮上提示 */ tips?: string /**新增编辑自定义提示 */ addTipsOK?: string editTipsOk?: string /**treePage搜索是否高亮 */ isTreeSearchHighlight?: boolean /**addRess组件设置宽度 */ addressWidth?: string | number /**HeaderBtns radio组件新增按钮 */ HeaderBtns?: any /**isTableSelection table组件是否保持勾选状态 */ isTableSelection?: boolean /**unSaveSearch 不存储筛选条件 */ unSaveSearch?: boolean /**是否不显示底部按钮 */ hideAddEditFooter?: boolean } /** 操作按钮集 */ ctrlBtns?: PageBtnDt[] /** page页面 底部 操作按钮集 不传则使用默认 */ footerBtns?: PageBtnDt[] /** 分页条件*/ param?: { page: number size: number total?: number } /** 临时列表查询搜索等的条件*/ tempParamData?: Record /** 列表查询搜索等的条件*/ paramData?: Record /** 列表编辑权限码如果为空,则定义为::edit(默认编辑按钮)*/ editPerm?: string /** 列表添加权限码如果为空,则定义为::add(默认添加按钮)*/ addPerm?: string /** 宽度 */ width?: string | number /** 高度 */ height?: string | number /**最大 高度 */ maxHeight?: string | number /** 样式 */ style?: { /** 弹窗宽度 */ width?: string | number /** 弹窗高度 */ height?: string | number /**标题字体粗细 */ titleWeight?: string | number /** form/desc的名称列宽度 */ labelWidth?: string | number /** form的名称列宽度 */ f_labelWidth?: string | number /** desc的名称列宽度 */ d_labelWidth?: string | number /** form的列边框css */ formerBorder?: string /** form的列边框css */ formerLabelAlign?: "center" | "flex-end" | "flex-start" /** form的 item是否为上下结构 */ f_itemUpDown?: boolean /** desc的名称列位置 */ d_labelAlign?: "center" | "flex-end" | "flex-start" } /**获取转化后的数据 */ getToApiData?: (row?: TRow, api?: TableApiDtRow) => TRow /**自动 设置form 为查看 添加、编辑、查看模式 */ setForm2detail?: () => void /**自动 设置form 为添加 v 修改属性 添加、编辑、查看模式*/ setForm2add?: (v?: TRow, isChild?: boolean) => void /**自动 设置form 为编辑 添加、编辑、查看模式*/ setForm2edit?: () => void /**加载进度 */ loading?: boolean /**增加编辑进度 */ aeLoading?: boolean /**自动 表单校验 */ validate?: (call?: (ok: boolean, obj: any) => void) => void /**存储 表单校验委托 */ validates?: Map any> /**自动 清除表单验证 */ clearValidate?: () => void /**自动 提交 接口调用*/ onsubmit?: (callEnd?: (v?: boolean) => any) => void /**自动 搜索 搜索框调用 赋值, 如果有则显示输入框*/ onsearch?: (v: string) => void /**自动 删除 popover 调用*/ ondelete?: (callEnd?: (v?: boolean) => void) => void /**自动 点击 */ onclick?: (v: TRow, node?: any) => void /**自动 点击框 */ checked?: (v: TRow, checked: boolean, dt: TfDt) => void /** 取消弹窗 */ setChecked?: (v: TRow, checked: boolean) => void /**自动 card点击详情 */ onclickDetail?: (v: TRow) => void /**退出 */ oncancle?: Function /**辅助新增编辑 接口调用*/ ___confirmTf?: ( type: "add" | "edit" | undefined, dt: TfDt, callEnd?: (success: boolean) => void ) => void /**自动 列表加载 接口调用*/ loadList?: (callEnd?: (res?: any) => void, params?: any) => void /**填充 列表数据加载 */ loadListData?: (data: any[], callEnd?: () => void, total?: number) => void /**自动 新增 接口调用*/ add?: (callEnd?: (v?: boolean, res?: any) => void) => void /**自动 编辑 接口调用*/ edit?: (callEnd?: (v?: boolean, res?: any) => void) => void /**自动 删除 接口调用*/ del?: (v: TRow, callEnd?: (v?: boolean, res?: any) => void) => void /**自动 获取详情调用*/ get?: ( params?: any, callEnd?: (v?: boolean) => void, callData?: (res?: any) => any ) => void /**自动 列表加载 接口调用 unTips 不显示提示*/ refresh?: (unTips?: boolean, callEnd?: () => void) => void /**填充 监听 获取详情后*/ onGeted?: () => void /**填充 监听 编辑添加提交前*/ onAddEdit?: () => void /**填充 监听 编辑添加提交后*/ onEdited?: (v?: boolean, res?: any) => void /**填充 监听 删除提交后*/ onDeled?: (v?: boolean, res?: any) => void /**填充 列表加载前调用*/ onloadList?: (params: any) => void /**填充 列表加载后调用*/ onloadedList?: (dt: TfDt) => void /**填充 api加载前调用*/ onApiClick?: (api: TableApiDtRow, params: any) => void /**获取 列表是否搜索过字段*/ isLoadFieldSearch?: boolean /**填充 重写提交方法*/ doConfirm?: ( type?: "add" | "edit", callEnd?: (success: boolean) => void ) => void /**填充 重写提交方法 点击后 */ onConfirm?: ( type?: "add" | "edit", callEnd?: (success: boolean) => void ) => void /**保存表属性配置 */ saveFTCfg?: () => void /**清空筛选 */ clearFilter?: (v?: boolean) => void /**清空设置和筛选 */ clearCtrlSet?: () => void /**写入字段存储 */ doFieldSet?: () => void /**ref定义 */ ref?: any //tree 树形 /** tree 类型 */ treeType?: "def" /**树 搜索值 */ search?: string /**树 节点标签 */ labels?: Array /**树 ref */ treeRef?: any /**树属性 */ treeProps?: TreeOptionProps /** 操作底部 编辑字段 设置 */ treeEditorField?: TField /**树 设置默认选中对象集 */ treeDefSlts?: any[] /** 操作底部 编辑按钮是否显示 默认使用btns按钮数量控制 设置 */ treeEditorCtrlShow?: (v: TRow, node: any, dt?: TfDt) => boolean /** 操作底部 编辑按钮 设置 */ treeEditorCtrlBtns?: | PageBtnDt[] | ((v: TRow, node?: any, dt?: TfDt) => PageBtnDt[] | undefined) /** 操作底部 编辑按钮 添加 */ onTreeEditorBtnsAdd?: (v: TRow, node: any, dt?: TfDt) => void /**填充 树的对象是否不能选择*/ onUnAbleSelect?: (v: TRow, node: any) => boolean /**填充 树的对象是否不能显示*/ treefilterNodeHide?: (v: TRow, node: any) => boolean /**自动 树或表 选中节点数组 */ setChecks?: (v?: Array) => void /**自动 树或表 选中节点数组 包含半选*/ setChecksAndHalf?: (v?: Array) => void /**自动 树或表 获取节点数组ids */ getChecks?: () => Array /**自动 树或表 获取节点数组ids 包含半选 */ getChecksAndHalf?: () => Array /**自动 树或表 获取节点数组 */ getCheckRows?: () => Array /**自动 树或表 获取选中的数组 */ getSelects?: () => Array /**填充 树或表 设置选中的数组 */ setSelects?: (datas: Array) => void /**自动 树或表 选择节点 */ select?: (v?: TRow, node?: any, scorllTo?: boolean) => void /**自动 树或表 选择节点 */ selectById?: (v?: any) => void /**自动 树或表 展开关闭树 */ fold?: (v: boolean) => void /**获取table点击选择 */ tableSelectArray?: Array /**填充 所有弹窗关闭动作后的委托 */ onClosed?: () => void tableRef?: any descRef?: any // popover isCreate?: boolean /**自动 打开 */ createOpen?: Function /**左边按钮 有则替代左边的取消按钮 */ pLeftBtns?: PageBtnDt[] /**popoverRef */ popoverRef?: any poppverVirtualRef?: any event?: PointerEvent onMounted?: Function /**卸载createCompt的组件 */ unmounte?: Function /**不插入body */ unTeleported?: boolean /**唯一id */ id?: number /**循环到子 建立TfDt */ forInitFDatas?: ( call: (fdt: TfDt, index: number, key?: FormType) => TfDt ) => void /**循环到子TfDt */ forFDatas?: ( call: (fdt: TfDt, index: number, key?: FormType) => void ) => void /**筛选到子TfDt */ filterFDatas?: ( call: (fdt: TfDt, index: number, key?: FormType) => boolean ) => TfDt[] /**是否折叠表单 */ isCollapseForm?: boolean /**不展示详情 */ unDesc?: boolean /**表格表单用户配置 */ fTableCfg?: FTableCfg /**不应用表单 */ disFTCfg?: boolean /**任意值 */ any?: any /** 表格checked点击事件 */ selectRows?: (v: TRow, vs?: Array) => void /** 表格checked全选点击事件 */ selectRowsAll?: (v: TRow) => void /** 表格checked禁用点击事件 */ selectable?: (v: TRow) => void /**一个表单重置筛选 */ initFTableCfg?: (v?: boolean) => void userCardCgf?: any userInfoData?: any } interface PageBtnDt { bgType?: "def" | "page" type?: PageBtnType disabled?: (v: TRow, node: any) => boolean clickLoding?: (row: TRow, callEnd?: (v?: boolean) => any) => any click?: (row: TRow, callEnd?: (v?: boolean) => any) => any dbclick?: (row: TRow, callEnd?: (v?: boolean) => any) => any loading?: boolean fold?: boolean /**图片格式 */ img?: string perm?: string /**颜色控制 */ btnType?: | "" | "default" | "success" | "warning" | "info" | "text" | "primary" | "danger" btnColor?: string btnBg?: string /**表名 */ tName?: string /**图标 */ icon?: any /**标题 */ title?: string /**名称 */ name?: string /**计算宽度 */ cptw?: number width?: string children?: Array /**树 */ onclick?: (v: TRow, node: any) => void size?: "small" | "default" | "large" badge?: number /**触控弹窗 */ popverBtns?: Array r_refreshClear?: () => void /**禁止点击 */ unclickable?: boolean /**点击后不显示在顶部 */ clickDisToped?: boolean } /**表字段,form字段 定义和设置 */ interface TField { /**加载 */ loading?: boolean /**本体 */ fun?: TFieldClass /**字段id */ id?: number /**本地表名 */ tableName?: string /** 默认提示语 */ placeholder?: string /**字段名 */ name?: string /** 包含t18的名称*/ tName?: string /** 包含t18的名称*/ getT18Name?: (dt?: TfDt) => string /**输出的字段名:修改新增的字段与详情使用的字段不一致时使用*/ exName?: string /**输出的字段名:修改新增的字段与详情使用的字段不一致时使用*/ exNames?: string[] /**参考字段:*/ etNames?: string[] /**默认值,如果定义了,表示将在form里显示,并且显示为字段初始化的值 */ defVal?: any | ((v: TRow) => any) /**表单顺序 */ fid?: number /**字段 分类显示隐藏设置 2 表格,3 表单,5,描述页 求余处理*/ able?: TAe /**列表顺序 */ sort?: number /**字段类型 */ type?: Tte /** 非严格选择 */ unCheckStrictly?: boolean /**字段类型 */ dType?: Tte /**字段类型 */ tType?: Tte bucket?: FileUpType /**是否上传任意文件*/ isAnyUp?: boolean /**深度字段key*/ valKey?: string /**包含 */ include?: string /**编辑模式 禁止编辑 */ disabled?: boolean /**字体颜色 */ fColor?: string /**列表字段固定 */ fixed?: "left" | "right" | boolean /**列表字段是否隐藏 */ hide?: boolean /**字段的字典类型名 */ dictIdf?: string /**字段的字典类型名集合 */ dictIdfs?: string[] /** 是否将 弹出组件插入至 body 元素 */ teleported?: boolean /** 树形是否显示所有label标签 */ tree_isAlwaysShowLabel?: boolean /**是否是排序 */ __isSort?: boolean /**是否是空描述文件 */ d_isNull?: boolean /**是否是无边框描述文件 */ d_disBorder?: boolean /**数组字段 对象为数组 子对象仍为字段*/ arrFields?: Array /**数组字段 表名*/ arr_tName?: string /**数组子字段 列数*/ c_fColumn?: number /**数组子字段 组件宽度*/ c_fWidth?: string /**数组子字段 组件标签宽度*/ c_fLabelWidth?: string /**统一设置值的方法 */ setVal?: (v: any) => void /**列表字段header是否需要搜索 */ unsearch?: boolean /**列表字段header搜索弹出框宽度 */ searchPopWidth?: number /**列表字段header搜索弹出框 排版 */ searchPopPos?: "cb" | "ce" | "ca" | "c" /**列表字段 的显示值 */ fDtLabel?: string | string[] /**列表字段header搜索值 */ sData?: Record // sData?: Record /**列表字段header搜索值数组 */ searchs?: Array /**列表字段header搜索值和搜索需求不一致时 */ sType?: Tte /**列表字段header搜索值 字段名不一致时 */ sKey?: string /**组件搜索获取值*/ sGData?: Record /**组件搜索获取值*/ sGKey?: string /**列表字段header搜索传值字段集 */ t_sFields?: Array /**列表字段header搜索 是否有输入 */ t_sIsInp?: boolean /**列表字段header搜索传值字段集 label显示 并设置宽度 */ t_sFieldsLabelw?: boolean | string /** 是否排序 */ isOrder?: boolean /** ASC: 升序 DESC: 降序 */ order?: "ASC" | "DESC" /**列表字段header排序 字段名不一致时 */ oKey?: string /**表单 是否允许创建 */ f_allowCreate?: boolean /** 赋值到字段 是否允许创建 */ f_allowCreateKey?: string /**是否不显示表单冒号 */ unFromColon?: boolean /**是否显示edit小手 */ editClass?: boolean /** 是否显示danger状态文字 */ dangerClass?: boolean /** 验证类型 */ verifyType?: "phone" | "mailbox" /**值 */ valued?: (v: TRow, dt: TfDt) => any /**调用排序 */ onsort?: () => void /**vps 含父对象的数组 */ onValChange?: (r: TRow, dt: TfDt, v?: any, vps?: any[]) => void onValInput?: (v: any, r: TRow, dt: TfDt) => void onclick?: (v: TRow, v1?: TRow, callback?: any, dt?: TfDt) => void onhover?: (v: TRow, dt: TfDt, v1?: any) => void onsearch?: (...args) => void /**必传 */ required?: boolean /**输入选中值可清除 / 允许选项未选中 某些(radio)组件为false才不清空(默认可清空)*/ clearable?: boolean /**清除必填校验结果 */ clearValidate?: () => void /** form 主动触发校验 */ formBlur?: ( validator?: (rule: any, value: any, callback: any, ...args: any[]) => void | any, ...args: any[] ) => void /** form 校验方法 */ validator?: ( rule: any, value: any, callback: any, ...args: any[] ) => void /** form 校验失败提示 */ validatorErrTips?: string /** form 主动触发定义好的校验 */ doFormBlur?: () => void /**列表字段宽度 */ width?: number | string /**高度 */ height?: number | string /**表单字段宽度 */ fWidth?: number | string /**表单字段label宽度 */ fLabelWidth?: number | string /**desc 是否显示 */ dAble?: boolean /**desc value宽度 */ dWidth?: number | string /**desc span */ dSpan?: number /**图片宽度 */ imgW?: string /**图片高度*/ imgH?: string /**图片大小限制 bit 默认10M*/ imgSizeClamp?: number /**图片数量限制 在多图模式下 bit 默认9张*/ imgCountClamp?: number /**图片D提示*/ imgDTips?: string /**图片添加水印*/ imgWatermark?: boolean /**表单 是否开启ai识别 */ f_isAi?: boolean /**图片宽度 */ t_imgW?: string /**图片高度*/ t_imgH?: string /**内容对齐*/ t_align?: "flex-start" | "center" | "flex-end" /**文件上传类型 standard 可初始服务器的 common公开 ehs 私有*/ fileUpType?: FileUpType /**表格 子对象数量显示限制*/ t_clampCount?: number /**表单 子对象数量显示限制*/ f_clampCount?: number /**图片 示例图*/ imgSamples?: FileDt[] /**form item高度 */ _formHeight?: any /**form 的label是否不显示 */ disFormLabel?: boolean /**desc 的label是否不显示 */ disDescLabel?: boolean /**table 字段分为id数组和name数组的 的name字段名 */ arrIdNames?: string /**el-input 输入框后置内容 */ append?: string | boolean /**el-input 输入框后置内容 */ appendBtn?: PageBtnDt /**el-input 输入框后置内容宽度 */ appendWidth?: string /**form el-select等 多选 */ multiple?: boolean /**table的header 多选 */ tMultiple?: boolean /**form 是数组的值 */ isValArr?: boolean /** 编辑新增禁用,table的搜索不禁用时 */ tDisabled?: boolean /**是否是自定义 */ isCst?: boolean /**table的 语言ti8转 */ unT18?: boolean /**是否不需要接口返回可选择的数据 */ unApiData?: boolean /**是否不显示字段 编辑模式下 */ isHide?: (r: TRow) => boolean /**组件获取值 相对于组件的类型*/ getKey?: string /**组件设置值 相对于组件的类型*/ setKey?: string /**最小长度 */ minLength?: number /**最大长度 */ maxLength?: number /**快捷操作最大长度 */ q_maxLength?: number /**最小值 */ min?: number /**最大值 */ max?: number /**是否多行文本 */ textarea?: boolean /**计数器补偿 */ step?: number /**数值精度 */ precision?: number /**数值是否千分位显示 */ isThousands?: boolean /**时间类型 */ dateTimeType?: | "year" | "years" | "datetime" | "date" | "month" | "months" | "dates" | "week" | "datetimerange" | "daterange" | "monthrange" /**时间范围 预制选择 */ shortcuts?: any[] /**文件上传 是否是拖拽模式 */ uploadDrag?: boolean /**文件上传格式 */ accept?: string /**selsct是否可进行输入选择 */ filterable?: boolean /**form 选项可新加 带方法 */ isFormAdd?: boolean /**formSelect可以变输入边保存 */ isFormAddInput?: boolean /**form 选项可新加的标题 */ isFormAddTitle?: string | boolean /**form 选项 配置 */ isFormAddCfg?: { /**不显示的字段 */ disFields?: string[] } /**formSelect 选项可输入选择 */ allowCreate?: boolean /**form 选项可新加 按钮包含在内 */ isFormAddInner?: boolean /**form 调起创建窗口 */ onAdd_form?: (t: TField, dt: TfDt) => void /**formSelect新增成功后回调 */ onAddChangeCall?: (v: any) => void /**popover 不显示 */ disPopover?: boolean /**内容显示在中间部分 */ isCenter?: boolean /**输入框是密码 */ showPassword?: boolean /**标签名称后缀提示 */ lableTip?: string /**标签名称后缀提示图标 */ lableTipIcon?: string /**disabledArr禁用数组 */ disabledArr?: any[] /**穿梭框配置 */ TransferConfig?: any /**表格字段不需要更多 */ unMoreAble?: boolean /**获取数据 */ callData?: (callDt?: (v: any) => any, dt?: TfDt, params?: any) => void /**设置数据 */ setData?: (v: TRow[]) => void /**是否每次获取都刷新值 */ isResetCallData?: boolean /**是否开始时就加载 */ isStartCallData?: boolean | string /**是否需要重新加载 */ isNeedCallData?: boolean /*改变值的时候是否需要重新搜索加载 */ isChangeCallData?: boolean /**选择时设置的值 */ sltProps?: { label?: string; value?: string, labelv?: string } /**树 节点标签 */ treeLabels?: Array /**树搜索列表传参 */ treeParams?: Record /**必填字段传的模块名称 */ fieldsCfgModel?: string /**value提示 */ valTip?: string /**额外参数 */ extra?: any /**字典项 是否不显示 */ dictEtDisAbled?: (v: any) => boolean /**表单项 规则类型 */ f_ruleType?: "inp" | "slt" /**表单项 提示词 是否隐藏*/ f_tipsDis?: (r: TRow, dt: TfDt) => boolean /**表单项 提示词 为空则不使用*/ f_tips?: string /**表单项 提示词 颜色 #333333*/ f_tipsColor?: string /**表单项 提示词 大小 12px*/ f_tipsFontSize?: string /**表单历史输入 是否使用*/ f_hisInp?: boolean /**表单历史 回调选项*/ f_hiCall?: (call: (v: any[]) => void, dt: TfDt) => void /**表单历史 快捷 回调选项*/ f_hiQuickCall?: (call: (v: any[]) => void, dt: TfDt) => void /**表单 历史 显示的显示字段,默认为空,显示本值,定义后为本值的某个属性*/ f_hiLabelKey?: string /**表单历史 label*/ f_hiLabel?: string /**表单历史点击value*/ f_hiclick?: (v: any, r: TRow) => void /**表单历史更新*/ f_hiUpdate?: () => void /** 表单必填*号不占位 */ f_requiredNot?: boolean /**表格修改参数的接口 有接口则启用*/ t_editApi?: any /**表格修改参数 是否禁用*/ t_editApiDisable?: ((r: TRow, dt: TfDt) => boolean) | boolean /**表格修改参数 第一个参数为修改后的值,第二个 行数据 第三个为接口传参回调,第四个为当前表的dt */ t_editParams?: | ((val: any, r: TRow, call: (v?: any) => void, dt: TfDt) => void) | object /**表格修改参数 使用edit接口 当使用t_editParams时,此参数失效*/ t_editIsSelf?: boolean /**表格修改参数成功是否不提示 */ t_editUnOkTips?: boolean /**表格修改参数失败是否不提示 */ t_editUnErrTips?: boolean /**表格修改参数回调 */ t_editCallEnd?: (v?: boolean, res?: any, row?: TRow) => void /**表格显示是否是标签 */ t_isTag?: boolean /**TreeSelect组件是否不默认展开全部 */ unExpandAll?: boolean /**组件是否显示某个button */ isBtn?: boolean /**是否只读 新增编辑*/ isReadonly?: (r: TRow) => boolean readonly?: boolean /**输入框内容是否自动生成 */ isAutomatic?: boolean /**显示人员的电话 */ t_showTel?: boolean /**treePerson组件是否只能选择人员 */ disablePerson?: boolean /**treeDept组件是否只能选择对应类型 */ disableDept?: string[] /**时间选择禁用快捷选择 */ disableQuick?: boolean /**formItem设置宽度 */ f_width?: string /** text设置复制按钮 */ copy?: boolean } /**树的 标签 */ interface TreeLabel { /**监测是否允许显示 默认允许*/ disabled?: (v: TRow, node: any) => boolean /**字体颜色 */ color?: string /**字体颜色 */ colorCall?: (v: TRow, node: any) => string hover?: boolean /**字体大小 */ fontSize?: string | number /**获取名称 默认默认名 */ callName?: (v: TRow, node: any) => string | number /**点击返回,有则启用点击状态 */ onClick?: (v: TRow, dt: TfDt, item: TreeLabel) => void } type PopType = "def" | "custom" interface FlowProp { id?: string title?: string position?: { x: number; y: number } size?: { width: number; height: number } attrs?: Record zIndex?: number angle?: number ports?: any[] tools?: any | any[] x?: number y?: number width?: number height?: number source?: any target?: any router?: any connector?: any labels?: any[] | string[] defaultLabel?: any vertices?: any[] defaultMarkup?: any sourceCell?: any | string sourcePort?: string sourcePoint?: any targetCell?: any | string targetPort?: string targetPoint?: any view?: string shape?: string markup?: any visible?: boolean data?: any label?: any /**是否是区域 */ isArea?: boolean /**是否绑定tex大小位置 */ isBindTex?: boolean riskIds?: string risks?: { id: string, count?: number, name?: string, icon?: string }[] } interface FileDt { id?: string originalFilename?: string filename?: string size?: number url?: string /** 转换前的地址 */ urlOrg?: string data?: any name?: string status?: "success" | "error" loading?: boolean urlDef?: any isLoadOk?: boolean } interface FTableCfg { identifier?: string /**表格字段 */ fields: TRowFields sortRow?: TField /**表格数据 */ refreshCfg?: { /**是否自动刷新 */ isAuto?: boolean /**自动刷新时间 */ time?: number } /**表格数据 */ columns?: any[] /**表格数据 */ } // interface ImportMeta { // readonly env: ImportMetaEnv // glob(pattern: string | string[], options?: any): Record Promise> // } interface notifyOptions { title?: string message?: string | VNode dangerouslyUseHTMLString?: boolean type?: "success" | "warning" | "info" | "error" | "" icon?: string | any duration?: number showClose?: boolean offset?: number onClose?: () => void onClick?: () => void } interface BulkImportData { /**模板名称 */ tempName?: string /**下载模板调用的方法 */ downloadTemp?: () => void /**上传格式限定 */ accept?: string /**上传方法 */ upload?: (file: File, callEnd: (data?: { /**上传检测异常数据数量 */ errCount?: number /**上传检测正常常数据数量 */ okCount?: number /**上传检测数据数量 */ count?: number }) => void) => void /**上传方法 上传文件后*/ upload_filed?: (res: any, callEnd: (data?: { /**上传检测异常数据数量 */ errCount?: number /**上传检测正常常数据数量 */ okCount?: number /**上传检测数据数量 */ count?: number }) => void) => void /**下载处理异常数据 */ downloadErr?: () => void /**确定导入系统 */ importSys?: (callEnd: (data?: { impRtst: any, imptedCount: number }) => void) => void } type FileRow = { id?: number originalFilename?: string filename?: string url?: string } type TRow = Record & { //// id?: any parentId?: any title?: string platform?: string category?: string path?: string url?: string icon?: string name?: string value?: string /** 状态 disabled normal */ status?: string deletable?: boolean showOrder?: number remark?: string creator?: string creationTime?: string systemVersion?: string children?: TRow[] username?: string nickname?: string avatar?: string mailbox?: string phone?: string idCard?: string gender?: boolean wechat?: string biometric?: FileRow[] activated?: string postNames?: string postId?: string roleIds?: string[] roleNames?: string createdAt?: string terminal?: string ok?: string os?: string menuId?: any menuName?: any resource?: any operation?: any consuming?: any method?: any function?: any uri?: any response?: any systemName?: string serviceSupportHotline?: string logo?: object loginBackgroundImage?: object lockBackgroundImage?: object copyrightAgency?: string icpRegistrationNumber?: string icpRegistrationUrl?: string mpsRegistrationNumber?: string mpsRegistrationUrl?: string /** 编码 */ code?: any /** 危害等级 */ hazardLevel?: any /** 标签数组 */ labels?: any[] /** 是否删除 */ deleted?: boolean /** 标识 */ identifier?: any /** 关联人数 */ userNumber?: number /** 创建人 */ creatorNickname?: any /** 菜单id列表 */ menuIds?: any[] /** 引用id */ referenceId?: any /** 是否内置 */ builtIn?: any /** 级联数组id */ ancestors?: any[] /** 级联数组名称 */ ancestorNames?: any[] /** 是否加密 */ encrypted?: boolean creatorName?: any ip?: any address?: any menuAncestorNames?: any success?: any exception?: any parameters?: any /**存储文件名 */ filename?: any extension?: any businessId?: any /**源文件名 */ originalFilename?: any size?: any creationDate?: any mark?: any /**图片 */ picture?: FileRow /**区域 */ areas?: any //自定义 feild0?: any feild1?: any feild2?: any feild3?: any feild4?: any feild5?: any feild6?: any feild7?: any feild8?: any feild9?: any feild10?: any feild11?: any feild12?: any feild13?: any feild14?: any feild15?: any feild16?: any feild17?: any feild18?: any feild19?: any feild20?: any feild21?: any feild22?: any feild23?: any feild24?: any feild25?: any feild26?: any feild27?: any feild28?: any feild29?: any feild30?: any feild31?: any feild32?: any feild33?: any feild34?: any feild35?: any feild36?: any feild37?: any feild38?: any feild39?: any } type TRowFields = Record & { ctrl?: TField id?: TField parentId?: TField title?: TField platform?: TField category?: TField path?: TField url?: TField icon?: TField name?: TField value?: TField /** 状态 disabled normal */ status?: TField deletable?: TField showOrder?: TField creator?: TField creationTime?: TField systemVersion?: TField children?: TField username?: TField nickname?: TField avatar?: TField mailbox?: TField phone?: TField idCard?: TField gender?: TField remark?: TField wechat?: TField biometric?: TField activated?: TField postNames?: TField postId?: TField roleIds?: TField roleNames?: TField createdAt?: TField ip?: TField address?: TField terminal?: TField ok?: TField os?: TField menuId?: TField menuName?: TField resource?: TField operation?: TField consuming?: TField method?: TField function?: TField uri?: TField response?: TField type?: TField num?: TField user?: TField systemName?: TField serviceSupportHotline?: TField logo?: TField loginBackgroundImage?: TField lockBackgroundImage?: TField copyrightAgency?: TField icpRegistrationNumber?: TField icpRegistrationUrl?: TField mpsRegistrationNumber?: TField mpsRegistrationUrl?: TField time?: TField /** 编码 */ code?: TField /** 危害等级 */ hazardLevel?: TField /** 标签数组 */ labels?: TField /** 是否删除 */ deleted?: TField /**字体颜色 */ fColor?: string, /** 标识 */ identifier?: TField /** 关联人数 */ userNumber?: TField /** 创建人 */ creatorNickname?: TField /** 菜单id列表 */ menuIds?: TField /** 引用id */ referenceId?: TField /** 是否内置 */ builtIn?: TField /** 级联数组id */ ancestors?: TField /** 级联数组名称 */ ancestorNames?: TField /** 是否加密 */ encrypted?: TField creatorName?: TField menuAncestorNames?: TField success?: TField exception?: TField parameters?: TField filename?: TField extension?: TField businessId?: TField originalFilename?: TField size?: TField creationDate?: TField mark?: TField tag?: TField include?: TField /**图片 */ picture?: TField /**区域 */ areas?: TField //自定义 feild0?: TField feild1?: TField feild2?: TField feild3?: TField feild4?: TField feild5?: TField feild6?: TField feild7?: TField feild8?: TField feild9?: TField feild10?: TField feild11?: TField feild12?: TField feild13?: TField feild14?: TField feild15?: TField feild16?: TField feild17?: TField feild18?: TField feild19?: TField feild20?: TField feild21?: TField feild22?: TField feild23?: TField feild24?: TField feild25?: TField feild26?: TField feild27?: TField feild28?: TField feild29?: TField feild30?: TField feild31?: TField feild32?: TField feild33?: TField feild34?: TField feild35?: TField feild36?: TField feild37?: TField feild38?: TField feild39?: TField } interface BaseOpts extends UserInitProps { IsBtnPerm?: (pbt: PageBtnDt, route: any) => boolean IsBtnPermp?: (perm: string, route: any) => boolean apis?: BaseOpts_apis config?: any api?: string router?: any imgs?: BaseOpts_imgs BasisLibraryDetail?: any, BasisLibraryInspectItems?: any, BasisLibraryDangerItems?: any, locale?: LocaleJson } interface BaseOpts_apis { getDictEntrys?: (...args) => Promise getDictEntrysList?: (...args) => Promise quickAddEntrySet?: (...args) => TRowFields quickTDictionaryEntryApiSet?: (...args) => TableApiDt addDictEntry?: (...args) => Promise TCstFdFields?: (...args) => TRowFields getPositionServerBase?: () => Promise getPlatformCfg?: () => Promise baseConfigSystem?: () => Promise getInitialized?: () => Promise getBoxInternetConfig?: () => Promise fileUpload?: (file: any, bucket?: FileUpType, callProg?: (per: number) => void, isAnyUp?: boolean, ...args) => Promise getFormTableConfig?: (...args) => Promise postFormTableConfig?: (...args) => Promise TDictionaryEntryQuickFileds?: () => any, quickTDictionaryEntryApiSet?: () => any, getFileListDown?: (...args) => Promise getFilesDownload?: (...args) => Promise getFilesPreview?: (...args) => Promise getFilesSharePreview?: (...args) => Promise getBaseDateNow?: () => Promise accountGetting?: (...args) => Promise getBoxMemory?: (...args) => Promise TAccountManageApiDt1?: (v?: boolean) => TableApiDt TAccountManageFields?: (...args) => TRowFields TdepartmentSet?: () => TRowFields TAccountManageDetailFields?: (...args) => TRowFields TAccountManageApiDt?: (...args) => TableApiDt TAccountManageOtherApiDt?: (...args) => TableApiDt VerifyMailBoxCodeApiDt?: (...args) => TableApiDt VerifyMailBoxCodeFields?: (...args) => TRowFields VerifyPhoneCodeApiDt?: (...args) => TableApiDt VerifyPhoneCodeFields?: (...args) => TRowFields TBoxModleSpecApiDt?: (...args) => TableApiDt TBoxModleDetailFields?: (...args) => TRowFields TCredentialMgtApiDt?: (...args) => TableApiDt TCredentialMgtFields?: (...args) => TRowFields TBoxSpecSnApiDt?: (...args) => TableApiDt TBoxDetailFields?: (...args) => TRowFields customerDetApiDt?: (...args) => TableApiDt customerDetFieldsDt?: (...args) => TRowFields getFollowUpdatesList?: (...args) => Promise getCustomersList?: (...args) => Promise FollowSerchFields?: (...args) => TRowFields FollowSerchApiDt?: (...args) => TableApiDt FollowSerchPersonFields?: (...args) => TRowFields getFollowersData?: (...args) => Promise TDataAuthFields?: (...args) => TRowFields TDataAuthListApiDt?: (...args) => TableApiDt TDataAuthListFields?: (...args) => TRowFields PlatformWorkOrderCreate?: (...args) => Promise EnterpriseWorkOrderReply?: (...args) => Promise PlatformWorkOrderDetail?: (...args) => Promise EnterpriseWorkOrderDetail?: (...args) => Promise getConfig?: (...args) => Promise delFilesUpload?: (...args) => Promise filesChunk?: (...args) => Promise filesUpload?: (...args) => Promise getProcessFlow?: (...args) => Promise getPlanGraph?: (...args) => Promise getRiskGraph?: (...args) => Promise getRiskPointAreaTree?: (...args) => Promise getAddresss?: (...args) => Promise postAddressSelect?: (...args) => Promise getAddresssAnonymous?: (...args) => Promise getTags?: (...args) => Promise addTags?: (...args) => Promise getDictionaries?: (...args) => Promise getRiskPointConfig?: (...args) => Promise ServerBaseExpend?: (...args) => Promise TCheckListApiDt?: (...args) => TableApiDt TCheckListFields?: (...args) => TRowFields previewYGCheckPlan?: (...args) => Promise basisLibraryDetail?: (...args) => Promise getFieldConfigs?: (...args) => Promise updateFieldConfig?: (...args) => Promise getDangerConfig?: (...args) => Promise getYGCheckCategoryTree?: (...args) => Promise getYGCheckBasisPage?: (...args) => Promise getYGCheckPlanTree?: (...args) => Promise getMenus?: (...args) => Promise getRoles?: (...args) => Promise getSecretKey?: (...args) => Promise getDepts?: (...args) => Promise getDeptSelect?: (...args) => Promise TDeptEditFields?: (...args) => TRowFields TDeptApiDt?: (...args) => TableApiDt TDeptFields?: (...args) => TRowFields getManageDistricts?: (...args) => Promise TManageDistrictApiDt?: (...args) => TableApiDt TManageDistrictFields?: (...args) => TRowFields getIndustryConfigs?: (...args) => Promise TIndustryConfigApiDt?: (...args) => TableApiDt postTableRefreshConfig?: (...args) => Promise putPassword?: (...args) => Promise getMyWorkList?: (...args) => Promise getNotices?: (...args) => Promise setNoticeReaded?: (...args) => Promise getDangerDealing?: (...args) => Promise getYGCheckCategoryList?: (...args) => Promise TConfigurationMenuApiDt?: (...args) => TableApiDt TConfigurationMenuFields?: (...args) => TRowFields TIndustryApiDt?: (...args) => TableApiDt TIndustryFields?: (...args) => TRowFields } interface BaseOpts_imgs { AddI?: any, OutI?: any, DelI?: any, EditI?: any, ImgDown?: any, PdfDown?: any, ModI?: any, KeyI?: any, FollowI?: any, StatusI?: any, InitBoxI?: any, Logo?: any, AiI?: any, UploadIcon?: any, Casno?: any, Fa?: any, Vip?: any, Publiced?: any, Unpublic?: any, HeadDef?: any, mesbgtop?: any, mesbgtop1?: any, mesbgtop2?: any, mesbgtop3?: any, mesbgtops?: any, mesbgtops1?: any, mesbgtops2?: any, mesbgtops3?: any, convention1?: any, convention2?: any, convention3?: any, convention4?: any, publiced?: any, unpublic?: any stbg0?: any, nodata?: any nodata2?: any, risk1?: any, risk2?: any, risk3?: any, risk4?: any, } interface TDictionary { id: number name: string identifier: string remark: string status: string customize: boolean deletable: boolean creator: string creationTime: string } interface TDictEntry { status: string id: number identifier: string name: string customization: Record value: string deletable: boolean showOrder: number remark: string creator: string creationTime: string unAble: boolean } interface LocaleJson { [key: string]: any } } /** * vue全局自定义环境变量的类型声明 */ declare module "vue" { export interface ComponentCustomProperties { $base: Base $sd: any $user: User $query: any /**获取字典项数组 */ $dictt: Record /**根据字典名称,值获取name */ $dictl: (dictName: string, v: any) => string /**根据字典名称,值获取name数组 */ $dictls: (dictName: string, v: any) => string[] /**根据字典名称,值获取 */ $dicte: (dictName: string, v: any) => any /**根据字典名称,值获取 */ $dictes: (dictName: string, v: any) => any[] $dictcst: (dictName: string, v: any) => Record $appInfo: typeof __APP_INFO__.pkg $config: PlatformConfigs $icon: (name: string) => any $icons: typeof iconify $device: Device $ttVal: (t: TField, v: any) => any $PBT: typeof PageBtnType $env: ViteEnv } }