@ibiz-template/vue3-components 0.7.1 → 0.7.3
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/dist/index-GhyQOvbY.js +4 -0
- package/dist/index.min.css +1 -1
- package/dist/index.system.min.js +1 -1
- package/dist/{xlsx-util-X-Qzwu1f.js → xlsx-util-bB9hH3iO.js} +1 -1
- package/es/common/data-import/data-import.d.ts +1 -3
- package/es/common/data-import/data-import.mjs +34 -77
- package/es/common/data-import2/data-import2.d.ts +0 -1
- package/es/common/data-import2/data-import2.mjs +26 -67
- package/es/common/data-import2-select/data-import2-select.mjs +5 -3
- package/es/control/form/form/form.mjs +7 -9
- package/es/control/form/form-detail/form-mdctrl/form-mdctrl-repeater/repeater-grid/repeater-grid.d.ts +40 -0
- package/es/control/grid/grid/grid.d.ts +1 -0
- package/es/control/grid/grid/grid.mjs +15 -3
- package/es/control/grid/grid/index.d.ts +3 -0
- package/es/control/search-bar/filter-tree/filter-tree.mjs +6 -1
- package/es/control/tree-grid/index.d.ts +3 -0
- package/es/control/tree-grid/tree-grid.d.ts +3 -1
- package/es/control/tree-grid/tree-grid.mjs +15 -3
- package/es/control/tree-grid-ex/tree-grid-ex.mjs +7 -1
- package/es/editor/autocomplete/ibiz-autocomplete/ibiz-autocomplete.css +1 -1
- package/es/editor/autocomplete/ibiz-autocomplete/ibiz-autocomplete.mjs +7 -3
- package/es/editor/data-picker/ibiz-mpicker/ibiz-mpicker.mjs +5 -1
- package/es/editor/data-picker/ibiz-picker/ibiz-picker.css +1 -1
- package/es/editor/data-picker/ibiz-picker/ibiz-picker.mjs +7 -3
- package/es/editor/data-picker/ibiz-picker-dropdown/ibiz-picker-dropdown.mjs +5 -1
- package/es/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.css +1 -1
- package/es/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.mjs +18 -3
- package/es/editor/text-box/input/input.d.ts +1 -1
- package/es/editor/text-box/input/input.mjs +4 -1
- package/es/index.mjs +1 -0
- package/es/panel-component/data-import/data-import-shell.css +0 -0
- package/es/panel-component/data-import/data-import-shell.d.ts +27 -0
- package/es/panel-component/data-import/data-import-shell.mjs +49 -0
- package/es/panel-component/data-import/data-import.provider.d.ts +15 -0
- package/es/panel-component/data-import/data-import.provider.mjs +21 -0
- package/es/panel-component/data-import/index.d.ts +24 -0
- package/es/panel-component/data-import/index.mjs +15 -0
- package/es/panel-component/index.d.ts +1 -0
- package/es/panel-component/index.mjs +5 -1
- package/es/panel-component/panel-index-view-search/panel-index-view-search.mjs +0 -1
- package/es/panel-component/user-action/index.d.ts +25 -0
- package/es/panel-component/user-action/index.mjs +14 -0
- package/es/panel-component/user-action/user-action-provider.d.ts +6 -0
- package/es/panel-component/user-action/user-action-provider.mjs +21 -0
- package/es/panel-component/user-action/user-action.css +1 -0
- package/es/panel-component/user-action/user-action.d.ts +28 -0
- package/es/panel-component/user-action/user-action.mjs +74 -0
- package/es/util/modal-util/modal-util.mjs +16 -4
- package/es/view-engine/app-data-upload-view.engine.d.ts +13 -0
- package/es/view-engine/app-data-upload-view.engine.mjs +7 -0
- package/es/view-engine/index-view.engine.mjs +13 -1
- package/es/view-engine/index.mjs +5 -0
- package/lib/common/data-import/data-import.cjs +33 -76
- package/lib/common/data-import2/data-import2.cjs +24 -66
- package/lib/common/data-import2-select/data-import2-select.cjs +5 -3
- package/lib/control/form/form/form.cjs +7 -9
- package/lib/control/grid/grid/grid.cjs +14 -2
- package/lib/control/search-bar/filter-tree/filter-tree.cjs +6 -1
- package/lib/control/tree-grid/tree-grid.cjs +14 -2
- package/lib/control/tree-grid-ex/tree-grid-ex.cjs +6 -0
- package/lib/editor/autocomplete/ibiz-autocomplete/ibiz-autocomplete.cjs +7 -3
- package/lib/editor/autocomplete/ibiz-autocomplete/ibiz-autocomplete.css +1 -1
- package/lib/editor/data-picker/ibiz-mpicker/ibiz-mpicker.cjs +5 -1
- package/lib/editor/data-picker/ibiz-picker/ibiz-picker.cjs +7 -3
- package/lib/editor/data-picker/ibiz-picker/ibiz-picker.css +1 -1
- package/lib/editor/data-picker/ibiz-picker-dropdown/ibiz-picker-dropdown.cjs +5 -1
- package/lib/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.cjs +18 -3
- package/lib/editor/dropdown-list/ibiz-dropdown/ibiz-dropdown.css +1 -1
- package/lib/editor/text-box/input/input.cjs +4 -1
- package/lib/index.cjs +12 -10
- package/lib/panel-component/data-import/data-import-shell.cjs +51 -0
- package/lib/panel-component/data-import/data-import-shell.css +0 -0
- package/lib/panel-component/data-import/data-import.provider.cjs +23 -0
- package/lib/panel-component/data-import/index.cjs +20 -0
- package/lib/panel-component/index.cjs +31 -26
- package/lib/panel-component/panel-index-view-search/panel-index-view-search.cjs +0 -1
- package/lib/panel-component/user-action/index.cjs +19 -0
- package/lib/panel-component/user-action/user-action-provider.cjs +23 -0
- package/lib/panel-component/user-action/user-action.cjs +76 -0
- package/lib/panel-component/user-action/user-action.css +1 -0
- package/lib/util/modal-util/modal-util.cjs +16 -4
- package/lib/view-engine/app-data-upload-view.engine.cjs +9 -0
- package/lib/view-engine/index-view.engine.cjs +12 -0
- package/lib/view-engine/index.cjs +5 -0
- package/package.json +6 -6
- package/dist/index-XRnHM6lw.js +0 -4
|
@@ -25,10 +25,8 @@ export declare const DataImport: import("vue").DefineComponent<{
|
|
|
25
25
|
}, {
|
|
26
26
|
ns: import("@ibiz-template/core").Namespace;
|
|
27
27
|
onLinkClick: () => Promise<void>;
|
|
28
|
-
selectFile: () => void
|
|
28
|
+
selectFile: () => Promise<void>;
|
|
29
29
|
onCancelButtonClick: () => void;
|
|
30
|
-
onFileChange: ($event: Event) => Promise<void>;
|
|
31
|
-
inputUpLoad: import("vue").Ref<any>;
|
|
32
30
|
isLoading: import("vue").Ref<boolean>;
|
|
33
31
|
message: import("vue").Ref<{
|
|
34
32
|
state: 'ready' | 'over' | 'error';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { isVNode, ref, createVNode, resolveComponent, resolveDirective, withDirectives, defineComponent } from 'vue';
|
|
2
2
|
import { useNamespace } from '@ibiz-template/vue3-util';
|
|
3
3
|
import './data-import.css';
|
|
4
|
-
import {
|
|
4
|
+
import { downloadImportTemplate, selectAndImport } from '@ibiz-template/runtime';
|
|
5
5
|
|
|
6
6
|
"use strict";
|
|
7
7
|
function _isSlot(s) {
|
|
@@ -33,7 +33,6 @@ const DataImport = /* @__PURE__ */ defineComponent({
|
|
|
33
33
|
},
|
|
34
34
|
setup(props) {
|
|
35
35
|
const ns = useNamespace("data-import");
|
|
36
|
-
const inputUpLoad = ref();
|
|
37
36
|
const message = ref({
|
|
38
37
|
state: "ready",
|
|
39
38
|
message: ""
|
|
@@ -43,86 +42,50 @@ const DataImport = /* @__PURE__ */ defineComponent({
|
|
|
43
42
|
const onCancelButtonClick = () => {
|
|
44
43
|
props.dismiss();
|
|
45
44
|
};
|
|
46
|
-
const
|
|
47
|
-
|
|
48
|
-
|
|
45
|
+
const onLinkClick = async () => {
|
|
46
|
+
downloadImportTemplate(props.appDataEntity, props.dataImport);
|
|
47
|
+
};
|
|
48
|
+
const selectFile = async () => {
|
|
49
|
+
isLoading.value = true;
|
|
50
|
+
const result = await selectAndImport({
|
|
51
|
+
appDataEntity: props.appDataEntity,
|
|
52
|
+
dataImport: props.dataImport,
|
|
53
|
+
context: props.context
|
|
54
|
+
});
|
|
55
|
+
if (result.cancel) {
|
|
56
|
+
isLoading.value = false;
|
|
49
57
|
return;
|
|
50
58
|
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
59
|
+
if (!result.isAsync) {
|
|
60
|
+
if (result.errorMessage) {
|
|
61
|
+
errorMessage.value = result.errorMessage;
|
|
62
|
+
} else {
|
|
63
|
+
const {
|
|
64
|
+
success,
|
|
65
|
+
total,
|
|
66
|
+
message: _message
|
|
67
|
+
} = result;
|
|
68
|
+
const totalNum = total ? Number(total) : 0;
|
|
69
|
+
const successNum = success ? Number(success) : 0;
|
|
70
|
+
const errorNum = total - success;
|
|
71
|
+
message.value.state = _message ? "error" : "over";
|
|
72
|
+
message.value.message = _message || ibiz.i18n.t("component.dataImport.importSuccess", {
|
|
73
|
+
totalNum,
|
|
74
|
+
successNum,
|
|
75
|
+
errorNum
|
|
61
76
|
});
|
|
62
|
-
onCancelButtonClick();
|
|
63
|
-
return;
|
|
64
|
-
}
|
|
65
|
-
result = await importData(selectedFile, props.appDataEntity, props.dataImport, props.context);
|
|
66
|
-
ibiz.mc.command.send({
|
|
67
|
-
srfdecodename: props.appDataEntity.codeName
|
|
68
|
-
}, "OBJECTCREATED", "DATAIMPORT");
|
|
69
|
-
const {
|
|
70
|
-
success,
|
|
71
|
-
total,
|
|
72
|
-
message: _message
|
|
73
|
-
} = result;
|
|
74
|
-
const totalNum = total ? Number(total) : 0;
|
|
75
|
-
const successNum = success ? Number(success) : 0;
|
|
76
|
-
const errorNum = total - success;
|
|
77
|
-
message.value.state = _message ? "error" : "over";
|
|
78
|
-
message.value.message = _message || ibiz.i18n.t("component.dataImport.importSuccess", {
|
|
79
|
-
totalNum,
|
|
80
|
-
successNum,
|
|
81
|
-
errorNum
|
|
82
|
-
});
|
|
83
|
-
} catch (error) {
|
|
84
|
-
if (error instanceof Error) {
|
|
85
|
-
errorMessage.value = error.message;
|
|
86
77
|
}
|
|
87
|
-
} finally {
|
|
88
|
-
isLoading.value = false;
|
|
89
78
|
}
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
let templateUrl = "".concat(props.appDataEntity.codeName2.toLowerCase(), "/importtemplate");
|
|
94
|
-
if ((_a = props.dataImport) == null ? void 0 : _a.codeName) {
|
|
95
|
-
templateUrl += "?srfimporttag=".concat(props.dataImport.codeName);
|
|
79
|
+
isLoading.value = false;
|
|
80
|
+
if (result.isAsync) {
|
|
81
|
+
onCancelButtonClick();
|
|
96
82
|
}
|
|
97
|
-
const res = await ibiz.net.request(templateUrl, {
|
|
98
|
-
responseType: "blob"
|
|
99
|
-
});
|
|
100
|
-
if (res.status === 200) {
|
|
101
|
-
let fileName = ((_b = res.headers["content-disposition"].split(";").find((str) => str.indexOf("filename=") !== -1)) == null ? void 0 : _b.slice(9)) || "";
|
|
102
|
-
fileName = decodeURIComponent(fileName);
|
|
103
|
-
const blob = new Blob([res.data], {
|
|
104
|
-
type: "application/vnd.ms-excel"
|
|
105
|
-
});
|
|
106
|
-
const elink = document.createElement("a");
|
|
107
|
-
elink.download = fileName;
|
|
108
|
-
elink.style.display = "none";
|
|
109
|
-
elink.href = URL.createObjectURL(blob);
|
|
110
|
-
document.body.appendChild(elink);
|
|
111
|
-
elink.click();
|
|
112
|
-
URL.revokeObjectURL(elink.href);
|
|
113
|
-
document.body.removeChild(elink);
|
|
114
|
-
}
|
|
115
|
-
};
|
|
116
|
-
const selectFile = () => {
|
|
117
|
-
inputUpLoad.value.click();
|
|
118
83
|
};
|
|
119
84
|
return {
|
|
120
85
|
ns,
|
|
121
86
|
onLinkClick,
|
|
122
87
|
selectFile,
|
|
123
88
|
onCancelButtonClick,
|
|
124
|
-
onFileChange,
|
|
125
|
-
inputUpLoad,
|
|
126
89
|
isLoading,
|
|
127
90
|
message,
|
|
128
91
|
errorMessage
|
|
@@ -132,13 +95,7 @@ const DataImport = /* @__PURE__ */ defineComponent({
|
|
|
132
95
|
let _slot, _slot2;
|
|
133
96
|
return withDirectives(createVNode("div", {
|
|
134
97
|
"class": this.ns.b()
|
|
135
|
-
}, [createVNode("
|
|
136
|
-
"ref": "inputUpLoad",
|
|
137
|
-
"type": "file",
|
|
138
|
-
"style": "display: none",
|
|
139
|
-
"accept": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
|
|
140
|
-
"onChange": this.onFileChange
|
|
141
|
-
}, null), createVNode("div", {
|
|
98
|
+
}, [createVNode("div", {
|
|
142
99
|
"class": this.ns.e("caption")
|
|
143
100
|
}, [ibiz.i18n.t("component.dataImport.importData")]), this.message.state === "ready" ? createVNode("div", {
|
|
144
101
|
"class": this.ns.b("upload"),
|
|
@@ -32,7 +32,6 @@ type columnMappingListMapValueType = {
|
|
|
32
32
|
update_date: string;
|
|
33
33
|
update_man: string;
|
|
34
34
|
};
|
|
35
|
-
export declare function importMapping(method: string, id?: string, data?: IData): Promise<IData>;
|
|
36
35
|
export declare const DataImport2: import("vue").DefineComponent<{
|
|
37
36
|
dismiss: {
|
|
38
37
|
type: PropType<() => void>;
|
|
@@ -5,23 +5,12 @@ import { getCookie } from 'qx-util';
|
|
|
5
5
|
import { CoreConst } from '@ibiz-template/core';
|
|
6
6
|
import { clone } from 'ramda';
|
|
7
7
|
import './data-import2.css';
|
|
8
|
-
import {
|
|
8
|
+
import { getDefaultDataImport, getImportSchema, updateImportSchema, createImportSchema, asyncImportData2, fetchImportSchemas } from '@ibiz-template/runtime';
|
|
9
9
|
|
|
10
10
|
"use strict";
|
|
11
11
|
function _isSlot(s) {
|
|
12
12
|
return typeof s === "function" || Object.prototype.toString.call(s) === "[object Object]" && !isVNode(s);
|
|
13
13
|
}
|
|
14
|
-
async function importMapping(method, id, data) {
|
|
15
|
-
let url = "extension/import_schemas";
|
|
16
|
-
if (id) {
|
|
17
|
-
url = "".concat(url, "/").concat(id);
|
|
18
|
-
}
|
|
19
|
-
const res = await ibiz.net.request(url, {
|
|
20
|
-
method,
|
|
21
|
-
data
|
|
22
|
-
});
|
|
23
|
-
return res;
|
|
24
|
-
}
|
|
25
14
|
const DataImport2 = /* @__PURE__ */ defineComponent({
|
|
26
15
|
name: "DataImport2",
|
|
27
16
|
props: {
|
|
@@ -65,6 +54,7 @@ const DataImport2 = /* @__PURE__ */ defineComponent({
|
|
|
65
54
|
const columnMappingListMap = /* @__PURE__ */ new Map();
|
|
66
55
|
const options = ref([]);
|
|
67
56
|
const isNoPersonel = ref(false);
|
|
57
|
+
const dataImport = props.dataImport || getDefaultDataImport(props.appDataEntity);
|
|
68
58
|
const clearSelect = () => {
|
|
69
59
|
const keys = [...columnMap.keys()];
|
|
70
60
|
keys.forEach((item) => {
|
|
@@ -85,7 +75,7 @@ const DataImport2 = /* @__PURE__ */ defineComponent({
|
|
|
85
75
|
}
|
|
86
76
|
let columnMapData = columnData.fields;
|
|
87
77
|
if (!columnData.fields) {
|
|
88
|
-
const res = await
|
|
78
|
+
const res = await getImportSchema(columnData.id);
|
|
89
79
|
if (res.status === 200 && res.data) {
|
|
90
80
|
columnMapData = res.data.fields;
|
|
91
81
|
}
|
|
@@ -127,7 +117,6 @@ const DataImport2 = /* @__PURE__ */ defineComponent({
|
|
|
127
117
|
watchValue(newValue);
|
|
128
118
|
});
|
|
129
119
|
const onButtonColumnMappingImportClick = async () => {
|
|
130
|
-
var _a;
|
|
131
120
|
const string = selectValues.value.join("");
|
|
132
121
|
if (string === "") {
|
|
133
122
|
ibiz.message.warning(ibiz.i18n.t("component.dataImport2.atLastOne"));
|
|
@@ -138,32 +127,25 @@ const DataImport2 = /* @__PURE__ */ defineComponent({
|
|
|
138
127
|
const columnMapArr = [...columnMap.values()];
|
|
139
128
|
const fields = columnMapArr.filter((columnitem) => columnitem.name !== "");
|
|
140
129
|
const data = {
|
|
141
|
-
// schame_tag: '', // 导入模式标记 不传
|
|
142
|
-
// id: '', // 导入模式标识 也不用传
|
|
143
130
|
name: "".concat(fileName.value.split(".")[0], "|").concat((/* @__PURE__ */ new Date()).toLocaleString()),
|
|
144
131
|
// 导入模式名称 按照导入的名称|时间来生成
|
|
145
|
-
|
|
146
|
-
fields,
|
|
132
|
+
fields
|
|
147
133
|
// 导入模式属性 {name:'',order_value:1}
|
|
148
|
-
// type: '', // 导入模式类型 暂时不用传
|
|
149
|
-
system_tag: (_a = ibiz.appData) == null ? void 0 : _a.context.srfsystemid,
|
|
150
|
-
// 系统标记
|
|
151
|
-
data_entity_tag: props.appDataEntity.codeName,
|
|
152
|
-
// 数据实体标记
|
|
153
|
-
import_tag: props.appDataEntity.defaultAppDEDataImportId,
|
|
154
|
-
// 导入标记 导入模型的代码名称
|
|
155
|
-
owner_type: "PERSONAL"
|
|
156
|
-
// 所有者类型
|
|
157
134
|
};
|
|
158
135
|
if (props.params) {
|
|
159
136
|
Object.assign(data, props.params);
|
|
160
137
|
}
|
|
161
138
|
if (listValue.value) {
|
|
162
139
|
const columnData = columnMappingListMap.get(listValue.value);
|
|
163
|
-
if (columnData
|
|
140
|
+
if (columnData) {
|
|
164
141
|
data.name = columnData.name;
|
|
142
|
+
data.id = columnData.id;
|
|
165
143
|
}
|
|
166
|
-
const resput = await
|
|
144
|
+
const resput = await updateImportSchema({
|
|
145
|
+
appDataEntity: props.appDataEntity,
|
|
146
|
+
dataImport,
|
|
147
|
+
data
|
|
148
|
+
});
|
|
167
149
|
if (resput.status === 200 && resput.ok) {
|
|
168
150
|
columnMappingListMap.set(listValue.value, resput.data);
|
|
169
151
|
}
|
|
@@ -176,7 +158,11 @@ const DataImport2 = /* @__PURE__ */ defineComponent({
|
|
|
176
158
|
checkmark: false,
|
|
177
159
|
close: false
|
|
178
160
|
});
|
|
179
|
-
const res = await
|
|
161
|
+
const res = await createImportSchema({
|
|
162
|
+
appDataEntity: props.appDataEntity,
|
|
163
|
+
dataImport,
|
|
164
|
+
data
|
|
165
|
+
});
|
|
180
166
|
if (res.status === 200 && res.ok) {
|
|
181
167
|
columnMappingListMap.set(data.name, res.data);
|
|
182
168
|
}
|
|
@@ -194,33 +180,11 @@ const DataImport2 = /* @__PURE__ */ defineComponent({
|
|
|
194
180
|
if (data) {
|
|
195
181
|
id = data.id;
|
|
196
182
|
}
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
}
|
|
203
|
-
let url = "".concat(path, "/asyncimportdata2");
|
|
204
|
-
const queryData = {
|
|
205
|
-
srfossfileid: fileid,
|
|
206
|
-
srfimportschemaid: id
|
|
207
|
-
};
|
|
208
|
-
if (srfimporttag) {
|
|
209
|
-
Object.assign(queryData, {
|
|
210
|
-
srfimporttag
|
|
211
|
-
});
|
|
212
|
-
}
|
|
213
|
-
if (props.params) {
|
|
214
|
-
Object.assign(queryData, props.params);
|
|
215
|
-
}
|
|
216
|
-
url += qs.stringify(queryData, {
|
|
217
|
-
addQueryPrefix: true
|
|
218
|
-
});
|
|
219
|
-
await ibiz.net.request(url, {
|
|
220
|
-
method: "get"
|
|
221
|
-
});
|
|
222
|
-
ibiz.notification.info({
|
|
223
|
-
desc: ibiz.i18n.t("component.dataImport.startImport")
|
|
183
|
+
await asyncImportData2({
|
|
184
|
+
appDataEntity: props.appDataEntity,
|
|
185
|
+
dataImport,
|
|
186
|
+
fileId: fileid,
|
|
187
|
+
schemaId: id
|
|
224
188
|
});
|
|
225
189
|
onCancelButtonClick();
|
|
226
190
|
} else {
|
|
@@ -242,13 +206,10 @@ const DataImport2 = /* @__PURE__ */ defineComponent({
|
|
|
242
206
|
}
|
|
243
207
|
};
|
|
244
208
|
const columnMappingListQuery = async () => {
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
n_data_entity_tag_eq: props.appDataEntity.codeName
|
|
250
|
-
};
|
|
251
|
-
const res = await importMapping("post", "fetch_cur_user", params);
|
|
209
|
+
const res = await fetchImportSchemas({
|
|
210
|
+
appDataEntity: props.appDataEntity,
|
|
211
|
+
dataImport
|
|
212
|
+
});
|
|
252
213
|
if (res.status === 200 && res.data) {
|
|
253
214
|
res.data.forEach((item) => {
|
|
254
215
|
options.value.push({
|
|
@@ -264,8 +225,6 @@ const DataImport2 = /* @__PURE__ */ defineComponent({
|
|
|
264
225
|
}
|
|
265
226
|
};
|
|
266
227
|
onMounted(() => {
|
|
267
|
-
var _a;
|
|
268
|
-
const dataImport = (_a = props.appDataEntity.appDEDataImports) == null ? void 0 : _a.find((importItem) => importItem.id === props.appDataEntity.defaultAppDEDataImportId);
|
|
269
228
|
if (dataImport && dataImport.dedataImportItems) {
|
|
270
229
|
dataOption.value = dataImport.dedataImportItems;
|
|
271
230
|
} else if (props.appDataEntity.appDEFields) {
|
|
@@ -470,4 +429,4 @@ const DataImport2 = /* @__PURE__ */ defineComponent({
|
|
|
470
429
|
}
|
|
471
430
|
});
|
|
472
431
|
|
|
473
|
-
export { DataImport2
|
|
432
|
+
export { DataImport2 };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { isVNode, resolveComponent, createVNode, defineComponent } from 'vue';
|
|
2
2
|
import { useNamespace } from '@ibiz-template/vue3-util';
|
|
3
|
-
import { importMapping } from '../data-import2/data-import2.mjs';
|
|
4
3
|
import './data-import2-select.css';
|
|
4
|
+
import { updateImportSchema, deleteImportSchema } from '@ibiz-template/runtime';
|
|
5
5
|
|
|
6
6
|
"use strict";
|
|
7
7
|
function _isSlot(s) {
|
|
@@ -54,7 +54,9 @@ const DataImport2Select = /* @__PURE__ */ defineComponent({
|
|
|
54
54
|
const data = props.columnMappingListMap.get(item.oldLabel);
|
|
55
55
|
if (data) {
|
|
56
56
|
data.name = item.label;
|
|
57
|
-
const result = await
|
|
57
|
+
const result = await updateImportSchema({
|
|
58
|
+
data
|
|
59
|
+
});
|
|
58
60
|
if (result.status === 200 && result.ok) {
|
|
59
61
|
emit("columnMappingListMapChange", item.label, result.data);
|
|
60
62
|
}
|
|
@@ -79,7 +81,7 @@ const DataImport2Select = /* @__PURE__ */ defineComponent({
|
|
|
79
81
|
e.stopPropagation();
|
|
80
82
|
const columnData = props.columnMappingListMap.get(str);
|
|
81
83
|
if (columnData) {
|
|
82
|
-
const res = await
|
|
84
|
+
const res = await deleteImportSchema(columnData.id);
|
|
83
85
|
if (res.status === 200 && res.ok) {
|
|
84
86
|
emit("optionsChange", str);
|
|
85
87
|
emit("columnMappingListMapChange", str);
|
|
@@ -41,16 +41,11 @@ const FormControl = /* @__PURE__ */ defineComponent({
|
|
|
41
41
|
return;
|
|
42
42
|
}
|
|
43
43
|
const detailId = detail.id;
|
|
44
|
-
const detailProps = {
|
|
45
|
-
modelData: detail,
|
|
46
|
-
controller: c.details[detailId],
|
|
47
|
-
key: detail.id,
|
|
48
|
-
attrs: renderAttrs(detail)
|
|
49
|
-
};
|
|
50
44
|
if (slots[detailId]) {
|
|
51
45
|
return renderSlot(slots, detailId, {
|
|
52
|
-
|
|
53
|
-
|
|
46
|
+
model: detail,
|
|
47
|
+
data: c.state.data,
|
|
48
|
+
value: c.state.data[detailId]
|
|
54
49
|
});
|
|
55
50
|
}
|
|
56
51
|
const childSlots = {};
|
|
@@ -73,7 +68,10 @@ const FormControl = /* @__PURE__ */ defineComponent({
|
|
|
73
68
|
}
|
|
74
69
|
const component = resolveComponent(provider.component);
|
|
75
70
|
return h(component, {
|
|
76
|
-
|
|
71
|
+
modelData: detail,
|
|
72
|
+
controller: c.details[detailId],
|
|
73
|
+
key: detail.id,
|
|
74
|
+
attrs: renderAttrs(detail)
|
|
77
75
|
}, childSlots);
|
|
78
76
|
};
|
|
79
77
|
const FormDetail = (_props) => {
|
|
@@ -244,6 +244,14 @@ export declare const RepeaterGrid: import("vue").DefineComponent<{
|
|
|
244
244
|
isCreated: boolean;
|
|
245
245
|
isMounted: boolean;
|
|
246
246
|
isDestroyed: boolean;
|
|
247
|
+
context: {
|
|
248
|
+
[x: string]: any;
|
|
249
|
+
[x: symbol]: any;
|
|
250
|
+
srfsessionid: string;
|
|
251
|
+
srfappid: string;
|
|
252
|
+
srfsimple?: boolean | undefined;
|
|
253
|
+
srfpaginationviewid?: string | undefined;
|
|
254
|
+
};
|
|
247
255
|
};
|
|
248
256
|
readonly model: {
|
|
249
257
|
layoutBodyOnly?: boolean | undefined;
|
|
@@ -3102,6 +3110,14 @@ export declare const RepeaterGrid: import("vue").DefineComponent<{
|
|
|
3102
3110
|
isCreated: boolean;
|
|
3103
3111
|
isMounted: boolean;
|
|
3104
3112
|
isDestroyed: boolean;
|
|
3113
|
+
context: {
|
|
3114
|
+
[x: string]: any;
|
|
3115
|
+
[x: symbol]: any;
|
|
3116
|
+
srfsessionid: string;
|
|
3117
|
+
srfappid: string;
|
|
3118
|
+
srfsimple?: boolean | undefined;
|
|
3119
|
+
srfpaginationviewid?: string | undefined;
|
|
3120
|
+
};
|
|
3105
3121
|
srfactiveviewdata: IData | null;
|
|
3106
3122
|
};
|
|
3107
3123
|
readonly model: {
|
|
@@ -7269,6 +7285,14 @@ export declare const RepeaterGrid: import("vue").DefineComponent<{
|
|
|
7269
7285
|
isCreated: boolean;
|
|
7270
7286
|
isMounted: boolean;
|
|
7271
7287
|
isDestroyed: boolean;
|
|
7288
|
+
context: {
|
|
7289
|
+
[x: string]: any;
|
|
7290
|
+
[x: symbol]: any;
|
|
7291
|
+
srfsessionid: string;
|
|
7292
|
+
srfappid: string;
|
|
7293
|
+
srfsimple?: boolean | undefined;
|
|
7294
|
+
srfpaginationviewid?: string | undefined;
|
|
7295
|
+
};
|
|
7272
7296
|
srfactiveviewdata: IData | null;
|
|
7273
7297
|
};
|
|
7274
7298
|
readonly model: {
|
|
@@ -11345,6 +11369,14 @@ export declare const RepeaterGrid: import("vue").DefineComponent<{
|
|
|
11345
11369
|
isCreated: boolean;
|
|
11346
11370
|
isMounted: boolean;
|
|
11347
11371
|
isDestroyed: boolean;
|
|
11372
|
+
context: {
|
|
11373
|
+
[x: string]: any;
|
|
11374
|
+
[x: symbol]: any;
|
|
11375
|
+
srfsessionid: string;
|
|
11376
|
+
srfappid: string;
|
|
11377
|
+
srfsimple?: boolean | undefined;
|
|
11378
|
+
srfpaginationviewid?: string | undefined;
|
|
11379
|
+
};
|
|
11348
11380
|
};
|
|
11349
11381
|
readonly model: {
|
|
11350
11382
|
layoutBodyOnly?: boolean | undefined;
|
|
@@ -14292,6 +14324,14 @@ export declare const RepeaterGrid: import("vue").DefineComponent<{
|
|
|
14292
14324
|
isCreated: boolean;
|
|
14293
14325
|
isMounted: boolean;
|
|
14294
14326
|
isDestroyed: boolean;
|
|
14327
|
+
context: {
|
|
14328
|
+
[x: string]: any;
|
|
14329
|
+
[x: symbol]: any;
|
|
14330
|
+
srfsessionid: string;
|
|
14331
|
+
srfappid: string;
|
|
14332
|
+
srfsimple?: boolean | undefined;
|
|
14333
|
+
srfpaginationviewid?: string | undefined;
|
|
14334
|
+
};
|
|
14295
14335
|
};
|
|
14296
14336
|
readonly model: {
|
|
14297
14337
|
autoSaveMode?: number | undefined;
|
|
@@ -71,6 +71,7 @@ export declare const GridControl: import("vue").DefineComponent<{
|
|
|
71
71
|
tableRef: import("vue").Ref<IData | undefined>;
|
|
72
72
|
tableData: import("vue").Ref<IData>;
|
|
73
73
|
renderColumns: import("vue").Ref<IDEGridColumn[]>;
|
|
74
|
+
renderTableColumn: (model: IDEGridColumn, index: number) => VNode | null;
|
|
74
75
|
onDbRowClick: (data: import("@ibiz-template/runtime").ControlVO) => void;
|
|
75
76
|
onRowClick: (data: import("@ibiz-template/runtime").ControlVO, _column: IData, event: MouseEvent) => Promise<void>;
|
|
76
77
|
onSelectionChange: (selection: import("@ibiz-template/runtime").ControlVO[]) => void;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { resolveComponent, mergeProps, h, createVNode, createTextVNode, onUnmounted, defineComponent } from 'vue';
|
|
1
|
+
import { resolveComponent, mergeProps, h, createVNode, createTextVNode, renderSlot, onUnmounted, defineComponent } from 'vue';
|
|
2
2
|
import { useControlController, useNamespace, useUIStore } from '@ibiz-template/vue3-util';
|
|
3
3
|
import { ScriptFactory, GridController } from '@ibiz-template/runtime';
|
|
4
4
|
import { useITableEvent, useGridHeaderStyle, useAppGridBase } from './grid-control.util.mjs';
|
|
@@ -138,7 +138,9 @@ const GridControl = /* @__PURE__ */ defineComponent({
|
|
|
138
138
|
default: true
|
|
139
139
|
}
|
|
140
140
|
},
|
|
141
|
-
setup(props
|
|
141
|
+
setup(props, {
|
|
142
|
+
slots
|
|
143
|
+
}) {
|
|
142
144
|
const c = useControlController((...args) => new GridController(...args));
|
|
143
145
|
const ns = useNamespace("control-".concat(c.model.controlType.toLowerCase()));
|
|
144
146
|
const {
|
|
@@ -216,6 +218,15 @@ const GridControl = /* @__PURE__ */ defineComponent({
|
|
|
216
218
|
"class": ns.b("batch-toolbar-items")
|
|
217
219
|
}, null)])]);
|
|
218
220
|
};
|
|
221
|
+
const renderTableColumn = (model, index) => {
|
|
222
|
+
if (slots[model.id]) {
|
|
223
|
+
return renderSlot(slots, model.id, {
|
|
224
|
+
model,
|
|
225
|
+
data: c.state.items
|
|
226
|
+
});
|
|
227
|
+
}
|
|
228
|
+
return renderChildColumn(c, model, renderColumns.value, index);
|
|
229
|
+
};
|
|
219
230
|
onUnmounted(() => {
|
|
220
231
|
zIndex.decrement();
|
|
221
232
|
});
|
|
@@ -225,6 +236,7 @@ const GridControl = /* @__PURE__ */ defineComponent({
|
|
|
225
236
|
tableRef,
|
|
226
237
|
tableData,
|
|
227
238
|
renderColumns,
|
|
239
|
+
renderTableColumn,
|
|
228
240
|
onDbRowClick,
|
|
229
241
|
onRowClick,
|
|
230
242
|
onSelectionChange,
|
|
@@ -282,7 +294,7 @@ const GridControl = /* @__PURE__ */ defineComponent({
|
|
|
282
294
|
"type": "selection",
|
|
283
295
|
"width": "55"
|
|
284
296
|
}, null), this.renderColumns.map((model, index) => {
|
|
285
|
-
return
|
|
297
|
+
return this.renderTableColumn(model, index);
|
|
286
298
|
})];
|
|
287
299
|
},
|
|
288
300
|
append: () => {
|
|
@@ -58,6 +58,9 @@ export declare const IBizGridControl: import("@ibiz-template/vue3-util").TypeWit
|
|
|
58
58
|
tableRef: import("vue").Ref<IData | undefined>;
|
|
59
59
|
tableData: import("vue").Ref<IData>;
|
|
60
60
|
renderColumns: import("vue").Ref<import("@ibiz/model-core").IDEGridColumn[]>;
|
|
61
|
+
renderTableColumn: (model: import("@ibiz/model-core").IDEGridColumn, index: number) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
62
|
+
[key: string]: any;
|
|
63
|
+
}> | null;
|
|
61
64
|
onDbRowClick: (data: import("@ibiz-template/runtime").ControlVO) => void;
|
|
62
65
|
onRowClick: (data: import("@ibiz-template/runtime").ControlVO, _column: IData, event: MouseEvent) => Promise<void>;
|
|
63
66
|
onSelectionChange: (selection: import("@ibiz-template/runtime").ControlVO[]) => void;
|
|
@@ -378,7 +378,12 @@ const FilterTreeControl = /* @__PURE__ */ defineComponent({
|
|
|
378
378
|
}, null);
|
|
379
379
|
})) ? _slot2 : {
|
|
380
380
|
default: () => [_slot2]
|
|
381
|
-
}),
|
|
381
|
+
}), createVNode(resolveComponent("iBizFilterModeSelect"), {
|
|
382
|
+
"disabled": true,
|
|
383
|
+
"class": ns.e("mode-select"),
|
|
384
|
+
"value": child.valueOP,
|
|
385
|
+
"modes": [child.valueOP]
|
|
386
|
+
}, null), renderEditor(child, itemsC)];
|
|
382
387
|
}
|
|
383
388
|
return createVNode("div", {
|
|
384
389
|
"class": (ns.b("group"), ns.bm("group", "items"))
|
|
@@ -59,6 +59,9 @@ export declare const IBizTreeGridControl: import("@ibiz-template/vue3-util").Typ
|
|
|
59
59
|
treeGirdData: import("vue").ComputedRef<IData[]>;
|
|
60
60
|
tableData: import("vue").Ref<IData>;
|
|
61
61
|
renderColumns: import("vue").Ref<import("@ibiz/model-core").IDEGridColumn[]>;
|
|
62
|
+
renderColumn: (model: import("@ibiz/model-core").IDEGridColumn, index: number) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
63
|
+
[key: string]: any;
|
|
64
|
+
}> | null;
|
|
62
65
|
defaultSort: import("vue").Ref<IData>;
|
|
63
66
|
onDbRowClick: (data: import("@ibiz-template/runtime").ControlVO) => void;
|
|
64
67
|
onRowClick: (data: import("@ibiz-template/runtime").ControlVO, _column: IData, event: MouseEvent) => Promise<void>;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { PropType, VNode } from 'vue';
|
|
2
|
+
import { IDEGridColumn } from '@ibiz/model-core';
|
|
2
3
|
import { ControlVO, IControlProvider, TreeGridController } from '@ibiz-template/runtime';
|
|
3
4
|
export declare const TreeGridControl: import("vue").DefineComponent<{
|
|
4
5
|
modelData: {
|
|
@@ -68,7 +69,8 @@ export declare const TreeGridControl: import("vue").DefineComponent<{
|
|
|
68
69
|
tableRef: import("vue").Ref<IData | undefined>;
|
|
69
70
|
treeGirdData: import("vue").ComputedRef<IData[]>;
|
|
70
71
|
tableData: import("vue").Ref<IData>;
|
|
71
|
-
renderColumns: import("vue").Ref<
|
|
72
|
+
renderColumns: import("vue").Ref<IDEGridColumn[]>;
|
|
73
|
+
renderColumn: (model: IDEGridColumn, index: number) => VNode | null;
|
|
72
74
|
defaultSort: import("vue").Ref<IData>;
|
|
73
75
|
onDbRowClick: (data: ControlVO) => void;
|
|
74
76
|
onRowClick: (data: ControlVO, _column: IData, event: MouseEvent) => Promise<void>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { computed, resolveComponent, createVNode, createTextVNode, defineComponent } from 'vue';
|
|
1
|
+
import { computed, resolveComponent, createVNode, createTextVNode, renderSlot, defineComponent } from 'vue';
|
|
2
2
|
import { useControlController, useNamespace } from '@ibiz-template/vue3-util';
|
|
3
3
|
import { TreeGridController } from '@ibiz-template/runtime';
|
|
4
4
|
import { useRowEditPopover } from '../grid/row-edit-popover/use-row-edit-popover.mjs';
|
|
@@ -58,7 +58,9 @@ const TreeGridControl = /* @__PURE__ */ defineComponent({
|
|
|
58
58
|
default: true
|
|
59
59
|
}
|
|
60
60
|
},
|
|
61
|
-
setup(props
|
|
61
|
+
setup(props, {
|
|
62
|
+
slots
|
|
63
|
+
}) {
|
|
62
64
|
const c = useControlController((...args) => new TreeGridController(...args));
|
|
63
65
|
const ns = useNamespace("control-grid");
|
|
64
66
|
const ns2 = useNamespace("control-".concat(c.model.controlType.toLowerCase()));
|
|
@@ -160,6 +162,15 @@ const TreeGridControl = /* @__PURE__ */ defineComponent({
|
|
|
160
162
|
"class": ns.b("batch-toolbar-items")
|
|
161
163
|
}, null)])]);
|
|
162
164
|
};
|
|
165
|
+
const renderColumn = (model, index) => {
|
|
166
|
+
if (slots[model.id]) {
|
|
167
|
+
return renderSlot(slots, model.id, {
|
|
168
|
+
model,
|
|
169
|
+
data: c.state.items
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
return renderChildColumn(c, model, renderColumns.value, index);
|
|
173
|
+
};
|
|
163
174
|
return {
|
|
164
175
|
c,
|
|
165
176
|
ns,
|
|
@@ -168,6 +179,7 @@ const TreeGridControl = /* @__PURE__ */ defineComponent({
|
|
|
168
179
|
treeGirdData,
|
|
169
180
|
tableData,
|
|
170
181
|
renderColumns,
|
|
182
|
+
renderColumn,
|
|
171
183
|
defaultSort,
|
|
172
184
|
onDbRowClick,
|
|
173
185
|
onRowClick,
|
|
@@ -227,7 +239,7 @@ const TreeGridControl = /* @__PURE__ */ defineComponent({
|
|
|
227
239
|
"type": "selection",
|
|
228
240
|
"width": "55"
|
|
229
241
|
}, null), state.isCreated && this.renderColumns.map((model, index) => {
|
|
230
|
-
return
|
|
242
|
+
return this.renderColumn(model, index);
|
|
231
243
|
})];
|
|
232
244
|
},
|
|
233
245
|
append: () => {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { resolveComponent, createVNode, computed, ref, watchEffect, mergeProps, h, defineComponent } from 'vue';
|
|
1
|
+
import { resolveComponent, createVNode, computed, ref, watchEffect, renderSlot, mergeProps, h, defineComponent } from 'vue';
|
|
2
2
|
import { useControlController, useNamespace } from '@ibiz-template/vue3-util';
|
|
3
3
|
import { TreeGridExController } from '@ibiz-template/runtime';
|
|
4
4
|
import './tree-grid-ex.css';
|
|
@@ -173,6 +173,12 @@ const TreeGridExControl = /* @__PURE__ */ defineComponent({
|
|
|
173
173
|
render() {
|
|
174
174
|
const renderColumn = (model, index) => {
|
|
175
175
|
var _a, _b;
|
|
176
|
+
if (this.$slots[model.id]) {
|
|
177
|
+
return renderSlot(this.$slots, model.id, {
|
|
178
|
+
model,
|
|
179
|
+
data: this.c.state.items
|
|
180
|
+
});
|
|
181
|
+
}
|
|
176
182
|
const {
|
|
177
183
|
codeName: columnName,
|
|
178
184
|
width
|