atr-components 0.0.13 → 0.0.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/atr-components.d.ts +0 -1
- package/core/base/atr-common.d.ts +1 -0
- package/core/utils/AtrTools.util.d.ts +47 -0
- package/esm2020/core/base/atr-common.mjs +3 -2
- package/esm2020/core/utils/AtrTools.util.mjs +270 -0
- package/esm2020/public-api.mjs +2 -1
- package/fesm2015/atr-components.mjs +272 -2
- package/fesm2015/atr-components.mjs.map +1 -1
- package/fesm2020/atr-components.mjs +272 -2
- package/fesm2020/atr-components.mjs.map +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
package/atr-components.d.ts
CHANGED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { json, AtrFormOpt } from '../base/atr-common';
|
|
2
|
+
import { SimpleChange } from '@angular/core';
|
|
3
|
+
export declare class AtrToolsUtil {
|
|
4
|
+
static ossPrefix: string;
|
|
5
|
+
static getOrgCode: () => string;
|
|
6
|
+
static isNull(val: any): boolean;
|
|
7
|
+
static getControlsConfig(dataFrom: any, requiredRule: string[]): any;
|
|
8
|
+
static httpSucces(res: any): boolean;
|
|
9
|
+
static diffInput(chng: SimpleChange, action: () => void): void;
|
|
10
|
+
static diffInputs(chng: SimpleChange[], action: () => void): void;
|
|
11
|
+
static getYesterday(day: Date): Date;
|
|
12
|
+
static getTomorrowday(day: Date): Date;
|
|
13
|
+
static getNextMonth(day: Date): Date;
|
|
14
|
+
static fistDayOfMonth(day: Date): Date;
|
|
15
|
+
static lastDayOfMonth(day: Date): Date;
|
|
16
|
+
static getRandomFileName: () => string;
|
|
17
|
+
static getFileExt: (fileName: string) => string;
|
|
18
|
+
static getHttpOptions(): any;
|
|
19
|
+
static resetFormValue(opt: AtrFormOpt, json: json): AtrFormOpt;
|
|
20
|
+
static getFormatDate(date: Date): string;
|
|
21
|
+
static getFormatDateFull(date: Date): string;
|
|
22
|
+
static getFormatDateWithoutS(date: Date): string;
|
|
23
|
+
static getOssUrl(url: string): string;
|
|
24
|
+
static mul(...numbers: any): number | undefined;
|
|
25
|
+
static getDigit(...numbers: any[]): number;
|
|
26
|
+
static downloadImg(data: any, fileName?: string, endpoint?: string): void;
|
|
27
|
+
static downloadXls(url: string, params?: any): void;
|
|
28
|
+
static pixelToNum(width: any): number;
|
|
29
|
+
static allEqual: (...array: any[]) => boolean;
|
|
30
|
+
/**
|
|
31
|
+
* array所有参数满足fn函数返回true
|
|
32
|
+
* all(x => x > 1,1,2,3); // true
|
|
33
|
+
* @param callback
|
|
34
|
+
* @param array
|
|
35
|
+
*/
|
|
36
|
+
static satisfiedFn: (callback: (...args: any[]) => boolean, ...array: any[]) => boolean;
|
|
37
|
+
static notEmpty(...arr: any[]): boolean;
|
|
38
|
+
static hasEmpty(...arr: any[]): boolean;
|
|
39
|
+
static allEmpty(...arr: any[]): boolean;
|
|
40
|
+
static encodeValue(params: any): any;
|
|
41
|
+
static windowHeight(): number;
|
|
42
|
+
static windowWidth(): number;
|
|
43
|
+
static modaleStyle(): {
|
|
44
|
+
maxHeight: string;
|
|
45
|
+
'overflow-y': string;
|
|
46
|
+
};
|
|
47
|
+
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export const atr_static_datas = {
|
|
2
|
-
test: '1'
|
|
2
|
+
test: '1',
|
|
3
|
+
OSS_URL: '',
|
|
3
4
|
};
|
|
4
5
|
export var UserAction;
|
|
5
6
|
(function (UserAction) {
|
|
@@ -9,4 +10,4 @@ export var UserAction;
|
|
|
9
10
|
UserAction[UserAction["QUERY"] = 3] = "QUERY";
|
|
10
11
|
UserAction[UserAction["SUPPERADD"] = 4] = "SUPPERADD";
|
|
11
12
|
})(UserAction || (UserAction = {}));
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXRyLWNvbW1vbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2NvcmUvYmFzZS9hdHItY29tbW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHO0lBQzlCLElBQUksRUFBRSxHQUFHO0lBQ1QsT0FBTyxFQUFDLEVBQUU7Q0FDWCxDQUFDO0FBa0NGLE1BQU0sQ0FBTixJQUFZLFVBTVg7QUFORCxXQUFZLFVBQVU7SUFDcEIseUNBQUcsQ0FBQTtJQUNILDJDQUFJLENBQUE7SUFDSix5Q0FBRyxDQUFBO0lBQ0gsNkNBQUssQ0FBQTtJQUNMLHFEQUFTLENBQUE7QUFDWCxDQUFDLEVBTlcsVUFBVSxLQUFWLFVBQVUsUUFNckIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgYXRyX3N0YXRpY19kYXRhcyA9IHtcclxuICB0ZXN0OiAnMScsXHJcbiAgT1NTX1VSTDonJyxcclxufTtcclxuXHJcbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBqc29uIGV4dGVuZHMgT2JqZWN0IHtcclxuICBba2V5OiBzdHJpbmddOiBhbnlcclxufVxyXG5cclxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIFNlcnZlclBhZ2luYXRpb25TdGFuZGFyZCB7XHJcbiAgY3VycmVudFBhZ2U6IG51bWJlcjtcclxuICBzaG93Q291bnQ6IG51bWJlcjtcclxuICB0b3RhbFJlc3VsdDogbnVtYmVyO1xyXG4gIHRvdGFsUGFnZT86IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEh0dHBSZXNwb25zZURhdGFTdGFuZGFyZCB7XHJcbiAgc3RhdGU6IG51bWJlcjsgLy8g5Li6MeaJjeaYr+aIkOWKn1xyXG4gIGRhdGE6IGpzb24gfCBbe31dIHwgb2JqZWN0IHwgc3RyaW5nIHwgYW55OyAvL+ayoeacieWAvCBkYXRhOiAnJ1xyXG4gIG1lc3M6IHN0cmluZzsgLy/ov5Tlm57nmoTmtojmga9cclxuICBwYWdlPzogU2VydmVyUGFnaW5hdGlvblN0YW5kYXJkO1xyXG59XHJcblxyXG5cclxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEh0dHBSc2Vwb25zZVRyYW5zZm9ybUNlbGwge1xyXG4gIFtrZXk6IHN0cmluZ106IGpzb25cclxufVxyXG5cclxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEh0dHBPcHRpb25zIHtcclxuICBoZWFkZXJzPzoge30sXHJcbiAgaXNKc29uRW5jb2RlPzogYm9vbGVhblxyXG4gIGlzVXJsRW5jb2RlPzogYm9vbGVhblxyXG4gIGlzQXV0b1Nob3dNZXNzYWdlPzogYm9vbGVhblxyXG4gIGlzV2l0aENyZWRlbnRpYWxzPzogYm9vbGVhblxyXG4gIGlzQ29tbW9uSHR0cEhlYWRlcj86IGJvb2xlYW5cclxufVxyXG5cclxuZXhwb3J0IGVudW0gVXNlckFjdGlvbiB7XHJcbiAgQURELFxyXG4gIEVESVQsXHJcbiAgREVMLFxyXG4gIFFVRVJZLFxyXG4gIFNVUFBFUkFERFxyXG59XHJcblxyXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQXRyRm9ybU9wdCB7XHJcbiAgdHlwZTogJ2FkZCcgfCAnZWRpdCcgfCAndmlldycsXHJcbiAgbGF5b3V0PzogXCJmdWxsXCIgfCAnMWwyYycgfCAnMWwxYycsXHJcbiAgaXRlbXM6IEF0ckZvcm1EZXRhaWxbXSwvL+ihqOWNlemhueebrlxyXG59XHJcblxyXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQXRyRm9ybURldGFpbCB7XHJcbiAgbGFiZWw6IHN0cmluZyxcclxuICB0eXBlOiAnY2FzY2FkZXInIHwgJ3JhZGlvJyB8ICd0ZXh0JyB8ICdpbWFnZScgfCAnc2VsZWN0JyB8ICdkYXRlJyB8ICdudW1iZXInIHwgJ3RlbHBob25lJyB8ICdwYXNzd29yZCcgfCAnY2hlY2tib3gnIHwgJ2VkaXRvcicgfCAndGV4dGFyZWEnIHwgJ2RhdGVUaW1lJyB8ICd0aXRsZScgfCAnZGF0ZVJhbmdlJyB8ICdzZWxlY3RjJyxcclxuICBrZXk6IHN0cmluZyxcclxuICBpc0hpZGRlbj86IGJvb2xlYW4sXHJcbiAgZGVmYXVsdFZhbHVlPzogYW55LFxyXG4gIHZhbHVlPzogYW55LC8v57yW6L6R5LiL5Y6f5aeL5pWw5YC8XHJcbiAgZGljdENvZGU/OiBzdHJpbmcsLy9zZWxlY3Qg5qih5byP5LiL6YWN572uXHJcbiAgc3Bhbj86IG51bWJlciwvL+aYvuekuuWuveW6plxyXG4gIHZhbGlkYXRvcnM/OiBBdHJGb3JtVmFsaWRbXSwvL+mqjOivgeadoeS7tlxyXG4gIGlzUmVxdWlyZWQ/OiBib29sZWFuIHwgc3RyaW5nLC8v6ZqQ5oCn5p2h5Lu2IOaXoOmcgOWhq+WGmSwgc3RyaW5n57G75Z6L5qC85byP5ZCMb3BlcmF0b3JcclxuICBwbGFjZWhvbGRlcj86IHN0cmluZyxcclxuICBpbWFnZU9wdHM/OiBJbWFnZU9wdHMsXHJcbiAgZWRpdENvbnRlbnQ/OiBzdHJpbmcsXHJcbiAgaGVpZ2h0PzogbnVtYmVyLC8vZWRpdG9y5pyJ5pWIXHJcbiAgZGlzYWJsZT86IGJvb2xlYW4sXHJcbiAgbHNwYW4/OiBudW1iZXIsXHJcbiAgY3NwYW4/OiBudW1iZXIsXHJcbiAgcm93cz86IG51bWJlciwvL3RleHRhcmVhIOaYvuekuuihjOaVsFxyXG4gIG9wZXJhdG9yPzogc3RyaW5nLC8v5pi+56S65pON5L2c56ymIOagvOW8jyDlpoI6c3RhdHVzfGVxfDBcclxuICBidXR0b24/OiBmb3JtQnV0dG9uLFxyXG4gIHJlYWRvbmx5PzogYm9vbGVhbixcclxuICBkYXRlRm9ybWF0Pzogc3RyaW5nLFxyXG4gIGRpY3RMaXN0PzogQ3VzRGljdFtdLFxyXG4gIHNlbGVjdFVybD86IHsgdXJsOiBzdHJpbmcsIGNvbnZlcnQ/OiBzdHJpbmcsIHR5cGU/OiAnZ2V0JyB8ICdwb3N0JywgaG9zdD86ICdvc3MnIHwgJ3NlcnZlJywgaXNNdWx0aXBsZT86IGJvb2xlYW4gfSxcclxuICB0cmVlTGlzdD86IHsga2V5OiBzdHJpbmcsIHRpdGxlOiBzdHJpbmcgfVtdLFxyXG4gIGVuZHM/OiBzdHJpbmcsXHJcbiAgcHJvcG9zYWw/OiBzdHJpbmcsXHJcbiAgdGVtcD86IGFueSxcclxuICBub3ROdWxsPzogYm9vbGVhblxyXG5cclxufVxyXG5cclxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEF0ckZvcm1WYWxpZCB7XHJcbiAgdHlwZTogJ3JlcXVpcmVkJyB8ICdlbWFpbCcgfCAndGVscGhvbmUnIHwgJ21heGxlbmd0aCcgfCAnbWlubGVuZ3RoJyB8ICdwYXR0ZXJuJyB8ICdvcGVyYXRvcicsXHJcbiAgZXJyb3JMYWJlbDogc3RyaW5nLFxyXG4gIG1heGxlbmd0aD86IG51bWJlcixcclxuICBtaW5sZW5ndGg/OiBudW1iZXIsXHJcbiAgcGF0dGVyblZhbHVlPzogc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBmb3JtQnV0dG9uIHtcclxuICBuYW1lOiBzdHJpbmcsXHJcbiAgaXNTaG93OiBib29sZWFuLFxyXG4gIGNvZGU6IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgY29sb3JPcGVyYXRvciB7XHJcbiAgY29sb3I6IHN0cmluZyxcclxuICBvcGVyYXRvcjogc3RyaW5nLC8v6KeE5YiZXHJcbn1cclxuXHJcbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBBdHJRdWV5ck9wdCB7XHJcbiAgYWN0aW9ucz86IFRhYmxlQWN0aW9uW10sXHJcbiAgaXNJbmRleD86IGJvb2xlYW4sLy/mmK/lkKbmmL7npLrluo/lj7csXHJcbiAgY29sb3I/OiBjb2xvck9wZXJhdG9yLC8v6aKc6ImyXHJcbiAgY2hlY2tCb3g/OiB7XHJcbiAgICBpc1Nob3dDaGVja2JveD86IGJvb2xlYW4sXHJcbiAgICBpc1JhZGlvPzogYm9vbGVhbixcclxuICAgIGlzRm9yYmlkPzogYm9vbGVhbiwvL3RydWXml7blj6rlhYHorrjngrnlh7vlpJrpgInmoYbpgInmi6lcclxuICB9LFxyXG4gIC8vIGlzU2hvd0NoZWNrYm94PzogYm9vbGVhbixcclxuICBzaG93TnVtPzogbnVtYmVyLFxyXG4gIHVybDogc3RyaW5nLFxyXG4gIHNvcnQ/OiBzdHJpbmcsXHJcbiAgaGVhZGVycz86IEF0clF1ZXJ5SGVhZGVyW10sXHJcbiAgdGFibGVzOiBUYWJsZVtdLFxyXG4gIGlzQXV0b1F1ZXJ5PzogYm9vbGVhbiwvL3RydWXml7blgJnpu5jorqTop6blj5Hmn6Xor6JcclxuICBkZWZhdWx0UGFyYW1zPzoganNvbixcclxuICBpc0hpZGVRdWVyeT86IGJvb2xlYW5cclxuICAvLyBpc1JhZGlvPzpib29sZWFuLFxyXG4gIC8vIGlzRm9yYmlkPzpib29sZWFuLC8vdHJ1ZeaXtuWPquWFgeiuuOeCueWHu+WkmumAieahhumAieaLqVxyXG59XHJcblxyXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgVGFibGUge1xyXG4gIG5hbWU6IHN0cmluZywvL+ihqOWktOWQjeensFxyXG4gIGtleT86IHN0cmluZywvL+WunumZheaVsOaNruWtl+autVxyXG4gIGRlZmF1bHRWYWw/OiBhbnksXHJcbiAgc29ydEtleT86IHN0cmluZywvL+aYr+WQpuaOkuW6j1xyXG4gIHNvcnRhYmxlPzogYm9vbGVhbixcclxuICB0eXBlOiAndGV4dGNvbG9yJyB8ICdmaXhlZFRleHQnIHwgJ3RleHQnIHwgJ2xpbmsnIHwgJ2FjdGlvbicgfCAnaW1hZ2UnIHwgJ2RhdGUnIHwgJ2RhdGVUaW1lJyB8ICdzRGF0ZVRpbWUnIHwgJ2RpY3QnLC8v57G75Z6L77yaIOaWh+Wtl+OAgemTvuaOpeOAgeaTjeS9nFxyXG4gIGRpY3RDb2RlPzogc3RyaW5nLFxyXG4gIGlzU2hvdz86IGJvb2xlYW4sXHJcbiAgd2lkdGg/OiBzdHJpbmcsLy8xNTBweFxyXG4gIGFjdGlvbnM/OiBUYWJsZUFjdGlvbltdLFxyXG4gIGlzUm93U3Bhbj86IGJvb2xlYW4sXHJcbiAgaXNSaWdodD86IGJvb2xlYW5cclxuICBpc0xlZnQ/OiBib29sZWFuLFxyXG4gIGNvbG9yPzogY29sb3JPcGVyYXRvciwvL+minOiJslxyXG4gIGNvbG9yU2hvdz86IHN0cmluZyxcclxufVxyXG5cclxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIEF0clF1ZXJ5SGVhZGVyIHtcclxuICBuYW1lOiBzdHJpbmcsXHJcbiAgdHlwZTogJ2Nhc2NhZGVyJyB8ICd0ZXh0JyB8ICdudW1iZXInIHwgJ2NoZWNrYm94JyB8ICdzZWxlY3QnIHwgJ2RhdGVwaWNrZXInIHwgJ3NlbGVjdEN1cycgfCAnZGF0ZVJhbmdlJyB8ICdzZGF0ZScgfCAndHJlZVNlbGVjdCcsXHJcbiAga2V5OiBzdHJpbmcsXHJcbiAgaXNTaG93PzogYm9vbGVhbixcclxuICBjb2RlPzogc3RyaW5nLFxyXG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nLFxyXG4gIHNwYW4/OiBudW1iZXIsXHJcbiAgZGljdENvZGU/OiBzdHJpbmcsLy/lrZflhbjnvJbnoIFcclxuICBkaWN0TGlzdD86IEN1c0RpY3RbXSxcclxuICBkZWZhdWx0VmFsPzogYW55IC8vIOm7mOiupOWAvFxyXG4gIG1heFRhZ0NvdW50PzogbnVtYmVyLFxyXG4gIGxzcGFuPzogbnVtYmVyLFxyXG4gIGNzcGFuPzogbnVtYmVyLFxyXG4gIGRpc2FibGVDbGVhcj86IGJvb2xlYW4sXHJcbiAgdHJlZUxpc3Q/OiB7IGtleTogc3RyaW5nLCB0aXRsZTogc3RyaW5nIH1bXVxyXG4gIC8qKlxyXG4gICAqIOagvOW8j1xyXG4gICAqIGNvbnZlcnQ6J2tleXxpZCx0aXRsZXxyZWFsTmFtZScodHJlZVNlbGVjdClcclxuICAgKiAgICB2YWx1ZXxpZCxsYWJlbHxuYW1lKHNlbGVjdEN1cylcclxuICAgKi9cclxuICBzZWxlY3RVcmw/OiB7IHVybDogc3RyaW5nLCBjb252ZXJ0OiBzdHJpbmcsIGlzTXVsdGlwbGU/OiBib29sZWFuIH0sLy9jb252ZXJ0OiBuZXdLZXl8b2xkS2V5LG5ld0tleXxvbGRLZXko5o6l5Y+j6L+U5Zue55qE5YC8KVxyXG4gIGljb24/OiB7IGlzU2hvdzogYm9vbGVhbiwgY29kZTogc3RyaW5nLCBpY29uOiBhbnkgfSxcclxuICBkYXRlTW9kZT86ICd3ZWVrJyB8ICdtb250aCcgfCAneWVhcicsXHJcbn1cclxuXHJcbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUYWJsZUFjdGlvbiB7XHJcbiAgbmFtZTogc3RyaW5nLFxyXG4gIGNvZGU6IHN0cmluZyxcclxuICB1cmw/OiBzdHJpbmcsXHJcbiAgZ1R5cGU/OiAnbm9ybWFsJyB8ICd1cGxvYWQnLFxyXG4gIGRhdGE/OiBhbnksXHJcbiAgZGF0YXM/OiBhbnlbXSxcclxuICBpY29uPzogc3RyaW5nLFxyXG4gIG51bWJlck9mQ2hlY2tlZD86IG51bWJlcixcclxuICB0eXBlPzogJ3Jvd3MnIHwgJ3JvdycsXHJcbiAgb3BlcmF0b3I/OiBzdHJpbmcsLy/mmL7npLrmk43kvZznrKZcclxuICBidXR0b25UeXBlPzogJ3ByaW1hcnknIHwgJ2Rhc2hlZCcgfCAnZGFuZ2VyJyB8ICdkZWZhdWx0JyB8ICdsaW5rJyxcclxuICB2YWx1ZT86IGFueSxcclxuICB3aXRob3V0Um9sZT86IGJvb2xlYW4vL+S4jemcgOimgeadg+mZkOaOp+WItlxyXG59XHJcblxyXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgRm9ybUFjdGlvbiB7XHJcbiAgbmFtZTogc3RyaW5nLFxyXG4gIGNvZGU6IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgRGljdCB7XHJcbiAgaWQ6IHN0cmluZyxcclxuICB0eXBlTmFtZTogc3RyaW5nLFxyXG5cclxufVxyXG5cclxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIERpY3RHcm91cCB7XHJcbiAgZ3JvdXBDb2RlOiBzdHJpbmcsXHJcbiAgZGljdHM6IERpY3RbXVxyXG59XHJcblxyXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgQ3VzRGljdCB7XHJcbiAgbGFiZWw6IHN0cmluZyxcclxuICB2YWx1ZTogc3RyaW5nLFxyXG59XHJcblxyXG5leHBvcnQgZGVjbGFyZSBpbnRlcmZhY2UgSW1hZ2VPcHRzIHtcclxuICBsaW1pdD86IG51bWJlcixcclxuICB1cGxvYWREaXI6IHN0cmluZyxcclxuICByZW1vdmVBY3Rpb24/OiBzdHJpbmcsXHJcbiAgaW1hZ2VMaXN0PzogYW55W10sXHJcbiAga2V5Pzogc3RyaW5nLFxyXG4gIGxhYmU/OiBzdHJpbmcsXHJcbiAgZmlsZU5hbWU/OiBzdHJpbmcsXHJcbiAgdXBsb2FkVHlwZT86ICdkcmFnJyB8ICcnLFxyXG4gIG56RmlsZVR5cGU/OiBzdHJpbmdcclxufVxyXG5cclxuZXhwb3J0IGRlY2xhcmUgaW50ZXJmYWNlIGVxdWlwVGVzdERhdGEge1xyXG4gIGNvZGU6IHN0cmluZ1xyXG4gIGl0ZW1OYW1lOiBzdHJpbmdcclxuICB6aG91MTogbnVtYmVyXHJcbiAgemhvdTI6IG51bWJlclxyXG4gIHpob3UzOiBudW1iZXJcclxuICB6aG91NDogbnVtYmVyXHJcbiAgemhvdTU6IG51bWJlclxyXG4gIHpob3U2OiBudW1iZXJcclxuICBpc1dyb25nMT86IGJvb2xlYW5cclxuICBpc1dyb25nMj86IGJvb2xlYW5cclxuICBpc1dyb25nMz86IGJvb2xlYW5cclxuICBpc1dyb25nND86IGJvb2xlYW5cclxuICBpc1dyb25nNT86IGJvb2xlYW5cclxuICBpc1dyb25nNj86IGJvb2xlYW5cclxufVxyXG5cclxuXHJcbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBTZWxlY3RBY3Rpb24ge1xyXG4gIG5hbWU6IHN0cmluZyxcclxuICBjb2RlOiBcIm5nTW9kZWxDaGFuZ2VcIiB8ICduek9wZW5DaGFuZ2UnLFxyXG4gIGRhdGE/OiBhbnksXHJcbiAga2V5Pzogc3RyaW5nLFxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
import { atr_static_datas } from '../base/atr-common';
|
|
2
|
+
import { Validators } from "@angular/forms";
|
|
3
|
+
export class AtrToolsUtil {
|
|
4
|
+
static isNull(val) {
|
|
5
|
+
if (val || ['boolean', 'string', 'number'].some(v => typeof val == v)) {
|
|
6
|
+
return false;
|
|
7
|
+
}
|
|
8
|
+
return true;
|
|
9
|
+
}
|
|
10
|
+
static getControlsConfig(dataFrom, requiredRule) {
|
|
11
|
+
let controlsConfig = {};
|
|
12
|
+
for (const key in dataFrom) {
|
|
13
|
+
if (requiredRule.some(item => item == key)) {
|
|
14
|
+
controlsConfig[key] = [dataFrom[key], [Validators.required]];
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
controlsConfig[key] = [dataFrom[key]];
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return controlsConfig;
|
|
21
|
+
}
|
|
22
|
+
static httpSucces(res) {
|
|
23
|
+
return res.status == 200;
|
|
24
|
+
}
|
|
25
|
+
static diffInput(chng, action) {
|
|
26
|
+
if (chng === undefined)
|
|
27
|
+
return;
|
|
28
|
+
let cur = JSON.stringify(chng.currentValue);
|
|
29
|
+
let prev = JSON.stringify(chng.previousValue);
|
|
30
|
+
if (cur !== prev) {
|
|
31
|
+
action();
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
static diffInputs(chng, action) {
|
|
35
|
+
if (chng === undefined)
|
|
36
|
+
return;
|
|
37
|
+
if (chng.length == 0)
|
|
38
|
+
return;
|
|
39
|
+
for (let i = 0; i < chng.length; i++) {
|
|
40
|
+
let item = chng[i];
|
|
41
|
+
if (item === undefined)
|
|
42
|
+
continue;
|
|
43
|
+
let cur = JSON.stringify(item.currentValue);
|
|
44
|
+
let prev = JSON.stringify(item.previousValue);
|
|
45
|
+
if (cur !== prev) {
|
|
46
|
+
action();
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
static getYesterday(day) {
|
|
52
|
+
let time = day.getTime() - 1000 * 60 * 60 * 24;
|
|
53
|
+
day = new Date(time);
|
|
54
|
+
return day;
|
|
55
|
+
}
|
|
56
|
+
static getTomorrowday(day) {
|
|
57
|
+
let time = day.getTime() + 1000 * 60 * 60 * 24;
|
|
58
|
+
return new Date(time);
|
|
59
|
+
}
|
|
60
|
+
static getNextMonth(day) {
|
|
61
|
+
let ds = new Date(day).setMonth(day.getMonth() + 1);
|
|
62
|
+
return new Date(ds);
|
|
63
|
+
}
|
|
64
|
+
static fistDayOfMonth(day) {
|
|
65
|
+
return new Date(new Date(day).setDate(1));
|
|
66
|
+
}
|
|
67
|
+
static lastDayOfMonth(day) {
|
|
68
|
+
return new Date(AtrToolsUtil.getNextMonth(day).setDate(0));
|
|
69
|
+
}
|
|
70
|
+
static getHttpOptions() {
|
|
71
|
+
return { isCommonHttpHeader: true };
|
|
72
|
+
}
|
|
73
|
+
static resetFormValue(opt, json) {
|
|
74
|
+
for (let item of opt.items) {
|
|
75
|
+
item.value = "";
|
|
76
|
+
// console.log(item.value);
|
|
77
|
+
for (const key of Object.keys(json)) {
|
|
78
|
+
if (json.hasOwnProperty(key) && json[key] != null && json[key] != undefined && key == item.key) {
|
|
79
|
+
if (item.type == 'date')
|
|
80
|
+
item.value = new Date(json[key]);
|
|
81
|
+
else if (item.type == 'dateTime') {
|
|
82
|
+
item.value = new Date(json[key]);
|
|
83
|
+
}
|
|
84
|
+
else
|
|
85
|
+
item.value = json[key];
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
return opt;
|
|
90
|
+
}
|
|
91
|
+
static getFormatDate(date) {
|
|
92
|
+
let month = date.getMonth() + 1;
|
|
93
|
+
let strDate = date.getDate();
|
|
94
|
+
if (month <= 9) {
|
|
95
|
+
month = "0" + month;
|
|
96
|
+
}
|
|
97
|
+
if (strDate <= 9) {
|
|
98
|
+
strDate = "0" + strDate;
|
|
99
|
+
}
|
|
100
|
+
return date.getFullYear() + "-" + month + "-" + strDate;
|
|
101
|
+
// + " "
|
|
102
|
+
// + date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds();
|
|
103
|
+
}
|
|
104
|
+
static getFormatDateFull(date) {
|
|
105
|
+
let month = date.getMonth() + 1;
|
|
106
|
+
let strDate = date.getDate();
|
|
107
|
+
if (month <= 9) {
|
|
108
|
+
month = "0" + month;
|
|
109
|
+
}
|
|
110
|
+
if (strDate <= 9) {
|
|
111
|
+
strDate = "0" + strDate;
|
|
112
|
+
}
|
|
113
|
+
return date.getFullYear() + "-" + month + "-" + strDate + " " + (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ":" + (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()) + ":" + (date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds());
|
|
114
|
+
}
|
|
115
|
+
static getFormatDateWithoutS(date) {
|
|
116
|
+
let month = date.getMonth() + 1;
|
|
117
|
+
let strDate = date.getDate();
|
|
118
|
+
let hours = date.getHours();
|
|
119
|
+
let seconds = date.getMinutes();
|
|
120
|
+
if (month <= 9) {
|
|
121
|
+
month = "0" + month;
|
|
122
|
+
}
|
|
123
|
+
if (strDate <= 9) {
|
|
124
|
+
strDate = "0" + strDate;
|
|
125
|
+
}
|
|
126
|
+
if (hours <= 9) {
|
|
127
|
+
hours = "0" + hours;
|
|
128
|
+
}
|
|
129
|
+
if (seconds <= 9) {
|
|
130
|
+
seconds = "0" + seconds;
|
|
131
|
+
}
|
|
132
|
+
return date.getFullYear() + "-" + month + "-" + strDate + " " + hours + ":" + seconds;
|
|
133
|
+
}
|
|
134
|
+
static getOssUrl(url) {
|
|
135
|
+
if (!url) {
|
|
136
|
+
return "";
|
|
137
|
+
}
|
|
138
|
+
if (url.startsWith("http")) {
|
|
139
|
+
return url;
|
|
140
|
+
}
|
|
141
|
+
return this.ossPrefix + url;
|
|
142
|
+
}
|
|
143
|
+
static mul(...numbers) {
|
|
144
|
+
if (numbers.length < 2) {
|
|
145
|
+
return;
|
|
146
|
+
}
|
|
147
|
+
let m = this.getDigit(numbers);
|
|
148
|
+
let result = 1;
|
|
149
|
+
numbers.forEach((num) => {
|
|
150
|
+
let s = num.toString();
|
|
151
|
+
result *= Number(s.replace(".", ""));
|
|
152
|
+
});
|
|
153
|
+
return result / Math.pow(10, m);
|
|
154
|
+
}
|
|
155
|
+
static getDigit(...numbers) {
|
|
156
|
+
let m = 0;
|
|
157
|
+
numbers.forEach(num => {
|
|
158
|
+
let s = num.toString();
|
|
159
|
+
try {
|
|
160
|
+
m += s.split(".")[1].length;
|
|
161
|
+
}
|
|
162
|
+
catch (e) {
|
|
163
|
+
}
|
|
164
|
+
});
|
|
165
|
+
return m;
|
|
166
|
+
}
|
|
167
|
+
static downloadImg(data, fileName, endpoint) {
|
|
168
|
+
// // 下载类型 xls
|
|
169
|
+
// const contentType = 'image/jpeg';
|
|
170
|
+
// // const contentType = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';
|
|
171
|
+
// // 下载类型:csv
|
|
172
|
+
// const debug = {hello: "world"};
|
|
173
|
+
// const blob = new Blob([],{type : 'image/jpeg'});
|
|
174
|
+
// const url = window.URL.createObjectURL(blob);
|
|
175
|
+
//
|
|
176
|
+
// // 打开新窗口方式进行下载
|
|
177
|
+
// // window.open(url);
|
|
178
|
+
//
|
|
179
|
+
// // 以动态创建a标签进行下载
|
|
180
|
+
const a = document.createElement('a');
|
|
181
|
+
a.href = data;
|
|
182
|
+
// a.download = fileName;
|
|
183
|
+
a.download = fileName ? fileName : "" + endpoint;
|
|
184
|
+
a.click();
|
|
185
|
+
}
|
|
186
|
+
static downloadXls(url, params) {
|
|
187
|
+
console.log(params);
|
|
188
|
+
if (params) {
|
|
189
|
+
url += "?";
|
|
190
|
+
for (const key of Object.keys(params)) {
|
|
191
|
+
if (params[key]) {
|
|
192
|
+
url += key + "=" + params[key] + "&&";
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
console.log(url);
|
|
197
|
+
// window.open(url);
|
|
198
|
+
const a = document.createElement('a');
|
|
199
|
+
a.href = url;
|
|
200
|
+
// // a.download = fileName;
|
|
201
|
+
// a.download = "3321.xls";
|
|
202
|
+
a.click();
|
|
203
|
+
}
|
|
204
|
+
static pixelToNum(width) {
|
|
205
|
+
const re = /px/gi;
|
|
206
|
+
let widthStr = width.replace(re, "");
|
|
207
|
+
return Number(widthStr);
|
|
208
|
+
}
|
|
209
|
+
//全部不空为true
|
|
210
|
+
static notEmpty(...arr) {
|
|
211
|
+
return arr.every(item => !!item);
|
|
212
|
+
}
|
|
213
|
+
//包含空为true
|
|
214
|
+
static hasEmpty(...arr) {
|
|
215
|
+
return arr.some(item => !item);
|
|
216
|
+
}
|
|
217
|
+
static allEmpty(...arr) {
|
|
218
|
+
return arr.every(item => !item);
|
|
219
|
+
}
|
|
220
|
+
static encodeValue(params) {
|
|
221
|
+
Object.keys(params).forEach(key => params[key] = encodeURIComponent(params[key]));
|
|
222
|
+
return params;
|
|
223
|
+
}
|
|
224
|
+
static windowHeight() {
|
|
225
|
+
return document.documentElement.clientHeight;
|
|
226
|
+
}
|
|
227
|
+
static windowWidth() {
|
|
228
|
+
return document.documentElement.clientWidth;
|
|
229
|
+
}
|
|
230
|
+
static modaleStyle() {
|
|
231
|
+
return { 'maxHeight': AtrToolsUtil.windowHeight() - 200 + 'px', 'overflow-y': 'auto' };
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
AtrToolsUtil.ossPrefix = atr_static_datas.OSS_URL;
|
|
235
|
+
AtrToolsUtil.getOrgCode = function () {
|
|
236
|
+
// var orgCode = '';
|
|
237
|
+
// var hrefs = window.location.href.split('?')
|
|
238
|
+
// if (hrefs.length >= 2) {
|
|
239
|
+
// var paramStr = hrefs[1];
|
|
240
|
+
// //参数字符串里有没带 =?/#
|
|
241
|
+
// orgCode = paramStr.split('=')[0];
|
|
242
|
+
// orgCode = orgCode.split('?')[0];
|
|
243
|
+
// orgCode = orgCode.split('/')[0];
|
|
244
|
+
// orgCode = orgCode.split('#')[0];
|
|
245
|
+
// orgCode = orgCode.split('/')[0];
|
|
246
|
+
// }
|
|
247
|
+
return '';
|
|
248
|
+
};
|
|
249
|
+
AtrToolsUtil.getRandomFileName = function () {
|
|
250
|
+
const expect = 16;
|
|
251
|
+
let str = Math.random().toString(36).substring(2);
|
|
252
|
+
while (str.length < expect) {
|
|
253
|
+
str += Math.random().toString(36).substring(2);
|
|
254
|
+
}
|
|
255
|
+
return str.substring(0, expect);
|
|
256
|
+
};
|
|
257
|
+
AtrToolsUtil.getFileExt = function (fileName) {
|
|
258
|
+
var index = fileName.lastIndexOf(".");
|
|
259
|
+
var suffix = fileName.substr(index + 1);
|
|
260
|
+
return suffix;
|
|
261
|
+
};
|
|
262
|
+
AtrToolsUtil.allEqual = (...array) => array.every(item => item === array[0]);
|
|
263
|
+
/**
|
|
264
|
+
* array所有参数满足fn函数返回true
|
|
265
|
+
* all(x => x > 1,1,2,3); // true
|
|
266
|
+
* @param callback
|
|
267
|
+
* @param array
|
|
268
|
+
*/
|
|
269
|
+
AtrToolsUtil.satisfiedFn = (callback, ...array) => array.every(callback);
|
|
270
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXRyVG9vbHMudXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2NvcmUvdXRpbHMvQXRyVG9vbHMudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQW1CLGdCQUFnQixFQUFDLE1BQU0sb0JBQW9CLENBQUM7QUFJdEUsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRTFDLE1BQU0sT0FBTyxZQUFZO0lBaUJ2QixNQUFNLENBQUMsTUFBTSxDQUFDLEdBQU87UUFDbkIsSUFBRyxHQUFHLElBQUksQ0FBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsQ0FBQyxFQUFFO1lBQ2xFLE9BQU8sS0FBSyxDQUFBO1NBQ2I7UUFDRCxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7SUFDRCxNQUFNLENBQUMsaUJBQWlCLENBQUMsUUFBWSxFQUFFLFlBQXNCO1FBQzNELElBQUksY0FBYyxHQUFRLEVBQUUsQ0FBQTtRQUM1QixLQUFLLE1BQU0sR0FBRyxJQUFJLFFBQVEsRUFBRTtZQUMxQixJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLElBQUksR0FBRyxDQUFDLEVBQUU7Z0JBQzFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFBO2FBQzdEO2lCQUFNO2dCQUNMLGNBQWMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO2FBQ3RDO1NBQ0Y7UUFDRCxPQUFPLGNBQWMsQ0FBQztJQUN4QixDQUFDO0lBRUQsTUFBTSxDQUFDLFVBQVUs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QyxLQUFLLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtqc29uLCBBdHJGb3JtT3B0LCBhdHJfc3RhdGljX2RhdGFzfSBmcm9tICcuLi9iYXNlL2F0ci1jb21tb24nO1xyXG5pbXBvcnQge2Zvcm1hdERhdGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7SHR0cEhlYWRlcnN9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xyXG5pbXBvcnQge1NpbXBsZUNoYW5nZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7VmFsaWRhdG9yc30gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgQXRyVG9vbHNVdGlsIHtcclxuICBzdGF0aWMgb3NzUHJlZml4ID0gYXRyX3N0YXRpY19kYXRhcy5PU1NfVVJMO1xyXG4gIHN0YXRpYyBnZXRPcmdDb2RlID0gZnVuY3Rpb24gKCkge1xyXG4gICAgLy8gdmFyIG9yZ0NvZGUgPSAnJztcclxuICAgIC8vIHZhciBocmVmcyA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmLnNwbGl0KCc/JylcclxuICAgIC8vIGlmIChocmVmcy5sZW5ndGggPj0gMikge1xyXG4gICAgLy8gICB2YXIgcGFyYW1TdHIgPSBocmVmc1sxXTtcclxuICAgIC8vICAgLy/lj4LmlbDlrZfnrKbkuLLph4zmnInmsqHluKYgPT8vI1xyXG4gICAgLy8gICBvcmdDb2RlID0gcGFyYW1TdHIuc3BsaXQoJz0nKVswXTtcclxuICAgIC8vICAgb3JnQ29kZSA9IG9yZ0NvZGUuc3BsaXQoJz8nKVswXTtcclxuICAgIC8vICAgb3JnQ29kZSA9IG9yZ0NvZGUuc3BsaXQoJy8nKVswXTtcclxuICAgIC8vICAgb3JnQ29kZSA9IG9yZ0NvZGUuc3BsaXQoJyMnKVswXTtcclxuICAgIC8vICAgb3JnQ29kZSA9IG9yZ0NvZGUuc3BsaXQoJy8nKVswXTtcclxuICAgIC8vIH1cclxuXHJcbiAgICByZXR1cm4gJyc7XHJcbiAgfVxyXG4gIHN0YXRpYyBpc051bGwodmFsOmFueSl7XHJcbiAgICBpZih2YWwgfHwgWydib29sZWFuJywnc3RyaW5nJywnbnVtYmVyJ10uc29tZSh2ID0+IHR5cGVvZiB2YWwgPT0gdikgKXtcclxuICAgICAgcmV0dXJuIGZhbHNlXHJcbiAgICB9XHJcbiAgICByZXR1cm4gdHJ1ZVxyXG4gIH1cclxuICBzdGF0aWMgZ2V0Q29udHJvbHNDb25maWcoZGF0YUZyb206YW55LCByZXF1aXJlZFJ1bGU6IHN0cmluZ1tdKSB7XHJcbiAgICBsZXQgY29udHJvbHNDb25maWc6IGFueSA9IHt9XHJcbiAgICBmb3IgKGNvbnN0IGtleSBpbiBkYXRhRnJvbSkge1xyXG4gICAgICBpZiAocmVxdWlyZWRSdWxlLnNvbWUoaXRlbSA9PiBpdGVtID09IGtleSkpIHtcclxuICAgICAgICBjb250cm9sc0NvbmZpZ1trZXldID0gW2RhdGFGcm9tW2tleV0sIFtWYWxpZGF0b3JzLnJlcXVpcmVkXV1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBjb250cm9sc0NvbmZpZ1trZXldID0gW2RhdGFGcm9tW2tleV1dXHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBjb250cm9sc0NvbmZpZztcclxuICB9XHJcblxyXG4gIHN0YXRpYyBodHRwU3VjY2VzKHJlczphbnkpIHtcclxuICAgIHJldHVybiByZXMuc3RhdHVzID09IDIwMFxyXG4gIH1cclxuXHJcbiAgc3RhdGljIGRpZmZJbnB1dChjaG5nOiBTaW1wbGVDaGFuZ2UsIGFjdGlvbjogKCkgPT4gdm9pZCk6IHZvaWQge1xyXG4gICAgaWYgKGNobmcgPT09IHVuZGVmaW5lZCkgcmV0dXJuO1xyXG5cclxuICAgIGxldCBjdXIgPSBKU09OLnN0cmluZ2lmeShjaG5nLmN1cnJlbnRWYWx1ZSk7XHJcbiAgICBsZXQgcHJldiA9IEpTT04uc3RyaW5naWZ5KGNobmcucHJldmlvdXNWYWx1ZSk7XHJcbiAgICBpZiAoY3VyICE9PSBwcmV2KSB7XHJcbiAgICAgIGFjdGlvbigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhdGljIGRpZmZJbnB1dHMoY2huZzogU2ltcGxlQ2hhbmdlW10sIGFjdGlvbjogKCkgPT4gdm9pZCk6IHZvaWQge1xyXG4gICAgaWYgKGNobmcgPT09IHVuZGVmaW5lZCkgcmV0dXJuO1xyXG4gICAgaWYgKGNobmcubGVuZ3RoID09IDApIHJldHVybjtcclxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY2huZy5sZW5ndGg7IGkrKykge1xyXG4gICAgICBsZXQgaXRlbSA9IGNobmdbaV07XHJcbiAgICAgIGlmIChpdGVtID09PSB1bmRlZmluZWQpIGNvbnRpbnVlO1xyXG4gICAgICBsZXQgY3VyID0gSlNPTi5zdHJpbmdpZnkoaXRlbS5jdXJyZW50VmFsdWUpO1xyXG4gICAgICBsZXQgcHJldiA9IEpTT04uc3RyaW5naWZ5KGl0ZW0ucHJldmlvdXNWYWx1ZSk7XHJcbiAgICAgIGlmIChjdXIgIT09IHByZXYpIHtcclxuICAgICAgICBhY3Rpb24oKTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuXHJcblxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhdGljIGdldFllc3RlcmRheShkYXk6IERhdGUpOiBEYXRlIHtcclxuXHJcbiAgICBsZXQgdGltZSA9IGRheS5nZXRUaW1lKCkgLSAxMDAwICogNjAgKiA2MCAqIDI0O1xyXG4gICAgZGF5ID0gbmV3IERhdGUodGltZSk7XHJcblxyXG4gICAgcmV0dXJuIGRheTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBnZXRUb21vcnJvd2RheShkYXk6IERhdGUpOiBEYXRlIHtcclxuICAgIGxldCB0aW1lID0gZGF5LmdldFRpbWUoKSArIDEwMDAgKiA2MCAqIDYwICogMjQ7XHJcblxyXG4gICAgcmV0dXJuIG5ldyBEYXRlKHRpbWUpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGdldE5leHRNb250aChkYXk6IERhdGUpIHtcclxuICAgIGxldCBkcyA9IG5ldyBEYXRlKGRheSkuc2V0TW9udGgoZGF5LmdldE1vbnRoKCkgKyAxKTtcclxuICAgIHJldHVybiBuZXcgRGF0ZShkcyk7XHJcbiAgfVxyXG5cclxuXHJcbiAgc3RhdGljIGZpc3REYXlPZk1vbnRoKGRheTogRGF0ZSkge1xyXG4gICAgcmV0dXJuIG5ldyBEYXRlKG5ldyBEYXRlKGRheSkuc2V0RGF0ZSgxKSk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgbGFzdERheU9mTW9udGgoZGF5OiBEYXRlKSB7XHJcbiAgICByZXR1cm4gbmV3IERhdGUoQXRyVG9vbHNVdGlsLmdldE5leHRNb250aChkYXkpLnNldERhdGUoMCkpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGdldFJhbmRvbUZpbGVOYW1lID0gZnVuY3Rpb24gKCkge1xyXG4gICAgY29uc3QgZXhwZWN0ID0gMTY7XHJcbiAgICBsZXQgc3RyID0gTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyaW5nKDIpO1xyXG4gICAgd2hpbGUgKHN0ci5sZW5ndGggPCBleHBlY3QpIHtcclxuICAgICAgc3RyICs9IE1hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cmluZygyKTtcclxuICAgIH1cclxuICAgIHJldHVybiBzdHIuc3Vic3RyaW5nKDAsIGV4cGVjdCk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZ2V0RmlsZUV4dCA9IGZ1bmN0aW9uIChmaWxlTmFtZTpzdHJpbmcpIHtcclxuICAgIHZhciBpbmRleCA9IGZpbGVOYW1lLmxhc3RJbmRleE9mKFwiLlwiKTtcclxuICAgIHZhciBzdWZmaXggPSBmaWxlTmFtZS5zdWJzdHIoaW5kZXggKyAxKTtcclxuICAgIHJldHVybiBzdWZmaXg7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZ2V0SHR0cE9wdGlvbnMoKTogYW55IHtcclxuICAgIHJldHVybiB7aXNDb21tb25IdHRwSGVhZGVyOiB0cnVlfVxyXG4gIH1cclxuXHJcblxyXG4gIHN0YXRpYyByZXNldEZvcm1WYWx1ZShvcHQ6IEF0ckZvcm1PcHQsIGpzb246IGpzb24pOiBBdHJGb3JtT3B0IHtcclxuICAgIGZvciAobGV0IGl0ZW0gb2Ygb3B0Lml0ZW1zKSB7XHJcbiAgICAgIGl0ZW0udmFsdWUgPSBcIlwiO1xyXG4gICAgICAvLyBjb25zb2xlLmxvZyhpdGVtLnZhbHVlKTtcclxuICAgICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMoanNvbikpIHtcclxuICAgICAgICBpZiAoanNvbi5oYXNPd25Qcm9wZXJ0eShrZXkpICYmIGpzb25ba2V5XSAhPSBudWxsICYmIGpzb25ba2V5XSAhPSB1bmRlZmluZWQgJiYga2V5ID09IGl0ZW0ua2V5KSB7XHJcbiAgICAgICAgICBpZiAoaXRlbS50eXBlID09ICdkYXRlJylcclxuICAgICAgICAgICAgaXRlbS52YWx1ZSA9IG5ldyBEYXRlKGpzb25ba2V5XSk7XHJcbiAgICAgICAgICBlbHNlIGlmIChpdGVtLnR5cGUgPT0gJ2RhdGVUaW1lJykge1xyXG4gICAgICAgICAgICBpdGVtLnZhbHVlID0gbmV3IERhdGUoanNvbltrZXldKTtcclxuICAgICAgICAgIH0gZWxzZVxyXG4gICAgICAgICAgICBpdGVtLnZhbHVlID0ganNvbltrZXldXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gb3B0O1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGdldEZvcm1hdERhdGUoZGF0ZTogRGF0ZSk6IHN0cmluZyB7XHJcbiAgICBsZXQgbW9udGg6IHN0cmluZyB8IG51bWJlciA9IGRhdGUuZ2V0TW9udGgoKSArIDE7XHJcbiAgICBsZXQgc3RyRGF0ZTogc3RyaW5nIHwgbnVtYmVyID0gZGF0ZS5nZXREYXRlKCk7XHJcblxyXG4gICAgaWYgKG1vbnRoIDw9IDkpIHtcclxuICAgICAgbW9udGggPSBcIjBcIiArIG1vbnRoO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChzdHJEYXRlIDw9IDkpIHtcclxuICAgICAgc3RyRGF0ZSA9IFwiMFwiICsgc3RyRGF0ZTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZGF0ZS5nZXRGdWxsWWVhcigpICsgXCItXCIgKyBtb250aCArIFwiLVwiICsgc3RyRGF0ZVxyXG4gICAgLy8gKyBcIiBcIlxyXG4gICAgLy8gKyBkYXRlLmdldEhvdXJzKCkgKyBcIjpcIiArIGRhdGUuZ2V0TWludXRlcygpICsgXCI6XCIgKyBkYXRlLmdldFNlY29uZHMoKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBnZXRGb3JtYXREYXRlRnVsbChkYXRlOiBEYXRlKTogc3RyaW5nIHtcclxuICAgIGxldCBtb250aDogc3RyaW5nIHwgbnVtYmVyID0gZGF0ZS5nZXRNb250aCgpICsgMTtcclxuICAgIGxldCBzdHJEYXRlOiBzdHJpbmcgfCBudW1iZXIgPSBkYXRlLmdldERhdGUoKTtcclxuXHJcbiAgICBpZiAobW9udGggPD0gOSkge1xyXG4gICAgICBtb250aCA9IFwiMFwiICsgbW9udGg7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHN0ckRhdGUgPD0gOSkge1xyXG4gICAgICBzdHJEYXRlID0gXCIwXCIgKyBzdHJEYXRlO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBkYXRlLmdldEZ1bGxZZWFyKCkgKyBcIi1cIiArIG1vbnRoICsgXCItXCIgKyBzdHJEYXRlICsgXCIgXCIgKyAoZGF0ZS5nZXRIb3VycygpIDwgMTAgPyAnMCcgKyBkYXRlLmdldEhvdXJzKCkgOiBkYXRlLmdldEhvdXJzKCkpICsgXCI6XCIgKyAoZGF0ZS5nZXRNaW51dGVzKCkgPCAxMCA/ICcwJyArIGRhdGUuZ2V0TWludXRlcygpIDogZGF0ZS5nZXRNaW51dGVzKCkpICsgXCI6XCIgKyAoZGF0ZS5nZXRTZWNvbmRzKCkgPCAxMCA/ICcwJyArIGRhdGUuZ2V0U2Vjb25kcygpIDogZGF0ZS5nZXRTZWNvbmRzKCkpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGdldEZvcm1hdERhdGVXaXRob3V0UyhkYXRlOiBEYXRlKTogc3RyaW5nIHtcclxuICAgIGxldCBtb250aDogc3RyaW5nIHwgbnVtYmVyID0gZGF0ZS5nZXRNb250aCgpICsgMTtcclxuICAgIGxldCBzdHJEYXRlOiBzdHJpbmcgfCBudW1iZXIgPSBkYXRlLmdldERhdGUoKTtcclxuICAgIGxldCBob3Vyczogc3RyaW5nIHwgbnVtYmVyID0gZGF0ZS5nZXRIb3VycygpO1xyXG4gICAgbGV0IHNlY29uZHM6IHN0cmluZyB8IG51bWJlciA9IGRhdGUuZ2V0TWludXRlcygpO1xyXG4gICAgaWYgKG1vbnRoIDw9IDkpIHtcclxuICAgICAgbW9udGggPSBcIjBcIiArIG1vbnRoO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChzdHJEYXRlIDw9IDkpIHtcclxuICAgICAgc3RyRGF0ZSA9IFwiMFwiICsgc3RyRGF0ZTtcclxuICAgIH1cclxuICAgIGlmIChob3VycyA8PSA5KSB7XHJcbiAgICAgIGhvdXJzID0gXCIwXCIgKyBob3VycztcclxuICAgIH1cclxuICAgIGlmIChzZWNvbmRzIDw9IDkpIHtcclxuICAgICAgc2Vjb25kcyA9IFwiMFwiICsgc2Vjb25kcztcclxuICAgIH1cclxuICAgIHJldHVybiBkYXRlLmdldEZ1bGxZZWFyKCkgKyBcIi1cIiArIG1vbnRoICsgXCItXCIgKyBzdHJEYXRlICsgXCIgXCIgKyBob3VycyArIFwiOlwiICsgc2Vjb25kcztcclxuICB9XHJcblxyXG4gIHN0YXRpYyBnZXRPc3NVcmwodXJsOiBzdHJpbmcpIHtcclxuICAgIGlmICghdXJsKSB7XHJcbiAgICAgIHJldHVybiBcIlwiO1xyXG4gICAgfVxyXG4gICAgaWYgKHVybC5zdGFydHNXaXRoKFwiaHR0cFwiKSkge1xyXG4gICAgICByZXR1cm4gdXJsXHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5vc3NQcmVmaXggKyB1cmw7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgbXVsKC4uLm51bWJlcnM6YW55KSB7XHJcbiAgICBpZiAobnVtYmVycy5sZW5ndGggPCAyKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGxldCBtID0gdGhpcy5nZXREaWdpdChudW1iZXJzKTtcclxuICAgIGxldCByZXN1bHQgPSAxO1xyXG4gICAgbnVtYmVycy5mb3JFYWNoKFxyXG4gICAgICAobnVtOmFueSkgPT4ge1xyXG4gICAgICAgIGxldCBzID0gbnVtLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgcmVzdWx0ICo9IE51bWJlcihzLnJlcGxhY2UoXCIuXCIsIFwiXCIpKTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuICAgIHJldHVybiByZXN1bHQgLyBNYXRoLnBvdygxMCwgbSk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZ2V0RGlnaXQoLi4ubnVtYmVyczphbnlbXSkge1xyXG4gICAgbGV0IG0gPSAwO1xyXG4gICAgbnVtYmVycy5mb3JFYWNoKFxyXG4gICAgICBudW0gPT4ge1xyXG4gICAgICAgIGxldCBzID0gbnVtLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgdHJ5IHtcclxuICAgICAgICAgIG0gKz0gcy5zcGxpdChcIi5cIilbMV0ubGVuZ3RoXHJcbiAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgKTtcclxuICAgIHJldHVybiBtO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGRvd25sb2FkSW1nKGRhdGE6YW55LCBmaWxlTmFtZT86IHN0cmluZywgZW5kcG9pbnQ/OiBzdHJpbmcpIHtcclxuICAgIC8vIC8vIOS4i+i9veexu+WeiyB4bHNcclxuICAgIC8vIGNvbnN0IGNvbnRlbnRUeXBlID0gJ2ltYWdlL2pwZWcnO1xyXG4gICAgLy8gLy8gY29uc3QgY29udGVudFR5cGUgPSAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQnO1xyXG4gICAgLy8gLy8g5LiL6L2957G75Z6L77yaY3N2XHJcbiAgICAvLyBjb25zdCBkZWJ1ZyA9IHtoZWxsbzogXCJ3b3JsZFwifTtcclxuICAgIC8vIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbXSx7dHlwZSA6ICdpbWFnZS9qcGVnJ30pO1xyXG4gICAgLy8gY29uc3QgdXJsID0gd2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7XHJcbiAgICAvL1xyXG4gICAgLy8gLy8g5omT5byA5paw56qX5Y+j5pa55byP6L+b6KGM5LiL6L29XHJcbiAgICAvLyAvLyB3aW5kb3cub3Blbih1cmwpO1xyXG4gICAgLy9cclxuICAgIC8vIC8vIOS7peWKqOaAgeWIm+W7umHmoIfnrb7ov5vooYzkuIvovb1cclxuICAgIGNvbnN0IGEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XHJcbiAgICBhLmhyZWYgPSBkYXRhO1xyXG4gICAgLy8gYS5kb3dubG9hZCA9IGZpbGVOYW1lO1xyXG4gICAgYS5kb3dubG9hZCA9IGZpbGVOYW1lP2ZpbGVOYW1lOlwiXCIgKyBlbmRwb2ludDtcclxuICAgIGEuY2xpY2soKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBkb3dubG9hZFhscyh1cmw6c3RyaW5nLCBwYXJhbXM/OiBhbnksKSB7XHJcbiAgICBjb25zb2xlLmxvZyhwYXJhbXMpO1xyXG4gICAgaWYgKHBhcmFtcykge1xyXG4gICAgICB1cmwgKz0gXCI/XCI7XHJcbiAgICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKHBhcmFtcykpIHtcclxuICAgICAgICBpZiAocGFyYW1zW2tleV0pIHtcclxuICAgICAgICAgIHVybCArPSBrZXkgKyBcIj1cIiArIHBhcmFtc1trZXldICsgXCImJlwiXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBjb25zb2xlLmxvZyh1cmwpO1xyXG4gICAgLy8gd2luZG93Lm9wZW4odXJsKTtcclxuICAgIGNvbnN0IGEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XHJcbiAgICBhLmhyZWYgPSB1cmw7XHJcbiAgICAvLyAvLyBhLmRvd25sb2FkID0gZmlsZU5hbWU7XHJcbiAgICAvLyBhLmRvd25sb2FkID0gXCIzMzIxLnhsc1wiO1xyXG4gICAgYS5jbGljaygpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIHBpeGVsVG9OdW0od2lkdGg6YW55KSB7XHJcbiAgICBjb25zdCByZSA9IC9weC9naTtcclxuICAgIGxldCB3aWR0aFN0ciA9IHdpZHRoLnJlcGxhY2UocmUsIFwiXCIpO1xyXG4gICAgcmV0dXJuIE51bWJlcih3aWR0aFN0cik7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgYWxsRXF1YWwgPSAoLi4uYXJyYXk6YW55W10pID0+IGFycmF5LmV2ZXJ5KGl0ZW0gPT4gaXRlbSA9PT0gYXJyYXlbMF0pO1xyXG5cclxuICAvKipcclxuICAgKiBhcnJheeaJgOacieWPguaVsOa7oei2s2Zu5Ye95pWw6L+U5ZuedHJ1ZVxyXG4gICAqIGFsbCh4ID0+IHggPiAxLDEsMiwzKTsgLy8gdHJ1ZVxyXG4gICAqIEBwYXJhbSBjYWxsYmFja1xyXG4gICAqIEBwYXJhbSBhcnJheVxyXG4gICAqL1xyXG4gIHN0YXRpYyBzYXRpc2ZpZWRGbiA9IChjYWxsYmFjazogKC4uLmFyZ3M6IGFueVtdKSA9PiBib29sZWFuLCAuLi5hcnJheTphbnlbXSkgPT4gYXJyYXkuZXZlcnkoY2FsbGJhY2spO1xyXG5cclxuICAvL+WFqOmDqOS4jeepuuS4unRydWVcclxuICBzdGF0aWMgbm90RW1wdHkoLi4uYXJyOmFueVtdKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gYXJyLmV2ZXJ5KGl0ZW0gPT4gISFpdGVtKVxyXG4gIH1cclxuXHJcbiAgLy/ljIXlkKvnqbrkuLp0cnVlXHJcbiAgc3RhdGljIGhhc0VtcHR5KC4uLmFycjphbnlbXSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIGFyci5zb21lKGl0ZW0gPT4gIWl0ZW0pO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIGFsbEVtcHR5KC4uLmFycjphbnlbXSkge1xyXG4gICAgcmV0dXJuIGFyci5ldmVyeShpdGVtID0+ICFpdGVtKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBlbmNvZGVWYWx1ZShwYXJhbXM6YW55KSB7XHJcbiAgICBPYmplY3Qua2V5cyhwYXJhbXMpLmZvckVhY2goa2V5ID0+IHBhcmFtc1trZXldID0gZW5jb2RlVVJJQ29tcG9uZW50KHBhcmFtc1trZXldKSk7XHJcbiAgICByZXR1cm4gcGFyYW1zO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIHdpbmRvd0hlaWdodCgpIHtcclxuICAgICAgcmV0dXJuIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQ7XHJcbiAgfVxyXG4gIHN0YXRpYyB3aW5kb3dXaWR0aCgpIHtcclxuXHJcbiAgICAgIHJldHVybiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGg7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgbW9kYWxlU3R5bGUoKSB7XHJcbiAgICByZXR1cm4geydtYXhIZWlnaHQnOiBBdHJUb29sc1V0aWwud2luZG93SGVpZ2h0KCkgLSAyMDAgKyAncHgnLCAnb3ZlcmZsb3cteSc6ICdhdXRvJ307XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
package/esm2020/public-api.mjs
CHANGED
|
@@ -4,5 +4,6 @@
|
|
|
4
4
|
export * from './atr-components.module';
|
|
5
5
|
export * from './lib/hello/hello.module';
|
|
6
6
|
export * from './core/base/atr-common';
|
|
7
|
+
export { AtrToolsUtil } from "./core/utils/AtrTools.util";
|
|
7
8
|
export { HelloComponent } from './lib/hello/hello.component';
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsMEJBQTBCLENBQUM7QUFDekMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sNEJBQTRCLENBQUE7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBjb21wb25lbnRzXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9hdHItY29tcG9uZW50cy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvaGVsbG8vaGVsbG8ubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vY29yZS9iYXNlL2F0ci1jb21tb24nO1xuZXhwb3J0IHtBdHJUb29sc1V0aWx9IGZyb20gXCIuL2NvcmUvdXRpbHMvQXRyVG9vbHMudXRpbFwiXG5leHBvcnQgeyBIZWxsb0NvbXBvbmVudCB9IGZyb20gJy4vbGliL2hlbGxvL2hlbGxvLmNvbXBvbmVudCc7XG5cbiJdfQ==
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { NgModule, Component } from '@angular/core';
|
|
3
3
|
import { CommonModule } from '@angular/common';
|
|
4
|
+
import { Validators } from '@angular/forms';
|
|
4
5
|
|
|
5
6
|
const COMMON_COMPONENT = [];
|
|
6
7
|
class AtrComponentsModule {
|
|
@@ -22,7 +23,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
22
23
|
}] });
|
|
23
24
|
|
|
24
25
|
const atr_static_datas = {
|
|
25
|
-
test: '1'
|
|
26
|
+
test: '1',
|
|
27
|
+
OSS_URL: '',
|
|
26
28
|
};
|
|
27
29
|
var UserAction;
|
|
28
30
|
(function (UserAction) {
|
|
@@ -65,6 +67,274 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
65
67
|
}]
|
|
66
68
|
}] });
|
|
67
69
|
|
|
70
|
+
class AtrToolsUtil {
|
|
71
|
+
static isNull(val) {
|
|
72
|
+
if (val || ['boolean', 'string', 'number'].some(v => typeof val == v)) {
|
|
73
|
+
return false;
|
|
74
|
+
}
|
|
75
|
+
return true;
|
|
76
|
+
}
|
|
77
|
+
static getControlsConfig(dataFrom, requiredRule) {
|
|
78
|
+
let controlsConfig = {};
|
|
79
|
+
for (const key in dataFrom) {
|
|
80
|
+
if (requiredRule.some(item => item == key)) {
|
|
81
|
+
controlsConfig[key] = [dataFrom[key], [Validators.required]];
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
controlsConfig[key] = [dataFrom[key]];
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
return controlsConfig;
|
|
88
|
+
}
|
|
89
|
+
static httpSucces(res) {
|
|
90
|
+
return res.status == 200;
|
|
91
|
+
}
|
|
92
|
+
static diffInput(chng, action) {
|
|
93
|
+
if (chng === undefined)
|
|
94
|
+
return;
|
|
95
|
+
let cur = JSON.stringify(chng.currentValue);
|
|
96
|
+
let prev = JSON.stringify(chng.previousValue);
|
|
97
|
+
if (cur !== prev) {
|
|
98
|
+
action();
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
static diffInputs(chng, action) {
|
|
102
|
+
if (chng === undefined)
|
|
103
|
+
return;
|
|
104
|
+
if (chng.length == 0)
|
|
105
|
+
return;
|
|
106
|
+
for (let i = 0; i < chng.length; i++) {
|
|
107
|
+
let item = chng[i];
|
|
108
|
+
if (item === undefined)
|
|
109
|
+
continue;
|
|
110
|
+
let cur = JSON.stringify(item.currentValue);
|
|
111
|
+
let prev = JSON.stringify(item.previousValue);
|
|
112
|
+
if (cur !== prev) {
|
|
113
|
+
action();
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
static getYesterday(day) {
|
|
119
|
+
let time = day.getTime() - 1000 * 60 * 60 * 24;
|
|
120
|
+
day = new Date(time);
|
|
121
|
+
return day;
|
|
122
|
+
}
|
|
123
|
+
static getTomorrowday(day) {
|
|
124
|
+
let time = day.getTime() + 1000 * 60 * 60 * 24;
|
|
125
|
+
return new Date(time);
|
|
126
|
+
}
|
|
127
|
+
static getNextMonth(day) {
|
|
128
|
+
let ds = new Date(day).setMonth(day.getMonth() + 1);
|
|
129
|
+
return new Date(ds);
|
|
130
|
+
}
|
|
131
|
+
static fistDayOfMonth(day) {
|
|
132
|
+
return new Date(new Date(day).setDate(1));
|
|
133
|
+
}
|
|
134
|
+
static lastDayOfMonth(day) {
|
|
135
|
+
return new Date(AtrToolsUtil.getNextMonth(day).setDate(0));
|
|
136
|
+
}
|
|
137
|
+
static getHttpOptions() {
|
|
138
|
+
return { isCommonHttpHeader: true };
|
|
139
|
+
}
|
|
140
|
+
static resetFormValue(opt, json) {
|
|
141
|
+
for (let item of opt.items) {
|
|
142
|
+
item.value = "";
|
|
143
|
+
// console.log(item.value);
|
|
144
|
+
for (const key of Object.keys(json)) {
|
|
145
|
+
if (json.hasOwnProperty(key) && json[key] != null && json[key] != undefined && key == item.key) {
|
|
146
|
+
if (item.type == 'date')
|
|
147
|
+
item.value = new Date(json[key]);
|
|
148
|
+
else if (item.type == 'dateTime') {
|
|
149
|
+
item.value = new Date(json[key]);
|
|
150
|
+
}
|
|
151
|
+
else
|
|
152
|
+
item.value = json[key];
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
return opt;
|
|
157
|
+
}
|
|
158
|
+
static getFormatDate(date) {
|
|
159
|
+
let month = date.getMonth() + 1;
|
|
160
|
+
let strDate = date.getDate();
|
|
161
|
+
if (month <= 9) {
|
|
162
|
+
month = "0" + month;
|
|
163
|
+
}
|
|
164
|
+
if (strDate <= 9) {
|
|
165
|
+
strDate = "0" + strDate;
|
|
166
|
+
}
|
|
167
|
+
return date.getFullYear() + "-" + month + "-" + strDate;
|
|
168
|
+
// + " "
|
|
169
|
+
// + date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds();
|
|
170
|
+
}
|
|
171
|
+
static getFormatDateFull(date) {
|
|
172
|
+
let month = date.getMonth() + 1;
|
|
173
|
+
let strDate = date.getDate();
|
|
174
|
+
if (month <= 9) {
|
|
175
|
+
month = "0" + month;
|
|
176
|
+
}
|
|
177
|
+
if (strDate <= 9) {
|
|
178
|
+
strDate = "0" + strDate;
|
|
179
|
+
}
|
|
180
|
+
return date.getFullYear() + "-" + month + "-" + strDate + " " + (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ":" + (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()) + ":" + (date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds());
|
|
181
|
+
}
|
|
182
|
+
static getFormatDateWithoutS(date) {
|
|
183
|
+
let month = date.getMonth() + 1;
|
|
184
|
+
let strDate = date.getDate();
|
|
185
|
+
let hours = date.getHours();
|
|
186
|
+
let seconds = date.getMinutes();
|
|
187
|
+
if (month <= 9) {
|
|
188
|
+
month = "0" + month;
|
|
189
|
+
}
|
|
190
|
+
if (strDate <= 9) {
|
|
191
|
+
strDate = "0" + strDate;
|
|
192
|
+
}
|
|
193
|
+
if (hours <= 9) {
|
|
194
|
+
hours = "0" + hours;
|
|
195
|
+
}
|
|
196
|
+
if (seconds <= 9) {
|
|
197
|
+
seconds = "0" + seconds;
|
|
198
|
+
}
|
|
199
|
+
return date.getFullYear() + "-" + month + "-" + strDate + " " + hours + ":" + seconds;
|
|
200
|
+
}
|
|
201
|
+
static getOssUrl(url) {
|
|
202
|
+
if (!url) {
|
|
203
|
+
return "";
|
|
204
|
+
}
|
|
205
|
+
if (url.startsWith("http")) {
|
|
206
|
+
return url;
|
|
207
|
+
}
|
|
208
|
+
return this.ossPrefix + url;
|
|
209
|
+
}
|
|
210
|
+
static mul(...numbers) {
|
|
211
|
+
if (numbers.length < 2) {
|
|
212
|
+
return;
|
|
213
|
+
}
|
|
214
|
+
let m = this.getDigit(numbers);
|
|
215
|
+
let result = 1;
|
|
216
|
+
numbers.forEach((num) => {
|
|
217
|
+
let s = num.toString();
|
|
218
|
+
result *= Number(s.replace(".", ""));
|
|
219
|
+
});
|
|
220
|
+
return result / Math.pow(10, m);
|
|
221
|
+
}
|
|
222
|
+
static getDigit(...numbers) {
|
|
223
|
+
let m = 0;
|
|
224
|
+
numbers.forEach(num => {
|
|
225
|
+
let s = num.toString();
|
|
226
|
+
try {
|
|
227
|
+
m += s.split(".")[1].length;
|
|
228
|
+
}
|
|
229
|
+
catch (e) {
|
|
230
|
+
}
|
|
231
|
+
});
|
|
232
|
+
return m;
|
|
233
|
+
}
|
|
234
|
+
static downloadImg(data, fileName, endpoint) {
|
|
235
|
+
// // 下载类型 xls
|
|
236
|
+
// const contentType = 'image/jpeg';
|
|
237
|
+
// // const contentType = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';
|
|
238
|
+
// // 下载类型:csv
|
|
239
|
+
// const debug = {hello: "world"};
|
|
240
|
+
// const blob = new Blob([],{type : 'image/jpeg'});
|
|
241
|
+
// const url = window.URL.createObjectURL(blob);
|
|
242
|
+
//
|
|
243
|
+
// // 打开新窗口方式进行下载
|
|
244
|
+
// // window.open(url);
|
|
245
|
+
//
|
|
246
|
+
// // 以动态创建a标签进行下载
|
|
247
|
+
const a = document.createElement('a');
|
|
248
|
+
a.href = data;
|
|
249
|
+
// a.download = fileName;
|
|
250
|
+
a.download = fileName ? fileName : "" + endpoint;
|
|
251
|
+
a.click();
|
|
252
|
+
}
|
|
253
|
+
static downloadXls(url, params) {
|
|
254
|
+
console.log(params);
|
|
255
|
+
if (params) {
|
|
256
|
+
url += "?";
|
|
257
|
+
for (const key of Object.keys(params)) {
|
|
258
|
+
if (params[key]) {
|
|
259
|
+
url += key + "=" + params[key] + "&&";
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
console.log(url);
|
|
264
|
+
// window.open(url);
|
|
265
|
+
const a = document.createElement('a');
|
|
266
|
+
a.href = url;
|
|
267
|
+
// // a.download = fileName;
|
|
268
|
+
// a.download = "3321.xls";
|
|
269
|
+
a.click();
|
|
270
|
+
}
|
|
271
|
+
static pixelToNum(width) {
|
|
272
|
+
const re = /px/gi;
|
|
273
|
+
let widthStr = width.replace(re, "");
|
|
274
|
+
return Number(widthStr);
|
|
275
|
+
}
|
|
276
|
+
//全部不空为true
|
|
277
|
+
static notEmpty(...arr) {
|
|
278
|
+
return arr.every(item => !!item);
|
|
279
|
+
}
|
|
280
|
+
//包含空为true
|
|
281
|
+
static hasEmpty(...arr) {
|
|
282
|
+
return arr.some(item => !item);
|
|
283
|
+
}
|
|
284
|
+
static allEmpty(...arr) {
|
|
285
|
+
return arr.every(item => !item);
|
|
286
|
+
}
|
|
287
|
+
static encodeValue(params) {
|
|
288
|
+
Object.keys(params).forEach(key => params[key] = encodeURIComponent(params[key]));
|
|
289
|
+
return params;
|
|
290
|
+
}
|
|
291
|
+
static windowHeight() {
|
|
292
|
+
return document.documentElement.clientHeight;
|
|
293
|
+
}
|
|
294
|
+
static windowWidth() {
|
|
295
|
+
return document.documentElement.clientWidth;
|
|
296
|
+
}
|
|
297
|
+
static modaleStyle() {
|
|
298
|
+
return { 'maxHeight': AtrToolsUtil.windowHeight() - 200 + 'px', 'overflow-y': 'auto' };
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
AtrToolsUtil.ossPrefix = atr_static_datas.OSS_URL;
|
|
302
|
+
AtrToolsUtil.getOrgCode = function () {
|
|
303
|
+
// var orgCode = '';
|
|
304
|
+
// var hrefs = window.location.href.split('?')
|
|
305
|
+
// if (hrefs.length >= 2) {
|
|
306
|
+
// var paramStr = hrefs[1];
|
|
307
|
+
// //参数字符串里有没带 =?/#
|
|
308
|
+
// orgCode = paramStr.split('=')[0];
|
|
309
|
+
// orgCode = orgCode.split('?')[0];
|
|
310
|
+
// orgCode = orgCode.split('/')[0];
|
|
311
|
+
// orgCode = orgCode.split('#')[0];
|
|
312
|
+
// orgCode = orgCode.split('/')[0];
|
|
313
|
+
// }
|
|
314
|
+
return '';
|
|
315
|
+
};
|
|
316
|
+
AtrToolsUtil.getRandomFileName = function () {
|
|
317
|
+
const expect = 16;
|
|
318
|
+
let str = Math.random().toString(36).substring(2);
|
|
319
|
+
while (str.length < expect) {
|
|
320
|
+
str += Math.random().toString(36).substring(2);
|
|
321
|
+
}
|
|
322
|
+
return str.substring(0, expect);
|
|
323
|
+
};
|
|
324
|
+
AtrToolsUtil.getFileExt = function (fileName) {
|
|
325
|
+
var index = fileName.lastIndexOf(".");
|
|
326
|
+
var suffix = fileName.substr(index + 1);
|
|
327
|
+
return suffix;
|
|
328
|
+
};
|
|
329
|
+
AtrToolsUtil.allEqual = (...array) => array.every(item => item === array[0]);
|
|
330
|
+
/**
|
|
331
|
+
* array所有参数满足fn函数返回true
|
|
332
|
+
* all(x => x > 1,1,2,3); // true
|
|
333
|
+
* @param callback
|
|
334
|
+
* @param array
|
|
335
|
+
*/
|
|
336
|
+
AtrToolsUtil.satisfiedFn = (callback, ...array) => array.every(callback);
|
|
337
|
+
|
|
68
338
|
/*
|
|
69
339
|
* Public API Surface of components
|
|
70
340
|
*/
|
|
@@ -73,5 +343,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
73
343
|
* Generated bundle index. Do not edit.
|
|
74
344
|
*/
|
|
75
345
|
|
|
76
|
-
export { AtrComponentsModule, HelloComponent, HelloModule, UserAction, atr_static_datas };
|
|
346
|
+
export { AtrComponentsModule, AtrToolsUtil, HelloComponent, HelloModule, UserAction, atr_static_datas };
|
|
77
347
|
//# sourceMappingURL=atr-components.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"atr-components.mjs","sources":["../../../projects/components/src/atr-components.module.ts","../../../projects/components/src/core/base/atr-common.ts","../../../projects/components/src/lib/hello/hello.component.ts","../../../projects/components/src/lib/hello/hello.component.html","../../../projects/components/src/lib/hello/hello.module.ts","../../../projects/components/src/public-api.ts","../../../projects/components/src/atr-components.ts"],"sourcesContent":["import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\n\n\nconst COMMON_COMPONENT: any[] = []\n\n@NgModule({\n declarations:[...COMMON_COMPONENT],\n imports: [\n CommonModule\n ],\n exports: COMMON_COMPONENT\n\n})\nexport class AtrComponentsModule {\n}\n","export const atr_static_datas = {\r\n test: '1'\r\n};\r\n\r\nexport declare interface json extends Object {\r\n [key: string]: any\r\n}\r\n\r\nexport declare interface ServerPaginationStandard {\r\n currentPage: number;\r\n showCount: number;\r\n totalResult: number;\r\n totalPage?: number;\r\n}\r\n\r\nexport declare interface HttpResponseDataStandard {\r\n state: number; // 为1才是成功\r\n data: json | [{}] | object | string | any; //没有值 data: ''\r\n mess: string; //返回的消息\r\n page?: ServerPaginationStandard;\r\n}\r\n\r\n\r\nexport declare interface HttpRseponseTransformCell {\r\n [key: string]: json\r\n}\r\n\r\nexport declare interface HttpOptions {\r\n headers?: {},\r\n isJsonEncode?: boolean\r\n isUrlEncode?: boolean\r\n isAutoShowMessage?: boolean\r\n isWithCredentials?: boolean\r\n isCommonHttpHeader?: boolean\r\n}\r\n\r\nexport enum UserAction {\r\n ADD,\r\n EDIT,\r\n DEL,\r\n QUERY,\r\n SUPPERADD\r\n}\r\n\r\nexport declare interface AtrFormOpt {\r\n type: 'add' | 'edit' | 'view',\r\n layout?: \"full\" | '1l2c' | '1l1c',\r\n items: AtrFormDetail[],//表单项目\r\n}\r\n\r\nexport declare interface AtrFormDetail {\r\n label: string,\r\n type: 'cascader' | 'radio' | 'text' | 'image' | 'select' | 'date' | 'number' | 'telphone' | 'password' | 'checkbox' | 'editor' | 'textarea' | 'dateTime' | 'title' | 'dateRange' | 'selectc',\r\n key: string,\r\n isHidden?: boolean,\r\n defaultValue?: any,\r\n value?: any,//编辑下原始数值\r\n dictCode?: string,//select 模式下配置\r\n span?: number,//显示宽度\r\n validators?: AtrFormValid[],//验证条件\r\n isRequired?: boolean | string,//隐性条件 无需填写, string类型格式同operator\r\n placeholder?: string,\r\n imageOpts?: ImageOpts,\r\n editContent?: string,\r\n height?: number,//editor有效\r\n disable?: boolean,\r\n lspan?: number,\r\n cspan?: number,\r\n rows?: number,//textarea 显示行数\r\n operator?: string,//显示操作符 格式 如:status|eq|0\r\n button?: formButton,\r\n readonly?: boolean,\r\n dateFormat?: string,\r\n dictList?: CusDict[],\r\n selectUrl?: { url: string, convert?: string, type?: 'get' | 'post', host?: 'oss' | 'serve', isMultiple?: boolean },\r\n treeList?: { key: string, title: string }[],\r\n ends?: string,\r\n proposal?: string,\r\n temp?: any,\r\n notNull?: boolean\r\n\r\n}\r\n\r\nexport declare interface AtrFormValid {\r\n type: 'required' | 'email' | 'telphone' | 'maxlength' | 'minlength' | 'pattern' | 'operator',\r\n errorLabel: string,\r\n maxlength?: number,\r\n minlength?: number,\r\n patternValue?: string\r\n}\r\n\r\nexport declare interface formButton {\r\n name: string,\r\n isShow: boolean,\r\n code: string\r\n}\r\n\r\nexport declare interface colorOperator {\r\n color: string,\r\n operator: string,//规则\r\n}\r\n\r\nexport declare interface AtrQueyrOpt {\r\n actions?: TableAction[],\r\n isIndex?: boolean,//是否显示序号,\r\n color?: colorOperator,//颜色\r\n checkBox?: {\r\n isShowCheckbox?: boolean,\r\n isRadio?: boolean,\r\n isForbid?: boolean,//true时只允许点击多选框选择\r\n },\r\n // isShowCheckbox?: boolean,\r\n showNum?: number,\r\n url: string,\r\n sort?: string,\r\n headers?: AtrQueryHeader[],\r\n tables: Table[],\r\n isAutoQuery?: boolean,//true时候默认触发查询\r\n defaultParams?: json,\r\n isHideQuery?: boolean\r\n // isRadio?:boolean,\r\n // isForbid?:boolean,//true时只允许点击多选框选择\r\n}\r\n\r\nexport declare interface Table {\r\n name: string,//表头名称\r\n key?: string,//实际数据字段\r\n defaultVal?: any,\r\n sortKey?: string,//是否排序\r\n sortable?: boolean,\r\n type: 'textcolor' | 'fixedText' | 'text' | 'link' | 'action' | 'image' | 'date' | 'dateTime' | 'sDateTime' | 'dict',//类型: 文字、链接、操作\r\n dictCode?: string,\r\n isShow?: boolean,\r\n width?: string,//150px\r\n actions?: TableAction[],\r\n isRowSpan?: boolean,\r\n isRight?: boolean\r\n isLeft?: boolean,\r\n color?: colorOperator,//颜色\r\n colorShow?: string,\r\n}\r\n\r\nexport declare interface AtrQueryHeader {\r\n name: string,\r\n type: 'cascader' | 'text' | 'number' | 'checkbox' | 'select' | 'datepicker' | 'selectCus' | 'dateRange' | 'sdate' | 'treeSelect',\r\n key: string,\r\n isShow?: boolean,\r\n code?: string,\r\n placeholder?: string,\r\n span?: number,\r\n dictCode?: string,//字典编码\r\n dictList?: CusDict[],\r\n defaultVal?: any // 默认值\r\n maxTagCount?: number,\r\n lspan?: number,\r\n cspan?: number,\r\n disableClear?: boolean,\r\n treeList?: { key: string, title: string }[]\r\n /**\r\n * 格式\r\n * convert:'key|id,title|realName'(treeSelect)\r\n * value|id,label|name(selectCus)\r\n */\r\n selectUrl?: { url: string, convert: string, isMultiple?: boolean },//convert: newKey|oldKey,newKey|oldKey(接口返回的值)\r\n icon?: { isShow: boolean, code: string, icon: any },\r\n dateMode?: 'week' | 'month' | 'year',\r\n}\r\n\r\nexport declare interface TableAction {\r\n name: string,\r\n code: string,\r\n url?: string,\r\n gType?: 'normal' | 'upload',\r\n data?: any,\r\n datas?: any[],\r\n icon?: string,\r\n numberOfChecked?: number,\r\n type?: 'rows' | 'row',\r\n operator?: string,//显示操作符\r\n buttonType?: 'primary' | 'dashed' | 'danger' | 'default' | 'link',\r\n value?: any,\r\n withoutRole?: boolean//不需要权限控制\r\n}\r\n\r\nexport declare interface FormAction {\r\n name: string,\r\n code: string\r\n}\r\n\r\nexport declare interface Dict {\r\n id: string,\r\n typeName: string,\r\n\r\n}\r\n\r\nexport declare interface DictGroup {\r\n groupCode: string,\r\n dicts: Dict[]\r\n}\r\n\r\nexport declare interface CusDict {\r\n label: string,\r\n value: string,\r\n}\r\n\r\nexport declare interface ImageOpts {\r\n limit?: number,\r\n uploadDir: string,\r\n removeAction?: string,\r\n imageList?: any[],\r\n key?: string,\r\n labe?: string,\r\n fileName?: string,\r\n uploadType?: 'drag' | '',\r\n nzFileType?: string\r\n}\r\n\r\nexport declare interface equipTestData {\r\n code: string\r\n itemName: string\r\n zhou1: number\r\n zhou2: number\r\n zhou3: number\r\n zhou4: number\r\n zhou5: number\r\n zhou6: number\r\n isWrong1?: boolean\r\n isWrong2?: boolean\r\n isWrong3?: boolean\r\n isWrong4?: boolean\r\n isWrong5?: boolean\r\n isWrong6?: boolean\r\n}\r\n\r\n\r\nexport declare interface SelectAction {\r\n name: string,\r\n code: \"ngModelChange\" | 'nzOpenChange',\r\n data?: any,\r\n key?: string,\r\n}\r\n","import {Component, OnInit} from '@angular/core';\nimport {atr_static_datas} from \"../../core/base/atr-common\";\n\n@Component({\n selector: 'atr-hello',\n templateUrl: './hello.component.html',\n styleUrls: ['./hello.component.css']\n})\nexport class HelloComponent implements OnInit {\n test = atr_static_datas.test;\n\n constructor() {\n }\n\n ngOnInit(): void {\n }\n\n}\n","<p>hello works!</p>\n<p>测试:{{test}}</p>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport {HelloComponent} from \"./hello.component\";\n\n\n\n@NgModule({\n declarations: [HelloComponent],\n imports: [\n CommonModule\n ],\n exports:[HelloComponent]\n})\nexport class HelloModule { }\n","/*\n * Public API Surface of components\n */\nexport * from './atr-components.module';\nexport * from './lib/hello/hello.module';\nexport * from './core/base/atr-common';\nexport { HelloComponent } from './lib/hello/hello.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"atr-components.mjs","sources":["../../../projects/components/src/atr-components.module.ts","../../../projects/components/src/core/base/atr-common.ts","../../../projects/components/src/lib/hello/hello.component.ts","../../../projects/components/src/lib/hello/hello.component.html","../../../projects/components/src/lib/hello/hello.module.ts","../../../projects/components/src/core/utils/AtrTools.util.ts","../../../projects/components/src/public-api.ts","../../../projects/components/src/atr-components.ts"],"sourcesContent":["import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\n\n\nconst COMMON_COMPONENT: any[] = []\n\n@NgModule({\n declarations:[...COMMON_COMPONENT],\n imports: [\n CommonModule\n ],\n exports: COMMON_COMPONENT\n\n})\nexport class AtrComponentsModule {\n}\n","export const atr_static_datas = {\r\n test: '1',\r\n OSS_URL:'',\r\n};\r\n\r\nexport declare interface json extends Object {\r\n [key: string]: any\r\n}\r\n\r\nexport declare interface ServerPaginationStandard {\r\n currentPage: number;\r\n showCount: number;\r\n totalResult: number;\r\n totalPage?: number;\r\n}\r\n\r\nexport declare interface HttpResponseDataStandard {\r\n state: number; // 为1才是成功\r\n data: json | [{}] | object | string | any; //没有值 data: ''\r\n mess: string; //返回的消息\r\n page?: ServerPaginationStandard;\r\n}\r\n\r\n\r\nexport declare interface HttpRseponseTransformCell {\r\n [key: string]: json\r\n}\r\n\r\nexport declare interface HttpOptions {\r\n headers?: {},\r\n isJsonEncode?: boolean\r\n isUrlEncode?: boolean\r\n isAutoShowMessage?: boolean\r\n isWithCredentials?: boolean\r\n isCommonHttpHeader?: boolean\r\n}\r\n\r\nexport enum UserAction {\r\n ADD,\r\n EDIT,\r\n DEL,\r\n QUERY,\r\n SUPPERADD\r\n}\r\n\r\nexport declare interface AtrFormOpt {\r\n type: 'add' | 'edit' | 'view',\r\n layout?: \"full\" | '1l2c' | '1l1c',\r\n items: AtrFormDetail[],//表单项目\r\n}\r\n\r\nexport declare interface AtrFormDetail {\r\n label: string,\r\n type: 'cascader' | 'radio' | 'text' | 'image' | 'select' | 'date' | 'number' | 'telphone' | 'password' | 'checkbox' | 'editor' | 'textarea' | 'dateTime' | 'title' | 'dateRange' | 'selectc',\r\n key: string,\r\n isHidden?: boolean,\r\n defaultValue?: any,\r\n value?: any,//编辑下原始数值\r\n dictCode?: string,//select 模式下配置\r\n span?: number,//显示宽度\r\n validators?: AtrFormValid[],//验证条件\r\n isRequired?: boolean | string,//隐性条件 无需填写, string类型格式同operator\r\n placeholder?: string,\r\n imageOpts?: ImageOpts,\r\n editContent?: string,\r\n height?: number,//editor有效\r\n disable?: boolean,\r\n lspan?: number,\r\n cspan?: number,\r\n rows?: number,//textarea 显示行数\r\n operator?: string,//显示操作符 格式 如:status|eq|0\r\n button?: formButton,\r\n readonly?: boolean,\r\n dateFormat?: string,\r\n dictList?: CusDict[],\r\n selectUrl?: { url: string, convert?: string, type?: 'get' | 'post', host?: 'oss' | 'serve', isMultiple?: boolean },\r\n treeList?: { key: string, title: string }[],\r\n ends?: string,\r\n proposal?: string,\r\n temp?: any,\r\n notNull?: boolean\r\n\r\n}\r\n\r\nexport declare interface AtrFormValid {\r\n type: 'required' | 'email' | 'telphone' | 'maxlength' | 'minlength' | 'pattern' | 'operator',\r\n errorLabel: string,\r\n maxlength?: number,\r\n minlength?: number,\r\n patternValue?: string\r\n}\r\n\r\nexport declare interface formButton {\r\n name: string,\r\n isShow: boolean,\r\n code: string\r\n}\r\n\r\nexport declare interface colorOperator {\r\n color: string,\r\n operator: string,//规则\r\n}\r\n\r\nexport declare interface AtrQueyrOpt {\r\n actions?: TableAction[],\r\n isIndex?: boolean,//是否显示序号,\r\n color?: colorOperator,//颜色\r\n checkBox?: {\r\n isShowCheckbox?: boolean,\r\n isRadio?: boolean,\r\n isForbid?: boolean,//true时只允许点击多选框选择\r\n },\r\n // isShowCheckbox?: boolean,\r\n showNum?: number,\r\n url: string,\r\n sort?: string,\r\n headers?: AtrQueryHeader[],\r\n tables: Table[],\r\n isAutoQuery?: boolean,//true时候默认触发查询\r\n defaultParams?: json,\r\n isHideQuery?: boolean\r\n // isRadio?:boolean,\r\n // isForbid?:boolean,//true时只允许点击多选框选择\r\n}\r\n\r\nexport declare interface Table {\r\n name: string,//表头名称\r\n key?: string,//实际数据字段\r\n defaultVal?: any,\r\n sortKey?: string,//是否排序\r\n sortable?: boolean,\r\n type: 'textcolor' | 'fixedText' | 'text' | 'link' | 'action' | 'image' | 'date' | 'dateTime' | 'sDateTime' | 'dict',//类型: 文字、链接、操作\r\n dictCode?: string,\r\n isShow?: boolean,\r\n width?: string,//150px\r\n actions?: TableAction[],\r\n isRowSpan?: boolean,\r\n isRight?: boolean\r\n isLeft?: boolean,\r\n color?: colorOperator,//颜色\r\n colorShow?: string,\r\n}\r\n\r\nexport declare interface AtrQueryHeader {\r\n name: string,\r\n type: 'cascader' | 'text' | 'number' | 'checkbox' | 'select' | 'datepicker' | 'selectCus' | 'dateRange' | 'sdate' | 'treeSelect',\r\n key: string,\r\n isShow?: boolean,\r\n code?: string,\r\n placeholder?: string,\r\n span?: number,\r\n dictCode?: string,//字典编码\r\n dictList?: CusDict[],\r\n defaultVal?: any // 默认值\r\n maxTagCount?: number,\r\n lspan?: number,\r\n cspan?: number,\r\n disableClear?: boolean,\r\n treeList?: { key: string, title: string }[]\r\n /**\r\n * 格式\r\n * convert:'key|id,title|realName'(treeSelect)\r\n * value|id,label|name(selectCus)\r\n */\r\n selectUrl?: { url: string, convert: string, isMultiple?: boolean },//convert: newKey|oldKey,newKey|oldKey(接口返回的值)\r\n icon?: { isShow: boolean, code: string, icon: any },\r\n dateMode?: 'week' | 'month' | 'year',\r\n}\r\n\r\nexport declare interface TableAction {\r\n name: string,\r\n code: string,\r\n url?: string,\r\n gType?: 'normal' | 'upload',\r\n data?: any,\r\n datas?: any[],\r\n icon?: string,\r\n numberOfChecked?: number,\r\n type?: 'rows' | 'row',\r\n operator?: string,//显示操作符\r\n buttonType?: 'primary' | 'dashed' | 'danger' | 'default' | 'link',\r\n value?: any,\r\n withoutRole?: boolean//不需要权限控制\r\n}\r\n\r\nexport declare interface FormAction {\r\n name: string,\r\n code: string\r\n}\r\n\r\nexport declare interface Dict {\r\n id: string,\r\n typeName: string,\r\n\r\n}\r\n\r\nexport declare interface DictGroup {\r\n groupCode: string,\r\n dicts: Dict[]\r\n}\r\n\r\nexport declare interface CusDict {\r\n label: string,\r\n value: string,\r\n}\r\n\r\nexport declare interface ImageOpts {\r\n limit?: number,\r\n uploadDir: string,\r\n removeAction?: string,\r\n imageList?: any[],\r\n key?: string,\r\n labe?: string,\r\n fileName?: string,\r\n uploadType?: 'drag' | '',\r\n nzFileType?: string\r\n}\r\n\r\nexport declare interface equipTestData {\r\n code: string\r\n itemName: string\r\n zhou1: number\r\n zhou2: number\r\n zhou3: number\r\n zhou4: number\r\n zhou5: number\r\n zhou6: number\r\n isWrong1?: boolean\r\n isWrong2?: boolean\r\n isWrong3?: boolean\r\n isWrong4?: boolean\r\n isWrong5?: boolean\r\n isWrong6?: boolean\r\n}\r\n\r\n\r\nexport declare interface SelectAction {\r\n name: string,\r\n code: \"ngModelChange\" | 'nzOpenChange',\r\n data?: any,\r\n key?: string,\r\n}\r\n","import {Component, OnInit} from '@angular/core';\nimport {atr_static_datas} from \"../../core/base/atr-common\";\n\n@Component({\n selector: 'atr-hello',\n templateUrl: './hello.component.html',\n styleUrls: ['./hello.component.css']\n})\nexport class HelloComponent implements OnInit {\n test = atr_static_datas.test;\n\n constructor() {\n }\n\n ngOnInit(): void {\n }\n\n}\n","<p>hello works!</p>\n<p>测试:{{test}}</p>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport {HelloComponent} from \"./hello.component\";\n\n\n\n@NgModule({\n declarations: [HelloComponent],\n imports: [\n CommonModule\n ],\n exports:[HelloComponent]\n})\nexport class HelloModule { }\n","import {json, AtrFormOpt, atr_static_datas} from '../base/atr-common';\r\nimport {formatDate} from '@angular/common';\r\nimport {HttpHeaders} from \"@angular/common/http\";\r\nimport {SimpleChange} from '@angular/core';\r\nimport {Validators} from \"@angular/forms\";\r\n\r\nexport class AtrToolsUtil {\r\n static ossPrefix = atr_static_datas.OSS_URL;\r\n static getOrgCode = function () {\r\n // var orgCode = '';\r\n // var hrefs = window.location.href.split('?')\r\n // if (hrefs.length >= 2) {\r\n // var paramStr = hrefs[1];\r\n // //参数字符串里有没带 =?/#\r\n // orgCode = paramStr.split('=')[0];\r\n // orgCode = orgCode.split('?')[0];\r\n // orgCode = orgCode.split('/')[0];\r\n // orgCode = orgCode.split('#')[0];\r\n // orgCode = orgCode.split('/')[0];\r\n // }\r\n\r\n return '';\r\n }\r\n static isNull(val:any){\r\n if(val || ['boolean','string','number'].some(v => typeof val == v) ){\r\n return false\r\n }\r\n return true\r\n }\r\n static getControlsConfig(dataFrom:any, requiredRule: string[]) {\r\n let controlsConfig: any = {}\r\n for (const key in dataFrom) {\r\n if (requiredRule.some(item => item == key)) {\r\n controlsConfig[key] = [dataFrom[key], [Validators.required]]\r\n } else {\r\n controlsConfig[key] = [dataFrom[key]]\r\n }\r\n }\r\n return controlsConfig;\r\n }\r\n\r\n static httpSucces(res:any) {\r\n return res.status == 200\r\n }\r\n\r\n static diffInput(chng: SimpleChange, action: () => void): void {\r\n if (chng === undefined) return;\r\n\r\n let cur = JSON.stringify(chng.currentValue);\r\n let prev = JSON.stringify(chng.previousValue);\r\n if (cur !== prev) {\r\n action();\r\n }\r\n }\r\n\r\n static diffInputs(chng: SimpleChange[], action: () => void): void {\r\n if (chng === undefined) return;\r\n if (chng.length == 0) return;\r\n for (let i = 0; i < chng.length; i++) {\r\n let item = chng[i];\r\n if (item === undefined) continue;\r\n let cur = JSON.stringify(item.currentValue);\r\n let prev = JSON.stringify(item.previousValue);\r\n if (cur !== prev) {\r\n action();\r\n return;\r\n }\r\n\r\n\r\n }\r\n }\r\n\r\n static getYesterday(day: Date): Date {\r\n\r\n let time = day.getTime() - 1000 * 60 * 60 * 24;\r\n day = new Date(time);\r\n\r\n return day;\r\n }\r\n\r\n static getTomorrowday(day: Date): Date {\r\n let time = day.getTime() + 1000 * 60 * 60 * 24;\r\n\r\n return new Date(time);\r\n }\r\n\r\n static getNextMonth(day: Date) {\r\n let ds = new Date(day).setMonth(day.getMonth() + 1);\r\n return new Date(ds);\r\n }\r\n\r\n\r\n static fistDayOfMonth(day: Date) {\r\n return new Date(new Date(day).setDate(1));\r\n }\r\n\r\n static lastDayOfMonth(day: Date) {\r\n return new Date(AtrToolsUtil.getNextMonth(day).setDate(0));\r\n }\r\n\r\n static getRandomFileName = function () {\r\n const expect = 16;\r\n let str = Math.random().toString(36).substring(2);\r\n while (str.length < expect) {\r\n str += Math.random().toString(36).substring(2);\r\n }\r\n return str.substring(0, expect);\r\n }\r\n\r\n static getFileExt = function (fileName:string) {\r\n var index = fileName.lastIndexOf(\".\");\r\n var suffix = fileName.substr(index + 1);\r\n return suffix;\r\n }\r\n\r\n static getHttpOptions(): any {\r\n return {isCommonHttpHeader: true}\r\n }\r\n\r\n\r\n static resetFormValue(opt: AtrFormOpt, json: json): AtrFormOpt {\r\n for (let item of opt.items) {\r\n item.value = \"\";\r\n // console.log(item.value);\r\n for (const key of Object.keys(json)) {\r\n if (json.hasOwnProperty(key) && json[key] != null && json[key] != undefined && key == item.key) {\r\n if (item.type == 'date')\r\n item.value = new Date(json[key]);\r\n else if (item.type == 'dateTime') {\r\n item.value = new Date(json[key]);\r\n } else\r\n item.value = json[key]\r\n }\r\n }\r\n }\r\n return opt;\r\n }\r\n\r\n static getFormatDate(date: Date): string {\r\n let month: string | number = date.getMonth() + 1;\r\n let strDate: string | number = date.getDate();\r\n\r\n if (month <= 9) {\r\n month = \"0\" + month;\r\n }\r\n\r\n if (strDate <= 9) {\r\n strDate = \"0\" + strDate;\r\n }\r\n\r\n return date.getFullYear() + \"-\" + month + \"-\" + strDate\r\n // + \" \"\r\n // + date.getHours() + \":\" + date.getMinutes() + \":\" + date.getSeconds();\r\n }\r\n\r\n static getFormatDateFull(date: Date): string {\r\n let month: string | number = date.getMonth() + 1;\r\n let strDate: string | number = date.getDate();\r\n\r\n if (month <= 9) {\r\n month = \"0\" + month;\r\n }\r\n\r\n if (strDate <= 9) {\r\n strDate = \"0\" + strDate;\r\n }\r\n\r\n return date.getFullYear() + \"-\" + month + \"-\" + strDate + \" \" + (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + \":\" + (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()) + \":\" + (date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds());\r\n }\r\n\r\n static getFormatDateWithoutS(date: Date): string {\r\n let month: string | number = date.getMonth() + 1;\r\n let strDate: string | number = date.getDate();\r\n let hours: string | number = date.getHours();\r\n let seconds: string | number = date.getMinutes();\r\n if (month <= 9) {\r\n month = \"0\" + month;\r\n }\r\n\r\n if (strDate <= 9) {\r\n strDate = \"0\" + strDate;\r\n }\r\n if (hours <= 9) {\r\n hours = \"0\" + hours;\r\n }\r\n if (seconds <= 9) {\r\n seconds = \"0\" + seconds;\r\n }\r\n return date.getFullYear() + \"-\" + month + \"-\" + strDate + \" \" + hours + \":\" + seconds;\r\n }\r\n\r\n static getOssUrl(url: string) {\r\n if (!url) {\r\n return \"\";\r\n }\r\n if (url.startsWith(\"http\")) {\r\n return url\r\n }\r\n return this.ossPrefix + url;\r\n }\r\n\r\n static mul(...numbers:any) {\r\n if (numbers.length < 2) {\r\n return;\r\n }\r\n let m = this.getDigit(numbers);\r\n let result = 1;\r\n numbers.forEach(\r\n (num:any) => {\r\n let s = num.toString();\r\n result *= Number(s.replace(\".\", \"\"));\r\n }\r\n );\r\n return result / Math.pow(10, m);\r\n }\r\n\r\n static getDigit(...numbers:any[]) {\r\n let m = 0;\r\n numbers.forEach(\r\n num => {\r\n let s = num.toString();\r\n try {\r\n m += s.split(\".\")[1].length\r\n } catch (e) {\r\n }\r\n }\r\n );\r\n return m;\r\n }\r\n\r\n static downloadImg(data:any, fileName?: string, endpoint?: string) {\r\n // // 下载类型 xls\r\n // const contentType = 'image/jpeg';\r\n // // const contentType = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';\r\n // // 下载类型:csv\r\n // const debug = {hello: \"world\"};\r\n // const blob = new Blob([],{type : 'image/jpeg'});\r\n // const url = window.URL.createObjectURL(blob);\r\n //\r\n // // 打开新窗口方式进行下载\r\n // // window.open(url);\r\n //\r\n // // 以动态创建a标签进行下载\r\n const a = document.createElement('a');\r\n a.href = data;\r\n // a.download = fileName;\r\n a.download = fileName?fileName:\"\" + endpoint;\r\n a.click();\r\n }\r\n\r\n static downloadXls(url:string, params?: any,) {\r\n console.log(params);\r\n if (params) {\r\n url += \"?\";\r\n for (const key of Object.keys(params)) {\r\n if (params[key]) {\r\n url += key + \"=\" + params[key] + \"&&\"\r\n }\r\n }\r\n }\r\n console.log(url);\r\n // window.open(url);\r\n const a = document.createElement('a');\r\n a.href = url;\r\n // // a.download = fileName;\r\n // a.download = \"3321.xls\";\r\n a.click();\r\n }\r\n\r\n static pixelToNum(width:any) {\r\n const re = /px/gi;\r\n let widthStr = width.replace(re, \"\");\r\n return Number(widthStr);\r\n }\r\n\r\n static allEqual = (...array:any[]) => array.every(item => item === array[0]);\r\n\r\n /**\r\n * array所有参数满足fn函数返回true\r\n * all(x => x > 1,1,2,3); // true\r\n * @param callback\r\n * @param array\r\n */\r\n static satisfiedFn = (callback: (...args: any[]) => boolean, ...array:any[]) => array.every(callback);\r\n\r\n //全部不空为true\r\n static notEmpty(...arr:any[]): boolean {\r\n return arr.every(item => !!item)\r\n }\r\n\r\n //包含空为true\r\n static hasEmpty(...arr:any[]): boolean {\r\n return arr.some(item => !item);\r\n }\r\n\r\n static allEmpty(...arr:any[]) {\r\n return arr.every(item => !item);\r\n }\r\n\r\n static encodeValue(params:any) {\r\n Object.keys(params).forEach(key => params[key] = encodeURIComponent(params[key]));\r\n return params;\r\n }\r\n\r\n static windowHeight() {\r\n return document.documentElement.clientHeight;\r\n }\r\n static windowWidth() {\r\n\r\n return document.documentElement.clientWidth;\r\n }\r\n\r\n static modaleStyle() {\r\n return {'maxHeight': AtrToolsUtil.windowHeight() - 200 + 'px', 'overflow-y': 'auto'};\r\n }\r\n}\r\n","/*\n * Public API Surface of components\n */\n\nexport * from './atr-components.module';\nexport * from './lib/hello/hello.module';\nexport * from './core/base/atr-common';\nexport {AtrToolsUtil} from \"./core/utils/AtrTools.util\"\nexport { HelloComponent } from './lib/hello/hello.component';\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { NgModule, Component } from '@angular/core';
|
|
3
3
|
import { CommonModule } from '@angular/common';
|
|
4
|
+
import { Validators } from '@angular/forms';
|
|
4
5
|
|
|
5
6
|
const COMMON_COMPONENT = [];
|
|
6
7
|
class AtrComponentsModule {
|
|
@@ -22,7 +23,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
22
23
|
}] });
|
|
23
24
|
|
|
24
25
|
const atr_static_datas = {
|
|
25
|
-
test: '1'
|
|
26
|
+
test: '1',
|
|
27
|
+
OSS_URL: '',
|
|
26
28
|
};
|
|
27
29
|
var UserAction;
|
|
28
30
|
(function (UserAction) {
|
|
@@ -65,6 +67,274 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
65
67
|
}]
|
|
66
68
|
}] });
|
|
67
69
|
|
|
70
|
+
class AtrToolsUtil {
|
|
71
|
+
static isNull(val) {
|
|
72
|
+
if (val || ['boolean', 'string', 'number'].some(v => typeof val == v)) {
|
|
73
|
+
return false;
|
|
74
|
+
}
|
|
75
|
+
return true;
|
|
76
|
+
}
|
|
77
|
+
static getControlsConfig(dataFrom, requiredRule) {
|
|
78
|
+
let controlsConfig = {};
|
|
79
|
+
for (const key in dataFrom) {
|
|
80
|
+
if (requiredRule.some(item => item == key)) {
|
|
81
|
+
controlsConfig[key] = [dataFrom[key], [Validators.required]];
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
controlsConfig[key] = [dataFrom[key]];
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
return controlsConfig;
|
|
88
|
+
}
|
|
89
|
+
static httpSucces(res) {
|
|
90
|
+
return res.status == 200;
|
|
91
|
+
}
|
|
92
|
+
static diffInput(chng, action) {
|
|
93
|
+
if (chng === undefined)
|
|
94
|
+
return;
|
|
95
|
+
let cur = JSON.stringify(chng.currentValue);
|
|
96
|
+
let prev = JSON.stringify(chng.previousValue);
|
|
97
|
+
if (cur !== prev) {
|
|
98
|
+
action();
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
static diffInputs(chng, action) {
|
|
102
|
+
if (chng === undefined)
|
|
103
|
+
return;
|
|
104
|
+
if (chng.length == 0)
|
|
105
|
+
return;
|
|
106
|
+
for (let i = 0; i < chng.length; i++) {
|
|
107
|
+
let item = chng[i];
|
|
108
|
+
if (item === undefined)
|
|
109
|
+
continue;
|
|
110
|
+
let cur = JSON.stringify(item.currentValue);
|
|
111
|
+
let prev = JSON.stringify(item.previousValue);
|
|
112
|
+
if (cur !== prev) {
|
|
113
|
+
action();
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
static getYesterday(day) {
|
|
119
|
+
let time = day.getTime() - 1000 * 60 * 60 * 24;
|
|
120
|
+
day = new Date(time);
|
|
121
|
+
return day;
|
|
122
|
+
}
|
|
123
|
+
static getTomorrowday(day) {
|
|
124
|
+
let time = day.getTime() + 1000 * 60 * 60 * 24;
|
|
125
|
+
return new Date(time);
|
|
126
|
+
}
|
|
127
|
+
static getNextMonth(day) {
|
|
128
|
+
let ds = new Date(day).setMonth(day.getMonth() + 1);
|
|
129
|
+
return new Date(ds);
|
|
130
|
+
}
|
|
131
|
+
static fistDayOfMonth(day) {
|
|
132
|
+
return new Date(new Date(day).setDate(1));
|
|
133
|
+
}
|
|
134
|
+
static lastDayOfMonth(day) {
|
|
135
|
+
return new Date(AtrToolsUtil.getNextMonth(day).setDate(0));
|
|
136
|
+
}
|
|
137
|
+
static getHttpOptions() {
|
|
138
|
+
return { isCommonHttpHeader: true };
|
|
139
|
+
}
|
|
140
|
+
static resetFormValue(opt, json) {
|
|
141
|
+
for (let item of opt.items) {
|
|
142
|
+
item.value = "";
|
|
143
|
+
// console.log(item.value);
|
|
144
|
+
for (const key of Object.keys(json)) {
|
|
145
|
+
if (json.hasOwnProperty(key) && json[key] != null && json[key] != undefined && key == item.key) {
|
|
146
|
+
if (item.type == 'date')
|
|
147
|
+
item.value = new Date(json[key]);
|
|
148
|
+
else if (item.type == 'dateTime') {
|
|
149
|
+
item.value = new Date(json[key]);
|
|
150
|
+
}
|
|
151
|
+
else
|
|
152
|
+
item.value = json[key];
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
return opt;
|
|
157
|
+
}
|
|
158
|
+
static getFormatDate(date) {
|
|
159
|
+
let month = date.getMonth() + 1;
|
|
160
|
+
let strDate = date.getDate();
|
|
161
|
+
if (month <= 9) {
|
|
162
|
+
month = "0" + month;
|
|
163
|
+
}
|
|
164
|
+
if (strDate <= 9) {
|
|
165
|
+
strDate = "0" + strDate;
|
|
166
|
+
}
|
|
167
|
+
return date.getFullYear() + "-" + month + "-" + strDate;
|
|
168
|
+
// + " "
|
|
169
|
+
// + date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds();
|
|
170
|
+
}
|
|
171
|
+
static getFormatDateFull(date) {
|
|
172
|
+
let month = date.getMonth() + 1;
|
|
173
|
+
let strDate = date.getDate();
|
|
174
|
+
if (month <= 9) {
|
|
175
|
+
month = "0" + month;
|
|
176
|
+
}
|
|
177
|
+
if (strDate <= 9) {
|
|
178
|
+
strDate = "0" + strDate;
|
|
179
|
+
}
|
|
180
|
+
return date.getFullYear() + "-" + month + "-" + strDate + " " + (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ":" + (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()) + ":" + (date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds());
|
|
181
|
+
}
|
|
182
|
+
static getFormatDateWithoutS(date) {
|
|
183
|
+
let month = date.getMonth() + 1;
|
|
184
|
+
let strDate = date.getDate();
|
|
185
|
+
let hours = date.getHours();
|
|
186
|
+
let seconds = date.getMinutes();
|
|
187
|
+
if (month <= 9) {
|
|
188
|
+
month = "0" + month;
|
|
189
|
+
}
|
|
190
|
+
if (strDate <= 9) {
|
|
191
|
+
strDate = "0" + strDate;
|
|
192
|
+
}
|
|
193
|
+
if (hours <= 9) {
|
|
194
|
+
hours = "0" + hours;
|
|
195
|
+
}
|
|
196
|
+
if (seconds <= 9) {
|
|
197
|
+
seconds = "0" + seconds;
|
|
198
|
+
}
|
|
199
|
+
return date.getFullYear() + "-" + month + "-" + strDate + " " + hours + ":" + seconds;
|
|
200
|
+
}
|
|
201
|
+
static getOssUrl(url) {
|
|
202
|
+
if (!url) {
|
|
203
|
+
return "";
|
|
204
|
+
}
|
|
205
|
+
if (url.startsWith("http")) {
|
|
206
|
+
return url;
|
|
207
|
+
}
|
|
208
|
+
return this.ossPrefix + url;
|
|
209
|
+
}
|
|
210
|
+
static mul(...numbers) {
|
|
211
|
+
if (numbers.length < 2) {
|
|
212
|
+
return;
|
|
213
|
+
}
|
|
214
|
+
let m = this.getDigit(numbers);
|
|
215
|
+
let result = 1;
|
|
216
|
+
numbers.forEach((num) => {
|
|
217
|
+
let s = num.toString();
|
|
218
|
+
result *= Number(s.replace(".", ""));
|
|
219
|
+
});
|
|
220
|
+
return result / Math.pow(10, m);
|
|
221
|
+
}
|
|
222
|
+
static getDigit(...numbers) {
|
|
223
|
+
let m = 0;
|
|
224
|
+
numbers.forEach(num => {
|
|
225
|
+
let s = num.toString();
|
|
226
|
+
try {
|
|
227
|
+
m += s.split(".")[1].length;
|
|
228
|
+
}
|
|
229
|
+
catch (e) {
|
|
230
|
+
}
|
|
231
|
+
});
|
|
232
|
+
return m;
|
|
233
|
+
}
|
|
234
|
+
static downloadImg(data, fileName, endpoint) {
|
|
235
|
+
// // 下载类型 xls
|
|
236
|
+
// const contentType = 'image/jpeg';
|
|
237
|
+
// // const contentType = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';
|
|
238
|
+
// // 下载类型:csv
|
|
239
|
+
// const debug = {hello: "world"};
|
|
240
|
+
// const blob = new Blob([],{type : 'image/jpeg'});
|
|
241
|
+
// const url = window.URL.createObjectURL(blob);
|
|
242
|
+
//
|
|
243
|
+
// // 打开新窗口方式进行下载
|
|
244
|
+
// // window.open(url);
|
|
245
|
+
//
|
|
246
|
+
// // 以动态创建a标签进行下载
|
|
247
|
+
const a = document.createElement('a');
|
|
248
|
+
a.href = data;
|
|
249
|
+
// a.download = fileName;
|
|
250
|
+
a.download = fileName ? fileName : "" + endpoint;
|
|
251
|
+
a.click();
|
|
252
|
+
}
|
|
253
|
+
static downloadXls(url, params) {
|
|
254
|
+
console.log(params);
|
|
255
|
+
if (params) {
|
|
256
|
+
url += "?";
|
|
257
|
+
for (const key of Object.keys(params)) {
|
|
258
|
+
if (params[key]) {
|
|
259
|
+
url += key + "=" + params[key] + "&&";
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
console.log(url);
|
|
264
|
+
// window.open(url);
|
|
265
|
+
const a = document.createElement('a');
|
|
266
|
+
a.href = url;
|
|
267
|
+
// // a.download = fileName;
|
|
268
|
+
// a.download = "3321.xls";
|
|
269
|
+
a.click();
|
|
270
|
+
}
|
|
271
|
+
static pixelToNum(width) {
|
|
272
|
+
const re = /px/gi;
|
|
273
|
+
let widthStr = width.replace(re, "");
|
|
274
|
+
return Number(widthStr);
|
|
275
|
+
}
|
|
276
|
+
//全部不空为true
|
|
277
|
+
static notEmpty(...arr) {
|
|
278
|
+
return arr.every(item => !!item);
|
|
279
|
+
}
|
|
280
|
+
//包含空为true
|
|
281
|
+
static hasEmpty(...arr) {
|
|
282
|
+
return arr.some(item => !item);
|
|
283
|
+
}
|
|
284
|
+
static allEmpty(...arr) {
|
|
285
|
+
return arr.every(item => !item);
|
|
286
|
+
}
|
|
287
|
+
static encodeValue(params) {
|
|
288
|
+
Object.keys(params).forEach(key => params[key] = encodeURIComponent(params[key]));
|
|
289
|
+
return params;
|
|
290
|
+
}
|
|
291
|
+
static windowHeight() {
|
|
292
|
+
return document.documentElement.clientHeight;
|
|
293
|
+
}
|
|
294
|
+
static windowWidth() {
|
|
295
|
+
return document.documentElement.clientWidth;
|
|
296
|
+
}
|
|
297
|
+
static modaleStyle() {
|
|
298
|
+
return { 'maxHeight': AtrToolsUtil.windowHeight() - 200 + 'px', 'overflow-y': 'auto' };
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
AtrToolsUtil.ossPrefix = atr_static_datas.OSS_URL;
|
|
302
|
+
AtrToolsUtil.getOrgCode = function () {
|
|
303
|
+
// var orgCode = '';
|
|
304
|
+
// var hrefs = window.location.href.split('?')
|
|
305
|
+
// if (hrefs.length >= 2) {
|
|
306
|
+
// var paramStr = hrefs[1];
|
|
307
|
+
// //参数字符串里有没带 =?/#
|
|
308
|
+
// orgCode = paramStr.split('=')[0];
|
|
309
|
+
// orgCode = orgCode.split('?')[0];
|
|
310
|
+
// orgCode = orgCode.split('/')[0];
|
|
311
|
+
// orgCode = orgCode.split('#')[0];
|
|
312
|
+
// orgCode = orgCode.split('/')[0];
|
|
313
|
+
// }
|
|
314
|
+
return '';
|
|
315
|
+
};
|
|
316
|
+
AtrToolsUtil.getRandomFileName = function () {
|
|
317
|
+
const expect = 16;
|
|
318
|
+
let str = Math.random().toString(36).substring(2);
|
|
319
|
+
while (str.length < expect) {
|
|
320
|
+
str += Math.random().toString(36).substring(2);
|
|
321
|
+
}
|
|
322
|
+
return str.substring(0, expect);
|
|
323
|
+
};
|
|
324
|
+
AtrToolsUtil.getFileExt = function (fileName) {
|
|
325
|
+
var index = fileName.lastIndexOf(".");
|
|
326
|
+
var suffix = fileName.substr(index + 1);
|
|
327
|
+
return suffix;
|
|
328
|
+
};
|
|
329
|
+
AtrToolsUtil.allEqual = (...array) => array.every(item => item === array[0]);
|
|
330
|
+
/**
|
|
331
|
+
* array所有参数满足fn函数返回true
|
|
332
|
+
* all(x => x > 1,1,2,3); // true
|
|
333
|
+
* @param callback
|
|
334
|
+
* @param array
|
|
335
|
+
*/
|
|
336
|
+
AtrToolsUtil.satisfiedFn = (callback, ...array) => array.every(callback);
|
|
337
|
+
|
|
68
338
|
/*
|
|
69
339
|
* Public API Surface of components
|
|
70
340
|
*/
|
|
@@ -73,5 +343,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
|
|
|
73
343
|
* Generated bundle index. Do not edit.
|
|
74
344
|
*/
|
|
75
345
|
|
|
76
|
-
export { AtrComponentsModule, HelloComponent, HelloModule, UserAction, atr_static_datas };
|
|
346
|
+
export { AtrComponentsModule, AtrToolsUtil, HelloComponent, HelloModule, UserAction, atr_static_datas };
|
|
77
347
|
//# sourceMappingURL=atr-components.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"atr-components.mjs","sources":["../../../projects/components/src/atr-components.module.ts","../../../projects/components/src/core/base/atr-common.ts","../../../projects/components/src/lib/hello/hello.component.ts","../../../projects/components/src/lib/hello/hello.component.html","../../../projects/components/src/lib/hello/hello.module.ts","../../../projects/components/src/public-api.ts","../../../projects/components/src/atr-components.ts"],"sourcesContent":["import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\n\n\nconst COMMON_COMPONENT: any[] = []\n\n@NgModule({\n declarations:[...COMMON_COMPONENT],\n imports: [\n CommonModule\n ],\n exports: COMMON_COMPONENT\n\n})\nexport class AtrComponentsModule {\n}\n","export const atr_static_datas = {\r\n test: '1'\r\n};\r\n\r\nexport declare interface json extends Object {\r\n [key: string]: any\r\n}\r\n\r\nexport declare interface ServerPaginationStandard {\r\n currentPage: number;\r\n showCount: number;\r\n totalResult: number;\r\n totalPage?: number;\r\n}\r\n\r\nexport declare interface HttpResponseDataStandard {\r\n state: number; // 为1才是成功\r\n data: json | [{}] | object | string | any; //没有值 data: ''\r\n mess: string; //返回的消息\r\n page?: ServerPaginationStandard;\r\n}\r\n\r\n\r\nexport declare interface HttpRseponseTransformCell {\r\n [key: string]: json\r\n}\r\n\r\nexport declare interface HttpOptions {\r\n headers?: {},\r\n isJsonEncode?: boolean\r\n isUrlEncode?: boolean\r\n isAutoShowMessage?: boolean\r\n isWithCredentials?: boolean\r\n isCommonHttpHeader?: boolean\r\n}\r\n\r\nexport enum UserAction {\r\n ADD,\r\n EDIT,\r\n DEL,\r\n QUERY,\r\n SUPPERADD\r\n}\r\n\r\nexport declare interface AtrFormOpt {\r\n type: 'add' | 'edit' | 'view',\r\n layout?: \"full\" | '1l2c' | '1l1c',\r\n items: AtrFormDetail[],//表单项目\r\n}\r\n\r\nexport declare interface AtrFormDetail {\r\n label: string,\r\n type: 'cascader' | 'radio' | 'text' | 'image' | 'select' | 'date' | 'number' | 'telphone' | 'password' | 'checkbox' | 'editor' | 'textarea' | 'dateTime' | 'title' | 'dateRange' | 'selectc',\r\n key: string,\r\n isHidden?: boolean,\r\n defaultValue?: any,\r\n value?: any,//编辑下原始数值\r\n dictCode?: string,//select 模式下配置\r\n span?: number,//显示宽度\r\n validators?: AtrFormValid[],//验证条件\r\n isRequired?: boolean | string,//隐性条件 无需填写, string类型格式同operator\r\n placeholder?: string,\r\n imageOpts?: ImageOpts,\r\n editContent?: string,\r\n height?: number,//editor有效\r\n disable?: boolean,\r\n lspan?: number,\r\n cspan?: number,\r\n rows?: number,//textarea 显示行数\r\n operator?: string,//显示操作符 格式 如:status|eq|0\r\n button?: formButton,\r\n readonly?: boolean,\r\n dateFormat?: string,\r\n dictList?: CusDict[],\r\n selectUrl?: { url: string, convert?: string, type?: 'get' | 'post', host?: 'oss' | 'serve', isMultiple?: boolean },\r\n treeList?: { key: string, title: string }[],\r\n ends?: string,\r\n proposal?: string,\r\n temp?: any,\r\n notNull?: boolean\r\n\r\n}\r\n\r\nexport declare interface AtrFormValid {\r\n type: 'required' | 'email' | 'telphone' | 'maxlength' | 'minlength' | 'pattern' | 'operator',\r\n errorLabel: string,\r\n maxlength?: number,\r\n minlength?: number,\r\n patternValue?: string\r\n}\r\n\r\nexport declare interface formButton {\r\n name: string,\r\n isShow: boolean,\r\n code: string\r\n}\r\n\r\nexport declare interface colorOperator {\r\n color: string,\r\n operator: string,//规则\r\n}\r\n\r\nexport declare interface AtrQueyrOpt {\r\n actions?: TableAction[],\r\n isIndex?: boolean,//是否显示序号,\r\n color?: colorOperator,//颜色\r\n checkBox?: {\r\n isShowCheckbox?: boolean,\r\n isRadio?: boolean,\r\n isForbid?: boolean,//true时只允许点击多选框选择\r\n },\r\n // isShowCheckbox?: boolean,\r\n showNum?: number,\r\n url: string,\r\n sort?: string,\r\n headers?: AtrQueryHeader[],\r\n tables: Table[],\r\n isAutoQuery?: boolean,//true时候默认触发查询\r\n defaultParams?: json,\r\n isHideQuery?: boolean\r\n // isRadio?:boolean,\r\n // isForbid?:boolean,//true时只允许点击多选框选择\r\n}\r\n\r\nexport declare interface Table {\r\n name: string,//表头名称\r\n key?: string,//实际数据字段\r\n defaultVal?: any,\r\n sortKey?: string,//是否排序\r\n sortable?: boolean,\r\n type: 'textcolor' | 'fixedText' | 'text' | 'link' | 'action' | 'image' | 'date' | 'dateTime' | 'sDateTime' | 'dict',//类型: 文字、链接、操作\r\n dictCode?: string,\r\n isShow?: boolean,\r\n width?: string,//150px\r\n actions?: TableAction[],\r\n isRowSpan?: boolean,\r\n isRight?: boolean\r\n isLeft?: boolean,\r\n color?: colorOperator,//颜色\r\n colorShow?: string,\r\n}\r\n\r\nexport declare interface AtrQueryHeader {\r\n name: string,\r\n type: 'cascader' | 'text' | 'number' | 'checkbox' | 'select' | 'datepicker' | 'selectCus' | 'dateRange' | 'sdate' | 'treeSelect',\r\n key: string,\r\n isShow?: boolean,\r\n code?: string,\r\n placeholder?: string,\r\n span?: number,\r\n dictCode?: string,//字典编码\r\n dictList?: CusDict[],\r\n defaultVal?: any // 默认值\r\n maxTagCount?: number,\r\n lspan?: number,\r\n cspan?: number,\r\n disableClear?: boolean,\r\n treeList?: { key: string, title: string }[]\r\n /**\r\n * 格式\r\n * convert:'key|id,title|realName'(treeSelect)\r\n * value|id,label|name(selectCus)\r\n */\r\n selectUrl?: { url: string, convert: string, isMultiple?: boolean },//convert: newKey|oldKey,newKey|oldKey(接口返回的值)\r\n icon?: { isShow: boolean, code: string, icon: any },\r\n dateMode?: 'week' | 'month' | 'year',\r\n}\r\n\r\nexport declare interface TableAction {\r\n name: string,\r\n code: string,\r\n url?: string,\r\n gType?: 'normal' | 'upload',\r\n data?: any,\r\n datas?: any[],\r\n icon?: string,\r\n numberOfChecked?: number,\r\n type?: 'rows' | 'row',\r\n operator?: string,//显示操作符\r\n buttonType?: 'primary' | 'dashed' | 'danger' | 'default' | 'link',\r\n value?: any,\r\n withoutRole?: boolean//不需要权限控制\r\n}\r\n\r\nexport declare interface FormAction {\r\n name: string,\r\n code: string\r\n}\r\n\r\nexport declare interface Dict {\r\n id: string,\r\n typeName: string,\r\n\r\n}\r\n\r\nexport declare interface DictGroup {\r\n groupCode: string,\r\n dicts: Dict[]\r\n}\r\n\r\nexport declare interface CusDict {\r\n label: string,\r\n value: string,\r\n}\r\n\r\nexport declare interface ImageOpts {\r\n limit?: number,\r\n uploadDir: string,\r\n removeAction?: string,\r\n imageList?: any[],\r\n key?: string,\r\n labe?: string,\r\n fileName?: string,\r\n uploadType?: 'drag' | '',\r\n nzFileType?: string\r\n}\r\n\r\nexport declare interface equipTestData {\r\n code: string\r\n itemName: string\r\n zhou1: number\r\n zhou2: number\r\n zhou3: number\r\n zhou4: number\r\n zhou5: number\r\n zhou6: number\r\n isWrong1?: boolean\r\n isWrong2?: boolean\r\n isWrong3?: boolean\r\n isWrong4?: boolean\r\n isWrong5?: boolean\r\n isWrong6?: boolean\r\n}\r\n\r\n\r\nexport declare interface SelectAction {\r\n name: string,\r\n code: \"ngModelChange\" | 'nzOpenChange',\r\n data?: any,\r\n key?: string,\r\n}\r\n","import {Component, OnInit} from '@angular/core';\nimport {atr_static_datas} from \"../../core/base/atr-common\";\n\n@Component({\n selector: 'atr-hello',\n templateUrl: './hello.component.html',\n styleUrls: ['./hello.component.css']\n})\nexport class HelloComponent implements OnInit {\n test = atr_static_datas.test;\n\n constructor() {\n }\n\n ngOnInit(): void {\n }\n\n}\n","<p>hello works!</p>\n<p>测试:{{test}}</p>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport {HelloComponent} from \"./hello.component\";\n\n\n\n@NgModule({\n declarations: [HelloComponent],\n imports: [\n CommonModule\n ],\n exports:[HelloComponent]\n})\nexport class HelloModule { }\n","/*\n * Public API Surface of components\n */\nexport * from './atr-components.module';\nexport * from './lib/hello/hello.module';\nexport * from './core/base/atr-common';\nexport { HelloComponent } from './lib/hello/hello.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"atr-components.mjs","sources":["../../../projects/components/src/atr-components.module.ts","../../../projects/components/src/core/base/atr-common.ts","../../../projects/components/src/lib/hello/hello.component.ts","../../../projects/components/src/lib/hello/hello.component.html","../../../projects/components/src/lib/hello/hello.module.ts","../../../projects/components/src/core/utils/AtrTools.util.ts","../../../projects/components/src/public-api.ts","../../../projects/components/src/atr-components.ts"],"sourcesContent":["import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\n\n\nconst COMMON_COMPONENT: any[] = []\n\n@NgModule({\n declarations:[...COMMON_COMPONENT],\n imports: [\n CommonModule\n ],\n exports: COMMON_COMPONENT\n\n})\nexport class AtrComponentsModule {\n}\n","export const atr_static_datas = {\r\n test: '1',\r\n OSS_URL:'',\r\n};\r\n\r\nexport declare interface json extends Object {\r\n [key: string]: any\r\n}\r\n\r\nexport declare interface ServerPaginationStandard {\r\n currentPage: number;\r\n showCount: number;\r\n totalResult: number;\r\n totalPage?: number;\r\n}\r\n\r\nexport declare interface HttpResponseDataStandard {\r\n state: number; // 为1才是成功\r\n data: json | [{}] | object | string | any; //没有值 data: ''\r\n mess: string; //返回的消息\r\n page?: ServerPaginationStandard;\r\n}\r\n\r\n\r\nexport declare interface HttpRseponseTransformCell {\r\n [key: string]: json\r\n}\r\n\r\nexport declare interface HttpOptions {\r\n headers?: {},\r\n isJsonEncode?: boolean\r\n isUrlEncode?: boolean\r\n isAutoShowMessage?: boolean\r\n isWithCredentials?: boolean\r\n isCommonHttpHeader?: boolean\r\n}\r\n\r\nexport enum UserAction {\r\n ADD,\r\n EDIT,\r\n DEL,\r\n QUERY,\r\n SUPPERADD\r\n}\r\n\r\nexport declare interface AtrFormOpt {\r\n type: 'add' | 'edit' | 'view',\r\n layout?: \"full\" | '1l2c' | '1l1c',\r\n items: AtrFormDetail[],//表单项目\r\n}\r\n\r\nexport declare interface AtrFormDetail {\r\n label: string,\r\n type: 'cascader' | 'radio' | 'text' | 'image' | 'select' | 'date' | 'number' | 'telphone' | 'password' | 'checkbox' | 'editor' | 'textarea' | 'dateTime' | 'title' | 'dateRange' | 'selectc',\r\n key: string,\r\n isHidden?: boolean,\r\n defaultValue?: any,\r\n value?: any,//编辑下原始数值\r\n dictCode?: string,//select 模式下配置\r\n span?: number,//显示宽度\r\n validators?: AtrFormValid[],//验证条件\r\n isRequired?: boolean | string,//隐性条件 无需填写, string类型格式同operator\r\n placeholder?: string,\r\n imageOpts?: ImageOpts,\r\n editContent?: string,\r\n height?: number,//editor有效\r\n disable?: boolean,\r\n lspan?: number,\r\n cspan?: number,\r\n rows?: number,//textarea 显示行数\r\n operator?: string,//显示操作符 格式 如:status|eq|0\r\n button?: formButton,\r\n readonly?: boolean,\r\n dateFormat?: string,\r\n dictList?: CusDict[],\r\n selectUrl?: { url: string, convert?: string, type?: 'get' | 'post', host?: 'oss' | 'serve', isMultiple?: boolean },\r\n treeList?: { key: string, title: string }[],\r\n ends?: string,\r\n proposal?: string,\r\n temp?: any,\r\n notNull?: boolean\r\n\r\n}\r\n\r\nexport declare interface AtrFormValid {\r\n type: 'required' | 'email' | 'telphone' | 'maxlength' | 'minlength' | 'pattern' | 'operator',\r\n errorLabel: string,\r\n maxlength?: number,\r\n minlength?: number,\r\n patternValue?: string\r\n}\r\n\r\nexport declare interface formButton {\r\n name: string,\r\n isShow: boolean,\r\n code: string\r\n}\r\n\r\nexport declare interface colorOperator {\r\n color: string,\r\n operator: string,//规则\r\n}\r\n\r\nexport declare interface AtrQueyrOpt {\r\n actions?: TableAction[],\r\n isIndex?: boolean,//是否显示序号,\r\n color?: colorOperator,//颜色\r\n checkBox?: {\r\n isShowCheckbox?: boolean,\r\n isRadio?: boolean,\r\n isForbid?: boolean,//true时只允许点击多选框选择\r\n },\r\n // isShowCheckbox?: boolean,\r\n showNum?: number,\r\n url: string,\r\n sort?: string,\r\n headers?: AtrQueryHeader[],\r\n tables: Table[],\r\n isAutoQuery?: boolean,//true时候默认触发查询\r\n defaultParams?: json,\r\n isHideQuery?: boolean\r\n // isRadio?:boolean,\r\n // isForbid?:boolean,//true时只允许点击多选框选择\r\n}\r\n\r\nexport declare interface Table {\r\n name: string,//表头名称\r\n key?: string,//实际数据字段\r\n defaultVal?: any,\r\n sortKey?: string,//是否排序\r\n sortable?: boolean,\r\n type: 'textcolor' | 'fixedText' | 'text' | 'link' | 'action' | 'image' | 'date' | 'dateTime' | 'sDateTime' | 'dict',//类型: 文字、链接、操作\r\n dictCode?: string,\r\n isShow?: boolean,\r\n width?: string,//150px\r\n actions?: TableAction[],\r\n isRowSpan?: boolean,\r\n isRight?: boolean\r\n isLeft?: boolean,\r\n color?: colorOperator,//颜色\r\n colorShow?: string,\r\n}\r\n\r\nexport declare interface AtrQueryHeader {\r\n name: string,\r\n type: 'cascader' | 'text' | 'number' | 'checkbox' | 'select' | 'datepicker' | 'selectCus' | 'dateRange' | 'sdate' | 'treeSelect',\r\n key: string,\r\n isShow?: boolean,\r\n code?: string,\r\n placeholder?: string,\r\n span?: number,\r\n dictCode?: string,//字典编码\r\n dictList?: CusDict[],\r\n defaultVal?: any // 默认值\r\n maxTagCount?: number,\r\n lspan?: number,\r\n cspan?: number,\r\n disableClear?: boolean,\r\n treeList?: { key: string, title: string }[]\r\n /**\r\n * 格式\r\n * convert:'key|id,title|realName'(treeSelect)\r\n * value|id,label|name(selectCus)\r\n */\r\n selectUrl?: { url: string, convert: string, isMultiple?: boolean },//convert: newKey|oldKey,newKey|oldKey(接口返回的值)\r\n icon?: { isShow: boolean, code: string, icon: any },\r\n dateMode?: 'week' | 'month' | 'year',\r\n}\r\n\r\nexport declare interface TableAction {\r\n name: string,\r\n code: string,\r\n url?: string,\r\n gType?: 'normal' | 'upload',\r\n data?: any,\r\n datas?: any[],\r\n icon?: string,\r\n numberOfChecked?: number,\r\n type?: 'rows' | 'row',\r\n operator?: string,//显示操作符\r\n buttonType?: 'primary' | 'dashed' | 'danger' | 'default' | 'link',\r\n value?: any,\r\n withoutRole?: boolean//不需要权限控制\r\n}\r\n\r\nexport declare interface FormAction {\r\n name: string,\r\n code: string\r\n}\r\n\r\nexport declare interface Dict {\r\n id: string,\r\n typeName: string,\r\n\r\n}\r\n\r\nexport declare interface DictGroup {\r\n groupCode: string,\r\n dicts: Dict[]\r\n}\r\n\r\nexport declare interface CusDict {\r\n label: string,\r\n value: string,\r\n}\r\n\r\nexport declare interface ImageOpts {\r\n limit?: number,\r\n uploadDir: string,\r\n removeAction?: string,\r\n imageList?: any[],\r\n key?: string,\r\n labe?: string,\r\n fileName?: string,\r\n uploadType?: 'drag' | '',\r\n nzFileType?: string\r\n}\r\n\r\nexport declare interface equipTestData {\r\n code: string\r\n itemName: string\r\n zhou1: number\r\n zhou2: number\r\n zhou3: number\r\n zhou4: number\r\n zhou5: number\r\n zhou6: number\r\n isWrong1?: boolean\r\n isWrong2?: boolean\r\n isWrong3?: boolean\r\n isWrong4?: boolean\r\n isWrong5?: boolean\r\n isWrong6?: boolean\r\n}\r\n\r\n\r\nexport declare interface SelectAction {\r\n name: string,\r\n code: \"ngModelChange\" | 'nzOpenChange',\r\n data?: any,\r\n key?: string,\r\n}\r\n","import {Component, OnInit} from '@angular/core';\nimport {atr_static_datas} from \"../../core/base/atr-common\";\n\n@Component({\n selector: 'atr-hello',\n templateUrl: './hello.component.html',\n styleUrls: ['./hello.component.css']\n})\nexport class HelloComponent implements OnInit {\n test = atr_static_datas.test;\n\n constructor() {\n }\n\n ngOnInit(): void {\n }\n\n}\n","<p>hello works!</p>\n<p>测试:{{test}}</p>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport {HelloComponent} from \"./hello.component\";\n\n\n\n@NgModule({\n declarations: [HelloComponent],\n imports: [\n CommonModule\n ],\n exports:[HelloComponent]\n})\nexport class HelloModule { }\n","import {json, AtrFormOpt, atr_static_datas} from '../base/atr-common';\r\nimport {formatDate} from '@angular/common';\r\nimport {HttpHeaders} from \"@angular/common/http\";\r\nimport {SimpleChange} from '@angular/core';\r\nimport {Validators} from \"@angular/forms\";\r\n\r\nexport class AtrToolsUtil {\r\n static ossPrefix = atr_static_datas.OSS_URL;\r\n static getOrgCode = function () {\r\n // var orgCode = '';\r\n // var hrefs = window.location.href.split('?')\r\n // if (hrefs.length >= 2) {\r\n // var paramStr = hrefs[1];\r\n // //参数字符串里有没带 =?/#\r\n // orgCode = paramStr.split('=')[0];\r\n // orgCode = orgCode.split('?')[0];\r\n // orgCode = orgCode.split('/')[0];\r\n // orgCode = orgCode.split('#')[0];\r\n // orgCode = orgCode.split('/')[0];\r\n // }\r\n\r\n return '';\r\n }\r\n static isNull(val:any){\r\n if(val || ['boolean','string','number'].some(v => typeof val == v) ){\r\n return false\r\n }\r\n return true\r\n }\r\n static getControlsConfig(dataFrom:any, requiredRule: string[]) {\r\n let controlsConfig: any = {}\r\n for (const key in dataFrom) {\r\n if (requiredRule.some(item => item == key)) {\r\n controlsConfig[key] = [dataFrom[key], [Validators.required]]\r\n } else {\r\n controlsConfig[key] = [dataFrom[key]]\r\n }\r\n }\r\n return controlsConfig;\r\n }\r\n\r\n static httpSucces(res:any) {\r\n return res.status == 200\r\n }\r\n\r\n static diffInput(chng: SimpleChange, action: () => void): void {\r\n if (chng === undefined) return;\r\n\r\n let cur = JSON.stringify(chng.currentValue);\r\n let prev = JSON.stringify(chng.previousValue);\r\n if (cur !== prev) {\r\n action();\r\n }\r\n }\r\n\r\n static diffInputs(chng: SimpleChange[], action: () => void): void {\r\n if (chng === undefined) return;\r\n if (chng.length == 0) return;\r\n for (let i = 0; i < chng.length; i++) {\r\n let item = chng[i];\r\n if (item === undefined) continue;\r\n let cur = JSON.stringify(item.currentValue);\r\n let prev = JSON.stringify(item.previousValue);\r\n if (cur !== prev) {\r\n action();\r\n return;\r\n }\r\n\r\n\r\n }\r\n }\r\n\r\n static getYesterday(day: Date): Date {\r\n\r\n let time = day.getTime() - 1000 * 60 * 60 * 24;\r\n day = new Date(time);\r\n\r\n return day;\r\n }\r\n\r\n static getTomorrowday(day: Date): Date {\r\n let time = day.getTime() + 1000 * 60 * 60 * 24;\r\n\r\n return new Date(time);\r\n }\r\n\r\n static getNextMonth(day: Date) {\r\n let ds = new Date(day).setMonth(day.getMonth() + 1);\r\n return new Date(ds);\r\n }\r\n\r\n\r\n static fistDayOfMonth(day: Date) {\r\n return new Date(new Date(day).setDate(1));\r\n }\r\n\r\n static lastDayOfMonth(day: Date) {\r\n return new Date(AtrToolsUtil.getNextMonth(day).setDate(0));\r\n }\r\n\r\n static getRandomFileName = function () {\r\n const expect = 16;\r\n let str = Math.random().toString(36).substring(2);\r\n while (str.length < expect) {\r\n str += Math.random().toString(36).substring(2);\r\n }\r\n return str.substring(0, expect);\r\n }\r\n\r\n static getFileExt = function (fileName:string) {\r\n var index = fileName.lastIndexOf(\".\");\r\n var suffix = fileName.substr(index + 1);\r\n return suffix;\r\n }\r\n\r\n static getHttpOptions(): any {\r\n return {isCommonHttpHeader: true}\r\n }\r\n\r\n\r\n static resetFormValue(opt: AtrFormOpt, json: json): AtrFormOpt {\r\n for (let item of opt.items) {\r\n item.value = \"\";\r\n // console.log(item.value);\r\n for (const key of Object.keys(json)) {\r\n if (json.hasOwnProperty(key) && json[key] != null && json[key] != undefined && key == item.key) {\r\n if (item.type == 'date')\r\n item.value = new Date(json[key]);\r\n else if (item.type == 'dateTime') {\r\n item.value = new Date(json[key]);\r\n } else\r\n item.value = json[key]\r\n }\r\n }\r\n }\r\n return opt;\r\n }\r\n\r\n static getFormatDate(date: Date): string {\r\n let month: string | number = date.getMonth() + 1;\r\n let strDate: string | number = date.getDate();\r\n\r\n if (month <= 9) {\r\n month = \"0\" + month;\r\n }\r\n\r\n if (strDate <= 9) {\r\n strDate = \"0\" + strDate;\r\n }\r\n\r\n return date.getFullYear() + \"-\" + month + \"-\" + strDate\r\n // + \" \"\r\n // + date.getHours() + \":\" + date.getMinutes() + \":\" + date.getSeconds();\r\n }\r\n\r\n static getFormatDateFull(date: Date): string {\r\n let month: string | number = date.getMonth() + 1;\r\n let strDate: string | number = date.getDate();\r\n\r\n if (month <= 9) {\r\n month = \"0\" + month;\r\n }\r\n\r\n if (strDate <= 9) {\r\n strDate = \"0\" + strDate;\r\n }\r\n\r\n return date.getFullYear() + \"-\" + month + \"-\" + strDate + \" \" + (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + \":\" + (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()) + \":\" + (date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds());\r\n }\r\n\r\n static getFormatDateWithoutS(date: Date): string {\r\n let month: string | number = date.getMonth() + 1;\r\n let strDate: string | number = date.getDate();\r\n let hours: string | number = date.getHours();\r\n let seconds: string | number = date.getMinutes();\r\n if (month <= 9) {\r\n month = \"0\" + month;\r\n }\r\n\r\n if (strDate <= 9) {\r\n strDate = \"0\" + strDate;\r\n }\r\n if (hours <= 9) {\r\n hours = \"0\" + hours;\r\n }\r\n if (seconds <= 9) {\r\n seconds = \"0\" + seconds;\r\n }\r\n return date.getFullYear() + \"-\" + month + \"-\" + strDate + \" \" + hours + \":\" + seconds;\r\n }\r\n\r\n static getOssUrl(url: string) {\r\n if (!url) {\r\n return \"\";\r\n }\r\n if (url.startsWith(\"http\")) {\r\n return url\r\n }\r\n return this.ossPrefix + url;\r\n }\r\n\r\n static mul(...numbers:any) {\r\n if (numbers.length < 2) {\r\n return;\r\n }\r\n let m = this.getDigit(numbers);\r\n let result = 1;\r\n numbers.forEach(\r\n (num:any) => {\r\n let s = num.toString();\r\n result *= Number(s.replace(\".\", \"\"));\r\n }\r\n );\r\n return result / Math.pow(10, m);\r\n }\r\n\r\n static getDigit(...numbers:any[]) {\r\n let m = 0;\r\n numbers.forEach(\r\n num => {\r\n let s = num.toString();\r\n try {\r\n m += s.split(\".\")[1].length\r\n } catch (e) {\r\n }\r\n }\r\n );\r\n return m;\r\n }\r\n\r\n static downloadImg(data:any, fileName?: string, endpoint?: string) {\r\n // // 下载类型 xls\r\n // const contentType = 'image/jpeg';\r\n // // const contentType = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';\r\n // // 下载类型:csv\r\n // const debug = {hello: \"world\"};\r\n // const blob = new Blob([],{type : 'image/jpeg'});\r\n // const url = window.URL.createObjectURL(blob);\r\n //\r\n // // 打开新窗口方式进行下载\r\n // // window.open(url);\r\n //\r\n // // 以动态创建a标签进行下载\r\n const a = document.createElement('a');\r\n a.href = data;\r\n // a.download = fileName;\r\n a.download = fileName?fileName:\"\" + endpoint;\r\n a.click();\r\n }\r\n\r\n static downloadXls(url:string, params?: any,) {\r\n console.log(params);\r\n if (params) {\r\n url += \"?\";\r\n for (const key of Object.keys(params)) {\r\n if (params[key]) {\r\n url += key + \"=\" + params[key] + \"&&\"\r\n }\r\n }\r\n }\r\n console.log(url);\r\n // window.open(url);\r\n const a = document.createElement('a');\r\n a.href = url;\r\n // // a.download = fileName;\r\n // a.download = \"3321.xls\";\r\n a.click();\r\n }\r\n\r\n static pixelToNum(width:any) {\r\n const re = /px/gi;\r\n let widthStr = width.replace(re, \"\");\r\n return Number(widthStr);\r\n }\r\n\r\n static allEqual = (...array:any[]) => array.every(item => item === array[0]);\r\n\r\n /**\r\n * array所有参数满足fn函数返回true\r\n * all(x => x > 1,1,2,3); // true\r\n * @param callback\r\n * @param array\r\n */\r\n static satisfiedFn = (callback: (...args: any[]) => boolean, ...array:any[]) => array.every(callback);\r\n\r\n //全部不空为true\r\n static notEmpty(...arr:any[]): boolean {\r\n return arr.every(item => !!item)\r\n }\r\n\r\n //包含空为true\r\n static hasEmpty(...arr:any[]): boolean {\r\n return arr.some(item => !item);\r\n }\r\n\r\n static allEmpty(...arr:any[]) {\r\n return arr.every(item => !item);\r\n }\r\n\r\n static encodeValue(params:any) {\r\n Object.keys(params).forEach(key => params[key] = encodeURIComponent(params[key]));\r\n return params;\r\n }\r\n\r\n static windowHeight() {\r\n return document.documentElement.clientHeight;\r\n }\r\n static windowWidth() {\r\n\r\n return document.documentElement.clientWidth;\r\n }\r\n\r\n static modaleStyle() {\r\n return {'maxHeight': AtrToolsUtil.windowHeight() - 200 + 'px', 'overflow-y': 'auto'};\r\n }\r\n}\r\n","/*\n * Public API Surface of components\n */\n\nexport * from './atr-components.module';\nexport * from './lib/hello/hello.module';\nexport * from './core/base/atr-common';\nexport {AtrToolsUtil} from \"./core/utils/AtrTools.util\"\nexport { HelloComponent } from './lib/hello/hello.component';\n\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/public-api.d.ts
CHANGED