util.d.ts 3.8 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119
import { Route } from 'vue-router';
import Vue, { VNode, CreateElement } from "vue";

/**
 * 工具类
 *
 * @export
 * @interface Util
 */
export declare interface Util {
    /**
     * 创建 UUID
     *
     * @returns {string}
     * @memberof Util
     */
    createUUID(): string;
    /**
     * 创建序列号
     *
     * @returns {number}
     * @memberof Util
     */
    createSerialNumber(): number
    /**
     * 判断是否为一个函数
     *
     * @param {*} func
     * @returns {boolean}
     * @memberof Util
     */
    isFunction(func: any): boolean;
    /**
     * 处理请求结果
     *
     * @param {*} o
     * @memberof Util
     */
    processResult(o: any): void;
    /**
     * 下载文件
     *
     * @param {string} url
     * @memberof Util
     */
    download(url: string): void;
    /**
     * 
     *
     * @param {string} url
     * @param {*} params
     * @returns {string}
     * @memberof Util
     */
    parseURL2(url: string, params: any): string;
    /**
     * 是否是数字
     *
     * @param {*} num
     * @returns {boolean}
     * @memberof Util
     */
    isNumberNaN(num: any): boolean;
    /**
     * 是否未定义
     *
     * @param {*} value
     * @returns {boolean}
     * @memberof Util
     */
    isUndefined(value: any): boolean;
    /**
     * 是否为空
     *
     * @param {*} value
     * @returns {boolean}
     * @memberof Util
     */
    isEmpty(value: any): boolean;
    /**
     * 转换为矩阵参数
     *
     * @param {*} obj
     * @returns {*}
     * @memberof Util
     */
    formatMatrixStringify(obj: any): any;
    /**
     * 准备路由参数
     *
     * @param {*} { route: route, sourceNode: sourceNode, targetNode: targetNode, data: data }
     * @returns {*}
     * @memberof Util
     */
    prepareRouteParmas({ route: route, sourceNode: sourceNode, targetNode: targetNode, data: data }: any): any;
    /**
     * 获取当前值类型
     *
     * @param {*} obj
     * @returns {string}
     * @memberof Util
     */
    typeOf(obj: any):string;
    /**
     * 深拷贝(deepCopy)
     *
     * @param {*} data
     * @returns {*}
     * @memberof Util
     */
    deepCopy(data: any): any;
    /**
     * 名称格式化
     *
     * @param {string} name
     * @returns {string}
     * @memberof Util
     */
    srfFilePath2(name: string): string;
tony001's avatar
tony001 committed
120
    
121 122 123 124 125
    /**
     * 附加参数格式化
     *
     * @static
     * @param {any} arg 表单数据
tony001's avatar
tony001 committed
126
     * @param {any} parent 外层context或viewparams
127 128 129 130
     * @param {any} params 附加参数
     * @returns {any}
     * @memberof Util
     */
tony001's avatar
tony001 committed
131
    formatData(arg: any,parent:any, params: any): any ;
132

tony001's avatar
tony001 committed
133 134 135 136 137 138 139 140 141 142 143 144 145 146
    /**
     * 计算导航数据
     * 先从当前数据目标计算,然后再从当前上下文计算,最后从当前视图参数计算,没有则为null
     * 
     * @static
     * @param {any} data 表单数据
     * @param {any} parentContext 外层context
     * @param {any} parentParam 外层param
     * @param {any} params 附加参数
     * @returns {any}
     * @memberof Util
     */ 
    computedNavData(data:any,parentContext:any,parentParam:any,params:any):any;

147 148 149 150 151 152 153 154 155 156
    /**
     * 日期格式化
     *
     * @static
     * @param {string} fmt 格式化字符串
     * @param {any} date 日期对象
     * @returns {string}
     * @memberof Util
     */
    dateFormat(date: any,fmt?: string):string
tony001's avatar
tony001 committed
157 158 159 160 161 162 163 164 165 166 167

    /**
     * 表单项校验
     * 
     * @param property 表单项属性名
     * @param data 表单数据
     * @param rules 表单值规则
     * @returns {Promise}
     * @memberof Util
     */
    validateItem(property: string, data:any, rules:any): Promise<any>
168 169 170 171 172 173 174 175 176 177 178 179 180
}

declare module "vue/types/vue" {
    interface Vue {
        /**
         * 工具类
         *
         * @type {Util}
         * @memberof Vue
         */
        $util: Util;
    }
}