UNPKG

kre-form

Version:

本项目由 Angular8+ 编写的表单设计器和表单应用,所有的配置都是 JSON 结构体组成,PC 端是基于 ANT 组件库封装

777 lines 226 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ var Formula = /** @class */ (function () { function Formula() { this.FormulaUsage = [ { category: "班段验证", categoryCode: "SHIFTVALID", contains: [ { name: "ABNORMALHD", intro: "ABNORMALHD\u51FD\u6570\u7528\u4E8E\u9A8C\u8BC1\u73ED\u6BB5\u5168\u5929\u5F02\u5E38\n <br/>\n \u51FD\u6570\u5305\u542B3\u4E2A\u53C2\u6570\u53EF\u914D\u7F6E\uFF1A\u662F\u5426\u52A0\u4E0A\u6240\u6709\u4F11\u5047\u9879\u76EE\uFF1B\u662F\u5426\u52A0\u4E0A\u6240\u6709\u516C\u51FA\u9879\u76EE\uFF1B\u662F\u5426\u52A0\u4E0A\u6240\u6709\u52A0\u73ED\u9879\u76EE\n <br/> \n \u89C4\u5219\uFF1A\n <br/>\n \uFF08\u6253\u5361\u65F6\u6BB5\uFF08\u4E0A\uFF09+\u6240\u6709\u4F11\u5047\u65F6\u6BB5+\u6240\u6709\u516C\u51FA\u65F6\u6BB5+\u6240\u6709\u52A0\u73ED\u65F6\u6BB5\uFF09<\u6807\u51C6\u73ED\u6BB5(\u4E0A)\n <br/>\n \uFF08\u6253\u5361\u65F6\u6BB5\uFF08\u4E0B\uFF09+\u6240\u6709\u4F11\u5047\u65F6\u6BB5+\u6240\u6709\u516C\u51FA\u65F6\u6BB5+\u6240\u6709\u52A0\u73ED\u65F6\u6BB5\uFF09<\u6807\u51C6\u73ED\u6BB5(\u4E0B)\n <br/>\n \u4E8C\u8005\u5747\u7B26\u5408<br/> \n ", usage: "ABNORMALHD\uFF080\uFF0C0\uFF0C0\uFF09\n <br/>\n 0\u4EE3\u8868\u5173\u95ED\u53C2\u6570\uFF0C1\u4EE3\u8868\u5F00\u542F\u53C2\u6570\n <br/>\n \u9A8C\u8BC1\u901A\u8FC7\u8FD4\u56DE\u503C\u4E3Atrue\uFF0C\u9A8C\u8BC1\u4E0D\u901A\u8FC7\u8FD4\u56DEfalse\n ", example: "\u914D\u7F6E\uFF1AABNORMALHD\uFF081\uFF0C0\uFF0C0\uFF09\n <br/>\n \u5F53 \u6253\u5361\u65F6\u6BB5\uFF08\u4E0A\uFF09+\u6240\u6709\u4F11\u5047\u65F6\u6BB5<\u6807\u51C6\u73ED\u6BB5(\u4E0A) \u6216\u8005 \u6253\u5361\u65F6\u6BB5\uFF08\u4E0B\uFF09+\u6240\u6709\u4F11\u5047\u65F6\u6BB5<\u6807\u51C6\u73ED\u6BB5(\u4E0B) \n <br/>\n \u7B26\u5408\u6240\u6709\u60C5\u51B5\u5219\u8FD4\u56DE\u4E3Atrue\n <br/>\n \u4E0D\u7B26\u5408\u5219\u8FD4\u56DEfalse\n ", }, { name: "ABNORMALAD", intro: "ABNORMALAD\u51FD\u6570\u7528\u4E8E\u9A8C\u8BC1\u73ED\u6BB5\u534A\u5929\u5F02\u5E38\n <br/>\n \u51FD\u6570\u5305\u542B3\u4E2A\u53C2\u6570\u53EF\u914D\u7F6E\uFF1A\u662F\u5426\u52A0\u4E0A\u6240\u6709\u4F11\u5047\u9879\u76EE\uFF1B\u662F\u5426\u52A0\u4E0A\u6240\u6709\u516C\u51FA\u9879\u76EE\uFF1B\u662F\u5426\u52A0\u4E0A\u6240\u6709\u52A0\u73ED\u9879\u76EE\n <br/>\n \u89C4\u5219\uFF1A\n <br/>\n \uFF08\u6253\u5361\u65F6\u6BB5\uFF08\u4E0A\uFF09+\u6240\u6709\u4F11\u5047\u65F6\u6BB5+\u6240\u6709\u516C\u51FA\u65F6\u6BB5+\u6240\u6709\u52A0\u73ED\u65F6\u6BB5\uFF09<\u6807\u51C6\u73ED\u6BB5(\u4E0A)\n <br/>\n \uFF08\u6253\u5361\u65F6\u6BB5\uFF08\u4E0B\uFF09+\u6240\u6709\u4F11\u5047\u65F6\u6BB5+\u6240\u6709\u516C\u51FA\u65F6\u6BB5+\u6240\u6709\u52A0\u73ED\u65F6\u6BB5\uFF09<\u6807\u51C6\u73ED\u6BB5(\u4E0B)\n <br/>\n \u4E8C\u8005\u4EC5\u7B26\u5408\u5176\u4E00\n <br/>\n ", usage: "ABNORMALAD\uFF080\uFF0C0\uFF0C0\uFF09\n <br/>\n 0\u4EE3\u8868\u5173\u95ED\u53C2\u6570\uFF0C1\u4EE3\u8868\u5F00\u542F\u53C2\u6570 \n <br/>\n \u9A8C\u8BC1\u901A\u8FC7\u8FD4\u56DE\u503C\u4E3Atrue\uFF0C\u9A8C\u8BC1\u4E0D\u901A\u8FC7\u8FD4\u56DEfalse\n <br/>\n ", example: "\u914D\u7F6E\uFF1AABNORMALAD\uFF081\uFF0C0\uFF0C0\uFF09\n <br/>\n \u5F53 \u6253\u5361\u65F6\u6BB5\uFF08\u4E0A\uFF09+\u6240\u6709\u4F11\u5047\u65F6\u6BB5<\u6807\u51C6\u73ED\u6BB5(\u4E0A) \u6216\u8005 \u6253\u5361\u65F6\u6BB5\uFF08\u4E0B\uFF09+\u6240\u6709\u4F11\u5047\u65F6\u6BB5<\u6807\u51C6\u73ED\u6BB5(\u4E0B)\n <br/>\n \u7B26\u5408\u4EFB\u610F\u60C5\u51B5\u5219\u8FD4\u56DE\u4E3Atrue\n <br/>\n \u5747\u4E0D\u7B26\u5408\u5219\u8FD4\u56DEfalse", }, ], }, { category: "计算出勤天数", categoryCode: "ATSDAYCALC", contains: [ { name: "ATTENDANCE1", intro: "ATTENDANCE1\u51FD\u6570\u7528\u4E8E\u8BA1\u7B97\u73ED\u6BB5\u4E0A\u51FA\u52E4\u65F6\u6570\n <br/>\n \u51FD\u6570\u5305\u542B4\u4E2A\u53C2\u6570\u53EF\u914D\u7F6E\uFF1A\u662F\u5426\u52A0\u4E0A\u6240\u6709\u4F11\u5047\u65F6\u6BB5\uFF1B\u662F\u5426\u52A0\u4E0A\u6240\u6709\u516C\u51FA\u65F6\u6BB5\uFF1B\u662F\u5426\u52A0\u4E0A\u6240\u6709\u52A0\u73ED\u65F6\u6BB5\uFF1B\u5141\u8BB8\u5DEE\u503C\u6570\u3002\n <br/>\n \u89C4\u5219\uFF1A\n <br/>\n \u6253\u5361\u65F6\u6BB5\uFF08\u73ED\u6BB5\u4E0A\uFF09+\u6240\u6709\u4F11\u5047\u65F6\u6BB5\uFF08\u73ED\u6BB5\u4E0A\uFF09+\u6240\u6709\u516C\u51FA\u65F6\u6BB5\uFF08\u73ED\u6BB5\u4E0A\uFF09+\u6240\u6709\u52A0\u73ED\u65F6\u6BB5\uFF08\u73ED\u6BB5\u4E0A\uFF09+ \u5141\u8BB8\u5DEE\u503C\u6570 \u9A8C\u8BC1\u662F\u5426\u5168\u8986\u76D6\u6807\u51C6\u73ED\u6BB5(\u73ED\u6BB5\u4E0A) \n ", usage: "ATTENDANCE1\uFF080\uFF0C0\uFF0C0\uFF0C0\uFF09\n <br/>\n \u524D3\u4E2A\u53C2\u65700\u4EE3\u8868\u5173\u95ED\u53C2\u6570\uFF0C1\u4EE3\u8868\u5F00\u542F\u53C2\u6570\n <br/>\n \u540E\u4E00\u4E2A\u53C2\u65700\u4EE3\u8868\u4E0D\u5141\u8BB8\u5DEE\u503C\uFF0C\u5177\u4F53\u6570\u5B57\u4EE3\u8868\u5141\u8BB8\u5DEE\u503C\u5206\u949F\u6570\uFF08\u652F\u6301\u6B63\u6574\u6570\uFF09\n <br/>\n \u8FD4\u56DE\u5168\u8986\u76D6\u5219\u8FD4\u56DE\u5F53\u524D\u914D\u7F6E\u73ED\u6BB5\u65F6\u6570\uFF0C\u672A\u5168\u8986\u76D6\u5219\u8FD4\u56DE0\n <br/>\n ", example: "\u914D\u7F6E\uFF1AATTENDANCE1\uFF080\uFF0C0\uFF0C0\uFF0C0\uFF09 \n <br/>\n \u8BA1\u7B97\u73ED\u6BB5\u4E0A\u51FA\u52E4\u5929\u6570\uFF1AATTENDANCE1\uFF081\uFF0C0\uFF0C0\uFF0C0\uFF09\n <br/>\n \u5F53\u6253\u5361\u65F6\u6BB5\uFF08\u73ED\u6BB5\u4E0A\uFF09+\u6240\u6709\u4F11\u5047\u65F6\u6BB5\uFF08\u73ED\u6BB5\u4E0A\uFF09\u5168\u8986\u76D6\u6807\u51C6\u73ED\u6BB5(\u73ED\u6BB5\u4E0A)\n <br/>\n \u7B26\u5408\u60C5\u51B5\u5219\u8FD4\u56DE\u6807\u51C6\u5DE5\u65F6\uFF08\u73ED\u6BB5\u4E0A\uFF09\uFF08\u65F6\u6570\uFF09\uFF0C\u5747\u4E0D\u7B26\u5408\u5219\u8FD4\u56DE0", }, { name: "ATTENDANCE2", intro: "ATTENDANCE2\u51FD\u6570\u7528\u4E8E\u8BA1\u7B97\u73ED\u6BB5\u4E0B\u51FA\u52E4\u65F6\u6570\n <br/>\n \u51FD\u6570\u5305\u542B4\u4E2A\u53C2\u6570\u53EF\u914D\u7F6E\uFF1A\u662F\u5426\u52A0\u4E0A\u6240\u6709\u4F11\u5047\u65F6\u6BB5\uFF1B\u662F\u5426\u52A0\u4E0A\u6240\u6709\u516C\u51FA\u65F6\u6BB5\uFF1B\u662F\u5426\u52A0\u4E0A\u6240\u6709\u52A0\u73ED\u65F6\u6BB5\uFF1B\u5141\u8BB8\u5DEE\u503C\u6570\u3002\n <br/>\n \u89C4\u5219\uFF1A\n <br/>\n \u6253\u5361\u65F6\u6BB5\uFF08\u73ED\u6BB5\u4E0B\uFF09+\u6240\u6709\u4F11\u5047\u65F6\u6BB5\uFF08\u73ED\u6BB5\u4E0B\uFF09+\u6240\u6709\u516C\u51FA\u65F6\u6BB5\uFF08\u73ED\u6BB5\u4E0B\uFF09+\u6240\u6709\u52A0\u73ED\u65F6\u6BB5\uFF08\u73ED\u6BB5\u4E0B\uFF09+ \u5141\u8BB8\u5DEE\u503C\u6570\u9A8C\u8BC1\u662F\u5426\u5168\u8986\u76D6\u6807\u51C6\u73ED\u6BB5(\u73ED\u6BB5\u4E0B)\n ", usage: "ATTENDANCE2\uFF080\uFF0C0\uFF0C0\uFF0C0\uFF09\n <br/>\n \u524D3\u4E2A\u53C2\u65700\u4EE3\u8868\u5173\u95ED\u53C2\u6570\uFF0C1\u4EE3\u8868\u5F00\u542F\u53C2\u6570\n <br/>\n \u540E\u4E00\u4E2A\u53C2\u65700\u4EE3\u8868\u4E0D\u5141\u8BB8\u5DEE\u503C\uFF0C\u5177\u4F53\u6570\u5B57\u4EE3\u8868\u5141\u8BB8\u5DEE\u503C\u5206\u949F\u6570\uFF08\u652F\u6301\u6B63\u6574\u6570\uFF09\n <br/>\n \u8FD4\u56DE\u5168\u8986\u76D6\u5219\u8FD4\u56DE\u5F53\u524D\u914D\u7F6E\u73ED\u6BB5\u65F6\u6570\uFF0C\u672A\u5168\u8986\u76D6\u5219\u8FD4\u56DE0\n <br/>\n ", example: "\u914D\u7F6E\uFF1AATTENDANCE2\uFF080\uFF0C0\uFF0C0\uFF0C0\uFF09\n <br/>\n \u8BA1\u7B97\u73ED\u6BB5\u4E0B\u51FA\u52E4\u5929\u6570\uFF1AATTENDANCE2\uFF081\uFF0C0\uFF0C0\uFF0C0\uFF09\n <br/>\n \u5F53\u6253\u5361\u65F6\u6BB5\uFF08\u73ED\u6BB5\u4E0B\uFF09+\u6240\u6709\u4F11\u5047\u65F6\u6BB5\uFF08\u73ED\u6BB5\u4E0B\uFF09\u5168\u8986\u76D6\u6807\u51C6\u73ED\u6BB5(\u73ED\u6BB5\u4E0B)\n <br/>\n \u7B26\u5408\u60C5\u51B5\u5219\u8FD4\u56DE\u6807\u51C6\u5DE5\u65F6\uFF08\u73ED\u6BB5\u4E0B\uFF09\uFF08\u65F6\u6570\uFF09\uFF0C\u5747\u4E0D\u7B26\u5408\u5219\u8FD4\u56DE0", }, ], }, { category: "通用函数", categoryCode: "BASE", contains: [ { name: "PRECISION", intro: "PRECISION\u51FD\u6570\u7528\u4E8E\u8BBE\u7F6E\u8BA1\u7B97\u7ED3\u679C\u8F93\u51FA\u7684\u7CBE\u5EA6\u4E0E\u8FDB\u4F4D\u89C4\u5219\n <br/>\n \u51FD\u6570\u5305\u542B2\u4E2A\u53C2\u6570\u53EF\u914D\u7F6E\uFF1A\u7CBE\u5EA6\uFF1B\u8FDB\u4F4D\u89C4\u5219", usage: "PRECISION\uFF08\u8BA1\u7B97\u5BF9\u8C61\uFF0C0\uFF0C0\uFF09\n <br/>\n \u7B2C\u4E00\u4E2A\u53C2\u6570\uFF1A\u8BBE\u7F6E\u7CBE\u5EA6\uFF0C\u652F\u6301\u5C5E\u4E8E0-3\u4E4B\u95F4\u7684\u6574\u6570\u3002\u5176\u4F59\u7ED3\u679C\u63090\u8BA1\u7B97\n <br/>\n \u7B2C\u4E8C\u4E2A\u53C2\u6570\uFF1A\u8BBE\u7F6E\u8FDB\u4F4D\u89C4\u5219\uFF0C0\u4EE3\u8868\u56DB\u820D\u4E94\u5165\uFF1B1\u4EE3\u8868\u5411\u4E0A\u8FDB\u4F4D\uFF1B2\u4EE3\u8868\u5411\u4E0B\u8FDB\u4F4D\n <br/>\n ", example: "\u914D\u7F6E\uFF1APRECISION\uFF087.916\uFF0C1\uFF0C0\uFF09\uFF0C\u5219\u8F93\u51FA\u7ED3\u679C\u4E3A\uFF1A7.9\n <br/>\n PRECISION\uFF087.916\uFF0C2\uFF0C1\uFF09\uFF0C\u5219\u8F93\u51FA\u7ED3\u679C\u4E3A\uFF1A7.92\n <br/>\n PRECISION\uFF087.916\uFF0C2\uFF0C2\uFF09\uFF0C\u5219\u8F93\u51FA\u7ED3\u679C\u4E3A\uFF1A7.91", }, { name: "Daycompute", intro: "Daycompute\u53EF\u57FA\u4E8E\u53E6\u4E00\u4E2A\u65E5\u671F\u578B\u5B57\u6BB5\u52A0\u51CF\u4E00\u4E2A\u6307\u5B9A\u7684\u6570\u503C\uFF0C\u4ECE\u800C\u8BA1\u7B97\u5F53\u524D\u65E5\u671F\u578B\u5B57\u6BB5\u7684\u9ED8\u8BA4\u503C", usage: "Daycompute\uFF08\u65E5\u671F\u578B\u5B57\u6BB5,\u8FD0\u7B97\u5929\u6570\uFF09\n <br/>\n \u7B2C\u4E00\u4E2A\u53C2\u6570\uFF1A\u9009\u62E9\u65E5\u671F\u578B\u5B57\u6BB5\n <br/>\n \u7B2C\u4E8C\u4E2A\u53C2\u6570\uFF1A\u8F93\u5165\u5929\u6570\uFF0C\u652F\u6301\u6B63\u8D1F\u6570\uFF1B\u4E0D\u652F\u6301\u5C0F\u6570\n ", example: "\u914D\u7F6E\uFF1ADaycompute\uFF08\u79BB\u804C\u65E5\u671F,1\uFF09\n <br/>\n \u79BB\u804C\u65E5\u671F=2022/1/1\n <br/>\n \u7ED3\u679C\u8F93\u51FA=2022/1/2\n <br/>\n \u914D\u7F6E\uFF1ADaycompute\uFF08\u79BB\u804C\u65E5\u671F,-1\uFF09\n <br/>\n \u79BB\u804C\u65E5\u671F=2022/1/1\n <br/>\n \u7ED3\u679C\u8F93\u51FA=2021/12/31\n <br/>\n ", }, { name: "Hourcalculation", intro: "Hourcalculation\u7528\u4E8E\u8BA1\u7B97\u65E5\u671F\u65F6\u95F4\u4E4B\u95F4\u5C0F\u65F6\u6570\n <br/>\n \u5305\u542B6\u4E2A\u53C2\u6570\uFF1A\u5F00\u59CB\u65F6\u95F4\uFF1B\u662F\u5426\u5305\u542B\u5F00\u59CB\u65F6\u95F4\uFF1B\u7ED3\u675F\u65F6\u95F4\uFF1B\u662F\u5426\u5305\u542B\u7ED3\u675F\u65F6\u95F4\uFF1B\u6700\u5C0F\u5355\u4F4D\uFF1B\u8FDB\u4F4D\u89C4\u5219", usage: "Hourcalculation\uFF08\u5F00\u59CB\u65F6\u95F4,0,\u7ED3\u675F\u65F6\u95F4,0,1,1\uFF09\n <br/>\n \u7B2C\u4E00\u4E2A\u53C2\u6570\uFF1A\u9009\u62E9\u5F00\u59CB\u65E5\u671F\u5B57\u6BB5\n <br/>\n \u7B2C\u4E8C\u4E2A\u53C2\u6570\uFF1A\u662F\u5426\u5305\u542B\u5F00\u59CB\u65E5\u671F\uFF0C1\u4EE3\u8868\u5305\u542B\uFF0C0\u4EE3\u8868\u4E0D\u5305\u542B\n <br/>\n \u7B2C\u4E09\u4E2A\u53C2\u6570\uFF1A\u9009\u62E9\u7ED3\u675F\u65E5\u671F\u5B57\u6BB5\n <br/>\n \u7B2C\u56DB\u4E2A\u53C2\u6570\uFF1A\u662F\u5426\u5305\u542B\u7ED3\u675F\u65E5\u671F\uFF0C1\u4EE3\u8868\u5305\u542B\uFF0C0\u4EE3\u8868\u4E0D\u5305\u542B\n <br/>\n \u7B2C\u4E94\u4E2A\u53C2\u6570\uFF1A\u8BBE\u7F6E\u6700\u5C0F\u5355\u4F4D\uFF0C1\u4EE3\u8868\u6700\u5C0F\u5355\u4F4D\u4E3A1\uFF0C0.5\u4EE3\u8868\u6700\u5C0F\u5355\u4F4D\u4E3A0.5\n <br/>\n \u7B2C\u516D\u4E2A\u53C2\u6570\uFF1A\u8BBE\u7F6E\u8FDB\u4F4D\u89C4\u5219\uFF0C1\u4EE3\u8868\u5411\u4E0A\u8FDB\u4F4D\uFF0C2\u4EE3\u8868\u5411\u4E0B\u8FDB\u4F4D\uFF0C3\u4EE3\u8868\u53D6\u63A5\u8FD1\u503C\uFF08\u4E2D\u95F4\u503C\u5411\u4E0B\u53D6\u503C\uFF09\uFF0C4\u4EE3\u88684\u820D5\u5165\uFF08\u6700\u5C0F\u5355\u4F4D\u4E3A1\u65F6\u751F\u6548\uFF09\n <br/>\n ", example: "\u914D\u7F6E\uFF1AHourcalculation\uFF08\u5F00\u59CB\u65F6\u95F4,1,\u7ED3\u675F\u65F6\u95F4,1,1,1\uFF09\n <br/>\n \u5F00\u59CB\u65E5\u671F=10/1 10:00\n <br/>\n \u7ED3\u675F\u65E5\u671F=10/1 13:30\n <br/>\n \u7ED3\u679C\u8F93\u51FA=4\n ", }, { name: "SUM", intro: "SUM\u7528\u4E8E\u8BA1\u7B97\u591A\u8BB0\u5F55\u6570\u503C\u578B\u5B57\u6BB5\u6C42\u548C\n <br/>\n \u5305\u542B1\u4E2A\u53C2\u6570\uFF1A\u5B57\u6BB5\u540D\u79F0", usage: "SUM\uFF08\u660E\u7EC6\u91D1\u989D\uFF09\n <br/>\n \u53C2\u6570\uFF1A\u9009\u62E9\u8BA1\u7B97\u5B57\u6BB5\n ", example: "\u914D\u7F6E\uFF1ASUM\uFF08\u660E\u7EC6\u91D1\u989D\uFF09\n <br/>\n \u660E\u7EC61\u4E3A100\uFF1B\u660E\u7EC62\u4E3A200\uFF1B\u660E\u7EC63\u4E3A300\n <br/>\n \u5219\u6C47\u603B\u91D1\u989D\u4E3A\uFF1A600\n \n ", }, { name: "CalendarDay", intro: "CalendarDay\u7528\u4E8E\u83B7\u53D6\u5468\u671F\u5185\u65E5\u5386\u4E2D\u4E0D\u7528\u5C5E\u6027\u65E5\u671F\u7684\u5929\u6570\n <br/>\n \u5305\u542B3\u4E2A\u53C2\u6570\uFF1A1\uFF0C\u65E5\u5386\u7C7B\u578B\uFF1B2\uFF0C\u65E5\u671F\u5C5E\u6027\uFF1B3\uFF0C\u5468\u671F\u7C7B\u578B", usage: "CalendarDay(0\uFF0C0\uFF0C0)\n <br/>\n \u7B2C\u4E00\u4E2A\u53C2\u6570\u65E5\u5386\u7C7B\u578B\uFF1A\u8F93\u5165\u201C0\u201D\u4EE3\u8868\u83B7\u53D6\u5458\u5DE5\u5173\u8054\u65E5\u5386\uFF1B\u8F93\u5165\u5177\u4F53\u65E5\u5386\u540D\u79F0\u4EE3\u8868\u6307\u5B9A\u65E5\u5386\n <br/>\n \u7B2C\u4E8C\u4E2A\u53C2\u6570\u65E5\u671F\u5C5E\u6027\uFF1A\u8F93\u5165\u201C0\u201D\u4EE3\u8868\u8BA1\u7B97\u81EA\u7136\u65E5\u5929\u6570\uFF1B\u8F93\u5165\u201C1\u201D\u4EE3\u8868\u83B7\u53D6\u5DE5\u4F5C\u65E5\u5929\u6570\uFF1B\u8F93\u5165\u201C2\u201D\u4EE3\u8868\u83B7\u53D6\u516C\u4F11\u65E5\u5929\u6570\uFF1B\u8F93\u5165\u201C3\u201D\u4EE3\u8868\u83B7\u53D6\u8282\u5047\u65E5\u5929\u6570\uFF1B\u8F93\u5165\u201C4\u201D\u4EE3\u8868\u83B7\u53D6\u5468\u516D\u5929\u6570\uFF1B\u8F93\u5165\u201C5\u201D\u4EE3\u8868\u83B7\u53D6\u5468\u65E5\u5929\u6570\uFF1B\u8F93\u5165\u201C6\u201D\u4EE3\u8868\u83B7\u53D6\u5468\u516D\u5929\u6570\uFF08\u6392\u9664\u975E\u516C\u4F11\u65E5\u7684\u5468\u516D\uFF09\uFF1B\u8F93\u5165\u201C7\u201D\u4EE3\u8868\u83B7\u53D6\u5468\u65E5\u5929\u6570\uFF08\u6392\u9664\u975E\u516C\u4F11\u65E5\u7684\u5468\u65E5\uFF09\n <br/>\n \u7B2C\u4E09\u4E2A\u53C2\u6570\u5468\u671F\u7C7B\u578B\uFF1A\u8F93\u5165\u201C0\u201D\u4EE3\u8868\u7EDF\u8BA1\u5468\u671F\u5185\u81EA\u7136\u65E5\u6570\u636E\uFF1B\u8F93\u5165\u201C1\u201D\u4EE3\u8868\u7EDF\u8BA1\u5468\u671F\u5185\u5458\u5DE5\u5728\u804C\u533A\u95F4\u6570\u636E\n <br/>\n ", example: "\n \u793A\u4F8B1\uFF1A\n <br/>\n CalendarDay\uFF080\uFF0C0\uFF0C0\uFF09\n <br/>\n \u4EE3\u8868\u83B7\u53D6\u5458\u5DE5\u5173\u8054\u65E5\u5386\u5468\u671F\u5185\u7684\u81EA\u7136\u65E5\u5929\u6570\n <br/>\n \u793A\u4F8B2\uFF1A\n <br/>\n CalendarDay\uFF08\u201D\u56FD\u5BB6\u65E5\u5386\u201C\uFF0C1\uFF0C1\uFF09\n <br/>\n \u4EE3\u8868\u83B7\u53D6\u201C\u56FD\u5BB6\u65E5\u5386\u201D\u4E0B\uFF0C\u5468\u671F\u5185\uFF0C\u5458\u5DE5\u5728\u804C\u533A\u95F4\u5185\u7684\u5DE5\u4F5C\u65E5\u5929\u6570\n ", }, { name: "DepartmentScope", intro: "DepartmentScope\u51FD\u6570\u7528\u4E8E\u90E8\u95E8\u9009\u62E9\n <br/>\n \u5305\u542B2\u4E2A\u53C2\u6570\uFF1A1\uFF0C\u90E8\u95E8\u9009\u62E9\uFF1B2\uFF0C\u5305\u542B\u8303\u56F4", usage: "DepartmentScope\uFF08'0',0\uFF09\n <br/>\n 1,\u90E8\u95E8\u9009\u62E9\uFF1A\u8F93\u5165\u90E8\u95E8\u7F16\u7801,\u591A\u4E2A\u90E8\u95E8\u4F7F\u7528|\u9694\u5F00\n <br/>\n 2,\u5B9A\u4E49\u5305\u542B\u8303\u56F4\uFF1A1\uFF0C\u4EC5\u672C\u7EA7\uFF1B2\uFF0C\u672C\u7EA7+\u76F4\u63A5\u4E0B\u7EA7\uFF1B3\uFF0C\u672C\u7EA7+\u6240\u6709\u4E0B\u7EA7\uFF1B4\uFF0C\u76F4\u63A5\u4E0B\u7EA7\uFF1B5\uFF0C\u6240\u6709\u4E0B\u7EA7\n <br/> \n ", example: "\n \u8BBE\u7F6EDepartmentScope('P01|P02|P03',1)\n <br/>\n \u5219\u7ED3\u679C\u8FD4\u56DE\u90E8\u95E8\u4E3A\uFF1AP01\uFF0CP02\uFF0CP03\n <br/>\n ", }, ], }, { category: "逻辑函数", categoryCode: "LOGIC", contains: [ { name: "AND", intro: "如果所有参数都为真,AND函数返回布尔值true,否则返回布尔值false", usage: "AND(逻辑表达式1,逻辑表达式2,...)", example: "AND(语文成绩>90,数学成绩>90,英语成绩>90),如果三门课成绩都>90,返回true,否则返回false", }, { name: "OR", intro: "如果任意参数为真,OR 函数返回布尔值true;如果所有参数为假,返回布尔值false", usage: "OR(逻辑表达式1,逻辑表达式2,...)", example: "OR(语文成绩>90,数学成绩>90,英语成绩>90),任何一门课成绩> 90,返回true,否则返回false", }, { name: "IF", intro: "IF函数判断一个条件能否满足;如果满足返回一个值,如果不满足则返回另外一个值", usage: "IF(逻辑表达式,为true时返回的值,为false时返回的值)", example: 'IF(语文成绩>60,"及格","不及格"),当语文成绩>60时返回及格,否则返回不及格。', }, { name: "IN", intro: "IN函数用于判断目标对象,是否包含在当前限定的范围内,包含则返回true,不包含返回false", usage: "用法:IN(表名称.字段名称,'参数1','参数2','参数3'......)", example: "\u793A\u4F8B\uFF1Ain(\u7EC4\u7EC7\u8868.\u533A\u57DF,'\u4E0A\u6D77','\u6210\u90FD','\u5317\u4EAC')\uFF0C\u5224\u65AD\u7EC4\u7EC7\u8868.\u533A\u57DF\u5728\u4E0A\u6D77\u3001\u6210\u90FD\u3001\u5317\u4EAC\uFF0C\u7B26\u5408\u8FD4\u56DEtrue\uFF0C\u5426\u5219\u8FD4\u56DEfalse", }, ], }, { category: "工时计算函数", categoryCode: "SHIFTTIMECALC", contains: [ { name: "MANHOURS", intro: "MANHOURS\u51FD\u6570\u7528\u4E8E\u5DE5\u65F6\uFF08\u53D6\u5404\u7C7B\u578B\u65F6\u6BB5\u7684\u5E76\u96C6\uFF09\n <br/>\n \u51FD\u6570\u5305\u542B5\u4E2A\u53C2\u6570\u53EF\u914D\u7F6E\uFF1A\u6253\u5361\u65F6\u6570\uFF1B\u662F\u5426\u52A0\u4E0A\u4F11\u5047\u65F6\u6BB5\uFF1B\u662F\u5426\u52A0\u4E0A\u516C\u51FA\u65F6\u6BB5\uFF1B\u662F\u5426\u52A0\u4E0A\u52A0\u73ED\u65F6\u6BB5\uFF1B\u6307\u5B9A\u65E5\u5386\u7C7B\u578B\uFF080\u70B9\u62C6\u5206\uFF09\n <br/>\n \u89C4\u5219\uFF1A\n <br/>\n \u6253\u5361\u65F6\u6BB5+\u6240\u6709\u4F11\u5047\u65F6\u6BB5/\u6307\u5B9A\u4F11\u5047\u9879\u76EE\u65F6\u6BB5+\u6240\u6709\u516C\u51FA\u65F6\u6BB5/\u6307\u5B9A\u516C\u51FA\u9879\u76EE\u65F6\u6BB5+\u6240\u6709\u52A0\u73ED\u65F6\u6BB5\n <br/>\n \u65E5\u5386\u7C7B\u578B\uFF1A0\u4EE3\u8868\u83B7\u53D6\u6240\u6709\u65E5\u5386\u7C7B\u578B\uFF0C1\u4EE3\u8868\u83B7\u53D6\u5DE5\u4F5C\u65E5\uFF0C2\u4EE3\u8868\u83B7\u53D6\u516C\u4F11\u65E5\uFF0C3\u4EE3\u8868\u83B7\u53D6\u8282\u5047\u65E5\n ", usage: "MANHOURS\uFF080\uFF0C0\uFF0C0\uFF0C0\uFF0C0\uFF09\n <br/>\n 0\u4EE3\u8868\u5173\u95ED\u53C2\u6570\uFF1B1\u4EE3\u8868\u5F00\u542F\u53C2\u6570\uFF1B\u9009\u62E9\u9879\u76EE\u4EE3\u8868\u6307\u5B9A\u9879\u76EE\uFF0C\u591A\u4E2A\u9879\u76EE\u201C/\u201D\u5206\u9694\n <br/>\n \u8FD4\u56DE \u8BA1\u7B97\u7ED3\u679C\n <br/>\n ", example: "\n \u793A\u4F8B1\uFF1A\n <br/>\n \u8BA1\u7B97\u5DE5\u65F6\uFF1AMANHOURS\uFF081\uFF0C1\uFF0C0\uFF0C0\uFF0C0\uFF09\n <br/>\n \u7ED3\u679C\u8FD4\u56DE\uFF0C\u6253\u5361\u65F6\u6570+\u6240\u6709\u4F11\u5047\u65F6\u6570\uFF08\u53D6\u5E76\u96C6\uFF09\n <br/>\n \u793A\u4F8B2\uFF1A\n <br/>\n \u8BA1\u7B97\u5DE5\u65F6\uFF1AMANHOURS\uFF081\uFF0C\u5E74\u5047/\u4E8B\u5047\uFF0C0\uFF0C0\uFF0C0\uFF09\n <br/>\n \u7ED3\u679C\u8FD4\u56DE\uFF0C\u6253\u5361\u65F6\u6570+\u4F11\u5047\u9879\u76EE\u5E74\u5047/\u4E8B\u5047\u7684\u65F6\u6570\uFF08\u53D6\u5E76\u96C6\uFF09\n <br/>", }, ], }, { category: "日期间天数计算函数", categoryCode: "DATECALC", contains: [ { name: "Daycalculation", intro: "Daycalculation\u7528\u4E8E\u8BA1\u7B97\u65E5\u671F\u4E4B\u95F4\u5929\u6570\uFF1A\n <br/>\n \u5305\u542B4\u4E2A\u53C2\u6570\uFF1A\u5F00\u59CB\u65E5\u671F\uFF1B\u662F\u5426\u5305\u542B\u5F00\u59CB\u65E5\u671F\uFF1B\u7ED3\u675F\u65E5\u671F\uFF1B\u662F\u5426\u5305\u542B\u7ED3\u675F\u65E5\u671F\n <br/>\n \n ", usage: "Daycalculation\uFF08\u5F00\u59CB\u65E5\u671F,0,\u7ED3\u675F\u65E5\u671F,0\uFF09\n\n <br/>\n \u7B2C\u4E00\u4E2A\u53C2\u6570\uFF1A\u9009\u62E9\u5F00\u59CB\u65E5\u671F\u5B57\u6BB5\n <br/>\n \u7B2C\u4E8C\u4E2A\u53C2\u6570\uFF1A\u662F\u5426\u5305\u542B\u5F00\u59CB\u65E5\u671F\uFF0C1\u4EE3\u8868\u5305\u542B\uFF0C0\u4EE3\u8868\u4E0D\u5305\u542B\n <br/>\n \u7B2C\u4E09\u4E2A\u53C2\u6570\uFF1A\u9009\u62E9\u7ED3\u675F\u65E5\u671F\u5B57\u6BB5\n <br/>\n \u7B2C\u56DB\u4E2A\u53C2\u6570\uFF1A\u662F\u5426\u5305\u542B\u7ED3\u675F\u65E5\u671F\uFF0C1\u4EE3\u8868\u5305\u542B\uFF0C0\u4EE3\u8868\u4E0D\u5305\u542B\n <br/>\n ", example: "\u914D\u7F6E\uFF1ADaycalculation\uFF08\u5F00\u59CB\u65E5\u671F,1,\u7ED3\u675F\u65E5\u671F,1\uFF09\n <br/>\n \u5F00\u59CB\u65E5\u671F=10/1\n <br/>\n \u7ED3\u675F\u65E5\u671F=10/3\n <br/>\n \u7ED3\u679C\u8F93\u51FA=3\n <br/>\n ", }, ], }, { category: "内置函数", categoryCode: "BUILTIN", contains: [ { name: "VERIFICATION", intro: "VERIFICATION\u7528\u4E8E\u672A\u6253\u5361\u9A8C\u8BC1\uFF1A\n <br/>\n \u9A8C\u8BC1\u4E0A\u73ED\u540E\u6216\u4E0B\u73ED\u524D\u6307\u5B9A\u65F6\u95F4\u5185\u672A\u8FDB\u884C\u6253\u5361\uFF0C\u4E14\u671F\u95F4\u4F11\u5047\u516C\u51FA\u8BB0\u5F55\u672A\u5168\u8986\u76D6\u65F6\u5219\u8BA1\u672A\u6253\u5361\n <br/>\n \u51FD\u6570\u5305\u542B4\u4E2A\u53C2\u6570\uFF1A\n <br/>\n ", usage: "\n \u7B2C\u4E00\u4E2A\u53C2\u6570\uFF1A\u914D\u7F6E\u672A\u6253\u5361\u7EDF\u8BA1\u65F6\u957F\uFF0C\u5927\u5199X\u4EE3\u8868\u83B7\u53D6\u6700\u5927\u8FDF\u5230\u6216\u65E9\u9000\u6570\uFF1B\u8F93\u5165\u6570\u5B57\u4EE3\u8868\u6307\u5B9A\u65F6\u957F\uFF0C\u5C0F\u4E8E0\u7684\u6570\u5B57\u63090\u5904\u7406\uFF08\u82E5\u5F00\u542F\u5F39\u6027\u6253\u5361\uFF0C\u7CFB\u7EDF\u5C06\u6839\u636E\u5F39\u6027\u89C4\u5219\u52A8\u6001\u8BA1\u7B97\uFF09\n <br/>\n \u7B2C\u4E8C\u4E2A\u53C2\u6570\uFF1A\u914D\u7F6E\u4F11\u5047\u8BB0\u5F55\u53C2\u4E0E\u8986\u76D6\u8BA1\u7B97\uFF0C1\u4EE3\u8868\u5F00\u542F\uFF0C0\u4EE3\u8868\u5173\u95ED\n <br/>\n \u7B2C\u4E09\u4E2A\u53C2\u6570\uFF1A\u914D\u7F6E\u516C\u51FA\u8BB0\u5F55\u53C2\u4E0E\u8986\u76D6\u8BA1\u7B97\uFF0C1\u4EE3\u8868\u5F00\u542F\uFF0C0\u4EE3\u8868\u5173\u95ED\n <br/>\n \u7B2C\u56DB\u4E2A\u53C2\u6570\uFF1A\u914D\u7F6E\u65F6\u6BB5\u95F4\u5BB9\u5DEE\u5206\u949F\u6570\uFF0C\u5C0F\u4E8E0\u7684\u6570\u5B57\u63090\u5904\u7406\n <br/>\n ", example: "\u82E5\u4E0A\u73ED\u672A\u6253\u5361\u914D\u7F6E\uFF08X\uFF0C1\uFF0C1\uFF0C0\uFF09\n <br/>\n \u5219\u5728\u6700\u5927\u8FDF\u5230\u6570\u4E4B\u95F4\u672A\u6253\u5361\uFF1B\u6216\u6253\u5361\u52A0\u4E0A\u4F11\u5047\uFF0C\u516C\u51FA\u672A\u5B8C\u5168\u8986\u76D6\u4E0A\u73ED\u6BB5\uFF0C\u5219\u8BA1\u672A\u6253\u5361\n <br/>\n ", }, ], }, { category: "编制相关", categoryCode: "PREPARATION", contains: [ { name: "PositionHeadcount", intro: "PositionHeadcount\u51FD\u6570\u7528\u4E8E\u8868\u5355\u5B57\u6BB5\u83B7\u53D6\u5F53\u524D\u81EA\u5B9A\u4E49\u7EF4\u5EA6\u804C\u4F4D\u7F16\u5236\u76F8\u5173\u6570\uFF1A\n <br/>\n \u5305\u542B2\u4E2A\u53C2\u6570\uFF1A1\uFF0C\u83B7\u53D6\u5BF9\u8C61\uFF1B2\uFF0C\u83B7\u53D6\u503C\u7C7B\u578B\n <br/>\n ", usage: "\n <br/>\n \u7B2C\u4E00\u4E2A\u53C2\u6570\u83B7\u53D6\u5BF9\u8C61\uFF1A\u9700\u586B\u5199\u5BF9\u5E94\u8868\u5355\u7684\u5B57\u6BB5\u7F16\u7801\uFF0C\u5B57\u6BB5\u5FC5\u987B\u662F\u804C\u4F4D\u5355\u9009\u7EC4\u4EF6\u578B\u5B57\u6BB5\uFF0C\u7528\u4E8E\u5BF9\u5E94\u9700\u83B7\u53D6\u7F16\u5236\u6240\u5BF9\u5E94\u7684\u7EC4\u7EC7\n <br/>\n \u7B2C\u4E8C\u4E2A\u53C2\u6570\u83B7\u53D6\u503C\u7C7B\u578B\uFF1A\u8F93\u5165\u201C1\u201D\u4EE3\u8868\u83B7\u53D6\u5F53\u524D\u804C\u4F4D\u7F16\u5236\u6570\uFF1B\u8F93\u5165\u201C2\u201D\u4EE3\u8868\u83B7\u53D6\u5F53\u524D\u804C\u4F4D\u5728\u7F16\u6570\uFF1B\u8F93\u5165\u201C3\u201D\u4EE3\u8868\u83B7\u53D6\u5F53\u524D\u804C\u4F4D\u5360\u7F16\u6570\uFF1B\u8F93\u5165\u201C4\u201D\u4EE3\u8868\u83B7\u53D6\u5F53\u524D\u804C\u4F4D\u7F3A\u7F16\u6570\uFF1B\u8F93\u5165\u201C5\u201D\u4EE3\u8868\u83B7\u53D6\u5F53\u524D\u804C\u4F4D\u8D85\u7F16\u6570\n <br/>\n \u524D\u7F6E\u6761\u4EF6\uFF1A\n <br/>\n \u9700\u5F53\u524D\u542F\u7528\u81EA\u5B9A\u4E49\u7EF4\u5EA6\u7F16\u5236\uFF0C\u4E14\u672B\u7EA7\u7EDF\u8BA1\u7EF4\u5EA6\u4E3A\u804C\u4F4D\n <br/>\n ", example: "\n <br/>\n \u82E5\u8BBE\u7F6EPositionHeadcount\uFF08applyinfo$employeebasic$positionid$empmobilize\uFF0C1\uFF09\n <br/>\n \u5219\u83B7\u53D6\u5F53\u524D\u8868\u5355applyinfo$employeebasic$positionid$empmobilize\u5B57\u6BB5\u4E0B\u6240\u9009\u804C\u4F4D\u7684\u7F16\u5236\u6570\n <br/>\n ", }, ], }, ]; /* FormulaUsage = [ { category: "班段验证", contains: [ { name: "ABNORMALHD", intro: "ABNORMALHD函数用于验证班段全天异常;函数包含3个参数可配置:是否加上所有休假项目;是否加上所有公出项目;是否加上所有加班项目", usage: "ABNORMALHD(标准班段(上)>打卡时段(上)+所有休假时段+所有公出时段+所有加班时段,标准班段(下)>打卡时段(下)+所有休假时段+所有公出时段+所有加班时段)", example: "ABNORMALHD(标准班段(上)>打卡时段(上)+所有休假时段+所有公出时段+所有加班时段,标准班段(下)>打卡时段(下)+所有休假时段+所有公出时段+所有加班时段),二者都满足,返回true,否则返回false", }, { name: "ABNORMALAD", intro: "ABNORMALAD函数用于验证班段半天异常;函数包含3个参数可配置:是否加上所有休假项目;是否加上所有公出项目;是否加上所有加班项目", usage: "ABNORMALAD(标准班段(上)>打卡时段(上)+所有休假时段+所有公出时段+所有加班时段,标准班段(下)>打卡时段(下)+所有休假时段+所有公出时段+所有加班时段)", example: "ABNORMALAD(标准班段(上)>打卡时段(上)+所有休假时段+所有公出时段+所有加班时段,标准班段(下)>打卡时段(下)+所有休假时段+所有公出时段+所有加班时段),二者仅符合其一,返回true,否则返回false", }, ], }, { category: "数学函数", contains: [ { name: "ABS", intro: "ABS函数可以获取一个数的绝对值", usage: "ABS(数字)", example: "ABS(-1)可以返回1,也就是-1的绝对值", }, { name: "AVERAGE", intro: "AVERAGE函数可以获取一组数值的算术平均值", usage: "AVERAGE(数字1,数字2,...)", example: "AVERAGE({语文成绩},{数学成绩}, {英语成绩})返回三门课程的平均分", }, { name: "CEILING", intro: "CEILING函数可以将数字增大到最接近原值的指定因数的倍数", usage: "CEILING(数字,因数)", example: "CEILING(7,6)返回12,因为12比7大的同时,也是6的倍数中最接近7的数字", }, { name: "COUNT", intro: "COUNT函数可以获取参数的数量", usage: "COUNT(值,值,...)", example: "COUNT(小明,小王,小张,小李)返回4,也就是人员的数量", }, { name: "COUNTIF", intro: "COUNTIF函数可以获取数组中满足条件的参数个数", usage: 'COUNTIF(数组,"条件")', example: 'COUNTIF(子表单.性别, "女"),可得到子表单中性别填的是"女"的数据条数;COUNTIF([1,2,3,4],">2"),可得到1,2,3,4中大于2的数字数量,结果为2。', }, { name: "FIXED", intro: "FIXED函数可将数字舍入到指定的小数位数并输出为文本", usage: "FIXED(数字,小数位数)", example: 'FIXED(3.1415,2)返回"3.14"', }, { name: "FLOOR", intro: "FLOOR函数可将数字减小到最接近原值的指定因数的倍数", usage: "FLOOR(数字,因数)", example: "FLOOR(7,6)返回6,因为6比7小的同时,也是6的倍数中最接近7的数字", }, { name: "INT", intro: "INT函数可以获取一个数的整数部分", usage: "INT(数字)", example: "INT(3.1415)返回3,也就是3.1415的整数部分", }, { name: "LARGE", intro: "LARGE函数可以获取数据集中第k个最大值", usage: "LARGE(数组,k)", example: 'LARGE({学生成绩.数学成绩},1)返回子表单"学生成绩"中排名第1的"数学成绩"', }, { name: "LOG", intro: "LOG函数可以根据指定底数返回数字的对数", usage: "LOG(数字,底数)", example: "LOG(100,10)返回2,也就是以10为底数100的对数", }, { name: "MAX", intro: "MAX函数可以获取一组数值的最大值", usage: "MAX(数字1,数字2,...)", example: "MAX({语文成绩},{数学成绩},{英语成绩})返回三门课程中的最高分", }, { name: "MIN", intro: "MIN函数可以获取一组数值的最小值", usage: "MIN(数字1,数字2,...)", example: "MAX({语文成绩},{数学成绩},{英语成绩})返回三门课程中的最低分", }, { name: "MOD", intro: "MOD函数可以获取两数相除的余数", usage: "MOD(被除数,除数)", example: "MOD(4,3)返回1,也就是4/3的余数", }, { name: "POWER", intro: "POWER函数可以获取数字乘幂的结果", usage: "POWER(数字,指数)", example: "POWER(3,2)返回9,也就是3的2次方", }, { name: "PRODUCT", intro: "PRODUCT函数可以获取一组数值的乘积", usage: "PRODUCT(数字1,数字2,...)", example: "PRODUCT({单价}, {数量})获取总价,也就是单价和数量的乘积", }, { name: "ROUND", intro: "ROUND函数可以将数字四舍五入到指定的位数", usage: "ROUND(数字,数字位数)", example: "ROUND(3.1485,2)返回3.15", }, { name: "SQRT", intro: "SQRT函数可以获取一个数字的正平方根", usage: "SQRT(数字)", example: "SQRT(9)返回3,也就是9的正平方根", }, { name: "SUM", intro: "SUM函数可以获取一组数值的总和", usage: "SUM(数字1,数字2,...)", example: "SUM({语文成绩},{数学成绩}, {英语成绩})返回三门课程的总分", }, { name: "SUMPRODUCT", intro: "SUMPRODUCT函数可以将数组间对应的元素相乘,并返回乘积之和,适用于加权求和", usage: "SUMPRODUCT(数组,数组...)", example: "SUMPRODUCT([1,2,3],[0.1,0.2,0.3])返回1.4,也就是 1×0.1 + 2×0.2 + 3×0.3的值", }, ], }, { category: "文本函数", contains: [ { name: "CONCATENATE", intro: "CONCATENATE函数可以将多个文本合并成一个文本", usage: "CONCATENATE(文本1,文本2,...)", example: 'CONCATENATE("上海肯耐珂萨人力资源科技股份有限公司","张三")会返回"上海肯耐珂萨人力资源科技股份有限公司张三"', }, { name: "EXACT", intro: "EXACT函数可以比较两个文本是否完全相同,完全相同则返回true,否则返回false", usage: "EXACT(文本1, 文本2)", example: "EXACT({手机号},{中奖手机号}),如果两者相同,返回true,如果不相同,返回false", }, { name: "GETUSERNAME", intro: "GETUSERNAME函数可以获取当前用户的昵称", usage: "GETUSERNAME()", example: "略", }, { name: "ISEMPTY", intro: "ISEMPTY函数可以用来判断值是否为空文本、空对象或者空数组", usage: "ISEMPTY(文本)", example: "略", }, { name: "LEFT", intro: "LEFT函数可以从一个文本的第一个字符开始返回指定个数的字符", usage: "LEFT(文本,文本长度)", example: 'LEFT("上海肯耐珂萨人力资源科技股份有限公司张三",2)返回"上海",也就是"上海肯耐珂萨人力资源科技股份有限公司张三"的从左往右的前2个字符', }, { name: "LEN", intro: "LEN函数可以获取文本中的字符个数", usage: "LEN(文本)", example: 'LEN("朝辞白帝彩云间")返回7,因为这句诗中有7个字符', }, { name: "LOWER", intro: "LOWER函数可以将一个文本中的所有大写字母转换为小写字母", usage: "LOWER(文本)", example: 'LOWER("JAYZ")返回"jayz"', }, { name: "MID", intro: "MID返回文本中从指定位置开始的指定数目的字符", usage: "MID(文本,开始位置_数字,指定数目)", example: 'MID("肯耐珂萨数字化组织效能提升专家",5,1)返回"数字化组织效能提升专家"', }, { name: "REPLACE", intro: "REPLACE函数可以根据指定的字符数,将部分文本替换为不同的文本", usage: "REPLACE(文本,开始位置,替换长度,新文本)", example: 'REPLACE("肯耐珂萨应用定制工具",5,6,"企业数据管理平台")返回"肯耐珂萨企业数据管理平台"', }, { name: "REPT", intro: "REPT函数可以将文本重复一定次数", usage: "REPT(文本,重复次数)", example: 'REPT("肯耐珂萨",3)返回"肯耐珂萨肯耐珂萨肯耐珂萨"', }, { name: "RIGHT", intro: "RIGHT函数可以获取由给定文本右端指定数量的字符构成的文本值", usage: "RIGHT(文本,文本长度)", example: 'RIGHT("三年二班周杰伦",3)返回"周杰伦",也就是"三年二班周杰伦"从右往左的前3个字符', }, { name: "SEARCH", intro: "SEARCH函数可以获取文本1在文本2中的开始位置", usage: "SEARCH(文本1,文本2)", example: 'SEARCH("2021","肯耐珂萨2021")返回4', }, { name: "SPLIT", intro: "SPLIT函数可以将文本按指定分割符分割成数组", usage: "SPLIT(文本,分隔符_文本)", example: 'SPLIT("肯耐珂萨-应用定制工具","-")返回"肯耐珂萨,应用定制工具"', }, { name: "TEXT", intro: "TEXT函数可以将数字转化成文本", usage: "TEXT(数字)", example: 'TEXT(3.1415)返回"3.1415"', }, { name: "TRIM", intro: "TRIM函数可以删除文本首尾的空格", usage: "TRIM(文本)", example: 'TRIM(" 肯耐珂萨 ")返回"肯耐珂萨"', }, { name: "UPPER", intro: "UPPER函数可以将一个文本中的所有小写字母转换为大写字母", usage: "UPPER(文本)", example: 'UPPER("jayz")返回"JAYZ"', }, { name: "VALUE", intro: "VALUE函数可以将文本转化为数字", usage: "VALUE(文本)", example: 'VALUE("3.1415")返回3.1415', }, ], }, { category: "日期函数", contains: [ { name: "DATE", intro: "DATE函数可以将时间戳转换为日期对象", usage: "DATE(时间戳)", example: "略", }, { name: "DATEDELTA", intro: "DATEDELTA函数可以将指定日期加/减指定天数", usage: "DATEDELTA(指定日期,需要加减的天数)", example: "略", }, { name: "DAY", intro: "DAY函数可以获取某日期是当月的第几日", usage: "DAY(时间戳)", example: "略", }, { name: "DAYS", intro: "DAYS函数可以返回两个日期之间相差的天数。", usage: "DAYS(结束日期,开始日期)", example: "略", }, { name: "DAYS360", intro: "DAYS360按照一年 360 天的算法,返回两个日期间相差的天数", usage: "DAYS360(结束日期,开始日期)", example: "略", }, { name: "HOUR", intro: "HOUR函数可以返回某日期的小时数", usage: "HOUR(时间戳)", example: "略", }, { name: "ISOWEEKNUM", intro: "ISOWEEKNUM函数可以返回指定日期在全年中的ISO周数", usage: "ISOWEEKNUM(指定日期)", example: "略", }, { name: "MINUTE", intro: "MINUTE函数可以返回某日期的分钟数", usage: "MINUTE(日期)", example: "略", }, { name: "MONTH", intro: "MONTH返回某日期的月份", usage: "MONTH(日期)", example: "略", }, { name: "NOW", intro: "NOW函数可以获取当前时间", usage: "NOW()", example: "略", }, { name: "SECOND", intro: "SECOND函数可以返回某日期的秒数", usage: "SECOND(日期)", example: "略", }, { name: "SYSTIME", intro: "SYSTIME函数可以获取当前服务器时间", usage: "SYSTIME()", example: "略", }, { name: "TIME", intro: "TIME函数可以返回特定时间的十进制数字", usage: "TIME(时_数字,分_数字,秒_数字)", example: "略", }, { name: "TIMESTAMP", intro: "TIMESTAMP函数可以将日期对象转换成时间戳。", usage: "TIMESTAMP(日期)", example: "略", }, { name: "TODAY", intro: "TODAY函数可以返回今天", usage: "TODAY()", example: "略", }, { name: "WEEKNUM", intro: "WEEKNUM函数可以返回指定日期在当年是第几周", usage: "WEEKNUM(指定日期)", example: "略", }, { name: "YEAR", intro: "YEAR函数可以返回某日期的年份", usage: "YEAR(时间戳)", example: "略", }, ], }, { category: "逻辑函数", contains: [ { name: "AND", intro: "如果所有参数都为真,AND函数返回布尔值true,否则返回布尔值 false", usage: "AND(逻辑表达式1,逻辑表达式2,...)", example: "AND({语文成绩}>90,{数学成绩}>90,{英语成绩}>90),如果三门课成绩都> 90,返回true,否则返回false", }, { name: "FALSE", intro: "FALSE函数返回布尔值false", usage: "FALSE()", example: "略", }, { name: "IF", intro: "IF函数判断一个条件能否满足;如果满足返回一个值,如果不满足则返回另外一个值", usage: "IF(逻辑表达式,为true时返回的值,为false时返回的值)", example: 'IF({语文成绩}>60,"及格","不及格"),当语文成绩>60时返回及格,否则返回不及格。', }, { name: "NOT", intro: "NOT函数返回与指定表达式相反的布尔值。", usage: "NOT(逻辑表达式)", example: "NOT({语文成绩}>60),如果语文成绩大于60返回false,否则返回true", }, { name: "OR", intro: "如果任意参数为真,OR 函数返回布尔值true;如果所有参数为假,返回布尔值false。", usage: "OR(逻辑表达式1,逻辑表达式2,...)", example: "OR({语文成绩}>90,{数学成绩}>90,{英语成绩}>90),任何一门课成绩> 90,返回true,否则返回false", }, { name: "TRUE", intro: "TRUE函数返回布尔值true", usage: "TRUE()", example: "略", }, { name: "XOR", intro: "XOR函数可以返回所有参数的异或值", usage: "XOR(逻辑表达式1, 逻辑表达式2,...)", example: "XOR({语文成绩}>90,{数学成绩}>90),如果两门成绩都>90,返回false;如果两门成绩都<90,返回false;如果其中一门>90,另外一门<90,返回true", }, ], }, { category: "高级函数", contains: [ { name: "MAPX", intro: "MAPX函数是一个可以用来进行跨表单取数的高级函数", usage: "MAPX(operation,map_value,map_field,result_field)", example: "略", }, { name: "RECNO", intro: "RECNO函数依据当前表单被新打开的次数进行不断累计,起始值为1。", usage: "RECNO()", example: "略", }, { name: "UUID", intro: "UUID函数随机码生成器。可适用于随机流水号的使用场景等", usage: "UUID()", example: "略", }, ], }, ]; */ this.FormulaEditor = { CONST: { NAME_FILED_CLS: "cm-field-name", VALUE_FIELD_CLS: "cm-field-value", INVALID_FIELD_CLS: "cm-field-invalid", DEPRECATE_FIELD_CLS: "cm-deprecate", NEGATIVE_FIELD_CLS: "cm-negative", FIELD_REG: /^\$(_widget_*|_formula_[0-9]{13}|ext|createTime|updateTime|creator|wx_open_id|wx_nickname|wx_gender)/, }, COMMON_REG: { VALIDATOR_FORMULA: "(\\$[0-9a-zA-Z._]+#)", FORM_FORMULA: "(\\$[0-9a-zA-Z._#@]+)", NEW_LINE: "[\\r\\n]", }, }; this.Utils = {}; this.Formula = {}; /** @type {?} */ var that = this; that.Utils = { isString: /** * @param {?} a * @return {?} */ function (a) { return "string" == typeof a; }, isNumber: /** * @param {?} b * @return {?} */ function (b) { that.Utils.isNumeric(b); }, isFunction: /** * @param {?} b * @return {?} */ function (b) { return this.isFunction(b); }, isDate: /** * @param {?} a * @return {?} */ function (a) { return a instanceof Date; }, isArray: /** * @param {?} b * @return {?} */ function (b) { return this.isArray(b); }, isEmpty: /** * @param {?} a * @return {?} */ function (a) { return "" === a || that.Utils.isNull(a); }, isBlank: /** * @param {?} a * @return {?} */ function (a) { return that.Utils.isNull(a) || "" === a.trim(); }, isNull: /** * @param {?} a * @return {?} */ function (a) { return null == a; }, isObjectEmpty: /** * @param {?} a * @return {?} */ function (a) { if (null == a) return !0; if (a.length > 0) return !1; if (0 === a.length) return !0; for (var b in a) { if (this.hasOwnProperty.call(a, b)) { return !1; } return isNaN(a); } }, isValueWidget: /** * @param {?} a * @return {?} */ function (a) { return !!this.ValueWidgets[a]; }, address2Str: /** * @param {?} a * @param {?} b * @param {?} c * @return {?} */ function (a, b, c) { if (c && a) { b = ""; /** @type {?} */ var d = !0; /p/.test(c) && a.province && ((b += a.province), a.province === a.city && (d = !1)), /c/.test(c) && a.city && d && (b += a.city), /d/.test(c) && a.district && (b += a.district), /a/.test(c) && a.detail && (b += a.detail); } return b; }, num2Str: /** * @param {?} a * @param {?} b * @return {?} */ function (a, b) { if (that.Utils.isEmpty(a)) return ""; /** @type {?} */ var c = a + ""; if (that.Utils.isEmpty(b)) return c; /** @type {?} */ var d = /\[Num0\]/; if (d.test(b)) return b.replace(d, c); if (((d = /\[Num1\]/), d.test(b))) return b.replace(d, that.Utils._num2CN(c, !1)); if (((d = /\[Num2\]/), d.test(b))) return b.replace(d, that.Utils._num2CN(c, !0)); d = /[#0]+,?[#0]*\.?[#0]*%?/; /** @type {?} */ var e = b.match(d); if (e && e.length > 0) { /** @type {?} */ var f = e[0]; return (c = that.Utils._numberFormat(a, f)), b.replace(d, c); } return b; }, _numberFormat: /** * @param {?} a * @param {?} b * @return {?} */ function (a, b) { /** @type {?}