sks-plugin-el-erp 1.0.6-beta.75 → 1.0.7

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.
@@ -12,8 +12,7 @@ exports.sumFormTableList = sumFormTableList;
12
12
  exports.sumNullIsZero = sumNullIsZero;
13
13
  exports.toNumberNullIsZero = toNumberNullIsZero;
14
14
  var math = _interopRequireWildcard(require("mathjs"));
15
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
16
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
15
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
17
16
  function _createForOfIteratorHelperLoose(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (t) return (t = t.call(r)).next.bind(t); if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var o = 0; return function () { return o >= r.length ? { done: !0 } : { done: !1, value: r[o++] }; }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
18
17
  function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
19
18
  function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } /**
@@ -0,0 +1 @@
1
+ []
@@ -0,0 +1 @@
1
+ []
@@ -0,0 +1,78 @@
1
+ // javaapi/global.d.ts
2
+
3
+ /**
4
+ * Maximo HTTP 启动点隐式变量声明
5
+ */
6
+
7
+ /** HTTP 请求对象 */
8
+ declare var request: com.ibm.tivoli.maximo.oslc.provider.OslcRequest;
9
+
10
+ /** HTTP 请求体字符串 */
11
+ declare var requestBody: string;
12
+
13
+ /** HTTP 响应体字符串(用于设置返回值) */
14
+ declare var responseBody: string;
15
+
16
+ /** HTTP 方法 (GET, POST, PUT, DELETE) */
17
+ declare var httpMethod: string;
18
+
19
+ /**
20
+ * Maximo OBJECT 启动点隐式变量声明
21
+ */
22
+
23
+ /** 当前 MBO 对象 */
24
+ declare var mbo: psdi.mbo.MboRemote;
25
+
26
+ /** 是否在添加操作中 */
27
+ declare var onadd: boolean;
28
+
29
+ /** 是否在更新操作中 */
30
+ declare var onupdate: boolean;
31
+
32
+ /** 是否在删除操作中 */
33
+ declare var ondelete: boolean;
34
+
35
+ /** 用户信息 */
36
+ declare var userInfo: psdi.security.UserInfo;
37
+
38
+ /** 服务对象 */
39
+ declare var service: com.ibm.tivoli.maximo.script.ScriptService;
40
+
41
+ /**
42
+ * Maximo ATTRIBUTE 启动点隐式变量声明
43
+ */
44
+
45
+ /** 属性的新值 */
46
+ declare var value: any;
47
+
48
+ /** 属性的旧值 */
49
+ declare var oldValue: any;
50
+
51
+ var mbovalue: psdi.mbo.MboValue;
52
+
53
+ //不推荐使用,子表获取会为null
54
+ //推荐使用以下方式获取
55
+ // var appName = service.invokeScript("COMMON.UTILS", "getAppNameByMbo", [mbo]);
56
+ var app: string
57
+
58
+ /** MBO 属性名称 */
59
+ var mboattr: string
60
+
61
+ /** 脚本名称 */
62
+ var scriptName: string
63
+
64
+ /** 启动点名称 */
65
+ var launchPoint: string
66
+
67
+ /** MBO 名称 */
68
+ var mboname: string
69
+
70
+
71
+ /**
72
+ * Nashorn Java 互操作
73
+ */
74
+ interface Java {
75
+ type(className: string): any;
76
+ }
77
+
78
+ declare var Java: Java;
@@ -0,0 +1,25 @@
1
+ /// <reference path="./custom.d.ts" />
2
+ /// <reference path="./jscustom/AnsiLoggerConfig.d.ts" />
3
+ /// <reference path="./jscustom/AnsiLogger.d.ts" />
4
+ /// <reference path="./jscustom/sksLogAnsiUtils.d.ts" />
5
+ /// <reference path="./psdi/mbo/MboRemote.d.ts" />
6
+ /// <reference path="./psdi/mbo/MboSetRemote.d.ts" />
7
+ /// <reference path="./psdi/security/UserInfo.d.ts" />
8
+ /// <reference path="./psdi/server/MXServer.d.ts" />
9
+ /// <reference path="./psdi/workflow/WorkFlowService.d.ts" />
10
+ /// <reference path="./psdi/app/workorder/WORemote.d.ts" />
11
+ /// <reference path="./psdi/app/workorder/WOSetRemote.d.ts" />
12
+ /// <reference path="./com/ibm/json/java/JSONArray.d.ts" />
13
+ /// <reference path="./com/ibm/json/java/JSONArtifact.d.ts" />
14
+ /// <reference path="./com/ibm/json/java/JSONObject.d.ts" />
15
+ /// <reference path="./com/ibm/tivoli/maximo/oslc/OslcUtils.d.ts" />
16
+ /// <reference path="./java/lang/String.d.ts" />
17
+ /// <reference path="./java/lang/Object.d.ts" />
18
+ /// <reference path="./com/ibm/tivoli/maximo/script/ScriptService.d.ts" />
19
+ /// <reference path="./psdi/security/UserLoginDetails.d.ts" />
20
+ /// <reference path="./psdi/common/context/UIContext.d.ts" />
21
+ /// <reference path="./psdi/mbo/Mbo.d.ts" />
22
+ /// <reference path="./psdi/mbo/MboSet.d.ts" />
23
+ /// <reference path="./com/ibm/tivoli/maximo/oslc/provider/OslcRequest.d.ts" />
24
+ /// <reference path="./psdi/util/logging/MXLogger.d.ts" />
25
+ /// <reference path="./org/apache/log4j/Level.d.ts" />
@@ -0,0 +1,91 @@
1
+ /// <reference path="./AnsiLoggerConfig.d.ts" />
2
+ //SKS_LOG_ANSI_UTILS 自动化脚本的方法定义
3
+
4
+ declare namespace jscustom {
5
+ /**
6
+ * 支持 ANSI 颜色代码的日志记录器类
7
+ */
8
+ class AnsiLogger {
9
+ /** Maximo 日志记录器实例 */
10
+ logger: psdi.util.logging.MXLogger;
11
+
12
+ /** 是否启用 ANSI 颜色代码 */
13
+ ansiOpen: boolean;
14
+
15
+ /**
16
+ * 构造函数
17
+ * @param config 配置对象,包含 logger 和 ansiOpen 选项
18
+ */
19
+ constructor(config: jscustom.AnsiLoggerConfig);
20
+
21
+ /**
22
+ * 设置日志级别
23
+ * @param level 日志级别
24
+ */
25
+ setLevel(level: any): void;
26
+
27
+ /**
28
+ * 输出调试级别日志
29
+ * @param msg 日志消息
30
+ * @param error 可选的错误对象
31
+ */
32
+ debug(msg: string, error?: any): void;
33
+
34
+ /**
35
+ * 输出信息级别日志
36
+ * @param msg 日志消息
37
+ * @param error 可选的错误对象
38
+ */
39
+ info(msg: string, error?: any): void;
40
+
41
+ /**
42
+ * 输出警告级别日志
43
+ * @param msg 日志消息
44
+ * @param error 可选的错误对象
45
+ */
46
+ warn(msg: string, error?: any): void;
47
+
48
+ /**
49
+ * 输出错误级别日志
50
+ * @param msg 日志消息
51
+ * @param error 可选的错误对象
52
+ */
53
+ error(msg: string, error?: any): void;
54
+
55
+ /**
56
+ * 检查是否启用了调试级别日志
57
+ * @returns 如果启用了调试级别则返回 true
58
+ */
59
+ isDebugEnabled(): boolean;
60
+
61
+ /**
62
+ * 检查是否启用了信息级别日志
63
+ * @returns 如果启用了信息级别则返回 true
64
+ */
65
+ isInfoEnabled(): boolean;
66
+
67
+ /**
68
+ * 检查是否启用了警告级别日志
69
+ * @returns 如果启用了警告级别则返回 true
70
+ */
71
+ isWarnEnabled(): boolean;
72
+
73
+ /**
74
+ * 检查是否启用了错误级别日志
75
+ * @returns 如果启用了错误级别则返回 true
76
+ */
77
+ isErrorEnabled(): boolean;
78
+
79
+ /**
80
+ * 检查是否启用了跟踪级别日志
81
+ * @returns 如果启用了跟踪级别则返回 true
82
+ */
83
+ isTraceEnabled(): boolean;
84
+
85
+ /**
86
+ * 获取日志记录器实例
87
+ * @returns 日志记录器实例
88
+ */
89
+ getLogger(): psdi.util.logging.MXLogger;
90
+ }
91
+ }
@@ -0,0 +1,11 @@
1
+ declare namespace jscustom {
2
+ /**
3
+ * AnsiLogger 配置接口
4
+ */
5
+ interface AnsiLoggerConfig {
6
+ /** Maximo 日志记录器实例 */
7
+ logger: psdi.util.logging.MXLogger;
8
+ /** 是否启用 ANSI 颜色代码,默认为 false */
9
+ ansiOpen?: boolean;
10
+ }
11
+ }
@@ -0,0 +1,158 @@
1
+ # SKS_LOG_ANSI_UTILS 类型定义
2
+
3
+ ## 概述
4
+
5
+ 本目录包含 `SKS_LOG_ANSI_UTILS.js` 脚本的类型定义文件,用于在 Maximo JavaScript 环境中提供 IntelliSense 代码提示和类型检查。
6
+
7
+ ## 文件说明
8
+
9
+ ### 1. AnsiLoggerConfig.d.ts
10
+ 定义 `AnsiLogger` 的配置接口:
11
+ ```typescript
12
+ interface AnsiLoggerConfig {
13
+ logger: psdi.util.logging.MXLogger; // Maximo 日志记录器实例
14
+ ansiOpen?: boolean; // 是否启用 ANSI 颜色代码(默认 false)
15
+ }
16
+ ```
17
+
18
+ ### 2. AnsiLogger.d.ts
19
+ 定义支持 ANSI 颜色代码的日志记录器类:
20
+ ```typescript
21
+ class AnsiLogger {
22
+ logger: psdi.util.logging.MXLogger;
23
+ ansiOpen: boolean;
24
+
25
+ constructor(config: jscustom.AnsiLoggerConfig);
26
+ setLevel(level: any): void;
27
+ debug(msg: string, error?: any): void;
28
+ info(msg: string, error?: any): void;
29
+ warn(msg: string, error?: any): void;
30
+ error(msg: string, error?: any): void;
31
+ }
32
+ ```
33
+
34
+ ### 3. sksLogAnsiUtils.d.ts
35
+ 定义工具函数命名空间:
36
+ ```typescript
37
+ namespace sksLogAnsiUtils {
38
+ function formatMsgByAnsiCode(msg: string, ansiCode: string): string;
39
+ function formatMsgByLevel(msg: string, levelStr: string, ansiOpen?: boolean): string;
40
+ function newAnsiLogger(config: jscustom.AnsiLoggerConfig): jscustom.AnsiLogger;
41
+ }
42
+ ```
43
+
44
+ ## 使用方法
45
+
46
+ ### 1. 在 JavaScript 文件中引用类型定义
47
+
48
+ 在您的 JavaScript 文件顶部添加以下引用:
49
+ ```javascript
50
+ /// <reference path="/javaapi/global.d.ts" />
51
+ ```
52
+
53
+ ### 2. 获取工具函数
54
+
55
+ 通过 Maximo 服务调用获取工具函数:
56
+ ```javascript
57
+ var sksLogAnsiUtils = service.invokeScript("SKS_LOG_ANSI_UTILS");
58
+ ```
59
+
60
+ ### 3. 创建 AnsiLogger 实例
61
+
62
+ 使用完整的命名空间路径进行类型断言:
63
+ ```javascript
64
+ // 创建 Maximo 日志记录器
65
+ MXLoggerFactory = Java.type("psdi.util.logging.MXLoggerFactory");
66
+ var loggerMX = MXLoggerFactory.getLogger("maximo.script." + service.getScriptName());
67
+
68
+ // 创建 AnsiLogger 实例(推荐方式)
69
+ /** @type {jscustom.AnsiLogger} */
70
+ var logger = sksLogAnsiUtils.newAnsiLogger({
71
+ logger: loggerMX,
72
+ ansiOpen: true
73
+ });
74
+
75
+ // 使用日志方法
76
+ logger.debug("调试信息");
77
+ logger.info("普通信息");
78
+ logger.warn("警告信息");
79
+ logger.error("错误信息");
80
+ ```
81
+
82
+ ### 4. 使用工具函数
83
+
84
+ ```javascript
85
+ // 根据 ANSI 代码格式化消息
86
+ var redMsg = sksLogAnsiUtils.formatMsgByAnsiCode("红色文本", "31");
87
+
88
+ // 根据日志级别格式化消息
89
+ var errorMsg = sksLogAnsiUtils.formatMsgByLevel("错误信息", "ERROR", true);
90
+ ```
91
+
92
+ ## 注意事项
93
+
94
+ ### ⚠️ 重要:解决类型提示失效问题
95
+
96
+ 如果遇到类型提示不工作或"标识符重复"错误,请按照以下步骤操作:
97
+
98
+ #### 步骤 1:重启 TypeScript 服务器
99
+ 在 VS Code 中执行命令:
100
+ 1. 按 `Ctrl+Shift+P` (Windows/Linux) 或 `Cmd+Shift+P` (Mac)
101
+ 2. 输入并选择:"TypeScript: Restart TS Server"
102
+
103
+ #### 步骤 2:清除 TypeScript 缓存(如果步骤 1 无效)
104
+ 1. **完全关闭 VS Code**
105
+ 2. 删除 TypeScript 缓存文件夹:
106
+ - Windows: 删除 `%APPDATA%\Code\User\workspaceStorage` 中对应当前项目的文件夹
107
+ - Mac: 删除 `~/Library/Application Support/Code/User/workspaceStorage` 中的对应文件夹
108
+ - Linux: 删除 `~/.config/Code/User/workspaceStorage` 中的对应文件夹
109
+ 3. **重新打开 VS Code**
110
+
111
+ #### 步骤 3:验证配置
112
+ 确保以下配置文件正确:
113
+ - `javaapi/global.d.ts` - 包含对所有 `.d.ts` 文件的引用
114
+ - `tsconfig.json` - 正确配置 `typeRoots` 和 `types`
115
+ - `.vscode/settings.json` - 启用 JavaScript 类型检查
116
+
117
+ ### 其他注意事项
118
+
119
+ 1. **必须使用完整命名空间路径**:在进行类型断言时,必须使用 `jscustom.AnsiLogger` 而不是简短的 `AnsiLogger`。
120
+
121
+ 2. **避免重复声明**:不要在 `.d.ts` 文件中使用 `export` 语法,应使用 `declare namespace` 确保类型挂载到全局命名空间。
122
+
123
+ 3. **符号链接问题**:本项目中 `javaapi` 目录是符号链接,可能导致类型重复加载。如果遇到问题,请严格按照上述步骤清除缓存。
124
+
125
+ 4. **ANSI 颜色代码**:
126
+ - 31: 红色
127
+ - 32: 绿色
128
+ - 33: 黄色
129
+ - 34: 蓝色
130
+ - 35: 品红
131
+ - 36: 青色
132
+ - 37: 白色
133
+
134
+ ## 示例代码
135
+
136
+ 完整示例请参考:
137
+ - `masscript/cn/shoukaiseki/test/TEST_SKS_LOG_ANSI_UTILS.js`
138
+ - `masscript/cn/shoukaiseki/tools/SKS_LOG_ANSI_UTILS.js`
139
+
140
+ ## 故障排查
141
+
142
+ ### 问题 1:类型提示不工作
143
+ **解决方案**:
144
+ 1. 确认 JS 文件头部有 `/// <reference path="/javaapi/global.d.ts" />`
145
+ 2. 重启 TypeScript 服务器
146
+ 3. 检查 `tsconfig.json` 配置是否正确
147
+
148
+ ### 问题 2:出现"标识符重复"错误
149
+ **解决方案**:
150
+ 1. 检查是否有多个地方定义了相同的类型
151
+ 2. 清除 TypeScript 缓存(见上方步骤 2)
152
+ 3. 确认没有在同一命名空间中重复声明
153
+
154
+ ### 问题 3:找不到类型定义
155
+ **解决方案**:
156
+ 1. 确认 `global.d.ts` 中包含了对相应 `.d.ts` 文件的引用
157
+ 2. 检查文件路径是否正确
158
+ 3. 重启 VS Code
@@ -0,0 +1,32 @@
1
+ /// <reference path="./AnsiLogger.d.ts" />
2
+
3
+ declare namespace jscustom {
4
+ /**
5
+ * SKS ANSI 日志工具函数命名空间
6
+ */
7
+ namespace sksLogAnsiUtils {
8
+ /**
9
+ * 根据 ANSI 代码格式化消息
10
+ * @param msg 要格式化的消息
11
+ * @param ansiCode ANSI 颜色代码(如 "31" 表示红色)
12
+ * @returns 格式化后的消息字符串
13
+ */
14
+ function formatMsgByAnsiCode(msg: string, ansiCode: string): string;
15
+
16
+ /**
17
+ * 根据日志级别格式化消息
18
+ * @param msg 要格式化的消息
19
+ * @param levelStr 日志级别字符串(ERROR/WARN/INFO/DEBUG)
20
+ * @param ansiOpen 是否启用 ANSI 格式化,默认为 false
21
+ * @returns 格式化后的消息字符串
22
+ */
23
+ function formatMsgByLevel(msg: string, levelStr: string, ansiOpen?: boolean): string;
24
+
25
+ /**
26
+ * 创建新的 AnsiLogger 实例
27
+ * @param config 配置对象
28
+ * @returns AnsiLogger 实例
29
+ */
30
+ function newAnsiLogger(config: jscustom.AnsiLoggerConfig): jscustom.AnsiLogger;
31
+ }
32
+ }
@@ -30,6 +30,7 @@
30
30
  <sks-right-toolbar
