@lingxiteam/ebe-utils 0.3.30 → 0.4.0
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/es/index.d.ts +2 -0
- package/es/index.js +40 -5
- package/es/renameComponents.d.ts +1 -0
- package/es/renameComponents.js +70 -0
- package/lib/pcpublic/src/components/pcfactory/src/StdUpload/index.tsx +2 -2
- package/lib/pcpublic/src/components/pcfactory/src/Table/EditComponent/index.tsx +1 -1
- package/lib/pcpublic/src/utils/exportCustomData/index.tsx +4 -4
- package/lib/public/src/components/ImportBusiObjModal/index.tsx +12 -17
- package/lib/public/src/components/common/ExpBusiObjModal/index.tsx +11 -15
- package/lib/public/src/hooks/useExportCustomDataFile.ts +9 -9
- package/lib/public/src/hooks/useTransSuperObjectParams.ts +11 -11
- package/lib/public/src/services/api/engine.ts +4 -4
- package/lib/public/src/types/index.ts +2 -2
- package/lib/public/src/utils/dataSource/fetchQuery.ts +6 -59
- package/lib/public/src/utils/styleInject.ts +1 -2
- package/package.json +2 -2
package/es/index.d.ts
CHANGED
|
@@ -41,6 +41,7 @@ interface CodeServices {
|
|
|
41
41
|
downloadFileByFileCode: (data: any) => Promise<any>;
|
|
42
42
|
selectToolBoxPage: (data: any) => Promise<any>;
|
|
43
43
|
batchQryPageRulesByPageIds: (data: any) => Promise<any>;
|
|
44
|
+
qryIdAndCodeInfo: (data: any) => Promise<any>;
|
|
44
45
|
}
|
|
45
46
|
export declare const getSafeTypeName: (name: any) => any;
|
|
46
47
|
interface CodeOptions {
|
|
@@ -89,6 +90,7 @@ export declare const fetchData: ({ appId, services, platform, baseUrl, onProgres
|
|
|
89
90
|
hasExtendsApp: boolean | undefined;
|
|
90
91
|
toolBox: any;
|
|
91
92
|
pageRules: unknown;
|
|
93
|
+
busiObjectCodeInfo: any;
|
|
92
94
|
};
|
|
93
95
|
cleanedTree: any;
|
|
94
96
|
}>;
|
package/es/index.js
CHANGED
|
@@ -23,6 +23,7 @@ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e
|
|
|
23
23
|
import { generateCode, init as ebeInit, publishers } from '@lingxiteam/ebe';
|
|
24
24
|
import { lingxiDslRules } from "./constants";
|
|
25
25
|
import RequestQueue from "./requestQueue";
|
|
26
|
+
import { renameComponents } from "./renameComponents";
|
|
26
27
|
export * from "./types";
|
|
27
28
|
var isArray = function isArray(arr) {
|
|
28
29
|
if (Array.isArray) {
|
|
@@ -153,6 +154,7 @@ export var getPageDsls = function getPageDsls(resultObjects, hasPageRulesPages)
|
|
|
153
154
|
return resultObjects.filter(Boolean).map(function (i) {
|
|
154
155
|
try {
|
|
155
156
|
var pageData = JSON.parse(i.attrMappingJson);
|
|
157
|
+
pageData = renameComponents(pageData);
|
|
156
158
|
pageData.pageId = i === null || i === void 0 ? void 0 : i.pageId;
|
|
157
159
|
if (checkHasPageRules(pageData)) {
|
|
158
160
|
hasPageRulesPages.push(i === null || i === void 0 ? void 0 : i.pageId);
|
|
@@ -269,7 +271,7 @@ var checkHasPageRules = function checkHasPageRules(pageDsl) {
|
|
|
269
271
|
export var fetchData = /*#__PURE__*/function () {
|
|
270
272
|
var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(_ref4) {
|
|
271
273
|
var _ref6, _appInfo$initialAppId, _attrSpecPage;
|
|
272
|
-
var appId, services, platform, baseUrl, onProgress, needTranslatePagePathToEnglish, incrementalConstruction, hasAppFileResource, hasExtendsApp, isIncrementalConstruction, attrSpecPage, incrementalConstructionPageList, globalDataInfo, busiData, themeCss, frontendHookList, pageTypeMap, hasPageRulesPages, globalDataMap, appInfo, appPageList, temCompAssetList, compAssetList, _globalDataInfo, dataSourceList, pageIdMapping, lastPageId, data, needFindDataPages, requestQueue, requests, pages, _yield$services$qryBu, itemLists, BusiCompRequest, _incrementalConstruct, itemHash, _itemLists, alllBusiComp, busiPages, getTranslateName, chinese, translateNames, key, _translateNames, translateName, pagePathEnglishMapping, pagePathEnglishSet, getName, pagesChinese, pagesTranslateNames, findPageKeyByPageId, _key2, _appPageList$_key2$pa, _pagePathEnglishMappi, _pagesTranslateNames, safeTranslateName, pageKey, pageDSLS, getPlatform, appFileResource, _services$queryAppFil, _yield$services$query, _yield$services$query2, list, appFileResourceList, _yield$services$selec, toolBoxList, toolBox, pageRules, options, cleanedTree;
|
|
274
|
+
var appId, services, platform, baseUrl, onProgress, needTranslatePagePathToEnglish, incrementalConstruction, hasAppFileResource, hasExtendsApp, isIncrementalConstruction, attrSpecPage, incrementalConstructionPageList, globalDataInfo, busiData, themeCss, frontendHookList, pageTypeMap, hasPageRulesPages, globalDataMap, appInfo, appPageList, temCompAssetList, compAssetList, _globalDataInfo, dataSourceList, pageIdMapping, lastPageId, data, needFindDataPages, requestQueue, requests, pages, _yield$services$qryBu, itemLists, BusiCompRequest, _incrementalConstruct, itemHash, _itemLists, alllBusiComp, busiPages, getTranslateName, chinese, translateNames, key, _translateNames, translateName, pagePathEnglishMapping, pagePathEnglishSet, getName, pagesChinese, pagesTranslateNames, findPageKeyByPageId, _key2, _appPageList$_key2$pa, _pagePathEnglishMappi, _pagesTranslateNames, safeTranslateName, pageKey, pageDSLS, getPlatform, appFileResource, _services$queryAppFil, _yield$services$query, _yield$services$query2, list, appFileResourceList, _yield$services$selec, toolBoxList, toolBox, pageRules, busiObjectCodeInfo, convertToBusiObject, options, cleanedTree;
|
|
273
275
|
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
274
276
|
while (1) switch (_context3.prev = _context3.next) {
|
|
275
277
|
case 0:
|
|
@@ -531,6 +533,8 @@ export var fetchData = /*#__PURE__*/function () {
|
|
|
531
533
|
var _i$busiCompVersion;
|
|
532
534
|
// 业务组件为空,返回一个 fallback
|
|
533
535
|
var busiData = JSON.parse((i === null || i === void 0 || (_i$busiCompVersion = i.busiCompVersion) === null || _i$busiCompVersion === void 0 ? void 0 : _i$busiCompVersion.sourceCodeJson) || '{"id":"100101","pageContainerType":"BusiComp","pageName":"错误组件","pagePath":"","objType":"app","busiCompCode":"Custom","callbacks":["onChange"],"compState":"","events":[],"actions":[],"pageDynamicFlag":true,"setEvents":[{"dataName":"event","dataId":"798407","path":[],"value":"useEffect","params":[],"children":[]}],"layout":"BaseLayout","searchParams":[{"name":"业务主键","code":"bizId"},{"name":"业务场景","code":"sceneCode"},{"name":"业务数据","code":"bizData"}],"catalogItemId":"-1","platformType":"LowCode","editorVersion":"3.6.1.04251034","createdEditorVersion":"0.2.1130.05051011","busiCompObjectRelDTOList":[],"platform":"pc","appId":"1064722784465846272","components":[{"id":"Icon_2609852","label":"图标","compName":"Icon","type":"Icon","compType":1,"compLib":"@/components","props":{"name":"图标","mode":"normal","rotate":0,"basicStatus":1,"icon":{"theme":"outlined","type":"smile","isIconFont":false},"popoverSetting":{"page":{"pagePath":"/ceshiqipao2781","pageId":"1049616591121936384","pageName":"测试气泡1206","options":[{"name":"业务主键","code":"bizId"},{"name":"业务场景","code":"sceneCode"},{"name":"业务数据","code":"bizData"}],"tipType":"1","trigger":"click"}}},"style":{},"isContainer":false,"isBusiObjContainer":false,"cmdgroup":["basic"],"platform":"pc","icon":"Icon","description":"","image":"","groupsName":"通用","isInlineBlock":true,"setEvents":[],"isLabelDropBoxChild":false,"components":[],"path":["965041"]}],"path":[]}');
|
|
536
|
+
busiData = renameComponents(busiData);
|
|
537
|
+
|
|
534
538
|
// 业务组件原始 dsl 里面没有 busiCompId
|
|
535
539
|
busiData.busiCompId = i === null || i === void 0 ? void 0 : i.busiCompId;
|
|
536
540
|
busiData.id = i === null || i === void 0 ? void 0 : i.busiCompId;
|
|
@@ -729,7 +733,9 @@ export var fetchData = /*#__PURE__*/function () {
|
|
|
729
733
|
fileType: item === null || item === void 0 ? void 0 : item.fileType
|
|
730
734
|
});
|
|
731
735
|
}
|
|
732
|
-
}).catch(
|
|
736
|
+
}).catch(function () {
|
|
737
|
+
return resolve('');
|
|
738
|
+
});
|
|
733
739
|
});
|
|
734
740
|
}));
|
|
735
741
|
case 121:
|
|
@@ -751,7 +757,7 @@ export var fetchData = /*#__PURE__*/function () {
|
|
|
751
757
|
var toolScriptJson = JSON.parse((i === null || i === void 0 ? void 0 : i.toolScriptJson) || '{}');
|
|
752
758
|
var toolScript = toolScriptJson === null || toolScriptJson === void 0 ? void 0 : toolScriptJson.script;
|
|
753
759
|
return "export ".concat(toolScript.replace(/function\s+(\w+)\s*\(/, "function ".concat(i === null || i === void 0 ? void 0 : i.toolCode, "(")));
|
|
754
|
-
}).join('\n');
|
|
760
|
+
}).join('\n');
|
|
755
761
|
_context3.next = 130;
|
|
756
762
|
return Promise.race([new Promise(function (resolve, reject) {
|
|
757
763
|
services.batchQryPageRulesByPageIds({
|
|
@@ -767,6 +773,28 @@ export var fetchData = /*#__PURE__*/function () {
|
|
|
767
773
|
})]);
|
|
768
774
|
case 130:
|
|
769
775
|
pageRules = _context3.sent;
|
|
776
|
+
_context3.next = 133;
|
|
777
|
+
return Promise.race([new Promise(function (resolve, reject) {
|
|
778
|
+
services.qryIdAndCodeInfo({
|
|
779
|
+
appId: appId,
|
|
780
|
+
pageIds: hasPageRulesPages.join(',')
|
|
781
|
+
}).then(function (res) {
|
|
782
|
+
resolve(res);
|
|
783
|
+
});
|
|
784
|
+
}), new Promise(function (resolve, reject) {
|
|
785
|
+
setTimeout(function () {
|
|
786
|
+
resolve({});
|
|
787
|
+
}, 5000);
|
|
788
|
+
})]);
|
|
789
|
+
case 133:
|
|
790
|
+
busiObjectCodeInfo = _context3.sent;
|
|
791
|
+
convertToBusiObject = function convertToBusiObject() {
|
|
792
|
+
var info = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
793
|
+
return info.reduce(function (acc, item) {
|
|
794
|
+
acc[item.busiObjectId] = item.busiObjectCode;
|
|
795
|
+
return acc;
|
|
796
|
+
}, {});
|
|
797
|
+
};
|
|
770
798
|
options = {
|
|
771
799
|
platform: getPlatform(platform),
|
|
772
800
|
appId: (_appInfo$initialAppId = appInfo === null || appInfo === void 0 ? void 0 : appInfo.initialAppId) !== null && _appInfo$initialAppId !== void 0 ? _appInfo$initialAppId : appId,
|
|
@@ -789,7 +817,14 @@ export var fetchData = /*#__PURE__*/function () {
|
|
|
789
817
|
appFileResource: appFileResource,
|
|
790
818
|
hasExtendsApp: hasExtendsApp,
|
|
791
819
|
toolBox: toolBox,
|
|
792
|
-
pageRules: pageRules
|
|
820
|
+
pageRules: pageRules,
|
|
821
|
+
busiObjectCodeInfo: _objectSpread({
|
|
822
|
+
// FIXME: 预置的没有查询,缺的四个补一下,接口后面可能会返回
|
|
823
|
+
1001: 'lcdp_domain_user',
|
|
824
|
+
1002: 'lcdp_domain_role',
|
|
825
|
+
1003: 'lcdp_domain_organization',
|
|
826
|
+
1004: 'lcdp_app_file_info'
|
|
827
|
+
}, convertToBusiObject(busiObjectCodeInfo))
|
|
793
828
|
};
|
|
794
829
|
onProgress({
|
|
795
830
|
log: '清理无用数据',
|
|
@@ -801,7 +836,7 @@ export var fetchData = /*#__PURE__*/function () {
|
|
|
801
836
|
options: options,
|
|
802
837
|
cleanedTree: cleanedTree
|
|
803
838
|
});
|
|
804
|
-
case
|
|
839
|
+
case 140:
|
|
805
840
|
case "end":
|
|
806
841
|
return _context3.stop();
|
|
807
842
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function renameComponents(data: any): string;
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
2
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
3
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
4
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
5
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
6
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
7
|
+
export function renameComponents(data) {
|
|
8
|
+
// 读取 JSON 文件
|
|
9
|
+
// const data = JSON.parse(jsonContent);
|
|
10
|
+
|
|
11
|
+
// 用于存储已使用的名称计数
|
|
12
|
+
var nameCounters = {};
|
|
13
|
+
var renameObject = {};
|
|
14
|
+
|
|
15
|
+
// 递归处理组件
|
|
16
|
+
function processComponents(components) {
|
|
17
|
+
if (!Array.isArray(components)) return;
|
|
18
|
+
components.forEach(function (component) {
|
|
19
|
+
// 处理当前组件
|
|
20
|
+
if (component.id && /^[A-Za-z]+_\d+$/.test(component.id)) {
|
|
21
|
+
var baseName = component.id.split('_')[0];
|
|
22
|
+
// 生成新的有意义的名字
|
|
23
|
+
var newName = generateMeaningfulName(baseName, component.id, nameCounters);
|
|
24
|
+
component.id = newName;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
// 递归处理子组件
|
|
28
|
+
if (component.components) {
|
|
29
|
+
processComponents(component.components);
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
// 生成有意义的名称
|
|
35
|
+
function generateMeaningfulName(baseName, label, counters) {
|
|
36
|
+
if (!counters[baseName]) {
|
|
37
|
+
counters[baseName] = 1;
|
|
38
|
+
} else {
|
|
39
|
+
counters[baseName] += 1;
|
|
40
|
+
}
|
|
41
|
+
// 从 Form1 开始,防止变量名和组件名相同
|
|
42
|
+
var rename = "".concat(baseName).concat(counters[baseName]);
|
|
43
|
+
renameObject[label] = rename;
|
|
44
|
+
return rename;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
// 处理所有组件
|
|
48
|
+
if (data.components) {
|
|
49
|
+
processComponents(data.components);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
// 将对象转换为字符串
|
|
53
|
+
var jsonString = JSON.stringify(data, null, 4);
|
|
54
|
+
|
|
55
|
+
// 全局替换所有引用
|
|
56
|
+
Object.entries(renameObject).forEach(function (_ref) {
|
|
57
|
+
var _ref2 = _slicedToArray(_ref, 2),
|
|
58
|
+
oldName = _ref2[0],
|
|
59
|
+
newName = _ref2[1];
|
|
60
|
+
// 使用正则表达式确保只替换完整的匹配
|
|
61
|
+
var regex = oldName.trim();
|
|
62
|
+
// @ts-ignore
|
|
63
|
+
jsonString = jsonString.replaceAll(regex, newName);
|
|
64
|
+
});
|
|
65
|
+
return JSON.parse(jsonString);
|
|
66
|
+
// 写回文件
|
|
67
|
+
// fs.writeFileSync('./Page_ceshi1.json', jsonString, 'utf8');
|
|
68
|
+
// console.log('组件重命名完成!');
|
|
69
|
+
// console.log('/重命名映射关系:', renameObject);
|
|
70
|
+
}
|
|
@@ -938,11 +938,11 @@ const StdUpload = LingxiForwardRef<any, MyStdUploadProps>((props, ref) => {
|
|
|
938
938
|
...(uploadProps?.data || {}),
|
|
939
939
|
};
|
|
940
940
|
if (restProps?.columns) {
|
|
941
|
-
const { _source,
|
|
941
|
+
const { _source, serviceCode } = restProps?.columns || {};
|
|
942
942
|
switch (_source) {
|
|
943
943
|
case 'std': {
|
|
944
944
|
data['ORCHESTRATION.appId'] = props.$$componentItem.appId;
|
|
945
|
-
data['ORCHESTRATION.serviceVersionId'] = _serviceId;
|
|
945
|
+
// data['ORCHESTRATION.serviceVersionId'] = _serviceId;
|
|
946
946
|
data['ORCHESTRATION.serviceCode'] = serviceCode;
|
|
947
947
|
break;
|
|
948
948
|
}
|
|
@@ -523,7 +523,7 @@ const EditComponent: React.FC<MyEditComponent> = (props) => {
|
|
|
523
523
|
// TODO: 设置的 filedName 目前实际没作用,只是为了防止formitem错误告警
|
|
524
524
|
name={fieldName}
|
|
525
525
|
initialValue={initialValue}
|
|
526
|
-
rules={validateRules
|
|
526
|
+
rules={validateRules}
|
|
527
527
|
>
|
|
528
528
|
{renderComponent(true)}
|
|
529
529
|
</Form.Item>
|
|
@@ -616,11 +616,11 @@ const exportCustomData = (exportSheet: any = [], custFileName: any, selectedKeyM
|
|
|
616
616
|
// 对象类型
|
|
617
617
|
req = engineServices
|
|
618
618
|
.queryBusiObjectRowColumnsList({
|
|
619
|
-
|
|
619
|
+
busiObjectCodes: selectedKeyMap[type].join(','),
|
|
620
620
|
})
|
|
621
621
|
.then((res: any) => {
|
|
622
622
|
const m: any = {};
|
|
623
|
-
(res || []).forEach((c: any) => (m[c.
|
|
623
|
+
(res || []).forEach((c: any) => (m[c.busiObjectCode] = c.rowColumns));
|
|
624
624
|
return m;
|
|
625
625
|
});
|
|
626
626
|
}
|
|
@@ -629,11 +629,11 @@ const exportCustomData = (exportSheet: any = [], custFileName: any, selectedKeyM
|
|
|
629
629
|
// @ts-ignore
|
|
630
630
|
req = engineServices
|
|
631
631
|
.queryServiceResponseColumnsList({
|
|
632
|
-
|
|
632
|
+
serviceCodes: (selectedKeyMap[type] || []).join(','),
|
|
633
633
|
})
|
|
634
634
|
.then((res: any) => {
|
|
635
635
|
const m: any = {};
|
|
636
|
-
(res || []).forEach((c: any) => (m[c.
|
|
636
|
+
(res || []).forEach((c: any) => (m[c.serviceCode] = getResponseAttr(c.response)));
|
|
637
637
|
return m;
|
|
638
638
|
});
|
|
639
639
|
}
|
|
@@ -155,11 +155,11 @@ const ImportBusiObjModal = forwardRef<ImportBusiObjModalHooks, ImportBusiObjModa
|
|
|
155
155
|
);
|
|
156
156
|
|
|
157
157
|
// 获取对象字段
|
|
158
|
-
const queryBusiObjectRowColumns = async ({
|
|
158
|
+
const queryBusiObjectRowColumns = async ({ busiObjectCode }: any) => {
|
|
159
159
|
try {
|
|
160
160
|
setLoading(true);
|
|
161
161
|
const resultList: any = await engineApi.queryBusiObjectRowColumns({
|
|
162
|
-
|
|
162
|
+
busiObjectCode,
|
|
163
163
|
});
|
|
164
164
|
setCurDataSource(resultList);
|
|
165
165
|
setObjOptions(
|
|
@@ -179,11 +179,11 @@ const ImportBusiObjModal = forwardRef<ImportBusiObjModalHooks, ImportBusiObjModa
|
|
|
179
179
|
}
|
|
180
180
|
};
|
|
181
181
|
|
|
182
|
-
const queryCustBusiObjectRowColumns = async ({
|
|
182
|
+
const queryCustBusiObjectRowColumns = async ({ busiObjectCode }: any) => {
|
|
183
183
|
try {
|
|
184
184
|
setLoading(true);
|
|
185
185
|
const resultList: any = await engineApi.queryBusiObjectRowColumns({
|
|
186
|
-
|
|
186
|
+
busiObjectCode,
|
|
187
187
|
});
|
|
188
188
|
setCurDataSource(resultList);
|
|
189
189
|
} catch (error) {
|
|
@@ -212,10 +212,10 @@ const ImportBusiObjModal = forwardRef<ImportBusiObjModalHooks, ImportBusiObjModa
|
|
|
212
212
|
return;
|
|
213
213
|
}
|
|
214
214
|
try {
|
|
215
|
-
const {
|
|
215
|
+
const { busiObjectCode, fileName, customGroup, templateData = { type: 'default' } } = params || {};
|
|
216
216
|
const obj: any = {
|
|
217
217
|
pickRows: selectedRows,
|
|
218
|
-
|
|
218
|
+
busiObjectCode,
|
|
219
219
|
templateData,
|
|
220
220
|
};
|
|
221
221
|
// 存在配置的表头分组,下载模版时需要传给后端组装多表头模版
|
|
@@ -260,8 +260,8 @@ const ImportBusiObjModal = forwardRef<ImportBusiObjModalHooks, ImportBusiObjModa
|
|
|
260
260
|
setIsCustom(false);
|
|
261
261
|
setIsCustomService(false);
|
|
262
262
|
setParams(options || {});
|
|
263
|
-
const {
|
|
264
|
-
queryBusiObjectRowColumns({
|
|
263
|
+
const { busiObjectCode } = options;
|
|
264
|
+
queryBusiObjectRowColumns({ busiObjectCode });
|
|
265
265
|
};
|
|
266
266
|
|
|
267
267
|
const openWithCustFields = (options: any) => {
|
|
@@ -269,8 +269,8 @@ const ImportBusiObjModal = forwardRef<ImportBusiObjModalHooks, ImportBusiObjModa
|
|
|
269
269
|
setIsCustom(true);
|
|
270
270
|
setIsCustomService(false);
|
|
271
271
|
setParams(options || {});
|
|
272
|
-
const {
|
|
273
|
-
queryCustBusiObjectRowColumns({
|
|
272
|
+
const { busiObjectCode } = options;
|
|
273
|
+
queryCustBusiObjectRowColumns({ busiObjectCode });
|
|
274
274
|
};
|
|
275
275
|
|
|
276
276
|
const openWithCustParams = (options: any) => {
|
|
@@ -349,7 +349,7 @@ const ImportBusiObjModal = forwardRef<ImportBusiObjModalHooks, ImportBusiObjModa
|
|
|
349
349
|
JSON.stringify({
|
|
350
350
|
pickRows: selectedRows,
|
|
351
351
|
showOnly: params.showOnly === 'T' ? 'T' : 'F',
|
|
352
|
-
|
|
352
|
+
busiObjectCode: params.busiObjectCode,
|
|
353
353
|
...obj,
|
|
354
354
|
}),
|
|
355
355
|
],
|
|
@@ -364,7 +364,7 @@ const ImportBusiObjModal = forwardRef<ImportBusiObjModalHooks, ImportBusiObjModa
|
|
|
364
364
|
if (_source === 'std') {
|
|
365
365
|
// 自定义导出勾选了编排类服务
|
|
366
366
|
// customParams['ORCHESTRATION.appId'] = appId;
|
|
367
|
-
customParams['ORCHESTRATION.serviceVersionId'] = _serviceId;
|
|
367
|
+
// customParams['ORCHESTRATION.serviceVersionId'] = _serviceId;
|
|
368
368
|
customParams['ORCHESTRATION.serviceCode'] = serviceCode;
|
|
369
369
|
}
|
|
370
370
|
return customParams;
|
|
@@ -590,11 +590,6 @@ const ImportBusiObjModal = forwardRef<ImportBusiObjModalHooks, ImportBusiObjModa
|
|
|
590
590
|
xhr.onload = async () => {
|
|
591
591
|
response = JSON.parse(xhr.responseText || xhr.response);
|
|
592
592
|
if (xhr.status === 200) {
|
|
593
|
-
if (Object.prototype.toString.call(response?.resultObject) === '[object Object]' && response?.resultObject.hasOwnProperty('resultCode') && response?.resultObject?.resultCode !== '0') {
|
|
594
|
-
response.resultCode = response?.resultObject?.resultCode;
|
|
595
|
-
response.resultMsg = response?.resultObject?.resultMsg;
|
|
596
|
-
response.resultObject = undefined;
|
|
597
|
-
}
|
|
598
593
|
let result = response?.resultObject;
|
|
599
594
|
let isAsyncImport = false;
|
|
600
595
|
if (hasUploadProcess) {
|
|
@@ -59,12 +59,12 @@ const ExpBusiObjModal = forwardRef<ExpBusiObjModalHooks, ExpBusiObjModalProps>((
|
|
|
59
59
|
|
|
60
60
|
refSelectedRow.current = selectedRows;
|
|
61
61
|
|
|
62
|
-
const queryBusiObjectRowColumns = async ({
|
|
62
|
+
const queryBusiObjectRowColumns = async ({ busiObjectCode }: any) => {
|
|
63
63
|
try {
|
|
64
64
|
setLoading(true);
|
|
65
65
|
const resultList =
|
|
66
66
|
((await engineApi.queryBusiObjectRowColumns({
|
|
67
|
-
|
|
67
|
+
busiObjectCode,
|
|
68
68
|
})) as any[]) || [];
|
|
69
69
|
setCurDataSource(resultList);
|
|
70
70
|
setObjOptions(
|
|
@@ -84,20 +84,20 @@ const ExpBusiObjModal = forwardRef<ExpBusiObjModalHooks, ExpBusiObjModalProps>((
|
|
|
84
84
|
}
|
|
85
85
|
};
|
|
86
86
|
|
|
87
|
-
const queryNExportInsts = async ({
|
|
87
|
+
const queryNExportInsts = async ({ busiObjectCode, attrs, custFileName, exportType, tempParams, onSuccess, onFail, async }: any) => {
|
|
88
88
|
let hide = () => {};
|
|
89
89
|
try {
|
|
90
90
|
hide = message.loading(getLocale!('export.process.handling', '正在处理中,请稍后...'), 0);
|
|
91
91
|
const resultList =
|
|
92
92
|
((await engineApi.queryBusiObjectRowColumns({
|
|
93
|
-
|
|
93
|
+
busiObjectCode,
|
|
94
94
|
})) as any[]) || [];
|
|
95
95
|
setCurDataSource(resultList);
|
|
96
|
-
const fileName = custFileName ? `${custFileName}.xlsx` : `${
|
|
96
|
+
const fileName = custFileName ? `${custFileName}.xlsx` : `${busiObjectCode}-${new Date().getTime()}.xlsx`;
|
|
97
97
|
const downloadIndex = `${fileName}_${Math.random()}`;
|
|
98
98
|
let params = {
|
|
99
99
|
pickRows: refSelectedRow.current,
|
|
100
|
-
|
|
100
|
+
busiObjectCode,
|
|
101
101
|
attrs: typeof attrs === 'object' ? attrs : {},
|
|
102
102
|
};
|
|
103
103
|
if (exportType === 'temp') {
|
|
@@ -139,13 +139,13 @@ const ExpBusiObjModal = forwardRef<ExpBusiObjModalHooks, ExpBusiObjModalProps>((
|
|
|
139
139
|
const exportInsts = async () => {
|
|
140
140
|
try {
|
|
141
141
|
setConfirmLoading(true);
|
|
142
|
-
const {
|
|
142
|
+
const { busiObjectCode, attrs, custFileName } = params || {};
|
|
143
143
|
const requestParams = {
|
|
144
144
|
pickRows: selectedRows,
|
|
145
|
-
|
|
145
|
+
busiObjectCode,
|
|
146
146
|
attrs: typeof attrs === 'object' ? attrs : {},
|
|
147
147
|
};
|
|
148
|
-
const fileName = custFileName ? `${custFileName}.xlsx` : `${
|
|
148
|
+
const fileName = custFileName ? `${custFileName}.xlsx` : `${busiObjectCode}-${new Date().getTime()}.xlsx`;
|
|
149
149
|
await exportFileShowProgress({
|
|
150
150
|
fileOrigin: 'object',
|
|
151
151
|
fileName,
|
|
@@ -182,18 +182,14 @@ const ExpBusiObjModal = forwardRef<ExpBusiObjModalHooks, ExpBusiObjModalProps>((
|
|
|
182
182
|
queryBusiObjectRowColumns({ ...options });
|
|
183
183
|
};
|
|
184
184
|
|
|
185
|
-
// useEffect(() => {
|
|
186
|
-
// open({ busiObjectId: '38104', attrs: {} });
|
|
187
|
-
// }, []);
|
|
188
|
-
|
|
189
185
|
const openWithCustFields = (options: ExpBusiObjModalCustomOptions) => {
|
|
190
186
|
setVisible(false);
|
|
191
187
|
setIsCustom(true);
|
|
192
188
|
setParams(options || {});
|
|
193
|
-
const {
|
|
189
|
+
const { busiObjectCode, attrs, custFileName, onSuccess, onFail } = options;
|
|
194
190
|
queryNExportInsts({
|
|
195
191
|
...options,
|
|
196
|
-
|
|
192
|
+
busiObjectCode,
|
|
197
193
|
attrs,
|
|
198
194
|
custFileName,
|
|
199
195
|
onSuccess,
|
|
@@ -136,7 +136,7 @@ const useExportCustomDataFile = ({ getLocale }: ExportCustomDataFileOptions) =>
|
|
|
136
136
|
parameters,
|
|
137
137
|
customGroup,
|
|
138
138
|
} = item;
|
|
139
|
-
const { _source,
|
|
139
|
+
const { _source, busiObjectCode, _serviceId, serviceCode, serviceVersionId, _capabilityCode, busiApiId, productId } = serviceData;
|
|
140
140
|
|
|
141
141
|
let objValue;
|
|
142
142
|
let parCode = parentCode;
|
|
@@ -171,8 +171,8 @@ const useExportCustomDataFile = ({ getLocale }: ExportCustomDataFileOptions) =>
|
|
|
171
171
|
// 构造批量导出获取字段详情的入参
|
|
172
172
|
switch (_source) {
|
|
173
173
|
case SERVICE_SOURCE.OBJECT: {
|
|
174
|
-
objValue =
|
|
175
|
-
selectedKeyMap[_source].push(
|
|
174
|
+
objValue = busiObjectCode;
|
|
175
|
+
selectedKeyMap[_source].push(busiObjectCode);
|
|
176
176
|
break;
|
|
177
177
|
}
|
|
178
178
|
case SERVICE_SOURCE.INNER:
|
|
@@ -182,8 +182,8 @@ const useExportCustomDataFile = ({ getLocale }: ExportCustomDataFileOptions) =>
|
|
|
182
182
|
break;
|
|
183
183
|
}
|
|
184
184
|
case SERVICE_SOURCE.STD: {
|
|
185
|
-
objValue =
|
|
186
|
-
selectedKeyMap[_source].push(
|
|
185
|
+
objValue = serviceCode;
|
|
186
|
+
selectedKeyMap[_source].push(serviceCode);
|
|
187
187
|
break;
|
|
188
188
|
}
|
|
189
189
|
case SERVICE_SOURCE.RHIN: {
|
|
@@ -423,12 +423,12 @@ const useExportCustomDataFile = ({ getLocale }: ExportCustomDataFileOptions) =>
|
|
|
423
423
|
// 对象类型
|
|
424
424
|
req = api
|
|
425
425
|
.queryBusiObjectRowColumnsList({
|
|
426
|
-
|
|
426
|
+
busiObjectCodes: selectedKeyMap[type].join(','),
|
|
427
427
|
appId: APPID,
|
|
428
428
|
})
|
|
429
429
|
.then((res: any) => {
|
|
430
430
|
const m: any = {};
|
|
431
|
-
(res || []).forEach((c: any) => (m[c.
|
|
431
|
+
(res || []).forEach((c: any) => (m[c.busiObjectCode] = c.rowColumns));
|
|
432
432
|
return m;
|
|
433
433
|
});
|
|
434
434
|
}
|
|
@@ -436,12 +436,12 @@ const useExportCustomDataFile = ({ getLocale }: ExportCustomDataFileOptions) =>
|
|
|
436
436
|
// 编排类服务
|
|
437
437
|
req = api
|
|
438
438
|
.queryServiceResponseColumnsList({
|
|
439
|
-
|
|
439
|
+
serviceCodes: (selectedKeyMap[type] || []).join(','),
|
|
440
440
|
appId: APPID,
|
|
441
441
|
})
|
|
442
442
|
.then((res: any) => {
|
|
443
443
|
const m: any = {};
|
|
444
|
-
(res || []).forEach((c: any) => (m[c.
|
|
444
|
+
(res || []).forEach((c: any) => (m[c.serviceCode] = getResponseAttr(c.response)));
|
|
445
445
|
return m;
|
|
446
446
|
});
|
|
447
447
|
}
|
|
@@ -26,33 +26,33 @@ const useTransSuperObjectParams = (params: TransSuperObjectParams) => {
|
|
|
26
26
|
const { refs, dataSnapshot, data = {}, sceneCode = 'U' } = params;
|
|
27
27
|
|
|
28
28
|
const transSuperObjectParams = async (
|
|
29
|
-
|
|
29
|
+
busiObjectCodeMap: Record<string, { formId?: string; busiObjectCode?: string }> = {},
|
|
30
30
|
extServices: { sceneCode: string; actionCode: string }[] = []
|
|
31
31
|
) => {
|
|
32
32
|
const params = {
|
|
33
|
-
|
|
34
|
-
.map(item => item.
|
|
33
|
+
busiObjectCodes: Object.values(busiObjectCodeMap)
|
|
34
|
+
.map(item => item.busiObjectCode)
|
|
35
35
|
.filter(Boolean),
|
|
36
36
|
sceneCode,
|
|
37
|
-
|
|
38
|
-
|
|
37
|
+
codeOriginalInsts: {},
|
|
38
|
+
codeInsts: {},
|
|
39
39
|
} as Record<string, any>;
|
|
40
40
|
|
|
41
|
-
const dataSourceNames = Object.keys(
|
|
41
|
+
const dataSourceNames = Object.keys(busiObjectCodeMap);
|
|
42
42
|
for (let index = 0; index < dataSourceNames.length; index++) {
|
|
43
43
|
const name = dataSourceNames[index];
|
|
44
|
-
const { formId,
|
|
45
|
-
if (
|
|
46
|
-
params.
|
|
44
|
+
const { formId, busiObjectCode } = busiObjectCodeMap[name];
|
|
45
|
+
if (busiObjectCode) {
|
|
46
|
+
params.codeOriginalInsts[busiObjectCode] = transInsts(dataSnapshot[name]);
|
|
47
47
|
if (formId) {
|
|
48
48
|
const formDataSoure = await refs[formId]?.validateFormAndScroll();
|
|
49
49
|
// 说明是表单形式作为提交相应的值
|
|
50
50
|
if (formDataSoure) {
|
|
51
|
-
params.
|
|
51
|
+
params.codeInsts[busiObjectCode] = transInsts(Object.assign({}, data[name], formDataSoure));
|
|
52
52
|
}
|
|
53
53
|
} else {
|
|
54
54
|
// 其它形式,比如数组
|
|
55
|
-
params.
|
|
55
|
+
params.codeInsts[busiObjectCode] = transInsts(data[name]);
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
58
|
}
|
|
@@ -13,7 +13,7 @@ interface ApiType {
|
|
|
13
13
|
exportMultiServiceResultByAsync: HTTPMehodFn;
|
|
14
14
|
// 导出业务对象(异步)
|
|
15
15
|
exportInstsByAsync: HTTPMehodFn;
|
|
16
|
-
// 根据
|
|
16
|
+
// 根据 busiObjectCode 获取业务对象字段
|
|
17
17
|
queryBusiObjectRowColumns: HTTPMehodFn;
|
|
18
18
|
// 导出失败数据文件
|
|
19
19
|
getFailedWorkBook: HTTPMehodFn;
|
|
@@ -25,7 +25,7 @@ interface ApiType {
|
|
|
25
25
|
getImportExportApply: HTTPMehodFn;
|
|
26
26
|
// 根据 serviceCodes 获取内部服务字段
|
|
27
27
|
getSqlQueryColumnsList: HTTPMehodFn;
|
|
28
|
-
// 根据
|
|
28
|
+
// 根据 busiObjectCodes 获取业务对象字段
|
|
29
29
|
queryBusiObjectRowColumnsList: HTTPMehodFn;
|
|
30
30
|
}
|
|
31
31
|
|
|
@@ -39,7 +39,7 @@ const api: ApiType = {
|
|
|
39
39
|
exportMultiServiceResultByAsync: (params, appCtx) => http.post('app/object/exportMultiServiceResultByAsync', appCtx, params),
|
|
40
40
|
// 导出业务对象(异步)
|
|
41
41
|
exportInstsByAsync: (params, appCtx) => http.post('app/object/exportInstsByAsync', appCtx, params),
|
|
42
|
-
// 根据
|
|
42
|
+
// 根据 busiObjectCode 获取业务对象字段
|
|
43
43
|
queryBusiObjectRowColumns: (params, appCtx) => urlHelper.get('app/object/queryBusiObjectRowColumns', params, appCtx),
|
|
44
44
|
// 导出失败数据文件
|
|
45
45
|
getFailedWorkBook: (params, appCtx) => http.post('app/object/getFailedWorkBook', appCtx, params),
|
|
@@ -53,7 +53,7 @@ const api: ApiType = {
|
|
|
53
53
|
getImportExportApply: (params, appCtx) => urlHelper.get('app/object/getImportExportApply', params, appCtx),
|
|
54
54
|
// 根据 serviceCodes 获取内部服务字段
|
|
55
55
|
getSqlQueryColumnsList: (params, appCtx) => urlHelper.get('app/sql/getSqlQueryColumnsList', params, appCtx),
|
|
56
|
-
// 根据
|
|
56
|
+
// 根据 busiObjectCodes 获取业务对象字段
|
|
57
57
|
queryBusiObjectRowColumnsList: (params, appCtx) => urlHelper.get('app/object/queryBusiObjectRowColumnsList', params, appCtx),
|
|
58
58
|
// 获取服务编排出参字段
|
|
59
59
|
queryServiceResponseColumnsList: (params, appCtx) => urlHelper.get('app/orchestrationService/queryServiceResponseColumnsList', params, appCtx),
|
|
@@ -40,11 +40,11 @@ export interface AccountDivideModalHooks {
|
|
|
40
40
|
}
|
|
41
41
|
|
|
42
42
|
export interface ExpBusiObjModalOptions {
|
|
43
|
-
|
|
43
|
+
busiObjectCode: string;
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
export interface ExpBusiObjModalCustomOptions {
|
|
47
|
-
|
|
47
|
+
busiObjectCode: string;
|
|
48
48
|
attrs: any[];
|
|
49
49
|
custFileName: string;
|
|
50
50
|
exportType?: 'field' | 'temp'; // 导出字段类型:选中字段|导出模板
|
|
@@ -26,7 +26,7 @@ export interface DataSourceFetchQuery {
|
|
|
26
26
|
sceneCode?: string;
|
|
27
27
|
busiObjectInstId?: number | string;
|
|
28
28
|
actionId?: string | number;
|
|
29
|
-
|
|
29
|
+
busiObjectCode?: string;
|
|
30
30
|
attrs: any;
|
|
31
31
|
}
|
|
32
32
|
|
|
@@ -47,7 +47,7 @@ export interface DataSourceFetchQueryService {
|
|
|
47
47
|
/**
|
|
48
48
|
* 查询对象服务
|
|
49
49
|
*/
|
|
50
|
-
export const fetchQueryObject = async (url: string, { busiObjectInstId, actionId, method, sceneCode,
|
|
50
|
+
export const fetchQueryObject = async (url: string, { busiObjectInstId, actionId, method, sceneCode, busiObjectCode, attrs }: DataSourceFetchQuery) => {
|
|
51
51
|
const requestConfig: any = {
|
|
52
52
|
method,
|
|
53
53
|
};
|
|
@@ -55,7 +55,7 @@ export const fetchQueryObject = async (url: string, { busiObjectInstId, actionId
|
|
|
55
55
|
// 组装对象服务入参
|
|
56
56
|
const params = {
|
|
57
57
|
actionId,
|
|
58
|
-
|
|
58
|
+
busiObjectCode,
|
|
59
59
|
busiObjectInstId,
|
|
60
60
|
attrs,
|
|
61
61
|
sceneCode: _sceneCode || '',
|
|
@@ -71,60 +71,7 @@ export const fetchQueryObject = async (url: string, { busiObjectInstId, actionId
|
|
|
71
71
|
return http.commonFetch(method, url, params, {});
|
|
72
72
|
};
|
|
73
73
|
|
|
74
|
-
export const fetchQueryService = async (
|
|
75
|
-
const {
|
|
76
|
-
|
|
77
|
-
const url = api;
|
|
78
|
-
let method = 'post' as 'get' | 'post' | 'put' | 'delete';
|
|
79
|
-
switch (_source) {
|
|
80
|
-
case SERVICE_SOURCE.RHIN: {
|
|
81
|
-
requestData = {
|
|
82
|
-
apiCode: _apiCode,
|
|
83
|
-
capabilityCode: _capabilityCode,
|
|
84
|
-
serviceRequest: params,
|
|
85
|
-
};
|
|
86
|
-
break;
|
|
87
|
-
}
|
|
88
|
-
case SERVICE_SOURCE.STD: {
|
|
89
|
-
requestData = {
|
|
90
|
-
serviceCode,
|
|
91
|
-
version: versionCode,
|
|
92
|
-
serviceVersionId: _serviceId,
|
|
93
|
-
parameters: params,
|
|
94
|
-
};
|
|
95
|
-
break;
|
|
96
|
-
}
|
|
97
|
-
case SERVICE_SOURCE.QUERY: {
|
|
98
|
-
requestData = {
|
|
99
|
-
serviceCode,
|
|
100
|
-
params,
|
|
101
|
-
};
|
|
102
|
-
method = serviceMethod || 'post';
|
|
103
|
-
break;
|
|
104
|
-
}
|
|
105
|
-
case SERVICE_SOURCE.INNER:
|
|
106
|
-
case SERVICE_SOURCE.PLATFORM: {
|
|
107
|
-
requestData = params;
|
|
108
|
-
method = serviceMethod || 'post';
|
|
109
|
-
if (Array.isArray(requestData) || typeof requestData !== 'object') {
|
|
110
|
-
if (Array.isArray(requestData)) {
|
|
111
|
-
requestData = requestData.map(c => {
|
|
112
|
-
if (!Array.isArray(c) || typeof c !== 'object') {
|
|
113
|
-
return {
|
|
114
|
-
...c,
|
|
115
|
-
};
|
|
116
|
-
}
|
|
117
|
-
return c;
|
|
118
|
-
});
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
break;
|
|
122
|
-
}
|
|
123
|
-
default:
|
|
124
|
-
break;
|
|
125
|
-
}
|
|
126
|
-
return http.commonFetch(method, url, requestData, {
|
|
127
|
-
_source,
|
|
128
|
-
maybeNotStdResp: [SERVICE_SOURCE.INNER, SERVICE_SOURCE.PLATFORM].includes(_source || ''),
|
|
129
|
-
}) as Promise<any>;
|
|
74
|
+
export const fetchQueryService = async (url: string, requestData: any) => {
|
|
75
|
+
const { serviceMethod, ...other } = requestData;
|
|
76
|
+
return http.commonFetch(serviceMethod || 'post', url, other) as Promise<any>;
|
|
130
77
|
};
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
export const styleInject = (css: string, id: string = 'id'): void => {
|
|
2
|
-
// __CustomClass_16482__ id
|
|
3
2
|
if (typeof document === 'undefined') {
|
|
4
3
|
return;
|
|
5
4
|
}
|
|
@@ -7,7 +6,7 @@ export const styleInject = (css: string, id: string = 'id'): void => {
|
|
|
7
6
|
const head = document.head || document.getElementsByTagName('head')[0];
|
|
8
7
|
const style = document.createElement('style') as any;
|
|
9
8
|
style.type = 'text/css';
|
|
10
|
-
style.id =
|
|
9
|
+
style.id = id;
|
|
11
10
|
head.appendChild(style);
|
|
12
11
|
if (style.styleSheet) {
|
|
13
12
|
style.styleSheet.cssText = css;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lingxiteam/ebe-utils",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"keywords": [],
|
|
6
6
|
"author": "",
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"@babel/types": "^7.12.12",
|
|
20
20
|
"cac": "^6.7.14",
|
|
21
21
|
"fs-extra": "9.x",
|
|
22
|
-
"@lingxiteam/ebe": "0.
|
|
22
|
+
"@lingxiteam/ebe": "0.4.0"
|
|
23
23
|
},
|
|
24
24
|
"publishConfig": {
|
|
25
25
|
"access": "public"
|