31
31
  :mainTable="mainTable"
32
32
  :showRefreshButton="showRefreshButton"
33
+ :showTablePropNameButton="showTablePropNameButton"
33
34
  :showTablePropName.sync="mainTable.showTablePropName"
34
35
  :showTable.sync="mainTable.showTable" :showAllColumnButton="mainTable.showAllColumnButton" :showAllColumn.sync="mainTable.showAllColumn"
35
36
  :showSearchButton.sync="mainTable.showSearchButton"
@@ -189,6 +190,11 @@ export default {
189
190
  type: Boolean,
190
191
  default: true,
191
192
  },
193
+ //显示列表字段属性按钮
194
+ showTablePropNameButton: {
195
+ type: Boolean,
196
+ default: true,
197
+ },
192
198
  //显示标签页切换
193
199
  showTabOption:{
194
200
  type: Boolean,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sks-plugin-el-erp",
3
- "version": "1.0.6-beta.75",
3
+ "version": "1.0.7",
4
4
  "description": "用于erp的element扩展",
5
5
  "main": "index.js",
6
6
  "author": "shoukaiseki",
@@ -38,6 +38,7 @@
38
38
  "markdown-it": "12.3.2",
39
39
  "mathjs": "11.3.3",
40
40
  "mockjs": "1.1.0",
41
+ "rimraf": "^6.1.3",
41
42
  "vue": "2.7.10",
42
43
  "vue-router": "3.5.3",
43
44
  "vue-server-renderer": "2.7.10",